:root{--bg:#0f1115;--sidebar:#121722;--card:#171d29;--card-hover:#1d2433;--border:#262f42;--border-strong:#324158;--blue:#3b82f6;--blue-soft:#1e2a45;--green:#22c55e;--green-soft:#16301f;--green-light:#4ade80;--yellow:#f59e0b;--yellow-soft:#34270a;--red:#ef4444;--red-soft:#351a1a;--text:#fff;--muted:#a1a1aa;--faint:#6b7280;--radius:14px;--radius-sm:10px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Segoe UI Variable Display,Segoe UI Variable,Inter,Segoe UI,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.muted{color:var(--muted)}.faint{color:var(--faint)}.page{display:flex;min-height:100vh}.sidebar{width:248px;min-width:248px;background:var(--sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:22px 16px 16px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:0 6px}.brand .logo{width:38px;height:38px;min-width:38px;border-radius:11px;background:linear-gradient(135deg,#3b82f6,#2563eb);display:grid;place-items:center;color:#fff}.brand h1{font-size:20px;margin:0;font-weight:700;white-space:nowrap;letter-spacing:-.01em}.brand small{color:var(--muted);font-weight:400}.content{flex:1 1;min-width:0;padding:28px 32px}.side-nav{display:flex;flex-direction:column;gap:22px;margin-top:28px;flex:1 1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.1) transparent}.side-nav::-webkit-scrollbar{width:6px}.side-nav::-webkit-scrollbar-track{background:transparent}.side-nav::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.08);border-radius:3px}.side-nav:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.16)}.nav-group{display:flex;flex-direction:column;gap:4px}.nav-group-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--faint);padding:0 12px;margin-bottom:6px}.nav-link{display:flex;align-items:center;gap:12px;height:44px;padding:0 12px;border-radius:11px;font-size:14px;font-weight:500;color:var(--muted);border:1px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.nav-ic{display:grid;place-items:center;width:20px;height:20px;flex-shrink:0}.nav-link:hover{background:hsla(0,0%,100%,.04);color:var(--text)}.nav-link.active{background:linear-gradient(90deg,rgba(37,99,235,.28),rgba(37,99,235,.08));border-color:rgba(59,130,246,.25);box-shadow:inset 3px 0 0 #3b82f6;color:#fff}.nav-link.active .nav-ic{color:#93c5fd}.nav-link.soon{color:var(--faint);cursor:default}.nav-link.soon:hover{background:transparent;color:var(--faint)}.nav-soon-tag{margin-left:auto;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);background:hsla(0,0%,100%,.05);padding:3px 6px;border-radius:6px}.side-foot{margin-top:14px;padding-top:16px;border-top:1px solid hsla(0,0%,100%,.06)}.user-card{display:flex;align-items:center;gap:12px;background:rgba(15,23,42,.6);border:1px solid rgba(148,163,184,.14);border-radius:16px;padding:13px}.user-av{width:50px;height:50px;min-width:50px;border-radius:999px;display:grid;place-items:center;flex-shrink:0;overflow:hidden;background:var(--blue-soft);color:#93c5fd;font-weight:700;font-size:19px;border:2px solid hsla(0,0%,100%,.08);cursor:pointer;padding:0;font-family:inherit;transition:border-color .15s ease}.user-av:hover{border-color:rgba(59,130,246,.55)}.user-av img{width:100%;height:100%;object-fit:cover;display:block}.user-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1}.side-foot .user-name{font-size:14px;font-weight:600;color:#fff;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.side-foot .user-name:hover{color:#93c5fd}.user-role-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.user-role{font-size:12px;color:#60a5fa;white-space:nowrap}.user-logout{flex-shrink:0;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--red);background:transparent;border:1px solid transparent;transition:all .15s ease;cursor:pointer}.user-logout:hover{background:var(--red-soft)}@media (max-width:760px){.page{flex-direction:column}.sidebar{width:100%;min-width:0;height:auto;padding:14px 16px}.side-nav{margin-top:16px;overflow:visible}.content{padding:20px 16px}}.form-card{max-width:720px;margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.textarea{width:100%;padding:12px 14px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:14px;outline:none;resize:vertical;min-height:72px;font-family:inherit}.textarea:focus{border-color:var(--blue)}.check-group{display:flex;flex-direction:column;gap:6px;margin-top:6px}.check{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:13px}.check input{accent-color:var(--blue);width:16px;height:16px}.check.on{border-color:var(--blue);background:var(--blue-soft)}.check.disabled{opacity:.45;cursor:not-allowed}.machine-group-label{font-size:12px;color:var(--faint);margin:12px 0 4px}.parse-info{margin-top:8px;padding:10px 12px;background:var(--bg)}.file-btn,.parse-info{font-size:13px;border-radius:var(--radius-sm);border:1px solid var(--border)}.file-btn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:10px 16px;background:transparent;color:var(--text);font-weight:600}.file-btn:hover,.progress{background:var(--card-hover)}.progress{height:8px;border-radius:4px;overflow:hidden;margin:8px 0}.progress>div{height:100%;border-radius:4px;background:var(--blue);transition:width .4s ease}.camp-stats{display:flex;gap:18px;font-size:12px;color:var(--muted);margin:6px 0 12px}.camp-stats b{color:var(--text)}.actions{display:flex;gap:8px}.btn.sm{padding:8px 13px;font-size:12px}.btn.success{background:var(--green);color:#06210f}.ops-strip{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:18px}.ops-card{background:var(--sidebar);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px}.metric-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:12px;gap:12px}@media (max-width:1400px){.metric-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.metric-grid,.ops-strip{grid-template-columns:repeat(2,1fr)}}.metric-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:border-color .15s ease;display:flex;flex-direction:column}.metric-card:hover{border-color:var(--border-strong)}.metric-top{display:flex;align-items:center;justify-content:space-between}.metric-label{font-size:12px;color:var(--muted)}.metric-dot{width:10px;height:10px;border-radius:3px}.metric-value{font-size:28px;font-weight:700;margin:8px 0 2px}.metric-delta{font-size:11px;font-weight:700}.metric-bar{height:3px;border-radius:2px;opacity:.8}.metric-bar,.metric-spark{margin-top:auto}.panel-row{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:18px;gap:18px;margin-top:18px}@media (max-width:1100px){.panel-row{grid-template-columns:1fr}}.panel-h{margin:0 0 12px;font-size:18px}.panel-h.ic-h{display:inline-flex;align-items:center;gap:10px}.panel-h.ic-h .card-ic svg{width:20px;height:20px}.panel-scroll{max-height:300px;overflow-y:auto;margin:0 -4px;padding:0 4px}.panel-scroll::-webkit-scrollbar{width:8px}.panel-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.panel-scroll::-webkit-scrollbar-track{background:transparent}.run-row{padding:10px 0;border-bottom:1px solid var(--border)}.run-row:last-child{border-bottom:none}.log-row{display:flex;gap:10px;align-items:flex-start;padding:8px 0}.log-ic{width:24px;height:24px;min-width:24px;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:12px}.rank-row{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--border)}.rank-row:last-child{border-bottom:none}.rank-pos{width:24px;text-align:center;font-weight:700;font-size:13px;color:var(--muted)}.section-title{font-size:26px;font-weight:700;margin:0 0 3px}.section-sub{color:var(--muted);font-size:14.5px;margin:0 0 20px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-gap:18px;gap:18px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--card)}.ls-table{width:100%;border-collapse:collapse;font-size:13px}.ls-table thead th{text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);background:var(--sidebar);white-space:nowrap}.ls-table tbody td,.ls-table thead th{padding:12px 16px;border-bottom:1px solid var(--border)}.ls-table tbody td{vertical-align:middle}.ls-table tbody tr:last-child td{border-bottom:none}.ls-table tbody tr:hover{background:var(--card-hover)}.clickable-row{cursor:pointer}.form-cols{display:grid;grid-template-columns:1fr 340px;grid-gap:18px;gap:18px;align-items:start}@media (max-width:900px){.form-cols{grid-template-columns:1fr}}.form-main{display:flex;flex-direction:column;gap:18px}.form-side .card{position:-webkit-sticky;position:sticky;top:20px}select.input{cursor:pointer}.detail-stack{display:flex;flex-direction:column;gap:18px}.card-head{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.card-head .panel-h{margin:0}.card-head .spacer{flex:1 1}.card.status-strip{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:0;gap:0;align-items:center;border-left:4px solid var(--green);padding:18px 22px}.status-strip .strip-item{padding:0 18px}.status-strip .strip-item:first-child{padding-left:0}.status-strip .strip-item:last-child{padding-right:0}.status-strip .strip-item+.strip-item{border-left:1px solid var(--border)}@media (max-width:1100px){.card.status-strip{grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.card.status-strip{grid-template-columns:1fr 1fr}}.strip-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--faint);margin-bottom:6px}.strip-label svg{width:14px;height:14px;opacity:.85}.strip-value{display:flex;align-items:center;gap:6px;font-size:14.5px;font-weight:700;line-height:1.2}.strip-value .sv-ic{display:inline-flex;color:var(--muted)}.strip-value .sv-ic svg{width:14px;height:14px}.crumb{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:13.5px}.crumb-link{background:none;border:none;padding:0;cursor:pointer;color:var(--blue);font-size:13.5px;font-weight:600}.crumb-link:hover{text-decoration:underline}.crumb-sep{color:var(--faint)}.crumb-cur,.detail-foot{color:var(--muted)}.detail-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 20px;font-size:13px}.detail-foot .df-left,.detail-foot .df-right{display:inline-flex;align-items:center;gap:8px}.detail-foot .df-left svg{width:15px;height:15px;opacity:.8}.detail-foot .df-right b{color:var(--text)}.df-copy{display:inline-grid;place-items:center;width:28px;height:28px;background:var(--card-hover);border:1px solid var(--border);border-radius:8px;color:var(--muted);cursor:pointer;transition:color .15s ease,border-color .15s ease}.df-copy:hover{color:var(--text);border-color:var(--border-strong)}.df-copy svg{width:15px;height:15px}.progress-card .pg-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.pg-headline{display:flex;align-items:center;gap:16px;flex:1 1;min-width:0}.pg-pct{font-size:30px;font-weight:800;line-height:1;min-width:64px}.pg-bar{flex:1 1;height:10px;min-width:120px;border-radius:6px;background:var(--card-hover);overflow:hidden}.pg-bar span{display:block;height:100%;border-radius:6px;transition:width .4s ease}.pg-count{font-weight:700;white-space:nowrap}.pg-count,.pg-msg{font-size:13px;color:var(--muted)}.pg-msg{margin:10px 0 0}.pg-actions{display:flex;gap:10px;flex-shrink:0}.pg-btn svg{width:16px;height:16px}.pg-btn.pg-pause{background:var(--yellow);color:#3a2606}.pg-btn.pg-finish{background:var(--green);color:#06210f}@media (max-width:860px){.progress-card .pg-row{flex-direction:column;align-items:stretch}.pg-actions{justify-content:flex-end}}.cfg-layout{display:grid;grid-template-columns:2fr 1fr;grid-gap:16px;gap:16px}@media (max-width:980px){.cfg-layout{grid-template-columns:1fr}}.cfg-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;align-content:start}@media (max-width:680px){.cfg-grid{grid-template-columns:1fr 1fr}}@media (max-width:460px){.cfg-grid{grid-template-columns:1fr}}.cfg-card{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.cfg-ic{display:inline-flex;color:var(--blue);margin-top:1px}.cfg-ic svg{width:18px;height:18px}.cfg-label{font-size:12px;color:var(--muted);margin-bottom:3px}.cfg-value{font-size:14px;font-weight:700;line-height:1.3}.send-window{display:flex;flex-direction:column;padding:16px 18px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--green)}.sw-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.sw-title{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700}.sw-title svg{width:18px;height:18px;color:var(--muted)}.sw-badge{background:var(--green-soft);color:var(--green)}.sw-badge .dot{background:var(--green)}.sw-time{display:flex;align-items:center;gap:16px;font-size:30px;font-weight:800;margin:14px 0 0}.sw-arrow{color:var(--faint);font-size:24px}.sw-note{margin:auto 0 0;font-size:12px;color:var(--muted);line-height:1.5}.prog-cols{display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-gap:16px;gap:16px;align-items:start}@media (max-width:1100px){.prog-cols{grid-template-columns:1fr}}.prog-main{display:flex;flex-direction:column;gap:16px;min-width:0}.head-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;align-items:stretch}.head-row.single{grid-template-columns:1fr}@media (max-width:720px){.head-row{grid-template-columns:1fr}}.card-ic{display:inline-flex;align-items:center;justify-content:center;color:var(--blue)}.card-ic svg{width:20px;height:20px}.card-ic.green{color:var(--green)}.card-ic.grad svg{stroke:#818cf8}.card-ic.lg svg{width:30px;height:30px}.card-ic.grad.lg{filter:drop-shadow(0 3px 9px rgba(99,102,241,.35))}.hc-field>label{display:block;font-size:13.5px;font-weight:600;color:var(--text);margin-bottom:7px}.input-count{position:relative}.input-count .input{padding-right:54px}.char-count{font-size:11px;color:var(--faint)}.input-count .char-count{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.sheet-counts{display:flex;align-items:center;gap:18px;font-size:13px;margin-bottom:7px;flex-wrap:wrap}.sheet-counts .sc{color:var(--text);white-space:nowrap}.sheet-counts .sc b{font-weight:700;margin-right:3px}.sheet-counts .sc.total b{color:var(--green)}.sheet-counts .sc.dup b{color:var(--yellow)}.sheet-counts .sc.inv b{color:var(--red)}.sheet-pick{display:flex;align-items:center;gap:12px;min-width:0}.sheet-file{font-size:12.5px;color:var(--faint);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.file-btn.primary:hover{background:var(--blue-hover,#2f6fd6);border-color:var(--blue-hover,#2f6fd6)}.msg-card{display:grid;grid-template-columns:minmax(0,1fr) 420px;grid-gap:20px;gap:20px;padding:22px;background:linear-gradient(180deg,rgba(59,130,246,.04) 0,rgba(139,92,246,.015) 22%,transparent 42%),var(--card);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.03),0 12px 32px -12px rgba(0,0,0,.55)}@media (max-width:1480px){.msg-card{grid-template-columns:1fr}}.msg-left{display:flex;flex-direction:column;min-width:0}.msg-head{display:flex;align-items:center;min-height:32px;margin-bottom:12px}.msg-head label{font-size:13.5px;font-weight:600;color:var(--text);margin:0}.card-head.premium,.msg-head.premium{gap:12px;min-height:46px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border);flex-wrap:nowrap}.card-head.premium .card-ic.grad.lg,.ch-title .card-ic.grad.lg,.msg-head.premium .card-ic.grad.lg{flex-shrink:0;width:40px;height:40px;border-radius:11px;background:linear-gradient(145deg,rgba(59,130,246,.16),rgba(139,92,246,.16));border:1px solid rgba(99,102,241,.28)}.card-head.premium .card-ic.grad.lg svg,.ch-title .card-ic.grad.lg svg,.msg-head.premium .card-ic.grad.lg svg{width:22px;height:22px}.ch-title{align-items:center;gap:12px}.ch-title,.mh-text{display:flex;min-width:0}.mh-text{flex-direction:column;gap:2px}.mh-title{font-size:16px;font-weight:700;color:var(--text);line-height:1.15}.mh-sub{font-size:12px;color:var(--muted);line-height:1.2}.msg-mediabtn,.msg-vars{display:flex;align-items:center;gap:10px;min-height:44px;margin-bottom:4px}.msg-vars .var-line{flex:1 1;min-width:0}.msg-mediabtn .file-btn{width:100%;min-height:46px;border-radius:12px;font-weight:700;letter-spacing:.15px;border:1px solid rgba(99,102,241,.42);background:linear-gradient(145deg,rgba(59,130,246,.14),rgba(139,92,246,.1));box-shadow:0 6px 18px -10px rgba(59,130,246,.55);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease,transform .12s ease}.msg-mediabtn .file-btn:hover{border-color:var(--blue);background:linear-gradient(145deg,rgba(59,130,246,.22),rgba(139,92,246,.16));box-shadow:0 10px 26px -10px rgba(59,130,246,.7);transform:translateY(-1px)}.msg-mediabtn .file-btn:active{transform:translateY(0)}.msg-mediabtn .file-btn:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}.msg-area-wrap{position:relative;flex:1 1;display:flex}.msg-area{flex:1 1;width:100%;min-height:240px;resize:none;border-radius:14px;padding:14px 16px 44px;line-height:1.55;background:#0c0e13;border:1px solid rgba(59,130,246,.28);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.02),inset 0 8px 24px -16px rgba(0,0,0,.7);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.msg-area:hover{border-color:rgba(59,130,246,.45)}.msg-area:focus{border-color:var(--blue);background:#0d1017;box-shadow:0 0 0 3px rgba(59,130,246,.15),0 0 26px -6px rgba(59,130,246,.35);outline:none}.msg-toolbar{position:absolute;left:10px;right:24px;bottom:9px;display:flex;align-items:center;gap:6px;pointer-events:none}.msg-toolbar .fmt-btn{pointer-events:auto;width:28px;height:28px;display:inline-grid;place-items:center;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.msg-toolbar .fmt-btn.mono{font-family:ui-monospace,monospace}.msg-toolbar .fmt-btn:hover{border-color:var(--blue);color:var(--text);background:var(--card-hover)}.msg-toolbar .msg-watermark{position:static;margin-left:auto;pointer-events:auto;cursor:help}.msg-watermark{position:absolute;right:14px;bottom:9px;font-size:11px;color:var(--faint);opacity:.5;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.msg-watermark .mw-limit{color:var(--blue);font-weight:700}.msg-watermark .mw-sep{opacity:.7;margin:0 1px}.msg-watermark.over{opacity:1}.msg-watermark.over .mw-count{color:var(--red);font-weight:800}.emo-pop{z-index:60;width:342px;padding:8px;background:var(--card);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 16px 40px -12px rgba(0,0,0,.6);animation:cf-fade .12s ease}.emo-tabs{display:flex;gap:2px;overflow-x:auto;padding-bottom:6px;border-bottom:1px solid var(--border)}.emo-tab{flex:0 0 auto;width:30px;height:28px;display:grid;place-items:center;font-size:15px;line-height:1;background:none;border:1px solid transparent;border-radius:8px;cursor:pointer;opacity:.6;transition:opacity .12s ease,background .12s ease,border-color .12s ease}.emo-tab.on,.emo-tab:hover{opacity:1;background:var(--card-hover)}.emo-tab.on{border-color:var(--blue)}.emo-title{font-size:10.5px;font-weight:700;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding:8px 4px 6px}.emo-grid{display:grid;grid-template-columns:repeat(8,1fr);grid-gap:2px;gap:2px;max-height:236px;overflow-y:auto;padding-right:2px}.emo-btn{height:33px;font-size:19px;line-height:1;background:none;border:none;border-radius:8px;cursor:pointer;transition:background .1s ease,transform .1s ease}.emo-btn:hover{background:var(--card-hover);transform:scale(1.16)}.var-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tag-add-btn{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--green-light);background:var(--green-soft);border:1px solid rgba(34,197,94,.25);border-radius:999px;padding:6px 13px;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.tag-add-btn:hover{border-color:var(--green);background:rgba(34,197,94,.16);box-shadow:0 2px 10px -4px rgba(34,197,94,.5)}.tag-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.tag-select{position:relative}.tag-select-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--blue);background:var(--blue-soft);border:1px solid rgba(59,130,246,.25);border-radius:999px;padding:6px 11px;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.tag-select-btn:hover,.tag-select-btn[aria-expanded=true]{border-color:var(--blue);background:rgba(59,130,246,.18);box-shadow:0 2px 10px -4px rgba(59,130,246,.5)}.tsb-ic{display:inline-flex}.tsb-ic svg{width:14px;height:14px}.tsb-chev{display:inline-flex;transition:transform .18s ease}.tsb-chev svg{width:14px;height:14px}.tag-select-btn[data-state=open] .tsb-chev{transform:rotate(180deg)}.tag-menu{z-index:60;min-width:210px;max-height:280px;overflow-y:auto;padding:6px;background:var(--card);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 16px 40px -12px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:2px;animation:cf-fade .12s ease}.tag-menu-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;font-size:12.5px;color:var(--green-light);background:none;border:none;border-radius:8px;padding:8px 10px;cursor:pointer;transition:background .12s ease;outline:none}.tag-menu-item:hover,.tag-menu-item[data-highlighted]{background:var(--green-soft)}.tmi-name{font-weight:700}.tmi-count{font-size:10.5px;font-weight:500;color:var(--faint)}.tag-menu-empty{padding:12px 10px;font-size:12px;color:var(--muted);text-align:center;line-height:1.5}.tag-soon{font-size:11px;color:var(--faint)}.tag-badge{font-size:12px;font-weight:700;color:var(--green-light);background:var(--green-soft);border:1px solid transparent;border-radius:7px;padding:3px 9px;cursor:pointer}.tag-badge:hover{border-color:var(--green)}.modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.6);animation:cf-fade .14s ease}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:101;width:calc(100vw - 32px);max-width:560px;max-height:86vh;overflow:auto;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius);padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:cf-pop .16s ease}.modal-head{display:flex;align-items:center;justify-content:space-between}.modal-head h3{margin:0;font-size:18px}.modal-x{display:grid;place-items:center;width:34px;height:34px;flex:none;background:var(--card-hover);border:1px solid var(--border);color:var(--red);cursor:pointer;border-radius:9px;line-height:1;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.modal-x:hover{background:var(--red);color:#fff;border-color:var(--red);box-shadow:0 0 12px rgba(239,68,68,.55)}.modal-sub{font-size:12.5px;color:var(--muted);line-height:1.5;margin:8px 0 16px}.tag-existing{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;max-height:280px;overflow-y:auto;padding-right:4px}.tag-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;background:var(--bg)}.tag-item-head{display:flex;align-items:center;gap:10px}.tag-variants{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag-var-chip{font-size:11.5px;color:var(--muted);background:var(--card-hover);border-radius:6px;padding:2px 8px}.tag-form{border-top:1px solid var(--border);padding-top:16px}.tag-form h4{margin:0 0 12px;font-size:14px}.tag-var-row{display:flex;gap:6px;margin-bottom:6px}.tag-var-row .input{flex:1 1}.var-badge{font-size:12px;font-weight:600;color:var(--blue);background:var(--blue-soft);border:1px solid transparent;border-radius:7px;padding:3px 9px;cursor:pointer}.var-badge:hover{border-color:var(--blue)}.var-line .chip{display:inline-flex;align-items:center;gap:1px;border-radius:999px;border:1px solid transparent;padding-right:4px;line-height:1;transition:border-color .15s ease,background .15s ease,transform .12s ease,box-shadow .15s ease}.var-line .chip.var{color:var(--blue);background:var(--blue-soft);border-color:rgba(59,130,246,.22)}.var-line .chip.tag{color:var(--green-light);background:var(--green-soft);border-color:rgba(34,197,94,.22)}.var-line .chip.var:hover{border-color:var(--blue);background:rgba(59,130,246,.18);box-shadow:0 2px 10px -4px rgba(59,130,246,.5);transform:translateY(-1px)}.var-line .chip.tag:hover{border-color:var(--green);background:rgba(34,197,94,.16);box-shadow:0 2px 10px -4px rgba(34,197,94,.5);transform:translateY(-1px)}.chip-lab{font-size:12px;font-weight:700;border:none;padding:6px 5px 6px 12px;letter-spacing:.1px}.chip-lab,.chip-x{color:inherit;background:none;cursor:pointer}.chip-x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:none;opacity:.5;font-size:13px;line-height:1;transition:opacity .12s ease,background .12s ease}.var-line .chip.var .chip-x:hover{opacity:1;background:rgba(59,130,246,.28)}.var-line .chip.tag .chip-x:hover{opacity:1;background:rgba(34,197,94,.28)}.msg-right{display:flex;flex-direction:column}.media-preview{position:relative;flex:1 1;min-height:240px;border-radius:14px;background:radial-gradient(120% 90% at 50% 0,rgba(59,130,246,.06),transparent 60%),#0c0e13;border:1.5px dashed var(--border-strong);overflow:hidden;display:grid;place-items:center;transition:border-color .15s ease,box-shadow .15s ease}.media-preview:hover{border-color:rgba(99,102,241,.5);box-shadow:inset 0 0 26px -8px rgba(59,130,246,.3)}.media-remove-float{position:absolute;top:8px;right:8px;z-index:2;width:30px;height:30px;display:grid;place-items:center;border:none;border-radius:8px;cursor:pointer;background:rgba(0,0,0,.55);color:#fff;transition:background .12s ease}.media-remove-float:hover{background:var(--red)}.media-remove-float svg{width:16px;height:16px}.media-preview img,.media-preview video{width:100%;height:100%;object-fit:cover;display:block}.media-empty{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--muted);font-size:15px;font-weight:600;text-align:center;padding:0 16px}.media-empty .media-ic-wrap{position:relative;display:inline-flex}.media-empty .media-ic-wrap:after{content:"";position:absolute;right:-4px;bottom:-2px;width:22px;height:22px;border-radius:50%;background:linear-gradient(145deg,var(--blue),#8b5cf6);box-shadow:0 4px 12px -3px rgba(99,102,241,.6)}.media-empty .media-ic-wrap:before{content:"";position:absolute;right:3px;bottom:5px;z-index:1;width:0;height:0;border-color:transparent transparent transparent #fff;border-style:solid;border-width:5px 0 5px 8px}.media-empty svg{width:60px;height:60px;opacity:1;stroke:#818cf8;filter:drop-shadow(0 3px 9px rgba(99,102,241,.3))}.media-empty small{font-size:12px;font-weight:400;color:var(--faint);opacity:.85}.media-doc{align-items:center;gap:8px;color:var(--muted);font-size:12px}.ch-card,.media-doc{display:flex;flex-direction:column}.ch-card{flex:1 1;min-height:460px}.ch-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.ch-card-head.premium{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.ch-stats{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ch-stat{font-size:12px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:5px 14px;white-space:nowrap;min-width:120px;text-align:center}.ch-stat b{color:var(--text);margin-right:5px}.ch-stat.sel b{color:var(--blue)}.ch-stat.use b{color:var(--yellow)}.ch-stat.off b{color:var(--red)}.ch-actions{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.ch-actions .client-btn,.ch-actions>.btn{height:42px}.ch-search{position:relative;flex:1 1;min-width:130px;display:flex}.ch-search .input{height:42px}.client-select{position:relative}.client-btn{display:inline-flex;align-items:center;gap:7px}.client-btn[data-state=open]{border-color:var(--blue)}.client-btn .dot,.cs-opt .dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.cs-chev{color:var(--muted);font-size:10px;margin-left:2px;display:inline-block;transition:transform .18s ease}.client-btn[data-state=open] .cs-chev{transform:rotate(180deg)}.client-pop{z-index:50;min-width:230px;max-height:300px;overflow:auto;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:0 14px 36px rgba(0,0,0,.45);padding:6px;display:flex;flex-direction:column;gap:2px;animation:cf-fade .12s ease}.cs-opt{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:8px;outline:none;background:transparent;border:none;color:var(--text);cursor:pointer;font-size:13px;text-align:left}.cs-opt:hover,.cs-opt[data-highlighted]{background:var(--card-hover)}.cs-opt.on{background:var(--blue-soft)}.cs-name{flex:1 1;min-width:0}.cs-meta{font-size:11px;color:var(--faint)}.cs-empty{padding:10px;color:var(--muted);font-size:13px}.chsel-row.disabled{opacity:.5;cursor:not-allowed}.chsel-row.disabled:hover{background:transparent}.chsel-row.disabled input{cursor:not-allowed}.ch-search .fs-ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.6;pointer-events:none}.ch-search .input{padding-left:34px}.chsel-box{flex:1 1;display:flex;flex-direction:column;min-height:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.ch-list-head,.chsel-row{display:grid;grid-template-columns:28px 1.4fr 1fr 1fr .9fr;align-items:center;grid-gap:10px;gap:10px;padding:11px 14px}.ch-list-head{font-size:12.5px;font-weight:600;color:var(--text);background:var(--blue-soft)}.chsel-list{flex:1 1;overflow-y:auto;min-height:0}.chsel-row{cursor:pointer;border-bottom:1px solid var(--border)}.chsel-row:last-child{border-bottom:none}.chsel-row:hover{background:var(--card-hover)}.chsel-row.on{background:var(--blue-soft)}.chsel-row input[type=checkbox]{accent-color:var(--blue);width:16px;height:16px}.chsel-name{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13.5px;min-width:0}.chsel-name .ch-wa{display:inline-grid;place-items:center;width:24px;height:24px;min-width:24px;border-radius:6px;background:var(--green-soft);color:var(--green)}.ch-list-head>:nth-child(n+2),.chsel-row>:nth-child(n+2){justify-self:center;text-align:center}.ch-wa svg{width:14px;height:14px}.ch-st{display:inline-flex;font-size:12px;font-weight:600}.ch-pager,.ch-st{align-items:center;gap:6px}.ch-pager{display:flex;justify-content:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.pref-card{display:flex;flex-direction:column}.pref-card>.panel-h{margin-bottom:4px}.pref-body{flex:1 1;display:flex;flex-direction:column;gap:12px}.pref-group{border:1px solid var(--border);border-radius:12px;padding:2px 14px 8px}.pref-group-h{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:12px 2px 2px}.pref-field{display:flex;flex-direction:column;padding:12px 0;border-top:1px solid var(--border)}.pref-group-h+.pref-field,.pref-group-h+.toggle-row{border-top:none}.pref-field>label{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:9px}.field-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.field-head>label{font-size:14px;font-weight:600;color:var(--text);margin:0}.lbl-ic{display:inline-flex;align-items:center;gap:7px}.lbl-ic .card-ic svg{width:16px;height:16px}.stepper.is-disabled,.win-display.is-disabled{opacity:.42;pointer-events:none}.seg{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:6px;gap:6px;margin-bottom:6px}.seg-btn{padding:9px 0;border-radius:8px;background:var(--bg);border:1px solid var(--border);color:var(--muted);font-weight:700;font-size:13px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.seg-btn:hover{border-color:var(--border-strong);color:var(--text)}.seg-btn.on{background:var(--blue);border-color:var(--blue);color:#fff}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--border)}.tr-text{min-width:0}.tr-title{font-size:14px;font-weight:600;color:var(--text)}.tr-desc{font-size:12px;color:var(--faint);line-height:1.45;margin-top:3px}.switch{width:42px;min-width:42px;height:24px;border-radius:999px;background:var(--card-hover);border:1px solid var(--border);position:relative;cursor:pointer;transition:background .15s ease;padding:0}.switch.on{background:var(--blue);border-color:var(--blue)}.switch:disabled{opacity:.45;cursor:not-allowed}.switch-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s ease}.switch.on .switch-knob{left:20px}.stepper-pair{display:flex;align-items:center;justify-content:center;gap:16px}.sp-sep{color:var(--faint);font-size:12px}.sp-col{display:flex;flex-direction:column;align-items:center;gap:5px}.sp-unit{font-size:11px;color:var(--faint)}.stepper{display:flex;align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.stepper-btn{width:32px;height:36px;background:var(--card-hover);border:none;color:var(--text);font-size:18px;cursor:pointer}.stepper-btn:hover{background:var(--border-strong)}.stepper-input{width:56px;height:38px;text-align:center;background:transparent;border:none;color:var(--text);font-size:16px;font-weight:700;outline:none;-moz-appearance:textfield}.stepper-input::-webkit-inner-spin-button,.stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.win-display{display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 0}.win-display input[type=time]{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:16px;font-weight:700;padding:8px 12px;outline:none}.win-display input[type=time]:focus{border-color:var(--blue)}.win-arrow{color:var(--faint);font-size:20px}.radio-row{display:flex;align-items:center;gap:10px;font-size:14.5px;color:var(--text);margin-bottom:9px;cursor:pointer}.radio-row input{accent-color:var(--blue);width:18px;height:18px}.sched-fields{display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 0}.sched-fields input{background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:16px;font-weight:700;padding:8px 12px;outline:none;text-align:center}.sched-fields input:focus{border-color:var(--blue)}.sched-fields.is-disabled{opacity:.42;pointer-events:none}.sched-fields input::-webkit-calendar-picker-indicator,.win-display input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.9;filter:brightness(0) saturate(100%) invert(47%) sepia(80%) saturate(2100%) hue-rotate(202deg) brightness(99%) contrast(95%)}.sched-fields input::-webkit-calendar-picker-indicator:hover,.win-display input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.pref-actions{padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:9px}.pref-actions .btn{font-size:14.5px;padding:13px 16px}.btn.block{width:100%}.file-btn.block{width:100%;justify-content:center}.stats-row{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:14px;gap:14px;margin-bottom:18px}@media (max-width:1200px){.stats-row{grid-template-columns:repeat(3,1fr)}}@media (max-width:700px){.stats-row{grid-template-columns:repeat(2,1fr)}}.stat-card{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;transition:border-color .15s ease}.stat-card:hover{border-color:var(--border-strong)}.stat-ic{width:48px;height:48px;min-width:48px;border-radius:12px;display:grid;place-items:center;font-size:22px}.stat-label{font-size:12px;color:var(--muted)}.stat-value{font-size:28px;font-weight:700;line-height:1.1;margin:2px 0}.stat-sub{font-size:11px;color:var(--faint)}.filter-bar{display:flex;gap:12px;align-items:stretch;margin-bottom:16px;flex-wrap:wrap}.filter-search{position:relative;flex:2 1 260px;min-width:220px;display:flex}.filter-search .fs-ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:13px;opacity:.6;pointer-events:none}.filter-search .input{padding-left:34px}.filter-spacer{flex:1 1;min-width:0}@media (max-width:900px){.filter-spacer{display:none}}.filter-chip{position:relative}.chip-btn{display:flex;align-items:center;gap:12px;width:100%;height:100%;min-width:158px;padding:7px 14px;cursor:pointer;text-align:left;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);transition:border-color .15s ease,background .15s ease}.chip-btn:hover{border-color:var(--border-strong)}.chip-btn[data-state=open]{border-color:var(--blue);background:var(--card-hover)}.chip-text{display:flex;flex-direction:column;flex:1 1;min-width:0;gap:1px}.chip-label{font-size:11px;color:var(--faint);line-height:1.2}.chip-value{font-size:13.5px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-chev{display:grid;place-items:center;color:var(--muted);transition:transform .18s ease}.chip-btn[data-state=open] .chip-chev{transform:rotate(180deg)}.chip-pop{z-index:50;min-width:160px;padding:6px;border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--border-strong);box-shadow:0 14px 36px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:2px;max-height:320px;overflow:auto;animation:cf-fade .12s ease}.chip-opt{text-align:left;padding:8px 12px;border-radius:8px;cursor:pointer;outline:none;background:transparent;border:none;color:var(--text);font-size:13px;white-space:nowrap;transition:background .12s ease}.chip-opt:hover,.chip-opt[data-highlighted]{background:var(--card-hover)}.chip-opt.on{background:var(--blue-soft);color:var(--blue);font-weight:600}.cal-pop{padding:14px;min-width:unset;max-height:none;overflow:visible}.cal-head{margin-bottom:12px}.cal-head,.cal-head-fill{display:flex;align-items:center;gap:10px}.cal-head-fill{flex:1 1;justify-content:center}.cal-pick{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:6px 10px}.cal-pick svg{color:var(--muted)}.cal-sep{color:var(--faint)}.cal-nav{display:grid;place-items:center;width:30px;height:30px;cursor:pointer;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);transition:border-color .15s ease,background .15s ease}.cal-nav:hover{border-color:var(--border-strong);background:var(--card-hover)}.cal-body{display:flex;gap:22px}@media (max-width:640px){.cal-body{flex-direction:column;gap:16px}}.cal-month{width:224px}.cal-title{text-align:center;font-size:13px;font-weight:600;margin-bottom:8px}.cal-week{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.cal-week span{text-align:center;font-size:11px;color:var(--faint);padding:4px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.cal-cell{height:30px;display:grid;place-items:center;cursor:pointer;background:transparent;border:none;color:var(--text);font-size:12.5px;border-radius:8px;transition:background .12s ease}.cal-cell:hover{background:var(--card-hover)}.cal-cell.empty{cursor:default;background:transparent}.cal-cell.in-range{background:var(--blue-soft);border-radius:0}.cal-cell.sel{color:#fff;font-weight:700}.cal-cell.sel,.cal-cell.sel:hover{background:var(--blue)}.cal-cell.edge-start{border-radius:8px 0 0 8px}.cal-cell.edge-end{border-radius:0 8px 8px 0}.cal-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.pager{justify-content:space-between;gap:14px;margin-top:16px;flex-wrap:wrap}.pager,.pager-nav{display:flex;align-items:center}.pager-nav{gap:6px}.pager-size{display:flex;gap:8px;align-items:center}.pager-size .input{width:auto;padding:8px 10px;cursor:pointer}.toggle-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:8px;border:none;cursor:pointer;white-space:nowrap;transition:filter .15s ease}.toggle-pill:hover{filter:brightness(1.14)}.toggle-pill:disabled{cursor:default;opacity:.7}.toggle-pill:disabled:hover{filter:none}.toggle-pill .dot{width:7px;height:7px;border-radius:50%;display:inline-block}.toggle-pill.on{background:var(--green-soft);color:var(--green)}.toggle-pill.on .dot{background:var(--green)}.toggle-pill.off{background:var(--card-hover);color:var(--muted)}.toggle-pill.off .dot{background:var(--muted)}.result-tiles{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:14px;gap:14px;margin-bottom:16px}@media (max-width:1100px){.result-tiles{grid-template-columns:repeat(3,1fr)}}@media (max-width:680px){.result-tiles{grid-template-columns:repeat(2,1fr)}}.result-tile{display:flex;align-items:center;gap:13px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.tile-ic{width:40px;height:40px;min-width:40px;border-radius:11px;display:grid;place-items:center;background:var(--card-hover)}.tile-label{font-size:12px;color:var(--faint);margin-bottom:4px}.tile-value{font-size:21px;font-weight:700;line-height:1}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px 28px;gap:20px 28px}@media (max-width:900px){.detail-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.detail-grid{grid-template-columns:1fr}}.info-row{display:flex;align-items:flex-start;gap:13px}.info-ic{display:grid;place-items:center;width:22px;height:22px;min-width:22px;margin-top:1px;color:var(--blue)}.info-row .info-label{font-size:12px;color:var(--faint);margin-bottom:3px}.info-row .info-value{font-size:15px;font-weight:700;line-height:1.25}.ch-table-head,.ch-table-row{display:grid;grid-template-columns:1.6fr 1.2fr 1.2fr 1fr;grid-gap:18px;gap:18px;align-items:center}.ch-table-head{padding-bottom:12px;margin-bottom:4px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--faint);font-weight:700}.ch-table-head,.ch-table-row{border-bottom:1px solid var(--border)}.ch-table-row{padding:14px 0}.ch-table-row:last-child{border-bottom:none}.ch-scroll{max-height:264px;overflow-y:auto;margin:0 -4px;padding:0 4px}.ch-scroll::-webkit-scrollbar{width:8px}.ch-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}.ch-scroll::-webkit-scrollbar-track{background:transparent}.ch-cell-name{display:flex;align-items:center;gap:13px;min-width:0}.ch-mon{width:40px;height:40px;min-width:40px;border-radius:11px;display:grid;place-items:center;background:var(--card-hover);color:var(--blue)}.ch-cell-name .ch-name{font-size:14px;font-weight:700}.ch-cell{font-size:14px;color:var(--text)}.ch-cell.muted{color:var(--muted)}@media (max-width:760px){.ch-table-head{display:none}.ch-table-row{grid-template-columns:1fr 1fr;gap:8px 18px}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;transition:border-color .15s ease,background .15s ease}.card:hover{border-color:var(--border-strong)}.machine-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.machine-name{font-size:16px;font-weight:700}.machine-host{color:var(--muted);font-size:12px;margin-top:2px}.stat-row{display:flex;gap:22px;margin:6px 0 14px}.stat .label{color:var(--faint);font-size:11px}.stat .value{font-size:18px;font-weight:700;margin-top:2px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:8px;white-space:nowrap}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.badge.online{background:var(--green-soft);color:var(--green)}.badge.online .dot{background:var(--green)}.badge.offline{background:var(--card-hover);color:var(--muted)}.badge.offline .dot{background:var(--muted)}.badge.b-off,.badge.b-on{background:transparent;border:1px solid var(--border)}.badge.b-on{color:var(--green)}.badge.b-off{color:var(--red)}.badge.b-admin{background:var(--yellow-soft);color:#fbbf24;border:1px solid rgba(251,191,36,.45)}.badge.b-user{background:var(--blue-soft);color:var(--blue);border:1px solid rgba(59,130,246,.3)}.st-IN_USE,.st-READY{background:var(--green-soft);color:var(--green)}.st-CHECKING,.st-QR_REQUIRED{background:var(--yellow-soft);color:var(--yellow)}.st-BLOCKED,.st-SESSION_ERROR{background:var(--red-soft);color:var(--red)}.st-DISCONNECTED{background:var(--card-hover);color:var(--muted)}.ch-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.ch-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.ch-name{font-weight:600;font-size:13px}.ch-phone{color:var(--faint);font-size:11px;margin-top:1px}.ch-empty{color:var(--faint);font-size:12px;padding:8px 0}.health-bar{height:6px;border-radius:3px;background:var(--card-hover);overflow:hidden;width:90px;margin-top:6px}.health-fill{height:100%;border-radius:3px}.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;border:none;cursor:pointer;font-weight:700;font-size:13px;padding:10px 16px;border-radius:var(--radius-sm);background:var(--blue);color:#fff;transition:filter .15s ease}.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.6;cursor:default}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn.ghost:hover{background:var(--card-hover)}.btn.warn{background:var(--yellow);border:1px solid var(--yellow);color:#3a2600;font-weight:700}.btn.warn:hover{filter:brightness(1.07)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:380px}.login-card .logo-lg{width:48px;height:48px;border-radius:12px;background:var(--blue-soft);display:grid;place-items:center;color:var(--blue);margin-bottom:18px}.field{margin-bottom:14px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.input{width:100%;padding:12px 14px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:14px;outline:none}.input:focus{border-color:var(--blue)}.error{color:var(--red);font-size:13px;margin:8px 0 0}.row-between{display:flex;align-items:center;justify-content:space-between}.spinner{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--blue);border-radius:50%;display:inline-block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.spin{animation:spin .9s linear infinite}.center-msg{color:var(--muted);text-align:center;padding:60px 0}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.cf-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.6);animation:cf-fade .14s ease}.cf-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:201;width:calc(100vw - 32px);max-width:420px;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius);padding:22px;box-shadow:0 24px 60px rgba(0,0,0,.55);animation:cf-pop .16s ease}.cf-title{margin:0 0 8px;font-size:17px;font-weight:700;color:var(--text)}.cf-desc{margin:0 0 18px;font-size:13.5px;color:var(--muted);line-height:1.55;white-space:pre-line}.cf-actions{display:flex;justify-content:flex-end;gap:10px}.btn.danger{background:var(--red);color:#fff}@keyframes cf-fade{0%{opacity:0}}@keyframes cf-pop{0%{opacity:0;transform:translate(-50%,-48%) scale(.97)}}[data-sonner-toaster]{font-family:inherit}[data-sonner-toast]{border-radius:var(--radius-sm);font-size:13.5px}[data-sonner-toast] [data-title]{font-weight:600}.user-form{display:flex;flex-direction:column;gap:14px}.user-form .field{margin-bottom:0}.um-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--border)}.pref-group-h+.um-row{border-top:none}.um-check{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:13.5px;min-width:0}.um-check input{width:16px;height:16px;accent-color:var(--blue);flex-shrink:0}.um-sched{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.um-sched.is-off{opacity:.45}.badge svg{width:12px;height:12px}.qr-modal{max-width:380px;text-align:center}.qr-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:10px 0 4px;min-height:270px}.qr-img{width:240px;height:240px;border-radius:12px;background:#fff;padding:8px}.qr-hint{font-size:12.5px;color:var(--muted);line-height:1.5;margin:0;max-width:290px}.qr-wait{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text);font-size:15px}.qr-spinner{width:40px;height:40px;border:3px solid var(--border-strong);border-top-color:var(--blue);border-radius:50%;display:inline-block;animation:spin .8s linear infinite;margin-bottom:6px}.qr-ok{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:16px}.qr-ok-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--green-soft);color:var(--green)}.switch.ch-sw{width:36px;min-width:36px;height:20px;background:var(--red);border-color:var(--red)}.switch.ch-sw.on{background:var(--green);border-color:var(--green)}.switch.ch-sw .switch-knob{width:16px;height:16px}.switch.ch-sw.on .switch-knob{left:18px}.switch.ch-sw:disabled{opacity:.6}.conn-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:8px;white-space:nowrap}.conn-badge svg{width:13px;height:13px}.conn-badge.online{background:var(--green-soft);color:var(--green)}.conn-badge.qr{background:var(--yellow-soft);color:var(--yellow)}.conn-badge.offline{background:var(--red-soft);color:var(--red)}.conn-badge.restrito{background:var(--yellow-soft);color:var(--yellow)}.lim-chip{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:66px;padding:5px 12px;border-radius:999px;font-size:13px;color:var(--text);background:var(--card-hover);border:1px solid var(--border);cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.lim-chip:hover{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 14%,var(--card-hover));box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 16%,transparent)}.lim-chip:disabled{opacity:.55;cursor:default;box-shadow:none}.lim-chip.lim-static{cursor:default;background:transparent;border-color:transparent}.lim-chip.lim-static:hover{box-shadow:none}.lim-chip b{font-weight:700}.lim-unit{font-size:11.5px}.lim-inf,.lim-unit{color:var(--muted)}.lim-edit{display:inline-flex;align-items:center;justify-content:center;gap:5px}.lim-input{width:60px;height:30px;text-align:center;padding:0 6px;font-size:13px;color:var(--text);background:var(--bg);border:1px solid var(--blue);border-radius:8px;outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 18%,transparent);-moz-appearance:textfield}.lim-input::-webkit-inner-spin-button,.lim-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.lim-ok{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:8px;cursor:pointer;color:var(--green);border:1px solid var(--green);background:var(--green-soft);transition:background .15s ease,color .15s ease}.lim-ok:hover{background:var(--green);color:#fff}.content.mach-page{display:flex;flex-direction:column;height:100vh;overflow:hidden}.mach-table{flex:1 1;min-height:0;overflow-y:auto}.mach-table .ls-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2}.mach-page .pager{margin-top:14px}.cli-cell{display:flex;align-items:center;justify-content:flex-start;gap:14px}.count-badge{display:inline-flex;align-items:center;gap:7px;background:var(--blue-soft);border:1px solid var(--blue);color:#fff;font-weight:700;font-size:14px;padding:6px 14px;border-radius:10px;line-height:1;white-space:nowrap}.count-badge svg{color:var(--blue)}.camp-name{display:flex;align-items:center;gap:6px;max-width:420px}.camp-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.camp-name-ic{flex:0 0 auto;display:inline-flex;align-items:center}.camp-table .ls-table thead th,.cli-table .ls-table thead th,.users-table .ls-table thead th{background:var(--blue-soft);color:var(--text);font-size:12px}.cli-table .ls-table tbody td{font-size:15px}.cli-table .ls-table tbody tr:last-child td{border-bottom:1px solid var(--border)}.cli-av{width:44px;height:44px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border);color:var(--muted);overflow:hidden}.cli-av img{width:100%;height:100%;object-fit:cover;display:block}.avatar-edit{display:flex;flex-direction:column;align-items:center;gap:12px;margin:6px 0 18px}.avatar-prev{width:96px;height:96px;border-radius:50%;padding:0;cursor:pointer;overflow:hidden;border:2px solid var(--border-strong);background:var(--bg);display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s}.avatar-prev:hover{border-color:var(--blue)}.avatar-prev img{width:100%;height:100%;object-fit:cover;display:block}.avatar-ph{font-size:34px;font-weight:700;color:var(--muted)}.avatar-btns{display:flex;gap:8px}@media (max-width:1600px){.content{padding:24px 22px}.ls-table{font-size:12.5px}.ls-table thead th{padding:10px 11px;font-size:10.5px}.ls-table tbody td{padding:10px 11px}.cli-table .ls-table tbody td{font-size:13.5px}.col-md-hide{display:none!important}.metric-grid,.stats-row{grid-template-columns:repeat(3,1fr)}}@media (max-width:1280px){.content{padding:20px 16px}.col-sm-hide{display:none!important}.metric-grid,.stats-row{grid-template-columns:repeat(2,1fr)}}