:root{font-family:Arial,Helvetica,sans-serif;color:#17212b;background:#f5f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f5f7fa}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}.center-screen{min-height:100vh;display:grid;place-items:center}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);background:#fff;border:1px solid #dce3ea;border-radius:16px;padding:32px;box-shadow:0 12px 30px #192d4114}.brand-mark{display:inline-block;background:#234e70;color:#fff;font-weight:700;letter-spacing:.08em;padding:10px 14px;border-radius:9px}h1{margin:18px 0 8px;font-size:1.7rem}.muted{color:#5d6b78;line-height:1.5}.env-badge{display:inline-block;margin-top:8px;padding:5px 9px;border-radius:999px;background:#eaf1f7;color:#234e70;font-size:.8rem;font-weight:700}.login-form{margin-top:24px;display:grid;gap:16px}.login-form label{display:grid;gap:7px;font-weight:700}.login-form input{width:100%;padding:12px;border:1px solid #b8c5d1;border-radius:8px;outline:none}.login-form input:focus{border-color:#234e70;box-shadow:0 0 0 3px #234e701f}.login-form button,.topbar button{border:0;border-radius:8px;padding:12px 16px;background:#234e70;color:#fff;font-weight:700}.secondary{background:#fff!important;color:#234e70!important;border:1px solid #b8c5d1!important}.alert{padding:12px 14px;border-radius:8px;line-height:1.4}.alert.error{background:#fdecec;color:#8d2020;border:1px solid #f2baba}.footnote{margin:18px 0 0;color:#6a7885;font-size:.85rem;line-height:1.45}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 24px;background:#fff;border-bottom:1px solid #dce3ea}.topbar-subtitle{margin-left:10px;color:#6a7885;font-size:.9rem}.topbar-actions{display:flex;align-items:center;gap:12px}.topbar-actions .env-badge{margin:0}.content{max-width:1220px;margin:0 auto;padding:28px 24px 48px}.welcome-card{display:flex;justify-content:space-between;align-items:start;gap:20px;background:#fff;padding:24px;border-radius:14px;border:1px solid #dce3ea}.eyebrow{margin:0;color:#234e70;font-size:.78rem;font-weight:700;letter-spacing:.12em}.role-chip{background:#eef6ef;color:#2f6d3a;border:1px solid #cde3d1;padding:8px 10px;border-radius:999px;font-size:.82rem;font-weight:700}.kpi-grid,.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.kpi-card,.module-card{background:#fff;padding:20px;border-radius:12px;border:1px solid #dce3ea}.kpi-card span{color:#6a7885;display:block}.kpi-card strong{font-size:2rem;margin-top:6px;display:block;color:#234e70}.module-card h2{margin:0 0 8px;font-size:1rem}.module-card p{margin:0;color:#6a7885}@media(max-width:780px){.topbar,.welcome-card{flex-direction:column;align-items:stretch}.topbar-subtitle{display:block;margin:4px 0 0}.kpi-grid,.module-grid{grid-template-columns:1fr}}button.link-button{background:transparent;border:0;color:#234e70;padding:0;margin-right:14px;font-weight:700}.brand-inline{margin-right:4px}.welcome-card.compact{padding:20px 24px}.alert.success{background:#eef8f0;color:#256234;border:1px solid #c7e4cd;margin-top:16px}.alert.warning{background:#fff7e6;color:#76530b;border:1px solid #efd59a;margin-top:16px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.tab{border:1px solid #b8c5d1;background:#fff;color:#234e70;border-radius:9px;padding:10px 14px;font-weight:700}.tab.active{background:#234e70;color:#fff;border-color:#234e70}.panel-grid{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr);gap:18px;margin-top:18px;align-items:start}.stack{display:grid;gap:18px}.panel{background:#fff;border:1px solid #dce3ea;border-radius:12px;padding:20px}.panel h2{margin:0 0 14px;font-size:1.05rem}.helper{margin:-4px 0 16px;color:#6a7885;line-height:1.45;font-size:.88rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label{display:grid;gap:7px;font-weight:700;font-size:.9rem}.form-grid input,.form-grid select{width:100%;padding:11px 12px;border:1px solid #b8c5d1;border-radius:8px;background:#fff;color:#17212b}.form-grid input:focus,.form-grid select:focus{outline:none;border-color:#234e70;box-shadow:0 0 0 3px #234e701a}.form-grid .span-2{grid-column:1 / -1}.check-label{display:flex!important;grid-auto-flow:column;grid-template-columns:auto 1fr;justify-content:start;align-items:center;align-self:end;min-height:42px}.check-label input{width:auto}.form-actions{display:flex;gap:10px;margin-top:18px}.form-actions button{border:0;border-radius:8px;padding:11px 15px;background:#234e70;color:#fff;font-weight:700}.list-stack{display:grid;gap:10px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e1e7ed;border-radius:9px;padding:12px 13px}.list-row>div{min-width:0}.list-row strong{display:block;overflow-wrap:anywhere}.list-row span{display:block;color:#6a7885;font-size:.86rem;margin-top:4px;line-height:1.35}button.small{padding:8px 10px!important;flex:0 0 auto}.empty-state{color:#6a7885;margin:4px 0}.module-action{text-align:left;width:100%;cursor:pointer;color:inherit;font:inherit}.module-action:hover{border-color:#234e70;box-shadow:0 5px 18px #234e7014}.module-action span{display:inline-block;color:#234e70;margin-top:12px;font-weight:700}.kpi-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:980px){.panel-grid{grid-template-columns:1fr}.kpi-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.form-grid,.kpi-grid.four{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.list-row{align-items:flex-start}}
