*{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:light;--bg:radial-gradient(120% 80% at 10% 0%,#dbeafe 0%,#eef2ff 45%,#f8fafc 100%);--card:rgba(255,255,255,0.8);--solid:#ffffff;--text:#111827;--muted:#6b7280;--border:#e5e7eb;--primary:#3B82F6;--primary-dark:#2563eb;--primary-soft:rgba(59,130,246,0.12);--green:#16a34a;--green-soft:#dcfce7;--red:#dc2626;--red-soft:#fee2e2;--amber:#b45309;--amber-soft:#fef3c7;--head:#111827;--head-text:#ffffff;--shadow:0 10px 30px -18px rgba(17,24,39,0.35);--gold:#b8913f}:root[data-theme=dark]{color-scheme:dark;--bg:radial-gradient(120% 80% at 10% 0%,#1f2937 0%,#111827 55%,#0b1120 100%);--card:rgba(31,41,55,0.78);--solid:#1f2937;--text:#f3f4f6;--muted:#9ca3af;--border:#374151;--primary-soft:rgba(59,130,246,0.2);--green:#22c55e;--green-soft:rgba(34,197,94,0.16);--red:#f87171;--red-soft:rgba(248,113,113,0.16);--amber:#fbbf24;--amber-soft:rgba(251,191,36,0.14);--head:#0b1120;--head-text:#f3f4f6;--shadow:0 16px 40px -20px rgba(0,0,0,0.8);--gold:#d6b26a}html{-webkit-text-size-adjust:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.45;color:var(--text);background:var(--bg);background-attachment:fixed;min-height:100vh}button{font:inherit;cursor:pointer;border:none;border-radius:10px}button:disabled{opacity:.5;cursor:not-allowed}input,select{font:inherit;color:var(--text);background:var(--solid);width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.muted{color:var(--muted)}.small{font-size:15px}.center{text-align:center}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button.primary{background:var(--primary);color:#fff;padding:10px 16px;font-weight:600}button.primary:hover:not(:disabled){background:var(--primary-dark)}button.ghost{background:transparent;color:var(--text);border:1px solid var(--border);padding:8px 12px}button.ghost:hover:not(:disabled){background:var(--primary-soft)}button.sm{padding:5px 10px;font-size:15px}button.link{background:none;color:var(--primary);padding:0;text-decoration:underline;font-size:15px}button.danger{color:var(--red)}.bg-words{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.bg-word{position:absolute;font-weight:900;font-size:56px;letter-spacing:-.02em;color:#3B82F6;filter:drop-shadow(0 0 10px rgba(59,130,246,.6)) drop-shadow(0 0 26px rgba(59,130,246,.6));animation:float 8s ease-in-out infinite}.w1{top:12%;left:4%}.w2{top:8%;right:6%;font-size:84px;animation-delay:-3s}.w3{top:55%;left:2%;font-size:40px;animation-delay:-5s}.w4{bottom:12%;right:4%;font-size:50px;animation-delay:-1s}.w5{top:40%;right:30%;font-size:70px;animation-delay:-6s;opacity:.6}@keyframes float{0%,to{translate:0 0}50%{translate:0 -28px}}@media (prefers-reduced-motion:reduce){.bg-word{animation:none}}.top{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--solid) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);color:var(--text)}.top-inner{max-width:1240px;margin:0 auto;padding:10px 16px;justify-content:space-between}.brand,.top-inner{display:flex;align-items:center;gap:12px}.brand{min-width:0}.brand img{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px var(--solid),0 0 0 4px var(--gold)}.brand-name{font-weight:800;font-size:20px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-sub{color:var(--muted);font-size:15px}.top-actions{display:flex;gap:8px;align-items:center;flex:none}.theme-toggle{flex:none;width:38px;height:38px;padding:0;display:grid;place-items:center;border-radius:50%;background:var(--solid);color:var(--text);border:1px solid var(--border)}.theme-toggle:hover{background:var(--primary-soft)}@media (max-width:600px){.theme-toggle{width:36px;height:36px}}.wrap{max-width:1240px;margin:0 auto;padding:16px 16px 48px}.tabs{display:flex;gap:4px;padding:4px;margin-bottom:14px;background:var(--card);border:1px solid var(--border);border-radius:14px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tabs button{flex:1 1;padding:10px 8px;background:none;color:var(--muted);font-weight:600;border-radius:10px}.tabs button.on{background:var(--head);color:#fff}:root[data-theme=dark] .tabs button.on{background:#f3f4f6;color:#111827}.panel{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel h2{font-size:20px;margin-bottom:10px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.panel-head h2{margin:0}.picker{display:flex;align-items:center;gap:6px}.picker input{width:auto;padding:8px 10px}.picker .arrow{width:36px;height:36px;padding:0;font-size:23px;border-radius:50%}.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:14px}.kpi{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow)}.kpi-label{font-size:15px;color:var(--muted)}.kpi-value{font-size:28px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:16px}th{text-align:left;font-size:14px;color:var(--muted);font-weight:600;padding:8px 10px;white-space:nowrap}td,th{border-bottom:1px solid var(--border)}td{padding:10px;vertical-align:middle}th.num{text-align:right}tfoot td{font-weight:800;border-bottom:none;border-top:2px solid var(--border)}.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:14px;font-weight:700;white-space:nowrap}.badge.ok{background:var(--green-soft);color:var(--green)}.badge.late{background:var(--amber-soft);color:var(--amber)}.badge.no{background:var(--red-soft);color:var(--red)}.notice{padding:10px 12px;border-radius:10px;margin-bottom:12px;font-size:16px}.notice.bad{background:var(--red-soft);color:var(--red)}.notice.ok{background:var(--green-soft);color:var(--green)}.hint{font-size:16px;color:var(--muted);line-height:1.6}.hint code{background:var(--primary-soft);color:var(--text);padding:1px 6px;border-radius:6px}.field{display:flex;flex-direction:column;gap:4px;font-size:15px;color:var(--muted);margin-bottom:10px}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.login-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:24px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-card img{width:64px;height:64px;border-radius:50%;object-fit:cover;align-self:center}.login-card h1{font-size:23px;text-align:center}.login-theme{position:fixed;top:14px;right:14px;color:var(--text);border-color:var(--border)}.robot-check{justify-content:space-between;min-height:60px;padding:0 14px;background:var(--solid);border:1px solid var(--border);border-radius:10px}.robot-check,.robot-check-status{display:flex;align-items:center;gap:12px}.robot-check-status{font-size:17px}.robot-check-ok{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#16a34a;color:#fff;font-weight:700}.robot-check-spinner{width:26px;height:26px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.robot-check-retry{display:flex;align-items:center;gap:12px;padding:0;background:none;color:var(--text);font-size:17px}.robot-check-box{width:24px;height:24px;border:2px solid var(--muted);border-radius:4px}.robot-check-brand{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;color:var(--muted)}.robot-check-brand svg{color:var(--primary)}@media (max-width:700px){input,select{font-size:18px}.wrap{padding:12px 12px 40px}.brand-sub{display:none}.kpis{grid-template-columns:1fr 1fr}.kpis .kpi:last-child{grid-column:1/-1}.kpi-value{font-size:23px}.panel{padding:12px}td,th{padding:8px 6px}.bg-word{font-size:38px}.w2{font-size:52px}.w3,.w5{display:none}}.stage-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.stage-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--solid)}.stage-no{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:800;font-size:15px;flex:none}.stage-list b{flex:1 1;min-width:0}.stage-actions{display:flex;gap:4px;flex:none}.stage-add{display:flex;gap:8px;align-items:flex-end}.stage-add input{flex:1 1}.stage-add button{flex:none}.worker-list{display:flex;flex-direction:column;gap:8px}.worker-row{display:grid;grid-template-columns:minmax(0,1.4fr) 1fr 1fr 1fr auto;grid-gap:8px;gap:8px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--solid)}.worker-tg{display:flex;flex-direction:column;min-width:0}.worker-actions{display:flex;gap:6px}.worker-tg b,.worker-tg span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:700px){.worker-row{grid-template-columns:1fr 1fr}.worker-actions,.worker-tg{grid-column:1/-1}.worker-actions button{flex:1 1}.worker-row select{grid-column:1/-1}}.pending-panel{border-color:var(--amber)}.pending-panel h2{display:flex;align-items:center;gap:8px}.pending-item,.pending-list{display:flex;flex-direction:column;gap:10px}.pending-item{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--solid)}.pending-info{display:flex;flex-direction:column;gap:2px}.pending-media img,.pending-media video{display:block;max-width:100%;max-height:420px;border-radius:10px;background:#000}.pending-actions{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.pending-qty{display:flex;flex-direction:column;gap:4px;font-size:15px;color:var(--muted)}.pending-qty input{width:110px}@media (max-width:700px){.pending-actions button{flex:1 1}.pending-qty,.pending-qty input{width:100%}}