.weekly-entry { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; margin:16px 0; border:1px solid var(--studio-border,#dce8e1); border-radius:18px; background:var(--studio-soft,#edf5ef); }
.weekly-entry p { margin:5px 0 0; font-size:13px; color:#52645b; }
.weekly-dialog { margin:auto; width:min(900px,calc(100vw - 24px)); max-width:900px; height:calc(100dvh - 32px); max-height:calc(100dvh - 32px); padding:0; border:1px solid #dce8e1; border-radius:24px; color:#243d32; background:#fcfdfb; overflow:hidden; }
.weekly-dialog::backdrop { background:rgba(25,44,34,.38); }
.weekly-dialog[open] { display:flex; flex-direction:column; }
.weekly-dialog > header { display:flex; align-items:center; justify-content:space-between; flex:none; padding:18px 24px; border-bottom:1px solid #e2e9e3; gap:16px; }
.weekly-dialog h2 { margin:4px 0 0; font-size:24px; }
.weekly-dialog h3 { font-size:17px; margin:0 0 12px; }
.weekly-scroll { padding:20px 24px; min-height:0; overflow:auto; overscroll-behavior:contain; }
.weekly-controls { display:flex; flex-wrap:wrap; gap:14px; align-items:end; }
.weekly-controls label, #weeklyFeedback label { display:grid; gap:6px; font-size:13px; }
.weekly-controls input,.weekly-controls select,.weekly-dialog textarea { font:inherit; padding:10px; border:1px solid #c5d5ca; border-radius:10px; background:white; color:inherit; min-width:0; }
.weekly-controls label { flex:1 1 170px; }
.weekly-navigation,.weekly-secondary,.weekly-feedback-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.weekly-navigation { width:100%; margin:10px 0; }
.weekly-dialog button { cursor:pointer; }
.weekly-dialog button:disabled { opacity:.45; cursor:default; }
.weekly-dialog button:focus-visible,.weekly-dialog textarea:focus-visible { outline:3px solid #55856c; outline-offset:2px; }
.weekly-range { font-size:18px; font-weight:700; }
.weekly-range span { font-size:12px; font-weight:400; }
.weekly-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.weekly-metric { display:grid; gap:8px; text-align:left; padding:18px; border:1px solid #d4e3d8; border-radius:16px; background:#edf5ef; color:#243d32; font:inherit; }
.weekly-metric strong { font-size:32px; }
.weekly-metric strong small { font-size:12px; }
.weekly-metric > small,.weekly-caption { font-size:12px; line-height:1.7; color:#53685a; }
.weekly-comparison { display:flex; flex-wrap:wrap; gap:2px 8px; }
.weekly-comparison span { white-space:nowrap; }
.weekly-rules { margin:18px 0; font-size:13px; line-height:1.7; }
.weekly-milestones article { padding:12px; background:#f3efe5; border-radius:12px; margin:8px 0; }
.weekly-milestones p { margin:6px 0; }
#weeklyDetails,#weeklyFeedback { margin-top:22px; padding-top:20px; border-top:1px solid #dce8e1; }
.weekly-detail { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid #e5ebe6; overflow-wrap:anywhere; }
.weekly-detail p { margin:6px 0; font-size:13px; }
.weekly-detail small { color:#52645b; }
.weekly-feedback-note { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.7; }
.weekly-dialog textarea { width:100%; box-sizing:border-box; margin:10px 0; resize:vertical; min-height:110px; }
.weekly-footer { flex:none; background:#fcfdfb; padding:0 16px; }
.weekly-feedback-actions:not(:empty) { border-top:1px solid #dce8e1; padding:12px 0; }
#weeklyStatus:not(:empty) { padding:10px 0; }
#weeklyDraftHint,#weeklyStatus { font-size:13px; line-height:1.6; }
#weeklyConflict { white-space:pre-wrap; overflow-wrap:anywhere; }
@media(max-width:600px) { .weekly-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .weekly-scroll { padding:16px; } .weekly-dialog > header { padding:14px 16px; } .weekly-metric { padding:14px; } .weekly-entry { align-items:flex-start; flex-wrap:wrap; padding:16px; } .weekly-detail { align-items:flex-start; flex-direction:column; } .weekly-dialog .studio-button { padding:10px 12px; } }
