
:root{--navy:#123a5a;--navy2:#0b2941;--blue:#3276a5;--bg:#f3f6f8;--line:#d9e2e8;--ink:#1c2b36;--muted:#647480;--green:#287a52;--amber:#af7200;--red:#aa3b3b;--white:#fff}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:inherit}.top{background:white;border-bottom:1px solid var(--line);padding:10px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:0;z-index:40}.brand{display:flex;align-items:center;gap:12px}.brand img{width:58px;height:58px;object-fit:contain}.brand b{display:block;color:var(--navy);font-size:19px;letter-spacing:.2px}.brand span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.system-tag{font-size:11px;font-weight:800;padding:8px 10px;border-radius:8px;background:#eaf2f7;color:#285b7b}.nav{display:flex;gap:3px;overflow:auto;background:var(--navy2);padding:6px 12px;position:sticky;top:79px;z-index:35}.nav a{color:#dbe7ef;text-decoration:none;font-weight:760;font-size:12px;padding:10px 12px;border-radius:7px;white-space:nowrap}.nav a:hover,.nav a.active{background:#fff;color:var(--navy2)}.wrap{max-width:1480px;margin:auto;padding:18px}.welcome{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:14px}.welcome h1{margin:0;color:var(--navy);font-size:30px}.welcome p{margin:5px 0;color:var(--muted)}.selectors{display:flex;gap:10px;align-items:end}.selectors label,.field-label{font-size:11px;font-weight:800;color:#526473}.selectors select,.selectors input{display:block;margin-top:4px;min-width:210px;padding:10px;border:1px solid #c9d4dc;border-radius:8px;background:#fff}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:15px 0}.sum{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:0 1px 2px #00000008}.sum strong{display:block;font-size:28px;color:var(--navy)}.sum span{font-size:12px;color:var(--muted)}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin:22px 0 9px}.sectionhead h2{margin:0;font-size:15px;color:var(--navy);letter-spacing:.65px}.sectionhead span{font-size:12px;color:var(--muted)}.tasks{display:grid;gap:9px}.task{background:#fff;border:1px solid var(--line);border-left:6px solid var(--blue);border-radius:10px;padding:12px 13px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.task.done{border-left-color:var(--green);opacity:.72}.task.overdue{border-left-color:var(--red)}.task.manual{border-left-color:#7556a8}.task .title{font-weight:820;font-size:15px}.task .meta{font-size:11px;color:var(--muted);margin-top:3px}.task .instructions{font-size:12px;margin-top:6px;color:#3e4e5a;max-width:950px}.task-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.btn{border:1px solid #b8c7d2;background:#fff;color:#164a70;padding:9px 12px;border-radius:8px;font-weight:800;text-decoration:none;font-size:12px;cursor:pointer;display:inline-block}.btn:hover{background:#edf4f8}.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn.green{background:var(--green);color:#fff;border-color:var(--green)}.btn.danger{color:var(--red);border-color:#d8aaaa}.badge{display:inline-block;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800;margin-right:5px;background:#e8f1f8;color:#285b83}.badge.due{background:#fff0cf;color:#865a00}.badge.done{background:#e2f2e9;color:#276546}.badge.overdue{background:#fae5e5;color:#8e2f2f}.page{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.tile{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:12px;background:#fff;padding:18px;transition:.12s}.tile:hover{transform:translateY(-1px);box-shadow:0 4px 14px #1c405912}.tile h3{margin:0;color:var(--navy)}.tile p{font-size:12px;color:var(--muted);line-height:1.45}.tile .big{font-size:28px;font-weight:850;color:var(--navy)}.notice{background:#eef5fa;border:1px solid #ccdce8;border-radius:8px;padding:10px;font-size:12px;color:#465766}.alert{background:#fff6df;border:1px solid #ead6a0}.goodbox{background:#eaf6ef;border:1px solid #bcdcc9}.tsms-layout{display:grid;grid-template-columns:340px 1fr;gap:12px;height:calc(100vh - 178px)}.tsms-side,.tsms-body{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:auto}.tsms-side{padding:12px}.tsms-side input{width:100%;padding:11px;border:1px solid #c9d4dc;border-radius:8px}.result{padding:9px;border-bottom:1px solid #edf1f3;cursor:pointer}.result:hover{background:#f4f8fa}.result b{display:block;font-size:12px;color:var(--navy)}.result span{font-size:11px;color:var(--muted)}.tsms-body{padding:20px;line-height:1.55}.tsms-body h2{color:var(--navy);border-top:1px solid #e8edf0;padding-top:14px}.hit{background:#fff0a8}.tabs{display:flex;gap:7px;margin-bottom:10px}.tabs button{padding:9px 12px;border:1px solid #c9d4dc;background:#fff;border-radius:8px;font-weight:750}.viewer{width:100%;height:calc(100vh - 250px);border:1px solid var(--line);border-radius:8px}.form label{display:block;font-size:12px;font-weight:800;margin:10px 0 4px}.form input,.form select,.form textarea{width:100%;padding:10px;border:1px solid #c9d4dc;border-radius:8px;background:#fff}.form textarea{min-height:110px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photos{display:flex;gap:8px;flex-wrap:wrap}.photos img{max-width:150px;max-height:150px;object-fit:cover;border-radius:8px;border:1px solid #ccd7df}.tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th{background:#edf4f8;color:var(--navy);text-align:left;font-size:11px;padding:9px;position:sticky;top:0}.table td{padding:9px;border-top:1px solid #edf1f3;font-size:12px;vertical-align:top}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.toolbar input,.toolbar select{padding:9px;border:1px solid #cbd6de;border-radius:8px;background:white}.right{margin-left:auto}.hidden{display:none!important}.identity{display:flex;gap:8px;align-items:center;font-size:12px}.identity b{color:var(--navy)}.statusdot{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--green);margin-right:5px}.manager-actions{display:flex;gap:8px;flex-wrap:wrap}.doc-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:11px;border-bottom:1px solid #edf1f3}.doc-card:last-child{border-bottom:0}.doc-card b{color:var(--navy)}.doc-card small{display:block;color:var(--muted);margin-top:3px}.progress{height:8px;background:#e5ebef;border-radius:99px;overflow:hidden}.progress i{height:100%;display:block;background:var(--green)}
@media(max-width:950px){.top{position:relative}.nav{top:0}.welcome{display:block}.selectors{margin-top:12px;display:grid;grid-template-columns:1fr 1fr}.selectors select,.selectors input{min-width:0;width:100%}.summary,.grid.four{grid-template-columns:1fr 1fr}.task{grid-template-columns:1fr}.tsms-layout{grid-template-columns:1fr;height:auto}.tsms-side{max-height:300px}.grid,.grid.two{grid-template-columns:1fr}.wrap{padding:12px}.brand b{font-size:16px}.system-tag{display:none}.form-row{grid-template-columns:1fr}.viewer{height:70vh}}
@media(max-width:600px){.summary,.grid.four{grid-template-columns:1fr 1fr}.selectors{grid-template-columns:1fr}.nav a{padding:9px 10px}.brand img{width:48px;height:48px}.top{padding:8px 10px}}
.one-login-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(7,31,50,.92);display:flex;align-items:center;justify-content:center;padding:18px}.one-login-card{width:min(460px,100%);background:#fff;border-radius:18px;padding:24px;box-shadow:0 28px 90px #0008}.one-login-brand{display:flex;gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px solid #dfe7ed}.one-login-brand img{width:72px;height:72px;object-fit:contain}.one-login-brand h2{margin:0;color:#123a5a}.one-login-brand p,.one-login-copy{margin:4px 0;color:#657482}.one-login-card h3{margin:18px 0 4px;color:#123a5a}.one-login-card label{display:grid;gap:5px;margin-top:12px;font-size:12px;font-weight:900;color:#334155}.one-login-card input,.one-login-card select{min-height:48px;border:1px solid #bdcad4;border-radius:9px;padding:10px;font:inherit;background:#fff}.one-login-card .btn{width:100%;margin-top:16px;min-height:48px}.one-login-error{min-height:20px;margin-top:10px;color:#b42318;font-weight:800;font-size:12px}.restricted{display:none!important}
.badge.review{background:#ede9fe;color:#5b21b6}.badge.new{background:#dbeafe;color:#1d4ed8}.review-form{margin-top:12px}.review-form textarea{min-height:70px}.check-label{display:flex!important;align-items:center;gap:10px}.check-label input{width:auto!important}.task.review{border-left-color:#7c3aed}.task.activity{border-left-color:#2563eb}
.draft-save-status{margin:10px 0;padding:9px 11px;border:1px solid #c7d9e6;border-radius:8px;background:#eef6fb;color:#37576d;font-size:12px;font-weight:750;line-height:1.35}
.maintenanceSchedule-hero{display:flex;justify-content:space-between;align-items:end;gap:18px;background:linear-gradient(135deg,#0b2941,#123a5a);color:#fff;border-radius:14px;padding:18px 20px;margin-bottom:12px}.maintenanceSchedule-hero h1{font-size:34px;margin:2px 0}.maintenanceSchedule-hero p{margin:0;color:#dceaf3}.maintenanceSchedule-kicker{color:#f2b416;font-size:11px;font-weight:900;letter-spacing:1.4px}.maintenanceSchedule-view{display:flex;align-items:end;gap:8px}.maintenanceSchedule-view label{font-size:11px;font-weight:850}.maintenanceSchedule-view select{display:block;min-width:230px;margin-top:4px;padding:9px;border-radius:8px;border:1px solid #8aa5b8;background:#fff;color:#132b3c}.maintenanceSchedule-tabs{background:#e8eef2;border-radius:10px;padding:6px;position:sticky;top:128px;z-index:20}.maintenanceSchedule-panel{min-height:280px}.maintenanceSchedule-task{grid-template-columns:minmax(0,1fr) auto}.maintenanceSchedule-task .due-line{font-size:12px;font-weight:800;margin-top:5px}.maintenanceSchedule-task.overdue .due-line{color:var(--red)}.maintenanceSchedule-task.due-soon .due-line{color:var(--amber)}.maintenanceSchedule-dialog{width:min(720px,calc(100% - 24px));border:0;border-radius:14px;padding:18px;box-shadow:0 28px 80px #0008}.maintenanceSchedule-dialog::backdrop{background:#071f32cc}.maintenanceSchedule-dialog form{margin:0}.management-only{display:none}@media(max-width:950px){.maintenanceSchedule-hero{display:block}.maintenanceSchedule-view{margin-top:14px}.maintenanceSchedule-view select{min-width:0;width:100%}.maintenanceSchedule-tabs{top:0}}

/* Consistent high-contrast screen theme. Paper/PDF output remains light below. */
html[data-sbm-theme="dark"]{color-scheme:dark;--bg:#080d13;--ink:#f1f5f9;--muted:#b8c4cf;--line:#425160;--white:#111a23;--navy:#d8e9f5;--navy2:#091c2d;--blue:#72b7e6;--green:#54c58a;--amber:#f0b94d;--red:#ff8585;background:#080d13}
html[data-sbm-theme="dark"] body{background:#080d13;color:#f1f5f9}
html[data-sbm-theme="dark"] :is(.top,.page,.tile,.sum,.task,.tsms-side,.tsms-body,.tablewrap,.one-login-card,.maintenanceSchedule-dialog){background:#111a23;color:#f1f5f9;border-color:#425160}
html[data-sbm-theme="dark"] :is(.brand b,.welcome h1,.sectionhead h2,.tile h3,.tile .big,.sum strong,.result b,.tsms-body h2,.identity b,.doc-card b,.one-login-brand h2,.one-login-card h3){color:#e8f4fc}
html[data-sbm-theme="dark"] :is(.brand span,.welcome p,.sum span,.sectionhead span,.task .meta,.tile p,.result span,.doc-card small,.one-login-copy,.one-login-brand p){color:#b8c4cf}
html[data-sbm-theme="dark"] :is(input,select,textarea){background:#0b121a;color:#f8fafc;border-color:#596978}
html[data-sbm-theme="dark"] :is(input,textarea)::placeholder{color:#9aa9b7;opacity:1}
html[data-sbm-theme="dark"] :is(input[readonly],input:disabled,select:disabled,textarea:disabled){background:#1c2834;color:#c9d4dd;opacity:1}
html[data-sbm-theme="dark"] :is(.btn,.tabs button,.toolbar button){background:#1b2834;color:#f3f7fa;border-color:#607181}
html[data-sbm-theme="dark"] :is(.btn,.tabs button,.toolbar button):hover{background:#273746;border-color:#8396a6}
html[data-sbm-theme="dark"] .btn.primary{background:#23658d;color:#fff;border-color:#4b9bca}
html[data-sbm-theme="dark"] .btn.green{background:#24734b;color:#fff;border-color:#54c58a}
html[data-sbm-theme="dark"] .table th{background:#1b2b38;color:#eef7fd;border-color:#526373}
html[data-sbm-theme="dark"] .table td{background:#101820;color:#f1f5f9;border-color:#344453}
html[data-sbm-theme="dark"] .notice{background:#172534;color:#dbeafe;border-color:#46627a}
html[data-sbm-theme="dark"] .alert{background:#3a2c12;color:#ffe2a6;border-color:#936d21}
html[data-sbm-theme="dark"] .goodbox{background:#102d21;color:#c8f7dc;border-color:#347b57}
html[data-sbm-theme="dark"] .maintenanceSchedule-tabs{background:#101923;border:1px solid #425160}
html[data-sbm-theme="dark"] .maintenanceSchedule-view select{background:#0b121a;color:#f8fafc;border-color:#607181}
html[data-sbm-theme="dark"] a:not(.btn){color:#9ed4f7}
html[data-sbm-theme="dark"] :focus-visible{outline:3px solid #f2b416!important;outline-offset:2px}
@media print{html[data-sbm-theme="dark"],html[data-sbm-theme="dark"] body{color-scheme:light!important;background:#fff!important;color:#111827!important}}
.maintenanceSchedule-tabs{position:static!important;top:auto!important;z-index:auto!important;margin-bottom:12px;overflow-x:auto}
.service-setup-rows{display:grid;gap:10px}.service-unit{border:1px solid var(--line);border-radius:11px;padding:12px;background:var(--white)}.service-unit h3{margin:0 0 8px;color:var(--navy);font-size:16px}.service-unit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.service-unit-grid label{display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:850}.service-unit-grid input,.service-unit-grid select{width:100%;min-height:43px;border:1px solid #b9c8d4;border-radius:8px;padding:8px;font:inherit}.service-type-box{border:1px solid var(--line);border-radius:9px;padding:8px}.service-type-box b{display:block;margin-bottom:5px}.service-type-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px}.service-unit-actions{display:flex;align-items:center;gap:10px;margin-top:9px}.service-unit-message{font-size:12px;color:var(--muted)}html[data-sbm-theme="dark"] .service-unit{background:#111a23;border-color:#425160}html[data-sbm-theme="dark"] .service-unit h3,html[data-sbm-theme="dark"] .service-type-box b{color:#e8f4fc}@media(max-width:900px){.service-unit-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.service-unit-grid{grid-template-columns:1fr}.service-unit-actions{display:grid}.service-unit-actions .btn{width:100%}}
.employee-picker{position:relative;display:block}.employee-matches{position:absolute;z-index:1000;left:0;right:0;top:calc(100% + 4px);max-height:310px;overflow:auto;border:1px solid #9fb2c1;border-radius:10px;background:#fff;box-shadow:0 14px 36px rgba(10,35,54,.24);padding:5px}.employee-matches button{display:grid;width:100%;gap:2px;border:0;border-bottom:1px solid #e4ebf0;background:#fff;color:#173a5e;text-align:left;padding:9px 10px;cursor:pointer}.employee-matches button:last-child{border-bottom:0}.employee-matches button:hover,.employee-matches button:focus{background:#eaf3f9;outline:0}.employee-matches button b{font-size:13px}.employee-matches button span,.employee-no-match{font-size:11px;color:#657786}.employee-no-match{display:block;padding:12px}.employee-matches[hidden]{display:none}html[data-sbm-theme="dark"] .employee-matches{background:#111a23;border-color:#596b7a;box-shadow:0 16px 40px #0009}html[data-sbm-theme="dark"] .employee-matches button{background:#111a23;color:#f5f8fa;border-color:#344453}html[data-sbm-theme="dark"] .employee-matches button:hover,html[data-sbm-theme="dark"] .employee-matches button:focus{background:#243442}html[data-sbm-theme="dark"] .employee-matches button span,html[data-sbm-theme="dark"] .employee-no-match{color:#b8c4cf}

/* Month-end closeout */
#closeoutSection>p{margin:0 0 14px;color:var(--muted);font-size:13px;line-height:1.45}
.closeout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:15px}
.check-card{display:flex;align-items:flex-start;gap:10px;min-height:58px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;color:var(--ink);font-size:13px;font-weight:750;line-height:1.35;cursor:pointer}
.check-card:hover{border-color:#8ba5b8;background:#f1f6f9}
.check-card input{flex:0 0 auto;width:21px;height:21px;margin:0;accent-color:var(--green)}
#closeoutSection>label{display:grid;gap:6px;color:var(--navy);font-size:12px;font-weight:850}
#closeoutNotes{display:block;width:100%;min-height:100px;padding:10px 11px;border:1px solid #b8c7d2;border-radius:9px;background:#fff;color:var(--ink);font:inherit;line-height:1.45;resize:vertical}
.save-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
#closeoutMessage{font-size:12px;font-weight:750;color:var(--muted)}
html[data-sbm-theme="dark"] .check-card{background:#15212c;border-color:#425160;color:#f1f5f9}
html[data-sbm-theme="dark"] .check-card:hover{background:#1c2b38;border-color:#6d8192}
@media(max-width:760px){.closeout-grid{grid-template-columns:1fr}.check-card{min-height:52px}}
@media print{html[data-sbm-theme="dark"] .check-card{background:#fff!important;color:#111827!important;border-color:#9ca3af!important}html[data-sbm-theme="dark"] #closeoutNotes{background:#fff!important;color:#111827!important;border-color:#9ca3af!important}}

/* Payroll review, shore group, approval, and batch printing */
.payroll-inbox{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0}.payroll-inbox .sectionhead{margin:0 0 5px}.payroll-inbox p{margin:0;color:var(--muted);font-size:13px}.payroll-center-head{display:flex;align-items:end;justify-content:space-between;gap:18px}.payroll-center-head h1{margin:0;color:var(--navy)}.payroll-center-head p{max-width:820px;margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.payroll-center-controls{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.payroll-center-controls label{font-size:11px;font-weight:850;color:var(--muted)}.payroll-center-controls input{display:block;margin-top:4px;min-height:38px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.payroll-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payroll-card{min-height:108px}.payroll-review-dialog{width:min(1500px,calc(100% - 20px));max-height:calc(100vh - 20px);padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink)}.payroll-review-dialog::backdrop{background:#06121dcc}.payroll-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.payroll-dialog-top strong{display:block;color:var(--navy);font-size:21px}.payroll-dialog-top span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.payroll-review-fields{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:8px}.payroll-review-fields label,.payroll-review-notes{font-size:11px;font-weight:850;color:var(--muted)}.payroll-review-fields input,.payroll-review-notes textarea{display:block;width:100%;margin-top:4px;padding:9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink)}.payroll-review-table-wrap{overflow:auto;margin:12px 0;border:1px solid var(--line)}.payroll-review-table{width:100%;min-width:1300px;border-collapse:collapse;background:#fff;color:#132b3c}.payroll-review-table th,.payroll-review-table td{border:1px solid #9aa8b2;padding:2px;text-align:center}.payroll-review-table th{background:#e8eef2;font-size:9px}.payroll-review-table th:first-child,.payroll-review-table th:nth-child(2){min-width:150px}.payroll-review-table input[type="text"],.payroll-review-table input:not([type]){width:100%;min-height:30px;border:0;background:#fff;color:#111827;padding:4px}.payroll-review-table input[type="checkbox"]{width:18px;height:18px}.payroll-review-table output{font-weight:900}.payroll-review-notes{display:block}.payroll-review-notes textarea{min-height:70px}.payroll-review-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.payroll-print-zone{display:none}.payroll-print-sheet{background:#fff;color:#111827;padding:.12in;font-family:Arial,sans-serif;break-after:page}.payroll-print-sheet:last-child{break-after:auto}.payroll-print-sheet header{display:flex;align-items:center;gap:12px;border-bottom:2px solid #d39a00;padding-bottom:5px}.payroll-print-sheet header img{width:.55in;height:.55in;object-fit:contain}.payroll-print-sheet header b,.payroll-print-sheet header span{display:block}.payroll-print-sheet header b{font-size:16px;color:#b47b00}.payroll-print-sheet header span{font-size:11px;font-weight:800}.payroll-print-meta{display:grid;grid-template-columns:2fr .7fr 1.2fr 1.6fr;border:1px solid #333;border-bottom:0;margin-top:7px}.payroll-print-meta span{padding:5px;border-right:1px solid #333;font-size:9px}.payroll-print-meta span:last-child{border-right:0}.payroll-print-sheet table{width:100%;border-collapse:collapse;table-layout:fixed}.payroll-print-sheet th,.payroll-print-sheet td{border:1px solid #333;height:24px;padding:1px;text-align:center;font-size:7px}.payroll-print-sheet th:first-child,.payroll-print-sheet td:first-child{width:1.25in;text-align:left}.payroll-print-sheet th:nth-child(2),.payroll-print-sheet td:nth-child(2){width:1.55in;text-align:left}.payroll-print-sheet th:last-child,.payroll-print-sheet td:last-child{width:.38in}.payroll-print-sheet footer{text-align:right;font-size:8px;margin-top:4px}
html[data-sbm-theme="dark"] .payroll-review-dialog{background:#111a23;color:#f1f5f9;border-color:#596978}html[data-sbm-theme="dark"] .payroll-center-controls input,html[data-sbm-theme="dark"] .payroll-review-fields input,html[data-sbm-theme="dark"] .payroll-review-notes textarea{background:#0b121a;color:#f8fafc;border-color:#596978}html[data-sbm-theme="dark"] .payroll-review-table{filter:brightness(.84);border-color:#71808d}html[data-sbm-theme="dark"] .payroll-review-table input{color:#111827!important;background:#fff!important}
@media(max-width:900px){.payroll-inbox,.payroll-center-head{align-items:stretch;flex-direction:column}.payroll-cards{grid-template-columns:1fr}.payroll-review-fields{grid-template-columns:1fr 1fr}.payroll-review-actions .btn{min-height:46px;flex:1 1 190px}}
@media print{@page{size:Letter landscape;margin:.22in}.top,.nav,.payroll-center,.payroll-review-dialog{display:none!important}.payroll-print-zone{display:block!important}.payroll-print-sheet{display:block!important;background:#fff!important;color:#111827!important}html[data-sbm-theme="dark"] .payroll-print-sheet{background:#fff!important;color:#111827!important;filter:none!important}}

/* Boat and office requests/messages */
.requests-shortcut{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:14px 0}.requests-shortcut .sectionhead{margin:0 0 5px}.requests-shortcut p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.requests-center{max-width:1320px}.emergency-note{margin-bottom:12px;border-left:6px solid var(--red);font-size:13px;line-height:1.45}.request-compose,.request-inbox{margin-bottom:14px}.request-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.request-heading h1,.request-heading h2{margin:0;color:var(--navy)}.request-heading h1{font-size:26px}.request-heading h2{font-size:19px}.request-heading p{margin:4px 0 0;color:var(--muted);font-size:13px}.request-photo-label small{display:block;margin-top:5px;color:var(--muted);font-weight:500}.request-photo-label input{padding:8px}.request-send-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.request-main-button{min-height:48px;font-size:14px}.offline-pill{padding:7px 10px;border-radius:999px;background:#fff0cf;color:#865a00;font-size:11px;font-weight:900}.request-filters{display:grid;grid-template-columns:1fr 1.5fr 1.5fr;gap:9px;margin-bottom:12px}.request-filters label{font-size:11px;font-weight:850;color:var(--muted)}.request-filters select{display:block;width:100%;min-height:42px;margin-top:4px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.request-rows{display:grid;gap:10px}.request-card{border:1px solid var(--line);border-left:6px solid var(--blue);border-radius:11px;background:#fff;padding:14px}.request-card.urgent{border-left-color:var(--red)}.request-card h3{margin:7px 0 3px;color:var(--navy);font-size:18px}.request-card .meta{color:var(--muted);font-size:11px}.request-body{max-width:1000px;margin:11px 0;white-space:pre-wrap;line-height:1.5;font-size:14px}.request-photo{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin:9px 0;color:var(--blue);font-size:12px;font-weight:850}.request-photo img{width:76px;height:60px;object-fit:cover;border:1px solid var(--line);border-radius:8px}.request-thread{max-width:1000px;margin-top:13px;padding-top:11px;border-top:1px solid var(--line)}.request-reply{margin-top:7px;padding:9px 11px;border-radius:8px;background:#f0f5f8}.request-reply b{color:var(--navy);font-size:12px}.request-reply span{margin-left:7px;color:var(--muted);font-size:10px}.request-reply p{margin:4px 0 0;white-space:pre-wrap;font-size:13px;line-height:1.4}.request-actions{display:flex;align-items:end;gap:7px;flex-wrap:wrap;margin-top:13px}.request-reply-box{flex:1 1 320px;display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:850}.request-reply-box input{width:100%;min-height:40px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
html[data-sbm-theme="dark"] :is(.request-card){background:#111a23;color:#f1f5f9;border-color:#425160}html[data-sbm-theme="dark"] :is(.request-card h3,.request-reply b,.request-heading h1,.request-heading h2){color:#e8f4fc}html[data-sbm-theme="dark"] .request-reply{background:#172534}html[data-sbm-theme="dark"] :is(.request-filters select,.request-reply-box input){background:#0b121a;color:#f8fafc;border-color:#596978}html[data-sbm-theme="dark"] .offline-pill{background:#3a2c12;color:#ffe2a6}
@media(max-width:760px){.requests-shortcut,.request-heading{align-items:stretch;flex-direction:column}.requests-shortcut .btn{min-height:46px;text-align:center}.request-filters{grid-template-columns:1fr}.request-actions .btn{min-height:44px;flex:1 1 145px}.request-reply-box{flex-basis:100%}.request-main-button{width:100%}}
@media print{.requests-center{max-width:none}.request-compose,.emergency-note,.request-actions,.request-filters,#refreshRequests{display:none!important}.request-card{break-inside:avoid;background:#fff!important;color:#111827!important;border-color:#9ca3af!important}.request-reply{background:#f3f4f6!important;color:#111827!important}}


/* v62: site-wide dark-mode surface audit.
   Custom page components that used fixed light backgrounds are explicitly
   remapped here so dark mode stays readable across Management, Documents,
   TSMS, Training, My Documents, and the sign-in experience. */
html[data-sbm-theme="dark"] :is(
  .access-card,.access-sections label,.access-enabled,.temporary-boat,
  .folder-card,.entity-folder,.old-copies,
  .step,.file-box,.tsms-action,.procedure-result,.empty-state,
  .training-guide>div,.crew-card,.topic-card,.other-people,.evidence-details,
  .requirements-panel,.training-history,.follow-up-check,.training-save,
  .timing-grid>div,.list-message,
  .page-heading,.upload-card,.saved-card,.office-picker,.kind-buttons span,
  .document-row,.one-login-results,.one-login-name-option
){background:#111a23!important;color:#f1f5f9!important;border-color:#425160!important}
html[data-sbm-theme="dark"] :is(
  .access-name,.temporary-boat summary,
  .folder-card strong,.entity-folder summary strong,.folder-view-head h2,
  .filing-head h1,.filing-form label,
  .tsms-action strong,.procedure-result h3,.procedure-search h2,.status-line,
  .training-guide b,.step-heading h2,.training-title h1,.crew-person strong,
  .requirement-help b,.timing-grid strong,
  .page-heading h1,.saved-heading h2,.kind-buttons span,
  .document-row strong,.one-login-name-option
){color:#e8f4fc!important}
html[data-sbm-theme="dark"] :is(
  .access-meta,.temporary-boat>p,.temporary-none,
  .folder-card small,.entity-folder summary small,
  .filing-head p,.field-help,.status,
  .tsms-action span,.procedure-search>p,.procedure-result p,.procedure-result small,.search-help,
  .training-guide small,.step-heading p,.crew-person small,.crew-help,
  .page-heading p,.saved-heading p,.document-row span,.eyebrow,
  .one-login-no-match,.one-login-recent>span
){color:#b8c4cf!important}
html[data-sbm-theme="dark"] .entity-folder[open] summary{background:#172534!important;border-color:#425160!important}
html[data-sbm-theme="dark"] :is(.common-searches button,.selected-count,.requirement-help,.steps span){background:#172534!important;color:#dbeafe!important;border-color:#46627a!important}
html[data-sbm-theme="dark"] :is(.audit-note,.temporary-current,.one-login-selected,.privacy-badge){background:#102d21!important;color:#c8f7dc!important;border-color:#347b57!important}
html[data-sbm-theme="dark"] .temporary-current span{color:#bfe8d0!important}
html[data-sbm-theme="dark"] :is(.protected,.access-badge){background:#172534!important;color:#dbeafe!important;border-color:#46627a!important}
html[data-sbm-theme="dark"] .access-badge.temp{background:#3a2c12!important;color:#ffe2a6!important}
html[data-sbm-theme="dark"] :is(.crew-card:hover,.topic-card:hover,.one-login-name-option:hover,.one-login-name-option:focus){background:#1b2b38!important}
html[data-sbm-theme="dark"] :is(.crew-card:has(input:checked),.topic-card:has(input:checked),.kind-buttons input:checked+span){background:#123524!important;color:#d7f6e4!important;border-color:#4f9b70!important}
html[data-sbm-theme="dark"] :is(.access-sections label,.access-enabled,.crew-card,.topic-card,.kind-buttons span){color:#edf4f8!important}
html[data-sbm-theme="dark"] .topic-card{color:#edf4f8!important}
html[data-sbm-theme="dark"] .one-login-selected :is(span,strong,button){color:#d7f6e4!important}
html[data-sbm-theme="dark"] .one-login-selected button{background:#173426!important;border-color:#4f7a61!important}
html[data-sbm-theme="dark"] .file-box input{background:#0b121a!important;color:#f8fafc!important;border-color:#596978!important}
@media print{
  html[data-sbm-theme="dark"] :is(
    .access-card,.access-sections label,.access-enabled,.temporary-boat,
    .folder-card,.entity-folder,.old-copies,.step,.file-box,.tsms-action,.procedure-result,.empty-state,
    .training-guide>div,.crew-card,.topic-card,.other-people,.evidence-details,.requirements-panel,.training-history,
    .follow-up-check,.training-save,.timing-grid>div,.list-message,.page-heading,.upload-card,.saved-card,.office-picker,
    .kind-buttons span,.document-row
  ){background:#fff!important;color:#111827!important;border-color:#9ca3af!important}
}


/* Monthly Near Miss requirement */
.near-miss-panel .sectionhead{align-items:end}.near-miss-panel .sectionhead p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.4}.near-miss-month-label{display:grid;gap:4px;min-width:155px;color:var(--muted);font-size:11px;font-weight:850}.near-miss-month-label input{min-height:38px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.near-miss-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.near-miss-card{display:grid;gap:9px;border:1px solid var(--line);border-left:5px solid #b42318;border-radius:11px;background:#fff;padding:12px}.near-miss-card.complete{border-left-color:#17824f}.near-miss-card-head{display:flex;align-items:center;justify-content:space-between;gap:9px}.near-miss-card-head strong{color:var(--navy);font-size:15px}.near-miss-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}.near-miss-meter{height:8px;overflow:hidden;border-radius:999px;background:#e8edf1}.near-miss-meter span{display:block;height:100%;background:#d39a00;border-radius:999px}.near-miss-card.complete .near-miss-meter span{background:#17824f}.near-miss-card .btn{justify-self:start}
html[data-sbm-theme="dark"] .near-miss-month-label input{background:#10171e;color:#f5f8fa;border-color:#4a5b6a}html[data-sbm-theme="dark"] .near-miss-card{background:#111a23;border-color:#425160;border-left-color:#ff6b63}html[data-sbm-theme="dark"] .near-miss-card.complete{border-left-color:#43c786}html[data-sbm-theme="dark"] .near-miss-card-head strong{color:#f5f8fa}html[data-sbm-theme="dark"] .near-miss-card p{color:#c0cad3}html[data-sbm-theme="dark"] .near-miss-meter{background:#2b3640}
@media(max-width:1100px){.near-miss-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.near-miss-panel .sectionhead{align-items:stretch;flex-direction:column}.near-miss-month-label{min-width:0}.near-miss-grid{grid-template-columns:1fr}.near-miss-card .btn{width:100%;text-align:center}}

/* V70 - clearer site-wide controls */
.btn,.tabs button,.toolbar button,button.folder-card,.row-action,.open-label{transition:transform .08s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}
.btn{border-width:2px;box-shadow:0 2px 5px rgba(18,58,90,.10);min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn:hover,.btn:focus-visible{transform:translateY(-1px);box-shadow:0 5px 12px rgba(18,58,90,.18);border-color:#2f6f99;outline:3px solid rgba(46,126,177,.16);outline-offset:1px}
.btn.primary{box-shadow:0 3px 8px rgba(18,58,90,.24)}
.folder-card:hover,.folder-card:focus-visible{transform:translateY(-1px);box-shadow:0 7px 18px rgba(18,58,90,.16);outline:3px solid rgba(217,155,0,.18);outline-offset:1px}
.open-label{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 12px;border:2px solid #9fb6c7;border-radius:8px;background:#eef5f9;color:#164a70;font-weight:900}
.entity-folder summary:hover .open-label{background:#dfeef7;border-color:#4f85a8}
@media(max-width:620px){.btn{min-height:46px}.task-actions .btn{flex:1 1 auto}.open-label{display:none}}
@media print{.btn,.open-label{box-shadow:none!important;transform:none!important}}
