#sauna-app{--sa-bg:light-dark(#f6f0e7,#221c17);--sa-surface:light-dark(#fffcf7,#30261e);--sa-text:light-dark(#493323,#f4e9d9);--sa-muted:light-dark(#75614f,#c8b9a6);--sa-line:light-dark(#e4d7c5,#534332);--sa-accent:light-dark(#855433,#e4bb8e);--sa-onaccent:light-dark(#ffffff,#352416);--sa-soft:light-dark(#eee0c8,#44331f);--sa-red:light-dark(#934030,#ffb7a7);--sa-redbg:light-dark(#f7e5de,#492c26);--sa-green:light-dark(#326144,#b4dbb4);--sa-greenbg:light-dark(#edf3e8,#2e3b2b);--sa-busy:light-dark(#f1dbd4,#472d27);font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:var(--sa-text);max-width:490px;margin:0 auto;background:var(--sa-bg);border:1px solid var(--sa-line);border-radius:24px;overflow:hidden;font-weight:400}
#sauna-app *{box-sizing:border-box}#sauna-app [hidden]{display:none!important}#sauna-app button,#sauna-app input,#sauna-app select{font:inherit}#sauna-app button{cursor:pointer}#sauna-app button:disabled{cursor:default;opacity:.5}#sauna-app strong,#sauna-app h2,#sauna-app h3{font-weight:500}#sauna-app h2,#sauna-app h3,#sauna-app p{margin:0}#sauna-app .sa-kicker{color:var(--sa-muted)}
#sauna-app .sa-demohead{padding:10px 20px;background:var(--sa-soft);color:var(--sa-muted);display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap}#sauna-app .sa-brand{display:flex;align-items:center;gap:10px}#sauna-app .sa-logo{padding:9px;display:flex;align-items:center;background:var(--sa-accent);color:var(--sa-onaccent);border-radius:12px}#sauna-app .sa-header{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:10px}#sauna-app .sa-main{padding:0 22px 22px}#sauna-app .sa-hero{padding:16px 0 28px;display:grid;gap:10px}#sauna-app .sa-form{display:grid;gap:18px}#sauna-app label{display:grid;gap:7px}#sauna-app input,#sauna-app select{width:100%;min-width:0;min-height:48px;border:1px solid var(--sa-line);border-radius:12px;padding:10px 12px;background:var(--sa-surface);color:var(--sa-text)}#sauna-app .sa-pin{letter-spacing:.35em}#sauna-app .sa-primary{border:0;border-radius:13px;min-height:48px;padding:12px 18px;background:var(--sa-accent);color:var(--sa-onaccent);display:flex;align-items:center;justify-content:center;gap:8px}#sauna-app .sa-secondary{border:1px solid var(--sa-line);border-radius:12px;min-height:44px;padding:9px 12px;background:var(--sa-surface);color:var(--sa-text)}#sauna-app .sa-quiet{border:0;background:transparent;color:var(--sa-muted);min-height:44px;padding:6px 9px}#sauna-app .sa-iconbutton{display:flex;align-items:center;justify-content:center;min-width:44px}#sauna-app .sa-login-note{margin-top:22px;text-align:center;color:var(--sa-muted)}#sauna-app .sa-error{color:var(--sa-red)}#sauna-app .sa-tabs{display:flex;border-bottom:1px solid var(--sa-line);margin-bottom:20px;gap:20px}#sauna-app .sa-tabs button{border:0;border-bottom:2px solid transparent;color:var(--sa-muted);background:transparent;padding:12px 0;min-height:44px}#sauna-app .sa-tabs button[aria-pressed=true]{border-bottom-color:var(--sa-accent);color:var(--sa-text)}
#sauna-app .sa-status{background:var(--sa-soft);border-radius:16px;padding:18px;display:flex;align-items:center;gap:14px;margin-bottom:22px}#sauna-app .sa-status[data-busy=true]{background:var(--sa-redbg)}#sauna-app .sa-status-icon{color:var(--sa-accent);display:flex}#sauna-app .sa-status[data-busy=true] .sa-status-icon{color:var(--sa-red)}#sauna-app .sa-status-copy{display:grid;gap:4px}#sauna-app .sa-count{font-variant-numeric:tabular-nums}#sauna-app .sa-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}#sauna-app .sa-calendar-head .sa-controls{display:flex;gap:2px}#sauna-app .sa-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:20px}#sauna-app .sa-day{display:grid;justify-items:center;gap:7px;min-height:70px;padding:9px 0;border:0;border-radius:12px;background:transparent;color:var(--sa-text)}#sauna-app .sa-day[aria-pressed=true]{background:var(--sa-accent);color:var(--sa-onaccent)}#sauna-app .sa-day span:first-child{opacity:.8}#sauna-app .sa-dot{width:4px;height:4px;border-radius:100%;background:currentColor;opacity:0}#sauna-app .sa-dot[data-has=true]{opacity:1}#sauna-app .sa-daytitle{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px}#sauna-app .sa-agenda{display:grid;gap:8px;margin-bottom:18px}#sauna-app .sa-slot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;background:var(--sa-surface);border:1px solid var(--sa-line);border-radius:13px}#sauna-app .sa-slot.sa-mine{background:var(--sa-soft);border-color:transparent}#sauna-app .sa-slot-copy{display:grid;gap:5px;min-width:0}#sauna-app .sa-slot-time{font-variant-numeric:tabular-nums}#sauna-app .sa-add{flex-shrink:0;border:1px solid var(--sa-line);border-radius:50%;background:var(--sa-surface);color:var(--sa-accent);height:44px;width:44px;display:grid;place-items:center}#sauna-app .sa-chip{color:var(--sa-muted)}#sauna-app .sa-bottom{margin-top:18px;color:var(--sa-muted);text-align:center}#sauna-app .sa-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}#sauna-app .sa-back{margin:0 0 12px -9px;display:flex;align-items:center;gap:6px}#sauna-app .sa-summary{padding:16px;background:var(--sa-soft);border-radius:12px;display:grid;gap:5px}#sauna-app .sa-toast{padding:12px;margin-bottom:16px;background:var(--sa-soft);border-radius:10px}#sauna-app .sa-empty{padding:24px 12px;text-align:center;color:var(--sa-muted)}#sauna-app .sa-confirm{display:grid;gap:10px;border-top:1px solid var(--sa-line);padding-top:12px;margin-top:12px}#sauna-app .sa-confirm-actions{display:flex;gap:8px;flex-wrap:wrap}#sauna-app .sa-cancel-item{background:var(--sa-surface);border:1px solid var(--sa-line);padding:14px;border-radius:12px}#sauna-app .sa-cancel-line{display:flex;align-items:center;justify-content:space-between;gap:8px}#sauna-app .sa-view{display:grid;gap:14px}
#sauna-app .sa-status{background:var(--sa-greenbg)}
#sauna-app .sa-status-icon{color:var(--sa-green)}
#sauna-app .sa-slot.sa-occupied{background:var(--sa-busy);border-color:transparent}
#sauna-app .sa-slot.sa-occupied .sa-kicker{color:var(--sa-red)}
#sauna-app .sa-slot.sa-mine{background:var(--sa-soft)}
#sauna-app .sa-month-toggle{display:flex;align-items:center;gap:6px;text-align:left;border:0;background:transparent;color:var(--sa-text);padding:9px 0;min-height:44px}
#sauna-app .sa-month-toggle svg{flex-shrink:0}
#sauna-app .sa-month-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
#sauna-app .sa-calendar-head .sa-controls{flex-shrink:0}
#sauna-app .sa-month-panel{padding:10px 0 18px;border-bottom:1px solid var(--sa-line);margin-bottom:18px}
#sauna-app .sa-month-weekdays,#sauna-app .sa-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
#sauna-app .sa-month-weekdays{color:var(--sa-muted);text-align:center;margin-bottom:6px}
#sauna-app .sa-month-day{display:grid;place-items:center;min-height:44px;gap:2px;border:0;border-radius:10px;padding:5px 0;background:transparent;color:var(--sa-text);font-variant-numeric:tabular-nums}
#sauna-app .sa-month-day[data-outside=true]{color:var(--sa-muted)}
#sauna-app .sa-month-day[data-week=true]{background:var(--sa-soft)}
#sauna-app .sa-month-day[aria-pressed=true]{background:var(--sa-accent);color:var(--sa-onaccent)}
#sauna-app .sa-month-jump-label{margin-top:14px;color:var(--sa-muted)}
#sauna-app .sa-attempts{color:var(--sa-muted);font-variant-numeric:tabular-nums}
#sauna-app .sa-time-hint{color:var(--sa-muted)}
#sauna-app .sa-date-field{display:grid;gap:7px;min-width:0}
#sauna-app .sa-date-button{width:100%;min-height:48px;border:1px solid var(--sa-line);border-radius:12px;padding:12px;background:var(--sa-surface);color:var(--sa-text);display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}
#sauna-app .sa-date-button svg{flex-shrink:0}
#sauna-app .sa-date-button[aria-expanded=true]{border-color:var(--sa-accent)}
#sauna-app .sa-date-panel{padding:12px 0 4px;border-bottom:1px solid var(--sa-line)}
#sauna-app .sa-date-panel .sa-month-day:disabled{opacity:.4}
#sauna-app .sa-status-copy{min-width:0}
#sauna-app .sa-count{overflow-wrap:anywhere}
#sauna-app .sa-header,#sauna-app .sa-calendar-head{flex-wrap:wrap}
#sauna-app .sa-calendar-head .sa-controls{margin-left:auto}
#sauna-app .sa-fields>*{min-width:0}
#sauna-app input,#sauna-app select{font-size:16px}
#sauna-app button{touch-action:manipulation}
#sauna-app #sa-date{display:none}
#sauna-app .sa-flat-field{display:grid;gap:7px;min-width:0}
#sauna-app .sa-flat-picker{position:relative}
#sauna-app .sa-flat-toggle{width:100%;min-height:48px;padding:10px 12px;border:1px solid var(--sa-line);border-radius:12px;background:var(--sa-surface);color:var(--sa-text);display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}
#sauna-app .sa-flat-toggle[aria-expanded=true]{border-color:var(--sa-accent)}
#sauna-app .sa-flat-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
#sauna-app .sa-flat-options{display:grid;gap:2px;margin-top:6px;padding:6px;background:var(--sa-surface);border:1px solid var(--sa-line);border-radius:13px;box-shadow:0 8px 24px light-dark(#49332320,#00000040)}
#sauna-app .sa-flat-option{width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:9px;background:var(--sa-surface);color:var(--sa-text);text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px}
#sauna-app .sa-flat-option[aria-pressed=true]{background:var(--sa-soft);color:var(--sa-accent)}
#sauna-app .sa-flat-option:hover,#sauna-app .sa-flat-option:focus-visible{background:var(--sa-soft);color:var(--sa-text)}
#sauna-app .sa-flat-option .sa-flat-check{display:flex;visibility:hidden}
#sauna-app .sa-flat-option[aria-pressed=true] .sa-flat-check{visibility:visible}
#sauna-app :is(button,input,select,summary):focus-visible{outline:2px solid var(--sa-accent);outline-offset:2px}
#sauna-app :is(input,select):focus{border-color:var(--sa-accent);outline:2px solid var(--sa-accent);outline-offset:2px;box-shadow:0 0 0 3px var(--sa-soft)}
#sauna-app input::selection{background:var(--sa-soft);color:var(--sa-text)}
#sauna-app #sa-flat{display:none}
@media(max-width:380px){#sauna-app .sa-header{padding:16px}#sauna-app .sa-main{padding:0 14px 18px}#sauna-app .sa-demohead{padding:9px 14px}#sauna-app .sa-slot{padding:12px}#sauna-app .sa-week{gap:0}#sauna-app .sa-day{border-radius:9px}#sauna-app .sa-fields{grid-template-columns:1fr}#sauna-app .sa-month-grid{gap:0}}

html{color-scheme:light;background:#f6f0e7}body{margin:0;padding:24px 12px max(24px,env(safe-area-inset-bottom));font-size:15px;line-height:1.5}#sauna-app{max-width:530px;box-shadow:0 20px 70px #4933230a}#sauna-app h2{font-size:26px;line-height:1.25}#sauna-app h3{font-size:17px}#sauna-app .sa-section-title{margin:24px 0 12px;min-height:44px;display:flex;align-items:center}#sauna-app summary.sa-section-title{display:list-item;cursor:pointer;padding-top:10px}#sauna-app .sa-tabs{gap:22px;flex-wrap:wrap}#sauna-app .sa-cancel-line{flex-wrap:wrap}#sauna-app .sa-account-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}#sauna-app #sa-sync{font-size:13px}#sauna-app #sa-refresh{margin:0 0 10px -9px}#sauna-app #sa-reset-form{margin-top:14px}#sauna-app .sa-status[data-stale=true]{background:var(--sa-soft)}#sauna-app button{font-size:15px}#sauna-app input,#sauna-app select{font-size:16px}@media(max-width:560px){body{padding:0}#sauna-app{border-radius:0;border:0;min-height:100dvh;box-shadow:none;padding-bottom:env(safe-area-inset-bottom)}}
#sauna-app .sa-remember{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer}#sauna-app .sa-remember input{flex:0 0 22px;width:22px;min-height:22px;height:22px;padding:0;margin:0;accent-color:var(--sa-accent)}
#sauna-app .sa-energy-tools{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:12px;margin-bottom:12px}
#sauna-app .sa-energy-cards{display:grid;gap:12px;margin-top:16px}
#sauna-app .sa-energy-card{display:grid;gap:10px;overflow-wrap:anywhere}
#sauna-app .sa-energy-badge{font-size:13px;color:var(--sa-accent);background:var(--sa-soft);border-radius:7px;padding:3px 8px;width:fit-content}
#sauna-app .sa-energy-card[data-review=true]{border-color:var(--sa-red)}
#sauna-app .sa-energy-card[data-review=true] .sa-energy-badge{color:var(--sa-red);background:var(--sa-redbg)}
#sauna-app .sa-energy-number{font-size:26px;font-variant-numeric:tabular-nums}
#sauna-app .sa-energy-edit{display:grid;gap:10px;margin-top:10px}
#sauna-app .sa-energy-edit button{width:100%}
#sauna-app .sa-energy-footnote{font-size:13px;margin-top:16px}
#sauna-app #sa-energy-summary{margin:14px 0}
#sauna-app #sa-energy-error{margin:12px 0}
#sauna-app #sa-energy-refresh{margin:4px 0}

#sauna-app .sa-notice{padding:12px 14px;border-radius:12px;background:var(--sa-soft);color:var(--sa-text);margin-bottom:16px;font-size:13px}
#sauna-app #sa-new { width:100%; }
