:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#102124;background:#f5f8f8;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:1180px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.login-shell{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top right,#d6fff4,#f5f8f8 45%,#eef3f2)}.login-card{width:420px;padding:42px;background:#fff;border:1px solid #dce6e4;border-radius:18px;box-shadow:0 18px 60px #12322f1f}.brand-mark{width:72px;height:72px;display:grid;place-items:center;border-radius:18px;background:#2edcae;color:#082820;font-weight:900;font-size:25px;letter-spacing:1px}.login-card h1{margin:24px 0 8px;font-size:30px}.login-card>p{margin:0 0 28px;color:#62706f}.login-form{display:grid;gap:18px}.login-form label{display:grid;gap:8px;font-size:14px;font-weight:650}.login-form input{width:100%;border:1px solid #cdd8d6;border-radius:10px;padding:13px 14px;outline:none;background:#fff}.login-form input:focus{border-color:#1eb98f;box-shadow:0 0 0 3px #2edcae29}.login-form button,.center-screen button{border:0;border-radius:10px;padding:13px 16px;background:#102e2b;color:#fff;font-weight:750}.login-form button:disabled{opacity:.55;cursor:not-allowed}.form-error{padding:11px 12px;border:1px solid #efb4b4;background:#fff2f2;color:#912b2b;border-radius:9px;font-size:14px}.link-button{margin-top:20px;border:0;background:transparent;color:#0d7f66;padding:0}.text-link{display:inline-block;margin-top:22px;color:#0d7f66;text-decoration:none}.center-screen{min-height:100vh;display:grid;place-items:center;text-align:center;padding:24px}.column-gap{align-content:center;gap:12px}.app-shell{min-height:100vh;display:grid;grid-template-columns:255px 1fr}.sidebar{background:#0d1b1e;color:#d9e5e3;display:flex;flex-direction:column;min-height:100vh}.sidebar-brand{padding:25px 22px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:baseline;gap:9px}.sidebar-brand span{font-size:24px;font-weight:900;color:#2edcae}.sidebar-brand small{color:#91a6a2}.sidebar nav{padding:10px 10px 20px;flex:1;overflow-y:auto}.nav-section{margin-top:18px}.nav-title{padding:0 10px 8px;color:#718783;font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.nav-item{width:100%;display:flex;align-items:center;gap:10px;color:#c7d5d2;border:0;background:transparent;padding:10px 11px;border-radius:8px;text-align:left}.nav-item:hover{background:#ffffff0f}.nav-item.active{color:#071d18;background:#2edcae;font-weight:750}.sidebar-footer{border-top:1px solid rgba(255,255,255,.07);padding:12px 10px 18px}.content-shell{min-width:0;display:grid;grid-template-rows:70px 1fr}.topbar{height:70px;background:#fff;border-bottom:1px solid #dde6e5;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar>div:first-child{display:grid;gap:3px;min-width:0}.topbar strong{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar span{font-size:12px;color:#74827f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip{display:grid;text-align:right}.user-chip span{color:#1c2c2a;font-size:13px;font-weight:750}.user-chip small{color:#72817e;font-size:10px}.dashboard-stage{position:relative;padding:14px;min-height:0;height:calc(100vh - 70px)}.powerbi-frame{width:100%;height:100%;border:0;background:#fff;border-radius:10px;box-shadow:0 4px 18px #22423e12}.empty-state{height:100%;background:#fff;border:1px dashed #c8d5d2;border-radius:12px;display:grid;place-items:center;align-content:center;gap:8px;color:#61706d}.empty-state h2{margin:5px 0 0;color:#243735}.empty-state p{margin:0}.admin-shell{min-height:100vh;background:#f3f7f6}.admin-topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fff;border-bottom:1px solid #dfe8e6}.admin-heading{display:flex;align-items:center;gap:14px}.admin-heading h1{margin:0;font-size:22px}.admin-heading p{margin:3px 0 0;color:#70807d;font-size:13px}.admin-user{text-align:right;display:grid;gap:2px}.admin-user strong{font-size:13px}.admin-user span{color:#73827f;font-size:10px}.admin-body{min-height:calc(100vh - 78px);display:grid;grid-template-columns:220px 1fr}.admin-nav{padding:24px 14px;background:#102225;border-right:1px solid #d9e3e1}.admin-nav button{width:100%;display:flex;align-items:center;gap:10px;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:#c7d4d2;text-align:left;margin-bottom:5px}.admin-nav button:hover{background:#ffffff0f}.admin-nav button.active{background:#2edcae;color:#09241d;font-weight:750}.admin-content{padding:26px 30px 40px;min-width:0}.admin-content-head{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:18px}.admin-content-head h2{margin:0;font-size:23px}.admin-content-head p{margin:5px 0 0;color:#74827f;font-size:13px}.admin-actions,.modal-actions{display:flex;gap:9px;align-items:center}.primary-button,.secondary-button,.icon-button{border:0;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary-button{padding:10px 14px;background:#123430;color:#fff;font-weight:700}.primary-button:hover{background:#0d2925}.primary-button:disabled{opacity:.6;cursor:not-allowed}.secondary-button{padding:10px 13px;background:#fff;color:#304340;border:1px solid #d7e2df}.icon-button{width:36px;height:36px;background:#fff;color:#344743;border:1px solid #d9e3e1}.icon-button:hover{background:#f1f6f5}.admin-card{background:#fff;border:1px solid #dfe8e6;border-radius:13px;box-shadow:0 5px 18px #1f413c0b;overflow:hidden}.admin-loading{padding:38px;text-align:center;color:#73817f}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{padding:12px 15px;text-align:left;background:#f8faf9;color:#687875;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #e4ebe9}.admin-table td{padding:13px 15px;border-bottom:1px solid #edf1f0;vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover{background:#fbfdfc}.table-title{display:flex;gap:10px;align-items:center}.table-title>svg{color:#178c70;flex:none}.table-title div{display:grid;gap:2px}.table-title small{color:#788582;max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-actions{text-align:right;width:65px}.table-empty{text-align:center;color:#71807d;padding:34px!important}.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}.status-pill.on{background:#e3faf3;color:#087055}.status-pill.off{background:#f1f3f3;color:#697572}.success-banner{margin-bottom:13px;padding:11px 13px;border-radius:9px;border:1px solid #abe8d6;background:#edfcf7;color:#0c6c55;font-size:13px}.admin-error{margin-bottom:13px}.phase-note{display:flex;gap:14px;align-items:flex-start;padding:18px;background:#f2fbf8;border-bottom:1px solid #dcebe7;color:#31534b}.phase-note svg{color:#138169;flex:none}.phase-note p{margin:4px 0 0;color:#61726e;font-size:12px;max-width:760px}.audit-table td:first-child{white-space:nowrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#05161475;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:30px}.admin-modal{width:650px;max-height:calc(100vh - 60px);overflow-y:auto;background:#fff;border-radius:15px;box-shadow:0 25px 80px #061f1b40}.modal-head{padding:20px 22px 15px;display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #e6eceb}.modal-head h3{margin:0;font-size:19px}.modal-head p{margin:4px 0 0;color:#74817f;font-size:12px}.form-grid{padding:20px 22px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:grid;gap:7px;color:#344743;font-size:12px;font-weight:700}.form-grid input:not([type=checkbox]),.form-grid select{width:100%;padding:11px 12px;border-radius:9px;border:1px solid #cfdbd8;background:#fff;outline:none;color:#172a27}.form-grid input:focus,.form-grid select:focus{border-color:#20b78e;box-shadow:0 0 0 3px #2edcae21}.form-grid .span-2{grid-column:span 2}.toggle-row{display:flex!important;align-items:center;gap:9px!important;min-height:40px}.toggle-row input{width:17px;height:17px;accent-color:#12866b}.modal-actions{justify-content:flex-end;padding:15px 22px 20px;border-top:1px solid #e8eeec}.users-table th:first-child{min-width:235px}.user-cell{position:relative;display:grid;gap:2px;padding-right:42px}.user-cell small{color:#75837f;font-size:11px}.self-badge{position:absolute;right:0;top:2px;padding:3px 7px;border-radius:999px;background:#e9f8f4;color:#08705a;font-size:9px;font-weight:800;text-transform:uppercase}.role-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800}.role-pill.admin{background:#e7f2ff;color:#285a93}.role-pill.user{background:#f1f3f3;color:#5f6c69}.access-list{display:flex;align-items:center;flex-wrap:wrap;gap:5px;max-width:430px}.access-list span{padding:4px 7px;border-radius:6px;background:#eef7f4;color:#2f6559;font-size:10px}.access-list em{color:#87928f;font-size:11px;font-style:normal}.user-modal{width:700px}.access-picker{display:grid;gap:10px;padding-top:2px}.access-picker-head{display:grid;gap:3px}.access-picker-head strong{font-size:12px;color:#344743}.access-picker-head small{color:#788581;font-weight:400}.category-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:11px;border:1px solid #dbe5e2;border-radius:10px;background:#fafcfb}.category-checks label{display:flex;align-items:center;gap:8px;padding:8px 9px;border-radius:8px;background:#fff;border:1px solid #e5ecea;cursor:pointer}.category-checks label:hover{border-color:#b7d8cf}.category-checks input{width:16px;height:16px;accent-color:#12866b}.category-checks.disabled{opacity:.58}.category-checks.disabled label{cursor:default}.inline-warning,.inline-info{padding:10px 12px;border-radius:8px;font-size:11px;line-height:1.45}.inline-warning{background:#fff8e6;border:1px solid #f0dba5;color:#755914}.inline-info{background:#eef8ff;border:1px solid #c9dfef;color:#315d79}.form-grid input:disabled,.form-grid select:disabled{background:#f3f5f4;color:#7c8885;cursor:not-allowed}
