body[data-view="registro-semanal"] #module-content { padding:20px 24px; gap:14px; height:100dvh; min-height:640px; box-sizing:border-box; flex-shrink:0; }
.weekly-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-shrink:0; }
.weekly-heading h1 { margin:0; font-size:1.4rem; line-height:1.3; letter-spacing:-.03em; }
.weekly-heading-copy { flex-shrink:0; }
.weekly-heading > #week-new { flex-shrink:0; white-space:nowrap; }
.weekly-filterbar { display:flex; align-items:end; gap:10px; flex-wrap:wrap; flex-shrink:0; }
.weekly-search { position:relative; flex:1 1 240px; min-width:180px; margin:0; }
.weekly-search > i { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--text-secondary); font-size:.8rem; }
.weekly-search input { width:100%; padding:9px 12px 9px 34px; }
.weekly-filter { display:grid; gap:5px; margin:0; min-width:160px; }
.weekly-filter > span { font-size:.65rem; letter-spacing:.04em; color:var(--text-secondary); }
.weekly-filterbar :is(input,select) { box-sizing:border-box; min-width:0; height:38px; border:1px solid var(--border-color); border-radius:9px; background:var(--bg-input); color:var(--text-primary); font:inherit; font-size:.8rem; }
.weekly-filter > :is(select,input) { padding:8px 10px; }
.weekly-filterbar .ss-display { height:38px; min-height:38px; font-size:.8rem; padding:8px 10px; text-transform:none; letter-spacing:normal; }
.weekly-custom-range { display:flex; gap:10px; }
.weekly-custom-range[hidden] { display:none; }
.weekly-filterbar #week-reset { display:grid; place-items:center; height:38px; width:38px; padding:0; color:var(--text-secondary); }
.weekly-sort { display:inline-flex; justify-content:center; align-items:center; gap:6px; border:0; padding:4px 0; background:transparent; color:inherit; font:inherit; text-transform:inherit; letter-spacing:inherit; cursor:pointer; white-space:nowrap; }
.weekly-sort .sort-chevrons { display:flex; flex-direction:column; gap:3px; }
.weekly-sort .sort-chevrons i { display:block; width:5px; height:5px; border-top:1.5px solid currentColor; border-left:1.5px solid currentColor; opacity:.4; }
.weekly-sort .sort-up { transform:rotate(45deg); }
.weekly-sort .sort-down { transform:rotate(225deg); }
.weekly-history th[aria-sort="ascending"] .sort-up,.weekly-history th[aria-sort="descending"] .sort-down { opacity:1; }
.weekly-history th[aria-sort="ascending"] .sort-down,.weekly-history th[aria-sort="descending"] .sort-up { display:none; }
.weekly-sort:focus-visible { outline:2px solid var(--primary); outline-offset:4px; border-radius:3px; }
@media(max-width:600px) {
    .weekly-search { flex-basis:100%; }
    .weekly-filterbar > .weekly-filter { flex:1; min-width:130px; }
    .weekly-custom-range { width:100%; }
    .weekly-custom-range .weekly-filter { flex:1; min-width:0; }
}
.weekly-top-controls { display:flex; align-items:center; justify-content:flex-end; gap:16px; min-width:0; }
.weekly-top-controls > #week-new { flex-shrink:0; white-space:nowrap; }
.weekly-period { display:grid; grid-template-columns:155px; align-items:center; gap:4px; flex-shrink:0; }
.weekly-period label { margin:0; font-size:.7rem; }
#week-label { text-align:left; white-space:nowrap; font-size:.65rem; color:var(--text-secondary); }
.weekly-period input { width:155px; min-height:34px; padding:5px 8px; font-size:.8rem; }
body[data-view="registro-semanal"] .dash-stats { grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; flex-shrink:0; }
body[data-view="registro-semanal"] .dash-stat { padding:10px 16px; border-radius:12px; cursor:default; line-height:1.3; }
body[data-view="registro-semanal"] .dash-stat > span { font-size:.78rem; }
body[data-view="registro-semanal"] .dash-stat strong { margin:7px 0 4px; font-size:1.65rem; }
body[data-view="registro-semanal"] .dash-stat small { font-size:.7rem; }
body[data-view="registro-semanal"] .dash-button { min-height:36px; padding:7px 14px; border-radius:8px; font-size:.8rem; }
.weekly-layout { display:flex; flex-direction:column; gap:14px; flex:1; min-height:0; }
#week-dialog { width:min(680px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:24px; box-sizing:border-box; overflow:auto; }
.weekly-capture-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:20px; }
.weekly-capture h2 { margin:0; font-size:1.2rem; }
.weekly-history h2 { margin:0; font-size:.95rem; }
.weekly-help { margin:4px 0 0; font-size:.72rem; color:var(--text-secondary); line-height:1.4; }
.weekly-types { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; padding:4px; margin-bottom:20px; background:var(--bg-input); border-radius:10px; }
.weekly-types button { min-height:32px; padding:6px 12px; border-radius:7px; border:1px solid transparent; background:transparent; color:var(--text-primary); cursor:pointer; font:inherit; font-size:.76rem; }
.weekly-types button[aria-pressed="true"] { border-color:var(--primary); background:var(--primary); color:var(--text-on-primary); }
#week-fields { border:0; padding:0; margin:0; min-width:0; }
#week-fields:disabled { opacity:.65; pointer-events:none; }
.weekly-fields-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.weekly-product-field { grid-column:span 2; }
.weekly-input-grid { display:contents; }
.weekly-capture .stock-field { margin:0; gap:6px; font-size:.7rem; }
.weekly-capture .stock-field > input { margin-top:auto; }
.weekly-capture input,.weekly-history-filters > input,.weekly-period input { box-sizing:border-box; min-width:0; border:1px solid var(--border-color); background:var(--bg-input); color:var(--text-primary); border-radius:8px; font-family:inherit; }
.weekly-capture .stock-field input,.weekly-capture .stock-field select { width:100%; min-height:38px; height:38px; padding:8px 10px; font-size:.82rem; }
.weekly-capture .ss-wrapper { min-width:0; width:100%; margin-top:auto; }
.weekly-capture .ss-display { min-height:38px; height:38px; text-transform:none; letter-spacing:normal; padding:8px 10px; font-size:.82rem; }
/* Keep module labels compact even with the shared Black/Signature typography. */
body[data-view="registro-semanal"] .weekly-capture .stock-field { font-size:.75rem; line-height:1.3; letter-spacing:.02em; }
body[data-view="registro-semanal"] .weekly-capture :is(input,select,.ss-display) { font-size:.82rem; line-height:1.4; }
body[data-view="registro-semanal"] .weekly-period label { font-size:.7rem; }
body[data-view="registro-semanal"] .weekly-period input { font-size:.8rem; }
body[data-view="registro-semanal"] .weekly-history-filters label { font-size:.75rem; }
body[data-view="registro-semanal"] .weekly-history .dash-table th { font-size:.68rem; }
body[data-view="registro-semanal"] .weekly-history .dash-table td small { font-size:.74rem; line-height:1.4; }
.weekly-capture .weekly-note-field { margin-top:16px; }
#week-form { position:relative; }
.weekly-checkout { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:20px; padding-top:16px; border-top:1px solid var(--border-color); }
#week-preview { display:block; margin-top:16px; padding:12px; background:var(--bg-input); border-radius:8px; font-size:.82rem; line-height:1.4; color:var(--text-secondary); }
#week-save { flex-shrink:0; }
#week-status,#week-result,#week-notice { margin:0; font-size:.78rem; line-height:1.4; flex-shrink:0; }
#week-result { margin-top:10px; }
#week-status:empty,#week-result:empty,#week-notice:empty { display:none; }
.weekly-history { display:flex; flex-direction:column; flex:1; min-height:170px; }
.weekly-history-title { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:7px; color:var(--text-secondary); font-size:.75rem; }
#week-count::before { content:'·'; margin-right:8px; }
#week-count { font-size:.72rem; color:var(--text-secondary); }
.weekly-history-filters { display:flex; align-items:center; gap:12px; min-width:0; }
.weekly-history-filters > input { width:180px; min-height:36px; padding:7px 10px; font-size:.78rem; }
.weekly-history-filters label { display:flex; align-items:center; gap:7px; margin:0; font-size:.7rem; color:var(--text-secondary); white-space:nowrap; text-transform:none; letter-spacing:normal; }
.weekly-history-filters input[type="checkbox"] { width:14px; height:14px; min-height:0; margin:0; padding:0; flex:none; accent-color:var(--primary); }
.weekly-history .dash-table-wrap { flex:1; min-height:0; overflow:auto; padding:0 16px; }
.weekly-history .dash-table { table-layout:fixed; width:100%; }
.weekly-history .dash-table :is(th,td) { padding:16px 18px; text-align:center; vertical-align:middle; white-space:normal; overflow-wrap:anywhere; font-size:.78rem; }
.weekly-history .dash-table th { font-size:.68rem; position:sticky; top:0; background:var(--bg-card); z-index:1; }
.weekly-history .dash-table th:first-child { width:17%; }
.weekly-history .dash-table th:nth-child(2) { width:29%; }
.weekly-history .dash-table th:nth-child(3) { width:27%; }
.weekly-history .dash-table th:nth-child(4) { width:15%; }
.weekly-history .dash-table th:last-child { width:100px; }
.weekly-row-actions { display:flex; flex-wrap:nowrap; justify-content:center; gap:6px; }
.weekly-cancelled { opacity:.6; }
.weekly-history-note { padding:12px 24px; margin:0; border-top:1px solid var(--border-color); font-size:.68rem; flex-shrink:0; text-align:center; }
.weekly-empty { padding:48px 12px; display:grid; gap:6px; text-align:center; }
.weekly-empty span { color:var(--text-secondary); }
[hidden]#week-promo-fields,[hidden]#week-piece-field,[hidden]#week-glass-field { display:none; }
@media(max-width:1250px) and (min-width:769px) {
    .weekly-heading { align-items:flex-start; flex-wrap:wrap; }
    .weekly-top-controls { display:grid; grid-template-columns:auto auto; gap:12px; margin-left:auto; }
    .weekly-top-controls .weekly-history-filters { grid-row:2; grid-column:1/-1; justify-content:flex-end; }
}
@media(max-width:768px) {
    body[data-view="registro-semanal"] #module-content { padding:16px; min-height:0; height:auto; }
    .weekly-heading { align-items:flex-start; flex-wrap:wrap; }
    .weekly-heading h1 { font-size:1.25rem; }
    body[data-view="registro-semanal"] .dash-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    body[data-view="registro-semanal"] .dash-stat { padding:10px 12px; }
    .weekly-history { flex:none; }
    .weekly-top-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; width:100%; }
    .weekly-history-filters { display:grid; grid-template-columns:minmax(0,1fr) auto; width:100%; gap:12px; }
    .weekly-top-controls .weekly-history-filters { grid-row:2; grid-column:1/-1; }
    .weekly-history-filters > input { width:100%; }
    .weekly-history .dash-table-wrap { max-height:480px; flex:auto; padding:0 8px; }
    .weekly-history .dash-table { min-width:700px; }
}
@media(max-width:600px) {
    #week-dialog { padding:18px; }
    .weekly-types { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .weekly-types button { padding:8px; }
    .weekly-fields-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
    .weekly-product-field { grid-column:1/-1; }
    .weekly-checkout { position:sticky; bottom:-18px; background:var(--bg-card); margin:20px -18px -18px; padding:14px 18px; }
}
