:root{--font-sans:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--palette-ivory-50:#fffefc;--palette-ivory-100:#fbf7f3;--palette-ivory-200:#f7efea;--palette-blush-100:#f7e7e2;--palette-blush-300:#e9c8c0;--palette-brown-500:#955844;--palette-brown-600:#7a4637;--palette-brown-800:#4a2f29;--palette-ink-900:#352622;--palette-taupe-600:#766762;--palette-line-300:#e8ddd7;--color-canvas:var(--palette-ivory-100);--color-surface-primary:var(--palette-ivory-50);--color-surface-secondary:var(--palette-ivory-200);--color-surface-glass:#fffefce0;--color-text-primary:var(--palette-ink-900);--color-text-secondary:var(--palette-taupe-600);--color-field-label:#665650;--color-border-subtle:#d6c6be94;--color-border-hover:#d7c0b7;--color-focus-ring:#9558441f;--color-action-primary:var(--palette-brown-600);--color-action-primary-active:var(--palette-brown-800);--gradient-action-primary:linear-gradient(135deg, #a3614b 0%, #764333 56%, #4a2f29 100%);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--radius-xs:10px;--radius-sm:14px;--radius-md:18px;--radius-lg:22px;--radius-xl:28px;--radius-pill:999px;--shadow-surface:0 1px 2px #492e260a, 0 10px 30px #492e260f;--shadow-raised:0 2px 8px #6942390d, 0 22px 64px #895b531f;--shadow-control:0 7px 18px #4a2f2929;--shadow-control-hover:0 10px 24px #4a2f2933;--shadow-control-active:0 4px 12px #4a2f2929;--motion-fast:.14s cubic-bezier(.2, .8, .2, 1);--motion-base:.18s cubic-bezier(.2, .8, .2, 1);--asset-login-backdrop-desktop:url(/images/brand/login-backdrop-desktop.webp);--asset-login-backdrop-mobile:url(/images/brand/login-backdrop-mobile.webp);--asset-calendar-backdrop-desktop:url(/images/brand/login-backdrop-desktop.webp);--asset-calendar-backdrop-mobile:url(/images/brand/login-backdrop-mobile.webp);--auth-backdrop-width:1122px;--auth-backdrop-offset-desktop:128px;--auth-backdrop-offset-mobile:82px;--auth-content-width:920px;--auth-card-width:650px;--auth-card-min-height:800px;--auth-card-compact-min-height:620px;--auth-card-tablet-min-height:700px;--auth-card-radius-mobile:24px;--auth-logo-size:144px;--auth-logo-size-compact:112px;--auth-logo-size-mobile:112px;--auth-control-height:56px;--auth-control-height-mobile:54px;--auth-nav-width:780px;--calendar-content-width:930px;--calendar-nav-width:710px;--calendar-cell-height:68px;--calendar-cell-height-mobile:58px;--records-content-width:930px;--records-nav-width:710px;--records-row-height:104px;--reports-content-width:930px;--reports-nav-width:710px;--reports-summary-card-height:104px;--settings-content-width:930px;--settings-nav-width:710px;--color-background:#faf6f2;--color-surface:#fffdfb;--color-surface-soft:#f8efea;--color-surface-warm:#fdf4ec;--color-text:#392a26;--color-muted:#766762;--color-line:#eadfd9;--color-brand:#87503f;--color-brand-dark:#4a2f29;--color-brand-soft:#f0d7d1;--color-positive:#3f7d50;--color-positive-soft:#edf4eb;--color-negative:#b8524f;--color-negative-soft:#fbe9e6;--color-warning:#8b632d;--color-warning-soft:#fff6df;--shadow-card:0 14px 40px #50352b14;--shadow-floating:0 18px 48px #3e271f29;--radius-small:12px;--radius-medium:18px;--radius-large:24px;--content-width:1040px;--nav-width:620px;--touch-target:44px;--mobile-page-gutter:12px;--mobile-panel-padding:12px;--bottom-nav-height:72px;--bottom-nav-offset:12px;--bottom-nav-content-gap:32px;--bottom-nav-clearance:calc(var(--bottom-nav-height) + var(--bottom-nav-offset) + var(--bottom-nav-content-gap) + env(safe-area-inset-bottom));--transition-fast:.16s ease;--record-sheet-padding:20px;--record-sheet-top-gap:40px;--record-sheet-mobile-top-gap:16px;--record-sheet-mobile-bottom-clearance:calc(88px + env(safe-area-inset-bottom));--z-underlay:0;--z-bottom-nav:30;--z-modal:40}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;scroll-behavior:smooth;overflow-x:clip}body{background:var(--color-background);min-width:320px;min-height:100vh;color:var(--color-text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,Microsoft JhengHei,Arial,sans-serif;font-size:16px;line-height:1.5;overflow-x:clip}html.modal-open,body.modal-open{overscroll-behavior:none;overflow:hidden}body.modal-open{width:100%;position:fixed;left:0;right:0}body.modal-open .bottom-nav{z-index:var(--z-underlay);visibility:hidden;opacity:0;pointer-events:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}img,svg{display:block}:focus-visible{outline-offset:3px;outline:3px solid #87503f52}.page-decoration{z-index:-1;pointer-events:none;filter:blur(2px);opacity:.62;border-radius:50%;width:360px;height:360px;position:fixed}.page-decoration-top{background:radial-gradient(circle,#e8c5bcb8,#faf6f200 70%);top:-220px;right:-170px}.page-decoration-bottom{background:radial-gradient(circle,#dfcfbb8c,#faf6f200 70%);bottom:-230px;left:-180px}.app-shell{width:min(100%, var(--content-width));padding:24px 20px var(--bottom-nav-clearance);margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.brand{align-items:center;gap:14px;min-width:0;display:inline-flex}.brand-logo{object-fit:contain;background:#fffdfbeb;border:1px solid #eadfd9e6;border-radius:18px;flex:0 0 64px;width:64px;height:64px;padding:8px;box-shadow:0 8px 24px #50352b0f}.brand-text{min-width:0;display:grid}.brand-title{overflow-wrap:anywhere;font-size:1.55rem;line-height:1.25}.brand-subtitle{color:var(--color-muted);overflow-wrap:anywhere;margin-top:3px;font-size:.9rem}.guest-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.icon{flex:none}.button,.btn,.btn-secondary,.btn-danger{min-height:var(--touch-target);border-radius:var(--radius-small);text-align:center;white-space:nowrap;transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:800;line-height:1.2;display:inline-flex}.button:hover,.btn:hover,.btn-secondary:hover,.btn-danger:hover{transform:translateY(-1px)}.button-primary,.btn{background:linear-gradient(135deg, var(--color-brand), var(--color-brand-dark));color:#fff;box-shadow:0 8px 20px #5b362b29}.button-ghost{border:1px solid var(--color-line);color:var(--color-text);background:#fffdfbb8}.button-soft,.btn-secondary{background:var(--color-surface-soft);color:var(--color-text)}.btn-danger{background:var(--color-negative-soft);color:#93413d}.button-compact{min-height:42px;padding:9px 13px}.button-block{width:100%}.mini{border-radius:10px;min-height:34px;padding:7px 10px;font-size:.8rem}input,select,textarea{border:1px solid var(--color-line);border-radius:var(--radius-small);width:100%;min-height:48px;color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fff;padding:11px 13px}input:hover,select:hover,textarea:hover{border-color:#d8c5bd}input:focus,select:focus,textarea:focus{border-color:var(--color-brand);outline:0;box-shadow:0 0 0 4px #87503f1a}textarea{resize:vertical;min-height:88px}label{color:#665650;margin-bottom:7px;font-size:.88rem;font-weight:800;display:block}.panel{border-radius:var(--radius-medium);box-shadow:var(--shadow-card);background:#fffdfbf0;border:1px solid #eadfd9eb;margin-bottom:14px;padding:20px}.panel-title{margin:0;font-size:1.08rem}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.section-title{align-items:center;gap:9px;margin:0;font-size:1.08rem;display:flex}.section-title .icon{color:var(--color-brand)}.grid{gap:12px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-row,.income-items{gap:12px;display:grid}.income-items-heading{align-items:flex-start;margin-bottom:0}.income-items-title{margin:0 0 4px;font-size:1rem}.income-item-list{gap:12px;display:grid}.income-item-row{border:1px solid var(--color-line);border-radius:16px;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr)) auto;align-items:end;gap:10px;min-width:0;margin:0;padding:14px;display:grid}.income-item-row legend{color:var(--color-muted);padding:0 6px;font-size:.84rem;font-weight:700}.income-item-remove{margin-bottom:1px}.income-item-totals{background:var(--color-surface-soft);border-radius:14px;flex-wrap:wrap;justify-content:flex-end;gap:10px 20px;padding:12px 14px;display:flex}.income-item-totals span{gap:6px;display:inline-flex}.form-error{color:var(--color-negative);margin:6px 0 0;font-size:.85rem}.record-service-lines{color:var(--color-text-secondary);gap:7px;margin:10px 0 0;padding:0;font-size:.9rem;font-weight:700;list-style:none;display:grid}.record-service-lines li{border-top:1px solid #e6d9d2;grid-template-columns:minmax(90px,1fr) auto auto;align-items:baseline;gap:10px;padding-top:7px;display:grid}.record-service-line-name{color:var(--color-text);font-weight:900}.record-service-line-value{color:var(--color-positive);white-space:nowrap;font-weight:800}.record-service-line-value.negative{color:var(--color-negative)}.record-promotion{color:var(--color-brand);margin:7px 0 0;font-size:.82rem;font-weight:800}.full{grid-column:1/-1}.toolbar{justify-content:space-between;align-items:center;gap:10px;display:flex}.toolbar>input,.toolbar>select{min-width:0}.help-text{color:var(--color-muted);margin:6px 0 0;font-size:.84rem;line-height:1.55}.summary-card{border:1px solid var(--color-line);background:#ffffffdb;border-radius:16px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:16px;display:grid}.summary-icon{background:var(--color-surface-soft);width:48px;height:48px;color:var(--color-brand);border-radius:15px;place-items:center;display:grid}.summary-card.positive-card .summary-icon{background:var(--color-positive-soft);color:var(--color-positive)}.summary-card.negative-card .summary-icon{background:var(--color-negative-soft);color:var(--color-negative)}.summary-content{min-width:0}.summary-label{color:var(--color-muted);font-size:.78rem;font-weight:800;display:block}.summary-value{overflow-wrap:anywhere;margin-top:3px;font-size:1.22rem;line-height:1.25;display:block}.summary-comparison{color:var(--color-muted);align-items:center;gap:5px;margin-top:5px;font-size:.74rem;display:flex}.summary-comparison.good{color:var(--color-positive)}.summary-comparison.bad{color:var(--color-negative)}.positive{color:var(--color-positive)}.negative{color:var(--color-negative)}.demo-banner,.flash,.error-box{border-radius:15px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:13px 15px;font-weight:700;display:flex}.demo-banner{color:#6b4d28;background:#fff6dfeb;border:1px solid #ecd8ad}.demo-banner a{text-underline-offset:3px;font-weight:900;text-decoration:underline}.flash{color:#315b3f;background:#eaf4eb;border:1px solid #cfe2d1}.error-box{color:#873d37;background:#fbe5e2;border:1px solid #ecc9c5}.auth-page{background-color:var(--color-canvas);background-image:linear-gradient(to bottom, var(--color-canvas) 0, #fbf7f3b8 112px, #fbf7f300 230px), var(--asset-login-backdrop-desktop);background-repeat:no-repeat;background-position:center 0, center var(--auth-backdrop-offset-desktop);background-size:100% 230px, min(var(--auth-backdrop-width), 100vw) auto;font-family:var(--font-sans)}.auth-page .page-decoration{display:none}.auth-page .app-shell{max-width:var(--auth-content-width);min-height:100vh;padding:49px 0 0}.auth-page .topbar{margin-bottom:0}.auth-page .brand{gap:0}.auth-page .brand-logo{display:none}.auth-page .brand-title{color:var(--color-text-primary);letter-spacing:.01em;font-size:1.8rem}.auth-page .brand-subtitle{color:var(--color-text-secondary);font-size:.92rem}.auth-shell{place-items:center;min-height:calc(100vh - 170px);padding:96px 0 140px;display:grid;position:relative}.auth-card{width:min(100%, var(--auth-card-width));min-height:var(--auth-card-min-height);padding:var(--space-12) var(--space-12) var(--space-10);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);background:var(--color-surface-glass);box-shadow:var(--shadow-raised);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;justify-content:center;display:flex}.auth-heading{margin-bottom:var(--space-8);text-align:center}.auth-logo{width:var(--auth-logo-size);height:var(--auth-logo-size);margin:0 auto var(--space-3);object-fit:contain}.auth-divider{align-items:center;gap:var(--space-3);width:min(260px,72%);margin:0 auto var(--space-5);color:#eaa19a;grid-template-columns:1fr auto 1fr;display:grid}.auth-divider:before,.auth-divider:after{content:"";background:linear-gradient(90deg,#e8ddd700,#e8ddd7e6);height:1px}.auth-divider:after{transform:rotate(180deg)}.auth-divider-heart{filter:drop-shadow(0 4px 8px #c9746e29);font-size:1.35rem;line-height:1}.auth-heading h2{color:var(--color-text-primary);letter-spacing:.01em;margin:0;font-size:2rem;line-height:1.25}.auth-heading p{margin:var(--space-3) 0 0;color:var(--color-text-secondary);font-size:1rem;line-height:1.7}.auth-form{gap:var(--space-7);display:grid}.auth-page label{margin-bottom:var(--space-2);color:var(--color-field-label);font-size:.92rem}.auth-page input{min-height:var(--auth-control-height);border-color:var(--color-border-subtle);border-radius:var(--radius-sm);background:#ffffffdb}.auth-page input:hover{border-color:var(--color-border-hover)}.auth-page input:focus{border-color:var(--color-action-primary);box-shadow:0 0 0 var(--space-1) var(--color-focus-ring)}.input-with-icon{position:relative}.input-with-icon>.icon{color:#927f78;pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.input-with-icon input{padding-left:48px}.input-with-action input{padding-right:52px}.field-action{border-radius:var(--radius-xs);width:44px;height:44px;color:var(--color-text-secondary);background:0 0;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.field-action:hover{background:var(--color-surface-secondary);color:var(--color-action-primary)}.auth-page .button-primary{min-height:var(--auth-control-height);border-radius:var(--radius-sm);background:var(--gradient-action-primary);box-shadow:var(--shadow-control)}.auth-page .button-primary:hover{box-shadow:var(--shadow-control-hover)}.auth-page .button-primary:active{box-shadow:var(--shadow-control-active);transform:translateY(0)}.auth-links{gap:var(--space-3);margin-top:var(--space-6);text-align:center;color:var(--color-text-secondary);display:grid}.text-link{color:var(--color-brand-dark);text-underline-offset:4px;font-weight:900;-webkit-text-decoration:underline #4a2f2940;text-decoration:underline #4a2f2940}.demo-link{justify-content:center;align-items:center;gap:7px;font-size:.9rem;display:inline-flex}.auth-page .bottom-nav{width:min(calc(100% - var(--space-8)), var(--auth-nav-width));bottom:calc(var(--space-6) + env(safe-area-inset-bottom))}.register-card{min-height:0}.register-heading h1{color:var(--color-text-primary);text-align:center;margin:0;font-size:2rem;line-height:1.3}.register-login-link{margin:var(--space-6) 0 0;color:var(--color-text-secondary);text-align:center}.register-login-link .text-link{min-height:var(--touch-target);padding-inline:var(--space-1);align-items:center;display:inline-flex}.calendar-page{--bottom-nav-offset:18px;isolation:isolate;background-color:var(--color-canvas);font-family:var(--font-sans);position:relative}.calendar-page:before,.calendar-page:after{content:"";z-index:0;pointer-events:none;background-image:var(--asset-calendar-backdrop-desktop);background-repeat:no-repeat;position:absolute}.calendar-page:before{opacity:.76;background-position:right -10px top -10px;background-size:620px;width:280px;height:270px;top:190px;right:max(0px,50vw - 512px)}.calendar-page:after{opacity:.86;background-position:0 100%;background-size:760px;width:350px;height:596px;top:890px;left:max(0px,50vw - 512px)}.calendar-page .page-decoration{display:none}.calendar-page .app-shell{z-index:1;width:min(calc(100% - 96px), var(--calendar-content-width));padding:22px 0 var(--bottom-nav-clearance);position:relative}.calendar-page .topbar{margin-bottom:23px}.calendar-page .panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffefce8;border-color:#decfc79e;margin-bottom:14px}.calendar-page .demo-banner{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff7e0d1;border-color:#dec2847a;align-items:center;min-height:62px;margin-bottom:18px;padding:14px 20px;box-shadow:0 8px 28px #77522e0a}.calendar-page .calendar-studio-hero{background:#fffefcd1;min-height:260px;padding:20px}.calendar-page .calendar-studio-hero:after{display:none}.calendar-page .studio-profile{min-height:100px}.calendar-page .studio-logo-preview,.calendar-page .studio-logo-placeholder{border-radius:var(--radius-md);background:#fffc;flex-basis:100px;width:100px;height:100px}.calendar-page .studio-title{letter-spacing:.01em;font-size:1.24rem}.calendar-page .studio-summary-grid{gap:12px;margin-top:20px}.calendar-page .summary-card{border-radius:var(--radius-md);background:#ffffffc7;border-color:#decfc7ad;grid-template-columns:54px minmax(0,1fr);min-height:100px;padding:16px;box-shadow:0 5px 18px #5c3b3009}.calendar-page .summary-icon{border-radius:var(--radius-sm);width:54px;height:54px}.calendar-page .summary-label{font-size:.8rem}.calendar-page .summary-value{margin-top:4px;font-size:1.28rem}.calendar-page .calendar-panel{padding:20px}.calendar-page .month-toolbar{min-height:44px;margin-bottom:14px}.calendar-page .month-title{font-size:1.2rem}.calendar-page .calendar{gap:7px}.calendar-page .weekday{padding:5px 0 7px;font-size:.76rem}.calendar-page .day{min-height:var(--calendar-cell-height);border-radius:var(--radius-sm);background:#ffffffb3;border-color:#decfc79e;padding:8px}.calendar-page .day:hover{border-color:var(--color-border-hover);box-shadow:0 8px 18px #5c3b300d}.calendar-page .day.selected{background:#fdefe2e0;border-color:#e1b8a5b8;box-shadow:inset 0 0 0 1px #e1b8a547}.calendar-page .day.today:not(.selected){border-color:#cd8f83a8;box-shadow:inset 0 0 0 1px #cd8f83a8}.calendar-page .selected-day-panel{border-top:1px solid #decfc7a8;margin-top:14px;padding:14px 4px 0}.calendar-page .selected-day-panel .section-heading{margin-bottom:10px}.calendar-page .selected-day-grid{min-height:66px}.calendar-page .selected-day-metric{padding-top:4px;padding-bottom:4px}.calendar-page .calendar-detail-panel{min-height:164px}.calendar-page .bottom-nav{width:min(calc(100% - 32px), var(--calendar-nav-width));bottom:calc(var(--bottom-nav-offset) + env(safe-area-inset-bottom));border-radius:var(--radius-xl);background:#fffefceb;padding:7px}.calendar-page .bottom-nav-item{border-radius:var(--radius-md);min-height:56px}.calendar-page .fab{right:max(18px, calc((100vw - var(--calendar-content-width)) / 2 + 12px));bottom:calc(96px + env(safe-area-inset-bottom));background:var(--gradient-action-primary)}.records-page{--bottom-nav-offset:18px;isolation:isolate;background:var(--color-canvas);font-family:var(--font-sans);position:relative}.records-page:before,.records-page:after{content:"";z-index:0;pointer-events:none;background-image:var(--asset-calendar-backdrop-desktop);background-repeat:no-repeat;position:fixed;bottom:0}.records-page:before{opacity:.82;background-position:0 100%;background-size:700px;width:320px;height:330px;left:0}.records-page:after{opacity:.7;background-position:100% 0;background-size:560px;width:250px;height:300px;right:0}.records-page .page-decoration{display:none}.records-page .app-shell{z-index:1;width:min(calc(100% - 96px), var(--records-content-width));padding:22px 0 var(--bottom-nav-clearance);position:relative}.records-page .topbar{margin-bottom:23px}.records-page .brand-title{font-size:1.65rem}.records-page .panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffefceb;border-color:#decfc79e;margin-bottom:14px}.records-page .demo-banner{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff7e0d6;border-color:#dec2847a;align-items:center;min-height:62px;margin-bottom:18px;padding:14px 20px;box-shadow:0 8px 28px #77522e0a}.records-page .records-filter-panel{padding:22px}.records-page .records-filter-form{gap:18px 22px}.records-page .records-filter-form input,.records-page .records-filter-form select{border-radius:var(--radius-sm);background:#ffffffc2;border-color:#decfc7ad;min-height:52px}.records-page .filter-actions{margin-top:0}.records-page .filter-actions .button{border-radius:var(--radius-sm);min-width:124px;min-height:50px}.records-page .records-list-panel{padding:18px}.records-page .records-list-panel>.section-heading{margin-bottom:14px}.records-page .records-list-meta{justify-content:flex-end;align-items:center;gap:10px;display:flex}.records-page .records-sort-indicator{border-radius:var(--radius-pill);min-height:36px;color:var(--color-text-secondary);background:#ffffffb8;border:1px solid #decfc7ad;align-items:center;gap:7px;padding:7px 12px;font-size:.78rem;font-weight:800;display:inline-flex}.records-page .record-list{gap:8px}.records-page .record-card{min-height:var(--records-row-height);border-radius:var(--radius-md);background:#ffffffc2;border-color:#decfc79e;grid-template-columns:62px minmax(0,1fr) 142px;gap:16px;padding:12px 18px}.records-page .record-symbol{border-radius:var(--radius-md);width:54px;height:54px}.records-page .record-title{font-size:1.02rem}.records-page .record-money{font-size:1.16rem}.records-page .record-tag{padding:4px 10px}.records-page .bottom-nav{width:min(calc(100% - 32px), var(--records-nav-width));bottom:calc(var(--bottom-nav-offset) + env(safe-area-inset-bottom));border-radius:var(--radius-xl);background:#fffefceb}.records-page .bottom-nav-item{border-radius:var(--radius-md);min-height:56px}.reports-page{--bottom-nav-offset:18px;isolation:isolate;background:var(--color-canvas);font-family:var(--font-sans);position:relative}.reports-page:before,.reports-page:after{content:"";z-index:0;pointer-events:none;background-image:var(--asset-calendar-backdrop-desktop);background-repeat:no-repeat;position:fixed;bottom:0}.reports-page:before{opacity:.82;background-position:0 100%;background-size:700px;width:320px;height:330px;left:0}.reports-page:after{opacity:.7;background-position:100% 0;background-size:560px;width:250px;height:300px;right:0}.reports-page .page-decoration{display:none}.reports-page .app-shell{z-index:1;width:min(calc(100% - 96px), var(--reports-content-width));padding:22px 0 var(--bottom-nav-clearance);position:relative}.reports-page .topbar{margin-bottom:23px}.reports-page .brand-title{font-size:1.65rem}.reports-page .panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffefceb;border-color:#decfc79e;margin-bottom:14px}.reports-page .demo-banner{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff7e0d6;border-color:#dec2847a;align-items:center;min-height:62px;margin-bottom:18px;padding:14px 20px;box-shadow:0 8px 28px #77522e0a}.reports-page .report-filter-panel{padding:18px}.reports-page .report-filter{align-items:end;gap:14px}.reports-page .report-month-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.reports-page .report-filter input{border-radius:var(--radius-sm);background:#ffffffc7;border-color:#decfc7ad;min-height:58px}.reports-page .report-filter .button{border-radius:var(--radius-sm);min-width:82px;min-height:70px}.reports-page .report-summary-panel{padding:18px}.reports-page .report-summary-panel>.section-heading{display:none}.reports-page .report-grid{gap:12px}.reports-page .report-summary-panel .summary-card{min-height:var(--reports-summary-card-height);border-radius:var(--radius-md);background:#ffffffc2;border-color:#decfc79e;padding:15px 18px;box-shadow:0 5px 18px #5c3b3009}.reports-page .report-summary-panel .summary-icon{border-radius:var(--radius-sm);width:50px;height:50px}.reports-page .report-summary-panel .summary-label{font-size:.78rem}.reports-page .report-summary-panel .summary-value{font-size:1.18rem}.reports-page .report-rank-panel{min-height:150px;padding:18px}.reports-page .report-rank-panel .section-heading{margin-bottom:10px}.reports-page .report-rank-panel .section-title{font-size:1.04rem}.reports-page .report-rank-panel .empty{place-items:center;min-height:76px;padding:18px 8px;display:grid}.reports-page .rank-header,.reports-page .rank-row{padding-left:6px;padding-right:6px}.reports-page .rank-row{padding-top:7px;padding-bottom:7px}.reports-page .rank-badge{border-radius:var(--radius-xs);background:#f8efeae0;flex-basis:30px;width:30px;height:30px}.reports-page .rank-badge .icon{width:16px;height:16px}.reports-page .report-payment-panel .rank-row{padding-top:4px;padding-bottom:4px}.reports-page .report-payment-panel .rank-badge{flex-basis:28px;width:28px;height:28px}.reports-page .progress-track{background:#e7e0dbd6}.reports-page .progress-bar{display:block}.reports-page .bottom-nav{width:min(calc(100% - 32px), var(--reports-nav-width));bottom:calc(var(--bottom-nav-offset) + env(safe-area-inset-bottom));border-radius:var(--radius-xl);background:#fffefceb}.reports-page .bottom-nav-item{border-radius:var(--radius-md);min-height:56px}.settings-page{--bottom-nav-offset:18px;isolation:isolate;background:var(--color-canvas);font-family:var(--font-sans);position:relative}.settings-page:before,.settings-page:after{content:"";z-index:0;pointer-events:none;background-image:var(--asset-calendar-backdrop-desktop);background-repeat:no-repeat;position:fixed;bottom:0}.settings-page:before{opacity:.82;background-position:0 100%;background-size:700px;width:320px;height:330px;left:0}.settings-page:after{opacity:.7;background-position:100% 0;background-size:560px;width:250px;height:300px;right:0}.settings-page .page-decoration{display:none}.settings-page .app-shell{z-index:1;width:min(calc(100% - 96px), var(--settings-content-width));padding:22px 0 var(--bottom-nav-clearance);position:relative}.settings-page .topbar{margin-bottom:23px}.settings-page .brand-title{font-size:1.65rem}.settings-page .settings-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffefceb;border-color:#decfc79e;margin-bottom:14px;padding:18px}.settings-page .settings-panel-title{align-items:center;gap:9px;margin-bottom:14px;font-size:1.04rem;display:flex}.settings-page .settings-heading-icon{border-radius:var(--radius-xs);background:var(--color-surface-soft);width:32px;height:32px;color:var(--color-brand);flex:0 0 32px;place-items:center;display:grid}.settings-page .settings-studio-profile{border-bottom:1px solid #decfc79e;margin-bottom:18px;padding:0 0 18px}.settings-page .settings-studio-copy{min-width:0}.settings-page .settings-studio-copy strong{font-size:1.02rem}.settings-page .settings-studio-copy .help-text{max-width:620px;margin-top:5px}.settings-page .studio-logo-preview,.settings-page .studio-logo-placeholder{border-radius:var(--radius-md);flex-basis:88px;width:88px;height:88px}.settings-page .settings-profile-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-page .settings-profile-form input{border-radius:var(--radius-sm);background:#ffffffc7;border-color:#decfc7ad;min-height:52px}.settings-page input[type=file]{color:var(--color-text-secondary);padding:6px;font-size:.84rem}.settings-page input[type=file]::file-selector-button{border-radius:var(--radius-xs);background:var(--color-surface-soft);min-height:38px;color:var(--color-brand-dark);cursor:pointer;border:0;margin-right:10px;padding:8px 13px;font-weight:800}.settings-page .settings-save-button{border-radius:var(--radius-sm);grid-column:1/-1;min-height:50px}.settings-page .settings-catalog-form{gap:12px}.settings-page .settings-catalog-form input{border-radius:var(--radius-sm);background:#ffffffc7;border-color:#decfc7ad;min-height:48px}.settings-page .settings-catalog-form .btn{border-radius:var(--radius-sm);min-width:76px;min-height:48px}.settings-page .settings-pill-list{gap:8px;margin-top:12px}.settings-page .pill{background:#ffffffc2;border-color:#decfc7a8;gap:8px;min-height:40px;padding:5px 6px 5px 12px}.settings-page .pill .btn-danger{border-radius:var(--radius-pill);min-height:30px;padding:6px 9px;font-size:.72rem}.settings-page .settings-export-panel{min-height:150px}.settings-page .settings-export-copy{max-width:760px;color:var(--color-text-secondary);margin:0 0 16px}.settings-page .settings-export-button{border-radius:var(--radius-sm);min-height:46px}.settings-page .booking-hours-row{justify-content:flex-start;gap:8px;min-width:0}.settings-page .booking-hours-row input[type=time]{flex:1 1 0;width:0;min-width:0}.settings-page .bottom-nav{width:min(calc(100% - 32px), var(--settings-nav-width));bottom:calc(var(--bottom-nav-offset) + env(safe-area-inset-bottom));border-radius:var(--radius-xl);background:#fffefceb}.settings-page .bottom-nav-item{border-radius:var(--radius-md);min-height:56px}@media (width>=900px){.records-page .records-filter-heading{display:none}.records-page .record-content{grid-template-columns:minmax(220px,1fr) minmax(210px,.9fr);align-items:center;column-gap:18px;display:grid}.records-page .record-title{grid-area:1/1}.records-page .record-meta{grid-area:2/1}.records-page .record-note{grid-area:3/1}.records-page .record-tags{grid-area:1/2/span 3;align-self:center;margin-top:0}}.studio-hero{padding:22px;position:relative;overflow:hidden}.studio-hero:after{content:"";pointer-events:none;background:radial-gradient(circle at 45% 55%,#e7beb76b,#fffdfb00 68%);border-radius:45% 55%;width:245px;height:190px;position:absolute;top:-65px;right:-35px}.studio-profile{z-index:1;align-items:center;gap:16px;display:flex;position:relative}.studio-logo-preview,.studio-logo-placeholder{border-radius:20px;flex:0 0 92px;width:92px;height:92px}.studio-logo-preview{border:1px solid var(--color-line);object-fit:contain;background:#fff;padding:9px;box-shadow:0 8px 24px #50352b12}.studio-logo-placeholder{border:1px dashed var(--color-line);background:var(--color-surface-soft);color:var(--color-muted);place-items:center;font-weight:900;display:grid}.studio-title{margin:0;font-size:1.2rem}.studio-heart{color:#d88b8e}.studio-summary-grid{z-index:1;margin-top:18px;position:relative}.month-toolbar{margin-bottom:16px}.month-title{letter-spacing:.04em;font-size:1.18rem}.month-button{min-width:110px}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.weekday{color:var(--color-muted);text-align:center;padding:5px 0 8px;font-size:.78rem;font-weight:900}.day{border:1px solid var(--color-line);min-width:0;min-height:88px;transition:border-color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);background:#ffffffd6;border-radius:14px;flex-direction:column;gap:4px;padding:9px;display:flex}.day:hover{border-color:#d7bbb2;transform:translateY(-1px)}.day.off{opacity:.38}.day.today{border-color:#d99b93;box-shadow:inset 0 0 0 1px #d99b93}.day.selected{color:var(--color-text);background:#fdf0e5;border-color:#ead1c6}.day-number{border-radius:50%;place-items:center;width:29px;height:29px;font-weight:900;display:grid}.day.selected .day-number{background:var(--color-brand-dark);color:#fff}.day-money{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;min-width:0;font-size:.7rem;font-weight:900;display:flex;overflow:hidden}.day-money.income{color:var(--color-positive)}.day-money.expense{color:var(--color-negative)}.money-dot{background:currentColor;border-radius:50%;flex:0 0 6px;width:6px;height:6px}.selected-day-panel{padding:18px 20px}.selected-day-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.selected-day-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.selected-day-metric{border-right:1px solid var(--color-line);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:5px 18px;display:grid}.selected-day-metric:first-child{padding-left:0}.selected-day-metric:last-child{border-right:0;padding-right:0}.metric-icon{background:var(--color-surface-soft);width:42px;height:42px;color:var(--color-brand);border-radius:14px;place-items:center;display:grid}.selected-day-metric span{color:var(--color-muted);font-size:.76rem;font-weight:800;display:block}.selected-day-metric strong{margin-top:2px;display:block}.fab{right:max(18px, calc((100vw - var(--content-width)) / 2 + 20px));bottom:calc(var(--bottom-nav-height) + var(--bottom-nav-offset) + 16px + env(safe-area-inset-bottom));background:linear-gradient(135deg, #b96e6f, var(--color-brand));color:#fff;width:58px;height:58px;box-shadow:var(--shadow-floating);z-index:18;border-radius:50%;place-items:center;display:grid;position:fixed}.fab:hover{transform:translateY(-2px)scale(1.02)}.fab-label{display:none}@media (width>=720px){.calendar-page .fab{width:auto;min-width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-sm);box-shadow:var(--shadow-control);gap:8px;padding:0 16px;display:inline-flex;position:static;bottom:auto;right:auto}.calendar-page .fab:hover{transform:translateY(-1px)}.calendar-page .fab .icon{width:20px;height:20px}.calendar-page .fab-label{white-space:nowrap;font-size:.84rem;font-weight:900;display:inline}}.filter-panel{padding:22px}.filter-actions{align-self:end}.filter-actions .button,.filter-actions .btn,.filter-actions .btn-secondary{min-width:100px}.record-list{gap:10px}.record-card{border:1px solid var(--color-line);transition:border-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);background:#ffffffe0;border-radius:16px;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 18px;display:grid}.record-card:hover{border-color:#dbc7be;transform:translateY(-1px);box-shadow:0 10px 24px #50352b0f}.record-symbol{background:var(--color-positive-soft);width:50px;height:50px;color:var(--color-positive);border-radius:16px;place-items:center;display:grid}.record-card.expense .record-symbol{background:var(--color-negative-soft);color:var(--color-negative)}.record-content{min-width:0}.record-title{margin:0;font-size:1rem}.record-meta{color:var(--color-muted);overflow-wrap:anywhere;margin:3px 0 0;font-size:.8rem}.record-note{color:#6f605b;overflow-wrap:anywhere;margin:4px 0 0;font-size:.82rem}.record-tags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.record-tag{background:var(--color-positive-soft);color:var(--color-positive);border-radius:999px;padding:4px 9px;font-size:.7rem;font-weight:900}.expense .record-tag{background:var(--color-negative-soft);color:var(--color-negative)}.record-tag.neutral{color:#766762;background:#f4f0ed}.record-aside{justify-items:end;gap:8px;display:grid}.record-money{white-space:nowrap;font-size:1.05rem;font-weight:900}.record-totals{white-space:nowrap;justify-items:end;gap:4px;display:grid}.record-totals span{align-items:baseline;gap:8px;display:flex}.record-totals small{color:var(--color-text-secondary);font-size:.8rem;font-weight:900}.record-totals strong{font-size:1.08rem;font-weight:900}.record-actions{scroll-margin-bottom:var(--bottom-nav-clearance);justify-content:flex-end;align-items:center;gap:6px;display:flex}.record-actions form{margin:0}.report-filter{grid-template-columns:minmax(0,1fr) auto;gap:12px;display:grid}.report-filter .button{min-width:104px}.report-grid{gap:12px}.rank-table{display:grid}.rank-header,.rank-row{grid-template-columns:minmax(150px,1.4fr) 100px 120px minmax(130px,1fr);align-items:center;gap:14px;padding:12px 6px;display:grid}.rank-header{color:var(--color-muted);padding-top:0;font-size:.74rem;font-weight:900}.rank-row{border-top:1px solid #efe6e1}.rank-name{align-items:center;gap:9px;min-width:0;font-weight:800;display:flex}.rank-badge{background:var(--color-surface-soft);width:34px;height:34px;color:var(--color-brand);border-radius:11px;flex:0 0 34px;place-items:center;display:grid}.rank-number{text-align:right;white-space:nowrap}.rank-share{color:var(--color-muted);grid-template-columns:48px minmax(0,1fr);align-items:center;gap:8px;font-size:.76rem;display:grid}.progress-track{background:#eee7e3;border-radius:999px;height:7px;overflow:hidden}.progress-bar{border-radius:inherit;background:var(--color-positive);height:100%}.empty{color:var(--color-muted);text-align:center;margin:0;padding:28px 8px}.wish-intro{background:linear-gradient(135deg,#fffdfbfa,#f9e8e2d1);align-items:center;gap:14px;display:flex}.wish-intro-icon{width:54px;height:54px;color:var(--color-brand);background:#fff;border-radius:17px;flex:0 0 54px;place-items:center;display:grid;box-shadow:0 8px 22px #5b362b1a}.wish-card{border-top:1px solid var(--color-line);padding:15px 2px}.wish-card:first-of-type{border-top:0;padding-top:0}.wish-card-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.wish-card-heading strong{overflow-wrap:anywhere}.wish-card-heading time{color:var(--color-muted);flex:none;font-size:.78rem}.wish-card p{color:var(--color-muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0}.member-reply-thread{border-left:3px solid var(--color-brand-soft);gap:9px;margin-top:13px;padding-left:14px;display:grid}.member-reply-card{background:linear-gradient(135deg,#fff,#fdf4ec);border:1px solid #eadfd9;border-radius:14px;padding:12px}.member-reply-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.member-reply-heading strong{color:var(--color-brand-dark);align-items:center;gap:6px;display:inline-flex}.member-reply-heading time{color:var(--color-muted);flex:none;font-size:.76rem}.member-reply-card p{color:var(--color-text)}.setting-list{flex-wrap:wrap;gap:8px;display:flex}.pill{border:1px solid var(--color-line);background:#fff;border-radius:999px;align-items:center;gap:7px;padding:8px 10px;display:inline-flex}.actions{justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.bottom-nav{left:50%;bottom:calc(var(--bottom-nav-offset) + env(safe-area-inset-bottom));z-index:var(--z-bottom-nav);width:min(calc(100% - 24px), var(--nav-width));min-height:var(--bottom-nav-height);grid-template-columns:repeat(var(--nav-item-count,4), 1fr);box-shadow:var(--shadow-floating);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffdfbf0;border:1px solid #eadfd9f2;border-radius:22px;gap:6px;padding:7px;display:grid;position:fixed;transform:translate(-50%)}.bottom-nav-item{color:#6f5d57;min-height:52px;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border-radius:16px;justify-content:center;align-items:center;gap:8px;font-size:.84rem;font-weight:900;display:flex}.bottom-nav-item:hover{background:var(--color-surface-soft)}.bottom-nav-item.active{background:linear-gradient(135deg, var(--color-brand-dark), #704437);color:#fff;box-shadow:0 8px 18px #4a2f292e}.modal{z-index:var(--z-modal);height:100dvh;padding-top:var(--record-sheet-top-gap);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#32262266;align-items:flex-end;display:none;position:fixed;inset:0;overflow:hidden}.modal.open{display:flex}.sheet{overscroll-behavior:contain;width:min(100%,680px);max-height:90vh;padding:var(--record-sheet-padding);padding-bottom:calc(var(--record-sheet-padding) + env(safe-area-inset-bottom));scroll-padding-bottom:calc(var(--record-sheet-padding) + env(safe-area-inset-bottom));background:var(--color-surface);box-shadow:var(--shadow-floating);-webkit-overflow-scrolling:touch;border-radius:24px 24px 0 0;margin:auto auto 0;overflow:hidden auto}.tabs{background:var(--color-surface-soft);border-radius:14px;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;padding:4px;display:grid}.tabs button{min-height:42px;color:var(--color-muted);background:0 0;border-radius:11px;font-weight:900}.tabs button.active{background:var(--color-brand-dark);color:#fff}.hidden{display:none!important}@media (width>=720px){.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-card{transform:none}}@media (width>=900px) and (height<=900px){.auth-page .app-shell{padding-top:28px}.auth-shell{min-height:auto;padding:var(--space-10) 0 112px}.auth-card{min-height:var(--auth-card-compact-min-height);padding:var(--space-8) var(--space-12)}.auth-heading{margin-bottom:var(--space-5)}.auth-logo{width:var(--auth-logo-size-compact);height:var(--auth-logo-size-compact);margin-bottom:var(--space-2)}.auth-divider{width:220px;margin-bottom:var(--space-3)}.auth-heading h2{font-size:1.75rem}.auth-heading p{margin-top:var(--space-2);font-size:.92rem;line-height:1.55}.auth-form{gap:var(--space-4)}.auth-links{gap:var(--space-2);margin-top:var(--space-4)}}@media (width>=900px) and (height>=901px){.auth-card{justify-content:flex-start;min-height:810px}.auth-divider{margin-bottom:50px}.auth-page .bottom-nav{bottom:calc(var(--space-12) + env(safe-area-inset-bottom))}}@media (width>=720px) and (width<=899px){.auth-page .app-shell{padding:28px var(--space-5) 0}.auth-shell{min-height:auto;padding:72px 0 120px}.auth-card{min-height:var(--auth-card-tablet-min-height)}}@media (width<=719px){body{--bottom-nav-height:64px;--bottom-nav-offset:8px;--bottom-nav-content-gap:44px}.calendar-page,.records-page,.reports-page,.settings-page{--bottom-nav-offset:8px}.app-shell{padding:16px 12px var(--bottom-nav-clearance)}.topbar{align-items:flex-start;gap:10px;margin-bottom:14px}.brand{gap:9px}.brand-logo{border-radius:14px;flex-basis:48px;width:48px;height:48px;padding:6px}.brand-title{font-size:1.15rem}.brand-subtitle{max-width:205px;font-size:.76rem}.button-compact{min-height:var(--touch-target);padding:9px 10px}.guest-actions .button .icon+span{display:none}.panel{border-radius:16px;padding:15px}.grid-2,.grid-3{grid-template-columns:1fr}.income-items-heading{align-items:flex-start}.income-item-row{grid-template-columns:1fr 1fr}.income-item-row>div:first-of-type{grid-column:1/-1}.income-item-remove{grid-column:1/-1;justify-self:end}.income-item-totals{justify-content:space-between}.summary-card{grid-template-columns:42px minmax(0,1fr);padding:13px}.summary-icon{border-radius:13px;width:42px;height:42px}.auth-page{background-image:linear-gradient(to bottom, var(--color-canvas) 0, #fbf7f39e 64px, #fbf7f300 152px), var(--asset-login-backdrop-mobile);background-position:center 0, center var(--auth-backdrop-offset-mobile);background-size:100% 152px,100%;position:relative}.auth-page .app-shell{padding:16px 14px calc(112px + env(safe-area-inset-bottom))}.auth-page .topbar{align-items:flex-start;margin-bottom:0}.auth-page .brand-title{font-size:1.35rem}.auth-page .brand-subtitle{max-width:230px;font-size:.76rem}.auth-page .guest-actions .button .icon+span{display:inline}.auth-shell{min-height:auto;padding:76px 0 132px}.auth-card{min-height:0;padding:var(--space-8) var(--space-5) var(--space-8);border-radius:var(--auth-card-radius-mobile)}.auth-heading{margin-bottom:var(--space-6)}.auth-logo{width:var(--auth-logo-size-mobile);height:var(--auth-logo-size-mobile);margin-bottom:var(--space-4)}.auth-divider{width:min(220px,76%);margin-bottom:var(--space-4)}.auth-heading h2{font-size:1.72rem}.auth-heading p{margin-top:var(--space-2);font-size:.9rem}.auth-form{gap:var(--space-4)}.auth-page input,.auth-page .button-primary{min-height:var(--auth-control-height-mobile)}.auth-links{margin-top:var(--space-5)}.auth-links .text-link{min-height:var(--touch-target);padding-inline:var(--space-1);justify-content:center;align-items:center;display:inline-flex}.register-shell{padding-top:var(--space-8)}.register-card{padding-top:var(--space-6)}.register-heading h1{font-size:1.55rem}.register-heading p{max-width:28rem;margin-inline:auto}.auth-page .bottom-nav{bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100% - 20px)}.studio-hero{padding:16px}.studio-profile{gap:12px}.studio-logo-preview,.studio-logo-placeholder{border-radius:17px;flex-basis:72px;width:72px;height:72px}.studio-summary-grid{grid-template-columns:1fr}.month-toolbar{align-items:center}.month-button{min-width:var(--touch-target);width:var(--touch-target);padding:0}.month-button span{display:none}.calendar{gap:2px}.weekday{font-size:.7rem}.day{border-radius:10px;min-height:66px;padding:4px 3px}.day-number{width:25px;height:25px;font-size:.82rem}.day-money{letter-spacing:-.04em;justify-content:center;gap:0;font-size:clamp(.54rem,2.4vw,.62rem)}.money-dot{display:none}.selected-day-grid{grid-template-columns:1fr;gap:0}.selected-day-metric{border-right:0;border-bottom:1px solid var(--color-line);padding:10px 0}.selected-day-metric:last-child{border-bottom:0}.filter-actions{grid-template-columns:1fr 1fr;display:grid}.record-card{grid-template-columns:44px minmax(0,1fr);gap:11px;padding:13px}.record-symbol{border-radius:14px;width:44px;height:44px}.record-service-lines li{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}.record-service-line-name{grid-column:1/-1}.record-aside{border-top:1px solid #efe6e1;grid-column:1/-1;grid-template-columns:1fr auto;place-items:center start;width:100%;padding-top:9px}.record-actions{justify-self:end}.record-actions .mini,.sheet .mini,.income-items-heading .mini,.income-item-remove,.settings-page .mini,.tabs button,.settings-page .pill .btn-danger.mini{min-width:var(--touch-target);min-height:var(--touch-target)}.records-page .record-list,.calendar-detail-panel .record-list{padding-bottom:var(--touch-target)}.report-filter{grid-template-columns:1fr}.report-filter .button{width:100%}.rank-header{display:none}.rank-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px 2px}.rank-row .rank-count{display:none}.rank-share{grid-column:1/-1;grid-template-columns:42px minmax(0,1fr)}.rank-number{align-self:start}.bottom-nav{bottom:calc(var(--bottom-nav-offset) + env(safe-area-inset-bottom));border-radius:19px;width:calc(100% - 16px);padding:5px}.bottom-nav-item{border-radius:14px;flex-direction:column;gap:2px;min-height:52px;font-size:.7rem}.modal{padding-top:var(--record-sheet-mobile-top-gap)}.sheet{max-height:calc(100vh - var(--record-sheet-mobile-top-gap));max-height:calc(100dvh - var(--record-sheet-mobile-top-gap));padding-bottom:var(--record-sheet-mobile-bottom-clearance);scroll-padding-bottom:var(--record-sheet-mobile-bottom-clearance)}.fab{right:16px;bottom:calc(var(--bottom-nav-height) + var(--bottom-nav-offset) + 12px + env(safe-area-inset-bottom))}}@media (width<=479px){.auth-page .topbar{flex-wrap:wrap}.auth-page .guest-actions{width:100%}.auth-page .guest-actions .button{flex:1}.auth-shell{padding-top:54px}.auth-page .bottom-nav{position:absolute}.calendar-page .selected-day-panel .section-heading{display:grid}.selected-day-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;display:grid}.calendar-page .fab{width:auto;min-width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-sm);box-shadow:var(--shadow-control);gap:6px;padding:0 12px;display:inline-flex;position:static}.calendar-page .fab:hover{transform:none}.calendar-page .fab .icon{width:20px;height:20px}.calendar-page .fab-label{font-size:.82rem;font-weight:900;display:inline}}@media (width>=720px) and (width<=899px){.calendar-page .app-shell{width:min(calc(100% - 40px), var(--calendar-content-width))}.records-page .app-shell{width:min(calc(100% - 40px), var(--records-content-width))}.reports-page .app-shell{width:min(calc(100% - 40px), var(--reports-content-width))}.settings-page .app-shell{width:min(calc(100% - 40px), var(--settings-content-width))}}@media (width<=719px){.calendar-page{background-image:var(--asset-calendar-backdrop-mobile);background-position:50% 98px;background-size:100%}.calendar-page:before,.calendar-page:after{display:none}.calendar-page .app-shell{width:calc(100% - 24px);padding:16px 0 var(--bottom-nav-clearance)}.calendar-page .topbar{margin-bottom:14px}.calendar-page .demo-banner{border-radius:var(--radius-sm);min-height:0;margin-bottom:14px;padding:12px 14px}.calendar-page .calendar-studio-hero{min-height:0;padding:14px}.calendar-page .studio-profile{gap:11px;min-height:76px}.calendar-page .studio-logo-preview,.calendar-page .studio-logo-placeholder{border-radius:var(--radius-sm);flex-basis:72px;width:72px;height:72px}.calendar-page .studio-title{font-size:1.08rem}.calendar-page .help-text{font-size:.76rem}.calendar-page .studio-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:14px}.calendar-page .summary-card{text-align:center;grid-template-columns:1fr;align-content:center;gap:6px;min-height:92px;padding:9px 7px;display:grid}.calendar-page .summary-icon{border-radius:var(--radius-xs);width:36px;height:36px;margin:0 auto}.calendar-page .summary-icon .icon{width:18px;height:18px}.calendar-page .summary-label{white-space:nowrap;font-size:.66rem}.calendar-page .summary-value{margin-top:2px;font-size:.92rem}.calendar-page .calendar-panel{padding:12px}.calendar-page .month-toolbar{margin-bottom:10px}.calendar-page .calendar{gap:2px}.calendar-page .weekday{padding-bottom:5px}.calendar-page .day{min-height:var(--calendar-cell-height-mobile);border-radius:var(--radius-xs);padding:4px}.calendar-page .selected-day-panel{margin-top:11px;padding:12px 2px 0}.calendar-page .selected-day-panel .section-heading{align-items:flex-start;margin-bottom:8px}.calendar-page .selected-day-panel .panel-title{font-size:.92rem}.calendar-page .selected-day-panel .text-link{font-size:.78rem}.calendar-page .calendar-detail-panel{min-height:154px}.calendar-page .bottom-nav{width:calc(100% - 16px);bottom:calc(var(--bottom-nav-offset) + env(safe-area-inset-bottom));padding:5px}.records-page{background-image:var(--asset-calendar-backdrop-mobile);background-position:50% 92px;background-repeat:no-repeat;background-size:100%}.records-page:before,.records-page:after{display:none}.records-page .app-shell{width:calc(100% - 24px);padding:16px 0 var(--bottom-nav-clearance)}.records-page .topbar{margin-bottom:14px}.records-page .brand-title{font-size:1.15rem}.records-page .demo-banner{border-radius:var(--radius-sm);min-height:0;margin-bottom:14px;padding:12px 14px}.records-page .records-filter-panel{padding:14px}.records-page .records-filter-form{gap:12px}.records-page .records-filter-form input,.records-page .records-filter-form select{min-height:50px}.records-page .records-list-panel{padding:12px}.records-page .records-list-meta{gap:6px}.records-page .records-sort-indicator{min-height:32px;padding:6px 9px;font-size:.68rem}.records-page .records-list-meta>.help-text{display:none}.records-page .record-list{gap:8px}.records-page .record-card{grid-template-columns:44px minmax(0,1fr);gap:11px;min-height:0;padding:13px}.records-page .record-symbol{border-radius:var(--radius-sm);width:44px;height:44px}.records-page .record-money{font-size:1.04rem}.records-page .bottom-nav{width:calc(100% - 16px);bottom:calc(var(--bottom-nav-offset) + env(safe-area-inset-bottom))}.reports-page{background-image:var(--asset-calendar-backdrop-mobile);background-position:50% 76px;background-repeat:no-repeat;background-size:100%}.reports-page:before,.reports-page:after{display:none}.reports-page .app-shell{width:calc(100% - 24px);padding:16px 0 var(--bottom-nav-clearance)}.reports-page .topbar{margin-bottom:14px}.reports-page .brand-title{font-size:1.15rem}.reports-page .demo-banner{border-radius:var(--radius-sm);min-height:0;margin-bottom:14px;padding:12px 14px}.reports-page .report-filter-panel{padding:14px}.reports-page .report-filter{gap:10px}.reports-page .report-filter input,.reports-page .report-filter .button{min-height:52px}.reports-page .report-summary-panel{padding:12px}.reports-page .report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reports-page .report-summary-panel .summary-card{grid-template-columns:36px minmax(0,1fr);gap:8px;min-height:96px;padding:11px 9px}.reports-page .report-summary-panel .summary-icon{border-radius:var(--radius-xs);width:36px;height:36px}.reports-page .report-summary-panel .summary-icon .icon{width:18px;height:18px}.reports-page .report-summary-panel .summary-label{font-size:.68rem}.reports-page .report-summary-panel .summary-value{font-size:.94rem}.reports-page .report-summary-panel .summary-comparison{gap:3px;font-size:.63rem}.reports-page .report-rank-panel{min-height:142px;padding:14px}.reports-page .report-rank-panel .empty{min-height:74px;padding:14px 4px;font-size:.86rem}.reports-page .bottom-nav{width:calc(100% - 16px);bottom:calc(var(--bottom-nav-offset) + env(safe-area-inset-bottom))}.settings-page{background-image:var(--asset-calendar-backdrop-mobile);background-position:50% 76px;background-repeat:no-repeat;background-size:100%}.settings-page:before,.settings-page:after{display:none}.settings-page .app-shell{width:calc(100% - 24px);padding:16px 0 var(--bottom-nav-clearance)}.settings-page .topbar{margin-bottom:14px}.settings-page .brand-title{font-size:1.15rem}.settings-page .settings-panel{border-radius:var(--radius-md);padding:14px}.settings-page .settings-panel-title{margin-bottom:12px;font-size:.98rem}.settings-page .settings-heading-icon{flex-basis:30px;width:30px;height:30px}.settings-page .settings-studio-profile{align-items:flex-start;margin-bottom:14px;padding-bottom:14px}.settings-page .studio-logo-preview,.settings-page .studio-logo-placeholder{border-radius:var(--radius-sm);flex-basis:72px;width:72px;height:72px}.settings-page .settings-studio-copy strong{font-size:.94rem}.settings-page .settings-studio-copy .help-text{font-size:.74rem}.settings-page .settings-profile-form{grid-template-columns:1fr;gap:12px}.settings-page .settings-save-button{grid-column:auto}.settings-page .settings-catalog-form{gap:8px}.settings-page .settings-catalog-form .btn{min-width:68px;padding-left:12px;padding-right:12px}.settings-page .settings-pill-list{gap:7px;margin-top:10px}.settings-page .pill{min-height:38px;padding-left:10px;font-size:.84rem}.settings-page .settings-export-panel{min-height:0}.settings-page .settings-export-copy{margin-bottom:14px;font-size:.86rem}.settings-page .booking-hours-row{gap:5px}.settings-page .booking-hours-row input[type=time]{min-height:var(--touch-target);padding-inline:6px;font-size:.78rem}.settings-page .bottom-nav{width:calc(100% - 16px);bottom:calc(var(--bottom-nav-offset) + env(safe-area-inset-bottom))}.settings-page .bottom-nav-item{min-width:0;padding-left:2px;padding-right:2px}}@media (width<=359px){.calendar-page .calendar{width:100vw;margin-left:calc(0px - var(--mobile-page-gutter) - var(--mobile-panel-padding));gap:1px}.calendar-page .day{min-width:var(--touch-target);min-height:var(--touch-target);padding-inline:2px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
