:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Tahoma,sans-serif;color:#e9f0f7;background:#08111d}*{box-sizing:border-box}body{margin:0;background:#08111d}button,input,select,textarea{font:inherit}.app{min-height:100vh;padding-bottom:88px}header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:18px 18px 12px;background:#0b1524;border-bottom:1px solid #1c2c3e}header b{display:block;font-size:20px}header small{color:#8fa7bd}.icon{background:#122238;border:0;color:#fff;border-radius:12px;padding:9px}.projectbar{padding:10px 16px;background:#0b1524}.projectbar select{width:100%;background:#122238;color:#eaf2f8;border:1px solid #203650;border-radius:12px;padding:11px}main{padding:16px;max-width:850px;margin:auto}.hero{background:linear-gradient(135deg,#14314c,#0c2237);border:1px solid #244763;border-radius:20px;padding:20px}.hero small{color:#8fbad7}.hero h2{font-size:30px;margin:8px 0}.hero p{margin:0;color:#aac0d2}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0 24px}.card{background:#0f1d2d;border:1px solid #1b3045;border-radius:15px;padding:14px}.card small{display:block;color:#8ea4b8;margin-bottom:8px}.card b{font-size:16px}.quickgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.q{min-height:92px;background:#0f1d2d;color:#e9f2fa;border:1px solid #1d344c;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.list{display:flex;flex-direction:column;gap:9px}.row,.project{background:#0f1d2d;border:1px solid #1a3046;border-radius:14px;padding:13px;display:flex;justify-content:space-between;gap:12px;align-items:center}.row small,.project small{display:block;color:#8ea5b9;margin-top:5px}.row strong{white-space:nowrap;font-size:14px}.project span{color:#76b6da}.titleline{display:flex;align-items:center;justify-content:space-between}.primary{background:#2f8df5;color:#fff;border:0;border-radius:13px;padding:12px 18px;font-weight:700}.primary.small{padding:9px 12px}.panel,.form{background:#0f1d2d;border:1px solid #1a3046;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:11px;margin-bottom:16px}label{color:#adc0d1;font-size:13px;display:flex;flex-direction:column;gap:6px}input,select,textarea{width:100%;background:#081522;color:#fff;border:1px solid #28435e;border-radius:11px;padding:11px;outline:none}textarea{resize:vertical}.modulelist{display:flex;flex-direction:column;gap:8px}.modulelist div{background:#0f1d2d;border:1px solid #1a3046;padding:14px;border-radius:13px;display:flex;justify-content:space-between}.modulelist span{font-size:12px;color:#6fd3a8}.danger{margin-top:18px;background:#3d1720;color:#ffb2c0;border:1px solid #682433;padding:11px 15px;border-radius:12px;display:flex;gap:7px;align-items:center}nav{position:fixed;bottom:0;left:0;right:0;z-index:10;height:76px;padding-bottom:env(safe-area-inset-bottom);display:flex;background:#0b1524;border-top:1px solid #1d3043}nav button{flex:1;background:transparent;border:0;color:#70869b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px}nav button.active{color:#51a7ff}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:30;display:flex;align-items:flex-end}.sheet{background:#0b1524;border-radius:22px 22px 0 0;width:100%;max-height:88vh;overflow:auto;padding:16px 16px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px #0008}.sheethead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.sheethead button{background:#17283a;color:#fff;border:0;border-radius:50%;width:34px;height:34px;font-size:24px}.toast{position:fixed;left:18px;right:18px;bottom:90px;background:#173755;color:#fff;padding:13px;border-radius:13px;text-align:center;z-index:50}.login{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:28px;max-width:440px;margin:auto;gap:12px}.brand{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,#2f8df5,#28c79a);display:grid;place-items:center;font-weight:900;font-size:34px}.login h1{margin:4px 0}.login p{color:#91a7bb;margin-top:0}.error{color:#ff9ead}.login input{background:#0f1d2d}@media (min-width:700px){.grid.kpi{grid-template-columns:repeat(3,1fr)}.quickgrid{grid-template-columns:repeat(6,1fr)}}
