:root{--md-primary: #1a73e8;--md-primary-hover: #1765cc;--md-primary-active: #1557b0;--md-primary-container: #e8f0fe;--md-on-primary: #ffffff;--md-surface: #ffffff;--md-background: #f1f3f4;--md-on-surface: #202124;--md-on-surface-variant: #5f6368;--md-outline: #dadce0;--md-outline-variant: #e8eaed;--md-red: #d93025;--md-red-container: #fce8e6;--md-green: #188038;--md-amber-container: #fef7e0;--md-amber-on-container: #8a4b00;--md-radius-sm: 8px;--md-radius-md: 12px;--md-radius-lg: 16px;--md-shadow-1: 0 1px 2px rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);--md-shadow-2: 0 1px 3px rgba(60, 64, 67, .3), 0 4px 8px 3px rgba(60, 64, 67, .15);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--md-font: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--md-font);background:var(--md-background);color:var(--md-on-surface);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit}.appbar{position:sticky;top:0;z-index:10;background:var(--md-surface);box-shadow:var(--md-shadow-1)}.appbar-inner{max-width:1120px;margin:0 auto;padding:0 var(--sp-4);min-height:64px;display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:500;letter-spacing:.1px;color:var(--md-on-surface);-webkit-user-select:none;user-select:none}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--md-radius-sm);background:var(--md-primary-container);color:var(--md-primary);flex:none}.tabs{display:flex;align-items:stretch;align-self:stretch;gap:var(--sp-2)}.tab{position:relative;display:inline-flex;align-items:center;padding:0 var(--sp-4);font-size:14px;font-weight:500;letter-spacing:.3px;text-decoration:none;text-transform:uppercase;color:var(--md-on-surface-variant);transition:color .12s ease,background .12s ease}.tab:hover{color:var(--md-primary);background:#1a73e80a}.tab.active{color:var(--md-primary)}.tab.active:after{content:"";position:absolute;left:var(--sp-3);right:var(--sp-3);bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--md-primary)}.segmented{display:inline-flex;border:1px solid var(--md-outline);border-radius:20px;overflow:hidden;background:var(--md-surface)}.segmented button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:7px 18px;font-size:13px;font-weight:500;letter-spacing:.2px;color:var(--md-on-surface-variant);cursor:pointer;transition:background .12s ease,color .12s ease}.segmented button+button{border-left:1px solid var(--md-outline)}.segmented button:hover:not(.selected){background:#2021240a}.segmented button.selected{background:var(--md-primary-container);color:var(--md-primary)}.segmented button:focus-visible{outline:2px solid var(--md-primary);outline-offset:-2px}.subheader{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin:var(--sp-4) 0}.spot-chip{display:inline-flex;align-items:baseline;gap:6px;background:var(--md-surface);border:1px solid var(--md-outline-variant);border-radius:16px;padding:6px 14px;font-size:13px;color:var(--md-on-surface-variant)}.spot-chip strong{font-size:16px;font-weight:600;color:var(--md-on-surface)}.meta-text{font-size:12px;line-height:1.5;color:var(--md-on-surface-variant)}.stale-chip{display:inline-flex;align-items:center;gap:4px;background:var(--md-red-container);color:var(--md-red);border-radius:12px;padding:3px 10px;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.subheader-spacer{margin-left:auto}.card{background:var(--md-surface);border-radius:var(--md-radius-md);box-shadow:var(--md-shadow-1);padding:var(--sp-4)}.card+.card{margin-top:var(--sp-4)}.card-title{margin:0 0 var(--sp-2);font-size:16px;font-weight:500;color:var(--md-on-surface)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-4)}.stat-card{background:var(--md-surface);border-radius:var(--md-radius-md);box-shadow:var(--md-shadow-1);padding:var(--sp-3) var(--sp-4);border-top:3px solid transparent;transition:box-shadow .15s ease}.stat-card:hover{box-shadow:var(--md-shadow-2)}.stat-card.accent{border-top-color:var(--md-primary)}.stat-label{font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:var(--md-on-surface-variant);margin-bottom:2px}.stat-value{font-size:20px;font-weight:500;color:var(--md-on-surface);font-variant-numeric:tabular-nums}.page{max-width:1120px;margin:0 auto;padding:0 var(--sp-4) var(--sp-6)}.content-row{display:flex;gap:var(--sp-5);align-items:flex-start;flex-wrap:wrap}.content-main{flex:1;min-width:320px}.state-message{padding:var(--sp-6);text-align:center;color:var(--md-on-surface-variant);font-size:14px}.state-message.error{color:var(--md-red)}.calendar{width:340px;max-width:100%;flex:none}.calendar-header{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}.calendar-shortcuts{display:flex;gap:var(--sp-2);margin-bottom:var(--sp-3)}.text-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--md-outline);background:transparent;color:var(--md-primary);font-size:13px;font-weight:500;padding:5px 14px;border-radius:16px;cursor:pointer}.text-button:hover{background:var(--md-primary-container)}.text-button:focus-visible{outline:2px solid var(--md-primary);outline-offset:-2px}.calendar-title{flex:1;text-align:center;font-size:15px;font-weight:500;color:var(--md-on-surface)}.icon-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;width:36px;height:36px;border-radius:50%;font-size:20px;line-height:1;color:var(--md-on-surface-variant);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease}.icon-button:hover{background:#2021240f}.icon-button:focus-visible{outline:2px solid var(--md-primary);outline-offset:-2px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-weekday{font-size:10px;font-weight:500;letter-spacing:.6px;text-transform:uppercase;color:var(--md-on-surface-variant);text-align:center;padding:var(--sp-1) 0}.calendar-day{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;border-radius:var(--md-radius-sm);padding:3px 2px 4px;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;cursor:default;transition:background .12s ease}.calendar-day.selectable{cursor:pointer}.calendar-day.selectable:hover{background:#1a73e814}.calendar-day.selectable:focus-visible{outline:2px solid var(--md-primary);outline-offset:-2px}.calendar-day.in-week{background:var(--md-primary-container)}.calendar-day.in-week.selectable:hover{background:#d3e3fd}.day-number{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:12px;font-weight:400;color:var(--md-on-surface-variant)}.calendar-day.in-month .day-number{color:var(--md-on-surface)}.calendar-day.selectable .day-number{font-weight:500}.calendar-day.today .day-number{border:1.5px solid var(--md-primary);color:var(--md-primary);font-weight:600}.calendar-day.selected .day-number{background:var(--md-primary);color:var(--md-on-primary);border:none;font-weight:600}.maxpain-chip{font-size:9px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;color:var(--md-primary);background:var(--md-primary-container);border-radius:8px;padding:2px 5px}.calendar-day.selected .maxpain-chip{background:var(--md-primary);color:var(--md-on-primary)}.week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--sp-3)}.warning-banner{display:flex;gap:var(--sp-3);align-items:flex-start;background:var(--md-amber-container);color:var(--md-amber-on-container);border-radius:var(--md-radius-sm);padding:var(--sp-3) var(--sp-4);font-size:13px;line-height:1.5;margin:var(--sp-2) 0 var(--sp-4)}.warning-banner .warning-icon{flex:none;font-size:16px;line-height:1.4}.section-heading{margin:var(--sp-5) 0 var(--sp-2);font-size:18px;font-weight:500;color:var(--md-on-surface)}.section-heading:first-child{margin-top:0}.disclaimer{margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--md-outline-variant);color:var(--md-on-surface-variant);font-size:12px;line-height:1.6}@media (max-width: 900px){.content-row{flex-direction:column}.calendar{width:100%;max-width:420px;margin:0 auto}.content-main{width:100%}.week-grid{grid-template-columns:1fr}.subheader-spacer{margin-left:0;width:100%}}@media (max-width: 560px){.appbar-inner{gap:var(--sp-3);min-height:56px}.brand{font-size:18px}.tab{padding:0 var(--sp-3)}.stat-value{font-size:18px}}
