:root{--nav:#0d2340;--nav2:#173a63;--blue:#1769e0;--teal:#0d9488;--bg:#f4f7fb;--card:#fff;--ink:#172033;--muted:#69768a;--line:#e1e7ef;--red:#b42318;--orange:#b54708;--green:#027a48;--shadow:0 12px 36px rgba(13,35,64,.09)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.btn{border:0;padding:10px 14px;border-radius:9px;font-weight:700;cursor:pointer}.primary{background:var(--blue);color:white}.outline{background:#fff;border:1px solid var(--line)}.danger{background:#fff1f0;color:var(--red)}.small{padding:6px 9px;font-size:12px}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-brand{background:radial-gradient(circle at 80% 20%,#2d7de533,transparent 25%),linear-gradient(145deg,#09203b,#174a7d);color:#fff;padding:70px;display:flex;align-items:center}.login-brand h1{font-size:54px;margin:10px 0}.login-brand p{max-width:580px;color:#d4e0ee;font-size:18px;line-height:1.6}.brand-mark{display:inline-grid;place-items:center;width:60px;height:60px;background:linear-gradient(135deg,#3c82f6,#13b8aa);border-radius:18px;font-weight:900;font-size:22px}.login-points{display:flex;gap:10px;flex-wrap:wrap}.login-points span{background:#ffffff16;border:1px solid #ffffff25;border-radius:999px;padding:8px 11px}.login-card{padding:70px clamp(25px,7vw,90px);background:white;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:34px;margin:0}.login-card p{color:var(--muted)}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;margin:9px 0}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #ccd6e2;border-radius:9px;background:#fff}.error{color:var(--red);min-height:20px}
.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}aside{background:var(--nav);color:white;padding:18px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto}.logo{font-weight:900;font-size:20px;padding:8px 10px 18px}.logo span{margin-left:6px}.side-user{padding:13px;background:#ffffff10;border-radius:11px;margin:0 7px 12px}.side-user small{display:block;color:#aebed1;margin-top:3px}.nav-btn{width:100%;border:0;background:transparent;color:#d5e1ef;text-align:left;padding:11px 12px;border-radius:9px;cursor:pointer;margin:2px 0}.nav-btn:hover,.nav-btn.active{background:var(--nav2);color:white}.logout{margin-top:auto}
main{min-width:0}header{height:80px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:15px;padding:0 24px;position:sticky;top:0;z-index:20}header h1{font-size:22px;margin:0}header p{margin:3px 0 0;color:var(--muted);font-size:13px}.header-right{margin-left:auto;display:flex;gap:12px;align-items:center}.status-pill,.pill{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}.status-pill{background:#ecfdf3;color:var(--green)}.menu-btn{display:none;border:0;background:#eef3f9;border-radius:8px;padding:8px}#content{padding:24px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:white;border:1px solid #edf1f6;border-radius:14px;padding:18px;box-shadow:0 5px 20px #10233f0b;margin-bottom:18px}.metric span{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;font-size:30px;margin-top:8px}.two-col{display:grid;grid-template-columns:1.4fr .6fr;gap:16px}.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:12px}.toolbar .search{max-width:360px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f8fafc;color:#596579;text-transform:uppercase;font-size:10px;letter-spacing:.04em}.actions{display:flex;gap:6px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.full{grid-column:1/-1}.low{background:#ecfdf3;color:var(--green)}.moderate{background:#fff7ed;color:var(--orange)}.high,.critical{background:#fff1f0;color:var(--red)}.alert{padding:10px 12px;border-left:4px solid #98a2b3;border-radius:6px;background:#f8fafc;margin:7px 0}.alert.high,.alert.critical{border-left-color:var(--red)}.alert.moderate{border-left-color:var(--orange)}
.chat-fab{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border:0;border-radius:50%;background:linear-gradient(135deg,#1769e0,#0d9488);color:white;font-weight:900;box-shadow:var(--shadow);z-index:60}.chat-panel{position:fixed;right:22px;bottom:92px;width:min(390px,calc(100vw - 30px));height:590px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 60px #0d234035;z-index:60;display:flex;flex-direction:column;overflow:hidden}.chat-head{padding:14px 16px;background:var(--nav);color:white;display:flex;justify-content:space-between}.chat-head small{display:block;color:#b9c8da;margin-top:3px}.chat-head button{background:transparent;border:0;color:white;font-size:24px}.chat-messages{flex:1;overflow:auto;background:#f7f9fc;padding:13px}.bubble{max-width:85%;padding:10px 12px;border-radius:12px;margin:7px 0;font-size:13px;line-height:1.45}.bubble.bot{background:white;border:1px solid var(--line)}.bubble.me{background:#1769e0;color:white;margin-left:auto}.chat-chips{padding:8px;border-top:1px solid var(--line);display:flex;gap:5px;flex-wrap:wrap}.chat-chips button{border:1px solid var(--line);background:white;border-radius:999px;padding:6px 8px;font-size:10px}.chat-input{display:flex;gap:7px;padding:10px;border-top:1px solid var(--line)}.chat-input input{flex:1}.chat-input button{background:var(--blue);color:white;border:0;border-radius:8px;padding:0 12px}
@media(max-width:1000px){.grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.app{grid-template-columns:1fr}aside{position:fixed;left:-260px;width:250px;z-index:40;transition:.2s}aside.open{left:0}.menu-btn{display:block}}
@media(max-width:650px){.login-page{grid-template-columns:1fr}.login-brand{display:none}.login-card{min-height:100vh;padding:30px 20px}.grid,.form-grid{grid-template-columns:1fr}#content{padding:14px}header{padding:0 12px}.header-right #headerUser{display:none}.chat-panel{right:15px;bottom:88px}}
