:root{font-family:"Segoe UI",Arial,sans-serif;color:#171717;background:#d7d9dc;--ink:#171717;--charcoal:#232323;--graphite:#3a3a3a;--steel:#6d6f72;--silver:#aeb1b4;--light:#e5e6e8;--paper:#fff;--accent:#4b4d50;--accent2:#7b7e82;--border:#b9bdc1;--shadow:#0002}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#cfd1d4 0,#e3e4e6 180px,#d7d9dc 100%);color:var(--ink)}header{background:linear-gradient(135deg,#111 0,#292929 55%,#444 100%);color:#fff;padding:26px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 3px 14px #0006;border-bottom:3px solid #9a9da0;min-height:110px}header b{font-size:36px;letter-spacing:.9px}header span{opacity:.78;margin-left:6px}nav{display:flex;gap:7px;flex-wrap:wrap}button{border:1px solid #aeb1b4;border-radius:5px;padding:10px 14px;cursor:pointer;background:#eceeef;color:#171717;font-weight:700}nav button{background:#3b3b3b;color:#fff;border-color:#6c6c6c}nav button:hover{background:#565656}.view{max-width:1240px;margin:24px auto;padding:0 18px}.hidden{display:none!important}.card,.document{background:#fff;border-radius:6px;padding:22px;margin-bottom:18px;box-shadow:0 3px 14px var(--shadow);border:1px solid #c2c5c8}.document{border-top:6px solid #222}.dochead{display:flex;justify-content:space-between;gap:24px;border-bottom:2px solid #333;padding-bottom:16px;margin-bottom:18px}.agency{font-size:12px;font-weight:900;letter-spacing:1.6px;color:#4a4c4f}.dochead h1{margin:5px 0;font-size:28px;color:#151515}.subtitle{color:#6b6e72;font-size:13px}.filing-box{min-width:190px;border:2px solid #303030;padding:12px;text-align:center;align-self:flex-start;background:#f3f3f3}.filing-box span{display:block;font-size:11px;font-weight:800;letter-spacing:1px}.filing-box strong{display:block;margin-top:5px;font-size:18px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.field{position:relative}.field label,.detail label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;margin-bottom:5px;color:#505256}.field input,.field textarea,.field select,.search{width:100%;border:1px solid #aeb2b6;border-radius:5px;padding:10px;background:#fff;font:inherit;color:#171717}.field input:focus,.field textarea:focus,.field select:focus,.search:focus{outline:2px solid #777;outline-offset:1px}.field textarea{min-height:90px;resize:vertical}.wide{grid-column:1/-1}.xl{min-height:180px!important}.md{min-height:110px!important}.section-title,.topline{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-title span{font-size:12px;color:#707377}.table-wrap{overflow:auto}.patrol{width:100%;border-collapse:collapse;min-width:850px}.patrol th{background:#2b2b2b;color:#fff;text-align:left;font-size:12px;text-transform:uppercase}.patrol th,.patrol td{border:1px solid #b8bcc0;padding:6px;vertical-align:top}.patrol td input{width:100%;min-width:120px;border:0;padding:8px;font:inherit;background:transparent}.patrol td:nth-child(3) input{min-width:190px}.patrol td:nth-child(4) input{min-width:220px}.patrol td:nth-child(5) input{min-width:180px}.totals{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.suggest{position:absolute;z-index:20;left:0;right:0;top:100%;background:#fff;border:1px solid #aeb2b6;border-radius:5px;box-shadow:0 8px 20px #0002;max-height:220px;overflow:auto}.suggest div{padding:9px;cursor:pointer}.suggest div:hover{background:#e7e8ea}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.primary{background:#292929;color:#fff;border-color:#111}.record{border:1px solid #c5c8cb;border-radius:5px;padding:13px;margin:9px 0;cursor:pointer;background:#fff}.record:hover{background:#f0f1f2}.filing{font-weight:900;letter-spacing:.5px}.badge{display:inline-block;padding:4px 8px;border-radius:12px;background:#e1e2e4;font-size:12px}.detail{margin-top:20px}.detail h2{font-size:17px;border-bottom:1px solid #c8cbce;padding-bottom:7px}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.detail-grid>div{border:1px solid #d0d3d6;border-radius:5px;padding:10px;min-height:58px}.detail p{margin:0;white-space:pre-wrap}.doc-footer{display:flex;justify-content:space-between;border-top:2px solid #333;margin-top:30px;padding-top:10px;font-size:12px;font-weight:800}.no-print{display:flex}.rank-insignia{margin-top:8px;min-height:46px;display:flex;align-items:center;gap:8px}.insignia-shield{display:inline-flex;align-items:center;justify-content:center;width:58px;height:42px;border:2px solid #343638;background:linear-gradient(145deg,#d7d9dc,#777);clip-path:polygon(12% 0,88% 0,100% 22%,92% 78%,50% 100%,8% 78%,0 22%);box-shadow:0 1px 3px #0004}.insignia-shield b{font-size:11px;color:#111;letter-spacing:.5px}.insignia-svg{display:inline-flex;align-items:center;justify-content:center;width:76px;height:52px;border:1px solid #8b8e91;border-radius:4px;background:linear-gradient(145deg,#f3f3f3,#c2c5c8);color:#171717;box-shadow:inset 0 0 0 2px #e5e6e8}.insignia-svg svg{width:68px;height:48px}.rank-placeholder{color:#667388;font-size:12px}.saved-rank{display:inline-flex;align-items:center;gap:8px;font-weight:800}.cross-ref-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;border:1px solid #d0d3d6;border-radius:5px;padding:10px;margin-bottom:10px}.cross-remove{height:40px}.cross-link-list{display:grid;gap:8px}.cross-link{display:block;text-align:left;background:#f0f1f2;border:1px solid #b9bdc1;padding:10px;border-radius:5px}.cross-link:hover{background:#e1e2e4}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.edit-log-list{display:grid;gap:10px}.edit-entry{border:1px solid #c8cbce;border-left:4px solid #4b4d50;border-radius:5px;background:#f7f7f7;padding:11px}.edit-entry .topline{margin-bottom:5px}.edit-entry ul{margin:7px 0 0;padding-left:20px}.photo-preview{border:1px solid #c4c7ca;border-radius:5px;background:#f5f5f5;padding:7px;display:flex;flex-direction:column;gap:6px;font-size:11px;overflow:hidden}.photo-preview img{width:100%;height:150px;object-fit:cover;background:#ddd}.saved-photo{text-decoration:none;color:#171717}.saved-photo:hover{outline:2px solid #777}@media(max-width:850px){.cross-ref-row{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr 1fr}}.rank-insignia span{font-size:12px;color:#667388}.brand{display:flex;align-items:center;gap:10px}.brand img{width:108px;height:108px;object-fit:contain}.auth-user{margin-left:14px;font-size:12px;opacity:.9}.logout{color:#fff;margin-left:8px;font-size:12px}.login-card{text-align:center;max-width:680px;margin:60px auto}.login-link{display:inline-block;text-decoration:none;border-radius:5px;padding:12px 18px;margin-top:10px}.notice{padding:14px;background:#eef0f2;border:1px solid #c2c5c8;border-radius:5px;margin-top:14px}.danger{background:#555;color:#fff}.signature-preview,.saved-signature{font-size:24px;font-style:italic;margin-top:8px;min-height:34px}.signature-preview{padding:8px 4px;color:#222;display:block;min-height:52px}.saved-signature{font-size:30px;padding:8px 0;display:block;min-width:320px}.signature-box{border:2px solid #303030;border-radius:5px;background:#fafafa;padding:14px 16px;margin-top:8px;max-width:620px}.signature-line{min-height:82px;border-bottom:1px solid #777;display:flex;flex-direction:column;justify-content:flex-end}.signature-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:#70747a}.signature-meta{font-size:11px;color:#5d6268;margin-top:8px}.record button{padding:7px 10px;font-size:12px}.template-footer{margin-top:18px;color:#667388;font-size:12px;border-top:1px solid #d0d3d6;padding-top:10px}.helper{font-size:13px;color:#5d6268}.penal-picker{position:relative}.penal-suggest{top:100%;max-height:280px}.penal-result{display:flex;align-items:center;gap:8px}.penal-result small{margin-left:auto;color:#70747a}.penal-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.penal-chip{display:inline-flex;align-items:center;gap:6px;background:#e5e6e8;border:1px solid #b9bdc1;border-radius:16px;padding:6px 9px;font-size:12px}.penal-chip button{border:0;background:transparent;padding:0 2px;font-size:16px;line-height:1;cursor:pointer}.penal-entry{border:1px solid #c4c7ca;border-radius:6px;padding:18px;margin:14px 0;background:#fafafa}.penal-entry h2{margin:0;font-size:20px}.penal-entry h3{font-size:14px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #d0d3d6;padding-bottom:5px}.penal-entry ol{margin:8px 0 0;padding-left:28px}.penal-entry li{margin:8px 0;line-height:1.45}.penal-meta{font-size:12px;font-weight:800;color:#555a60;margin:8px 0 12px}.officer-list{margin-top:12px}.officer-rank{font-weight:800}.officer-unit{font-family:Consolas,monospace;font-weight:800}.officer-row{cursor:default}.officer-row:hover{background:#f4f4f4}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid #d0d3d6;border-radius:5px;padding:10px}.check{font-size:13px!important;text-transform:none!important;font-weight:600!important;color:#333!important}.dynamic-table{width:100%;border-collapse:collapse;min-width:720px}.dynamic-table th{background:#2b2b2b;color:#fff;text-align:left;font-size:12px;text-transform:uppercase}.dynamic-table th,.dynamic-table td{border:1px solid #b8bcc0;padding:5px}.dynamic-table input{width:100%;border:0;padding:7px;font:inherit;background:#fff}.signature-input{font-family:'Segoe Print',cursive;font-style:italic}@media(max-width:850px){.grid,.totals,.detail-grid{grid-template-columns:1fr 1fr}.dochead{flex-direction:column}.filing-box{min-width:0}.no-print{flex-wrap:wrap}}@media print{body{background:#fff}.no-print,header{display:none!important}.view{max-width:none;margin:0;padding:0}.document{box-shadow:none;border:0;margin:0}.card{box-shadow:none}.printdoc{display:block!important}}.reference-shell{padding-bottom:28px}.reference-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0;padding:10px;background:#eef0f2;border:1px solid #c7cacf;border-radius:6px}.reference-tabs button{font-size:12px}.reference-heading{display:flex;justify-content:space-between;align-items:flex-start;margin:8px 0 14px}.reference-heading h2{margin:0 0 4px}.reference-table{width:100%;border-collapse:collapse;min-width:720px}.reference-table th{background:#292929;color:#fff;text-align:left;font-size:12px;text-transform:uppercase}.reference-table td,.reference-table th{border:1px solid #c1c5c9;padding:8px;vertical-align:top}.reference-table tbody tr:nth-child(even){background:#f6f7f8}.reference-table.imported td{white-space:pre-wrap;min-width:90px}.reference-table .mono,.mono{font-family:Consolas,Monaco,monospace;font-weight:800}.coc-rank{margin:18px 0}.coc-rank h3{border-bottom:2px solid #333;padding:8px 0;margin:0 0 10px}.coc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.coc-card{border:1px solid #c5c8cb;border-radius:6px;padding:12px;background:#fafafa}.coc-card .badge{margin-top:8px}@media(max-width:850px){.coc-grid{grid-template-columns:1fr}.reference-tabs{overflow:auto;flex-wrap:nowrap}.reference-tabs button{white-space:nowrap}}
/* Workbook pages use the original sheet geometry, fills, borders and typography. */
header{display:grid;grid-template-columns:auto 1fr;padding:16px 24px;gap:12px 24px}
header .brand img{width:66px;height:66px}header .brand b{font-size:28px}
header #auth{grid-column:2;grid-row:1;text-align:right}
header nav{grid-column:1/-1;grid-row:2;gap:6px}header nav button{font-size:13px;padding:9px 12px}
header nav button[aria-current="page"]{background:#b59c48;color:#111;border-color:#d9c885}
#reports.view{max-width:none;margin:20px 24px;padding:0}
.sheet-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;background:#fff;padding:16px 20px;border:1px solid #babfc4;border-radius:6px 6px 0 0}
.sheet-toolbar h1{font-size:25px;margin:0 0 5px}.sheet-toolbar p{margin:0;color:#555;font-size:13px}
.sheet-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.sheet-actions select{padding:8px;border:1px solid #aaa;border-radius:4px;background:#fff}
.sheet-toolbar #sheet-status{flex-basis:100%;font-size:12px}.sheet-toolbar #sheet-status[role="alert"]{color:#a32121;font-weight:700}
.sheet-note{font-size:12px;color:#454b51;margin:0;padding:9px 20px;background:#f7f7f7;border-inline:1px solid #babfc4}
.sheet-scroll{overflow:auto;max-height:calc(100vh - 290px);min-height:360px;border:1px solid #9ea4aa;background:#fff;overscroll-behavior:contain}
.sheet-canvas{position:relative;isolation:isolate}.workbook-grid{border-collapse:collapse;table-layout:fixed;background:#fff;width:100%}
.workbook-grid td{padding:0;overflow-wrap:anywhere;line-height:1.2}.sheet-value{padding:3px 5px;white-space:pre-wrap;min-height:21px}
.workbook-grid .sheet-input{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:24px;margin:0;padding:3px 5px;border:0;border-radius:0;resize:vertical;font:inherit;text-align:inherit;color:inherit;background:transparent;line-height:inherit;white-space:pre-wrap}
.workbook-grid select.sheet-input{min-height:26px}.workbook-grid .sheet-check{display:block;margin:5px auto;width:17px;height:17px;accent-color:#306a50}
.workbook-grid .editable-cell:hover{box-shadow:inset 0 0 0 1px #4b8cc5}.workbook-grid .sheet-input:focus{outline:2px solid #286ba8;outline-offset:-2px;background:#fff;color:#111}.workbook-grid .sheet-cell-editor{min-height:24px;white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;padding:2px 3px;border:1px solid transparent;border-radius:2px}.workbook-grid .sheet-cell-editor:hover,.workbook-grid .sheet-cell-editor:focus{outline:2px solid #286ba8;outline-offset:-2px;background:#fff;color:#111}
.workbook-grid .changed-cell{box-shadow:inset 0 -3px 0 #2b76b5}.sheet-image{position:absolute;object-fit:contain;pointer-events:none;z-index:1}
.subdivision-boxes{display:grid;grid-template-columns:repeat(3,minmax(360px,1fr));gap:24px;padding:24px;background:#444}.subdivision-box{background:#666;border:3px solid #111}.subdivision-box h2{margin:0;padding:12px 8px;background:#806000;color:#fff;text-align:center;font-size:18px}.subdivision-box table{width:100%;border-collapse:collapse;table-layout:fixed}.subdivision-box th,.subdivision-box td{border:1px solid #111;padding:0;text-align:center}.subdivision-box th{background:#555;color:#fff;font-size:12px;padding:6px}.subdivision-box td{height:28px;color:#111;background:#aaa}.subdivision-box .sheet-value{padding:5px}.subdivision-box .sheet-input{min-height:27px;background:#ddd}.subdivision-box .sheet-cell-editor{min-height:27px;padding:5px}.subdivision-box td:nth-child(3){background:#b7e1cd}.subdivision-box select.sheet-input{background:#b7e1cd}@media(max-width:1100px){.subdivision-boxes{grid-template-columns:repeat(2,minmax(320px,1fr))}}@media(max-width:700px){.subdivision-boxes{grid-template-columns:1fr}}
button:disabled{cursor:wait;opacity:.6}
@media(max-width:850px){header{padding:12px;grid-template-columns:1fr}header #auth{grid-column:1;grid-row:2;text-align:left}header nav{grid-row:3}header nav button{font-size:12px;padding:8px}#reports.view{margin:12px}.sheet-scroll{max-height:65vh}.sheet-toolbar{padding:12px}.sheet-actions{gap:6px}}
@media print{.sheet-toolbar,.sheet-note{display:none!important}.sheet-scroll{max-height:none;overflow:visible;border:0}.sheet-canvas{zoom:.6!important}}
