:root{--navy:#0b1f38;--blue:#087ea4;--cyan:#16b7d9;--bg:#f3f6fa;--ink:#172033;--muted:#6b778c;--green:#15803d;--red:#b42318}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:linear-gradient(180deg,var(--navy),#071426);color:#e8f2ff;padding:22px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:13px;letter-spacing:.08em;margin:0 8px 30px}.brand-mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,var(--cyan),var(--blue));display:grid;place-items:center;font-size:18px;font-weight:900}.sidebar nav{display:grid;gap:7px}.sidebar nav a{padding:12px 14px;border-radius:11px;text-decoration:none;color:#bfd0e5}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff18;color:#fff}.side-user{margin-top:auto;border-top:1px solid #ffffff1c;padding:18px 8px 0;display:grid;gap:5px}.side-user small,.side-user span{color:#91a7c0;font-size:12px}.side-user a{color:#7fdcf0;font-size:13px;margin-top:8px}main{margin-left:250px}.topbar{height:91px;background:white;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;padding:0 28px;gap:16px}.topbar h1{font-size:22px;margin:0}.topbar p{font-size:13px;color:var(--muted);margin:4px 0}.env-badge{margin-left:auto;background:#e0f7fb;color:#08728d;padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800}.menu-toggle{display:none}.content{padding:26px;max-width:1500px}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border:1px solid #e3e9f0;border-radius:16px;box-shadow:0 6px 20px #10243e0a;margin-bottom:20px}.card-head{padding:18px 20px;border-bottom:1px solid #edf1f5;display:flex;justify-content:space-between;align-items:center}.card-head h2{font-size:16px;margin:0}.card-body{padding:20px}.kpi{padding:20px;position:relative;overflow:hidden}.kpi .label{font-size:12px;text-transform:uppercase;color:var(--muted);font-weight:700}.kpi .value{font-size:28px;font-weight:850;margin-top:8px}.kpi .hint{font-size:12px;color:var(--muted);margin-top:5px}.kpi:after{content:"";position:absolute;width:85px;height:85px;border-radius:50%;right:-25px;top:-25px;background:#0e9ec214}.btn{border:0;border-radius:10px;padding:10px 15px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn-primary{background:var(--blue);color:#fff}.btn-secondary{background:#e8eef5;color:#24364d}.btn-success{background:var(--green);color:#fff}.actions{display:flex;gap:9px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.field{grid-column:span 4}.field.half{grid-column:span 6}.field.full{grid-column:1/-1}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd9e5;border-radius:10px;padding:11px 12px;font:inherit;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #16b7d933;border-color:#16a6c5}.help{font-size:12px;color:var(--muted);margin-top:5px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #edf1f5;font-size:13px}th{color:#5f6d80;font-size:11px;text-transform:uppercase;background:#fafbfd}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.badge.draft{background:#e9eef5;color:#536174}.badge.submitted{background:#fff0cc;color:#8c5700}.badge.validated,.badge.active{background:#dcfce7;color:#166534}.badge.needs_correction{background:#fee2e2;color:#991b1b}.alert{padding:13px 15px;border-radius:11px;margin-bottom:16px}.alert.success{background:#dcfce7;color:#166534}.alert.error{background:#fee2e2;color:#991b1b}.empty{text-align:center;padding:40px;color:var(--muted)}.login-page{min-height:100vh;background:radial-gradient(circle at 80% 15%,#156d9b 0,transparent 32%),linear-gradient(135deg,#061426,#102e50);display:grid;place-items:center;padding:20px}.login-card{width:min(440px,100%);background:white;border-radius:22px;padding:34px;box-shadow:0 30px 80px #0006}.login-card h1{margin:18px 0 5px}.login-logo{width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,var(--cyan),var(--blue));display:grid;place-items:center;color:white;font-weight:900;font-size:22px}.login-card .field{margin:18px 0}.login-card .btn{width:100%;padding:13px}.photo-preview{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.photo-preview img{width:110px;height:80px;object-fit:cover;border-radius:9px}.calc-box{background:#e9f8fc;border:1px solid #b7e6ef;border-radius:12px;padding:14px;color:#075d73}.split{display:grid;grid-template-columns:1.4fr .8fr;gap:20px}.status-flow{display:flex;gap:8px;flex-wrap:wrap}.status-flow span{padding:7px 10px;background:#eef3f8;border-radius:8px;font-size:12px}@media(max-width:1050px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr}.split{grid-template-columns:1fr}.field{grid-column:span 6}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.menu-open .sidebar{transform:none}main{margin-left:0}.menu-toggle{display:block;border:0;background:#edf3f8;border-radius:9px;padding:9px}.topbar{padding:0 15px}.env-badge{display:none}.content{padding:15px}.grid-4,.grid-2{grid-template-columns:1fr}.field,.field.half{grid-column:1/-1}}

