/* Operational pages compose the dashboard's controls, tables, dialogs and tokens. */
.ops-preview-note{display:flex;align-items:center;gap:9px;padding:10px 13px;margin-bottom:20px;border:1px solid var(--border);border-radius:8px;color:var(--muted);background:var(--surface);font-size:.8125rem;line-height:1.5}
.ops-steps{display:flex;list-style:none;gap:28px;padding:0;margin:0 0 18px;color:var(--muted);font-size:.875rem}.ops-steps li{display:flex;align-items:center;gap:8px}.ops-steps b{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--border);border-radius:50%;font-size:.75rem;font-weight:500}.ops-steps .active{color:var(--accent)}.ops-steps .active b{background:var(--accent-soft);border-color:var(--accent-border,#b5d7c8)}
.ops-upload-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;margin-bottom:20px}.ops-drop-panel{padding:14px}.ops-drop{display:flex;width:100%;height:100%;min-height:248px;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:24px;border:1px dashed var(--border-strong);border-radius:8px;background:var(--canvas);color:var(--muted)}.ops-drop>.icon{width:30px;height:30px;color:var(--accent);margin-bottom:6px}.ops-drop strong{color:var(--text);font-size:1rem;font-weight:500}.ops-drop>small{font-size:.75rem}.ops-drop:hover,.ops-drop.dragging{border-color:var(--accent);background:var(--accent-soft)}.ops-browse-label{border:1px solid var(--accent-border,#afd3c2);border-radius:6px;background:var(--surface);color:var(--accent);padding:7px 16px;font-size:.875rem;margin:4px 0}
.ops-import-options{padding:18px;overflow:visible}.ops-import-options h3{margin-bottom:14px}.ops-label{display:block;font-size:.75rem;color:var(--muted);margin:12px 0 5px}.ops-import-options .tm-select{width:100%}.ops-import-options .tm-select summary{font-size:.8125rem}.ops-import-options p{font-size:.75rem;color:var(--muted);line-height:1.55;margin-top:12px}.ops-help{margin-top:12px;font-size:.8125rem;color:var(--muted)}.ops-help summary{cursor:pointer;color:var(--accent)}
.ops-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px;border-bottom:1px solid var(--border)}.ops-panel-head h3{display:flex;align-items:center;gap:8px}.ops-panel-head p{color:var(--muted);font-size:.8125rem;margin-top:4px}.ops-panel-head>.icon{color:var(--muted)}.ops-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ops-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid var(--border);color:var(--muted);font-size:.75rem}
.ops-file-row{display:flex;align-items:center;gap:14px;padding:14px 20px;border-bottom:1px solid var(--border)}.ops-file-row:last-child{border:0}.ops-file-icon{display:grid;place-items:center;background:var(--canvas);border:1px solid var(--border);border-radius:8px;width:36px;height:40px;flex:none;color:var(--muted)}.ops-file-copy{min-width:0;flex:1}.ops-file-copy strong{display:block;font-size:.875rem;font-weight:500;overflow-wrap:anywhere}.ops-file-copy>span{display:block;color:var(--muted);font-size:.75rem;margin-top:4px;overflow-wrap:anywhere}.ops-file-row .tm-button{font-size:.8125rem;min-height:32px;padding:6px 9px}.ops-queue-list{max-height:560px;overflow:auto}.ops-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:38px 20px;text-align:center;color:var(--muted);white-space:normal}.ops-empty>.icon{width:28px;height:28px;margin-bottom:6px}.ops-empty strong{color:var(--text);font-weight:500;font-size:.9375rem}.ops-empty p{font-size:.8125rem}
.ops-badge{display:inline-flex;align-items:center;gap:5px;flex:none;font-size:.75rem;line-height:1.4;padding:3px 7px;border:1px solid var(--border);border-radius:5px;background:var(--canvas);color:var(--muted);white-space:nowrap}.ops-success{background:var(--accent-soft);color:var(--accent-text,#137333);border-color:var(--accent-border,#c6dfd2)}.ops-warning{background:var(--warning-soft,#fff7e8);color:var(--warning-text,#856019);border-color:var(--warning-border,#ead8b2)}.ops-danger{background:var(--danger-soft,#fceeed);color:var(--danger-text,#b3261e);border-color:var(--danger-border,#ecd2ce)}
.ops-stats strong{font-size:1.375rem}.ops-stats{margin-bottom:20px}.ops-tabs{display:flex;gap:22px;overflow-x:auto;border-bottom:1px solid var(--border);margin-bottom:22px;scrollbar-width:thin}.ops-tabs button{display:flex;align-items:center;gap:7px;flex:none;padding:12px 2px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:.875rem;white-space:nowrap}.ops-tabs [aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent);font-weight:500}.ops-tabs button>span{padding:1px 5px;font-size:.75rem;border-radius:4px;background:var(--warning-soft,#fff7e8);color:var(--warning-text,#856019)}.ops-tabs button:focus-visible{outline-offset:-3px}.ops-toolbar{display:flex;align-items:center;gap:12px;padding:15px 18px;flex-wrap:wrap}.ops-toolbar>.tm-search{flex:1;min-width:180px}.ops-toolbar>.ops-actions:last-child,.ops-toolbar>.tm-button:last-child{margin-left:auto}.ops-toolbar>.tm-select{flex:none}.ops-toolbar .tm-muted{font-size:.8125rem;margin-top:4px}.ops-table td{vertical-align:middle;font-size:.8125rem}.ops-table th{font-size:.75rem}.ops-table caption{text-align:left}.ops-cell{display:flex;flex-direction:column;gap:4px;max-width:280px;white-space:normal;overflow-wrap:anywhere}.ops-cell strong{font-weight:500}.ops-cell small{font-size:.75rem;color:var(--muted)}.ops-message{display:block;min-width:200px;max-width:460px;white-space:normal;line-height:1.5}.ops-table .tm-button{font-size:.8125rem;min-height:31px;padding:5px 8px}.ops-table-scroll{border-radius:0}.ops-table-scroll:focus-visible{outline-offset:-3px}.report-pagination>.report-page-nav{margin-left:auto}
.ops-coverage-legend{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin:0 0 16px;color:var(--muted);font-size:.75rem}.ops-coverage-legend>span{display:flex;align-items:center;gap:6px}.ops-coverage-legend .ops-day{display:block;min-height:0;width:11px;height:11px;border-radius:3px}.ops-coverage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ops-month-nav{display:flex;align-items:center;gap:14px}.ops-month-nav strong{font-weight:500;min-width:134px;text-align:center}.ops-month-nav .tm-button{padding:7px;min-height:32px}.ops-calendar{padding:16px 20px 20px}.ops-calendar-week,.ops-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.ops-calendar-week{color:var(--muted);font-size:.75rem;text-align:center;margin-bottom:9px}.ops-day{min-height:33px;display:grid;place-items:center;border:1px solid var(--border);border-radius:5px;font-size:.8125rem;font-variant-numeric:tabular-nums;background:var(--canvas);color:var(--muted)}.ops-day.received{background:var(--accent-soft);color:var(--accent-text,#137333);border-color:var(--accent-border,#c6dfd2)}.ops-day.missing{background:var(--danger-soft,#fceeed);color:var(--danger-text,#b3261e);border-color:var(--danger-border,#ecd2ce)}.ops-day.empty{border-style:dashed;background:var(--canvas)}.ops-day.future{opacity:.45;background:transparent}.ops-day:not(:disabled):hover{outline:1px solid var(--accent);outline-offset:1px}
.ops-review .ops-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-review-meta{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--muted);font-size:.8125rem;margin-bottom:18px}.ops-review h3{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ops-review .ops-table-scroll{border:1px solid var(--border);border-radius:8px;margin-bottom:20px}.ops-issues{list-style:none;padding:0;margin:0}.ops-issues li{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--border);font-size:.8125rem;line-height:1.5}.ops-issues small{display:block;color:var(--muted);overflow-wrap:anywhere;margin-top:3px}.ops-detail-copy{line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.ops-copy-text{width:100%;min-height:220px;border:1px solid var(--border);border-radius:8px;background:var(--canvas);color:var(--text);padding:12px;font:inherit}
.ops-maintenance-grid,.ops-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.ops-section-icon{display:grid;place-items:center;width:36px;height:36px;background:var(--accent-soft);color:var(--accent);border-radius:8px;margin-bottom:14px}.ops-setting-hint{color:var(--muted);font-size:.8125rem;line-height:1.55;margin-top:12px}.ops-check-result{margin-top:14px;padding:11px;background:var(--canvas);border:1px solid var(--border);border-radius:7px;font-size:.8125rem}.ops-settings-card{overflow:visible}.ops-settings-body{padding:4px 20px 18px}.ops-setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:66px;border-bottom:1px solid var(--border);padding:13px 0;width:100%}.ops-setting-row:last-child{border-bottom:0;padding-bottom:0}.ops-setting-row strong{font-size:.875rem;font-weight:400}.ops-setting-row .tm-select{min-width:150px;max-width:250px}.ops-setting-row .tm-select summary{font-size:.75rem}.ops-setting-row .tm-select strong{font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-setting-row .tm-select-menu{max-height:240px;overflow:auto}.ops-setting-row small{display:block;font-size:.75rem;color:var(--muted);margin-top:4px}.ops-toggle{background:transparent;border-top:0;border-left:0;border-right:0;text-align:left}.ops-toggle[aria-checked=true] .custom-switch{background:var(--accent)}.ops-toggle[aria-checked=true] .custom-switch:after{transform:translateX(13px)}.ops-settings-body>.tm-field{margin-top:16px}.ops-money-input{display:flex;align-items:center;border:1px solid var(--border);border-radius:7px;padding-left:12px}.ops-money-input>span{font-size:.8125rem;color:var(--muted)}.ops-money-input input{border:0;min-width:0;background:transparent}.ops-money-input:focus-within{outline:2px solid var(--accent);outline-offset:2px}.ops-money-input input:focus-visible{outline:0}.ops-settings-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.ops-settings-footer{display:flex;align-items:center;gap:10px;padding:20px 0}.ops-settings-footer>span{margin-right:auto;font-size:.8125rem}.ops-target-progress{margin:16px 0 4px}.ops-target-progress>div{display:flex;justify-content:space-between;font-size:.8125rem}.ops-target-progress strong{font-weight:500;color:var(--accent)}.ops-target-progress progress{appearance:none;width:100%;height:6px;border:0;background:var(--chart-track);border-radius:5px;overflow:hidden;margin:9px 0}.ops-target-progress progress::-webkit-progress-bar{background:var(--chart-track);border-radius:5px}.ops-target-progress progress::-webkit-progress-value{background:var(--accent);border-radius:5px}.ops-target-progress progress::-moz-progress-bar{background:var(--accent)}.ops-target-progress small{color:var(--muted);font-size:.75rem}.ops-compact .tm-table td,.ops-compact .report-table td,.ops-compact .report-table tbody th{padding-top:8px;padding-bottom:8px}.no-weekends .weekend-band,.no-weekends .weekend-band+line,.no-weekends .weekend-legend,.no-weekends #main-weekend-legend{display:none}
@container(max-width:1000px){.ops-upload-grid{grid-template-columns:minmax(0,1fr) 275px}.ops-setting-row{flex-wrap:wrap;gap:9px}.ops-setting-row .tm-select{max-width:none}.ops-setting-row:not(.ops-toggle)>.tm-select{width:100%}}
@media(max-width:760px){.ops-upload-grid,.ops-settings-grid,.ops-maintenance-grid,.ops-coverage-grid{grid-template-columns:1fr;gap:14px}.ops-drop{min-height:200px}.ops-import-options{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.ops-import-options>h3,.ops-import-options>p,.ops-import-options>.ops-help{grid-column:1/-1}.ops-import-options>label{display:none}.ops-steps{gap:16px;font-size:.8125rem;justify-content:space-between}.ops-steps b{width:22px;height:22px}.ops-steps li{gap:5px}.ops-preview-note{align-items:flex-start;font-size:.75rem}.ops-tabs{gap:20px;margin-bottom:16px}.ops-tabs button{min-height:46px}.ops-toolbar{padding:12px;gap:10px}.ops-toolbar>.tm-search{flex-basis:100%}.ops-panel-head{padding:15px;flex-wrap:wrap}.ops-panel-foot{padding:12px 15px;flex-wrap:wrap}.ops-file-row{padding:13px;gap:9px;flex-wrap:wrap}.ops-file-copy{min-width:calc(100% - 60px)}.ops-file-row>.ops-badge{margin-left:45px}.ops-file-row>.ops-actions{margin-left:auto}.ops-file-row .tm-button{min-height:36px}.ops-stats article{min-height:66px}.ops-settings-body{padding-inline:15px}.ops-settings-footer{flex-wrap:wrap}.ops-calendar{padding:16px}.ops-day{min-height:38px}.ops-coverage-legend{gap:13px}.ops-month-nav{order:3;width:100%;justify-content:space-between}.ops-setting-row{flex-wrap:wrap}.ops-setting-row>.tm-select{max-width:none;width:100%}.ops-settings-links>.tm-button{flex:1}.ops-settings-links{gap:8px}.ops-money-input input{font-size:1rem}.ops-panel-head p{font-size:.75rem}.ops-toolbar .tm-select summary{min-height:40px}.ops-review .ops-stats strong{font-size:1.125rem}}
@media(max-width:420px){.ops-import-options{grid-template-columns:1fr}.ops-steps{font-size:.75rem;gap:8px}.ops-steps b{width:20px;height:20px}.ops-actions{gap:6px}.ops-settings-footer>span{flex-basis:100%}.ops-calendar-days{gap:4px}.ops-file-row>.ops-badge{margin-left:0}.ops-preview-note>.icon{display:none}}

@media(max-width:1000px){.ops-upload-grid,.ops-settings-grid,.ops-maintenance-grid{grid-template-columns:1fr;gap:16px}}

/* Upload decisions */
.ops-file-row{flex-direction:column;align-items:stretch;gap:10px}
.ops-file-main{display:flex;align-items:center;gap:14px}
.ops-file-row--decide{background:var(--warning-soft,#fff8e6)}
.ops-decision{margin-left:52px;padding:12px 14px;border:1px solid var(--warning-border,#f0d9a6);border-radius:10px;background:var(--surface)}
.ops-decision .ops-issues{margin:0 0 10px}
.ops-decision-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ops-inline-select{display:flex;align-items:center;gap:8px;margin-right:auto;font-size:.8125rem;color:var(--muted)}
.ops-inline-select select{min-height:36px;padding:6px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text,#202124);font:inherit}
@media(max-width:760px){.ops-decision{margin-left:0}.ops-inline-select{width:100%;margin-right:0}.ops-inline-select select{flex:1}}
.ops-auto-toggle{margin-bottom:6px}.ops-auto-toggle>span:first-child{display:flex;flex-direction:column;gap:3px}.ops-auto-toggle small{font-size:.75rem;color:var(--muted);line-height:1.4}
