/* Existing base geometry, extracted from index.html. Theme tokens live in tokens.css. */
*{box-sizing:border-box}body{margin:0;font:14px Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{display:flex;min-height:100vh}.side{width:248px;background:#101827;color:#dbe4f5;padding:16px 12px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;padding:8px 10px 18px;border-bottom:1px solid #27334a}.brand img{width:42px;height:42px;object-fit:contain;border-radius:8px;background:#fff}.brand b{color:#fff;font-size:17px}.brand small{display:block;color:#8d99ae}.nav{padding-top:12px}.nav button{width:100%;background:transparent;color:#b9c5d9;border:0;padding:11px 12px;border-radius:10px;text-align:left;margin:2px 0}.nav button.active,.nav button:hover{background:#1d2b44;color:#fff}.badge{float:right;background:#ef4444;color:#fff;border-radius:99px;padding:2px 7px;font-size:11px}.sidebottom{margin-top:auto}.theme{display:flex;justify-content:space-between;padding:10px;border:1px solid #293750;border-radius:12px}.main{flex:1;min-width:0}.top{height:64px;background:#ffffffee;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:center;padding:0 22px;position:sticky;top:0;z-index:5}.search{flex:1;max-width:700px;background:#f1f4f9;border:1px solid var(--line);padding:11px 14px;border-radius:12px;outline:0}.pill{padding:9px 12px;border-radius:12px;background:#e9fbf2;color:#16744e}.content{padding:22px;max-width:1700px;margin:auto}.head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.head h1{margin:0 0 4px;font-size:28px}.sub{color:var(--muted)}.btn{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:10px 14px}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.danger{background:#fff5f5;color:#b71f2a;border-color:#f4c6c9}.grid{display:grid;gap:14px}.kpis{grid-template-columns:repeat(6,minmax(120px,1fr))}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.pad{padding:16px}.kpi .lab{font-size:12px;color:var(--muted)}.kpi .val{font-size:24px;font-weight:800;margin-top:7px}.dashboard{grid-template-columns:1.05fr 1.5fr .9fr;margin-top:14px}.task{display:flex;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.task:last-child{border:0}.grow{flex:1}.meta{color:var(--muted);font-size:12px;margin-top:3px}.bar{height:8px;background:#edf1f7;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:var(--blue)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.field{border:1px solid var(--line);background:#fff;padding:10px 12px;border-radius:10px;outline:0}.funnel{display:flex;gap:12px;overflow:auto}.stage{min-width:260px;background:#edf3fc;border-radius:14px;padding:10px;min-height:440px}.stage h3{font-size:14px;margin:4px 3px 10px;display:flex;justify-content:space-between}.lead{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin:8px 0;cursor:pointer}.lead:hover{box-shadow:0 5px 15px #1b2e5012}.tag{display:inline-block;background:var(--blue2);color:#215ac9;border-radius:8px;padding:4px 7px;font-size:11px;margin-top:8px}.red{color:var(--red)!important;font-weight:700}.green{color:var(--green)!important;font-weight:700}.cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.table th{font-size:12px;color:var(--muted)}.drawerWrap{position:fixed;inset:0;background:#07101e66;display:none;justify-content:flex-end;z-index:30}.drawerWrap.open{display:flex}.drawer{width:min(920px,96vw);height:100%;background:var(--panel);overflow:auto;padding:22px;box-shadow:-15px 0 40px #0003}.close{float:right;border:0;background:#eef2f7;border-radius:50%;width:34px;height:34px}.profile{display:flex;gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}.avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#dce8ff;color:#1758cf;font-weight:800}.profile h2{margin:0}.actions{margin-left:auto;display:flex;gap:8px}.pipeline{display:flex;gap:5px;overflow:auto;margin:14px 0}.pipe{padding:7px 9px;background:#eef2f7;border-radius:9px;white-space:nowrap;font-size:11px}.pipe.cur{background:#dceaff;color:#0d56d7;font-weight:700}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin:12px 0}.tabs button{border:0;background:transparent;padding:10px;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{color:var(--blue);border-color:var(--blue)}.detail{display:grid;grid-template-columns:1fr 1fr;gap:12px}.box{border:1px solid var(--line);border-radius:14px;padding:14px}.box h3{margin:0 0 12px}.next{background:#fff1f1;border:1px solid #ffd0d0;border-radius:12px;padding:14px}.ai{background:#f2eeff;border:1px solid #ddd4ff;border-radius:12px;padding:14px}.timeline .event{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.time{width:48px;color:var(--muted);font-size:12px}.modalForm{display:grid;gap:10px}.modalForm label{display:grid;gap:5px}.knowledge{grid-template-columns:repeat(5,1fr)}.article{display:grid;grid-template-columns:260px 1fr 260px;gap:14px}.item{padding:12px;border-bottom:1px solid var(--line);cursor:pointer}.item.active{background:var(--blue2);border-radius:10px}.settings{width:min(540px,96vw)}.stageRow{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px;margin:7px 0}.stageRow input{flex:1;border:0;outline:0}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eef4ff,#f7f9fc)}.loginBox{width:min(430px,92vw);background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--shadow)}.loginLogo{display:flex;align-items:center;gap:12px;margin-bottom:20px}.loginLogo img{width:48px}.notice{padding:12px;border-radius:12px;background:#fff8df;border:1px solid #f2dd98}.toast{position:fixed;right:20px;bottom:20px;background:#111827;color:#fff;padding:12px 16px;border-radius:12px;display:none;z-index:60}.toast.show{display:block}.dark .top{background:#0e1727ee}.dark .field,.dark .btn,.dark .lead,.dark .box{background:#111b2c;color:var(--text)}.dark .stage{background:#111b2c}
/* Desktop UI freeze / design-system guardrails */
.ui-section{margin-top:18px}.navGroup{margin-top:12px}.navGroupTitle{padding:7px 12px;color:#71809a;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.nav button{transition:background .15s ease,color .15s ease,transform .15s ease}.nav button:active{transform:translateY(1px)}.navMoreToggle{display:flex!important;align-items:center;justify-content:space-between;color:#9eabc0!important}.navMoreToggle .chev{transition:transform .15s ease}.navMoreToggle.open .chev{transform:rotate(180deg)}.navMore{display:none}.navMore.open{display:block}.navMore button{font-size:13px;padding-left:18px}.btn{min-height:40px;font-weight:650;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.btn:hover{box-shadow:0 3px 12px #1b2e5014}.btn:active{transform:translateY(1px)}.btn.small{min-height:34px;padding:7px 11px;font-size:13px}.field:focus,.search:focus{border-color:#8eb5ff;box-shadow:0 0 0 3px #1769ff14}.card,.box,.lead{transition:box-shadow .15s ease,border-color .15s ease}.table tr:hover td{background:#f8faff}.stage{border:1px solid #dfe8f5}.stage h3{position:sticky;top:0;background:#edf3fc;padding:7px 3px;z-index:1}.lead{box-shadow:0 1px 2px #1b2e5008}.lead:hover{border-color:#b8cdf7}.content{min-height:calc(100vh - 64px)}
@media(max-width:1100px){.side{width:220px}.kpis{grid-template-columns:repeat(3,1fr)}.dashboard,.article{grid-template-columns:1fr}.knowledge{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.side{width:72px}.brand div,.nav span,.theme span{display:none}.content{padding:14px}.kpis{grid-template-columns:repeat(2,1fr)}.cols,.detail{grid-template-columns:1fr}.actions{flex-wrap:wrap}.top{padding:0 10px}.pill{display:none}}
