:root{font-family:Inter,system-ui,sans-serif;color:#e7edf6;background:#070d18}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(155deg,#111c31,#070d18 62%);font-size:16px}.hidden{display:none!important}.center{min-height:100vh;display:grid;place-content:center;text-align:center;padding:20px}.loader{width:38px;height:38px;border:4px solid #26344b;border-top-color:#16b8a6;border-radius:50%;animation:spin .8s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.login-card{width:min(390px,calc(100vw - 32px));background:#111a2a;border:1px solid #2a374d;border-radius:24px;padding:28px;box-shadow:0 24px 70px #0007}.mark{width:62px;height:62px;border-radius:20px;background:#16b8a6;color:#04231f;font-size:38px;font-weight:900;display:grid;place-items:center;margin:0 auto 17px}.login-card h1{font-size:24px;margin:0}.login-card p{color:#8fa0b7;margin:8px 0 20px}.login-card input{margin-bottom:11px}.login-card button{width:100%;margin-top:4px}.error{color:#fca5a5;min-height:20px;margin-top:12px;font-size:14px}.app{max-width:760px;margin:auto;min-height:100vh;padding-bottom:92px}header{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;background:#0d1626ee;backdrop-filter:blur(12px);padding:17px 16px 13px;border-bottom:1px solid #26344b}header h1{font-size:21px;margin:0}header span{display:block;color:#8fa0b7;font-size:13px;margin-top:3px}.icon{border:1px solid #33445e;background:#19253a;color:#dce6f4;border-radius:11px;padding:9px 12px}nav{display:flex;gap:7px;padding:13px 12px 5px;overflow:auto}nav button{white-space:nowrap;border:1px solid #2b3950;background:#152137;color:#aebbd0;border-radius:18px;padding:10px 13px;font-size:14px}nav button.active{background:#16b8a6;color:#05221e;border-color:#16b8a6;font-weight:800}main{padding:9px 13px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:13px}.metric{background:#111c2f;border:1px solid #26344b;border-radius:15px;padding:11px;text-align:center;color:#91a0b5;font-size:12px}.metric b{display:block;color:#fff;font-size:21px}.toolbar{display:flex;gap:8px;margin-bottom:12px}.toolbar input,.toolbar select{margin:0}.card{background:#111c2f;border:1px solid #26344b;border-radius:18px;padding:16px;margin-bottom:11px;box-shadow:0 10px 26px #0002}.card h2{font-size:18px;margin:0 0 7px}.meta{color:#94a3b8;font-size:14px;margin:5px 0}.detail{margin:10px 0 13px;white-space:pre-wrap}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions button,.actions a{border:0;text-decoration:none;background:#22314b;color:#e4ecf7;border-radius:10px;padding:9px 11px;font-size:13px}.actions .ok{background:#0f766e}.actions .warn{background:#854d0e}.actions .danger{background:#7f1d1d}.badge{display:inline-block;font-size:12px;border-radius:8px;padding:3px 7px;margin-right:7px}.assigned{background:#334155}.in_progress{background:#1d4ed8}.submitted{background:#854d0e}.approved{background:#166534}.revision_requested{background:#991b1b}.empty{text-align:center;color:#75869e;padding:70px 20px}.fab{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);width:min(720px,calc(100% - 26px));border:0;border-radius:16px;background:#16b8a6;color:#04231f;font-weight:900;font-size:17px;padding:17px;box-shadow:0 14px 35px #0009}input,textarea,select{width:100%;background:#09111f;color:#fff;border:1px solid #34435a;border-radius:12px;padding:13px;font-size:16px}textarea{min-height:88px;resize:vertical}label{color:#9fb0c6;font-size:13px;display:grid;gap:5px}dialog{width:min(620px,calc(100% - 24px));max-height:90vh;border:1px solid #33445e;border-radius:22px;background:#101827;color:#fff;padding:0}dialog::backdrop{background:#000b}.modal{padding:20px}.modal h2{margin:0 0 16px}.form-grid{display:grid;gap:11px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:17px}.primary,.secondary{border:0;border-radius:11px;padding:12px 16px;font-size:15px}.primary{background:#16b8a6;color:#04231f;font-weight:800}.secondary{background:#26344b;color:#fff}.money{font-size:22px;font-weight:800}.positive{color:#5eead4}.negative{color:#fca5a5}.section-title{display:flex;align-items:center;justify-content:space-between;margin:4px 2px 12px}.section-title h2{margin:0;font-size:19px}#toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);background:#e7edf6;color:#111827;border-radius:12px;padding:11px 16px;opacity:0;pointer-events:none;transition:.2s;z-index:20;white-space:nowrap}#toast.show{opacity:1}@media(min-width:650px){.form-grid.two{grid-template-columns:1fr 1fr}}
