*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#03080d;color:#eaf7ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}body{overflow-x:hidden}.bg{position:fixed;inset:0;pointer-events:none;overflow:hidden}.orb{position:absolute;width:700px;height:700px;right:-180px;top:-300px;background:radial-gradient(circle,#0b5368 0,#07303d 22%,transparent 66%);opacity:.55}.gridbg{position:absolute;inset:0;background-image:linear-gradient(#12303b22 1px,transparent 1px),linear-gradient(90deg,#12303b22 1px,transparent 1px);background-size:55px 55px;mask-image:linear-gradient(to bottom,#0008,transparent 80%)}.app{position:relative;display:flex;min-height:100vh}aside{width:250px;border-right:1px solid #17313c;background:#050d13e8;backdrop-filter:blur(22px);padding:26px 17px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;margin-bottom:32px}.mark{width:42px;height:42px;border:1px solid #f5d23a;color:#f5d23a;border-radius:12px;display:grid;place-items:center;box-shadow:0 0 25px #f5d23a1c}.brand b{letter-spacing:4px;font-size:17px}.brand small{display:block;color:#52717d;font-size:8px;letter-spacing:2px;margin-top:3px}.profile{border:1px solid #15313d;background:#09161e;padding:11px;border-radius:12px;display:flex;gap:10px;align-items:center;margin-bottom:26px}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#102b37;border:1px solid #235262;color:#f5d23a;font-size:10px}.profile b{font-size:11px;display:block}.profile small{color:#64808c;font-size:9px}nav button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;color:#6e8894;padding:12px;border-radius:9px;margin:3px 0;cursor:pointer;font-size:14px}nav button.active,nav button:hover{background:#0d222b;color:#eaf7ff}nav button:first-letter{color:#f5d23a}nav i{margin-left:auto;background:#102d38;color:#8ca9b5;border-radius:10px;padding:2px 6px;font-size:8px;font-style:normal}.system{margin-top:auto;border-top:1px solid #142b34;padding:18px 8px 0}.system span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#45ffb4;box-shadow:0 0 12px #45ffb4;margin-right:7px}.system b{font-size:9px;letter-spacing:1px}.system small{display:block;color:#47636e;font-size:8px;margin-top:5px;margin-left:15px}main{width:min(1440px,calc(100% - 250px));margin:auto;padding:31px 42px}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}header>div:first-child>small{font-size:8px;letter-spacing:2px;color:#587784}h1{font-size:31px;letter-spacing:-1px;margin:6px 0 3px}header p{margin:0;color:#66818d;font-size:12px}.header-actions{display:flex;align-items:center;gap:8px}.header-actions>button{width:34px;height:34px;border:1px solid #1a3540;background:#08131a;color:#89a4af;border-radius:9px}.time{margin-left:10px;text-align:right}.time b{display:block;font-size:22px}.time small{color:#597480;font-size:8px}.hero{min-height:210px;border:1px solid #1b3b48;border-radius:18px;background:linear-gradient(110deg,#07151d,#091b25 55%,#07131a);display:flex;align-items:center;position:relative;overflow:hidden;padding:25px 32px;margin-bottom:15px;box-shadow:inset 0 0 70px #0b617522,0 15px 45px #0005}.core{width:160px;height:160px;position:relative;display:grid;place-items:center;margin-right:32px}.ring{position:absolute;border:1px solid #1fb4d055;border-radius:50%;inset:4px;animation:spin 14s linear infinite}.r2{inset:19px;border-style:dashed;animation-direction:reverse;animation-duration:9s}.r3{inset:35px;border-color:#f5d23a44;animation-duration:7s}.corebolt{width:64px;height:64px;border-radius:50%;background:#07151d;border:1px solid #2bbbd8;box-shadow:0 0 35px #1fb4d855;color:#f5d23a;display:grid;place-items:center;font-size:30px;z-index:2}.corelabel{position:absolute;bottom:-2px;text-align:center;font-size:7px;letter-spacing:2px;color:#6c96a4}.corelabel small{color:#45ffb4;font-size:6px}@keyframes spin{to{transform:rotate(360deg)}}.hero-copy{max-width:500px}.hero-copy>small,.panelhead small{font-size:8px;letter-spacing:2px;color:#4f7a88}.hero-copy h2{font-size:25px;margin:7px 0}.hero-copy p{color:#77939e;font-size:12px;line-height:1.6;margin:0 0 15px}.hero-copy button{background:#0b222c;border:1px solid #285363;color:#9fb7c0;border-radius:8px;padding:9px 12px;font-size:10px}.weather{margin-left:auto;text-align:right;border-left:1px solid #19333d;padding-left:30px}.weather small{display:block;color:#587582;font-size:8px;letter-spacing:2px}.weather strong{display:block;font-size:42px;font-weight:300;margin:8px 0}.weather span{font-size:9px;color:#71909c}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.kpis article{background:#07131ae6;border:1px solid #16333e;border-radius:14px;padding:17px}.kpis small{font-size:8px;letter-spacing:1.5px;color:#587784}.kpis b{display:block;font-size:24px;margin:7px 0}.kpis b span{font-size:12px;color:#6d8994;font-weight:400}.kpis .up{color:#48e6a5;font-size:9px}.warn{color:#f5d23a;font-size:9px}.progress{height:3px;background:#122a34;border-radius:3px;margin-top:11px}.progress i{height:100%;display:block;background:#27b7d7;border-radius:3px}.kpis em{display:block;color:#4f6975;font-size:8px;font-style:normal;margin-top:6px}.mini{display:flex;align-items:flex-end;height:25px;gap:4px;margin-top:8px}.mini i{display:block;width:9px;background:#1a6b7e;border-radius:2px}.mini i:nth-child(1){height:9px}.mini i:nth-child(2){height:14px}.mini i:nth-child(3){height:11px}.mini i:nth-child(4){height:19px}.mini i:nth-child(5){height:15px}.mini i:nth-child(6){height:23px}.mini i:nth-child(7){height:20px}.route{color:#2ab9d8;font-size:12px;letter-spacing:2px;margin-top:13px}.layout{display:grid;grid-template-columns:1.35fr .65fr;gap:15px}.lower{grid-template-columns:1fr 1fr;margin-top:0}.panel{background:#07131ae6;border:1px solid #17333e;border-radius:15px;padding:19px;min-height:210px}.panel.large{min-height:250px}.panelhead{display:flex;justify-content:space-between;align-items:flex-start}.panelhead h3{margin:5px 0 0;font-size:16px}.panelhead select{background:#091a22;border:1px solid #21404b;color:#819ba5;padding:6px;border-radius:7px;font-size:9px}.chart{height:165px;margin-top:15px;position:relative;border-bottom:1px solid #17313a;background:repeating-linear-gradient(to bottom,transparent 0,transparent 40px,#102831 41px)}.line{position:absolute;inset:18px 0 10px;background:linear-gradient(155deg,transparent 0 8%,#2fc6e3 8.5% 9%,transparent 9.5% 19%,#2fc6e3 19.5% 20%,transparent 20.5% 33%,#2fc6e3 33.5% 34%,transparent 34.5% 49%,#2fc6e3 49.5% 50%,transparent 50.5% 66%,#2fc6e3 66.5% 67%,transparent 67.5%);opacity:.8;filter:drop-shadow(0 0 7px #24c6e355)}.labels{position:absolute;bottom:-18px;left:0;right:0;display:flex;justify-content:space-between;color:#4c6874;font-size:8px}.live{font-size:7px;color:#45ffb4;border:1px solid #245c50;padding:5px 7px;border-radius:10px}.job{display:flex;gap:12px;margin:24px 0}.jobicon{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:#102832;color:#f5d23a}.job b,.job span,.job small{display:block}.job b{font-size:12px}.job span{color:#78939d;font-size:10px;margin-top:4px}.job small{color:#4f6975;font-size:8px;margin-top:7px}.wide{width:100%;border:1px solid #254754;background:#0b2029;color:#8fa9b2;border-radius:8px;padding:9px;font-size:9px}.yellow{background:#f5d23a;color:#061017;border-color:#f5d23a;font-weight:700}.timeline>div{display:grid;grid-template-columns:45px 9px 1fr;gap:11px;align-items:start;padding:11px 0;border-bottom:1px solid #132c35}.timeline>div:last-child{border:0}.timeline>b{color:#f5d23a}.timeline i{width:7px;height:7px;border-radius:50%;background:#25b8d7;box-shadow:0 0 9px #25b8d766;margin-top:4px}.timeline strong{display:block;font-size:10px}.timeline small{display:block;color:#607d88;font-size:8px;margin-top:3px}.link{background:none;border:0;color:#568795;font-size:8px}.spark{color:#f5d23a}.insight{color:#77939e;font-size:11px;line-height:1.7}.insight b{color:#e9f7fb}footer{color:#3d5864;font-size:8px;margin-top:15px;text-align:right}footer span{margin-left:20px;color:#43856f}@media(max-width:1050px){aside{width:210px}main{width:calc(100% - 210px);padding:25px}.kpis{grid-template-columns:repeat(2,1fr)}.layout,.lower{grid-template-columns:1fr}}@media(max-width:720px){aside{display:none}main{width:100%;padding:16px}.hero{padding:20px}.core{width:120px;height:120px;margin-right:18px}.weather{display:none}.hero-copy h2{font-size:20px}.kpis{grid-template-columns:1fr 1fr}h1{font-size:25px}}@media(max-width:480px){.kpis{grid-template-columns:1fr}.core{width:95px;height:95px}.corebolt{width:48px;height:48px;font-size:22px}.hero-copy p{font-size:10px}.header-actions>button{display:none}.time{display:none}}
.modal{position:fixed;inset:0;background:#000b;backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;padding:20px;z-index:20}.modal.show{display:flex}.modal-card{width:min(900px,100%);max-height:94vh;overflow:auto;background:#07131a;border:1px solid #24505d;border-radius:18px;padding:24px;box-shadow:0 30px 90px #000}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.modal-head h2{margin:5px 0 0;font-size:24px}.modal-head button{background:none;border:0;color:#8ba6b0;font-size:28px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal label{display:block;color:#76929d;font-size:9px;margin:10px 0}.modal input,.modal textarea{display:block;width:100%;margin-top:6px;background:#061017;border:1px solid #1d3b46;color:#e9f7fb;border-radius:8px;padding:10px;font:inherit;font-size:11px;outline:none}.sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}.signbox{background:#061017;border:1px solid #1b3944;border-radius:10px;padding:12px}.sign-title{font-size:9px;color:#73909b;margin-bottom:8px}.signbox canvas{display:block;width:100%;height:150px;background:#f7fafb;border-radius:7px;touch-action:none}.clear{margin-top:8px;background:none;border:0;color:#5f8996;font-size:8px;cursor:pointer}.report-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.primary,.secondary{border-radius:8px;padding:10px 16px;font-size:10px;cursor:pointer}.primary{background:#f5d23a;border:1px solid #f5d23a;color:#071017;font-weight:700}.secondary{background:#0b2029;border:1px solid #28505e;color:#9bb2ba}@media(max-width:650px){.form-grid,.sign-grid{grid-template-columns:1fr}.modal-card{padding:16px}.signbox canvas{height:130px}}@media print{body>*{display:none!important}.modal{display:flex!important;position:static;background:white;padding:0}.modal-card{max-height:none;box-shadow:none;border:0;color:#111;width:100%}.modal input,.modal textarea{color:#111;border:1px solid #aaa}.modal-head button,.report-actions,.clear{display:none!important}}

.company-logo{width:92px;height:72px;object-fit:contain;display:block;margin:0 auto 8px;border-radius:8px}
.login-overlay{position:fixed;inset:0;z-index:999;background:#02070b;display:flex;align-items:center;justify-content:center;padding:20px}
.login-card{width:min(430px,100%);background:#07131a;border:1px solid #28515e;border-radius:20px;padding:30px;box-shadow:0 30px 100px #000}
.login-logo{display:block;width:170px;height:110px;object-fit:contain;margin:0 auto 18px}
.login-card h1{text-align:center;margin:0;font-size:28px;letter-spacing:2px}.login-card .sub{text-align:center;color:#6e8b95;font-size:10px;letter-spacing:2px;margin:7px 0 24px}
.login-card label{display:block;color:#77939d;font-size:10px;margin:12px 0}.login-card input{width:100%;box-sizing:border-box;margin-top:6px;background:#061017;border:1px solid #1e3d48;color:#eefaff;border-radius:9px;padding:13px;outline:none}.login-card input:focus{border-color:#28b9d7}
.password-wrap{position:relative}.password-wrap input{padding-right:75px}.show-pass{position:absolute;right:8px;top:8px;padding:7px 9px;background:#0c222b;border:0;border-radius:6px;color:#86a5af;font-size:9px;cursor:pointer}
.login-submit{width:100%;margin-top:16px;padding:13px;border-radius:9px;border:0;background:#f5d23a;color:#071017;font-weight:800;cursor:pointer}.login-error{display:none;background:#3a1116;border:1px solid #7d2934;color:#ffadb7;border-radius:8px;padding:10px;font-size:10px;margin-top:12px}.login-note{text-align:center;color:#58727c;font-size:9px;margin-top:16px;line-height:1.5}
.logout-btn{background:none;border:1px solid #244550;color:#7e9aa4;border-radius:7px;padding:7px 10px;font-size:9px;cursor:pointer;margin-left:8px}
