@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap";.land{--land-navy: #06264d;--land-navy-2: #0b3a73;--land-blue: #1f73e0;--land-blue-2: #2e8ae3;--land-cyan: #29c2f0;--land-bg: #eef6fd;--land-ink: #16324f;--land-muted: #5b6b7d;--land-line: #e2ecf5;--land-font: "Poppins", "Segoe UI", system-ui, -apple-system, sans-serif;font-family:var(--land-font);color:var(--land-ink);background:#fff}.land *{box-sizing:border-box}.land-container{max-width:1200px;margin:0 auto;padding:0 32px}.land-nav{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--land-line)}.land-nav-row{display:flex;align-items:center;justify-content:space-between;height:80px}.land-nav-logo{height:44px;width:auto;display:block}.land-nav-links{display:flex;align-items:center;gap:4px}.land-nav-link{padding:11px 20px;border-radius:999px;font-weight:700;font-size:13.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--land-navy);text-decoration:none;transition:background .15s,color .15s}.land-nav-link:hover{background:var(--land-bg)}.land-nav-link.is-active{background:var(--land-blue);color:#fff;box-shadow:0 6px 16px #1f73e04d}.land-nav-link.is-active:hover{background:var(--land-blue)}.land-hero{position:relative;overflow:hidden;background:linear-gradient(to right,#05132af7,#061a38eb 32%,#082650b8,#0a306252 78%,#0a306214),url(/assets/hero-tablets-CHApYW35.jpg) right center / cover no-repeat,linear-gradient(115deg,var(--land-navy) 0%,var(--land-navy-2) 100%);color:#fff}.land-hero .land-container{position:relative;z-index:1;padding-top:84px;padding-bottom:96px}.land-hero:after,.dl-hero:after{content:"";position:absolute;z-index:2;left:0;right:0;bottom:0;height:54px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 54' preserveAspectRatio='none'%3E%3Cpath d='M0,30 C240,54 480,6 720,18 C960,30 1200,54 1440,24 L1440,54 L0,54 Z' fill='%23eef6fd'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;pointer-events:none}.land-hero h1{font-size:54px;line-height:1.08;font-weight:800;margin:0 0 18px;letter-spacing:-.01em;color:#fff;font-family:var(--land-font)}.land-hero h1 .accent{color:var(--land-cyan)}.land-hero-tagline{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:17px;font-weight:700;margin:0 0 18px;color:#eaf4ff}.land-hero-tagline span+span{position:relative;padding-left:24px}.land-hero-tagline span+span:before{content:"|";position:absolute;left:0;color:#6fa8e0;font-weight:400}.land-hero p{font-size:16px;line-height:1.65;color:#cfe2f5;max-width:480px;margin:0 0 30px}.land-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;border-radius:999px;font-weight:700;font-size:15px;font-family:var(--land-font);text-decoration:none;border:none;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}.land-btn:hover{transform:translateY(-1px)}.land-btn-light{background:#fff;color:var(--land-navy);box-shadow:0 10px 24px #0000002e}.land-btn-light:hover{background:#eaf4ff}.land-btn-primary{background:var(--land-blue);color:#fff;box-shadow:0 10px 24px #1f73e047}.land-btn-primary:hover{background:#1a64c7}.land-features{background:var(--land-bg);border-bottom:1px solid var(--land-line)}.land-features-row{display:grid;grid-template-columns:repeat(4,1fr);padding:36px 0}.land-feature{display:flex;align-items:center;gap:16px;padding:0 20px;border-left:1px solid var(--land-line)}.land-feature:first-child{border-left:none;padding-left:0}.land-feature-icon{flex:none;width:60px;height:60px;border-radius:50%;background:#d9ebfc;color:var(--land-blue);display:grid;place-items:center}.land-feature-icon svg{display:block}.land-feature-label{font-weight:700;font-size:15.5px;line-height:1.35;color:var(--land-navy)}.land-about{padding:88px 0}.land-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.land-about-art{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:3 / 2;box-shadow:0 24px 48px #0b2a522e}.land-about-art img{width:100%;height:100%;object-fit:cover;display:block}.land-eyebrow{font-weight:800;font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--land-blue);margin:0 0 10px}.land-about h2,.land-vmv h3,.land-cta h2{font-size:34px;font-weight:800;color:var(--land-navy);margin:0 0 18px;letter-spacing:-.01em;font-family:var(--land-font)}.land-about p{font-size:15.5px;line-height:1.8;color:var(--land-muted);margin:0 0 26px}.land-vmv{background:linear-gradient(180deg,#eef6fd,#e4f0fb);padding:64px 0;border-top:1px solid var(--land-line);border-bottom:1px solid var(--land-line)}.land-vmv-row{display:grid;grid-template-columns:repeat(3,1fr)}.land-vmv-item{display:flex;gap:18px;padding:0 28px;border-left:1px solid var(--land-line)}.land-vmv-item:first-child{border-left:none;padding-left:0}.land-vmv-icon{flex:none;color:var(--land-blue-2);display:grid;place-items:center;padding-top:2px}.land-vmv h3{font-size:20px;margin-bottom:8px}.land-vmv p{font-size:14.5px;line-height:1.7;color:var(--land-muted);margin:0}.land-footer{background:var(--land-navy);color:#cfe0f2;padding:0}.land-footer-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;flex-wrap:wrap}.land-footer-logo{height:40px;display:block}.land-footer-links{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.land-footer-links a{color:#fff;text-decoration:none}.land-footer-links a:hover{color:var(--land-cyan)}.land-footer-links .sep{color:#5b7ba3}.land-footer-copy{font-size:13px;color:#8fa8c4;font-weight:500}.dl-hero{position:relative;overflow:hidden;background-image:linear-gradient(to right,#06152e,#06152e 38%,#06152e00 54%),url(/assets/download-hero-BqHkGkQA.jpg),linear-gradient(115deg,var(--land-navy) 0%,var(--land-navy-2) 100%);background-position:0 0,right 20px center,0 0;background-size:auto,calc(100% - 676px) auto,auto;background-repeat:no-repeat,no-repeat,no-repeat;color:#fff}@media (min-width: 1201px){.dl-hero{background-size:auto,min(calc(50% - 76px),820px) auto,auto}}.dl-hero .land-container{position:relative;z-index:1;padding-top:76px;padding-bottom:88px}.dl-hero-content{max-width:600px}.dl-eyebrow{font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--land-cyan);margin:0 0 10px}.dl-hero h1{font-size:44px;font-weight:800;color:#fff;margin:0 0 10px;letter-spacing:-.01em;font-family:var(--land-font)}.dl-hero h2{font-size:21px;font-weight:600;color:#eaf4ff;margin:0 0 16px;font-family:var(--land-font)}.dl-hero p{font-size:15.5px;line-height:1.7;color:#cfe2f5;max-width:480px;margin:0 0 28px}.dl-btn-android{display:inline-flex;align-items:center;gap:12px;padding:16px 30px;border-radius:999px;font-weight:700;font-size:15px;font-family:var(--land-font);letter-spacing:.02em;text-decoration:none;color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e);box-shadow:0 10px 26px #16a34a66,0 0 0 1px #ffffff14 inset;transition:transform .15s,box-shadow .15s}.dl-btn-android:hover{transform:translateY(-1px);box-shadow:0 14px 30px #16a34a80}.dl-meta{margin-top:14px;font-size:13px;color:#a9c3de;display:flex;gap:10px;flex-wrap:wrap}.dl-meta span+span{position:relative;padding-left:12px}.dl-meta span+span:before{content:"|";position:absolute;left:0;color:#4d6e96}.dl-features-row{display:grid;grid-template-columns:repeat(4,1fr)}.dl-feature{display:flex;align-items:flex-start;gap:16px;padding:0 20px;border-left:1px solid var(--land-line)}.dl-feature:first-child{border-left:none;padding-left:0}.dl-feature-icon{flex:none;width:54px;height:54px;border-radius:50%;background:var(--land-bg);color:var(--land-blue);display:grid;place-items:center}.dl-feature h3{font-size:15.5px;font-weight:700;color:var(--land-navy);margin:0 0 4px;font-family:var(--land-font)}.dl-feature p{font-size:13.5px;line-height:1.5;color:var(--land-muted);margin:0}.dl-install{padding:60px 0 80px}.dl-install-card{background:linear-gradient(180deg,#eef6fd,#e4f0fb);border:1px solid var(--land-line);border-radius:20px;padding:44px 36px}.dl-install-card h2{text-align:center;font-size:26px;font-weight:800;color:var(--land-navy);margin:0 0 36px;font-family:var(--land-font)}.dl-install-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:start;gap:8px}.dl-step{text-align:center}.dl-step-icon{width:68px;height:68px;border-radius:50%;background:#d9ebfc;color:var(--land-blue);display:grid;place-items:center;margin:0 auto 14px}.dl-step h3{font-size:15.5px;font-weight:700;color:var(--land-navy);margin:0 0 6px;font-family:var(--land-font)}.dl-step p{font-size:13px;line-height:1.55;color:var(--land-muted);margin:0}.dl-step-arrow{color:var(--land-blue);padding-top:24px}@media (max-width: 900px){.land-container{padding:0 20px}.land-hero .land-container{padding-top:48px;padding-bottom:56px}.land-hero h1{font-size:40px}.land-features-row{grid-template-columns:repeat(2,1fr);row-gap:28px}.land-feature:nth-child(2){border-left:1px solid var(--land-line)}.land-feature:nth-child(odd){border-left:none;padding-left:0}.land-about-grid{grid-template-columns:1fr;gap:32px}.land-vmv-row{grid-template-columns:1fr;gap:28px}.land-vmv-item{border-left:none;padding-left:0}.land-footer-row{justify-content:center;text-align:center}.dl-hero .land-container{padding-top:48px;padding-bottom:52px}.dl-hero-content{max-width:none}.dl-hero h1{font-size:34px}.dl-hero{background-image:linear-gradient(to right,#06152e,#06152e 68%,#06152e4d),url(/assets/download-hero-BqHkGkQA.jpg),linear-gradient(115deg,var(--land-navy) 0%,var(--land-navy-2) 100%);background-size:auto,380px auto,auto}.dl-features-row{grid-template-columns:repeat(2,1fr);row-gap:28px}.dl-feature:nth-child(2){border-left:1px solid var(--land-line)}.dl-feature:nth-child(odd){border-left:none;padding-left:0}.dl-install-row{grid-template-columns:1fr 1fr;row-gap:32px}.dl-step-arrow{display:none}}@media (max-width: 560px){.land-features-row{grid-template-columns:1fr;row-gap:24px}.land-feature,.land-feature:nth-child(2){border-left:none;padding-left:0}.land-hero-tagline{flex-direction:column;align-items:flex-start;gap:4px}.land-hero-tagline span+span{padding-left:0}.land-hero-tagline span+span:before{content:none}.dl-features-row{grid-template-columns:1fr;row-gap:24px}.dl-feature,.dl-feature:nth-child(2){border-left:none;padding-left:0}.dl-install-row{grid-template-columns:1fr}.dl-install-card{padding:32px 22px}}@media (max-width: 420px){.land-nav-row{height:64px}.land-nav-logo{height:32px}.land-nav-links{gap:2px}.land-nav-link{padding:8px 10px;font-size:11.5px}}@media (max-width: 360px){.land-container{padding:0 14px}.land-nav-row{height:58px}.land-nav-logo{height:26px}.land-nav-link{padding:6px 8px;font-size:10px;letter-spacing:.01em}.land-footer-logo{height:34px}}:root{--navy-900: #0b1b30;--navy-800: #0e2138;--navy-700: #142c48;--navy-600: #1c3a5c;--navy-500: #12283f;--teal-700: #0b5f57;--teal-600: #0f766e;--teal-500: #14907f;--teal-100: #d7efeb;--teal-50: #eef8f6;--red-600: #dc2626;--red-500: #ef4444;--red-50: #fef2f2;--amber-500: #f59e0b;--amber-50: #fffbeb;--blue-500: #3b82f6;--blue-50: #eff6ff;--violet-500: #8b5cf6;--violet-50: #f5f3ff;--green-600: #16a34a;--green-500: #22c55e;--green-50: #f0fdf4;--ink: #0f2136;--ink-2: #334155;--muted: #64748b;--muted-2: #94a3b8;--page: #f4f7fa;--surface: #ffffff;--surface-2: #f8fafc;--line: #e6ecf1;--line-strong: #d5dee6;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .05);--shadow-sm: 0 1px 3px rgba(16, 24, 40, .08), 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 6px 16px rgba(16, 24, 40, .08);--shadow-lg: 0 16px 40px rgba(11, 27, 48, .18);--sidebar-w: 268px;--sidebar-w-collapsed: 76px;--topbar-h: 74px;--font: "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--mono: "JetBrains Mono", "Cascadia Mono", Consolas, monospace}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.5;color:var(--ink-2);background:var(--page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5{margin:0;color:var(--ink);font-weight:700;line-height:1.25}p{margin:0}a{color:var(--teal-600);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px;border:2px solid var(--page)}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.app{display:flex;min-height:100vh}.app-main{flex:1;min-width:0;margin-left:var(--sidebar-w);transition:margin-left .18s ease}.app.is-collapsed .app-main{margin-left:var(--sidebar-w-collapsed)}.app-content{padding:22px 26px 40px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--navy-800);color:#cbd5e1;display:flex;flex-direction:column;z-index:40;transition:width .18s ease}.app.is-collapsed .sidebar{width:var(--sidebar-w-collapsed)}.sidebar-brand{display:flex;align-items:center;justify-content:center;margin:14px 14px 8px;border-radius:12px;background:#fff;overflow:hidden}.sidebar-brand .brand-logo{display:block;width:100%;height:auto}.sidebar-brand .mark{display:none;width:38px;height:38px;flex:none;border-radius:10px;background:linear-gradient(140deg,var(--teal-500),var(--teal-700));place-items:center;color:#fff}.app.is-collapsed .sidebar-brand{margin:14px 0 8px;padding:6px 0;background:transparent}.app.is-collapsed .sidebar-brand .brand-logo{display:none}.app.is-collapsed .sidebar-brand .mark{display:grid}.sidebar-nav{flex:1;overflow-y:auto;padding:14px 12px}.sidebar-nav::-webkit-scrollbar-thumb{background:#24405f;border-color:var(--navy-800)}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;margin-bottom:3px;border:0;border-radius:9px;background:transparent;color:#b6c6d8;font-size:13.5px;font-weight:500;text-align:left;text-decoration:none;transition:background .14s ease,color .14s ease}.nav-item:hover{background:#ffffff0f;color:#fff;text-decoration:none}.nav-item.is-active{background:var(--teal-600);color:#fff;font-weight:600;box-shadow:inset 0 0 0 1px #ffffff0f}.nav-item .icon{flex:none;display:grid;place-items:center;width:20px}.nav-item .label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item .chevron{flex:none;transition:transform .16s ease;opacity:.7}.nav-item .chevron.is-open{transform:rotate(180deg)}.nav-badge{flex:none;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--red-500);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}.nav-sub{padding:2px 0 6px 30px}.nav-sub .nav-item{padding:8px 11px;font-size:13px;color:#93a8bf}.app.is-collapsed .nav-item .label,.app.is-collapsed .nav-item .chevron,.app.is-collapsed .nav-sub{display:none}.app.is-collapsed .nav-item{justify-content:center;padding:11px 0}.sidebar-clock{margin:10px 14px;padding:13px 14px;border-radius:var(--radius);background:#ffffff0d;border:1px solid rgba(255,255,255,.07)}.sidebar-clock .label{display:flex;align-items:center;gap:8px;font-size:11.5px;color:#8ba1ba}.sidebar-clock .date{margin-top:6px;font-size:13px;font-weight:600;color:#e2e8f0}.sidebar-clock .time{font-size:20px;font-weight:700;color:#fff;letter-spacing:-.4px}.sidebar-clock .time small{font-size:12px;font-weight:600;color:#8ba1ba;margin-left:3px}.sidebar-user{display:flex;align-items:center;gap:11px;padding:14px 18px;border-top:1px solid rgba(255,255,255,.07)}.sidebar-user .meta{min-width:0}.sidebar-user .hint{font-size:10.5px;color:#7d93ad}.sidebar-user .name{font-size:13.5px;font-weight:600;color:#fff;display:flex;align-items:center;gap:6px}.sidebar-user .role{font-size:11.5px;color:#8ba1ba}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green-500);box-shadow:0 0 0 3px #22c55e2e}.app.is-collapsed .sidebar-clock,.app.is-collapsed .sidebar-user .meta{display:none}.app.is-collapsed .sidebar-user{justify-content:center}.sidebar-scrim{display:none}.topbar{position:sticky;top:0;z-index:30;min-height:var(--topbar-h);display:flex;align-items:center;gap:18px;padding:12px 26px;background:var(--surface);border-bottom:1px solid var(--line)}.topbar .icon-btn{flex:none}.topbar-title h1{font-size:21px;letter-spacing:-.4px}.topbar-title p{font-size:12.5px;color:var(--muted);margin-top:2px}.topbar-spacer{flex:1}.topbar-filters{display:flex;gap:10px;align-items:center}.topbar-actions{display:flex;align-items:center;gap:12px}.icon-btn{position:relative;width:38px;height:38px;display:grid;place-items:center;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink-2);transition:background .14s ease,border-color .14s ease}.icon-btn:hover{background:var(--surface-2);border-color:var(--line)}.icon-btn .count{position:absolute;top:3px;right:3px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--red-500);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;border:2px solid var(--surface)}.avatar{width:38px;height:38px;flex:none;border-radius:50%;background:var(--teal-100);color:var(--teal-700);display:grid;place-items:center;font-size:13px;font-weight:700}.avatar.dark{background:#ffffff1a;color:#fff}.avatar.sm{width:30px;height:30px;font-size:11px}.user-chip{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 4px;border:1px solid transparent;border-radius:999px;background:transparent}.user-chip:hover{background:var(--surface-2);border-color:var(--line)}.user-chip .name{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.2}.user-chip .role{font-size:11.5px;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.card-head{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line)}.card-head .title{font-size:13px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--ink)}.card-head .subtitle{font-size:12px;font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0}.card-head .spacer{flex:1}.card-body{padding:18px}.card-body.tight{padding:0}.card-foot{display:flex;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid var(--line)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px;margin-bottom:18px}.kpi{display:flex;align-items:flex-start;gap:13px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.kpi-icon{width:44px;height:44px;flex:none;border-radius:50%;display:grid;place-items:center;color:#fff}.kpi-icon.teal{background:var(--teal-500)}.kpi-icon.red{background:var(--red-500)}.kpi-icon.blue{background:var(--blue-500)}.kpi-icon.amber{background:var(--amber-500)}.kpi-icon.violet{background:var(--violet-500)}.kpi-icon.green{background:var(--green-500)}.kpi .label{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.kpi .value{font-size:25px;font-weight:800;color:var(--ink);letter-spacing:-.8px;line-height:1.15;margin-top:3px}.kpi .value small{font-size:12px;font-weight:600;color:var(--muted);margin-left:4px;letter-spacing:0}.kpi .delta{display:inline-flex;align-items:center;gap:4px;margin-top:5px;font-size:11.5px;font-weight:600}.kpi .delta.up{color:var(--green-600)}.kpi .delta.down{color:var(--red-600)}.kpi .delta .vs{color:var(--muted);font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 15px;border:1px solid transparent;border-radius:9px;font-size:13.5px;font-weight:600;white-space:nowrap;transition:background .14s ease,border-color .14s ease,color .14s ease}.btn-primary{background:var(--teal-600);color:#fff}.btn-primary:hover:not(:disabled){background:var(--teal-700)}.btn-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink-2)}.btn-secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--muted-2)}.btn-ghost{background:transparent;color:var(--ink-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--red-600);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-sm{height:32px;padding:0 11px;font-size:12.5px;border-radius:7px}.btn-lg{height:44px;padding:0 20px;font-size:14.5px}.btn-block{width:100%}.btn-icon-only{width:38px;padding:0}.btn-sm.btn-icon-only{width:32px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label{font-size:12px;font-weight:600;color:var(--ink-2)}.field .req{color:var(--red-500);margin-left:2px}.field .hint{font-size:11.5px;color:var(--muted)}.field .error{font-size:11.5px;color:var(--red-600);font-weight:500}.input,.select,.textarea{width:100%;height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink);font-size:13.5px;transition:border-color .14s ease,box-shadow .14s ease}.textarea{height:auto;min-height:84px;padding:10px 12px;resize:vertical;line-height:1.5}.input:hover,.select:hover,.textarea:hover{border-color:var(--muted-2)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--teal-500);box-shadow:0 0 0 3px #14907f24}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-2);color:var(--muted)}.input.is-invalid,.select.is-invalid{border-color:var(--red-500)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center}.select.sm,.input.sm{height:34px;font-size:13px}.input-group{position:relative;display:flex;align-items:center}.input-group .input{padding-right:38px}.input-group .adornment{position:absolute;right:11px;display:grid;place-items:center;color:var(--muted);pointer-events:none}.input-group .adornment.text{font-size:12px;font-weight:600}.input-search{padding-left:36px}.input-group .leading{position:absolute;left:11px;display:grid;place-items:center;color:var(--muted);pointer-events:none}.field.computed .input{background:var(--teal-50);border-color:var(--teal-100);color:var(--teal-700);font-weight:700;font-size:16px}.field.computed.blue .input{background:var(--blue-50);border-color:#dbeafe;color:#1d4ed8}.field.computed.red .input{background:var(--red-50);border-color:#fecaca;color:var(--red-600)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px 16px}.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid .span-2{grid-column:span 2}.form-grid .span-full{grid-column:1 / -1}.checkbox{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;cursor:pointer}.checkbox input{width:17px;height:17px;accent-color:var(--teal-600);cursor:pointer}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.switch input{position:absolute;opacity:0;pointer-events:none}.switch .track{width:40px;height:22px;border-radius:999px;background:var(--line-strong);position:relative;transition:background .16s ease}.switch .track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:var(--shadow-xs);transition:transform .16s ease}.switch input:checked+.track{background:var(--teal-600)}.switch input:checked+.track:after{transform:translate(18px)}.table-wrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.table th{padding:11px 12px;background:var(--navy-500);color:#e2e8f0;font-size:11.5px;font-weight:700;letter-spacing:.3px;text-align:left;white-space:nowrap;position:sticky;top:0}.table th:first-child{border-top-left-radius:var(--radius-sm)}.table th:last-child{border-top-right-radius:var(--radius-sm)}.table th.num,.table td.num{text-align:right}.table th.center,.table td.center{text-align:center}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{background:var(--navy-600)}.table th .sort-mark{margin-left:5px;opacity:.55;font-size:10px}.table th.is-sorted .sort-mark{opacity:1}.table td{padding:11px 12px;border-bottom:1px solid var(--line);color:var(--ink-2);white-space:nowrap}.table td.wrap{white-space:normal;min-width:180px}.table tbody tr:hover td{background:var(--surface-2)}.table tbody tr.is-clickable{cursor:pointer}.table tfoot td,.table tr.total-row td{background:var(--teal-50);border-top:2px solid var(--teal-100);border-bottom:0;font-weight:700;color:var(--ink)}.table .strong{font-weight:600;color:var(--ink)}.table .muted{color:var(--muted)}.table .mono{font-family:var(--mono);font-size:12.5px}.table-light th{background:var(--surface-2);color:var(--muted);border-bottom:1px solid var(--line)}.row-actions{display:flex;align-items:center;gap:4px}.act-btn{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--teal-600);transition:background .14s ease}.act-btn:hover{background:var(--teal-50)}.act-btn.danger{color:var(--red-500)}.act-btn.danger:hover{background:var(--red-50)}.pagination{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pagination .info{font-size:12.5px;color:var(--muted)}.pagination .spacer{flex:1}.pagination .pages{display:flex;align-items:center;gap:4px}.page-btn{min-width:32px;height:32px;padding:0 8px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:var(--ink-2);font-size:13px;font-weight:600}.page-btn:hover:not(:disabled){background:var(--surface-2)}.page-btn.is-active{background:var(--teal-600);border-color:var(--teal-600);color:#fff}.page-btn:disabled{opacity:.45}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}.badge.green{background:var(--green-50);color:#15803d}.badge.red{background:var(--red-50);color:#b91c1c}.badge.amber{background:var(--amber-50);color:#b45309}.badge.blue{background:var(--blue-50);color:#1d4ed8}.badge.violet{background:var(--violet-50);color:#6d28d9}.badge.teal{background:var(--teal-50);color:var(--teal-700)}.badge.grey{background:#f1f5f9;color:var(--muted)}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);font-size:12px;color:var(--ink-2)}.chip button{border:0;background:none;color:var(--muted);display:grid;place-items:center}.chip button:hover{color:var(--red-500)}.meter{height:6px;border-radius:999px;background:#e8eef3;overflow:hidden;min-width:70px}.meter span{display:block;height:100%;border-radius:999px;background:var(--green-500);transition:width .3s ease}.meter.warn span{background:var(--amber-500)}.meter.bad span{background:var(--red-500)}.meter-row{display:flex;align-items:center;gap:9px}.meter-row .pct{font-size:12.5px;font-weight:600;color:var(--ink);min-width:52px;text-align:right}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.dash-main{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr)}.grid.dash-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grid.entry-split{grid-template-columns:minmax(0,1fr) minmax(260px,330px)}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.row .spacer{flex:1}.filter-bar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.filter-bar .field{min-width:150px}.filter-bar .field.grow{flex:1;min-width:200px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);padding:0 18px}.tab{padding:12px 16px;border:0;border-bottom:2px solid transparent;background:none;font-size:13.5px;font-weight:600;color:var(--muted);margin-bottom:-1px}.tab:hover{color:var(--ink)}.tab.is-active{color:var(--teal-600);border-bottom-color:var(--teal-600)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0b1b3080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:22px;animation:fade-in .14s ease}.modal{width:min(100%,620px);max-height:calc(100vh - 44px);display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:pop-in .16s ease}.modal.sm{width:min(100%,430px)}.modal.lg{width:min(100%,880px)}.modal.xl{width:min(100%,1120px)}.modal-head{display:flex;align-items:center;gap:12px;padding:17px 20px;border-bottom:1px solid var(--line)}.modal-head h3{font-size:16px}.modal-head p{font-size:12.5px;color:var(--muted);margin-top:2px}.modal-head .spacer{flex:1}.modal-body{padding:20px;overflow-y:auto}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:15px 20px;border-top:1px solid var(--line)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;flex-direction:column;gap:10px;width:min(100%,380px)}.toast{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--teal-600);box-shadow:var(--shadow-md);animation:slide-in .18s ease}.toast.success{border-left-color:var(--green-500)}.toast.error{border-left-color:var(--red-500)}.toast.warning{border-left-color:var(--amber-500)}.toast .title{font-size:13.5px;font-weight:600;color:var(--ink)}.toast .message{font-size:12.5px;color:var(--muted);margin-top:2px}.toast .icon{flex:none;margin-top:1px}.toast .close{border:0;background:none;color:var(--muted-2);padding:0}@keyframes slide-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.dropdown{position:relative}.dropdown-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:50;min-width:210px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);animation:pop-in .12s ease}.dropdown-menu.wide{min-width:360px}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:7px;background:none;font-size:13.5px;color:var(--ink-2);text-align:left;text-decoration:none}.dropdown-item:hover{background:var(--surface-2);text-decoration:none}.dropdown-item.danger{color:var(--red-600)}.dropdown-item.danger:hover{background:var(--red-50)}.dropdown-divider{height:1px;margin:5px 0;background:var(--line)}.dropdown-head{padding:9px 10px;border-bottom:1px solid var(--line);margin-bottom:5px}.empty{display:flex;flex-direction:column;align-items:center;gap:9px;padding:48px 20px;text-align:center}.empty .icon{width:52px;height:52px;border-radius:50%;background:var(--surface-2);color:var(--muted-2);display:grid;place-items:center}.empty .title{font-size:14.5px;font-weight:600;color:var(--ink)}.empty .message{font-size:13px;color:var(--muted);max-width:380px}.spinner{width:18px;height:18px;border:2px solid var(--line-strong);border-top-color:var(--teal-600);border-radius:50%;animation:spin .7s linear infinite}.spinner.lg{width:30px;height:30px;border-width:3px}.spinner.on-dark{border-color:#ffffff59;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{display:grid;place-items:center;gap:12px;padding:52px 20px;color:var(--muted);font-size:13px}.skeleton{background:linear-gradient(90deg,#eef2f6 25%,#f6f9fb 37%,#eef2f6 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:6px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.alert{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border-radius:var(--radius);font-size:13px;border:1px solid}.alert.info{background:var(--blue-50);border-color:#dbeafe;color:#1d4ed8}.alert.success{background:var(--green-50);border-color:#dcfce7;color:#15803d}.alert.warning{background:var(--amber-50);border-color:#fef3c7;color:#b45309}.alert.error{background:var(--red-50);border-color:#fee2e2;color:#b91c1c}.alert.note{background:var(--teal-50);border-color:var(--teal-100);color:var(--teal-700)}.alert .icon{flex:none;margin-top:1px}.alert-row{display:flex;align-items:flex-start;gap:11px;padding:12px 18px;border-bottom:1px solid var(--line)}.alert-row:last-child{border-bottom:0}.alert-row .body{flex:1;min-width:0}.alert-row .title{font-size:13px;font-weight:600;color:var(--ink)}.alert-row .message{font-size:12.5px;color:var(--muted);margin-top:1px}.alert-row .time{font-size:11.5px;color:var(--muted-2);white-space:nowrap}.alert-row.is-unread{background:var(--teal-50)}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--ink-2)}.chart-legend .item{display:flex;align-items:center;gap:6px}.chart-legend .swatch{width:10px;height:10px;border-radius:3px}.chart-legend .swatch.line{width:14px;height:3px;border-radius:2px}.donut-wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.donut-legend{flex:1;min-width:150px;display:flex;flex-direction:column;gap:9px}.donut-legend .item{display:flex;align-items:center;gap:9px;font-size:12.5px}.donut-legend .item .swatch{width:10px;height:10px;border-radius:3px;flex:none}.donut-legend .item .name{flex:1;color:var(--ink-2)}.donut-legend .item .value{font-weight:600;color:var(--ink)}.recharts-cartesian-axis-tick text{font-size:11px;fill:var(--muted)}.recharts-legend-item-text{font-size:12px!important;color:var(--ink-2)!important}.chart-tooltip{background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:var(--shadow-md);padding:9px 11px;font-size:12.5px}.chart-tooltip .label{font-weight:700;color:var(--ink);margin-bottom:5px}.chart-tooltip .item{display:flex;align-items:center;gap:7px}.chart-tooltip .item .swatch{width:8px;height:8px;border-radius:2px}.chart-tooltip .item .value{margin-left:auto;font-weight:600;color:var(--ink)}.home-greeting h2{font-size:20px;letter-spacing:-.3px}.home-greeting p{font-size:13.5px;color:var(--muted);margin-top:4px}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;align-items:start}.menu-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);overflow:hidden}.menu-card>header{display:flex;align-items:flex-start;gap:12px;padding:17px 18px;border-bottom:1px solid var(--line)}.menu-card h3{font-size:15px}.menu-card>header p{font-size:12.5px;color:var(--muted);margin-top:3px}.menu-icon{width:42px;height:42px;flex:none;border-radius:11px;display:grid;place-items:center;color:#fff}.menu-icon.teal{background:var(--teal-500)}.menu-icon.blue{background:var(--blue-500)}.menu-icon.amber{background:var(--amber-500)}.menu-icon.violet{background:var(--violet-500)}.menu-icon.green{background:var(--green-500)}.menu-count{flex:none;min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:700;display:grid;place-items:center}.menu-links{list-style:none;margin:0;padding:6px 0}.menu-links a{display:flex;align-items:center;gap:10px;padding:10px 18px;font-size:13.5px;color:var(--ink-2);text-decoration:none}.menu-links a span{flex:1}.menu-links a svg{color:var(--muted-2)}.menu-links a:hover{background:var(--teal-50);color:var(--teal-700);text-decoration:none}.menu-links a:hover svg{color:var(--teal-600)}.menu-open{margin:18px;text-decoration:none}.menu-open:hover{text-decoration:none}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(400px,1fr);background:var(--surface)}.login-aside{position:relative;min-width:0;padding:52px 54px;color:#fff;background:radial-gradient(circle at 15% 15%,rgba(20,144,127,.55),transparent 45%),radial-gradient(circle at 85% 80%,rgba(59,130,246,.28),transparent 50%),var(--navy-800);display:flex;flex-direction:column}.login-aside h1,.login-aside h2,.login-aside h3{color:#fff}.login-aside .brand{align-self:flex-start;width:min(100%,280px);border-radius:12px;background:#fff;overflow:hidden}.login-aside .brand img{display:block;width:100%;height:auto}.login-aside .headline{margin-top:auto;font-size:30px;font-weight:800;line-height:1.25;letter-spacing:-.6px}.login-aside .sub{margin-top:12px;font-size:14px;color:#a8bdd4;max-width:420px}.login-aside .points{margin-top:30px;display:flex;flex-direction:column;gap:13px}.login-aside .point{display:flex;align-items:center;gap:11px;font-size:13.5px;color:#cbd5e1}.login-aside .point .tick{width:22px;height:22px;flex:none;border-radius:50%;background:#14907f40;color:#5eead4;display:grid;place-items:center}.login-main{display:grid;place-items:center;padding:40px 24px}.login-card{width:min(100%,390px)}.login-logo{display:block;width:100%;max-width:360px;height:auto;margin:0 0 14px;transform:translate(-8.66%)}.login-card h2{font-size:23px;letter-spacing:-.5px}.login-card .lead{font-size:13.5px;color:var(--muted);margin-top:6px;margin-bottom:24px}.login-card .form{display:flex;flex-direction:column;gap:15px}.login-card .foot{margin-top:22px;font-size:12px;color:var(--muted-2);text-align:center}.login-hint{margin-top:18px;padding:11px 13px;border-radius:var(--radius);background:var(--surface-2);border:1px dashed var(--line-strong);font-size:12px;color:var(--muted)}.login-hint code{font-family:var(--mono);color:var(--ink)}.u-muted{color:var(--muted)}.u-strong{font-weight:600;color:var(--ink)}.u-num{font-variant-numeric:tabular-nums}.u-right{text-align:right}.u-center{text-align:center}.u-nowrap{white-space:nowrap}.u-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-sm{font-size:12.5px}.u-xs{font-size:11.5px}.u-mt-0{margin-top:0}.u-mt-1{margin-top:8px}.u-mt-2{margin-top:16px}.u-mb-1{margin-bottom:8px}.u-mb-2{margin-bottom:16px}.u-hide{display:none}.text-green{color:var(--green-600)}.text-red{color:var(--red-600)}.text-amber{color:var(--amber-500)}.text-teal{color:var(--teal-600)}@media (max-width: 1400px){.grid.dash-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grid.dash-main>:first-child{grid-column:1 / -1}}@media (max-width: 1200px){.grid.entry-split{grid-template-columns:minmax(0,1fr)}.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.login-page{grid-template-columns:1fr}.login-aside{display:none}}@media (max-width: 900px){.grid.cols-2,.grid.cols-3,.grid.dash-main,.grid.dash-split{grid-template-columns:minmax(0,1fr)}.grid.dash-main>:first-child{grid-column:auto}.form-grid.cols-2,.form-grid.cols-3,.form-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.app-main,.app.is-collapsed .app-main{margin-left:0}.sidebar{transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}.app.is-mobile-open .sidebar{transform:none;width:var(--sidebar-w)}.app.is-mobile-open .sidebar-clock,.app.is-mobile-open .sidebar-user .meta,.app.is-mobile-open .nav-item .label,.app.is-mobile-open .nav-item .chevron,.app.is-mobile-open .nav-sub{display:revert}.app.is-mobile-open .nav-item{justify-content:flex-start;padding:10px 12px}.app.is-mobile-open .sidebar-brand{margin:14px 14px 8px;padding:0;background:#fff}.app.is-mobile-open .sidebar-brand .brand-logo{display:block}.app.is-mobile-open .sidebar-brand .mark{display:none}.app.is-mobile-open .sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#0b1b3073}.topbar{flex-wrap:wrap;padding:12px 16px}.topbar-filters{order:3;width:100%}.topbar-filters .field{flex:1;min-width:140px}.app-content{padding:16px}}@media (max-width: 640px){.form-grid.cols-2,.form-grid.cols-3,.form-grid.cols-4,.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .span-2{grid-column:auto}.kpi-grid{grid-template-columns:minmax(0,1fr)}.toast-stack{left:16px;right:16px;width:auto}}@media print{.sidebar,.topbar,.toast-stack,.no-print{display:none!important}.app-main{margin-left:0}.app-content{padding:0}.card{border:1px solid #ddd;box-shadow:none;break-inside:avoid}body{background:#fff}}
