:root{
  --bg:#f4f7fb;--panel:#fff;--ink:#172033;--muted:#697487;--line:#dce4ee;
  --nav:#0d1b2a;--nav2:#14283e;--accent:#168761;--accent2:#0f6d4e;
  --danger:#c83f3f;--warn:#c98617;--blue:#2f6fd0;--shadow:0 10px 32px rgba(22,32,50,.08);
  --radius:16px
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}
button,input,select,textarea{font:inherit}.hidden{display:none!important}button{cursor:pointer}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.screen{min-height:100vh;display:grid;place-items:center;padding:24px}.setup-card{max-width:640px;padding:34px;text-align:center}.setup-logo{width:95px}.setup-card code{background:#eef2f7;padding:2px 5px;border-radius:5px}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.12fr .88fr;background:linear-gradient(135deg,#091725,#122d44 60%,#173b51)}
.login-brand{padding:6vw;display:flex;flex-direction:column;justify-content:center;color:#fff;position:relative}.brand-line{display:flex;align-items:center;gap:14px;font-size:27px;font-weight:900}.brand-line img{width:58px;height:58px;object-fit:contain}
.login-brand h1{font-size:clamp(42px,5.7vw,78px);line-height:.98;margin:30px 0 18px;letter-spacing:-.04em}.login-brand>p{max-width:720px;color:#d1dbe6;font-size:18px;line-height:1.55}
.pill-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.pill-row span{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 11px;font-size:12px;color:#e7eff6}
.login-copyright{position:absolute;left:6vw;right:4vw;bottom:22px;font-size:10px;color:#9fafbe;line-height:1.45;max-width:900px}
.login-panel{display:grid;place-items:center;padding:38px}.login-card{width:min(450px,100%);padding:32px}.login-logo{width:82px;height:82px;object-fit:contain;display:block;margin-bottom:15px}
.login-card h2{margin:0 0 7px;font-size:27px}.login-card>p{margin:0 0 20px;color:var(--muted)}label{display:block;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#536071;margin:13px 0 6px}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#94b7aa;box-shadow:0 0 0 3px rgba(22,135,97,.08)}
textarea{min-height:92px;resize:vertical}.btn{border:1px solid var(--line);border-radius:10px;padding:10px 13px;font-weight:800;background:#fff;color:var(--ink)}.btn.primary{border-color:var(--accent);background:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent2)}.btn.danger{background:#fff1f1;border-color:#ffd0d0;color:var(--danger)}.btn.ghost{background:#fff}.full{width:100%;margin-top:18px}
.login-note,.muted,.small{font-size:12px;color:var(--muted)}.login-note{margin-top:16px}.message{font-size:12px;margin-top:10px;color:var(--danger)}.notice{background:#fff7df;border:1px solid #efd895;color:#735412;border-radius:11px;padding:11px 13px;font-size:12px}
.app{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr) 285px}.sidebar{height:100vh;position:sticky;top:0;background:var(--nav);color:#fff;padding:18px 14px}.side-brand{display:flex;gap:11px;align-items:center;padding:5px 7px 18px}.side-brand img{width:46px;height:46px;object-fit:contain}.side-brand strong{display:block;font-size:17px}.side-brand small{display:block;color:#95a7b8;font-size:10px;margin-top:2px}
#nav{display:flex;flex-direction:column;gap:4px}#nav button{border:0;background:transparent;color:#b8c7d5;border-radius:9px;padding:10px 11px;text-align:left;font-weight:800;display:flex;gap:10px;align-items:center}#nav button:hover,#nav button.active{background:var(--nav2);color:#fff}.sidebar-foot{position:absolute;left:16px;right:16px;bottom:17px;border-top:1px solid rgba(255,255,255,.1);padding-top:12px;font-size:10px;line-height:1.55;color:#91a2b3}
.main{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px;position:sticky;top:0;z-index:20}.top-search{position:relative;width:min(520px,43vw)}.top-search span{position:absolute;left:12px;top:10px;color:var(--muted)}.top-search input{padding-left:36px;background:#f8fafc}.top-actions{display:flex;align-items:center;gap:8px}.userbox{display:flex;align-items:center;gap:9px;margin-left:5px}.userbox>div:first-child{text-align:right}.userbox small{display:block;color:var(--muted);font-size:10px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e5f4ee;color:#126248;font-weight:900}
.workspace{padding:22px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px}.page-head h2{margin:0;font-size:27px}.page-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}
.grid{display:grid;gap:14px}.kpis{grid-template-columns:repeat(4,1fr)}.kpi{padding:17px}.kpi .label{text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:.05em;color:var(--muted)}.kpi .value{font-size:30px;font-weight:950;margin:5px 0}.kpi .delta{font-size:11px;color:var(--accent2);font-weight:800}.two{grid-template-columns:1.25fr .9fr;margin-top:14px}.panel{padding:17px}.panel h3{margin:0 0 13px;font-size:16px}
.role-banner{border-radius:13px;padding:13px 15px;margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.role-banner.manager{background:#edf3ff;border:1px solid #ccdafe}.role-banner.agent{background:#eaf8f2;border:1px solid #bfe4d6}.role-banner strong{font-size:14px}.badge{display:inline-flex;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;background:#eaf2ff;color:#315f9b}.badge.hot{background:#fff0eb;color:#ae462c}.badge.warm{background:#fff7dc;color:#8d6214}.badge.green{background:#e9f7f1;color:#177657}.badge.gray{background:#eef1f4;color:#5f6771}
.feed-item{border-left:3px solid var(--accent);padding:4px 0 13px 13px;margin-bottom:13px}.feed-title{font-weight:900;font-size:13px}.meta{font-size:10px;color:var(--muted);margin-top:3px}.feed-notes{font-size:13px;line-height:1.45;margin:7px 0}.owner{display:inline-flex;border-radius:999px;padding:4px 7px;background:#eef3f8;color:#536071;font-size:9px;font-weight:900}.owner.mine{background:#e9f7f1;color:#187658}
.comment-box{margin-top:9px;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:9px}.comment-item{padding:6px 0;border-bottom:1px solid var(--line);font-size:11px}.comment-item:last-child{border-bottom:0}.comment-author{font-weight:900}.comment-form{display:flex;gap:6px;margin-top:7px}.comment-form input{padding:8px 9px}.comment-form .btn{padding:8px 9px;font-size:11px}
.task{display:flex;gap:9px;align-items:flex-start;border-bottom:1px solid var(--line);padding:10px 0}.task:last-child{border-bottom:0}.dot{width:9px;height:9px;border-radius:50%;background:var(--danger);margin-top:4px;flex:none}.dot.warn{background:var(--warn)}.dot.ok{background:var(--accent)}.task-main{flex:1}.task-main strong{font-size:12px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--line);padding:11px 10px;white-space:nowrap;font-size:12px}th{text-transform:uppercase;font-size:9px;letter-spacing:.06em;color:var(--muted)}.link{font-weight:900;color:var(--blue);cursor:pointer}.action-row{display:flex;gap:6px}
.inline-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.mini-tag{padding:3px 6px;border-radius:999px;background:#eef3f8;color:#4e5c6c;font-size:9px;font-weight:900}
.pipeline{display:grid;grid-template-columns:repeat(7,minmax(205px,1fr));gap:10px;overflow:auto;padding-bottom:8px}.stage{background:#eef2f7;border-radius:13px;padding:10px;min-height:420px}.stage-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.stage-head h4{margin:0;text-transform:uppercase;font-size:10px}.count{background:#fff;border-radius:999px;padding:3px 6px;font-size:9px}.deal{background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px;margin-bottom:8px}.deal strong{font-size:12px}.deal .money{font-weight:950;font-size:15px;margin-top:7px}.readonly{font-size:9px;color:var(--muted);background:#eef2f6;border-radius:7px;padding:5px 6px;margin-top:6px}
.hashtag-repo{height:100vh;position:sticky;top:0;background:#fff;border-left:1px solid var(--line);padding:15px 13px;overflow:auto}.tag-head{display:flex;justify-content:space-between;align-items:start;gap:8px}.tag-head h3{margin:0;font-size:16px}.tag-head p{margin:3px 0 10px;font-size:10px;color:var(--muted)}.tag-search{margin-bottom:10px}.tag-group{margin-bottom:14px}.tag-group-title{text-transform:uppercase;font-weight:950;letter-spacing:.07em;color:var(--muted);font-size:9px;margin-bottom:6px}.tag-list{display:flex;gap:5px;flex-wrap:wrap}.tag-chip{border:1px solid var(--line);background:#f8fafc;border-radius:999px;padding:6px 8px;font-size:9px;font-weight:900;color:#475768}.tag-chip.active,.tag-chip:hover{background:#e9f7f1;border-color:#a9d9c7;color:#176a4f}.tag-count{opacity:.6;margin-left:3px}.tag-filter{background:#e9f7f1;border:1px solid #bfe4d6;border-radius:9px;padding:8px;margin-bottom:10px;font-size:10px}
.modal-wrap{position:fixed;inset:0;background:rgba(4,11,18,.62);z-index:100;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:min(760px,97vw);max-height:92vh;overflow:auto;background:#fff;border-radius:17px;padding:20px;box-shadow:0 20px 70px rgba(0,0,0,.28)}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.modal-head h2{margin:0;font-size:22px}.modal-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:14px}.channels{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}.channel{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px;font-weight:900;font-size:11px}.channel.active{border-color:#87c6af;background:#edf8f4;color:#176a50}
.credential{background:#0f2031;color:#fff;border-radius:11px;padding:12px;font-size:12px;line-height:1.6;margin-top:10px}.credential code{background:rgba(255,255,255,.08);padding:2px 5px;border-radius:5px;color:#fff}.toast{position:fixed;right:18px;bottom:18px;z-index:200;background:#102233;color:#fff;border-radius:10px;padding:11px 14px;box-shadow:var(--shadow);font-size:12px}.mobile-record{display:none}
.empty{padding:22px;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:1250px){.app{grid-template-columns:210px minmax(0,1fr)}.hashtag-repo{display:none}}
@media(max-width:1000px){.kpis{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.top-search{width:34vw}}
@media(max-width:760px){
  .login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-panel{padding:16px}.sidebar{display:none}.app{display:block}.topbar{padding:0 10px}.top-search{width:44vw}.top-actions .userbox{display:none}.workspace{padding:12px}.kpis{grid-template-columns:1fr 1fr}.page-head{align-items:flex-start;flex-direction:column}.modal-grid{grid-template-columns:1fr}.channels{grid-template-columns:1fr 1fr}.mobile-record{display:block;position:fixed;right:17px;bottom:17px;width:56px;height:56px;border-radius:50%;border:0;background:var(--accent);color:#fff;font-size:28px;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:50}
}
