*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #fafafa;--color-surface: #ffffff;--color-surface-2: #f0efeb;--color-border: #e2e0da;--color-border-hover:#ccc9c0;--color-accent: #267d74;--color-accent-dim: rgba(38, 125, 116, .1);--color-on-accent: #ffffff;--color-text: #1a1a1a;--color-text-muted: #6b6860;--color-text-faint: #a09d97;--color-success: #1e7e34;--color-success-dim: rgba(30, 126, 52, .1);--color-error: #c0392b;--color-error-dim: rgba(192, 57, 43, .1);--color-warning: #b45309;--font-sans: "DM Sans", system-ui, sans-serif;--font-mono: "DM Mono", "Fira Mono", monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--transition: .15s ease}html,body,#root{height:100%;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}.spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-spinner{display:flex;align-items:center;justify-content:center;height:100vh;width:100vw}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at 20% 50%,rgba(38,125,116,.06) 0%,transparent 60%),var(--color-bg)}.login-card{width:100%;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-lg)}.login-logo{display:flex;align-items:center;gap:10px;margin-bottom:32px}.login-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-sm);flex-shrink:0}.login-logo-mark svg{width:20px;height:20px;stroke:var(--color-on-accent)}.login-logo-text{font-size:18px;font-weight:600;letter-spacing:-.3px;color:var(--color-text)}.login-header{margin-bottom:28px}.login-header h1{font-size:22px;font-weight:600;letter-spacing:-.4px;margin-bottom:6px}.login-header p{color:var(--color-text-muted);font-size:14px}.login-form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.field input,.field select,.field textarea{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-sans);font-size:15px;padding:10px 14px;outline:none;transition:border-color var(--transition);width:100%}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-accent)}.field input::placeholder,.field textarea::placeholder{color:var(--color-text-faint)}.field input:disabled{opacity:.5;cursor:not-allowed}.form-error{font-size:13px;color:var(--color-error);padding:10px 14px;background:var(--color-error-dim);border-radius:var(--radius-sm);border:1px solid rgba(192,57,43,.25)}.btn-primary{background:var(--color-accent);color:var(--color-on-accent);border:none;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:15px;font-weight:600;padding:11px 20px;cursor:pointer;transition:opacity var(--transition),transform var(--transition);width:100%}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:active:not(:disabled){transform:scale(.99)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:14px;font-weight:500;padding:9px 16px;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.btn-secondary:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-surface-2)}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--color-text-muted);border:none;font-family:var(--font-sans);font-size:14px;cursor:pointer;padding:8px 0;text-decoration:underline;text-underline-offset:3px;transition:color var(--transition)}.btn-ghost:hover{color:var(--color-text)}.btn-danger{background:transparent;color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:14px;font-weight:500;padding:9px 16px;cursor:pointer;transition:background var(--transition)}.btn-danger:hover{background:var(--color-error-dim)}.login-sent{text-align:center;padding:8px 0}.login-sent-icon{width:48px;height:48px;background:var(--color-success-dim);border:1px solid rgba(30,126,52,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--color-success);margin:0 auto 20px}.login-sent h2{font-size:20px;font-weight:600;margin-bottom:12px}.login-sent p{color:var(--color-text-muted);font-size:14px;line-height:1.6;margin-bottom:8px}.login-sent p strong{color:var(--color-text)}.login-sent-note{font-size:13px!important;color:var(--color-text-faint)!important;margin-bottom:20px!important}.login-verifying{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 0;color:var(--color-text-muted);font-size:14px}.login-footer{margin-top:28px;font-size:12px;color:var(--color-text-faint);text-align:center;line-height:1.5}.app-layout{min-height:100vh}.page-placeholder{padding:40px;color:var(--color-text-muted)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;padding:3px 8px;border-radius:20px;letter-spacing:.2px}.badge-active{background:var(--color-success-dim);color:var(--color-success)}.badge-inactive{background:var(--color-surface-2);color:var(--color-text-faint);border:1px solid var(--color-border)}.badge-sealed{background:var(--color-accent-dim);color:var(--color-accent)}.badge-error{background:var(--color-error-dim);color:var(--color-error)}.shell{min-height:100vh;display:flex;flex-direction:column}.shell-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.shell-header-left{display:flex;align-items:center;gap:12px}.shell-logo{display:flex;align-items:center;gap:8px;text-decoration:none}.shell-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-sm);flex-shrink:0}.shell-logo-mark svg{width:16px;height:16px;stroke:var(--color-on-accent)}.shell-logo-text{font-size:15px;font-weight:600;color:var(--color-text)}.shell-breadcrumb{display:flex;align-items:center;gap:6px;font-size:14px}.breadcrumb-sep{color:var(--color-text-faint)}.breadcrumb-link{color:var(--color-text-muted);text-decoration:none;transition:color var(--transition)}.breadcrumb-link:hover{color:var(--color-text)}.breadcrumb-current{color:var(--color-text);font-weight:500}.shell-header-right{display:flex;align-items:center;gap:12px}.shell-role-badge{font-size:12px;font-weight:500;color:var(--color-accent);background:var(--color-accent-dim);padding:3px 10px;border-radius:20px;letter-spacing:.3px}.shell-signout{font-size:13px}.shell-main{flex:1;overflow-y:auto}.page{max-width:900px;margin:0 auto;padding:32px 24px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-header-left{display:flex;align-items:center;gap:10px}.page-title{font-size:22px;font-weight:600;letter-spacing:-.3px}.page-count{font-size:13px;color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border);padding:2px 8px;border-radius:20px}.page-loading{display:flex;justify-content:center;padding:60px 0}.page-placeholder{padding:40px 0;color:var(--color-text-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:60px 0;color:var(--color-text-muted);text-align:center}.filters-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.search-input{flex:1;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-sans);font-size:14px;padding:8px 14px;outline:none;transition:border-color var(--transition)}.search-input:focus{border-color:var(--color-accent)}.search-input::placeholder{color:var(--color-text-faint)}.filter-tabs{display:flex;gap:2px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:3px}.filter-tab{background:transparent;border:none;border-radius:calc(var(--radius-md) - 2px);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans);font-size:13px;font-weight:500;padding:5px 12px;transition:background var(--transition),color var(--transition)}.filter-tab.active{background:var(--color-surface);color:var(--color-accent);box-shadow:var(--shadow-sm)}.list{display:flex;flex-direction:column;gap:1px;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.list-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--color-surface);cursor:pointer;transition:background var(--transition);gap:16px}.list-row:hover{background:var(--color-surface-2)}.list-row+.list-row{border-top:1px solid var(--color-border)}.row-main{display:flex;flex-direction:column;gap:4px;min-width:0}.row-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--color-text)}.row-meta{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-muted)}.row-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.row-actions{display:flex;align-items:center;gap:4px}.row-chevron{color:var(--color-text-faint);font-size:18px;line-height:1}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.on{background:var(--color-success)}.status-dot.off{background:var(--color-text-faint)}.btn-sm{font-size:13px!important;padding:7px 14px!important;width:auto!important}.location-meta-bar{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-muted);margin-bottom:20px;padding:10px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:200;display:flex;align-items:flex-end;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.drawer{width:100%;max-width:560px;margin:0 auto;background:var(--color-surface);border-top:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.drawer-handle{width:36px;height:4px;background:var(--color-border);border-radius:2px;margin:12px auto 0}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--color-border)}.drawer-title{font-size:17px;font-weight:600}.drawer-close{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:16px;padding:4px 8px;border-radius:var(--radius-sm);transition:color var(--transition)}.drawer-close:hover{color:var(--color-text)}.drawer-body{padding:20px}.drawer-form{display:flex;flex-direction:column;gap:16px}.drawer-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:8px}.field-toggle{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;font-weight:500}.toggle{position:relative;width:40px;height:22px;background:var(--color-border);border:none;border-radius:11px;cursor:pointer;transition:background var(--transition);flex-shrink:0}.toggle.on{background:var(--color-accent)}.toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform var(--transition)}.toggle.on .toggle-thumb{transform:translate(18px)}.field-hint{font-size:12px;color:var(--color-text-faint);margin-top:4px}.mono{font-family:var(--font-mono);font-size:12px}.staff-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:28px}.staff-card-main{display:flex;align-items:center;gap:14px}.staff-avatar{width:48px;height:48px;background:var(--color-accent-dim);border:1px solid rgba(38,125,116,.25);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:14px;font-weight:500;color:var(--color-accent);flex-shrink:0}.staff-name{font-size:20px;font-weight:600;letter-spacing:-.3px;margin-bottom:4px}.staff-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-muted)}.staff-card-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0;align-items:flex-end}.staff-card-actions-primary{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.staff-card-actions-danger{display:flex;gap:8px}.section-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.section-title{font-size:16px;font-weight:600;letter-spacing:-.2px}.seal-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.seal-dot.sealed{background:var(--color-accent)}.seal-dot.unsealed{background:var(--color-text-faint)}.session-badges{display:flex;gap:6px;align-items:center}.hash-short{font-size:12px;color:var(--color-text-faint)}.badge-warning{background:#b453091a;color:var(--color-warning)}.load-more{display:flex;justify-content:center;padding:20px 0}.session-row{text-decoration:none;color:inherit}.record-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:16px}.record-header-left{display:flex;align-items:center;gap:12px}.hours-bar{display:flex;align-items:center;gap:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:28px}.hours-item{display:flex;flex-direction:column;gap:4px;flex:1;text-align:center}.hours-label{font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.hours-value{font-size:20px;font-weight:600;letter-spacing:-.3px;color:var(--color-text)}.hours-divider{width:1px;height:40px;background:var(--color-border);margin:0 16px}.timeline{display:flex;flex-direction:column;padding:4px 0}.timeline-row{display:flex;gap:14px;padding:4px 0}.timeline-row.seal-row .timeline-content{opacity:.7}.timeline-icon{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:32px}.event-icon{width:28px;height:28px;border-radius:50%;background:var(--color-surface-2);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.event-icon.event-clock_in{border-color:var(--color-success);color:var(--color-success)}.event-icon.event-clock_out{border-color:var(--color-error);color:var(--color-error)}.event-icon.event-break_start,.event-icon.event-break_end{border-color:var(--color-warning);color:var(--color-warning)}.event-icon.event-correction,.event-icon.event-day_seal{border-color:var(--color-accent);color:var(--color-accent)}.timeline-line{width:1px;flex:1;min-height:16px;background:var(--color-border);margin:2px 0}.timeline-content{flex:1;padding-bottom:16px}.timeline-main{display:flex;align-items:center;gap:8px;margin-bottom:4px}.timeline-type{font-size:14px;font-weight:500}.timeline-seq{font-size:12px;color:var(--color-text-faint)}.link-badge{font-size:11px;font-weight:600;padding:1px 6px;border-radius:3px}.link-badge.valid{background:var(--color-success-dim);color:var(--color-success)}.link-badge.invalid{background:var(--color-error-dim);color:var(--color-error)}.timeline-meta{display:flex;gap:12px;font-size:12px;color:var(--color-text-muted)}.timeline-note{margin-top:6px;font-size:13px;color:var(--color-text-muted);background:var(--color-accent-dim);border-left:2px solid var(--color-accent);padding:6px 10px;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.note-label{font-weight:500;color:var(--color-accent)}.note-type{color:var(--color-text-muted)}.timeline-row.invalid .event-icon{border-color:var(--color-error)}.seal-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px}.seal-block.sealed{border-color:#267d7459}.seal-block-empty{color:var(--color-text-muted);font-size:14px;text-align:center;padding:12px 0}.seal-row-item{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.seal-label{font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.seal-hash-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.seal-hash{font-size:12px;color:var(--color-accent);word-break:break-all}.seal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.correction-confirm h3{font-size:16px;font-weight:600;margin-bottom:8px}.correction-confirm>p{font-size:14px;color:var(--color-text-muted);margin-bottom:16px;line-height:1.6}.correction-summary{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px;margin-bottom:14px;display:flex;flex-direction:column;gap:10px}.correction-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.correction-summary-row span:first-child{color:var(--color-text-muted)}.correction-warning{font-size:13px;color:var(--color-warning);background:#b4530914;border:1px solid rgba(180,83,9,.2);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:8px}.field-required{color:var(--color-error)}.text-faint{color:var(--color-text-faint)!important}input[type=time]{color-scheme:light;color:var(--color-text)}input[type=time]{color-scheme:light;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-sans);font-size:15px;padding:10px 14px;outline:none;width:100%}input[type=time]:focus{border-color:var(--color-accent)}.seal-history{display:flex;flex-direction:column;gap:8px}.seal-latest{border-color:#267d7473!important}.seal-prior{opacity:.7;border-color:var(--color-border)!important}.seal-history-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--color-accent);margin-bottom:12px}.seal-history-label-prior{color:var(--color-text-faint)}.shell-nav-link{font-size:13px;font-weight:500;color:var(--color-text-muted);text-decoration:none;padding:4px 10px;border-radius:var(--radius-sm);transition:color var(--transition),background var(--transition)}.shell-nav-link:hover,.shell-nav-link.active{color:var(--color-accent);background:var(--color-accent-dim)}.btn-danger{background:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-md);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:15px;font-weight:500;padding:10px 20px;transition:opacity var(--transition);width:100%}.btn-danger:hover{opacity:.85}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.status-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.status-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px;text-align:center}.status-card-count{font-size:28px;font-weight:700;letter-spacing:-1px;line-height:1;margin-bottom:4px}.status-card-label{font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.status-in .status-card-count{color:var(--color-success)}.status-break .status-card-count{color:var(--color-warning)}.status-out .status-card-count{color:var(--color-text-muted)}.status-none .status-card-count{color:var(--color-text-faint)}.status-dot.break{background:var(--color-warning)}.hours-table{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.hours-table-header,.hours-table-row,.hours-table-totals{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:0;padding:10px 16px;align-items:center;font-size:13px}.hours-table-header{background:var(--color-surface-2);color:var(--color-text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border)}.hours-table-row{background:var(--color-surface);border-top:1px solid var(--color-border);cursor:pointer;transition:background var(--transition)}.hours-table-row:hover{background:var(--color-surface-2)}.hours-table-row:first-of-type{border-top:none}.hours-table-name{font-weight:500}.hours-table-totals{background:var(--color-surface-2);border-top:1px solid var(--color-border);font-weight:600}.accent{color:var(--color-accent)}.range-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.date-range-inputs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-muted)}.date-range-inputs input[type=date]{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);color-scheme:light;font-family:var(--font-sans);font-size:13px;padding:6px 10px;outline:none}.date-range-inputs input[type=date]:focus{border-color:var(--color-accent)}.hours-summary-strip{display:flex;align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px 20px}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-bg)}.error-boundary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:40px;max-width:440px;width:100%;text-align:center}.error-boundary-icon{font-size:32px;margin-bottom:16px;color:var(--color-warning)}.error-boundary-title{font-size:20px;font-weight:600;margin-bottom:12px}.error-boundary-message{font-size:14px;color:var(--color-text-muted);line-height:1.6;margin-bottom:12px}.error-boundary-detail{font-family:var(--font-mono);font-size:12px;color:var(--color-error);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:24px;text-align:left;word-break:break-word}.error-boundary-actions{display:flex;gap:10px;justify-content:center}@media (max-width: 640px){.shell-header{padding:0 16px;height:52px}.shell-logo-text{display:none}.shell-nav-link{font-size:12px;padding:4px 8px}.shell-role-badge{display:none}.breadcrumb-current{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{padding:20px 16px}.page-header{flex-wrap:wrap;gap:12px}.page-title{font-size:18px}.status-cards{grid-template-columns:repeat(2,1fr);gap:8px}.status-card{padding:12px}.status-card-count{font-size:22px}.hours-bar{flex-direction:column;gap:12px;padding:14px 16px}.hours-divider{width:100%;height:1px;margin:0}.hours-value{font-size:16px}.hours-table-header,.hours-table-row,.hours-table-totals{grid-template-columns:2fr 1fr 1fr 1fr;font-size:12px;padding:10px 12px}.hours-table-header span:nth-child(4),.hours-table-row span:nth-child(4),.hours-table-totals span:nth-child(4){display:none}.range-bar{flex-direction:column;align-items:flex-start}.filters-bar{flex-direction:column;align-items:stretch}.list-row{padding:12px;flex-wrap:wrap;gap:8px}.row-actions{display:none}.staff-card{flex-direction:column;align-items:flex-start;gap:14px}.staff-card-actions{width:100%;align-items:flex-start}.staff-card-actions-primary{justify-content:flex-start}.staff-card-actions-danger{width:100%;padding-top:10px;border-top:1px solid var(--color-border)}.staff-card-actions-danger .btn-danger,.staff-card-actions-danger .btn-secondary{width:100%;justify-content:center}.drawer{max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.seal-grid{grid-template-columns:1fr}.hours-summary-strip{flex-direction:column;gap:12px;padding:14px 16px}.hash-short{display:none}.error-boundary-card{padding:28px 20px}.login-card{margin:20px;padding:28px 20px}}.desktop-only{display:flex!important}.mobile-only{display:none!important}.shell{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}.shell-header{position:sticky;top:0;z-index:100;height:56px;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:0 24px;gap:0}.shell-header-left{display:flex;align-items:center;gap:0;flex:0 0 auto}.shell-logo{display:flex;align-items:center;gap:8px;text-decoration:none;flex-shrink:0;margin-right:8px}.shell-nav{flex:1;display:flex;align-items:center;justify-content:center;gap:4px}.shell-nav .shell-nav-link{font-size:14px;font-weight:500;color:var(--color-text-muted);text-decoration:none;padding:6px 14px;border-radius:var(--radius-md);transition:color var(--transition),background var(--transition);white-space:nowrap}.shell-nav .shell-nav-link:hover,.shell-nav .shell-nav-link.active{color:var(--color-accent);background:var(--color-accent-dim)}.shell-header-right{flex:0 0 auto;margin-left:auto}.account-dropdown{position:relative}.account-trigger{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:6px 12px;cursor:pointer;color:var(--color-text);font-family:var(--font-sans);font-size:13px;transition:background var(--transition),border-color var(--transition)}.account-trigger:hover{background:var(--color-surface-2);border-color:var(--color-text-muted)}.account-avatar{width:22px;height:22px;border-radius:50%;background:var(--color-accent);color:var(--color-on-accent);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.account-role{color:var(--color-text-muted)}.account-chevron{font-size:10px;color:var(--color-text-faint)}.account-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;z-index:200}.account-menu-header{padding:12px 16px 10px;border-bottom:1px solid var(--color-border)}.account-menu-role{font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.account-menu-item{display:block;width:100%;padding:12px 16px;background:none;border:none;text-align:left;font-family:var(--font-sans);font-size:14px;color:var(--color-text);cursor:pointer;transition:background var(--transition)}.account-menu-item:hover{background:var(--color-surface-2)}.mobile-titlebar{display:flex;align-items:center}.mobile-back-btn{background:none;border:none;color:var(--color-accent);font-family:var(--font-sans);font-size:15px;font-weight:500;cursor:pointer;padding:4px 0;white-space:nowrap}.mobile-page-title{font-size:16px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.mobile-tab-bar{position:fixed;bottom:0;left:0;right:0;height:60px;background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;align-items:stretch;z-index:100;padding-bottom:env(safe-area-inset-bottom)}.mobile-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;cursor:pointer;text-decoration:none;color:var(--color-text-muted);font-family:var(--font-sans);transition:color var(--transition);padding:6px 0}.mobile-tab.active,.mobile-tab:hover{color:var(--color-accent)}.mobile-tab-icon{font-size:18px;line-height:1}.mobile-tab-label{font-size:10px;font-weight:500;letter-spacing:.3px}@media (max-width: 640px){.desktop-only{display:none!important}.mobile-only{display:flex!important}.shell-header{padding:0 16px;height:52px}.shell-header-left{flex:1;gap:0}.shell-main{padding-bottom:72px}.shell-logo-text{display:none}.shell-logo-mark{margin-right:12px}}.filter-select{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-sans);font-size:13px;padding:7px 12px;cursor:pointer;outline:none;height:36px}.filter-select:focus{border-color:var(--color-accent)}.location-tag{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:4px;font-size:11px;padding:1px 6px;color:var(--color-text-muted)}.copy-field{padding:10px 12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;word-break:break-all;-webkit-user-select:all;user-select:all}.text-error{color:var(--color-error)!important}.mobile-tab-bar{height:64px;padding-bottom:max(env(safe-area-inset-bottom),8px);background:var(--color-surface);border-top:1px solid var(--color-border)}.mobile-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:none;cursor:pointer;text-decoration:none;color:var(--color-text-faint);font-family:var(--font-sans);transition:color .15s ease;padding:6px 4px 2px;-webkit-tap-highlight-color:transparent}.mobile-tab:hover{color:var(--color-text-muted)}.mobile-tab.active{color:var(--color-accent)}.mobile-tab-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.mobile-tab-icon svg{display:block;flex-shrink:0}.mobile-tab-label{font-size:10px;font-weight:500;letter-spacing:.2px;line-height:1}.issues-section{background:color-mix(in srgb,var(--color-warning) 8%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-warning) 30%,var(--color-border));border-radius:var(--radius-lg);overflow:hidden;margin-bottom:24px}.issues-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid color-mix(in srgb,var(--color-warning) 20%,var(--color-border))}.issues-icon{font-size:15px}.issues-title{font-size:13px;font-weight:600;color:var(--color-warning)}.issues-section .list-row{border-radius:0;border-top:1px solid color-mix(in srgb,var(--color-warning) 15%,var(--color-border))}.issues-section .list-row:first-child{border-top:none}.mode-selector{display:flex;flex-direction:column;gap:8px}.mode-option{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 14px;cursor:pointer;text-align:left;transition:border-color var(--transition),background var(--transition);width:100%}.mode-option:hover{border-color:var(--color-text-muted)}.mode-option.active{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,var(--color-surface-2))}.mode-option-title{display:block;font-size:14px;font-weight:600;color:var(--color-text);margin-bottom:3px}.mode-option-desc{display:block;font-size:12px;color:var(--color-text-muted);line-height:1.4}.mobile-header-left,.mobile-header-centre,.mobile-header-right{display:none}@media (max-width: 768px){.shell-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px}.shell-header-left{display:none!important}.mobile-header-left{display:flex!important;align-items:center;justify-content:flex-start;min-width:80px}.mobile-header-centre{display:flex!important;align-items:center;justify-content:center}.mobile-header-right{display:flex!important;align-items:center;justify-content:flex-end;min-width:80px}}.mobile-back-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--color-accent);font-size:14px;font-weight:500;cursor:pointer;padding:6px 0;font-family:var(--font-sans)}.mobile-page-title{font-size:16px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.mobile-hamburger{background:none;border:none;color:var(--color-text);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.mobile-hamburger:hover{background:var(--color-surface-2)}.mobile-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-menu-drawer{position:fixed;top:0;right:0;bottom:0;width:min(280px,85vw);background:var(--color-surface);border-left:1px solid var(--color-border);z-index:201;display:flex;flex-direction:column}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.mobile-menu-role{font-size:13px;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.mobile-menu-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:var(--radius-sm)}.mobile-menu-nav{flex:1;display:flex;flex-direction:column;padding:12px 0}.mobile-menu-item{display:flex;align-items:center;gap:14px;padding:14px 20px;background:none;border:none;color:var(--color-text-muted);font-size:15px;font-weight:500;font-family:var(--font-sans);cursor:pointer;text-align:left;transition:color .15s,background .15s;border-radius:0;width:100%}.mobile-menu-item:hover{background:var(--color-surface-2);color:var(--color-text)}.mobile-menu-item.active{color:var(--color-accent)}.mobile-menu-item-icon{display:flex;align-items:center;flex-shrink:0}.mobile-menu-footer{padding:16px 20px;border-top:1px solid var(--color-border)}.mobile-menu-signout{width:100%;padding:12px;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:14px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:color .15s,border-color .15s}.mobile-menu-signout:hover{color:var(--color-error);border-color:var(--color-error)}
