:root,[data-theme=light]{--gh-orange:#ff5000;--gh-orange-hover:#e64800;--color-bg:#f5f5f5;--color-surface:#fff;--color-surface-muted:#fafafa;--color-border:#e5e5e5;--color-text:#1f1f1f;--color-text-strong:#111;--color-text-muted:#737373;--color-text-subtle:#525252;--color-orange-soft:#fff4ef;--color-input-bg:#fff;--color-input-border:#d4d4d4;--color-hover:#fafafa;--color-btn-ghost-text:#525252}[data-theme=dark]{--color-bg:#121212;--color-surface:#1a1a1a;--color-surface-muted:#222;--color-border:#2e2e2e;--color-text:#e5e5e5;--color-text-strong:#fff;--color-text-muted:#a3a3a3;--color-text-subtle:#737373;--color-orange-soft:#ff500024;--color-input-bg:#141414;--color-input-border:#3a3a3a;--color-hover:#242424;--color-btn-ghost-text:#d4d4d4}:root{--sidebar-width:15rem;--sidebar-width-collapsed:3.75rem;--radius:4px;color:var(--color-text);background:var(--color-bg);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.45}*{box-sizing:border-box}body{background:var(--color-bg);min-width:320px;min-height:100vh;color:var(--color-text);margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.brand-logo,.brand-mark{display:block}.shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;transition:width .15s;display:flex}.shell.sidebar-collapsed .sidebar{width:var(--sidebar-width-collapsed)}.sidebar-brand{border-bottom:1px solid var(--color-border);align-items:center;gap:.65rem;padding:.85rem .75rem;display:flex}.shell.sidebar-collapsed .sidebar-brand{flex-direction:column;padding:.75rem .35rem}.sidebar-mark{flex-shrink:0;width:1.75rem;height:1.75rem}.sidebar-brand-text{flex:1;min-width:0}.shell.sidebar-collapsed .sidebar-brand-text{display:none}.sidebar-title{color:var(--color-text-strong);font-size:.875rem;font-weight:600;line-height:1.2;display:block}.sidebar-subtitle{color:var(--color-text-muted);font-size:.75rem;line-height:1.2;display:block}.sidebar-collapse-btn{flex-shrink:0;margin-left:auto}.shell.sidebar-collapsed .sidebar-collapse-btn{margin-left:0}.sidebar-nav{flex-direction:column;flex:1;padding:.5rem 0;display:flex}.sidebar-link{color:var(--color-text-subtle);border-left:3px solid #0000;align-items:center;gap:.65rem;padding:.55rem .85rem;display:flex}.shell.sidebar-collapsed .sidebar-link{border-left:none;justify-content:center;padding:.65rem .35rem}.sidebar-link:hover{background:var(--color-hover);color:var(--color-text-strong)}.sidebar-link.active{background:var(--color-orange-soft);color:var(--color-text-strong);border-left-color:var(--gh-orange);font-weight:500}.shell.sidebar-collapsed .sidebar-link.active{box-shadow:inset 3px 0 0 var(--gh-orange)}.sidebar-link-icon{text-align:center;flex-shrink:0;width:1rem;font-size:.875rem;line-height:1}.shell.sidebar-collapsed .sidebar-link-text{display:none}.sidebar-footer{border-top:1px solid var(--color-border);flex-direction:column;gap:.45rem;padding:.75rem;display:flex}.sidebar-user{color:var(--color-text-muted);word-break:break-word;font-size:.75rem}.shell.sidebar-collapsed .sidebar-user{display:none}.content{flex:1;min-width:0}.main{padding:1.25rem 1.5rem 2rem}.page{min-width:0;max-width:1120px}.page-header{margin-bottom:1rem}.page-header h1{color:var(--color-text-strong);margin:0;font-size:1.125rem;font-weight:600}.page-message{color:var(--color-text-subtle);margin:0}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);max-width:100%;overflow:hidden}.panel-padded{padding:1rem}.tab-bar{border-bottom:1px solid var(--color-border);-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:0;padding:0 .5rem;display:flex;overflow:auto hidden}.tab-bar-item{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;padding:.6rem .9rem}.tab-bar-item:hover{color:var(--color-text)}.tab-bar-item.active{color:var(--color-text-strong);box-shadow:inset 0 -2px 0 var(--gh-orange);border-bottom-color:#0000;font-weight:500}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.6rem .85rem}.data-table th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;background:var(--color-surface-muted);font-size:.75rem;font-weight:600}.data-table tbody tr:last-child td{border-bottom:none}.data-table td{word-break:break-word;overflow-wrap:anywhere}.cell-name{font-weight:500}.cell-muted{color:var(--color-text-muted)}.cell-code{color:var(--color-text-subtle);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem}.cell-action{text-align:right;white-space:nowrap}.error-inline{color:#b42318;margin-right:.75rem;font-size:.75rem;display:inline-block}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.45rem;padding:.45rem .75rem;font-size:.8125rem;font-weight:500;line-height:1.2;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--gh-orange);color:#fff}.btn-primary:hover:not(:disabled){background:var(--gh-orange-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-input-border)}.btn-secondary:hover:not(:disabled){background:var(--color-hover)}.btn-ghost{color:var(--color-btn-ghost-text);border-color:var(--color-input-border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-hover);border-color:var(--color-text-muted)}.btn-icon{padding:.35rem .55rem}.btn-icon-symbol{line-height:1}.shell.sidebar-collapsed .sidebar-footer .btn .btn-text{display:none}.shell.sidebar-collapsed .sidebar-footer .btn{width:100%}.btn-sm{padding:.35rem .65rem}.btn-block{width:100%}.auth-page{background:var(--color-bg);place-items:center;min-height:100vh;padding:1rem;display:grid;position:relative}.auth-toolbar{position:absolute;top:1rem;right:1rem}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;max-width:360px;padding:1.5rem}.auth-brand{color:var(--color-text-strong);align-items:center;gap:.65rem;margin-bottom:1rem;font-weight:600;display:flex}.auth-mark{width:1.5rem;height:1.5rem}.auth-lead{color:var(--color-text-muted);margin:0 0 1rem;font-size:.875rem}.admin-section{flex-direction:column;gap:1rem;display:flex}.access-view-bar{border-bottom:none;margin-bottom:.25rem;padding:0}.access-selector{max-width:28rem;color:var(--color-text-muted);flex-direction:column;gap:.35rem;font-size:.875rem;display:flex}.access-summary{color:var(--color-text-muted);margin:0;font-size:.875rem}.admin-form{border-bottom:1px solid var(--color-border);flex-direction:column;gap:.85rem;padding-bottom:1rem;display:flex}.admin-form.inline-actions{flex-flow:wrap;align-items:end}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.form-grid .full-width{grid-column:1/-1}label{color:var(--color-text-subtle);flex-direction:column;gap:.25rem;font-size:.75rem;display:flex}input,select{border:1px solid var(--color-input-border);border-radius:var(--radius);background:var(--color-input-bg);color:var(--color-text);padding:.45rem .55rem}input:focus,select:focus{border-color:var(--gh-orange);outline:none}.muted{color:var(--color-text-muted);font-size:.8125rem}.error-text{color:#b42318;font-size:.8125rem}.success-text{color:#067647;font-size:.8125rem}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;display:inline-flex}.toggle--disabled{opacity:.6;cursor:not-allowed}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:var(--gh-gray-300);border-radius:999px;flex-shrink:0;width:2.25rem;height:1.25rem;transition:background .15s;position:relative}.toggle-track:after{content:"";background:var(--gh-white);border-radius:50%;width:calc(1.25rem - 4px);height:calc(1.25rem - 4px);transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.toggle input:checked+.toggle-track{background:var(--gh-orange)}.toggle input:checked+.toggle-track:after{transform:translate(1rem)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--gh-orange);outline-offset:2px}.toggle-label{color:var(--color-text-subtle);min-width:3.5rem;font-size:.8125rem}.toggle-field{justify-content:flex-end}.page-state{color:var(--color-text-subtle);padding:1rem 0}.mobile-header,.sidebar-backdrop{display:none}.table-panel{max-width:100%;overflow-x:auto}@media (width<=768px){:root{font-size:15px}.mobile-header{z-index:80;padding:.65rem .85rem;padding-top:calc(.65rem + env(safe-area-inset-top,0px));background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:.65rem;display:flex;position:sticky;top:0}.mobile-header-brand{min-width:0;color:var(--color-text-strong);flex:1;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;display:flex}.mobile-header-mark{flex-shrink:0;width:1.5rem;height:1.5rem}.mobile-menu-btn{min-width:2.75rem;min-height:2.75rem}.shell{flex-direction:column}.sidebar-backdrop{z-index:90;opacity:0;pointer-events:none;cursor:pointer;background:#00000073;border:none;margin:0;padding:0;transition:opacity .2s;display:block;position:fixed;inset:0}.shell.mobile-nav-open .sidebar-backdrop{opacity:1;pointer-events:auto}.sidebar,.shell.sidebar-collapsed .sidebar{z-index:100;border-right:1px solid var(--color-border);width:min(18rem,88vw);max-width:100%;padding-bottom:env(safe-area-inset-bottom,0px);border-bottom:none;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:0 0 24px #0000002e}.shell.mobile-nav-open .sidebar{transform:translate(0)}.shell.sidebar-collapsed .sidebar-brand{flex-direction:row;padding:.85rem .75rem}.shell.sidebar-collapsed .sidebar-brand-text,.shell.sidebar-collapsed .sidebar-link-text,.shell.sidebar-collapsed .sidebar-user,.shell.sidebar-collapsed .sidebar-footer .btn .btn-text{display:block}.sidebar-collapse-btn{display:none}.sidebar-nav{flex-direction:column;padding:.5rem 0}.sidebar-link,.shell.sidebar-collapsed .sidebar-link{min-height:2.75rem;box-shadow:none;border-bottom:none;border-left:3px solid #0000;justify-content:flex-start;padding:.65rem .85rem}.sidebar-link.active,.shell.sidebar-collapsed .sidebar-link.active{border-left-color:var(--gh-orange);box-shadow:none;border-bottom:none}.sidebar-footer .btn{justify-content:flex-start;width:100%;min-height:2.75rem}.content{width:100%}.main{padding:1rem .85rem calc(1.5rem + env(safe-area-inset-bottom,0px))}.page-header h1{font-size:1.05rem}.panel-padded{padding:.85rem}.form-grid{grid-template-columns:1fr}.admin-form.inline-actions{flex-direction:column;align-items:stretch}.admin-form.inline-actions label,.admin-form.inline-actions .btn{width:100%}.btn{min-height:2.75rem}.btn-sm{min-height:2.75rem;padding:.5rem .85rem}.btn-mobile-block{width:100%}.auth-page{padding:calc(4rem + env(safe-area-inset-top,0px)) .85rem calc(1rem + env(safe-area-inset-bottom,0px))}.auth-toolbar{top:calc(.85rem + env(safe-area-inset-top,0px));right:.85rem}.auth-card{padding:1.25rem}.data-table--responsive thead{display:none}.data-table--responsive tbody tr{border-bottom:1px solid var(--color-border);padding:.85rem;display:block;overflow:hidden}.data-table--responsive tbody tr:last-child{border-bottom:none}.data-table--responsive td{text-align:left;word-break:break-word;overflow-wrap:anywhere;border-bottom:none;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0;max-width:100%;padding:.45rem 0;display:flex}.data-table--responsive td:before{content:attr(data-label);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;text-align:left;font-size:.6875rem;font-weight:600}.data-table--responsive td.cell-action{border-top:1px solid var(--color-border);flex-direction:column;align-items:stretch;gap:.5rem;margin-top:.35rem;padding-top:.65rem}.data-table--responsive td.cell-action:before{display:none}.data-table--responsive td.cell-action .error-inline{text-align:left;margin-right:0}.data-table--responsive td select{min-height:2.75rem}.table-panel{overflow-x:hidden}}@media (width>=769px){.mobile-header,.sidebar-backdrop{display:none!important}}
