@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@500;600;700;800&display=swap');

:root{--paper:#f6f8fb;--surface:#ffffff;--surface-2:#f0f3f7;--ink:#172333;--muted:#687587;--line:#e1e7ef;--primary:#2563eb;--primary-dark:#1d4ed8;--accent:#f59e0b;--success:#16805d;--danger:#c2413b;--shadow:0 18px 48px rgba(30,52,80,.08);--shadow-small:0 4px 16px rgba(30,52,80,.06);--radius:.9rem;--mono:'DM Mono',ui-monospace,monospace;--sans:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--gutter:clamp(1rem,3vw,2.5rem);--nav-height:4.5rem;--focus:0 0 0 3px rgba(37,99,235,.22);color-scheme:light}
[data-theme=dark]{--paper:#101719;--surface:#182326;--surface-2:#1e2c2d;--ink:#edf3ee;--muted:#a5b5b0;--line:#344445;--primary:#66c6b5;--primary-dark:#b6eee1;--accent:#f29a63;--success:#73d0a6;--danger:#f08c83;--shadow:0 18px 55px rgba(0,0,0,.28);--shadow-small:0 6px 22px rgba(0,0,0,.25);color-scheme:dark}
[data-theme=forest]{--paper:#edf4ec;--surface:#fafff7;--surface-2:#e1eee0;--ink:#193329;--muted:#688176;--line:#cbdaca;--primary:#2f7653;--primary-dark:#1d5238;--accent:#d56b3e;--success:#2f8b57;--danger:#b74c45;color-scheme:light}
*{box-sizing:border-box}html{min-height:100%;background:var(--paper);scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;min-height:100%;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;box-shadow:var(--focus)}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:.75rem;padding:.75rem .85rem;min-height:2.9rem;transition:border-color .18s,box-shadow .18s,background .18s}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--primary) 48%,var(--line))}textarea{resize:none;min-height:5rem}.app-frame{min-height:100dvh}.eyebrow{margin:0;color:var(--primary);font:500 .7rem/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase}.muted{color:var(--muted)}.small{font-size:.82rem}.mono{font-family:var(--mono);letter-spacing:-.02em}.hidden{display:none!important}[hidden]{display:none!important}
.auth-view{min-height:100dvh;display:grid;place-items:center;position:relative;padding:2rem;background:radial-gradient(circle at 12% 18%,rgba(230,108,60,.14),transparent 26rem),radial-gradient(circle at 88% 82%,rgba(11,110,105,.16),transparent 30rem),var(--paper);overflow:hidden}.auth-slice{position:absolute;inset:auto;border:1px solid rgba(23,37,43,.09);transform:rotate(-14deg);border-radius:50%;pointer-events:none}.auth-slice-a{width:44rem;height:15rem;left:-10rem;top:11rem}.auth-slice-b{width:48rem;height:17rem;right:-14rem;bottom:9rem;transform:rotate(16deg)}.auth-card{width:min(100%,30rem);position:relative;background:var(--surface);border:1px solid var(--line);border-radius:1.5rem;padding:clamp(1.4rem,4vw,2.5rem);box-shadow:var(--shadow);animation:rise .55s both}.brand-lockup{display:flex;align-items:center;gap:.75rem}.brand-lockup strong{display:block;font-size:1.05rem;letter-spacing:-.03em}.brand-lockup span:not(.brand-stamp){display:block;color:var(--muted);font-size:.78rem}.brand-stamp{width:2.6rem;height:2.6rem;border:1px solid var(--primary);border-radius:.8rem;display:grid;place-items:center;color:var(--primary);font:500 .86rem var(--mono);transform:rotate(-5deg);box-shadow:3px 3px 0 color-mix(in srgb,var(--accent) 70%,transparent)}.auth-copy{margin:2.8rem 0 1.7rem}.auth-copy h1{font-size:clamp(2rem,6vw,3.3rem);line-height:1.02;letter-spacing:-.07em;margin:.55rem 0 .85rem;max-width:9ch}.auth-copy p:last-child{color:var(--muted);max-width:29rem;margin:0}.auth-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:1.2rem}.tab-btn{border:0;background:transparent;color:var(--muted);padding:.7rem .2rem;margin-right:1rem;border-bottom:2px solid transparent}.tab-btn.is-active{color:var(--ink);border-color:var(--primary);font-weight:800}.stack-form{display:grid;gap:.85rem}.field{display:grid;gap:.35rem}.field>span:first-child{font-size:.78rem;font-weight:800}.input-wrap{position:relative}.input-wrap input{padding-right:2.75rem}.input-action{position:absolute;right:.3rem;top:.35rem}.field-error{min-height:1.2rem;color:var(--danger);font-size:.82rem;margin:0}.auth-foot{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:1.35rem;color:var(--muted);font-size:.78rem}.text-btn{border:0;background:transparent;color:var(--primary);font-weight:800;padding:0}.auth-note{position:absolute;bottom:1.5rem;color:var(--muted);font-size:.75rem;display:flex;gap:.45rem;align-items:center}.signal-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--success);box-shadow:0 0 0 .22rem color-mix(in srgb,var(--success) 16%,transparent);display:inline-block}
.product-view{min-height:100dvh;display:grid;grid-template-columns:17rem 1fr}.sidebar{border-right:1px solid var(--line);padding:1.4rem 1rem;display:flex;flex-direction:column;min-height:100dvh;background:color-mix(in srgb,var(--paper) 86%,var(--surface));position:sticky;top:0;height:100dvh}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:.35rem .55rem 1.8rem}.brand-lockup.compact{gap:.6rem}.brand-lockup.compact .brand-stamp{width:2.2rem;height:2.2rem;border-radius:.65rem}.brand-lockup.compact strong{font-size:.93rem}.brand-lockup.compact span:not(.brand-stamp){font-size:.7rem}.icon-btn{width:2.5rem;height:2.5rem;border:1px solid transparent;background:transparent;border-radius:.7rem;display:grid;place-items:center;color:var(--muted);transition:.18s}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.profile-chip{display:flex;align-items:center;gap:.65rem;border:1px solid var(--line);background:var(--surface);border-radius:.9rem;padding:.7rem;margin:.1rem .25rem 1.8rem}.profile-chip strong,.profile-chip small{display:block}.profile-chip strong{font-size:.78rem}.profile-chip small{font-size:.68rem;color:var(--muted);margin-top:.1rem}.avatar{width:2rem;height:2rem;background:var(--primary);color:#fff;border-radius:.65rem;display:grid;place-items:center;font:500 .7rem var(--mono)}.main-nav{display:grid;gap:.3rem}.nav-item{border:0;background:transparent;color:var(--muted);padding:.7rem .8rem;display:flex;gap:.75rem;align-items:center;border-radius:.8rem;text-align:left;font-size:.82rem;transition:.18s}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item.is-active{background:var(--primary);color:#fff;box-shadow:var(--shadow-small)}.nav-icon{width:1.1rem;text-align:center;font-size:1rem}.sidebar-bottom{margin-top:auto;display:grid;gap:.4rem}.sync-line{display:flex;gap:.5rem;align-items:center;color:var(--muted);font-size:.7rem;padding:.5rem .8rem}.logout-item{color:var(--danger)}.main-area{min-width:0;max-width:calc(88rem + 2rem);width:100%;margin:0 auto;padding:0 var(--gutter) 5rem}.topbar{display:flex;justify-content:space-between;align-items:center;padding:2.25rem 0 1.6rem;position:sticky;top:0;z-index:5;background:linear-gradient(var(--paper) 68%,transparent);backdrop-filter:blur(8px)}.topbar h2{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.055em;margin:.2rem 0 0}.topbar-actions{display:flex;gap:.55rem;align-items:center}.btn{border:1px solid transparent;border-radius:.75rem;min-height:2.75rem;padding:.65rem 1rem;font-weight:800;transition:transform .18s,box-shadow .18s,background .18s}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 5px 0 color-mix(in srgb,var(--primary-dark) 75%,transparent)}.btn-primary:hover{background:var(--primary-dark)}.btn-large{width:100%;min-height:3.2rem;display:flex;justify-content:center;gap:.7rem}.btn-compact{min-height:2.5rem;padding:.55rem .8rem;font-size:.78rem}.btn-arrow{font-size:1rem}.btn-secondary{background:var(--surface);border-color:var(--line)}.btn-ghost{border:1px solid var(--line);background:transparent;color:var(--muted)}.btn-danger{border-color:color-mix(in srgb,var(--danger) 35%,var(--line));background:color-mix(in srgb,var(--danger) 8%,transparent);color:var(--danger)}.mobile-nav{display:none}.screen{animation:fade-in .28s both}.offline-banner{background:#fff0c9;color:#745716;padding:.6rem .8rem;border:1px solid #e7cf82;border-radius:.75rem;margin-bottom:1rem;font-size:.78rem}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(17rem,.65fr);gap:1rem;margin-bottom:1rem}.hero-card,.card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-small)}.hero-card{padding:clamp(1.25rem,3vw,2.3rem);background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--surface-2) 72%,var(--surface)));position:relative;overflow:hidden}.hero-card:after{content:'€';position:absolute;right:1.4rem;bottom:-1.7rem;font:800 12rem/1 var(--sans);color:color-mix(in srgb,var(--accent) 10%,transparent);transform:rotate(-12deg)}.hero-card>*{position:relative;z-index:1}.hero-card h3{font-size:clamp(1.7rem,4vw,3rem);letter-spacing:-.075em;line-height:1.02;margin:.5rem 0 .6rem;max-width:11ch}.hero-card p{color:var(--muted);max-width:31rem;margin:0 0 1.5rem}.hero-actions{display:flex;gap:.55rem;flex-wrap:wrap}.month-card{padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between}.month-card .metric-value{font-size:clamp(2rem,5vw,3.1rem)}.metric-label{font-size:.75rem;color:var(--muted);font-weight:800}.metric-value{font:500 2.1rem/1.05 var(--mono);letter-spacing:-.08em}.metric-value.accent{color:var(--accent)}.metric-sub{font-size:.76rem;color:var(--muted);margin-top:.55rem}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin:1.8rem 0 .8rem}.section-head h3{margin:0;font-size:1rem;letter-spacing:-.04em}.section-head p{margin:.18rem 0 0;color:var(--muted);font-size:.78rem}.toolbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.filter-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.filter-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:.4rem .65rem;font-size:.74rem}.filter-chip.is-active{background:var(--ink);border-color:var(--ink);color:var(--surface)}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}.stat-card{padding:1rem;min-width:0}.stat-card button{border:0;background:none;padding:0;text-align:left;width:100%}.stat-card .metric-value{font-size:1.35rem;margin-top:.55rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card .metric-label{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}.chart-card{padding:1.1rem;grid-column:span 6;min-height:14rem}.chart-card.wide{grid-column:span 8}.chart-card.narrow{grid-column:span 4}.chart-title{font-size:.8rem;font-weight:800;margin-bottom:.85rem}.chart-sub{font-size:.7rem;color:var(--muted);margin-top:.35rem}.bar-chart{height:9rem;display:flex;align-items:flex-end;gap:.45rem;border-bottom:1px solid var(--line);padding:.4rem 0 0}.bar{flex:1;min-width:0;background:linear-gradient(180deg,var(--primary),color-mix(in srgb,var(--primary) 58%,var(--accent)));border-radius:.4rem .4rem 0 0;min-height:.2rem;position:relative}.bar:hover{background:var(--accent)}.bar span{position:absolute;bottom:-1.35rem;width:100%;text-align:center;color:var(--muted);font:400 .58rem var(--mono);overflow:hidden;text-overflow:ellipsis}.line-chart{width:100%;height:9rem;overflow:visible}.line-chart polyline{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.line-chart circle{fill:var(--surface);stroke:var(--accent);stroke-width:2}.donut-wrap{display:flex;align-items:center;gap:1rem}.donut{width:8rem;height:8rem;border-radius:50%;background:conic-gradient(var(--primary) 0 40%,var(--accent) 40% 75%,var(--success) 75% 100%);position:relative}.donut:after{content:'';position:absolute;inset:1.6rem;background:var(--surface);border-radius:50%}.legend{display:grid;gap:.4rem;font-size:.7rem;color:var(--muted)}.legend-row{display:flex;gap:.4rem;align-items:center}.legend-swatch{width:.55rem;height:.55rem;border-radius:50%;background:var(--primary)}.goal-card{padding:1.2rem}.goal-row{display:grid;gap:.45rem;margin:.8rem 0}.goal-head{display:flex;justify-content:space-between;font-size:.78rem}.progress{height:.55rem;border-radius:99px;background:var(--surface-2);overflow:hidden}.progress>span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .5s}.recent-list{display:grid;gap:.5rem}.list-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--line);background:var(--surface);border-radius:.95rem;padding:.8rem 1rem;transition:border-color .18s,transform .18s}.list-item:hover{border-color:var(--primary);transform:translateX(2px)}.list-main{min-width:0}.list-title{font-weight:800;font-size:.82rem}.list-sub{display:block;color:var(--muted);font-size:.72rem;margin-top:.12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-value{font:500 .88rem var(--mono);white-space:nowrap}.empty-state{border:1px dashed var(--line);border-radius:var(--radius);padding:2rem;text-align:center;color:var(--muted);background:color-mix(in srgb,var(--surface) 55%,transparent)}.empty-state strong{display:block;color:var(--ink);margin-bottom:.25rem}
.screen-layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:1rem}.form-card,.list-card,.settings-card,.calendar-card{padding:1.2rem}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem}.card-head h3{margin:0;font-size:1.1rem;letter-spacing:-.04em}.card-head p{margin:.2rem 0 0;color:var(--muted);font-size:.76rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field label,.field>label{font-size:.76rem;font-weight:800}.field small{color:var(--muted);font-size:.7rem}.field.full{grid-column:1/-1}.quick-durations{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.45rem}.quick-duration{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:.35rem .55rem;font:500 .7rem var(--mono)}.quick-duration.is-active,.quick-duration:hover{background:var(--primary);border-color:var(--primary);color:#fff}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.9rem 0;margin:1rem 0}.summary-strip span{display:block;color:var(--muted);font-size:.68rem}.summary-strip strong{font:500 .92rem var(--mono)}.summary-strip .earn{color:var(--accent)}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.1rem}.advanced{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.advanced summary{cursor:pointer;color:var(--primary);font-size:.78rem;font-weight:800}.table-toolbar{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.8rem}.table-toolbar input{max-width:18rem}.shift-table{display:grid;gap:.4rem}.shift-row{display:grid;grid-template-columns:1fr 1.2fr .8fr .75fr auto;gap:.7rem;align-items:center;padding:.75rem .7rem;border-bottom:1px solid var(--line);font-size:.76rem}.shift-row.header{color:var(--muted);font-size:.68rem;font-weight:800}.shift-row strong{font-weight:800}.row-actions{display:flex;gap:.25rem;justify-content:flex-end}.mini-btn{border:0;background:transparent;color:var(--primary);padding:.35rem;font-size:.72rem;font-weight:800}.mini-btn.danger{color:var(--danger)}
.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.month-switch{display:flex;align-items:center;gap:.55rem}.month-switch strong{min-width:10rem;text-align:center;font-size:1.05rem;letter-spacing:-.04em}.calendar-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1rem 0}.calendar-summary .card{padding:.8rem}.calendar-summary strong{font:500 1.05rem var(--mono);display:block}.calendar-summary span{font-size:.68rem;color:var(--muted)}.calendar-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:.9rem 0}.calendar-filters select{max-width:12rem;min-height:2.45rem;padding:.45rem .6rem;font-size:.75rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);border-radius:.75rem;overflow:hidden}.weekday{padding:.55rem .3rem;text-align:center;color:var(--muted);font:500 .65rem var(--mono);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.weekday.weekend{color:var(--accent)}.day-cell{min-height:6.4rem;background:var(--surface);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:.5rem;cursor:pointer;transition:background .18s,box-shadow .18s}.day-cell:hover{background:color-mix(in srgb,var(--primary) 6%,var(--surface))}.day-cell.is-muted{background:color-mix(in srgb,var(--surface-2) 45%,var(--surface));color:var(--muted)}.day-cell.is-today{box-shadow:inset 0 3px var(--primary)}.day-cell.is-selected{background:color-mix(in srgb,var(--accent) 10%,var(--surface));box-shadow:inset 0 0 0 2px var(--accent)}.day-top{display:flex;justify-content:space-between;font:500 .72rem var(--mono)}.day-total{font-size:.62rem;color:var(--accent)}.day-stamps{display:flex;flex-wrap:wrap;gap:.22rem;margin-top:1.25rem}.stamp{width:.55rem;height:.55rem;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.day-shift{display:block;margin-top:.4rem;font-size:.62rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-detail{padding:1rem}.calendar-detail h3{font-size:1rem;margin:0}.calendar-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin:.9rem 0}.calendar-detail-grid div{background:var(--surface-2);border-radius:.7rem;padding:.6rem}.calendar-detail-grid strong{font:500 .85rem var(--mono);display:block}.calendar-detail-grid span{font-size:.63rem;color:var(--muted)}
.settings-layout{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:1rem}.settings-nav{display:grid;gap:.3rem;align-content:start}.settings-nav button{border:1px solid transparent;background:transparent;text-align:left;padding:.7rem .8rem;border-radius:.8rem;color:var(--muted);font-size:.76rem}.settings-nav button.is-active,.settings-nav button:hover{background:var(--surface);border-color:var(--line);color:var(--ink)}.settings-nav button.is-active{box-shadow:inset 3px 0 var(--primary);color:var(--primary);font-weight:800}.settings-panel{min-width:0}.settings-panel h3{margin:0;font-size:1.1rem}.settings-panel>p{color:var(--muted);font-size:.78rem;margin:.2rem 0 1.2rem}.settings-section{border:1px solid var(--line);border-radius:1rem;padding:1rem;margin-bottom:.8rem;background:var(--surface)}.settings-section h4{margin:0 0 .7rem;font-size:.84rem}.settings-section p{color:var(--muted);font-size:.74rem;margin:.25rem 0 .8rem}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.setting-line{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.78rem}.setting-line:last-child{border-bottom:0}.switch{position:relative;width:2.65rem;height:1.5rem;flex:0 0 auto}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;border-radius:2rem;background:var(--line);transition:.2s}.switch span:after{content:'';position:absolute;width:1rem;height:1rem;left:.25rem;top:.25rem;border-radius:50%;background:var(--surface);transition:.2s}.switch input:checked+span{background:var(--primary)}.switch input:checked+span:after{transform:translateX(1.15rem)}.template-list,.branch-list{display:grid;gap:.45rem;margin-top:.7rem}.template-item,.branch-item{display:flex;justify-content:space-between;gap:.7rem;border:1px solid var(--line);padding:.65rem .75rem;border-radius:.75rem;font-size:.75rem}.settings-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.85rem}.file-input{border:1px dashed var(--line);padding:.9rem;border-radius:.75rem;background:var(--surface-2)}.settings-search{margin-bottom:1rem}.settings-search input{background:var(--surface)}
.toast-region{position:fixed;right:1.25rem;bottom:1.25rem;z-index:50;display:grid;gap:.5rem;max-width:min(22rem,calc(100vw - 2rem))}.toast{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-small);border-radius:.8rem;padding:.75rem .9rem;font-size:.78rem;animation:toast-in .24s both}.toast.success{border-color:color-mix(in srgb,var(--success) 45%,var(--line))}.toast.error{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));color:var(--danger)}.dialog-backdrop{position:fixed;inset:0;background:rgba(14,24,25,.42);z-index:30;display:grid;place-items:center;padding:1rem}.dialog{width:min(100%,31rem);background:var(--surface);border:1px solid var(--line);border-radius:1.25rem;box-shadow:var(--shadow);padding:1.2rem;animation:rise .22s both}.dialog h3{margin:0 0 .4rem}.dialog p{color:var(--muted);font-size:.8rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.kpi-dialog{width:min(100%,45rem)}
@keyframes rise{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes fade-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.product-view{grid-template-columns:14rem 1fr}.stats-grid{grid-template-columns:repeat(3,1fr)}.hero-grid{grid-template-columns:1fr}.chart-card.wide,.chart-card.narrow{grid-column:span 6}}
@media(max-width:760px){body{font-size:14px}.auth-view{padding:1rem}.auth-card{padding:1.25rem}.auth-copy{margin:2rem 0 1.4rem}.auth-copy h1{font-size:2.25rem}.auth-note{bottom:.8rem}.product-view{display:block}.sidebar{display:none}.main-area{padding:0 1rem calc(var(--nav-height) + 2rem);margin:0}.topbar{padding:1.2rem 0 1rem;position:relative}.topbar h2{font-size:1.45rem}.topbar-actions .btn{font-size:.72rem}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;z-index:20;left:.75rem;right:.75rem;bottom:calc(.65rem + env(safe-area-inset-bottom));height:var(--nav-height);padding:.35rem;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--line);border-radius:1.1rem;box-shadow:var(--shadow);backdrop-filter:blur(16px)}.mobile-nav-item{border:0;background:transparent;color:var(--muted);border-radius:.75rem;display:grid;place-items:center;gap:.05rem;font-size:1rem}.mobile-nav-item small{font-size:.58rem;font-weight:800}.mobile-nav-item.is-active{color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.hero-card h3{max-width:13ch}.stats-grid{grid-template-columns:repeat(2,1fr)}.data-grid{display:block}.chart-card,.chart-card.wide,.chart-card.narrow{margin-bottom:.8rem;min-height:13rem}.screen-layout{display:block}.screen-layout>.card{margin-bottom:.8rem}.form-grid,.form-grid.three,.settings-grid{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions .btn{flex:1}.summary-strip{grid-template-columns:repeat(2,1fr)}.shift-row.header{display:none}.shift-row{grid-template-columns:1fr auto;gap:.35rem;border:1px solid var(--line);border-radius:.8rem;margin-bottom:.5rem;padding:.75rem}.shift-row>span:nth-child(2),.shift-row>span:nth-child(3),.shift-row>span:nth-child(4){grid-column:1}.shift-row .row-actions{grid-column:2;grid-row:1/5;align-self:center}.calendar-summary{gap:.4rem}.calendar-summary .card{padding:.65rem}.calendar-grid{font-size:.8rem}.day-cell{min-height:4.6rem;padding:.35rem}.day-stamps{margin-top:.75rem}.day-shift{display:none}.calendar-detail-grid{grid-template-columns:repeat(2,1fr)}.settings-layout{display:block}.settings-nav{display:flex;overflow:auto;margin:0 -1rem 1rem;padding:0 1rem .2rem}.settings-nav button{white-space:nowrap;border-color:var(--line);background:var(--surface)}.settings-nav button.is-active{box-shadow:inset 0 -3px var(--primary)}.calendar-toolbar{align-items:stretch}.month-switch{justify-content:space-between;width:100%}.toast-region{left:1rem;right:1rem;bottom:calc(var(--nav-height) + 1.2rem + env(safe-area-inset-bottom));max-width:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media(forced-colors:active){button:focus-visible,input:focus-visible{outline:2px solid CanvasText;box-shadow:none}.card,.hero-card,.sidebar,.mobile-nav{border:1px solid CanvasText}}
.stamp{display:inline-grid;place-items:center;border:1px solid var(--primary);border-radius:999px;padding:.2rem .45rem;color:var(--primary);font:500 .65rem var(--mono);transform:rotate(-3deg);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}

/* Utility-first refinement: clearer hierarchy, calmer surfaces, less visual noise. */
.auth-view{background:radial-gradient(circle at 12% 12%,rgba(37,99,235,.08),transparent 24rem),var(--paper)}
.auth-slice{display:none}.auth-card{border-radius:1rem;box-shadow:0 22px 60px rgba(30,52,80,.1)}.brand-stamp{border-radius:.65rem;transform:none;box-shadow:none;background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.brand-icon{width:2.6rem;height:2.6rem;display:block;border-radius:.7rem;object-fit:cover;flex:0 0 auto}.brand-lockup.compact .brand-icon{width:2.2rem;height:2.2rem;border-radius:.55rem}.auth-copy{margin:2.2rem 0 1.5rem}.auth-copy h1{letter-spacing:-.06em}
.sidebar{background:var(--surface);box-shadow:1px 0 0 var(--line)}.profile-chip{border-radius:.75rem;background:var(--surface-2)}.nav-item{border-radius:.65rem}.nav-item.is-active{box-shadow:none}.topbar{padding-top:1.7rem}.topbar h2{font-weight:800}.btn{box-shadow:none!important;border-radius:.65rem}.btn-primary{background:var(--primary)}.btn-primary:hover{background:var(--primary-dark)}
.hero-card{background:var(--surface);border-top:3px solid var(--primary);box-shadow:var(--shadow-small)}.hero-card:after{display:none}.hero-card h3{max-width:18ch}.month-card{border-top:3px solid var(--accent)}.metric-value{font-weight:700}.stat-card{border-radius:.75rem}.stat-card:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--line))}.chart-card{border-radius:.85rem}.list-item{border-radius:.7rem}.list-item:hover{transform:none;background:color-mix(in srgb,var(--primary) 3%,var(--surface))}.empty-state{border-radius:.85rem}.card,.hero-card{box-shadow:var(--shadow-small)}
.form-card,.list-card,.settings-card,.calendar-card{border-radius:.85rem}.summary-strip{background:var(--surface-2);border:0;border-radius:.7rem;padding:.85rem;margin:1rem 0}.day-cell{min-height:5.8rem}.day-cell.is-selected{box-shadow:inset 0 0 0 2px var(--primary)}.day-cell.is-today{box-shadow:inset 0 3px var(--primary)}
.mobile-nav{border-radius:.85rem}.mobile-nav-item.is-active{color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,transparent)}
.setting-line > span strong,.setting-line > span small{display:block}.setting-line > span{min-width:0}
@media(min-width:761px){.screen-layout{grid-template-columns:minmax(0,1.55fr) minmax(23rem,.85fr)}.list-card .shift-row{grid-template-columns:4.5rem 4.7rem minmax(0,1fr) 4rem 4.3rem;gap:.35rem}.list-card .row-actions{flex-direction:column;align-items:flex-end;gap:0}.list-card .mini-btn{padding:.18rem .05rem;white-space:nowrap}}
@media(max-width:760px){.list-card .shift-row{grid-template-columns:1fr auto;gap:.35rem}.list-card .shift-row>span:nth-child(2),.list-card .shift-row>span:nth-child(3),.list-card .shift-row>span:nth-child(4){grid-column:1}.list-card .shift-row .row-actions{grid-column:2;grid-row:1/5;flex-direction:column;align-self:center;gap:0}}
.topbar{position:relative;background:transparent;backdrop-filter:none}
.calendar-card{padding:1.35rem;border-radius:1rem}.calendar-toolbar{padding-bottom:.9rem;border-bottom:1px solid var(--line)}.calendar-summary{margin:1rem 0 1.15rem}.calendar-summary .card{border:1px solid var(--line);background:var(--surface-2);box-shadow:none;border-radius:.75rem}.calendar-filters{margin:0 0 .9rem;padding-bottom:.1rem}.calendar-grid{border:1px solid var(--line);border-radius:.9rem;background:var(--surface)}.weekday{background:var(--surface-2);border-color:var(--line);padding:.65rem .3rem}.day-cell{min-height:5.4rem;padding:.6rem;border-color:var(--line)}.day-cell.is-muted{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}.day-cell.is-today{box-shadow:inset 0 3px var(--accent)}.day-cell.is-selected{background:color-mix(in srgb,var(--primary) 7%,var(--surface));box-shadow:inset 0 0 0 2px var(--primary)}.day-total{color:var(--primary)}.day-stamps{margin-top:1rem}

