:root{color-scheme:light;font-family:Segoe UI,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:#f0f1f3;color:#1c2430}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}button{border:1px solid #16253f;border-radius:4px;background:#16253f;color:#fff;padding:.62rem 1.05rem;cursor:pointer;font-weight:600;letter-spacing:.01em}button:hover{background:#223a61;border-color:#223a61}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:#fff;color:#16253f;border-color:#b6bdc7}button.secondary:hover{background:#eceef1;border-color:#96a0ac}button.danger{background:#7a2530;border-color:#7a2530}button.danger:hover{background:#8f2c39;border-color:#8f2c39}input,select{border:1px solid #c3c9d1;border-radius:4px;padding:.68rem .8rem;background:#fff;color:#1c2430;width:100%}input:focus,select:focus,button:focus-visible{outline:2px solid #4c6b96;outline-offset:1px}input[type=checkbox]{width:auto;padding:0;accent-color:#16253f;cursor:pointer}label{display:grid;gap:.35rem;color:#4a5568;font-weight:600;font-size:.92rem}small,.muted{color:#6b7684}small.field-error{color:#7a2530;display:block}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.8fr);background:#10182b}.login-hero{color:#fff;padding:6vw;display:flex;flex-direction:column;justify-content:center;gap:1.15rem;border-right:1px solid rgba(255,255,255,.08)}.login-hero img{width:150px;background:#fff;border-radius:8px;padding:14px}.login-hero h1{font-size:clamp(2rem,3.6vw,3.4rem);margin:0;line-height:1.05;font-weight:700;letter-spacing:-.01em}.login-hero p{max-width:600px;font-size:1.02rem;color:#c3cbdb;line-height:1.5}.hero-grid{display:flex;flex-wrap:wrap;gap:.55rem;max-width:680px}.hero-grid span{padding:.5rem .8rem;border-radius:3px;border:1px solid rgba(255,255,255,.22);background:#ffffff0a;font-size:.85rem}.login-card{align-self:center;margin:2rem;padding:2.1rem;background:#fff;border-radius:6px;display:grid;gap:1.1rem;box-shadow:0 1px 3px #0000004d}.error-box{background:#f6e4e4;color:#7a2530;padding:.85rem;border-radius:4px;border:1px solid #e2b8ba}.app-shell{min-height:100vh;display:grid;grid-template-columns:264px minmax(0,1fr)}.sidebar{background:#14203a;color:#fff;display:flex;flex-direction:column;padding:1rem;gap:.9rem;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid rgba(255,255,255,.06)}.brand{display:grid;grid-template-columns:46px minmax(0,1fr);gap:.75rem;align-items:center;padding:.7rem;border-radius:4px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.brand img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:3px;padding:5px}.brand strong{display:block;font-weight:650}.brand span{display:block;color:#8b95a8;font-size:.78rem}.sidebar nav{display:grid;gap:.1rem}.sidebar a{color:#b6bfd1;text-decoration:none;padding:.62rem .8rem;border-radius:3px;font-weight:550;font-size:.93rem;border-left:3px solid transparent}.sidebar a.active,.sidebar a:hover{background:#ffffff0f;color:#fff;border-left-color:#7a94bd}.main-area{min-width:0;padding:1.25rem 1.5rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px solid #d4d8de;border-radius:4px;padding:.9rem 1.15rem;position:sticky;top:1rem;z-index:2}.topbar h1{margin:.1rem 0 0;font-size:1.2rem;font-weight:650}.eyebrow{color:#4a5568;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.topbar-actions{display:flex;align-items:end;gap:.75rem}.topbar-actions label{min-width:120px}.page-stack{display:grid;gap:1rem;padding-top:1rem}.dashboard-hero-card,.module-header,.form-card,.table-card,.chart-card{background:#fff;border:1px solid #d4d8de;border-radius:4px;padding:1.15rem}.dashboard-hero-card{min-height:160px;display:flex;align-items:end;background:#14203a;color:#fff;border-color:#14203a}.dashboard-hero-card h2{font-size:clamp(1.7rem,2.4vw,2.6rem);margin:.2rem 0;font-weight:700}.dashboard-hero-card p{max-width:780px;color:#c3cbdb}.portal-hero{background:#1c2f2a;border-color:#1c2f2a}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem}.kpi-card{background:#fff;border:1px solid #d4d8de;border-radius:4px;padding:1.05rem;display:grid;gap:.4rem}.kpi-card span{color:#6b7684;font-weight:650;font-size:.86rem}.kpi-card strong{font-size:1.75rem;font-weight:700}.charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.bar-row{display:grid;grid-template-columns:150px 1fr auto;gap:.8rem;align-items:center;padding:.4rem 0}.bar-row div{height:9px;background:#e4e7ec;border-radius:2px;overflow:hidden}.bar-row i{display:block;height:100%;background:#16253f;border-radius:2px}.module-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.form-actions{display:flex;align-items:center;gap:.7rem}.row-actions{display:flex;gap:.4rem;flex-wrap:wrap}.row-actions button{padding:.4rem .7rem;font-size:.8rem;border-radius:3px}.table-toolbar{display:grid;grid-template-columns:1fr 220px auto;gap:.8rem;margin-bottom:1rem}.audit-toolbar{display:grid;grid-template-columns:1fr 180px 180px auto;gap:.8rem;margin-bottom:1rem}.audit-diff{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.audit-diff pre{background:#f5f6f8;border:1px solid #d4d8de;border-radius:3px;padding:.75rem;overflow:auto;max-height:280px;font-size:.78rem;margin:.4rem 0 0}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:780px}th,td{text-align:left;padding:.75rem .85rem;border-bottom:1px solid #e4e7ec;vertical-align:top;font-size:.92rem}th{color:#4a5568;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;background:#f5f6f8;font-weight:700;border-bottom:1px solid #d4d8de}tr:hover td{background:#f8f9fb}tr.active-row td{background:#eef1f6}.table-card .form-actions{margin:1rem 0}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:.8rem;padding-top:1rem;font-size:.88rem}.section-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem}.chat-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:1rem;padding-top:1rem;height:calc(100vh - 110px)}.chat-list,.chat-panel{background:#fff;border:1px solid #d4d8de;border-radius:4px;overflow:hidden}.chat-list{padding:1rem;display:flex;flex-direction:column;gap:.6rem;overflow-y:auto}.chat-list button{background:#f5f6f8;color:#1c2430;text-align:left;display:grid;gap:.3rem;position:relative;border-color:#d4d8de}.chat-list button.active{background:#16253f;color:#fff;border-color:#16253f}.chat-list button.active small{color:#c3cbdb}.unread-badge{position:absolute;top:.55rem;right:.55rem;background:#7a2530;color:#fff;border-radius:3px;padding:.1rem .5rem;font-size:.7rem;font-weight:700}.new-chat{display:grid;gap:.5rem;padding-top:.65rem;margin-top:.25rem;border-top:1px solid #e4e7ec}.chat-panel{display:grid;grid-template-rows:auto 1fr auto}.chat-panel header{padding:1rem;border-bottom:1px solid #e4e7ec;font-weight:700}.messages{padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.messages article{max-width:78%;padding:.75rem .95rem;background:#eef1f6;border-radius:5px;border:1px solid #d4d8de}.messages span{font-weight:700;color:#16253f}.messages article.mine{align-self:flex-end;background:#16253f;color:#fff;border-color:#16253f}.messages article.mine span{color:#a9b7cf}.messages article.mine small{color:#c3cbdb}.chat-panel footer{display:grid;grid-template-columns:1fr auto;gap:.75rem;padding:1rem;border-top:1px solid #e4e7ec}@media (max-width: 1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid,.charts-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.login-page{grid-template-columns:1fr}.login-hero{padding:2rem;border-right:none}.login-card{margin:1rem}.kpi-grid,.charts-grid,.form-grid,.table-toolbar,.audit-toolbar,.chat-layout,.audit-diff{grid-template-columns:1fr}.topbar{position:static;align-items:stretch;flex-direction:column}.topbar-actions{align-items:stretch;flex-direction:column}}
