:root{--onix-red:#e42632;--onix-dark:#191c23;--onix-bg:#f4f5f7;--onix-line:#e5e7ec;--onix-text:#20242c}
*{box-sizing:border-box}body{background:var(--onix-bg)!important;color:var(--onix-text)!important;font-family:Inter,'Segoe UI',Arial,sans-serif!important}body>header,body>nav{display:none!important}
.onix-rail{position:fixed;left:0;top:0;bottom:0;width:66px;background:var(--onix-dark);display:flex;flex-direction:column;align-items:center;padding:17px 9px;gap:9px;z-index:50;box-shadow:2px 0 12px #0001}.onix-brand{font-size:24px;color:white;font-weight:900;letter-spacing:-2px;margin-bottom:22px}.onix-brand b{color:var(--onix-red)}.onix-rail button{width:46px;height:46px;border:0;border-radius:12px;background:transparent;color:#b7becb;cursor:pointer;display:grid;place-items:center;font-size:23px}.onix-rail button:hover,.onix-rail button.active{background:var(--onix-red);color:#fff}.onix-rail .onix-bottom{margin-top:auto}
.onix-drawer{position:fixed;top:0;bottom:0;left:66px;width:235px;background:white;border-right:1px solid var(--onix-line);z-index:45;padding:27px 14px;transition:transform .2s ease,opacity .2s ease;overflow:auto}.onix-drawer.collapsed{transform:translateX(-100%);opacity:0;pointer-events:none}.onix-drawer h2{font-size:17px;margin:0 10px 5px}.onix-drawer p{font-size:12px;color:#89909b;margin:0 10px 24px}.onix-drawer .onix-menu-btn{display:block;width:100%;border:0;background:transparent;text-align:left;border-radius:9px;padding:12px 13px;margin:4px 0;color:#4d5563;font-size:14px;cursor:pointer}.onix-drawer .onix-menu-btn:hover{background:#f3f4f6}.onix-drawer .onix-menu-btn.active{background:#fff0f1;color:#c81929;font-weight:700}.onix-main{margin-left:301px;transition:margin-left .2s ease;min-height:100vh}.onix-main.wide{margin-left:66px}.onix-top{height:74px;background:#fff;border-bottom:1px solid var(--onix-line);display:flex;justify-content:space-between;align-items:center;padding:0 30px;gap:12px}.onix-top h1{font-size:20px;margin:0}.onix-top small{font-size:11px;letter-spacing:1.7px;color:#9ca3af}.onix-role{background:#fff0f1;color:#c81929;border-radius:30px;padding:8px 14px;font-size:12px;font-weight:700}.onix-preview-note{padding:12px 28px;background:#fff7e9;color:#77521c;border-bottom:1px solid #f0dbb4;font-size:13px}.onix-content>.section{padding:26px!important}.onix-content h2{font-size:23px;margin:0 0 20px}.onix-content table{background:#fff;min-width:700px}.onix-content th{background:#f3f4f6!important;color:#3b4350;border-color:#e7e8eb}.onix-content td{border-color:#ebedf0}.onix-content button,.onix-content .export-btn{transition:filter .15s}.onix-content button:hover{filter:brightness(.95)}.onix-content .export-btn,.onix-content #sec6 .lottery-action{background:var(--onix-red);color:#fff;border-color:var(--onix-red)}.onix-content #sec6 .lottery-danger{background:#252a33;border-color:#252a33}.onix-content #sec6 .lottery-tabs{display:none}.onix-content #sec6 .lottery-stats>div,.onix-content #sec6 .lottery-card{box-shadow:0 4px 14px #1c253009;border-color:#e6e8ed}.onix-content #sec6 .lottery-stats strong{color:var(--onix-red)}.onix-content #sec6 .lottery-banner{background:#fff8ec;border-color:#f1dfb7}.onix-content .stat.yellow{background:#e42632;border-color:#e42632;color:#fff}.onix-content .section{overflow-x:auto}
@media(max-width:850px){.onix-drawer{width:215px}.onix-main{margin-left:66px}.onix-top{padding:0 14px}.onix-content>.section{padding:15px!important}.onix-role{padding:6px}.onix-drawer.collapsed{transform:translateX(-100%)}.onix-drawer:not(.collapsed){box-shadow:15px 0 40px #0002}}
.onix-access{padding:30px;max-width:1450px;margin:auto}.onix-access[hidden]{display:none!important}.access-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.access-head h2{font-size:26px;margin:0 0 7px}.access-head p,.access-permissions>p{color:#8b909a;margin:0}.access-primary{background:#e42632;color:white;border:0;border-radius:9px;padding:13px 17px;cursor:pointer;font-weight:650}.access-tabs{display:flex;gap:24px;border-bottom:1px solid #e4e6eb;margin:26px 0}.access-tabs button{border:0;background:none;padding:14px 12px;cursor:pointer;color:#737985}.access-tabs button.chosen{border-bottom:3px solid #e42632;color:#191c23;font-weight:700}.access-table-wrap,.access-roles{background:white;border:1px solid #e6e8ed;border-radius:14px;overflow:auto}.access-table{width:100%;border-collapse:collapse}.access-table th,.access-table td{padding:17px 19px;text-align:left;border-bottom:1px solid #edf0f3}.access-table th{font-size:12px;color:#89909a;background:#fafbfc}.access-table td{font-size:14px}.access-table select{border:1px solid #e3e5e8;padding:8px;border-radius:7px;max-width:190px}.access-table td button{border:1px solid #dfe2e6;background:white;border-radius:7px;padding:8px 12px;cursor:pointer}.access-empty{text-align:center!important;color:#999;padding:50px!important}.access-status{color:#087a43;background:#e8f8ef;padding:6px 10px;border-radius:20px;font-size:12px}.access-status.off{color:#8a4c14;background:#fff1e0}.access-roles{display:grid;grid-template-columns:240px 1fr;min-height:450px}.access-role-list{padding:15px;border-right:1px solid #e6e8ed}.access-role-list button{width:100%;display:flex;justify-content:space-between;border:0;background:white;padding:14px;border-radius:9px;cursor:pointer;text-align:left}.access-role-list button.selected{background:#fff0f1;color:#cb1c2a;font-weight:700}.access-permissions{padding:25px}.access-permissions h3{margin:0 0 7px}.access-permissions label{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #f1f2f5;cursor:pointer}.access-permissions input{accent-color:#e42632;width:17px;height:17px}.access-warning{color:#866122;background:#fff8e9;border-radius:9px;padding:13px 15px;font-size:13px;margin-top:25px}.access-hint{font-size:13px;color:#9097a1;margin-top:15px}.access-delete{margin-top:20px;border:1px solid #e42632;background:white;color:#e42632;border-radius:8px;padding:10px 15px;cursor:pointer}@media(max-width:650px){.onix-access{padding:15px}.access-head{align-items:flex-start;flex-direction:column}.access-roles{grid-template-columns:1fr}.access-role-list{border-right:0;border-bottom:1px solid #e6e8ed}}

/* ONIX navigation: top hamburger and bottom settings */
.onix-rail .onix-toggle{flex:0 0 46px;margin-bottom:8px;font-size:24px;color:#fff}
.onix-rail .onix-brand{font-size:19px;margin-bottom:16px;letter-spacing:-1.5px}
.onix-rail .onix-settings{margin-top:auto}

.access-tabs-center{justify-content:center}.access-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 22px}.access-filters{display:flex;background:#eef0f3;border-radius:9px;padding:3px;gap:3px}.access-filters button{border:0;background:transparent;color:#7c838e;padding:8px 13px;border-radius:7px;cursor:pointer}.access-filters button.chosen{background:white;color:#222;font-weight:700;box-shadow:0 1px 5px #0001}.access-toolbar input,.access-toolbar select{padding:11px 12px;border:1px solid #e1e3e8;border-radius:9px;background:white}.access-toolbar input{min-width:230px;flex:1}.onix-user-overlay{position:fixed;inset:0;z-index:110;display:flex;justify-content:flex-end}.onix-user-shade{position:absolute;inset:0;background:#10151d35}.onix-user-panel{position:relative;width:min(410px,100vw);background:white;box-shadow:-12px 0 30px #1112;display:flex;flex-direction:column;padding:23px 20px}.onix-user-panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.onix-user-panel-title h3{margin:0;font-size:20px}.onix-user-panel-title button{background:transparent;border:0;font-size:26px;cursor:pointer}.onix-user-panel form{display:flex;flex-direction:column;gap:13px;flex:1}.onix-user-panel form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#747b86}.onix-user-panel input,.onix-user-panel select{background:#f3f4f6;border:1px solid #e8e9ed;border-radius:11px;padding:14px;font-size:14px;color:#252932;width:100%}.onix-user-hint{font-size:12px;color:#8a6c2b;background:#fff8e8;padding:11px;border-radius:9px}.onix-user-footer{margin-top:auto;display:flex;gap:10px}.onix-user-footer button{flex:1;border:0;border-radius:10px;padding:13px;cursor:pointer;background:#f0f1f3}.onix-user-footer button[type=submit]{background:#e42632;color:white;font-weight:700}

/* ONIX: three-column role management, preserving existing Firebase permission keys */
.onix-rbac-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(300px,2.4fr);background:#fff;border:1px solid #e8e9ed;border-radius:14px;overflow:hidden;min-height:440px}
.onix-rbac-pane{padding:22px 14px;border-right:1px solid #e9eaf0;min-width:0}
.onix-rbac-pane:last-child{border-right:0;padding:22px 24px}
.onix-rbac-pane h3{font-size:15px;color:#15191f;margin:0 0 18px;font-weight:700}
.onix-rbac-choice{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;border:0;border-radius:9px;padding:13px 12px;background:transparent;color:#20242c;cursor:pointer;font-size:13px;gap:10px}
.onix-rbac-choice:hover{background:#f7f7f9}
.onix-rbac-choice.selected{background:#fff0f1;color:#df1c2b;font-weight:700}
.onix-rbac-choice span{font-size:19px}
.onix-rbac-subtitle{font-size:13px;font-weight:400;color:#7c8390}
.onix-rbac-rights>p{color:#8b92a0;font-size:13px;margin:0 0 16px}
.onix-rbac-permission{display:flex;align-items:center;gap:13px;min-height:52px;border-bottom:1px solid #eceef1;font-size:14px;cursor:pointer}
.onix-rbac-permission input{accent-color:#e42632;width:17px;height:17px;flex:none;cursor:pointer}
.onix-rbac-foot{margin-top:25px}
@media(max-width:850px){.onix-rbac-grid{grid-template-columns:1fr 1fr}.onix-rbac-rights{grid-column:1/-1;border-top:1px solid #e9eaf0}.onix-rbac-categories{border-right:0}}
@media(max-width:540px){.onix-rbac-grid{grid-template-columns:1fr}.onix-rbac-pane{border-right:0;border-bottom:1px solid #e9eaf0}.onix-rbac-rights{grid-column:auto}}

.onix-rbac-section-toggle{background:#fff7f7;border:1px solid #f6d5d8;border-radius:8px;padding:0 12px;margin-bottom:10px;color:#cf1d2d}

/* Saved shift report details */
.shift-detail-row[hidden]{display:none!important}
.shift-detail-row td{background:#f8fafc;padding:18px!important}
.shift-detail{max-width:960px;text-align:left}
.shift-detail p{margin:10px 0 16px}
.shift-detail-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px}
.shift-detail-metrics>div{border:1px solid #e4e7ec;background:#fff;border-radius:9px;padding:12px;display:flex;flex-direction:column;gap:6px}
.shift-detail-metrics span{font-size:12px;color:#64748b}
.shift-detail-metrics strong{font-size:22px;color:#111827}
.shift-row-view{cursor:pointer;white-space:nowrap}
