:root{--ink:#381c25;--muted:#7d626b;--line:#ead9cf;--green:#800020;--bg:#fff9ee}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}a{color:var(--green);text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e8bd39;outline-offset:3px}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:18px 4%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:750;color:var(--ink)}.brand-icon{background:var(--green);color:white;border-radius:9px;width:35px;height:35px;display:grid;place-items:center;font-size:22px}.brand-sub{font-size:10px;letter-spacing:1.6px;color:var(--muted);border-left:1px solid var(--line);margin-left:10px;padding-left:20px}.account{display:flex;align-items:center;gap:22px;font-weight:600}.account small{display:block;color:var(--muted);font-size:11px;font-weight:400}.text-button{border:0;background:none;color:var(--muted);font-size:12px}main{max-width:1400px;margin:auto;padding:35px 4% 0}.eyebrow{color:var(--green);font-size:10px;letter-spacing:1.8px;font-weight:750}h1{font-size:clamp(26px,3vw,38px);letter-spacing:-1.3px;line-height:1.2;margin:9px 0 10px}h2{font-size:17px;margin:0}p{color:var(--muted);margin:5px 0}.dot{color:var(--green)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;gap:15px;border-radius:7px;padding:11px 18px;font-size:13px;font-weight:650;line-height:1.4}.primary{background:var(--green);border:1px solid var(--green);color:white}.primary:hover{background:#5d0018}.secondary{background:white;border:1px solid var(--line);color:var(--ink)}.secondary:hover{background:#fff1bb}.toolbar{display:flex;align-items:center;gap:34px;background:white;border:1px solid var(--line);padding:19px 23px;border-radius:10px}.toolbar label,.toolbar small{font-size:10px;font-weight:650;letter-spacing:1px;color:var(--muted);display:block;margin-bottom:7px}.date-controls{display:flex;gap:9px}.date-controls input{border:1px solid var(--line);border-radius:6px;padding:8px 11px;color:var(--ink);background:white}.report-owner{border-left:1px solid var(--line);padding-left:30px}.save-state{margin-left:auto;font-size:12px;color:var(--green)}.save-state small{font-size:10px;font-weight:400;letter-spacing:0;margin:4px 0 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.stats article{background:white;border:1px solid var(--line);border-radius:9px;padding:19px 21px}.stats article>span{font-size:10px;letter-spacing:1px;font-weight:650;color:var(--muted)}.stats strong{display:block;font-size:30px;letter-spacing:-1px;margin:6px 0}.stats strong small{font-size:17px;color:#a78a94;font-weight:450}.stats p{font-size:11px}.register{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.register-title{padding:21px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}.register-title p{font-size:12px}.badge{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--green);padding:6px 10px;background:#fff0bc;border-radius:5px}.table-scroll{overflow:auto;max-height:660px}table{width:100%;border-collapse:separate;border-spacing:0;text-align:center;font-variant-numeric:tabular-nums;min-width:760px}thead{position:sticky;top:0;z-index:2}th,td{padding:9px 12px;border-bottom:1px solid #f2e5dc}thead th{background:#fff5d8;font-size:11px;font-weight:600;color:#70424e}thead tr:first-child th{border-top:1px solid var(--line)}thead .reserved{background:#fff0bc;color:#800020;border-right:1px solid var(--line)}thead .unreserved{background:#f9d65b;color:#5a3600}thead tr:first-child th{padding:11px}.hour-col{width:112px}tbody th{font-weight:650;background:#fffaf0}tbody tr:nth-child(even){background:#fffdf7}tbody tr:focus-within{background:#fff3c4}td input{border:1px solid #ead9cf;background:transparent;border-radius:5px;padding:8px 5px;width:100%;min-width:64px;max-width:115px;text-align:center;color:var(--ink);appearance:textfield;-moz-appearance:textfield}td input::-webkit-inner-spin-button{appearance:none}td input::placeholder{color:#bda8ad}td input:focus{background:white;border-color:#800020;outline:2px solid #f1cf57;outline-offset:0}td input:invalid{border-color:#c34d4d}.hour-label{font-size:13px}.hour-label small{color:#98707b;font-size:11px;font-weight:400}.row-total{font-weight:700;color:#800020;width:100px}tfoot th,tfoot td{background:#fff0b6;padding:15px 10px;font-size:12px;font-weight:700}tfoot th{font-size:10px}.table-note{padding:14px 23px;font-size:11px;margin:0;border-top:1px solid var(--line)}.form-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 0;gap:15px}.form-footer p{font-size:12px}footer{border-top:1px solid var(--line);margin-top:15px;padding:22px 0;display:flex;justify-content:space-between;color:#927782;font-size:10px;letter-spacing:1.4px}footer span{letter-spacing:0}.alert{padding:13px 18px;border-radius:7px;margin-bottom:20px;font-size:13px}.error{color:#8d2929;background:#fff0ed;border:1px solid #f3cbc1}.success{color:#65001b;background:#fff1bd;border:1px solid #e8c550}.auth{max-width:510px;margin:25px auto 55px}.auth>h1{font-size:50px}.auth>p{max-width:400px}.auth-card{background:white;border:1px solid var(--line);padding:30px;border-radius:12px;margin-top:28px}.auth-card p{font-size:12px;margin-bottom:20px}.auth-card label{display:block;margin:15px 0;font-size:12px;font-weight:600}.auth-card input{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;margin-top:6px}.auth-card small{color:var(--muted);font-size:11px}.auth-card>a{display:block;text-align:center;font-size:12px;margin-top:20px}.full{width:100%;margin-top:16px}@media(max-width:850px){.brand-sub{display:none}.toolbar{flex-wrap:wrap;gap:20px}.save-state{margin-left:0}.stats{grid-template-columns:repeat(2,1fr)}.report-owner{border:0;padding:0}.page-heading{align-items:flex-start}.page-heading .secondary{white-space:nowrap}.badge{display:none}}@media(max-width:520px){main{padding-top:24px}.page-heading{display:block}.page-heading .secondary{margin-top:15px}.stats{gap:10px}.stats article{padding:15px}.stats article>span{font-size:8px}.stats p{font-size:10px}.toolbar{padding:16px}.date-controls{flex-wrap:wrap}.form-footer{align-items:flex-start;flex-direction:column}.primary{width:100%}.account{gap:6px;font-size:12px}.auth-card{padding:22px}.auth>h1{font-size:42px}}

/* Maroon and yellow operations theme */
.topbar{background:#800020;border-bottom:4px solid #f4cf45}.brand{color:#fff7d6}.brand-icon{background:#f4cf45;color:#65001b}.brand-sub,.account small,.text-button{color:#ffe6a1}.brand-sub{border-color:#a65065}.account{color:#fff9e5}.primary{background:#800020;border-color:#800020;color:#fff2b7}.stats article{border-top:4px solid #eac341}.stats .last-updated{background:#fff1bc;border-top-color:#800020}.last-updated time{display:block;color:#65001b;font-size:14px;font-weight:700;margin:8px 0}.last-updated dl{margin:10px 0}.last-updated dl div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.last-updated dt{color:#70424e}.last-updated dd{margin:0;font-weight:750;color:#65001b}.last-updated .empty-update{font-size:21px;letter-spacing:0}.saved-hour{display:block;font-size:9px;font-weight:600;color:#800020}.category-total{font-size:12px;font-weight:650;background:#fff9e4;color:#70424e}thead .category-group{background:#800020;color:#fff0b2}table{min-width:1080px}.stats article>strong{color:#800020}.register-title{border-top:3px solid #800020}.badge{color:#65001b;background:#ffe28b}.stats .last-updated p{font-size:10px}

/* Payanam and supervisor register */
table{min-width:1320px}.payanam-group{background:#f8df83;color:#65001b}.payanam-summary{display:flex;gap:25px;align-items:center;flex-wrap:wrap;border:1px solid #e4c461;border-left:4px solid #800020;background:#fff0b9;border-radius:8px;padding:16px 20px;margin:0 0 20px}.payanam-summary small{color:#79592f}.payanam-summary b{color:#800020}.saved-payanam{font-size:11px;color:#70424e;border-top:1px solid #e4c461;padding-top:6px}.admin-nav{color:#fff0b2;font-size:12px;border:1px solid #c38970;border-radius:5px;padding:6px 10px}.admin-register{margin-top:24px}.admin-table{min-width:1500px}.admin-table td{font-size:12px}.admin-table .user-cell{text-align:left;min-width:150px}.user-cell small{display:block;font-size:11px;font-weight:400;color:#7d626b}.timestamp{font-size:11px;white-space:nowrap}.latest-hour{font-size:19px!important;font-weight:750;color:#800020}.compact{padding:6px 11px;font-size:11px}.admin-table td small{display:block;color:#7d626b}.admin-table tbody tr:hover{background:#fff7d7}@media(max-width:600px){.payanam-summary{gap:10px 20px}.payanam-summary strong,.payanam-summary small{width:100%}.admin-nav{font-size:10px;padding:4px}.account{flex-wrap:wrap}}

.admin-page main{max-width:1800px;padding-left:2%;padding-right:2%}.admin-table{min-width:1120px}.admin-table th,.admin-table td{padding:10px 6px}.admin-table thead th{font-size:10px}.admin-table td{font-size:11px}.admin-table .user-cell{min-width:112px;font-size:12px}.admin-table .timestamp{font-size:10px}.admin-table .latest-hour{font-size:17px!important}.admin-table .compact{padding:5px 7px}.admin-page .table-note{font-size:10px}

.load-failed{padding:26px;margin:22px 0}.load-failed p{margin:10px 0 18px}

/* Location-based operations */
.location-page main{max-width:1800px;padding:28px 2% 0}.app-menu{display:flex;gap:8px;padding:12px 2%;background:#fff1bc;border-bottom:1px solid #e4c461;overflow:auto}.app-menu a{white-space:nowrap;padding:9px 16px;border-radius:6px;color:#65001b;font-weight:650;font-size:12px}.app-menu a[aria-current=page]{background:#800020;color:#fff1bc}.app-menu a:hover{box-shadow:inset 0 0 0 1px #c7a25b}.scope-filter{display:flex;gap:15px;align-items:end;flex-wrap:wrap;width:100%}.scope-filter label,.master-form label,.edit-reason{font-size:11px;letter-spacing:.3px;font-weight:650;color:#70424e}.scope-filter input,.scope-filter select,.master-form input,.master-row input:not([type=checkbox]),.edit-reason input{display:block;padding:10px;border:1px solid #dfcdbd;border-radius:6px;background:white;color:#381c25;font:13px system-ui;margin-top:5px;max-width:100%}.scope-filter select{min-width:165px;max-width:260px}.scope-filter button{min-height:40px}.scope-toolbar{margin-bottom:22px}.scope-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.scope-heading>div:last-child{display:flex;gap:15px;align-items:center;font-size:11px;color:#800020}.entry-fieldset{border:0;padding:0;margin:0;min-width:0}.edit-reason{display:block;margin:18px 0}.edit-reason input{width:100%;max-width:650px}.empty-state{padding:40px;margin-top:22px}.empty-state p{margin-top:10px}.report-intro{font-size:12px;margin:18px 0}.report-intro p{margin:6px 0}.report-intro .secondary{margin-top:10px}.classification-table{min-width:1140px}.classification-table th,.classification-table td{padding:11px 8px;font-size:12px}.cell-detail{display:block;font-size:10px;color:#7d626b;white-space:nowrap;margin-top:4px}.supervisor-table{min-width:1420px}.supervisor-table th,.supervisor-table td{padding:10px 7px;font-size:11px}.supervisor-table .timestamp{font-size:10px}.audit-link{display:block;margin-top:4px;font-size:10px}.audit-table{min-width:900px}.audit-table td{text-align:left;font-size:12px}.audit-table details p{font-size:11px}.master-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.master-card{padding:24px;margin-top:20px}.master-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:20px 0}.master-row{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #ead9cf}.master-row>label:first-of-type{flex:1;min-width:80px}.master-row input:not([type=checkbox]){width:100%;margin:0}.checkbox-label{display:flex!important;align-items:center;gap:5px;white-space:nowrap;font-size:11px}.checkbox-label input{display:inline!important;margin:0!important;accent-color:#800020}.mapping-list{margin-top:20px}.mapping-row{display:flex;align-items:center;gap:15px;padding:10px 0;border-top:1px solid #ead9cf}.mapping-row>span{flex:1;font-size:12px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:850px){.master-grid{grid-template-columns:1fr}.scope-heading{align-items:start;flex-direction:column}.scope-filter label{flex:1;min-width:140px}.scope-filter select{width:100%;min-width:0;max-width:none}.master-card{padding:16px}}@media(max-width:520px){.app-menu{gap:0}.app-menu a{padding:9px 12px}.mapping-row{flex-wrap:wrap}.master-row{flex-wrap:wrap}.scope-heading>div:last-child{flex-wrap:wrap}.location-page .stats{grid-template-columns:1fr 1fr}}

.locked-hour input[readonly]{background:#f0e9e3;color:#6f5059;border-color:#d9cbc2;cursor:default}.locked-hour th{background:#f4ece2}.locked-hour input[readonly]:focus{outline:2px solid #c5ad9f}.user-subtotal th,.user-subtotal td{background:#fff0b6;font-weight:700}.classification-table .grand-total th,.classification-table .grand-total td{background:#800020;color:#fff1bc}.classification-table .grand-total .cell-detail{color:#ffe18b}

.operation-report{min-width:1850px}.users-table{min-width:450px}.brand{font-size:19px}.scope-filter select[name=date]{min-width:260px;max-width:420px}.auth>h1{font-size:40px}@media(max-width:600px){.brand{font-size:15px}.brand-sub{display:none}.scope-filter select[name=date]{min-width:0;max-width:100%}}

.operation-report{min-width:1580px}.operation-report th,.operation-report td{padding:10px 7px;font-size:11px}.operation-report thead tr:nth-child(2) th{font-size:10px}.supervisor-table{min-width:1850px}

.operation-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.operation-totals article{background:white;border:1px solid #ead9cf;border-top:4px solid #800020;border-radius:8px;padding:16px 22px}.operation-totals article:last-child{background:#fff1bc;border-top-color:#d9af24}.operation-totals span{font-size:12px;font-weight:650;color:#70424e}.operation-totals strong{display:block;font-size:30px;color:#800020;line-height:1.3;margin-top:6px}

.access-form{display:flex;gap:8px;align-items:center;justify-content:center}.access-form select{padding:8px;border:1px solid #dfcdbd;border-radius:5px}.master-row label:has(input[name=display_order]){max-width:90px}.app-menu{flex-wrap:wrap;overflow:visible}
.scope-filter .filter-field{flex:1;min-width:180px;font-size:11px;letter-spacing:.3px;font-weight:650;color:#70424e}.scope-filter select,.scope-filter input:not([type=checkbox]):not([type=hidden]),.date-picker summary{height:40px}.date-picker{position:relative;margin-top:5px;min-width:0}.date-picker summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid #dfcdbd;border-radius:6px;background:#fff;color:#381c25;font:13px system-ui;cursor:pointer;list-style:none}.date-picker summary::-webkit-details-marker{display:none}.date-picker summary:focus-visible{outline:3px solid #e8bd39;outline-offset:2px}.date-picker [data-date-summary]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:230px}.date-options{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:max(100%,280px);max-width:min(400px,80vw);max-height:280px;overflow-y:auto;background:#fff;border:1px solid #d6b88a;border-radius:8px;padding:6px;box-shadow:0 8px 24px #381c2526}.scope-filter .date-option{display:flex;gap:10px;align-items:center;min-width:0;padding:9px;border-radius:5px;cursor:pointer;letter-spacing:0}.date-option:hover{background:#fff3c6}.scope-filter .date-option input{display:inline-block;width:16px;height:16px;margin:0;padding:0;accent-color:#800020;flex-shrink:0}.date-option small{display:block;color:#7d626b;font-weight:400;font-size:11px}.date-picker[open] summary{border-color:#800020}.scope-filter>input[type=hidden]{display:none}
.scope-filter>label,.scope-filter>.filter-field{flex:1 1 180px;min-width:160px;margin:0}.scope-filter>label>select{width:100%;min-width:0;max-width:none}.scope-filter>button{height:40px;min-height:40px}.scope-filter .date-option{margin:0}.date-picker [data-date-summary]{max-width:none}
.sector-hour-entry{min-width:1900px}.sector-hour-entry tbody th:first-child{min-width:135px}.entry-summaries{margin-top:24px}
.entry-summaries{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1040px;gap:12px}.entry-summaries article{padding:14px 16px}.entry-summaries article>strong{font-size:26px}.entry-summaries .last-updated time{font-size:12px;margin:6px 0}.entry-summaries .last-updated dl{margin:6px 0}.entry-summary-totals{max-width:640px;gap:12px}.entry-summary-totals article{padding:12px 16px}.entry-summary-totals strong{font-size:26px}.entry-payanam{max-width:1040px;padding:12px 16px;gap:18px}.stand-times{max-width:850px;overflow:auto}.stand-times table{width:100%;min-width:350px}.stand-times th,.stand-times td{text-align:left;padding:14px 20px}@media(max-width:700px){.entry-summaries{grid-template-columns:repeat(2,minmax(0,1fr))}}
.entry-total-strip{overflow-x:auto;margin-top:20px}.entry-total-strip>.entry-summaries{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:10px;max-width:none;margin:0 0 8px}.entry-total-strip .entry-summaries article{padding:14px 12px;min-height:116px}.entry-total-strip .entry-summaries article>span{font-size:9px;letter-spacing:.35px}.entry-total-strip .entry-summaries strong{font-size:26px;margin:8px 0}.entry-total-strip .entry-summaries p{font-size:10px}.summary-vehicle-total{border-top-color:#800020!important}.summary-passenger-total{background:#fff1bc!important;border-top-color:#800020!important}.entry-summary-note{font-size:11px;color:#7d626b;margin:8px 0 20px}.stu-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stu-status-grid .stand-times{max-width:none;margin:0}.stu-status-panel h2{font-size:17px;padding:16px 20px;margin:0;border-bottom:1px solid #ead9cf}.stu-status-panel table{min-width:320px}.stu-status-panel th,.stu-status-panel td{padding:12px 16px}@media(max-width:850px){.stu-status-grid{grid-template-columns:1fr}}
.brand-sub{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lock-note{background:#fff1bc;border:1px solid #e4c461;color:#65001b}.primary:disabled{opacity:.6;cursor:not-allowed}.users-table input[name=display_order]{width:85px;border:1px solid #dfcdbd;border-radius:5px;padding:8px}
