:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:#14243b;background:#f6f8fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{outline:0}a{text-decoration:none}.hidden{display:none!important}.mint{color:#3adbb4}.auth-screen{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.auth-panel{padding:65px clamp(25px,9vw,130px);display:flex;flex-direction:column;max-width:900px;width:100%;margin:auto}.brand{display:flex;align-items:center;gap:11px;color:#fff}.brand strong{font-size:24px;letter-spacing:-1.2px;display:block;line-height:1}.brand small{font-size:9px;letter-spacing:3px;color:#8aa0b8}.brand-icon{height:43px;width:43px;border-radius:13px;background:linear-gradient(145deg,#56e4bf,#14aa91);display:grid;place-items:center;color:#0e2133;font-size:25px;font-weight:900;letter-spacing:-4px}.brand-icon span{font-size:12px;position:relative;top:-8px;left:1px}.brand-auth{color:#13243a;margin-bottom:75px}.brand-auth small{color:#64758a}.eyebrow{font-size:11px;letter-spacing:2px;color:#1ca888;font-weight:800}.auth-intro h1{font-size:clamp(31px,3.4vw,48px);letter-spacing:-2px;line-height:1.12;margin:12px 0}.auth-intro p{font-size:15px;line-height:1.65;color:#748197;max-width:420px;margin-bottom:32px}.form-stack{display:grid;gap:21px}.form-stack label,.form-grid label{font-size:12px;font-weight:750;color:#384b63;display:flex;flex-direction:column;gap:8px}.form-stack input,.form-grid input,.form-grid select,.form-grid textarea,.assistant-textarea{background:#fff;border:1px solid #e0e6ef;border-radius:10px;padding:12px 13px;font-size:14px;color:#263955;min-height:45px;transition:.2s}.form-stack input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.assistant-textarea:focus{border-color:#32bfa1;box-shadow:0 0 0 3px #1bbd9d20}.primary{background:#122d47;color:#fff;border:0;padding:13px 18px;border-radius:10px;font-size:13px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:.2s}.primary:hover{background:#1b4966}.primary span{font-size:20px}.full{width:100%}.muted-btn{background:#eef3f7;color:#36506c;border:1px solid #e3e9f2;padding:11px 14px;border-radius:10px;font-size:12px;font-weight:700}.muted-btn:hover{background:#e3edf2}.secure-foot{font-size:11px;color:#8696aa;margin-top:45px}.auth-art{background:radial-gradient(circle at 30% 20%,#193b54,#0b1928 65%);position:relative;display:grid;place-items:center;overflow:hidden;color:white;padding:30px}.art-glow{height:460px;width:460px;border-radius:50%;background:#19a88b33;filter:blur(80px);position:absolute;transform:translate(-40%,10%)}.art-card{position:relative;border:1px solid #6f94b22d;border-radius:24px;max-width:420px;background:#172d3acc;padding:35px 40px;box-shadow:0 25px 120px #060e1580;backdrop-filter:blur(12px)}.art-label{font-size:11px;letter-spacing:2px;color:#6fe1ca}.art-card h2{font-size:34px;letter-spacing:-1.7px;line-height:1.1;margin:25px 0 32px}.art-bars{height:150px;display:flex;align-items:end;gap:15px;border-bottom:1px solid #294b5b;padding:0 8px}.art-bars i{display:block;background:linear-gradient(0deg,#157f72,#5cf2c5);border-radius:7px 7px 0 0;flex:1;opacity:.83}.art-card p{font-size:12px;color:#91b0bc;margin-top:21px}.app-shell{display:flex;min-height:100vh}.sidebar{width:244px;background:#101d2e;color:#f7fbff;min-height:100vh;display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;padding:28px 15px 21px;z-index:9;box-shadow:9px 0 32px #2034470a}.sidebar .brand{padding:0 15px 43px}.sidebar .brand strong{font-size:22px}.menu-group{font-size:9px;letter-spacing:1.6px;color:#738ba4;font-weight:800;padding:0 15px 14px}.nav-list{display:grid;gap:6px}.nav-link{border:0;background:transparent;color:#9aadc1;text-align:left;border-radius:9px;font-size:13px;padding:14px;display:flex;align-items:center;gap:13px;font-weight:600}.nav-link:hover{background:#1b3045;color:white}.nav-link.active{background:#193849;color:#65e2c4}.nav-emoji{font-size:20px;width:20px;text-align:center;line-height:1}.nav-arrow{margin-left:auto;color:#73919d;font-size:19px}.sidebar-bottom{margin-top:auto}.side-note{background:#20344a;border:1px solid #315166;border-radius:11px;padding:16px;display:flex;flex-direction:column;gap:7px;color:#d5e5f1}.note-orb{width:17px;height:17px;background:#4ee0b8;border-radius:50%;box-shadow:0 0 13px #26caaf66}.side-note strong{font-size:12px}.side-note small{font-size:11px;color:#92a6b9;line-height:1.5}.logout{margin-top:19px;color:#91a9bd;background:transparent;border:0;padding:12px 17px;font-weight:650;font-size:13px;text-align:left;width:100%}.logout:hover{color:#fff}.main-wrap{margin-left:244px;width:calc(100% - 244px);min-height:100vh}.topbar{height:78px;background:#fff;border-bottom:1px solid #eaf0f5;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,3vw,48px);color:#5e718a;font-size:12px}.top-right,.top-left{display:flex;align-items:center;gap:10px}.top-right{gap:11px}.online-dot{width:7px;height:7px;border-radius:50%;background:#42caa6}.connection-label{font-size:11px;color:#78889b}.top-divider{width:1px;height:28px;background:#e4ebf3;margin:0 9px}.avatar{height:33px;width:33px;border-radius:10px;background:#dcf8ed;color:#14886f;display:grid;place-items:center;font-size:14px;font-weight:800}.user-intro{display:grid;gap:3px}.user-intro strong{font-size:12px;color:#1e2f43}.user-intro small{font-size:10px;color:#8392a3}.content{padding:30px clamp(22px,3.1vw,52px) 55px;max-width:1700px;margin:auto}.page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:23px}.page-kicker{font-size:10px;font-weight:800;color:#14a88c;letter-spacing:1.8px;text-transform:uppercase}.page-head h1{font-size:29px;letter-spacing:-1.15px;margin:7px 0 8px;color:#152842}.page-head p{margin:0;color:#8593a8;font-size:13px;line-height:1.5}.head-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.month-select{background:#fff;border:1px solid #e0e9f1;border-radius:10px;padding:11px 12px;color:#3b506a;min-width:153px;font-size:12px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:20px}.stat-card{background:#fff;border:1px solid #e8edf4;border-radius:15px;padding:23px 22px;min-height:142px;box-shadow:0 7px 35px #1e3d5210}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#8493a7;font-size:11px;font-weight:700}.stat-icon{height:34px;width:34px;background:#effaf6;color:#13a887;display:grid;place-items:center;border-radius:10px;font-size:20px}.stat-value{font-size:clamp(22px,2.4vw,34px);font-weight:800;letter-spacing:-1.2px;margin-top:16px;color:#142b47}.stat-detail{color:#95a3b6;font-size:11px;margin-top:7px}.stat-card.accent{background:#13374b;border-color:#13374b}.stat-card.accent .stat-top,.stat-card.accent .stat-detail{color:#a3c8c7}.stat-card.accent .stat-value{color:#f5fffc}.stat-card.accent .stat-icon{background:#2e5c64;color:#6ef3c6}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:18px}.panel{background:#fff;border:1px solid #e8edf4;border-radius:15px;padding:24px;box-shadow:0 7px 30px #2c45660b;min-width:0}.panel h2{font-size:16px;color:#1b304c;letter-spacing:-.3px;margin:0 0 10px}.panel p{font-size:12px;color:#8b9aab;line-height:1.6}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.panel-heading h2{margin:0}.mini-badge{font-size:10px;color:#168f77;background:#e7f8f0;padding:7px 10px;border-radius:20px;font-weight:750}.city-list{display:grid;gap:21px;margin-top:22px}.city-info{display:flex;justify-content:space-between;font-size:12px;margin-bottom:10px;color:#3e536c}.city-info strong{color:#173148}.bar-track{height:9px;border-radius:9px;background:#edf2f6;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#2cae99,#60dfb8);border-radius:9px}.notice-list{display:grid;gap:12px}.notice{padding:16px;background:#f4f8fb;border-radius:10px;font-size:12px;color:#4f657c;line-height:1.6}.notice strong{color:#1c334e}.notice.alert{background:#fff4e8;color:#9d6528}.pill{font-size:10px;font-weight:750;border-radius:999px;padding:6px 10px;display:inline-flex;align-items:center;white-space:nowrap}.pill.pending{background:#fff2df;color:#a66c19}.pill.approved{background:#e4f8ee;color:#0f9165}.pill.rejected{background:#ffe9ec;color:#bd4058}.table-wrap{overflow:auto;border:1px solid #e8edf4;border-radius:12px}.data-table{border-collapse:collapse;width:100%;min-width:850px}.data-table th{font-size:10px;letter-spacing:.5px;color:#8293a7;text-align:left;text-transform:uppercase;background:#f9fbfe;padding:15px 16px;white-space:nowrap;border-bottom:1px solid #ebf0f6}.data-table td{padding:14px 16px;color:#3a4f65;font-size:12px;border-bottom:1px solid #f0f3f7;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table .money{font-weight:800;color:#17334b;white-space:nowrap}.data-table .sub{display:block;font-size:10px;color:#9aabb9;margin-top:4px}.action-pair{display:flex;gap:6px}.tiny{border:1px solid #d8e6ea;border-radius:7px;background:#eff9f4;color:#168f75;font-size:11px;font-weight:750;padding:7px 9px}.tiny.reject{background:#fff2f2;color:#c43b55;border-color:#f8d8de}.tiny:hover{filter:brightness(.96)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-grid .wide{grid-column:1/-1}.form-grid textarea{resize:vertical;min-height:74px}.form-actions{display:flex;justify-content:flex-end;grid-column:1/-1;gap:10px}.two-col{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);gap:20px;align-items:start}.section-title{margin:0 0 16px;font-size:15px;color:#18324c}.hint{font-size:11px!important;color:#8c9bb0!important}.table-empty{padding:60px 20px;color:#8a9cac;text-align:center;font-size:13px}.ai-hero{background:linear-gradient(120deg,#112c45,#134958);border-radius:15px;color:#fff;padding:30px;display:flex;gap:20px;align-items:center;margin-bottom:19px}.ai-symbol{width:63px;height:63px;border-radius:17px;background:#275a67;color:#6bf3c8;display:grid;place-items:center;font-size:38px}.ai-hero h2{margin:0 0 7px;font-size:22px}.ai-hero p{color:#a9c9ce;font-size:13px;margin:0}.assistant-textarea{width:100%;min-height:112px;resize:vertical}.draft-card{padding:17px;border:1px solid #ddeaf1;border-radius:12px;background:#f9fcfd;display:grid;gap:10px;margin-top:10px}.draft-card strong{font-size:13px}.draft-card small{font-size:11px;color:#75889d}.draft-title{display:flex;justify-content:space-between;align-items:center}.toast{position:fixed;bottom:25px;right:25px;z-index:99;background:#142d42;border-radius:11px;color:#f3ffff;box-shadow:0 13px 50px #0d1c3350;padding:16px 20px;font-size:13px;max-width:min(450px,90vw)}.toast.bad{background:#7a2737}.error-message{font-size:12px;color:#b52e46;min-height:15px}.disclaimer{font-size:11px;color:#8495a8;line-height:1.7;margin-top:14px}.icon-btn{border:0;background:transparent;font-size:22px}.mobile-only{display:none}.loading-state{margin-top:100px;text-align:center;color:#8da1b6}.soft-note{background:#f1f8f8;border:1px solid #d6ede9;padding:17px;border-radius:11px;font-size:12px;color:#456878;line-height:1.7}.report-download{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;border:1px solid #dfebeb;border-radius:14px;padding:21px;background:#f8fdfb}.report-icon{font-size:34px}.report-download strong{color:#1d3b47}.report-download small{display:block;color:#8596a2;font-size:11px;margin-top:6px}.team-list{display:grid;gap:11px}.team-member{display:flex;align-items:center;gap:13px;padding:13px;border:1px solid #edf1f6;border-radius:11px}.team-member .avatar{flex-shrink:0}.team-member-info{flex:1;min-width:0}.team-member-info strong{font-size:12px;color:#20354b}.team-member-info small{font-size:11px;color:#8698a8;display:block;margin-top:4px}.team-member button{font-size:11px}.metric-pair{display:flex;gap:10px;margin-top:18px}.metric-pair span{padding:9px 12px;border-radius:8px;background:#eff5f7;font-size:11px;font-weight:700;color:#517082}.ai-response{background:#f7fafc;padding:20px;border-radius:12px;color:#3d566b;font-size:13px;line-height:1.8;white-space:pre-wrap}.empty-inline{color:#93a2b3;font-size:13px}.role-warning{font-size:12px;background:#fef8eb;color:#90672d;padding:13px;border-radius:10px}
@media(max-width:1200px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.auth-panel{padding:40px 50px}}@media(max-width:800px){.auth-screen{grid-template-columns:1fr}.auth-art{display:none}.auth-panel{padding:35px clamp(20px,8vw,65px);max-width:530px}.brand-auth{margin-bottom:55px}.sidebar{transform:translateX(-110%);transition:transform .2s ease}.sidebar.open{transform:translateX(0);box-shadow:0 0 0 100vmax #0c1b2b70}.main-wrap{margin-left:0;width:100%}.mobile-only{display:block}.content{padding:25px 18px 60px}.topbar{padding:0 18px;height:65px}.page-head{align-items:start;flex-direction:column}.connection-label,.top-divider{display:none}.top-right{gap:8px}.user-intro{display:none}.stat-grid{gap:10px}.stat-card{padding:17px;min-height:125px}.stat-value{font-size:26px}.stat-icon{height:26px;width:26px;font-size:16px}.dashboard-grid{gap:14px}.panel{padding:18px}.report-download{grid-template-columns:auto 1fr}.report-download button{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:1}.ai-hero{padding:20px}.ai-symbol{height:50px;width:50px}.ai-hero h2{font-size:19px}}
/* ControlIA 1.1 conversational assistant */
.ai-lower{display:grid;gap:18px;margin-top:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ai-lower:not(:has(.ai-drafts)){grid-template-columns:minmax(0,1fr)}
.ai-history{display:flex;flex-direction:column;gap:13px;max-height:480px;overflow:auto;padding:4px 2px 14px}
.chat-line{max-width:94%;padding:13px 15px;border-radius:14px;background:#f1f5f9;border:1px solid #e4ebf2;overflow-wrap:anywhere}
.chat-line.from-user{align-self:flex-end;background:#dff5eb;border-color:#bbdfd0}
.chat-line.from-bot{align-self:flex-start}
.chat-role{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:#637b8b;margin-bottom:6px}
.chat-message{white-space:pre-line;line-height:1.6;font-size:14px;color:#20354a}
.chat-commentary{padding-top:10px;margin-top:10px;border-top:1px solid #ccd8e3;color:#35556c;line-height:1.55;white-space:pre-line;font-size:13px}
@media(max-width:940px){.ai-lower{grid-template-columns:1fr}}
