:root{--bg:#f6f7f9;--surface:#ffffff;--surface-2:#f0f2f5;--border:#e2e5ea;--text:#16181d;--muted:#646b78;--accent:#1f6feb;--accent-text:#ffffff;--success:#1a7f37;--warning:#9a6700;--danger:#cf222e;--bubble-out:#1f6feb;--bubble-in:#e9ebef;--radius:10px;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0e1116;--surface:#161b22;--surface-2:#1d232c;--border:#2d333b;--text:#e6e8eb;--muted:#9198a1;--accent:#4493f8;--accent-text:#0e1116;--success:#3fb950;--warning:#d29922;--danger:#f85149;--bubble-out:#2f6fd6;--bubble-in:#262c36;color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--text);font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:22px;margin:0 0 4px}h2{font-size:16px}h2,p{margin:0 0 12px}.muted{color:var(--muted)}.small{font-size:12px}.shell{display:flex;min-height:100vh}.sidebar{width:210px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:20px 12px;display:flex;flex-direction:column;gap:2px}.brand{font-weight:700;font-size:16px;padding:0 10px 18px}.nav-link{display:flex;justify-content:space-between;padding:8px 10px;border-radius:8px;color:var(--text)}.nav-link:hover{background:var(--surface-2);text-decoration:none}.main,.nav-spacer{flex:1 1}.main{min-width:0;padding:28px 32px 60px;max-width:1150px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:16px}.grid{display:grid;grid-gap:16px;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.stat .num{font-size:24px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .label{color:var(--muted);font-size:12px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:600}.table-wrap{overflow-x:auto}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}label{display:block;font-weight:600;margin-bottom:4px;font-size:13px}.field{margin-bottom:14px}.hint{font-weight:400;color:var(--muted);font-size:12px;margin-top:4px}input[type=datetime-local],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=text],select,textarea{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}textarea{min-height:130px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.check{display:flex;gap:8px;align-items:flex-start;font-weight:400}.check input{margin-top:3px}.row{display:flex;gap:10px;flex-wrap:wrap}.btn,.row{align-items:center}.btn{display:inline-flex;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-primary:hover{background:var(--accent);filter:brightness(1.08)}.btn-danger{color:var(--danger)}.btn-sm{padding:4px 10px;font-size:12px}.chip{padding:2px 8px;border-radius:999px;border:1px solid var(--border);cursor:pointer;color:var(--text)}.badge,.chip{display:inline-block;font-size:12px;background:var(--surface-2)}.badge{padding:1px 8px;border-radius:999px;font-weight:600}.badge.ok{color:var(--success)}.badge.warn{color:var(--warning)}.badge.bad{color:var(--danger)}.badge.info{color:var(--accent)}.alert{padding:10px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);margin-bottom:14px}.alert.warn{border-color:var(--warning)}.alert.bad{border-color:var(--danger)}.alert.ok{border-color:var(--success)}.progress{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--accent)}.phone{width:300px;max-width:100%;border:1px solid var(--border);border-radius:28px;padding:16px 12px;background:var(--surface);min-height:260px}.bubble{max-width:85%;padding:8px 12px;border-radius:16px;white-space:pre-wrap;word-break:break-word;margin-bottom:6px}.bubble.out{margin-left:auto;background:var(--bubble-out);color:#fff;border-bottom-right-radius:4px}.bubble.in{background:var(--bubble-in);border-bottom-left-radius:4px}.bubble-media{width:100%;border-radius:12px;margin-bottom:4px;display:block}.thread{display:flex;flex-direction:column}.meta{font-size:11px;color:var(--muted);margin:-2px 4px 8px}.meta.out{text-align:right}.inbox{display:grid;grid-template-columns:280px 1fr;grid-gap:16px;gap:16px}.inbox-list a{display:block;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text)}.inbox-list a.active,.inbox-list a:hover{background:var(--surface-2);text-decoration:none}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:14px;gap:14px}.video-card .ph,.video-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:var(--surface-2);display:block}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:16px}.login-wrap .card{width:360px;max-width:100%}@media (max-width:760px){.shell{flex-direction:column}.sidebar{width:100%;flex-direction:row;flex-wrap:wrap;padding:10px 12px;border-right:none;border-bottom:1px solid var(--border)}.brand{padding:8px 10px;width:100%}.nav-spacer{display:none}.main{padding:18px 16px 48px}.inbox{grid-template-columns:1fr}}.campaign-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start}@media (max-width:1000px){.campaign-grid{grid-template-columns:1fr}}