.weekly-main{max-width:1184px;margin:auto;padding:44px 24px 70px;color:var(--text)}
.weekly-heading h1{font-size:clamp(30px,4vw,48px);letter-spacing:-.055em;margin:14px 0}.weekly-heading p{color:var(--muted);line-height:1.8}
.weekly-controls{margin:30px 0;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:18px}.weekly-shortcuts{display:flex;flex-wrap:nowrap;gap:6px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;scroll-padding-inline:4px;margin-bottom:18px;padding:3px 2px 6px}body .weekly-controls .weekly-shortcuts button{flex:0 0 auto;white-space:nowrap;min-height:44px;padding:8px 10px;font-size:13px;line-height:1.4}.weekly-shortcuts [aria-pressed=true]{background:var(--text);color:var(--bg)}
.weekly-shortcuts button:focus-visible{outline:2px solid var(--primary);outline-offset:1px}
#weeklyForm{display:grid;grid-template-columns:1fr 1.2fr 1fr auto;align-items:end;gap:12px}#weeklyForm label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:800;min-width:0}#weeklyForm input,#weeklyForm select,#weeklyResult>input{font:inherit;font-size:16px;width:100%;min-width:0;min-height:48px;padding:10px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:var(--bg);box-sizing:border-box}
.weekly-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.weekly-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px;min-width:0}.weekly-card h2{font-size:23px;line-height:1.4;margin:12px 0}.weekly-card p{font-size:14px;line-height:1.7;color:var(--muted)}.weekly-number{display:block;font-size:34px;margin:24px 0 10px;color:var(--primary);letter-spacing:-.03em}.weekly-period{font-weight:800}.weekly-notice{font-size:13px;line-height:1.6;color:var(--primary)}
.weekly-top{padding-left:22px}.weekly-top li{margin:22px 0}.weekly-top strong{overflow-wrap:anywhere}.weekly-bar{height:8px;border-radius:10px;background:var(--surface-strong);overflow:hidden}.weekly-bar span{display:block;height:100%;border-radius:inherit;background:var(--primary)}
.weekly-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.weekly-counts div{border-top:1px solid var(--line);padding-top:16px}.weekly-counts dt{font-size:12px;line-height:1.5}.weekly-counts dd{font-size:26px;font-weight:900;margin:10px 0}
#weeklyResult details{padding:18px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.8}#weeklyResult summary{cursor:pointer;min-height:44px;font-weight:800}.weekly-examples{display:grid;grid-template-columns:1fr 1fr;gap:12px}.weekly-examples article{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:14px;min-width:0;overflow-wrap:anywhere}#weeklyResult a{color:var(--primary);font-weight:800}.weekly-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}.weekly-actions a{display:inline-flex;align-items:center;min-height:44px}.weekly-note{font-size:12px;line-height:1.8;color:var(--muted)}
@media(max-width:760px){#weeklyForm{grid-template-columns:1fr 1fr}.weekly-grid,.weekly-examples{grid-template-columns:1fr}.weekly-main{padding:28px 16px 60px}.weekly-card{padding:22px}.weekly-controls{padding:16px}.weekly-counts{gap:6px}}
@media(max-width:360px){#weeklyForm{grid-template-columns:1fr}.weekly-counts dd{font-size:22px}}
@media print{.calc-header,.weekly-heading,.weekly-controls,#weeklyStatus,#weeklyRetry,.weekly-actions,.site-help,#weeklyResult>input{display:none!important}.weekly-main{padding:0}body,.weekly-card{background:white!important;color:black!important}.weekly-card{break-inside:avoid}.weekly-grid{grid-template-columns:1fr 1fr}.weekly-card p{color:#333!important}.weekly-number,.weekly-notice{color:#234!important}}
.weekly-quick{padding:24px;border-left:4px solid var(--primary);background:var(--surface-strong);border-radius:0 18px 18px 0;margin:24px 0}.weekly-quick h3{font-size:24px;margin:12px 0}.weekly-quick p{font-size:16px;line-height:1.75}
#weeklyForm{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr) auto;}
#weeklyForm input,#weeklyForm select{max-width:100%;min-inline-size:0;}
#weeklyForm input[type=date]{appearance:none;-webkit-appearance:none;display:block;}
#weeklyForm input[type=date]::-webkit-date-and-time-value{text-align:left;}
#weeklyForm>button{min-height:48px;box-sizing:border-box;}
.weekly-period-hint{font-size:13px;line-height:1.6;color:var(--muted);margin:14px 0 0;}
.weekly-grid>.weekly-card:only-child{grid-column:1/-1;}
@media(max-width:760px){#weeklyForm{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){#weeklyForm .weekly-date-field,#weeklyForm>button{grid-column:1/-1;}#weeklyForm label{font-size:14px;}}
@media(max-width:360px){#weeklyForm{grid-template-columns:minmax(0,1fr);}}