/* Settings: ruhigere Navigation, weichere Flächen und stabile Wechsel. */
.settings-layout{align-items:start;gap:1.25rem}
.settings-nav{position:sticky;top:1rem;gap:.2rem;padding:.85rem;background:color-mix(in srgb,var(--surface) 82%,var(--paper));border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:1.15rem;box-shadow:none}
.settings-nav-intro{display:grid;gap:.28rem;padding:.25rem .7rem .8rem;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);margin-bottom:.2rem;color:var(--muted);font-size:.72rem;line-height:1.35}
.settings-nav-intro .eyebrow{color:var(--primary);font-size:.58rem;letter-spacing:.14em}
.settings-nav button{display:flex;align-items:center;gap:.65rem;min-height:2.7rem;padding:.62rem .7rem;border-color:transparent;transition:background .18s ease,color .18s ease,transform .18s ease}
.settings-nav button:hover{transform:translateX(2px);background:color-mix(in srgb,var(--primary) 6%,var(--surface));border-color:transparent}
.settings-nav button.is-active{background:var(--surface);border-color:color-mix(in srgb,var(--primary) 18%,var(--line));box-shadow:0 4px 14px color-mix(in srgb,var(--ink) 6%,transparent);color:var(--primary)}
.settings-nav-dot{width:.42rem;height:.42rem;flex:0 0 auto;border-radius:50%;background:var(--line);transition:background .18s ease,transform .18s ease}
.settings-nav button.is-active .settings-nav-dot{background:var(--accent);transform:scale(1.18);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}
.settings-nav-note{margin:.7rem .7rem .1rem;color:var(--muted);font-size:.66rem;line-height:1.4}
.settings-panel{min-height:30rem}
.settings-panel>.settings-card{padding:1.4rem;animation:settings-in .26s ease both}
.settings-section{border-color:color-mix(in srgb,var(--line) 72%,transparent);background:color-mix(in srgb,var(--surface-2) 55%,var(--surface));box-shadow:none;transition:border-color .18s ease,background .18s ease}
.settings-section:focus-within{border-color:color-mix(in srgb,var(--primary) 30%,var(--line));background:var(--surface)}
.settings-section h4{letter-spacing:-.02em}
.settings-actions{padding-top:.15rem}
.settings-panel.is-changing{animation:settings-in .26s ease both}
@keyframes settings-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:760px){.settings-nav{position:relative;top:auto;display:flex;gap:.35rem;align-items:stretch;overflow-x:auto;margin:0 -1rem 1rem;padding:.65rem 1rem;border-width:1px 0;border-radius:0;background:color-mix(in srgb,var(--surface) 72%,transparent);scrollbar-width:none}.settings-nav::-webkit-scrollbar{display:none}.settings-nav-intro{display:none}.settings-nav button{flex:0 0 auto;min-height:2.5rem;border:1px solid var(--line);background:var(--surface);border-radius:.75rem;padding:.55rem .7rem}.settings-nav button:hover{transform:none}.settings-nav button.is-active{box-shadow:inset 0 -2px var(--primary),0 4px 12px color-mix(in srgb,var(--ink) 5%,transparent);border-color:color-mix(in srgb,var(--primary) 22%,var(--line))}.settings-nav-note{display:none}.settings-panel{min-height:0}.settings-panel>.settings-card{padding:1.15rem}}
@media(prefers-reduced-motion:reduce){.settings-nav button,.settings-nav-dot,.settings-section{transition:none}.settings-panel>.settings-card,.settings-panel.is-changing{animation:none}}
.ui-icon{width:1.05em;height:1.05em;display:inline-block;flex:0 0 auto;vertical-align:-.16em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-icon,.mobile-nav-item>span:first-child,.btn-arrow{display:inline-flex;align-items:center;justify-content:center}.nav-icon .ui-icon{width:1.15rem;height:1.15rem}.mobile-nav-item .ui-icon{width:1.15rem;height:1.15rem}.icon-btn .ui-icon{width:1.1rem;height:1.1rem}.btn-arrow{margin-left:.18rem}.text-btn .ui-icon,.mini-btn .ui-icon{width:.9rem;height:.9rem}
html{scrollbar-gutter:stable}
@media(min-width:761px){.settings-layout{grid-template-columns:17rem minmax(0,1fr)}.settings-nav{width:100%;min-width:0}.settings-nav button{width:100%;box-sizing:border-box;white-space:nowrap}.settings-panel{min-height:max(30rem,calc(100dvh - 9rem));overflow-anchor:none}.settings-panel>.settings-card{min-height:max(30rem,calc(100dvh - 9rem));box-sizing:border-box}}
/* Mobile-first pass: one clear column, comfortable touch targets and safe-area spacing. */
@media(max-width:860px){html{scrollbar-gutter:auto}.product-view{display:block;min-height:100dvh}.sidebar{display:none}.main-area{width:100%;max-width:none;margin:0;padding:0 1rem calc(var(--nav-height) + 2.4rem + env(safe-area-inset-bottom));}.topbar{position:relative;top:auto;padding:1.1rem 0 1rem;gap:.75rem}.topbar h2{font-size:1.5rem}.topbar-actions{gap:.4rem}.topbar-actions .btn{white-space:nowrap}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;z-index:20;left:.75rem;right:.75rem;bottom:calc(.65rem + env(safe-area-inset-bottom));height:var(--nav-height);padding:.35rem;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--line);border-radius:1rem;box-shadow:var(--shadow);backdrop-filter:blur(16px)}.mobile-nav-item{min-height:2.5rem;border:0;background:transparent;color:var(--muted);border-radius:.75rem;display:grid;place-items:center;gap:.05rem;font-size:1rem}.mobile-nav-item small{font-size:.58rem;font-weight:800}.mobile-nav-item.is-active{color:var(--primary);background:color-mix(in srgb,var(--primary) 9%,transparent)}.screen-layout{display:block}.screen-layout>.card{margin-bottom:.8rem}.form-grid,.form-grid.three,.settings-grid{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions .btn{flex:1}.summary-strip{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.stat-card{padding:.8rem}.stat-card .metric-value{font-size:1.15rem}.data-grid{display:block}.chart-card,.chart-card.wide,.chart-card.narrow{margin-bottom:.75rem;min-height:12rem}.section-head{align-items:flex-start;flex-direction:column;gap:.6rem}.section-head .toolbar{width:100%}.section-head .toolbar .btn{flex:1}.shift-row.header{display:none}.shift-row{grid-template-columns:1fr auto;gap:.35rem;border:1px solid var(--line);border-radius:.8rem;margin-bottom:.5rem;padding:.75rem}.shift-row>span:nth-child(2),.shift-row>span:nth-child(3),.shift-row>span:nth-child(4){grid-column:1}.shift-row .row-actions{grid-column:2;grid-row:1/5;align-self:center;flex-direction:column;gap:0}.calendar-summary{gap:.45rem}.calendar-summary .card{padding:.7rem}.calendar-grid{font-size:.8rem}.day-cell{min-height:4.8rem;padding:.45rem}.day-stamps{margin-top:.8rem}.day-shift{display:none}.calendar-detail-grid{grid-template-columns:repeat(2,1fr)}.calendar-toolbar{align-items:stretch}.month-switch{justify-content:space-between;width:100%}.settings-layout{display:block}.settings-nav{position:relative;top:auto;display:flex;gap:.35rem;align-items:stretch;overflow-x:auto;margin:0 -1rem 1rem;padding:.65rem 1rem;border-width:1px 0;border-radius:0;background:color-mix(in srgb,var(--surface) 72%,transparent);scrollbar-width:none}.settings-nav::-webkit-scrollbar{display:none}.settings-nav-intro,.settings-nav-note{display:none}.settings-nav button{flex:0 0 auto;min-height:2.75rem;border:1px solid var(--line);background:var(--surface);border-radius:.75rem;padding:.55rem .75rem;white-space:nowrap}.settings-nav button:hover{transform:none}.settings-nav button.is-active{box-shadow:inset 0 -2px var(--primary),0 4px 12px color-mix(in srgb,var(--ink) 5%,transparent);border-color:color-mix(in srgb,var(--primary) 22%,var(--line))}.settings-panel{min-height:0}.settings-panel>.settings-card{min-height:0;padding:1.15rem}.settings-section{padding:.9rem}.settings-actions{width:100%}.settings-actions .btn,.settings-actions .btn-secondary{min-height:2.75rem}.icon-btn,.quick-duration,.filter-chip,.mini-btn{min-height:2.5rem}.calendar-filters select{max-width:none;flex:1;min-width:9rem}}
@media(max-width:480px){body{font-size:14px}.topbar{align-items:stretch}.topbar-actions{justify-content:space-between}.topbar-actions .btn{flex:1}.hero-card{padding:1.15rem}.hero-card h3{font-size:2rem}.month-card{padding:1rem}.calendar-card{padding:1rem}.calendar-summary strong{font-size:.95rem}.calendar-summary span{font-size:.62rem}.day-cell{min-height:4.35rem;padding:.35rem}.day-top{font-size:.65rem}.day-total{font-size:.55rem}.stamp{width:.45rem;height:.45rem}.settings-panel>.settings-card{padding:1rem}.settings-section{border-radius:.85rem}.settings-grid{gap:.65rem}.form-actions{gap:.35rem}.form-actions .btn{padding:.6rem .65rem;font-size:.75rem}}
@media(max-width:860px){:root{--nav-height:3.7rem}.mobile-nav{left:1rem;right:1rem;bottom:calc(.15rem + env(safe-area-inset-bottom));height:var(--nav-height);padding:.25rem;border-radius:.85rem}.mobile-nav-item{min-height:2.15rem;border-radius:.65rem}.mobile-nav-item .ui-icon{width:1rem;height:1rem}.mobile-nav-item small{font-size:.54rem}}
@media(max-width:860px){.settings-mobile-home{padding:1.15rem}.settings-mobile-home h3{font-size:1.55rem}.settings-mobile-list{display:grid;gap:.55rem;margin-top:1.15rem}.settings-mobile-link{display:grid;grid-template-columns:2.25rem minmax(0,1fr) 1.2rem;align-items:center;gap:.7rem;width:100%;min-height:4.25rem;padding:.7rem .75rem;text-align:left;border:1px solid var(--line);border-radius:.9rem;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-small);transition:transform .18s ease,border-color .18s ease,background .18s ease}.settings-mobile-link:active{transform:scale(.985)}.settings-mobile-link:focus-visible{outline:0;box-shadow:var(--focus)}.settings-mobile-link-icon{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:.7rem;background:color-mix(in srgb,var(--primary) 10%,var(--surface));color:var(--primary)}.settings-mobile-link-icon .ui-icon{width:1.05rem;height:1.05rem}.settings-mobile-link-copy{display:grid;gap:.18rem;min-width:0}.settings-mobile-link-copy strong{font-size:.82rem}.settings-mobile-link-copy small{overflow:hidden;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.settings-mobile-link-arrow{display:grid;place-items:center;color:var(--muted)}.settings-mobile-link-arrow .ui-icon{width:1rem;height:1rem}.settings-mobile-header{margin:0 0 .7rem}.settings-back{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .1rem;border:0;background:transparent;color:var(--primary);font-size:.76rem;font-weight:800}.settings-back .ui-icon{width:.95rem;height:.95rem}.settings-panel:has(.settings-mobile-header)>.settings-card{animation:settings-mobile-in .22s ease both}@keyframes settings-mobile-in{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}}
@media(min-width:861px){.settings-mobile-header{display:none}}
@media(prefers-reduced-motion:reduce){.settings-mobile-link,.settings-panel:has(.settings-mobile-header)>.settings-card{transition:none;animation:none}}
