:root{--bg:#f3f7f5;--surface:#fff;--ink:#142e26;--muted:#71827c;--line:#dce7e2;--g0:#041f17;--g1:#063828;--g2:#07583d;--green:#08a66c;--green2:#08754d;--mint:#e2f7ee;--blue:#3b82f6;--cyan:#19a6bb;--purple:#8b5cf6;--orange:#f59e0b;--red:#dc5a5a;--shadow:0 12px 40px rgba(6,56,40,.07);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}a{text-decoration:none;color:inherit}
.boot-screen{min-height:100vh;display:grid;place-items:center;align-content:center;gap:13px;background:radial-gradient(circle at 70% 18%,#0d8058,transparent 28%),linear-gradient(145deg,#031d14,#07513a);color:#fff}.boot-screen span{opacity:.72}.brand-mark{width:80px;height:80px;border-radius:25px;display:grid;place-items:center;background:#fff;color:var(--green2);font-weight:900;font-size:22px;box-shadow:0 20px 55px rgba(0,0,0,.24)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#041e16}.login-hero{padding:7vw;color:#fff;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 12% 12%,rgba(22,194,126,.3),transparent 32%),linear-gradient(145deg,#031d14,#07513a)}.login-eyebrow{font-size:10px;letter-spacing:.12em;color:#64efb2;font-weight:800}.login-hero h1{font-size:clamp(48px,6vw,82px);line-height:.94;margin:24px 0 18px;letter-spacing:-.06em}.login-hero h1 span{color:#45e6a8}.login-hero p{max-width:650px;color:#c5ddd4;font-size:16px;line-height:1.7}.login-features{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:650px;margin-top:25px}.login-features div{padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(255,255,255,.04)}.login-features b,.login-features small{display:block}.login-features b{font-size:11px}.login-features small{font-size:8px;color:#9bc4b5;margin-top:4px}.login-panel{background:#f7faf8;display:grid;place-items:center;padding:32px}.login-card{width:min(470px,100%);background:#fff;border:1px solid var(--line);border-radius:29px;padding:40px;box-shadow:0 30px 90px rgba(4,52,37,.15)}.login-logo{display:flex;align-items:center;gap:11px;margin-bottom:28px}.login-logo .brand-mark{width:48px;height:48px;border-radius:14px;font-size:13px;background:linear-gradient(145deg,#0a8258,#06b876);color:#fff;box-shadow:none}.login-logo b,.login-logo small{display:block}.login-logo small{font-size:9px;color:var(--muted);margin-top:3px}.login-card h2{margin:0 0 8px;font-size:27px}.sub{color:var(--muted);margin:0 0 24px;line-height:1.5}.field{display:grid;gap:7px;margin:13px 0}.field label{font-size:11px;font-weight:800;color:#3c574e}.input,.select,.textarea{width:100%;border:1px solid #cfddd7;border-radius:11px;padding:11px 12px;background:#fff;color:var(--ink);outline:none;min-height:42px}.input:focus,.select:focus,.textarea:focus{border-color:#3db389;box-shadow:0 0 0 3px rgba(8,117,77,.08)}
.btn{border:0;border-radius:11px;padding:10px 14px;cursor:pointer;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.18s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#079b66,#08be79);color:#fff;box-shadow:0 10px 24px rgba(8,166,108,.18)}.btn-ghost{background:#eef5f2;color:#17543f}.btn-light{background:#fff;color:#07583d}.btn-danger{background:#fff0f0;color:var(--red)}.btn-sm{padding:8px 10px;font-size:11px}.login-demo{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.login-demo .btn{width:100%}.login-back{display:block;text-align:center;font-size:10px;color:#628077;margin-top:16px}
.app{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#073d2c 0%,#041f17 100%);color:#fff;padding:18px 13px;overflow:auto}.brand{padding:6px 10px 19px;display:flex;gap:10px;align-items:center;border-bottom:1px solid rgba(255,255,255,.07)}.brand-logo{width:43px;height:43px;background:linear-gradient(145deg,#fff,#ddf7ec);border-radius:13px;color:var(--green2);display:grid;place-items:center;font-weight:900;font-size:12px}.brand strong{display:block;font-size:13px}.brand small{color:#7fe2b8;font-size:8px}.nav-section{font-size:8px;letter-spacing:.12em;color:#6ca18d;text-transform:uppercase;padding:19px 11px 7px}.nav-item{width:100%;border:0;background:transparent;color:#c5ddd4;text-align:left;padding:9px 11px;border-radius:9px;cursor:pointer;display:flex;gap:9px;align-items:center;margin:2px 0;font-size:11px;font-weight:650}.nav-item .ico{width:22px;height:22px;border-radius:7px;background:rgba(255,255,255,.04);display:grid;place-items:center;font-size:10px}.nav-item:hover,.nav-item.active{background:linear-gradient(90deg,#099962,#0bb174);color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.14)}.nav-item.active .ico{background:rgba(255,255,255,.16)}.sidebar-footer{margin-top:22px;padding:13px;background:rgba(255,255,255,.045);border-radius:12px;font-size:9px;color:#87b4a3}.sidebar-footer b{display:block;color:#fff;margin-bottom:5px}
.main{min-width:0}.topbar{height:68px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:0 22px;position:sticky;top:0;z-index:20}.searchbox{width:min(340px,28vw);height:38px;background:#f4f7f6;border:1px solid #e1e9e6;border-radius:10px;display:flex;align-items:center;padding:0 12px;color:#8a9b95;font-size:10px;margin-right:auto}.context-select{max-width:165px;min-height:36px;padding:7px 9px;font-size:9px}.top-icon{width:36px;height:36px;border:1px solid #e1e9e6;background:#fff;border-radius:10px;display:grid;place-items:center;color:#5e756c}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,#d8f5e8,#bce8d6);color:#08754d;display:grid;place-items:center;font-weight:900;font-size:11px}.user-mini{line-height:1.05}.user-mini b,.user-mini small{display:block}.user-mini b{font-size:9px}.user-mini small{font-size:7px;color:#85968f;margin-top:4px}
.content{padding:22px;max-width:1850px;margin:0 auto}.demo-banner{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:11px;background:linear-gradient(90deg,#fff6db,#fffaf0);border:1px solid #f3d98a;color:#725615;font-size:10px;margin-bottom:14px}.demo-banner b{font-size:11px}.demo-banner span:last-child{margin-left:auto}.demo-dot{width:9px;height:9px;border-radius:50%;background:#f2a516;box-shadow:0 0 0 5px rgba(242,165,22,.12)}
.page-open{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:3px 2px 18px;margin-bottom:4px}.breadcrumbs{font-size:8px;color:#91a19b;margin-bottom:7px}.page-open h1{margin:0;font-size:24px;letter-spacing:-.03em}.page-open p{margin:6px 0 0;color:var(--muted);font-size:10px;max-width:720px;line-height:1.55}.page-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.context-pill{padding:7px 10px;border:1px solid #dbe8e3;background:#fff;border-radius:999px;font-size:9px;color:#547067}
.dashboard-welcome{background:radial-gradient(circle at 85% 20%,rgba(63,224,163,.28),transparent 27%),linear-gradient(135deg,#052c20,#08734f);border-radius:19px;padding:21px 24px;color:#fff;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 16px 35px rgba(5,66,45,.12)}.dashboard-welcome h2{margin:0;font-size:22px}.dashboard-welcome p{margin:5px 0 0;color:#a8d1c1;font-size:10px}.welcome-actions{display:flex;gap:8px}.grid-kpi{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:11px}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.kpi{padding:15px;position:relative;overflow:hidden}.kpi-head{display:flex;align-items:center;justify-content:space-between}.kpi-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e7f8f1;color:#078b5b;font-weight:900}.kpi-icon.blue{background:#eaf2ff;color:#3b82f6}.kpi-icon.orange{background:#fff5de;color:#e69705}.kpi-icon.red{background:#fff0f0;color:#d85858}.kpi .label{font-size:8px;color:var(--muted);font-weight:800;letter-spacing:.04em}.kpi .value{font-size:20px;font-weight:900;margin-top:10px;letter-spacing:-.03em}.kpi .hint{font-size:8px;color:var(--muted);margin-top:5px}.kpi .trend{font-size:8px;color:#079962;background:#e9f8f2;border-radius:999px;padding:4px 6px}.good{color:var(--green2)}.bad{color:var(--red)}.warn{color:#d9900b}
.grid-dashboard{display:grid;grid-template-columns:1.35fr .75fr;gap:11px;margin-top:11px}.grid-dashboard-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px;margin-top:11px}.panel{padding:15px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.panel h3{margin:0;font-size:12px}.panel small{font-size:8px;color:var(--muted)}.chart-wrap{height:255px}.chart-wrap.small{height:220px}.onboard{display:grid;gap:6px}.check{display:flex;align-items:center;gap:9px;padding:8px;border-radius:9px;background:#f7faf8;font-size:9px}.dot{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e8f0ed;font-size:8px}.dot.done{background:var(--mint);color:var(--green2)}.progress{height:7px;background:#e5eeea;border-radius:999px;overflow:hidden}.progress>div{height:100%;background:linear-gradient(90deg,#07935f,#10c67e)}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.quick-action{border:1px solid #e1eae6;background:#fff;border-radius:10px;padding:10px;text-align:left;cursor:pointer;display:flex;gap:8px;align-items:center}.quick-action i{width:30px;height:30px;border-radius:9px;background:#edf8f3;color:#07885a;display:grid;place-items:center;font-style:normal}.quick-action b,.quick-action small{display:block}.quick-action b{font-size:9px}.quick-action small{font-size:7px;color:#7a8d85;margin-top:3px}
.toolbar{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.table-card{overflow:hidden}.table-scroll{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:10px}.table th{background:#f4f8f6;color:#526861;text-transform:uppercase;letter-spacing:.045em;font-size:7px;text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:10px;border-bottom:1px solid #edf2f0;white-space:nowrap}.table tr:hover td{background:#fbfdfc}.empty{padding:44px;text-align:center;color:var(--muted);font-size:10px}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf4f1;font-size:8px;font-weight:800}.badge.green{background:var(--mint);color:var(--green2)}.badge.red{background:#fff0f0;color:var(--red)}
.module-intro{display:grid;grid-template-columns:1fr 240px;gap:12px;margin-bottom:11px}.module-tip{padding:14px;background:linear-gradient(135deg,#eff8f4,#f8fbfa);border:1px solid #dceae4;border-radius:13px}.module-tip b{font-size:10px}.module-tip p{font-size:8px;color:#6d827a;line-height:1.5;margin:4px 0 0}.metric-mini{display:flex;gap:7px}.metric-mini div{flex:1;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px}.metric-mini small,.metric-mini b{display:block}.metric-mini small{font-size:7px;color:var(--muted)}.metric-mini b{font-size:13px;margin-top:4px}
.modal-back{position:fixed;inset:0;background:rgba(3,34,24,.52);backdrop-filter:blur(4px);z-index:100;display:grid;place-items:center;padding:20px}.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:21px;box-shadow:0 35px 90px rgba(0,0,0,.25)}.modal-head{display:flex;align-items:center;justify-content:space-between}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.span-2{grid-column:1/-1}
.ai-shell{display:grid;grid-template-columns:1fr 300px;gap:11px}.ai-chat{min-height:525px;display:flex;flex-direction:column}.messages{padding:17px;display:flex;flex-direction:column;gap:10px;flex:1;background:linear-gradient(#fbfdfc,#f5faf7)}.bubble{max-width:82%;padding:11px 13px;border-radius:13px;line-height:1.5;font-size:10px}.bubble.user{align-self:flex-end;background:linear-gradient(135deg,#078c5c,#09b674);color:#fff}.bubble.ai{align-self:flex-start;background:#fff;border:1px solid #e1eae6}.ai-input{display:flex;gap:7px;padding:12px;border-top:1px solid var(--line)}.quick{display:grid;gap:7px}.quick button{text-align:left}
.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.help-card{padding:16px;position:relative}.help-number{width:30px;height:30px;border-radius:9px;background:#e5f8ef;color:#078657;display:grid;place-items:center;font-size:9px;font-weight:900}.help-card h3{margin:12px 0 6px;font-size:11px}.help-card p{color:var(--muted);font-size:9px;line-height:1.55}.company-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.company-health{padding:15px}.health-top{display:flex;justify-content:space-between;gap:10px}.health-name{font-size:11px;font-weight:850}.health-sub{font-size:8px;color:var(--muted);margin-top:3px}.health-score{width:42px;height:42px;border-radius:50%;border:5px solid #12b979;display:grid;place-items:center;font-size:8px;font-weight:900}.health-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:13px}.health-stats div{background:#f7faf8;border-radius:9px;padding:8px}.health-stats small,.health-stats b{display:block}.health-stats small{font-size:7px;color:var(--muted)}.health-stats b{font-size:9px;margin-top:3px}
.toast{position:fixed;right:18px;bottom:18px;background:#153b2e;color:#fff;padding:11px 14px;border-radius:11px;box-shadow:var(--shadow);z-index:200;font-size:9px}.mobile-nav{display:none}
@media(max-width:1180px){.grid-kpi{grid-template-columns:repeat(2,1fr)}.grid-dashboard,.grid-dashboard-bottom{grid-template-columns:1fr}.ai-shell{grid-template-columns:1fr}.help-grid,.company-cards{grid-template-columns:repeat(2,1fr)}.searchbox{display:none}}
@media(max-width:800px){.login-shell{grid-template-columns:1fr}.login-hero{display:none}.app{display:block}.sidebar{display:none}.topbar{height:auto;min-height:62px;padding:9px 11px;flex-wrap:wrap}.context-select{max-width:calc(50% - 6px)}.user-mini{display:none}.content{padding:12px 12px 80px}.page-open{align-items:flex-start;flex-direction:column}.page-actions{justify-content:flex-start}.dashboard-welcome{align-items:flex-start;flex-direction:column}.grid-kpi{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.help-grid,.company-cards{grid-template-columns:1fr}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:90;padding-bottom:env(safe-area-inset-bottom)}.mobile-nav button{border:0;background:#fff;padding:10px 4px;font-size:8px;color:#5d7069}.mobile-nav button.active{color:var(--green2);font-weight:900}.table-scroll{overflow:visible}.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table tr{margin:9px 0;border:1px solid var(--line);border-radius:12px;padding:7px;background:#fff}.table td{border:0;padding:5px 8px;white-space:normal}.table td:before{content:attr(data-label);display:block;font-size:7px;color:var(--muted);text-transform:uppercase;font-weight:800}.table-card{background:transparent;border:0;box-shadow:none}.module-intro{grid-template-columns:1fr}.login-features{grid-template-columns:1fr}}
@media(max-width:480px){.grid-kpi{grid-template-columns:1fr}.context-select{max-width:100%;width:100%}.top-icon{display:none}.welcome-actions{display:grid;width:100%}.welcome-actions .btn{width:100%}}
