:root{--navy:#0c2340;--navy-2:#102a4c;--ink:#0f1c2e;--muted:#64748b;--line:#e6ebf1;--bg:#f3f6f9;--card:#fff;--orange:#f97316;--orange-deep:#ea580c;--green:#15803d;--green-soft:#ecfdf3;--blue-soft:#eff6ff;--peach:#fff7ed;--shadow:0 10px 30px rgba(15,28,46,.06)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:#dbe7f5;padding:1.35rem .9rem 1rem;display:flex;flex-direction:column;gap:.75rem;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:hidden}.side-brand{background:#fff;margin:-1.35rem -.9rem .35rem;padding:1rem 1.15rem .85rem}.brand-logo,.login-logo{display:block;width:min(210px,100%);height:auto;margin:0 auto}.login-logo{width:min(280px,100%);margin:0 0 1.15rem}.side-product{margin:.85rem .7rem .2rem;font-size:.92rem;font-weight:700;color:#fff}.nav{display:flex;flex-direction:column;gap:.15rem;overflow-y:auto;min-height:0;flex:1 1;padding-right:.15rem}.nav button{display:flex;align-items:center;gap:.7rem;width:100%;text-align:left;border:0;background:transparent;color:#d5e3f2;border-radius:12px;padding:.55rem .8rem;font-weight:600;flex:0 0 auto}.nav button.active{background:var(--orange);color:#fff}.nav button svg{flex:0 0 auto}.side-foot{margin-top:auto;padding:.4rem .7rem}.side-foot button{width:100%;border:1px solid hsla(0,0%,100%,.16);background:transparent;color:#fff;border-radius:10px;padding:.6rem .8rem}.main{padding:1.35rem 1.5rem 2.5rem;min-width:0}.page-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.1rem}.kicker{margin:0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}h1.page-title{margin:.15rem 0 0;font-size:1.85rem;letter-spacing:-.03em}.filters{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.filters label{display:flex;flex-direction:column;gap:.2rem;font-size:.72rem;color:var(--muted);font-weight:700}.field input,.field select,.field textarea,.filters select{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.62rem .75rem;color:var(--ink)}.btn{border:0;border-radius:12px;background:var(--orange);color:#fff;font-weight:700;padding:.72rem 1rem}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--orange-deep)}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.85rem;gap:.85rem;margin-bottom:.9rem}.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:.95rem 1rem;box-shadow:var(--shadow)}.kpi .label{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.86rem;font-weight:600}.kpi .value{margin:.35rem 0 .15rem;font-size:1.85rem;font-weight:800;letter-spacing:-.03em}.delta{font-size:.78rem;font-weight:700;color:var(--green)}.delta.down{color:#c2410c}.delta.flat{color:var(--muted);font-weight:600}.workspace{display:grid;grid-template-columns:1.45fr .85fr;grid-gap:.85rem;gap:.85rem}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem 1.05rem;box-shadow:var(--shadow)}.card h2{margin:0 0 .2rem;font-size:1.05rem}.muted{color:var(--muted);font-size:.88rem}.card-head{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start;margin-bottom:.7rem}.bars{display:flex;flex-direction:column;gap:.7rem}.bar-row{display:grid;grid-template-columns:118px 1fr 28px;grid-gap:.55rem;gap:.55rem;align-items:center;font-size:.88rem}.bar-track{height:10px;background:#eef2f6;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#fdba74,var(--orange));border-radius:999px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.72rem .4rem;border-bottom:1px solid var(--line);font-size:.9rem;vertical-align:top}th{font-size:.75rem;text-transform:none;color:var(--muted);font-weight:700}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#fafbfc}.chip{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.22rem .6rem;font-size:.75rem;font-weight:700;background:#eef2f6;color:#334155}.chip.green{background:var(--green-soft);color:var(--green)}.chip.blue{background:var(--blue-soft);color:#1d4ed8}.chip.peach{background:var(--peach);color:#c2410c}.chip.orange{background:#ffedd5;color:#c2410c}.alert{padding:.7rem .85rem;border-radius:12px;margin-bottom:.8rem;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.alert.ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.toast{position:fixed;right:1.25rem;bottom:1.25rem;z-index:50;width:min(380px,calc(100vw - 2rem));background:#052e16;color:#fff;border-radius:16px;padding:.95rem 1rem 1rem;box-shadow:0 16px 40px rgba(5,46,22,.28);animation:toast-in .35s ease}.toast strong{display:block;font-size:1rem;margin-bottom:.25rem}.toast p{margin:0;color:#bbf7d0;font-size:.9rem}.toast button{margin-top:.7rem;border:0;background:#16a34a;color:#fff;border-radius:8px;padding:.4rem .7rem;font-weight:700}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.case-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:.9rem;gap:.9rem;align-items:start}.crumbs{color:var(--muted);font-size:.86rem;margin-bottom:.25rem}.crumbs button{border:0;background:none;color:var(--orange-deep);font-weight:700;padding:0}.status-row{display:flex;gap:.45rem;flex-wrap:wrap;margin:.7rem 0 .9rem}.subtabs{display:flex;gap:1.1rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.subtabs button{border:0;background:none;padding:.55rem 0;color:var(--muted);font-weight:700}.subtabs button.active{color:var(--orange-deep);box-shadow:inset 0 -2px 0 var(--orange)}.money-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.7rem;gap:.7rem;margin-bottom:1rem}.money{border-radius:14px;padding:.85rem .9rem;background:#f8fafc}.money.green{background:#f0fdf4}.money.peach{background:#fff7ed}.money span{display:block;color:var(--muted);font-size:.8rem;font-weight:700}.money strong{font-size:1.35rem;letter-spacing:-.03em}.money.green strong{color:var(--green)}.money.peach strong{color:#c2410c}.timeline{display:flex;flex-direction:column;gap:.75rem}.tl{display:grid;grid-template-columns:16px 1fr;grid-gap:.55rem;gap:.55rem}.dot{width:12px;height:12px;border-radius:50%;background:var(--green);margin-top:.25rem}.modal-back{position:fixed;inset:0;background:rgba(12,35,64,.48);display:grid;place-items:center;padding:1rem;z-index:30}.incident-modal{width:min(920px,100%);max-height:min(92vh,920px);overflow:auto}.grid.form{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.field{display:flex;flex-direction:column;gap:.28rem;font-size:.78rem;font-weight:700;color:var(--muted)}.field input,.field select,.field textarea{font-weight:500;color:var(--ink)}.trend{width:100%;height:180px}.empty{padding:1.2rem .2rem;color:var(--muted)}.login-screen{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.login-hero{background:#123 50%/cover no-repeat;min-height:100vh}.login-panel{display:flex;align-items:center;justify-content:center;padding:2.5rem 2rem}.login-form{width:min(440px,100%)}.login-form h1{margin:.2rem 0 .25rem;font-size:2.15rem;letter-spacing:-.04em}.wordmark{font-size:2rem;font-weight:800;letter-spacing:-.04em;color:var(--navy);margin:0}.login-form label.lbl{display:block;margin:1rem 0 .35rem;font-weight:700;font-size:.92rem}.input-wrap{display:flex;align-items:center;gap:.45rem;border:1px solid #d7dee7;border-radius:10px;padding:.15rem .75rem;background:#fff}.input-wrap input{border:0;outline:none;width:100%;padding:.75rem 0}.row-between{display:flex;justify-content:space-between;align-items:center;margin:.85rem 0 1rem;font-size:.9rem}.linkish{border:0;background:none;color:var(--orange-deep);font-weight:700;padding:0}.signin{width:100%;background:var(--orange);color:#fff;border:0;border-radius:10px;padding:.85rem 1rem;font-weight:800}.or{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:.7rem;gap:.7rem;color:var(--muted);margin:1rem 0;font-size:.85rem}.or:after,.or:before{content:"";height:1px;background:var(--line)}.ms-btn{width:100%;background:#fff;border:1px solid #d7dee7;border-radius:10px;padding:.8rem 1rem;font-weight:700;display:flex;justify-content:center;align-items:center;gap:.55rem}.auth-note{margin-top:1.3rem;text-align:center;color:var(--muted);font-size:.86rem}.demo-hint{margin-top:.8rem;font-size:.8rem;color:#94a3b8;text-align:center}.nlc-map-shell{position:relative;overflow:hidden;border-radius:14px;border:1px solid var(--line);background:#e8eef2;min-height:240px}.nlc-map-loading{display:grid;place-items:center;color:var(--muted)}.nlc-map-hint{position:absolute;left:12px;bottom:12px;z-index:500;background:rgba(12,35,64,.82);color:#fff;font-size:.78rem;font-weight:600;padding:.4rem .7rem;border-radius:999px;pointer-events:none}.nlc-pin{background:transparent!important;border:0!important}.nlc-pin-dot{display:block;width:18px;height:18px;border-radius:50%;background:var(--orange);border:3px solid #fff;box-shadow:0 4px 14px rgba(15,28,46,.35)}.location-pill{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin-top:.7rem}.leaflet-container{font:inherit;background:#e8eef2;border-radius:inherit}@media (max-width:1100px){.app{grid-template-columns:1fr}.nav,.sidebar{flex-direction:row;flex-wrap:wrap}.side-foot{margin-top:0}.case-layout,.grid.form,.kpis,.login-screen,.money-row,.workspace{grid-template-columns:1fr}.login-hero{min-height:220px}}