body[data-view="cierres"] #module-content { padding:24px; overflow:auto; }
.closing-page { width:100%; max-width:1600px; margin:0 auto; display:grid; gap:18px; }
.closing-head { margin:0; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.closing-head h1 { margin:0; }
.closing-header-actions { position:relative; display:flex; align-items:center; justify-content:flex-end; gap:16px; }
.closing-head .closing-status { display:inline-flex; align-items:center; gap:8px; margin:0; padding:7px 11px; border:1px solid var(--border-color,#626262); border-radius:20px; font-size:.75rem; line-height:1.5; color:var(--text-secondary,#ccc); }
.closing-status-dot { width:6px; height:6px; border-radius:50%; background:var(--text-secondary,#aaa); flex-shrink:0; }
.closing-status-dot.is-active { background:var(--accent-color,#a8c9ff); }
.closing-header-actions > button { flex-shrink:0; }
.closing-help { margin:0; }
.closing-help summary { display:flex; align-items:center; gap:9px; padding:10px 0; cursor:pointer; list-style:none; white-space:nowrap; color:var(--text-secondary,#ccc); font-size:.75rem; }
.closing-help summary::-webkit-details-marker { display:none; }
.closing-help summary:hover { color:var(--text-primary,#fff); }
.closing-help summary:focus-visible { outline:2px solid var(--accent-color,#a8c9ff); outline-offset:5px; border-radius:3px; }
.closing-help-chevron { width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin:-3px 3px 0 0; }
.closing-help[open] .closing-help-chevron { transform:rotate(225deg); margin-top:3px; }
.closing-help-content { position:fixed; inset:auto; margin:0; z-index:1000; width:min(340px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow-y:auto; box-sizing:border-box; padding:18px; border:1px solid var(--border-color,#626262); border-radius:12px; background:var(--bg-secondary,#252525); box-shadow:0 12px 36px #0005; color:var(--text-secondary,#ccc); font-size:.8rem; line-height:1.6; }
.closing-help-content[hidden] { display:none !important; }
.closing-help-content p { margin:14px 0 0; }
.closing-help-content strong { color:var(--text-primary,#fff); }
.closing-help-title { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.closing-help-title button { display:grid; place-items:center; width:28px; height:28px; padding:0; background:transparent; border:0; border-radius:5px; color:var(--text-secondary,#ccc); font-size:1.35rem; cursor:pointer; }
.closing-help-title button:hover { background:var(--bg-tertiary,#353535); }
.closing-help-content .closing-help-footnote { border-top:1px solid var(--border-color,#626262); padding-top:12px; font-size:.75rem; }
.closing-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.closing-banner { padding:13px 16px; margin:0; border:1px solid var(--border-color,#626262); border-left:3px solid var(--accent-color,#a8c9ff); border-radius:10px; font-size:.85rem; line-height:1.6; }
.closing-message { margin:0; color:var(--text-secondary,#ccc); font-size:.875rem; }
.closing-message:empty { display:none; }
.closing-section-head p { margin:6px 0 0; font-size:.85rem; color:var(--text-secondary,#ccc); line-height:1.5; }
.closing-badge { display:inline-flex; border:1px solid var(--border-color,#626262); padding:5px 10px; border-radius:20px; font-size:.75rem; }
.closing-steps { display:flex; gap:12px; flex-wrap:wrap; }
.closing-steps span { padding:10px 15px; border-radius:8px; font-size:.85rem; color:var(--text-secondary,#ccc); border:1px solid transparent; }
.closing-steps [aria-current="step"] { color:var(--text-primary,#fff); border-color:var(--border-color,#626262); background:var(--bg-secondary,#292929); }
.closing-work { overflow:hidden; }
.closing-work fieldset { min-width:0; padding:0; border:0; margin:0; }
.closing-section-head { display:flex; align-items:center; gap:20px; flex-wrap:wrap; padding:20px; }
.closing-section-head > div:first-child { flex:1; min-width:230px; }
.closing-section-head h2 { font-size:1rem; margin:0; }
.closing-section-head > span { font-size:.8rem; }
.closing-section-head input { color-scheme:dark; }
.closing-hint { padding:0 20px; color:var(--text-secondary,#ccc); font-size:.8rem; line-height:1.6; }
.closing-table-tools { display:flex; justify-content:space-between; align-items:end; gap:16px; padding:10px 20px 18px; }
.closing-table-tools .stock-field { width:min(420px,70%); }
.closing-table-tools span { font-size:.8rem; white-space:nowrap; }
.closing-initial-toolbar { display:flex; align-items:center; gap:16px; padding:14px 18px; flex-wrap:wrap; }
.closing-initial-toolbar h2 { margin:0 auto 0 0; font-size:1rem; }
.closing-start-field { display:flex; align-items:center; gap:8px; color:var(--text-secondary,#ccc); font-size:.8rem; }
.closing-start-field input { min-width:0; color-scheme:dark; }
.closing-initial-toolbar .closing-initial-search { width:clamp(180px,22vw,300px); }
.closing-initial-toolbar > span { white-space:nowrap; font-size:.75rem; color:var(--text-secondary,#ccc); }
.closing-page .dash-table { table-layout:auto; min-width:650px; width:100%; }
.closing-page .dash-table th,.closing-page .dash-table td { text-align:center; padding:14px 12px; white-space:normal; }
.closing-page .dash-table th { font-size:.72rem; }
.closing-page .dash-table td:first-child { min-width:140px; }
.closing-page .dash-table small { display:block; margin-top:6px; font-size:.75rem; }
.closing-page input,.closing-page select,.closing-page textarea { background:var(--bg-tertiary,#353535); color:var(--text-primary,#fff); border:1px solid var(--border-color,#666); border-radius:7px; font:inherit; padding:10px; box-sizing:border-box; }
.closing-page input:focus-visible,.closing-page select:focus-visible,.closing-page textarea:focus-visible { outline:2px solid var(--accent-color,#a8c9ff); outline-offset:2px; }
.closing-page .closing-counts input { width:125px; text-align:center; }
.closing-count-wrap { max-height:48vh; overflow:auto; }
.closing-page thead { position:sticky; top:0; z-index:1; background:var(--bg-secondary,#252525); }
.closing-actions { justify-content:flex-end; padding:18px 20px; border-top:1px solid var(--border-color,#626262); }
.closing-actions > span { margin-right:auto; max-width:60%; font-size:.85rem; }
.closing-notes td:last-child { width:320px; }
.closing-notes select,.closing-notes input:not([type="checkbox"]) { width:100%; }
.closing-notes input:not([type="checkbox"]) { margin-top:9px; }
.closing-check { display:flex; align-items:flex-start; gap:9px; font-size:.85rem; line-height:1.5; text-align:left; margin-top:10px; }
.closing-check input { flex:0 0 auto; width:16px; height:16px; margin-top:3px; }
.closing-estimate { padding:18px 20px 0; }
.closing-work fieldset > .stock-field { padding:10px 20px 20px; }
.closing-stats { padding:0 20px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.closing-stats .dash-stat strong { font-size:1.35rem; }
.closing-stats .dash-stat { padding:16px; cursor:default; }
.closing-stats .dash-stat span { font-size:.8rem; }
.closing-history-dialog { width:min(1100px,94vw); max-width:1100px; }
.closing-detail-body { padding:20px; overflow:auto; max-height:75vh; }
.closing-history-dialog .dash-table { table-layout:auto; min-width:650px; font-size:.8rem; }
.closing-history-dialog .dash-table th,.closing-history-dialog .dash-table td { padding:14px 10px; white-space:normal; text-align:center; }
.closing-history-dialog .dash-table th { font-size:.7rem; }
.closing-history-dialog .dash-table td:first-child { min-width:120px; }
.closing-history-dialog .dash-table small { font-size:.75rem; }
.closing-page [hidden] { display:none !important; }
@media(max-width:800px){
 body[data-view="cierres"] #module-content { padding:14px; }
 .closing-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .closing-head { flex-wrap:wrap; gap:14px; }
 .closing-header-actions { flex-wrap:wrap; gap:10px; margin-left:auto; }
 .closing-section-head { padding:16px; }
 .closing-actions > span { max-width:100%; }
 .closing-initial-toolbar { padding:12px; gap:12px; }
 .closing-initial-toolbar h2 { flex-basis:100%; }
 .closing-initial-toolbar .closing-initial-search { flex:1; min-width:150px; }
}

.closing-count-editor { display:grid; gap:8px; min-width:190px; }
.closing-count-inputs { display:flex; justify-content:center; gap:8px; }
.closing-count-inputs label { display:grid; gap:5px; font-size:.75rem; }
.closing-page .closing-count-inputs input { width:100%; min-width:80px; max-width:125px; }

.closing-page .closing-datetime, .closing-page .closing-clock { display:flex; flex-direction:row; align-items:center; flex-wrap:nowrap; gap:6px; }
.closing-page .closing-datetime { flex:0 0 auto; width:auto; font-size:.8rem; }
.closing-page .closing-datetime > input[type="date"] { flex:0 0 142px; width:142px; min-width:0; max-width:142px; padding:10px 8px; }
.closing-page .closing-clock { flex:0 0 auto; }
.closing-datetime > span { color:var(--text-secondary); }
.closing-page .closing-clock input { flex:0 0 40px; width:40px; min-width:0; text-align:center; padding:10px 6px; }
.closing-clock small { white-space:nowrap; color:var(--text-secondary); }

/* Keep separators attached to the viewport, not collapsed scrolling borders. */
.closing-count-wrap { border-top:1px solid var(--border-color,#626262); }
.closing-page .closing-counts { border-collapse:separate; border-spacing:0; }
.closing-page .closing-counts thead th { border-top:0; box-shadow:inset 0 -1px var(--border-color,#626262); }
.closing-actions .closing-message:not(:empty) { flex:1 1 320px; padding:8px 12px; border-left:3px solid var(--accent-color,#a8c9ff); color:var(--text-primary); line-height:1.4; }
.closing-actions { padding:12px 18px; }

.closing-home-tabs { display:flex; gap:6px; width:fit-content; padding:4px; border:1px solid var(--border-color); border-radius:10px; background:var(--bg-card); }
.closing-home-tabs button { display:flex; align-items:center; gap:10px; padding:10px 18px; border:0; border-radius:7px; background:transparent; color:var(--text-secondary); font:inherit; font-size:.85rem; cursor:pointer; }
.closing-home-tabs button[aria-pressed="true"] { background:var(--bg-tertiary,#353535); color:var(--text-primary); font-weight:600; }
.closing-home-tabs button:disabled { opacity:.45; cursor:default; }
.closing-live-dot { width:7px; height:7px; background:var(--accent-color,#a8c9ff); border-radius:50%; }
.closing-open-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:0 20px 12px; }
.closing-open-stats article { display:grid; gap:10px; padding:16px; border:1px solid var(--border-color); border-radius:10px; }
.closing-open-stats article span { color:var(--text-secondary); font-size:.8rem; }
.closing-open-stats article strong { font-size:1.7rem; }
.closing-open-panel > .closing-hint:last-child { padding-bottom:16px; }
@media(max-width:700px){ .closing-open-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Capture workspace: prioritize product rows over repeated page headings. */
.closing-capture { gap:10px; }
.closing-capture > .closing-head { display:none; }
.closing-capture .closing-steps { gap:8px; }
.closing-capture .closing-steps span { padding:7px 12px; font-size:.78rem; }
.closing-capture .closing-count-heading { padding:12px 16px 8px; gap:12px; }
.closing-capture .closing-count-heading > div:first-child { min-width:180px; }
.closing-capture .closing-count-heading p { margin-top:4px; font-size:.75rem; }
.closing-capture .closing-capture-tools { padding:8px 16px 12px; align-items:center; gap:12px; }
.closing-capture-tools > input { width:clamp(180px,28vw,340px); min-width:0; }
.closing-capture-tools .closing-capture-tip { flex:1; white-space:normal; color:var(--text-secondary); font-size:.75rem; }
.closing-capture #closing-progress { margin-left:auto; }
.closing-capture .closing-counts :is(th,td) { padding:9px 10px; }
.closing-capture .closing-counts small { margin-top:3px; }
.closing-capture .closing-count-inputs { gap:6px; }
.closing-capture .closing-count-inputs label { gap:3px; font-size:.67rem; }
.closing-capture .closing-count-inputs input { padding:8px 6px; }
.closing-capture .closing-actions { padding:10px 16px; }
@media(max-width:700px){
 .closing-capture-tools .closing-capture-tip { display:none; }
 .closing-capture .closing-steps { gap:3px; }
 .closing-capture .closing-steps span { padding:7px 6px; font-size:.7rem; }
 .closing-capture .closing-count-heading > div:first-child { flex-basis:100%; }
 .closing-capture .closing-capture-tools { flex-wrap:wrap; }
}

.closing-header-actions { flex-wrap:wrap; }
.closing-header-actions .closing-home-tabs { flex-shrink:0; }
.closing-manage { display:flex; flex:0 0 auto !important; min-width:0 !important; gap:8px; flex-wrap:wrap; }
#closing-delete { color:var(--danger,#ef7777); }
.closing-edit-hint { padding-top:14px; margin-bottom:0; }

.closing-observation,.closing-saved-notes,.closing-saved-totals { padding:12px 20px; }
.closing-observation h3,.closing-saved-notes h3 { margin:0; font-size:.95rem; }
.closing-observation p { margin:6px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.closing-saved-notes ul { margin:0; padding:0; list-style:none; }
.closing-saved-notes li { padding:8px 0; border-top:1px solid var(--border-color); }
.closing-saved-notes small { display:block; color:var(--text-secondary); }
.closing-saved-totals { display:flex; gap:20px; flex-wrap:wrap; }

.closing-grand-total { display:grid; gap:4px; padding-right:20px; border-right:1px solid var(--border-color); }
.closing-grand-total strong { font-size:1.65rem; }
.closing-saved-totals { align-items:center; }
.closing-menu-trigger { cursor:pointer; border:0; border-radius:6px; padding:3px 10px; font-size:1.35rem; color:var(--text-primary); background:transparent; }
.closing-menu-trigger:hover,.closing-menu-trigger:focus-visible { background:var(--bg-input); }
.closing-menu-popup { position:fixed; inset:auto; margin:0; width:max-content; max-width:calc(100vw - 12px); padding:5px; border:1px solid var(--border-color); border-radius:9px; background:var(--bg-card); box-shadow:0 6px 24px #0006; }
.closing-menu-popup:popover-open { display:grid; }
.closing-menu-popup button { text-align:left; padding:8px 12px; border:0; border-radius:5px; color:var(--text-primary); background:transparent; font:inherit; cursor:pointer; }
.closing-menu-popup button:hover,.closing-menu-popup button:focus-visible { background:var(--bg-input); }
.closing-menu-popup [data-reverse="removePeriod"] { color:var(--danger,#ec8585); }

