:root{--bg:#fff;--text:#1a1a1a;--accent:#3aa856;--border:#e5e4e7;color:var(--text);font:16px/145% system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}:root{--bg:#fff;--surface:#fff;--text:#1a1a1a;--text-muted:#6b6b6b;--border:#e5e4e7;--accent:#14b657;--accent-ring:#14b65740;--active-bg:#3a3a3a;--active-text:#f5f5f5;--shadow-sm:2px 5px 15px #00000014;--shadow-md:3px 5px 15px #0000001f;--icon-shadow:2px 5px 15px #00000029;--font-sans:-apple-system, "Segoe UI", Roboto, system-ui, sans-serif;--radius:10px}body{font-family:var(--font-sans);color:var(--text)}.icon-circle{border:2px solid var(--text);cursor:pointer;width:48px;height:48px;box-shadow:var(--icon-shadow);background:#ffffff8c;border-radius:50%;justify-content:center;align-items:center;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .2s;display:flex;overflow:hidden}.icon-circle:hover{background:var(--active-bg);border-color:var(--active-bg);transform:scale(1.08)}.icon-circle img,.icon-circle svg{object-fit:contain;width:55%;height:55%}.icon-circle:hover img,.icon-circle:hover svg{filter:invert()brightness(2)}.icon-circle:hover .avatar-glyph,.icon-circle:hover .nav-rail-glyph{color:var(--active-text)}.icon-circle.has-photo:hover{border-color:var(--text);background:#ffffff8c;transform:scale(1.08)}.icon-circle.has-photo:hover img{filter:none}.icon-circle .hub-center-photo{object-fit:cover;width:100%;height:100%}.icon-circle.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring), var(--icon-shadow)}.nav-rail{border:1.5px solid var(--border);box-shadow:var(--shadow-sm);z-index:1;background:#ffffff8c;border-radius:999px;flex-direction:column;align-items:center;gap:.6rem;padding:.75rem .55rem;display:flex;position:fixed;top:50%;left:1.5rem;transform:translateY(-50%)}@media (width>=701px){.nav-rail{transition:transform .23s cubic-bezier(.4,0,.2,1),opacity .23s}.nav-rail.leaving{opacity:0;transform:translateY(-50%)translate(-160px)}}.nav-rail-item{align-items:center;text-decoration:none;display:flex;position:relative}.nav-rail .icon-circle{width:54px;height:54px;box-shadow:none;color:var(--text);background:0 0;border:none;border-radius:999px;position:relative}.nav-rail .icon-circle:after{content:"";background:0 0;border-radius:999px;width:48px;height:48px;margin:auto;position:absolute;inset:0}.nav-rail .icon-circle.active{color:var(--accent)}.nav-rail .icon-circle.active:after{background:#00000014;width:54px;height:54px}.nav-rail .icon-circle img{visibility:hidden}.nav-rail .icon-circle:has(img):before{content:"";width:29px;height:29px;-webkit-mask-image:var(--icon-src);-webkit-mask-image:var(--icon-src);mask-image:var(--icon-src);z-index:1;background-color:currentColor;margin:auto;position:absolute;inset:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.nav-rail .icon-circle:hover img,.nav-rail .icon-circle:hover svg{filter:none}.nav-rail-label{white-space:nowrap;background:var(--active-bg);color:var(--active-text);box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;border-radius:999px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:opacity .18s,transform .18s;position:absolute;top:50%;left:calc(100% + .75rem);transform:translateY(-50%)translate(-6px)}.nav-rail-item:hover .nav-rail-label{opacity:1;transform:translateY(-50%)translate(0)}@media (width<=700px){.nav-rail{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + .2rem + 18px);background:#ffffffe6;flex-direction:row;gap:.4rem;padding:.4rem .6rem;left:50%;transform:translate(-50%)}.nav-rail .icon-circle{width:46px;height:46px}.nav-rail .icon-circle:after{width:40px;height:40px}.nav-rail .icon-circle.active:after{width:46px;height:46px}.nav-rail .icon-circle:has(img):before{width:24px;height:24px}.nav-rail-label{top:auto;bottom:calc(100% + .75rem);left:50%;transform:translate(-50%)translateY(6px)}.nav-rail-item:hover .nav-rail-label{transform:translate(-50%)translateY(0)}}.hub-spoke--disabled{transition:opacity .23s}.hub-spoke--disabled.leaving{opacity:0}@media (width>=701px){.hub-spoke--disabled{animation:.4s hub-spoke-fade-in}@keyframes hub-spoke-fade-in{0%{opacity:0}to{opacity:.35}}}.constellation-bg{z-index:-1;opacity:.6;width:100vw;height:100vh;position:fixed;inset:0}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);box-shadow:var(--shadow-md);border-radius:12px;flex-direction:column;gap:.75rem;width:320px;padding:1.5rem;display:flex;position:relative}.modal-close-x{background:var(--border);width:28px;height:28px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;display:flex;position:absolute;top:.75rem;right:.75rem}.modal-close-x:hover{background:var(--text-muted);color:var(--surface)}.modal-card h2{margin:0;font-size:1.1rem}.modal-card form{flex-direction:column;gap:.5rem;display:flex}.modal-card label{color:var(--text-muted);font-size:.8rem}.modal-card input,.modal-card select{border:1.5px solid var(--border);color:var(--text);box-sizing:border-box;background:0 0;border-radius:8px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.modal-card input:focus,.modal-card select:focus{border-color:var(--accent);outline:none}.modal-actions{justify-content:flex-end;align-items:center;gap:1rem;margin-top:.5rem;display:flex}.modal-actions button[type=submit]{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:.5rem 1.25rem;font-size:.9rem}.modal-actions button[type=submit]:disabled{background:var(--border);cursor:default}.modal-cancel-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:.9rem}.modal-cancel-btn:hover{color:var(--text)}.upload-progress{align-items:center;gap:.6rem;display:flex}.upload-progress-track{background:var(--border);border-radius:999px;flex:1;height:6px;overflow:hidden}.upload-progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .15s ease-out}.upload-progress-label{color:var(--text-muted);text-align:right;min-width:2.5em;font-size:.75rem}.spinner-wrap{z-index:40;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.spinner-wrap--inline{z-index:auto;padding:2.5rem 0;position:static;inset:auto}.spinner{border:5px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;animation:.7s linear infinite spinner-rotate}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.field-invalid{border-color:#d32f2f!important}.page{box-sizing:border-box;min-height:100dvh;padding:2rem;position:relative;overflow-x:hidden}@media (width<=700px){.page{padding:1.25rem 1.25rem 6rem}}@media (width>=701px){.page{animation:.4s page-fade-in}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}}.sign-out-btn,.exit-btn{z-index:20;cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;gap:.4rem;font-size:.95rem;display:flex;position:fixed;top:1.5rem;left:1.5rem}.sign-out-btn img{width:16px;height:16px}.hub-signout-btn{left:auto;right:1.5rem}.sign-out-btn:hover{color:var(--text)}.exit-btn{border:1.5px solid var(--border);background:var(--surface);width:40px;height:40px;box-shadow:var(--shadow-sm);color:var(--text);border-radius:50%;justify-content:center;padding:0;transition:background-color .2s,border-color .2s,color .2s,transform .15s}.exit-btn svg{flex-shrink:0;width:18px;height:18px}.exit-btn:hover{background:var(--active-bg);border-color:var(--active-bg);color:var(--active-text);transform:scale(1.08)}.client-home-page{flex-direction:column;justify-content:center;align-items:center;display:flex}.hub{flex-direction:column;align-items:center;gap:1rem;display:flex}.hub-cluster{width:610px;height:380px;position:relative}.hub-center,.hub-spoke{text-decoration:none;position:absolute}.hub-center{width:172px;height:172px;margin:-86px;top:86px;left:305px}.hub-spoke{width:96px;height:96px;margin:-48px}.hub-center:hover,.hub-spoke:hover{z-index:10}.hub-center-icon,.hub-spoke-icon{width:100%;height:100%}.hub-name{white-space:nowrap;background:var(--active-bg);color:var(--active-text);letter-spacing:.01em;box-shadow:var(--shadow-sm);border-radius:999px;margin:0;padding:.4rem 1.1rem;font-size:1.05rem;font-weight:600;position:fixed;top:1.75rem;left:50%;transform:translate(-50%)}.hub-spoke--disabled{opacity:.35;cursor:default}.hub-spoke--disabled .hub-spoke-icon{pointer-events:none}.hub-spoke-label{white-space:nowrap;background:var(--active-bg);color:var(--active-text);box-shadow:var(--shadow-sm);opacity:0;pointer-events:none;border-radius:999px;padding:.35rem .75rem;font-size:.95rem;font-weight:600;transition:opacity .18s;position:absolute}.hub-center:hover .hub-spoke-label,.hub-spoke:hover .hub-spoke-label{opacity:1}@media (width<=700px){.client-home-page{padding-bottom:1.25rem}.hub-center{width:100px;height:100px;margin:-50px}.hub-spoke{width:62px;height:62px;margin:-31px}.hub-spoke-label{white-space:normal;text-align:center;width:max-content;max-width:86px;padding:.28rem .4rem;font-size:.6rem;line-height:1.2}}.login-page{justify-content:center;align-items:center;display:flex}.login-card{background:var(--surface);width:100%;max-width:320px;box-shadow:var(--shadow-md);text-align:center;border-radius:12px;padding:2rem}.login-privacy-link{margin:1.5rem 0 0}.login-privacy-link a{color:var(--text-muted);font-size:.8rem}.login-card h1{margin:0 0 .5rem}.login-section{text-align:left;flex-direction:column;gap:.5rem;margin:1.25rem 0 0;display:flex}.login-section-label{color:var(--text-muted);margin:0;font-size:.8rem;font-weight:600}.login-page input{border:1.5px solid var(--border);color:var(--text);background:0 0;border-radius:8px;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.login-page input:focus{border-color:var(--accent);outline:none}.login-page button{background:var(--active-bg);color:var(--active-text);cursor:pointer;border:none;border-radius:999px;align-self:flex-start;padding:.5rem 1.25rem;font-size:.9rem}.login-page button:disabled{background:var(--border);color:var(--text-muted);cursor:default}.clientele-page{padding-left:5.5rem}.clientele-page h1{text-align:center;margin-bottom:1rem}.clientele-security-link{text-align:center;color:var(--text-muted);margin:-.5rem 0 1rem;font-size:.8rem;display:block}.clientele-security-link:hover{color:var(--text)}.clientele-search{border:1.5px solid var(--border);width:100%;max-width:280px;color:var(--text);background:#ffffff8c;border-radius:999px;margin:0 auto 1rem;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;display:block}.clientele-search:focus{border-color:var(--accent);outline:none}.clientele-sort-toggle{justify-content:center;gap:.4rem;margin:0 auto 2rem;display:flex}.clientele-sort-toggle button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.3rem .9rem;font-size:.8rem}.clientele-sort-toggle button.active{background:var(--accent);border-color:var(--accent);color:#fff}.clientele-list{flex-direction:column;gap:.6rem;max-width:820px;margin:2rem auto;display:flex}.clientele-row{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:1rem;padding:.6rem 1rem;display:flex;position:relative}.clientele-row-photo-link{flex-shrink:0;line-height:0;display:block;position:relative}.clientele-row-photo{width:48px;height:48px}.icon-circle.clientele-row-photo .clientele-row-photo-img{object-fit:cover;width:100%;height:100%}.clientele-row-photo .avatar-glyph{letter-spacing:.02em;color:var(--text);font-size:.85rem;font-weight:600}.clientele-row-dot{background:var(--accent);border:2px solid var(--surface);border-radius:50%;width:12px;height:12px;position:absolute;bottom:1px;right:1px}.clientele-row-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;text-decoration:none;overflow:hidden}.clientele-row-name:hover{text-decoration:underline}.clientele-row-next-session{text-align:right;min-width:130px;color:var(--text);flex-shrink:0;margin-right:1.25rem;font-size:.85rem;font-weight:600}.clientele-row-delete{border:1.5px solid var(--border);background:var(--surface);width:26px;height:26px;color:var(--text-muted);cursor:pointer;opacity:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;line-height:1;transition:opacity .15s,background .15s,color .15s,border-color .15s;display:flex}.clientele-row:hover .clientele-row-delete{opacity:1}.clientele-row-delete:hover{color:#fff;background:#d64545;border-color:#d64545}.clientele-row-delete:disabled{opacity:1;cursor:default}.clientele-empty{text-align:center;color:var(--text-muted)}.clientele-nav-rail{gap:.9rem}.clientele-nav-rail button{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.nav-rail-glyph{color:var(--text);font-size:1.4rem;font-weight:400;line-height:1}.trash-modal-card{width:380px;max-width:90vw}.trash-list{flex-direction:column;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.trash-item{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.6rem 0;display:flex}.trash-item:last-child{border-bottom:none}.trash-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.trash-item-days{color:var(--text-muted);flex-shrink:0;font-size:.8rem}.trash-recover-btn{border:1.5px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:999px;flex-shrink:0;padding:.35rem .85rem;font-size:.8rem;transition:background-color .15s,color .15s}.trash-recover-btn:hover{background:var(--accent);color:#fff}.trash-recover-btn:disabled{opacity:.6;cursor:default}.trash-empty-btn{color:#d64545;cursor:pointer;background:0 0;border:1.5px solid #d64545;border-radius:999px;flex-shrink:0;padding:.35rem .85rem;font-size:.8rem;transition:background-color .15s,color .15s}.trash-empty-btn:hover{color:#fff;background:#d64545}.trash-empty-btn:disabled{opacity:.6;cursor:default}@media (width<=700px){.clientele-page{padding-left:0}.clientele-page h1{margin-bottom:.5rem}.clientele-row{gap:.6rem;padding:.5rem .75rem}.clientele-row-next-session{text-align:right;white-space:nowrap;min-width:0;font-size:.7rem}.clientele-row-name{font-size:.9rem}.clientele-row-delete{opacity:1;width:22px;height:22px}}.scheduler-page h1{text-align:center}.scheduler-email-warning{color:#7a4a1f;background:#fff4e5}.scheduler-layout{max-width:1220px;margin:2rem auto 0}.scheduler-toolbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}@media (width>=701px){.scheduler-toolbar{flex-wrap:nowrap;grid-template-columns:1fr auto 1fr;display:grid}.scheduler-toolbar-left{justify-self:start}.scheduler-toolbar>.scheduler-view-toggle{justify-self:center}.scheduler-toolbar-group:last-child{justify-self:end}}.scheduler-toolbar-group{align-items:center;gap:.6rem;display:flex}.scheduler-book-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.95rem}.scheduler-book-btn--outline{color:var(--accent);border:1.5px solid var(--accent);background:0 0}.scheduler-block-btn{background:var(--border);color:var(--text-muted);transition:background-color .15s,color .15s}.scheduler-block-btn:hover{color:#fff;background:#e67e22}.scheduler-gridclick-toggle{align-items:center;display:flex}.scheduler-update-notice-choices{flex-direction:column;gap:.6rem;margin-top:.5rem;display:flex}.scheduler-update-notice-choices .scheduler-book-btn{width:100%}.scheduler-update-notice-hint{color:var(--text-muted);text-align:center;font-size:.75rem}.scheduler-update-notice-choices .modal-cancel-btn{border:1.5px solid #000;border-radius:8px;align-self:center;padding:.5rem 1.2rem}.scheduler-view-toggle{border:1px solid var(--border);border-radius:999px;display:flex;overflow:hidden}.scheduler-view-toggle button{background:var(--surface);color:var(--text-muted);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.55rem .85rem;display:flex}.scheduler-view-toggle button svg{flex-shrink:0;width:18px;height:18px}.scheduler-view-toggle button.active{background:var(--accent);color:#fff}.scheduler-view-toggle .scheduler-block-toggle-btn.active{color:#fff;background:#e67e22}.scheduler-book-form{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:2rem;padding:1rem;display:flex}.scheduler-book-form select,.scheduler-book-form input{border:1px solid var(--border);border-radius:6px;padding:.45rem;font-size:.85rem}.scheduler-form-validation-note{color:#7a1f1f;background:#fdecea;border-radius:8px;flex-basis:100%;margin:0 0 .25rem;padding:.6rem .9rem;font-size:.85rem}.scheduler-duration-input{width:60px}.scheduler-duration-label{color:var(--text-muted);font-size:.8rem}.scheduler-notes-input{flex:1;min-width:160px}.scheduler-book-form button[type=submit]{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.45rem .9rem;font-size:.85rem}.scheduler-empty{color:var(--text-muted);text-align:center}.scheduler-client-picker{position:relative}.scheduler-client-picker input{border:1px solid var(--border);border-radius:6px;width:180px;padding:.45rem;font-size:.85rem}.scheduler-client-picker-list{z-index:20;background:var(--surface);border:1px solid var(--border);width:220px;max-height:240px;box-shadow:var(--shadow-md);border-radius:8px;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.scheduler-client-picker-list li button{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;border-radius:6px;padding:.4rem .5rem;font-size:.85rem;display:block}.scheduler-client-picker-list li button:hover{background:var(--accent-ring)}.scheduler-client-picker-empty{color:var(--text-muted);padding:.4rem .5rem;font-size:.8rem}.scheduler-time-picker{position:relative}.scheduler-time-picker-trigger{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;text-align:left;border-radius:6px;min-width:120px;padding:.45rem .75rem;font-size:.85rem}.scheduler-time-picker-grid{z-index:20;background:var(--surface);border:1px solid var(--border);width:320px;max-height:320px;box-shadow:var(--shadow-md);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:.4rem;padding:.75rem;display:grid;position:fixed;top:calc(100% + 4px);left:0;overflow-y:auto}.scheduler-time-slot{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;text-align:center;border-radius:8px;padding:.6rem .25rem;font-size:.85rem}.scheduler-time-slot:hover{border-color:var(--accent)}.scheduler-time-slot.selected{background:var(--accent);border-color:var(--accent);color:#fff}.scheduler-datetime-row{flex:auto;gap:.5rem;display:flex}.scheduler-datetime-row>*{flex:1;min-width:0}.scheduler-date-picker{position:relative}.scheduler-date-picker-trigger{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;border-radius:6px;align-items:center;gap:.5rem;padding:.45rem .75rem;font-size:.85rem;display:flex;overflow:hidden}.scheduler-date-picker-trigger svg{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.scheduler-date-picker-sheet{z-index:20;background:var(--surface);width:290px;box-shadow:var(--shadow-md);border-radius:16px;padding:1rem;position:fixed;top:calc(100% + 6px);left:0}.scheduler-date-picker-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;font-size:.95rem;font-weight:600;display:flex}.scheduler-date-picker-header button{background:var(--bg);color:var(--text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:1rem;display:flex}.scheduler-date-picker-header button:hover{background:var(--border)}.scheduler-date-picker-header button:disabled{color:var(--text-muted);cursor:default;background:0 0}.scheduler-date-picker-header-selects{gap:.3rem;display:flex}.scheduler-date-picker-header-selects select{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.15rem .1rem;font-family:inherit;font-size:.85rem;font-weight:600}.scheduler-date-picker-header-selects select:hover{background:var(--bg)}.scheduler-date-picker-weekdays{text-align:center;color:var(--text-muted);grid-template-columns:repeat(7,1fr);margin-bottom:.35rem;font-size:.7rem;display:grid}.scheduler-date-picker-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.scheduler-date-picker-day{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:50%;width:34px;height:34px;margin:0 auto;font-size:.85rem}.scheduler-date-picker-day:hover{background:var(--bg)}.scheduler-date-picker-day.today{border:1.5px solid var(--accent)}.scheduler-date-picker-day.selected{background:var(--accent);color:#fff}.scheduler-date-picker-day:disabled{color:var(--border);cursor:default}.scheduler-date-picker-day:disabled:hover{background:0 0}.scheduler-price-field{align-items:center;gap:.25rem;display:flex}.scheduler-price-input{width:70px}.scheduler-calendar{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1rem}.scheduler-calendar-scale-toggle{justify-content:center;gap:.4rem;margin-bottom:.75rem;display:flex}.scheduler-calendar-scale-toggle button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.3rem .9rem;font-size:.8rem}.scheduler-calendar-scale-toggle button.active{background:var(--accent);border-color:var(--accent);color:#fff}.scheduler-today-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;margin-left:.5rem;padding:.3rem .9rem;font-size:.8rem}.scheduler-today-btn:hover{border-color:var(--accent);color:var(--accent)}.scheduler-calendar-header{justify-content:center;align-items:center;gap:1.5rem;margin-bottom:.75rem;display:flex}.scheduler-calendar-header h3{text-align:center;min-width:180px;margin:0}.scheduler-calendar-header button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;width:32px;height:32px;font-size:1rem}.scheduler-calendar-swipe{flex:1;min-width:0;overflow:hidden}.scheduler-calendar-swipe-track{will-change:transform;width:300%;display:flex}.scheduler-calendar-swipe-panel{flex:0 0 33.3333%;min-width:0}.scheduler-calendar-weekdays{text-align:center;color:var(--text-muted);grid-template-columns:repeat(7,1fr);margin-bottom:.25rem;font-size:.75rem;display:grid}.scheduler-calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.scheduler-calendar-cell{aspect-ratio:1;border:1px solid var(--border);background:var(--bg);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;min-height:70px;padding:.3rem;display:flex;overflow:hidden}.scheduler-calendar-cell.empty{cursor:default;background:0 0;border:none}.scheduler-calendar-cell.today{border-color:var(--accent)}.scheduler-calendar-cell.selected{background:var(--accent-ring);border-color:var(--accent)}.scheduler-calendar-daynum{color:var(--text-muted);font-size:.75rem;font-weight:600}.scheduler-calendar-chip{font:inherit;text-align:left;background:var(--accent);color:#fff;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border:none;border-radius:4px;width:100%;max-width:100%;padding:1px 4px;font-size:.65rem;transition:transform .12s,box-shadow .12s;display:block;overflow:hidden}.scheduler-calendar-cell:has(.scheduler-calendar-chip:hover){overflow:visible}.scheduler-calendar-chip:hover{transform-origin:0;box-shadow:var(--shadow-sm);z-index:5;position:relative;transform:scale(1.15)}.scheduler-calendar-chip.completed{background:var(--border);color:var(--text-muted)}.scheduler-calendar-more{color:var(--text-muted);font-size:.65rem}.scheduler-calendar-block-chip{font:inherit;text-align:left;width:100%;color:var(--text-muted);background-color:var(--border);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background-image:repeating-linear-gradient(45deg,#00000024,#00000024 3px,#0000 3px 7px);border:1px solid #e67e22;border-radius:4px;max-width:100%;padding:0 3px;font-size:.65rem;display:block;overflow:hidden}.page.scheduler-page{overflow-x:visible}.scheduler-timegrid{flex-direction:column;display:flex}.scheduler-timegrid-header-clip{z-index:4;background:var(--surface);padding-top:.25rem;position:sticky;top:0;overflow:hidden}.scheduler-timegrid-header{display:flex}.scheduler-timegrid-scroll{padding-top:.5rem;padding-bottom:.5rem;overflow-x:auto}.scheduler-timegrid-header-days{flex:1;gap:10px;display:flex}.scheduler-timegrid-daylabel{text-align:center;border-bottom:2px solid #0000;border-radius:6px;flex:1;padding-bottom:.4rem;transition:background-color .1s}.scheduler-timegrid-daylabel.today{border-bottom-color:var(--accent)}.scheduler-timegrid-daylabel.hovering{background:#0000000b}.scheduler-timegrid-daylabel-weekday{color:var(--text-muted);font-size:.7rem;display:block}.scheduler-timegrid-daylabel-num{font-size:1.1rem;font-weight:600;display:block}.scheduler-timegrid-daylabel.today .scheduler-timegrid-daylabel-num{color:var(--accent)}.scheduler-timegrid-body,.scheduler-timegrid-body-row{display:flex}.scheduler-timegrid-hours-col{z-index:10;flex:none;width:52px;position:relative}.scheduler-timegrid-header-clip--spacer{visibility:hidden;position:static}.scheduler-timegrid-hours{width:100%;position:relative}.scheduler-timegrid-hour-label{text-align:right;color:var(--text-muted);font-size:.7rem;line-height:1;position:absolute;left:0;right:8px;transform:translateY(-.6em)}.scheduler-timegrid-hour-label.noon{color:var(--text);font-weight:700}.scheduler-timegrid-days{flex:1;gap:10px;display:flex}.scheduler-timegrid-day-col{border-left:1px solid var(--border);cursor:pointer;background-color:var(--bg);background-image:linear-gradient(to bottom, var(--border) 1px, transparent 1px), linear-gradient(to bottom, #00000009 1px, transparent 1px);background-size:100% var(--hour-height), 100% var(--hour-height);background-position:0 0, 0 calc(var(--hour-height) / 2);border-radius:4px;flex:1;min-width:82px;position:relative}.scheduler-timegrid-noon-line{pointer-events:none;background:#00000029;height:1.5px;position:absolute;left:0;right:0}.scheduler-timegrid-hover-slot{pointer-events:none;background:#14b6571f;border-radius:4px;justify-content:center;align-items:center;display:flex;position:absolute;left:3px;right:3px}.scheduler-timegrid-hover-slot-time{color:var(--accent);font-size:.65rem;font-weight:600}.scheduler-timegrid-event{background:var(--accent);color:#fff;text-align:left;cursor:pointer;border:none;border-radius:5px;flex-direction:column;padding:2px 5px;font-size:.68rem;line-height:1.25;transition:filter .12s;display:flex;position:absolute;left:3px;right:3px;overflow:hidden}.scheduler-timegrid-event:hover{filter:brightness(.92)}.scheduler-timegrid-event.completed{background:var(--border);color:var(--text-muted)}.scheduler-timegrid-event-time{font-weight:600}.scheduler-timegrid-block{color:var(--text-muted);text-align:left;cursor:pointer;background-color:#78787829;background-image:repeating-linear-gradient(45deg,#00000014,#00000014 4px,#0000 4px 10px);border:1px solid #e67e22;border-radius:5px;padding:2px 5px;font-size:.65rem;font-weight:600;transition:background-color .12s;position:absolute;left:3px;right:3px;overflow:hidden}.scheduler-timegrid-block:hover{background-color:#78787847}.scheduler-timegrid-block-label{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.scheduler-timegrid-event-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scheduler-timegrid-now-marker{pointer-events:none;z-index:6;position:absolute;left:0;right:0}.scheduler-timegrid-now-line{background:#e0483e;height:2px;position:absolute;left:0;right:0;transform:translateY(-50%)}.scheduler-timegrid-now-badge{color:#fff;height:20px;box-shadow:var(--shadow-sm);background:#e0483e;border-radius:999px;justify-content:center;align-items:center;padding:0 .5rem;font-size:.62rem;font-weight:700;display:flex;position:absolute;left:0;transform:translateY(-50%)}.scheduler-day-detail{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.scheduler-day-detail h3{color:var(--text-muted);margin-top:0;font-size:.95rem}.scheduler-list-filter{gap:.4rem;margin-bottom:1.25rem;display:flex}.scheduler-list-filter button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.35rem 1rem;font-size:.82rem;font-weight:600}.scheduler-list-filter button.active{background:var(--accent);border-color:var(--accent);color:#fff}.scheduler-day-group{margin-bottom:1.5rem}.scheduler-day-group h3{color:var(--text-muted);margin-bottom:.5rem;font-size:.95rem}.scheduler-session-list{margin:0;padding:0;list-style:none}.scheduler-edit-row input,.scheduler-edit-row select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.4rem;font-size:.8rem}.scheduler-edit-row select{cursor:pointer}.scheduler-session-row{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.scheduler-row-top,.scheduler-row-status,.scheduler-past-row-bottom{display:contents}.scheduler-time{min-width:90px;font-weight:600}.scheduler-client-name{color:var(--accent);font-weight:600;text-decoration:none}.scheduler-client-name:hover{text-decoration:underline}.scheduler-client-name-static{color:var(--text);font-weight:600}.scheduler-duration{color:var(--text-muted)}.scheduler-notes{color:var(--text-muted);font-style:italic}.scheduler-confirm-badge{border-radius:999px;padding:.15rem .5rem;font-size:.75rem}.scheduler-confirm-badge.sent{background:var(--accent-ring);color:var(--accent)}.scheduler-confirm-badge.pending{color:#7a4a1f;background:#fff4e5}.scheduler-row-actions{gap:.4rem;margin-left:auto;display:flex}.scheduler-row-actions button{border:1px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:6px;padding:.3rem .5rem;font-size:.75rem}.scheduler-complete-btn{border-color:var(--accent);color:var(--accent);font-weight:600}.scheduler-complete-btn:hover{background:var(--accent);color:#fff}.scheduler-past-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.5rem 0;font-size:.85rem}.scheduler-session-modal{width:640px;max-width:92vw}.scheduler-session-modal .scheduler-session-list{margin:0}.scheduler-session-modal .scheduler-book-form{box-shadow:none;flex-flow:wrap;margin-bottom:0;padding:0}.scheduler-session-modal .scheduler-book-form select,.scheduler-session-modal .scheduler-book-form input{width:auto;padding:.45rem;font-size:.85rem}.scheduler-status-badge{text-transform:capitalize;border-radius:999px;padding:.15rem .5rem;font-size:.75rem}.scheduler-status-completed{background:var(--accent-ring);color:var(--accent)}.scheduler-status-badge--clickable{font:inherit;text-transform:inherit;cursor:pointer;border:none}.scheduler-status-badge--clickable:hover{background:var(--accent);color:#fff}@keyframes scheduler-status-pop{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}.scheduler-status-badge--pop{animation:.42s cubic-bezier(.34,1.56,.64,1) scheduler-status-pop}.scheduler-status-cancelled,.scheduler-status-no_show{color:#7a1f1f;background:#fdecea}.scheduler-paid-pill{cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600}.scheduler-paid-pill.paid{background:var(--accent-ring);color:var(--accent)}.scheduler-paid-pill.unpaid{color:#b3261e;background:#fdecea}.scheduler-notify-error-pill{cursor:pointer;white-space:nowrap;color:#b3261e;background:#fdecea;border:none;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600}.scheduler-notify-error-pill:hover{background:#f9d5d0}.scheduler-paid-pill.covered{color:#1a5ba6;background:#e3f0fc}.scheduler-paid-pill.free{color:#6b3fa0;background:#f1e9fb}.scheduler-paid-pill.no_charge{background:var(--border);color:var(--text-muted)}.scheduler-fee-applied-badge{color:#7a4a1f;white-space:nowrap;background:#fff4e5;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600}.scheduler-payment-methods{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.scheduler-payment-method-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;padding:.5rem 1rem;font-size:.9rem}.scheduler-payment-method-btn.active{background:var(--active-bg);color:var(--active-text);border-color:var(--active-bg)}@media (width<=700px){.scheduler-session-row{flex-direction:column;align-items:flex-start}.scheduler-row-top,.scheduler-row-status{align-items:center;width:100%;display:flex}.scheduler-row-top{gap:.6rem}.scheduler-row-status{justify-content:space-between;gap:.5rem}.scheduler-past-row-bottom{grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;width:100%;display:grid}.scheduler-past-row-bottom .scheduler-status-badge{justify-self:start}.scheduler-past-row-bottom .scheduler-paid-pill{justify-self:center}.scheduler-past-row-bottom .scheduler-row-actions{justify-self:end;margin-left:0}.scheduler-row-actions{flex-wrap:wrap;margin-left:0}.scheduler-calendar-cell{min-height:0;padding:.2rem}.scheduler-calendar-chip{display:none}.scheduler-calendar-cell:after{content:""}.scheduler-calendar-cell:has(.scheduler-calendar-chip):after{background:var(--accent);border-radius:50%;width:5px;height:5px}.scheduler-time-picker-grid,.scheduler-client-picker-list{width:260px}.scheduler-datetime-row{width:100%}.scheduler-datetime-row .scheduler-date-picker{flex:2}.scheduler-datetime-row .scheduler-time-picker{flex:1}.scheduler-datetime-row .scheduler-time-picker-trigger{width:100%;min-width:0}.scheduler-edit-row select{padding:.65rem .6rem;font-size:1rem}.page.scheduler-page{padding-left:.5rem;padding-right:.5rem}.scheduler-calendar{padding-left:.35rem;padding-right:.35rem}.scheduler-timegrid-hours-col{width:26px}.scheduler-timegrid-hour-label{font-size:.58rem;right:2px}.scheduler-timegrid-header-days,.scheduler-timegrid-days{gap:2px}.scheduler-timegrid-day-col{min-width:0}.scheduler-timegrid-daylabel-weekday{font-size:.6rem}.scheduler-timegrid-daylabel-num{font-size:.9rem}.scheduler-timegrid-event{padding:1px 3px;font-size:.6rem}}.scheduler-manage-icon-btn{left:auto;right:1.5rem}.scheduler-services-manager{margin:0}.scheduler-services-modal{max-height:85vh;overflow-y:auto}.scheduler-services-list{margin:0 0 1rem;padding:0;list-style:none}.scheduler-service-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.6rem 0;font-size:.85rem;display:flex}.scheduler-service-inactive{opacity:.5}.scheduler-active-toggle{color:var(--text-muted);align-items:center;gap:.3rem;font-size:.8rem;display:flex}.profile-shell{flex-direction:column;max-width:1100px;min-height:calc(100dvh - 4rem);margin-left:5rem;display:flex}.profile-header{z-index:2;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:2rem;padding:1.5rem;display:flex;position:sticky;top:0}.profile-header-photo-wrap{flex-shrink:0;position:relative}.profile-header-photo{border-color:var(--accent);width:100px;height:100px;box-shadow:0 0 0 3px var(--accent-ring), var(--icon-shadow);flex-shrink:0;font-size:2.5rem;overflow:hidden}.profile-header-photo:hover{border-color:var(--accent);background:#ffffff8c;transform:none}.profile-header-photo:hover img{filter:none}.profile-header-photo img{object-fit:cover;width:100%;height:100%}.profile-header-photo img.profile-photo-placeholder{object-fit:contain;opacity:.5;width:55%;height:55%}.profile-photo-upload-btn{border:2px solid var(--surface);background:var(--active-bg);width:32px;height:32px;color:var(--active-text);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:flex;position:absolute;bottom:-2px;right:-2px}.profile-photo-upload-btn:hover{background:var(--accent)}.profile-photo-upload-btn:disabled{opacity:.6;cursor:default}.profile-photo-reposition-btn{border:2px solid var(--surface);background:var(--active-bg);width:32px;height:32px;color:var(--active-text);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-2px;left:-2px}.profile-photo-reposition-btn svg{width:16px;height:16px}.profile-photo-reposition-btn:hover{background:var(--accent)}.profile-photo-reposition-btn:disabled{opacity:.6;cursor:default}.profile-header-info{flex-direction:column;flex:none;align-items:flex-start;gap:.5rem;min-width:0;display:flex}.profile-header-name{color:var(--text);margin:0;font-size:1.5rem;font-weight:700}.profile-header-name-input{color:var(--text);border:none;border-bottom:1.5px solid var(--border);background:0 0;max-width:20rem;padding:.1rem 0;font-size:1.5rem;font-weight:700}.profile-header-name-input:focus{border-bottom-color:var(--accent);outline:none}.profile-header-rows{flex-direction:column;align-items:flex-start;gap:.3rem;display:flex}.profile-header-row{flex-wrap:wrap;align-items:baseline;gap:.2rem .5rem;font-size:.95rem;display:flex}.profile-header-row-hint{color:var(--text-muted);flex-basis:100%;font-size:.7rem}.profile-header-session{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.3rem;min-width:0;display:flex}.profile-header-session-value{color:var(--text);font-size:1.1rem;font-weight:700}a.profile-header-session-value{text-decoration:none}.profile-header-session-link:hover{text-decoration:underline}.profile-header-session-hint{color:var(--text-muted);font-size:.7rem;font-weight:400}.profile-book-btn{background:var(--accent);color:#fff;border-radius:999px;padding:.4rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-block}.profile-book-btn:hover{opacity:.9}.profile-history-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-top:.4rem;font-size:.75rem;text-decoration:underline;display:block}.profile-history-btn:hover{color:var(--text)}.profile-header-balance{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.3rem;min-width:0;display:flex}.profile-balance-chip{border-radius:999px;padding:.15rem .75rem;font-size:1.1rem;font-weight:700}.profile-balance-chip.credit{background:var(--accent-ring);color:var(--accent)}.profile-balance-chip.owed{color:#b3261e;background:#fdecea}.profile-balance-chip.settled{color:var(--text-muted);background:0 0}.profile-header-balance-actions{gap:.75rem;display:flex}.profile-history-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.profile-history-panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-md);width:100%;max-width:480px;max-height:80vh;padding:1.5rem;overflow-y:auto}.profile-history-panel--wide{max-width:620px}.profile-history-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.profile-history-header h2{margin:0;font-size:1.1rem}.profile-history-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:1.1rem}.profile-history-subheading{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin:1rem 0 .4rem;font-size:.8rem;font-weight:700}.profile-history-subheading:first-of-type{margin-top:0}.profile-history-list{margin:0;padding:0;list-style:none}.profile-history-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.6rem 0;font-size:.85rem;display:flex}.profile-history-date{min-width:110px;font-weight:600}.profile-history-service{color:var(--text-muted)}.profile-history-price{color:var(--text);font-weight:600}.profile-history-status{text-transform:capitalize;background:var(--border);color:var(--text-muted);border-radius:999px;margin-left:auto;padding:.15rem .5rem;font-size:.75rem}.profile-history-status-completed{background:var(--accent-ring);color:var(--accent)}.profile-history-status-cancelled,.profile-history-status-no_show{color:#7a1f1f;background:#fdecea}.profile-history-row-actions{gap:.4rem;margin-left:auto;display:flex}.profile-history-source-tag{color:var(--text-muted);font-style:italic}.profile-history-row-actions button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;padding:.3rem .5rem;font-size:.75rem}.profile-history-row--editing{flex-wrap:nowrap}.profile-history-row--editing input[type=number]{width:80px}.profile-history-row--editing input[type=text]{flex:1;min-width:0}.profile-session-edit-row{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fafafa;flex-direction:column;align-items:stretch;gap:.7rem;margin:.4rem 0;padding:.9rem 1rem;display:flex}.profile-session-edit-fields{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.profile-session-edit-field{flex-direction:column;gap:.3rem;display:flex}.profile-session-edit-field span{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:.72rem;font-weight:600}.profile-session-edit-field input{border:1.5px solid var(--border);background:var(--surface);color:var(--text);box-sizing:border-box;border-radius:8px;padding:.45rem .65rem;font-family:inherit;font-size:.9rem}.profile-session-edit-field input:focus{border-color:var(--accent);outline:none}.profile-session-edit-field--price{flex-direction:row;align-items:center;gap:.4rem}.profile-session-edit-field--price span{text-transform:none;letter-spacing:normal;color:var(--text-muted);font-size:.95rem;font-weight:400}.profile-session-edit-field--price input{width:90px}.profile-session-edit-field--notes{flex:180px}.profile-session-edit-field--notes input{width:100%}.profile-session-edit-row .profile-history-row-actions{justify-content:flex-end;margin-left:0}.profile-header-row-label{color:var(--text-muted);font-size:.8rem}.profile-header-row-value{color:var(--text)}.profile-header-row input{border:none;border-bottom:1.5px solid var(--border);color:var(--text);background:0 0;padding:.15rem 0;font-family:inherit;font-size:.95rem}.profile-header-row input:focus{border-bottom-color:var(--accent);outline:none}.profile-header-actions{flex-shrink:0;align-items:center;gap:.6rem;display:flex}.profile-header-edit-btn,.profile-header-save-btn{width:46px;height:46px}.profile-header-save-btn{border-color:var(--accent);color:var(--accent)}.profile-header-save-btn:hover{color:var(--active-text)}.profile-header-save-btn:hover .profile-header-save-check{filter:none}.profile-header-cancel-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:.85rem}.profile-header-cancel-btn:hover{color:var(--text)}.profile-tabs{border-bottom:1px solid var(--border);justify-content:space-evenly;margin-top:1.25rem;display:flex}.profile-tab{text-align:center;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:1;padding:.9rem .5rem;font-family:inherit;font-size:1rem;transition:color .15s;position:relative}.profile-tab:hover{color:var(--text)}.profile-tab.active{color:var(--accent);font-weight:700}.profile-tab.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:15%;right:15%}.profile-tab-content{background:var(--surface);border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow-sm);flex:1;padding:2rem;position:relative}.profile-panel{grid-template-columns:1fr 1fr;align-content:start;gap:1.5rem 3rem;display:grid}.profile-panel--textareas{flex-direction:column;gap:1.5rem;max-width:700px;display:flex}.profile-field{flex-direction:column;gap:.3rem;display:flex}.profile-field label{color:var(--text-muted);font-size:.8rem}.profile-field input{border:none;border-bottom:1.5px solid var(--border);color:var(--text);background:0 0;padding:.25rem 0;font-size:.95rem}.profile-field input:focus{border-bottom-color:var(--accent);outline:none}.profile-field-value{color:var(--text);margin:0;font-size:1.05rem;font-weight:600}.profile-field-value--multiline{white-space:pre-wrap;font-size:.95rem;font-weight:400}.profile-field-hint{color:var(--text-muted);font-size:.7rem}.profile-height-inputs{gap:1rem;display:flex}.profile-height-input-group{align-items:baseline;gap:.35rem;display:flex}.profile-height-input-group input{border:none;border-bottom:1.5px solid var(--border);width:2.5rem;color:var(--text);text-align:center;background:0 0;padding:.25rem 0;font-size:.95rem}.profile-height-input-group input:focus{border-bottom-color:var(--accent);outline:none}.profile-height-input-group span{color:var(--text-muted);font-size:.8rem}.profile-textarea-field{flex-direction:column;gap:.4rem;display:flex}.profile-textarea-field label{color:var(--text-muted);font-size:.8rem}.profile-textarea-field textarea{border:1.5px solid var(--border);color:var(--text);resize:vertical;background:0 0;border-radius:8px;padding:.75rem;font-family:inherit;font-size:.9rem}.profile-textarea-field textarea:focus{border-color:var(--accent);outline:none}.profile-textarea-field textarea::placeholder{color:var(--text-muted)}.profile-empty-hint{color:var(--text-muted);font-size:.9rem}.profile-panel--dysfunctions{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;max-width:1000px;display:grid}.profile-pains-field{flex-direction:column;gap:.6rem;display:flex}.profile-pains-field>label{color:var(--text-muted);font-size:.8rem}.profile-pains-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.profile-pain-card{border:1.5px solid var(--border);border-radius:8px;flex-direction:column;gap:.3rem;padding:.65rem .85rem;display:flex}.profile-pain-card-header{align-items:center;gap:.6rem;display:flex}.profile-pain-card-location{color:var(--text);font-size:.95rem;font-weight:600}.profile-pain-card-level{color:var(--text-muted);font-size:.8rem}.profile-pain-remove-btn{width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;padding:0;display:flex}.profile-pain-remove-btn svg{width:14px;height:14px}.profile-pain-remove-btn:hover{color:var(--text)}.profile-pain-card-types{color:var(--accent);margin:0;font-size:.8rem}.profile-pain-card-notes{color:var(--text-muted);white-space:pre-wrap;margin:0;font-size:.85rem}.profile-pain-card-date{color:var(--text-muted);margin:.35rem 0 0;font-size:.75rem}.profile-pain-card-date-picker{max-width:220px;margin-top:.35rem}.profile-pain-add-form{border:1.5px dashed var(--border);border-radius:8px;flex-direction:column;gap:.75rem;padding:.85rem;display:flex}.profile-pain-add-row{flex-wrap:wrap;gap:.6rem;display:flex}.profile-pain-add-row select{border:1.5px solid var(--border);min-width:100px;color:var(--text);background:0 0;border-radius:6px;flex:1;padding:.4rem .5rem;font-size:.85rem}.profile-pain-type-group{flex-direction:column;gap:.4rem;display:flex}.profile-pain-type-group-label{color:var(--text-muted);font-size:.8rem}.profile-pain-type-options{flex-direction:column;gap:.4rem;display:flex}.profile-pain-type-option{color:var(--text);cursor:pointer;align-items:baseline;gap:.4rem;font-size:.85rem;display:flex}.profile-pain-type-hint{color:var(--text-muted);font-size:.72rem;font-weight:400}.profile-pain-add-form textarea{border:1.5px solid var(--border);color:var(--text);resize:vertical;background:0 0;border-radius:8px;padding:.6rem;font-family:inherit;font-size:.85rem}.profile-pain-add-form textarea:focus{border-color:var(--accent);outline:none}.profile-pain-add-form>button{align-self:flex-start}.profile-reminder-banner{background:var(--accent-ring);border-radius:var(--radius);border-left:4px solid var(--accent);align-items:baseline;gap:.6rem;margin-bottom:1.5rem;padding:.85rem 1.25rem;display:flex}.profile-reminder-banner-label{color:var(--text-muted);font-size:.85rem}.profile-reminder-banner-date{color:var(--text);font-size:1.25rem;font-weight:700}.profile-save-row{align-items:center;gap:1rem;display:flex}.profile-save-row button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:.5rem 1.25rem;font-size:.9rem}.profile-save-row button:disabled{background:var(--border);cursor:default}.save-confirm{color:var(--accent);font-size:.85rem}.profile-reminder-card{flex-direction:column;gap:.75rem;max-width:700px;display:flex}.profile-reminder-card label{color:var(--text-muted);font-size:.8rem}.profile-reminder-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.profile-reminder-row select,.profile-reminder-row input{border:1.5px solid var(--border);color:var(--text);background:0 0;border-radius:8px;padding:.5rem .65rem;font-family:inherit;font-size:.9rem}.profile-reminder-row select:focus,.profile-reminder-row input:focus{border-color:var(--accent);outline:none}.profile-reminder-interval-input{width:4.5rem}.profile-reminder-repeat-label{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.profile-reminder-result{border-left:3px solid var(--accent);background:var(--accent-ring);color:var(--text);border-radius:8px;margin:0;padding:.65rem 1rem;font-size:.9rem}.profile-reminder-result strong{color:var(--accent)}.profile-reminder-card label.profile-reminder-complete{color:var(--text);cursor:pointer;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.profile-reminder-complete input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer}.admin-delete-btn{color:#b33;cursor:pointer}.profile-forms-manage-row{display:contents}.profile-forms-manage-btn{border:1.5px solid var(--border);background:var(--surface);width:40px;height:40px;box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background-color .2s,border-color .2s,color .2s,transform .15s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.profile-forms-manage-btn svg{flex-shrink:0;width:18px;height:18px}.profile-forms-manage-btn:hover:not(:disabled){background:var(--active-bg);border-color:var(--active-bg);color:var(--active-text);transform:scale(1.08)}.profile-forms-manage-btn:disabled{opacity:.4;cursor:default}.profile-forms-manage-card{width:min(520px,92vw);max-height:80vh;overflow-y:auto}.profile-forms-manage-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.profile-forms-manage-item{border:1.5px solid var(--border);border-radius:8px;align-items:center;gap:.75rem;padding:.6rem .75rem;display:flex}.profile-forms-manage-reorder{flex-direction:column;gap:.1rem;display:flex}.profile-forms-manage-reorder button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.15rem;font-size:.7rem;line-height:1}.profile-forms-manage-reorder button:hover:not(:disabled){color:var(--accent)}.profile-forms-manage-reorder button:disabled{opacity:.25;cursor:default}.profile-forms-manage-display,.profile-forms-manage-edit-fields{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.profile-forms-manage-label{color:var(--text);font-size:.9rem;font-weight:600}.profile-forms-manage-url{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.profile-forms-manage-display-actions,.profile-forms-manage-edit-actions{gap:.75rem;margin-top:.15rem;display:flex}.profile-forms-manage-display-actions button,.profile-forms-manage-edit-actions button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem}.profile-forms-manage-edit-fields input{border:1.5px solid var(--border);color:var(--text);background:0 0;border-radius:6px;padding:.35rem .5rem;font-size:.85rem}.profile-forms-manage-edit-fields input:focus{border-color:var(--accent);outline:none}.profile-forms-list{flex-direction:column;gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.profile-forms-item label{color:var(--text);cursor:pointer;align-items:center;gap:.9rem;font-size:1.15rem;font-weight:600;display:flex}.profile-forms-item input[type=checkbox]{appearance:none;border:2px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;flex-shrink:0;width:1.5rem;height:1.5rem;margin:0;transition:transform .15s;position:relative}.profile-forms-item input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.profile-forms-item input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.profile-forms-item input[type=checkbox]:hover{transform:scale(1.1)}.profile-forms-item input[type=checkbox]:disabled{cursor:default;opacity:.6}.profile-forms-item input[type=checkbox]:disabled:hover{transform:none}.profile-forms-item label a{color:inherit;font-weight:inherit;text-decoration:none}.profile-forms-item:not(.completed) label a:hover{font-weight:800;text-decoration:underline}.profile-forms-item.completed label{color:var(--text-muted)}.profile-forms-item.completed label a,.profile-forms-item.completed label{text-decoration:line-through}.profile-forms-item.opted-out{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.profile-forms-item.opted-out input[type=checkbox],.profile-forms-item.opted-out input[type=checkbox]:checked{background:#d64545;border-color:#d64545}.profile-forms-optout-note{color:#d64545;font-size:.85rem;font-weight:600}.profile-forms-optout-clear-btn{vertical-align:middle;color:#d64545;cursor:pointer;opacity:0;pointer-events:none;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-left:.4rem;padding:0;transition:opacity .15s,background-color .15s;display:inline-flex}.profile-forms-item.opted-out:hover .profile-forms-optout-clear-btn,.profile-forms-optout-clear-btn:focus-visible{opacity:1;pointer-events:auto}.profile-forms-optout-clear-btn:hover{background:#d645451f}.profile-forms-optout-clear-btn svg{width:12px;height:12px}.profile-forms-item.reopted-in{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.profile-forms-reopt-note{color:var(--text-muted);font-size:.85rem;font-weight:600}.profile-forms-pill-btn{cursor:pointer;border:none;border-radius:999px;padding:.55rem 1.25rem;font-size:.9rem;font-weight:600}.profile-forms-pill-btn--gray{background:var(--border);color:var(--text)}.profile-forms-pill-btn--gray:hover{background:var(--text-muted);color:#fff}.profile-forms-pill-btn--red{color:#fff;background:#d64545}.profile-forms-pill-btn--red:hover{background:#b83636}.profile-assessment-history{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:.75rem;display:flex}.profile-assessment-add-row,.profile-assessment-log-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.profile-assessment-add-row input,.profile-assessment-log-row select{border:1.5px solid var(--border);color:var(--text);background:0 0;border-radius:8px;padding:.5rem .65rem;font-family:inherit;font-size:.9rem}.profile-assessment-log-row select{flex:1;min-width:0}.profile-assessment-add-row input:focus,.profile-assessment-log-row select:focus{border-color:var(--accent);outline:none}.profile-assessment-add-row button,.profile-assessment-log-row button{background:var(--active-bg);color:var(--active-text);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:.5rem .9rem;font-size:.85rem}.profile-assessment-add-row button:disabled,.profile-assessment-log-row button:disabled{background:var(--border);color:var(--text-muted);cursor:default}.profile-invite-card{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:1.25rem;display:flex}.profile-invite-card label{color:var(--text-muted);font-size:.8rem}.profile-invite-row{gap:.75rem;display:flex}.profile-invite-row input{border:1.5px solid var(--border);color:var(--text);background:0 0;border-radius:8px;flex:1;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.profile-invite-row input:focus{border-color:var(--accent);outline:none}.profile-invite-row input:disabled{color:var(--text-muted)}.profile-invite-row button{background:var(--active-bg);color:var(--active-text);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;padding:.5rem 1.25rem;font-size:.9rem}.profile-invite-row button:disabled{background:var(--border);color:var(--text-muted);cursor:default}.profile-invite-status{color:var(--text-muted);margin:0;font-size:.85rem}.profile-unlink-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-top:.25rem;padding:0;font-size:.8rem;text-decoration:underline}.profile-unlink-btn:hover{color:var(--text)}@media (width<=700px){.profile-shell{margin-left:0}.profile-panel--dysfunctions{grid-template-columns:1fr;gap:1.5rem}.profile-header{flex-direction:column;align-items:flex-start;gap:1rem}.profile-header-session,.profile-header-balance{flex:none;align-items:flex-start}.profile-header-session-value{font-size:1rem}.profile-header-actions{align-self:flex-end}.profile-tabs{overflow-x:auto}.profile-tab{white-space:nowrap;flex:1;padding:.8rem .25rem;font-size:.85rem}.profile-tab-content{padding:1.25rem}.profile-panel{grid-template-columns:1fr}.profile-invite-row{flex-direction:column;align-items:stretch}}.photo-crop-modal{align-items:center;width:340px}.photo-crop-hint{color:var(--text-muted);text-align:center;margin:0;font-size:.8rem}.photo-crop-viewport{touch-action:none;cursor:grab;background:#1a1a1a;border-radius:8px;position:relative;overflow:hidden}.photo-crop-viewport:active{cursor:grabbing}.photo-crop-img{-webkit-user-select:none;user-select:none;pointer-events:none;position:absolute}.photo-crop-circle-overlay{pointer-events:none;border:2px solid #fffc;border-radius:50%;position:absolute;inset:10%;box-shadow:0 0 0 9999px #0000008c}.photo-crop-zoom-slider{width:100%}.intake-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:2rem;margin-left:5rem;display:grid}.intake-column{flex-direction:column;gap:2rem;display:flex}.intake-section h2{margin-bottom:.75rem;font-size:1.1rem}.intake-category-list{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:0;padding:0;list-style:none;overflow:hidden}.intake-category{border-bottom:1px solid var(--border)}.intake-category:last-child{border-bottom:none}.intake-category-toggle{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.intake-category.open .intake-category-toggle{background:var(--active-bg);color:var(--active-text)}.intake-caret{width:1rem;color:var(--text-muted)}.intake-category.open .intake-caret{color:inherit}.intake-has-content{background:var(--accent);border-radius:50%;width:8px;height:8px;margin-left:auto}.intake-category-body{flex-direction:column;gap:.5rem;padding:.75rem 1rem 1rem;display:flex}.intake-category-body textarea{border:1.5px solid var(--border);resize:vertical;border-radius:8px;padding:.6rem;font-family:inherit;font-size:.85rem}.intake-field-row{grid-template-columns:repeat(var(--field-count,1), minmax(0, 1fr));gap:.4rem;display:grid}.intake-field--full-row{grid-column:1/-1}.intake-field{color:var(--text-muted);flex-direction:column;gap:.25rem;font-size:.75rem;display:flex}.intake-field input{box-sizing:border-box;border:1.5px solid var(--border);width:100%;color:var(--text);border-radius:8px;padding:.45rem .5rem;font-family:inherit;font-size:.85rem}.intake-save-row{align-items:center;gap:.75rem;display:flex}.intake-autosave-note{color:var(--text-muted);font-size:.75rem}.intake-section--placeholder h2{color:var(--text-muted)}.intake-placeholder-card{background:var(--surface);border:1.5px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);text-align:center;padding:1.5rem 1rem;font-size:.85rem}.intake-save-row button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;align-self:flex-start;padding:.35rem 1rem;font-size:.8rem}.intake-save-row button:disabled{background:var(--border)}@media (width<=700px){.intake-layout{grid-template-columns:1fr;margin-top:3.5rem;margin-left:0}.intake-field-row{grid-template-columns:1fr}}.gait-page{flex-direction:column;justify-content:center;align-items:center;display:flex}.gait-layout{flex-direction:column;align-items:center;gap:2rem;margin-top:3rem;margin-left:5rem;display:flex}.gait-slots{background:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:center;gap:1px;display:flex;overflow:hidden}.gait-slot{background:var(--surface);flex-direction:column;align-items:center;display:flex}.gait-slot-media{aspect-ratio:9/16;background:#6b6b63;justify-content:center;align-items:center;width:clamp(220px,21vw,380px);display:flex;position:relative;overflow:hidden}.gait-slot-file-input{display:none}.gait-slot-upload-btn{color:var(--text);cursor:pointer;background:#ffffffe6;border:none;border-radius:999px;padding:.3rem .8rem;font-size:.75rem;position:absolute;bottom:.6rem;left:50%;transform:translate(-50%)}.gait-slot-upload-btn:hover{background:#fff}.gait-slot-media img,.gait-slot-media video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.gait-slot-fullscreenable{cursor:pointer}.gait-slot-fullscreenable:fullscreen{object-fit:contain;background:#000}.gait-slot-empty{color:#d8d8d0;text-align:center;padding:0 1rem;font-size:.75rem}.gait-slot-label{padding:.6rem .6rem 0;font-size:.85rem}.gait-slot-date{color:var(--text-muted);align-items:center;gap:.35rem;padding:0 .6rem .6rem;font-size:.7rem;display:flex}.gait-slot-edit-date,.gait-slot-delete-footage{cursor:pointer;background:0 0;border:none;align-items:center;padding:0;line-height:1;display:inline-flex}.gait-slot-edit-date img,.gait-slot-delete-footage img{object-fit:contain;opacity:.55;width:.95rem;height:.95rem;transition:opacity .15s;display:block}.gait-slot-edit-date:hover img,.gait-slot-delete-footage:hover img{opacity:1}.gait-slot-edit-date:disabled,.gait-slot-delete-footage:disabled{opacity:.5;cursor:default}.gait-add-footage-btn{border:1.5px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:999px;padding:.4rem .9rem;font-size:.85rem}.gait-add-footage-btn:hover{filter:brightness(1.08)}.gait-upload-filename{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin:-.5rem 0 0;font-size:.8rem;overflow:hidden}.gait-upload-hint{color:var(--accent);margin:0;font-size:.75rem}.gait-upload-date-fields{gap:.5rem;display:flex}.gait-upload-date-fields select,.gait-upload-date-fields input{border:1.5px solid var(--border);color:var(--text);background:0 0;border-radius:8px;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.gait-upload-date-fields select{flex:2}.gait-upload-date-fields input{flex:1;min-width:0}.gait-upload-date-fields select:focus,.gait-upload-date-fields input:focus{border-color:var(--accent);outline:none}.gait-session-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.gait-session-select{border:1.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:.4rem .9rem;font-family:inherit;font-size:.85rem}.gait-compare-toggle{border:1.5px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:.4rem .9rem;font-size:.85rem}.gait-compare-toggle.active{background:var(--active-bg);border-color:var(--active-bg);color:var(--active-text)}.gait-angle-picker{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.gait-angle-picker button{border:1.5px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:.35rem .8rem;font-size:.8rem}.gait-angle-picker button.active{background:var(--active-bg);border-color:var(--active-bg);color:var(--active-text)}.gait-compare-session-pickers{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.gait-compare-session-pickers select{border:1.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:.4rem .9rem;font-family:inherit;font-size:.85rem}.gait-compare-vs{color:var(--text-muted);font-size:.8rem}.gait-footer-row{flex-direction:column;align-items:center;gap:2rem;width:100%;display:flex}@media (width>=701px){.gait-footer-row{grid-template-columns:1fr auto 1fr;grid-auto-flow:dense;align-items:start;display:grid}.gait-footer-row .additional-files{grid-column:1;justify-self:start;width:min(400px,100%)}.gait-footer-row .gait-category-picker{grid-column:2;justify-self:center}}.gait-category-picker{gap:1rem;display:flex}.gait-category-picker img{width:72%;height:72%}.additional-files{width:100%;max-width:480px}.additional-files-toggle{border:1.5px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);background:#ffffff8c;justify-content:space-between;align-items:center;padding:.6rem 1rem;font-family:inherit;font-size:.9rem;display:flex}.additional-files-caret{color:var(--text-muted);transition:transform .15s}.additional-files-caret.open{transform:rotate(180deg)}.additional-files-panel{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);margin-top:.75rem;padding:1rem}.additional-files-empty{color:var(--text-muted);margin:0;font-size:.85rem}.additional-files-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.additional-files-item{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.4rem 0;font-size:.85rem;display:flex}.additional-files-item:last-child{border-bottom:none}.additional-files-type{color:var(--text-muted);background:#0000000f;border-radius:4px;flex-shrink:0;padding:.15rem .4rem;font-size:.65rem;font-weight:600}.additional-files-name{font:inherit;color:var(--accent);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:160px;padding:0;text-decoration:underline;overflow:hidden}.additional-files-label{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.additional-files-date{color:var(--text-muted);flex-shrink:0;margin-left:auto;font-size:.75rem}.additional-files-rename{align-items:center;gap:.3rem;min-width:0;display:flex}.additional-files-rename-input{font:inherit;border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:4px;width:160px;padding:.1rem .35rem;font-size:.85rem}.additional-files-rename button{font:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 .15rem}.additional-files-rename-trigger{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;line-height:1;display:inline-flex}.additional-files-rename-trigger img{object-fit:contain;opacity:.55;width:.85rem;height:.85rem;transition:opacity .15s;display:block}.additional-files-rename-trigger:hover img{opacity:1}.additional-files-delete{border:1.5px solid var(--border);background:var(--surface);width:20px;height:20px;color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;line-height:1;display:flex}.additional-files-delete:hover{color:#fff;background:#d64545;border-color:#d64545}.additional-files-add{border-top:1px solid var(--border);gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.additional-files-add input[type=text]{border:1.5px solid var(--border);color:var(--text);background:0 0;border-radius:8px;flex:1;padding:.5rem .75rem;font-family:inherit;font-size:.85rem}.additional-files-add input[type=text]:focus{border-color:var(--accent);outline:none}.additional-files-file-input{display:none}.additional-files-add button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;flex-shrink:0;padding:.5rem 1rem;font-size:.85rem}.additional-files-add button:disabled{background:var(--border);cursor:default}.additional-files-add .upload-progress{flex-shrink:0;min-width:120px}.additional-files-lightbox{z-index:200;box-sizing:border-box;background:#000000d9;justify-content:center;align-items:stretch;gap:1.5rem;padding:2rem;display:flex;position:fixed;inset:0}.additional-files-lightbox-sidebar{background:#ffffff52;border-radius:8px;flex:none;align-self:center;width:220px;max-height:100%;margin:0;padding:.5rem;list-style:none;overflow-y:auto}.additional-files-lightbox-sidebar-item{text-align:left;color:#ffffffbf;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;width:100%;padding:.55rem .6rem;font-size:.8rem;display:flex}.additional-files-lightbox-sidebar-item .additional-files-type{flex-shrink:0}.additional-files-lightbox-sidebar-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.additional-files-lightbox-sidebar-item:hover{color:#fff;background:#ffffff1a}.additional-files-lightbox-sidebar-item.active{background:var(--accent);color:#fff}.additional-files-lightbox-main{flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.additional-files-lightbox-img{object-fit:contain;max-width:100%;max-height:100%;box-shadow:var(--shadow-md);border-radius:6px}.additional-files-lightbox-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;width:40px;height:40px;font-size:1.5rem;line-height:1;position:fixed;top:1.25rem;right:1.5rem}.additional-files-lightbox-close:hover{background:#ffffff4d}.gait-upload-stack{z-index:90;flex-direction:column-reverse;gap:.5rem;width:300px;max-width:calc(100vw - 2.5rem);display:flex;position:fixed;bottom:1.25rem;right:1.25rem}.gait-upload-stack-row{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);opacity:1;border-radius:10px;flex-direction:column;gap:.4rem;padding:.65rem .85rem;transition:transform .35s,opacity .3s;display:flex;transform:translateY(0)}.gait-upload-stack-row--leaving{opacity:0;transform:translateY(160%)}.gait-upload-stack-row--error{border-color:#d64545}.gait-upload-stack-info{flex-direction:column;display:flex;overflow:hidden}.gait-upload-stack-label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.gait-upload-stack-filename{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.gait-upload-stack-progress{align-items:center;gap:.5rem;display:flex}.gait-upload-stack-progress-track{background:var(--border);border-radius:999px;flex:1;height:5px;overflow:hidden}.gait-upload-stack-progress-fill{background:var(--accent);height:100%;transition:width .15s}.gait-upload-stack-progress-pct{color:var(--text-muted);text-align:right;width:2.2rem;font-size:.7rem}.gait-upload-stack-check{color:var(--accent);align-self:flex-end;font-size:1rem;font-weight:700}.gait-upload-stack-error{color:#d64545;justify-content:space-between;align-items:center;gap:.5rem;font-size:.75rem;display:flex}.gait-upload-stack-error button{color:#d64545;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.1rem;line-height:1}@media (width<=700px){.gait-layout{box-sizing:border-box;align-items:stretch;width:100%;margin-top:1.5rem;margin-left:0;padding:0 .75rem}.gait-slots{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.gait-slot-media{width:100%;max-width:200px;margin:0 auto}.gait-category-picker,.additional-files,.gait-session-row,.gait-angle-picker,.gait-compare-session-pickers{align-self:center}.additional-files-lightbox{flex-direction:column;gap:.75rem;padding:4rem 1rem 1rem}.additional-files-lightbox-main{flex:1;order:1;min-height:0}.additional-files-lightbox-sidebar{flex-direction:column;flex:none;order:2;gap:.3rem;width:100%;max-height:30vh;display:flex;overflow:hidden auto}.additional-files-lightbox-sidebar li{flex:none;width:100%}.additional-files-lightbox-sidebar-item{width:100%}.additional-files{max-width:100%}.gait-upload-stack{left:1rem;right:1rem;bottom:calc(env(safe-area-inset-bottom,0px) + 5rem);width:auto;max-width:none}}.quest-layout{gap:2rem;margin-left:5rem;display:flex}.quest-sidebar{background:var(--surface);border-radius:var(--radius);width:250px;box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;gap:.5rem;height:fit-content;padding:1rem;display:flex}.quest-category-btn{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .8rem;font-size:.9rem;font-weight:600;transition:background-color .2s,color .2s;display:flex}.quest-category-btn:hover,.quest-category-btn.active{background:var(--active-bg);color:var(--active-text)}.quest-category-label{overflow-wrap:break-word;flex:1;align-items:center;gap:.85rem;min-width:0;display:flex}.quest-category-icon{object-fit:contain;flex-shrink:0;width:22px;height:22px}.quest-category-btn:hover .quest-category-icon,.quest-category-btn.active .quest-category-icon{filter:invert()brightness(2)}.quest-progress-ring{flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex;position:relative}.quest-progress-ring svg{width:100%;height:100%;display:block}.quest-progress-ring-track{stroke:#7f7f7f40}.quest-progress-ring-fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .3s}.quest-progress-ring-label{color:inherit;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:flex;position:absolute;inset:0}.quest-progress-ring--complete .quest-progress-ring-track,.quest-progress-ring--complete .quest-progress-ring-fill{stroke:#efbf04}.quest-progress-ring--complete{color:#efbf04}.quest-progress-ring--complete .quest-progress-ring-checkmark{width:20px;height:20px;margin:auto;position:absolute;inset:0}.quest-main{flex:1}.quest-view-toggle{gap:.5rem;margin-bottom:1.5rem;display:flex}.quest-view-toggle button{border:1.5px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:.4rem .9rem;font-size:.85rem}.quest-view-toggle button.active{background:var(--active-bg);border-color:var(--active-bg);color:var(--active-text)}.quest-table{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);flex-direction:column;max-width:560px;display:flex;overflow:hidden}.quest-row{border-bottom:1px solid var(--border);filter:grayscale()brightness(.85);align-items:center;gap:1rem;width:100%;padding:.6rem 1rem;transition:filter .2s,background-color .2s;display:flex}.quest-row:last-child{border-bottom:none}.quest-row:hover{filter:grayscale(0%)brightness();background:#00000008}.quest-row.completed{filter:grayscale(0%)brightness()}.quest-row-hit{cursor:pointer;text-align:left;min-width:0;font:inherit;color:var(--text);background:0 0;border:none;flex:1;align-items:center;gap:1rem;padding:0;display:flex}.quest-row-image{border-radius:4px;flex-shrink:0;display:block;overflow:hidden}.quest-row-image--square{width:36px;height:36px}.quest-row-image--portrait{width:36px;height:54px}.quest-row-image--landscape{width:56px;height:32px}.quest-row-image--empty{background:var(--border)}.quest-row-image img{object-fit:cover;width:100%;height:100%;display:block}.quest-row-text{flex:1;align-items:baseline;gap:.5rem;min-width:0;display:flex}.quest-row-title{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.quest-row-author{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:400;overflow:hidden}.quest-row-check{border:2px solid var(--accent);color:#fff;cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:.8rem;display:flex}.quest-row-check:disabled{cursor:default}.quest-row.completed .quest-row-check{background:var(--accent)}.quest-tree{flex-direction:column-reverse;gap:3rem;display:flex;position:relative}.quest-tree-row{justify-content:center;gap:3rem;display:flex;position:relative}.quest-card{border-radius:var(--radius);border:1.5px solid var(--border);background:var(--surface);filter:grayscale()brightness(.85);text-align:center;flex-direction:column;align-items:center;gap:.5rem;width:140px;padding:1rem .75rem;transition:filter .2s,border-color .2s,transform .2s;display:flex}.quest-card:hover{filter:grayscale(0%)brightness();transform:translateY(-2px)}.quest-card.completed{filter:grayscale(0%)brightness();border-color:var(--accent)}.quest-card-hit{cursor:pointer;text-align:center;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;align-items:center;gap:.5rem;padding:0;display:flex}.quest-card-image{border-radius:8px;display:block;overflow:hidden}.quest-card-image--square{width:90px;height:90px}.quest-card-image--portrait{width:78px;height:117px}.quest-card-image--landscape{width:142px;height:80px}.quest-card-image img{object-fit:cover;width:100%;height:100%;display:block}.quest-card-check{border:2px solid var(--accent);color:#fff;cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:.8rem;display:flex}.quest-card-check:disabled{cursor:default}.quest-card.completed .quest-card-check{background:var(--accent)}.quest-card-title{font-size:.85rem}.quest-card--floating{width:auto;box-shadow:none;background:0 0;border:none;gap:0;padding:0;position:relative}.quest-card--floating:hover{z-index:10;position:relative;transform:none}.quest-card--floating .quest-card-image{border-radius:4px;transition:transform .25s,box-shadow .25s;box-shadow:0 10px 24px #0000002e}.quest-card--floating:hover .quest-card-image{transform:scale(1.1);box-shadow:0 16px 34px #00000047}.quest-card--floating .quest-card-check{background:#fff;width:20px;height:20px;position:absolute;top:6px;right:6px;box-shadow:0 2px 6px #0003}.quest-card--floating .quest-card-title{white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-sm);background:#fffffff2;border-radius:6px;flex-direction:column;align-items:center;gap:.15rem;padding:.35rem .75rem;font-size:1rem;font-weight:600;transition:opacity .2s;display:flex;position:absolute;bottom:-2.6rem;left:50%;transform:translate(-50%)}.quest-card--floating:hover .quest-card-title{opacity:1}.quest-card-author{color:var(--text-muted);font-size:.8rem;font-weight:400}.quest-tree-diagonal{width:100%;height:420px;position:relative}.quest-tree-diagonal-line{width:100%;height:100%;position:absolute;inset:0}.quest-tree-diagonal-line line{stroke:#00000038;stroke-width:2px;vector-effect:non-scaling-stroke}.quest-tree-diagonal-item{position:absolute;transform:translate(-50%,50%)}.quest-tree-columns-scroll{width:100%}.quest-tree-columns{align-items:flex-end;gap:3.5rem;width:fit-content;margin:0 auto;display:flex;position:relative}.quest-tree-column{flex-direction:column-reverse;align-items:center;gap:2.5rem;display:flex;position:relative}.quest-tree-column-line{z-index:0;background:#00000038;width:2px;position:absolute;top:40px;bottom:40px;left:50%}.quest-tree-columns-baseline{z-index:0;background:#00000038;height:2px;position:absolute;bottom:40px;left:5%;right:5%}.quest-tree-column .quest-card--floating{z-index:1;position:relative}.quest-tree-column .quest-card--floating:hover{z-index:10}@media (width<=700px){.quest-layout{flex-direction:column;gap:1.5rem;margin-left:0}.quest-view-toggle{display:none}.quest-sidebar{box-sizing:border-box;width:100%}.quest-table{max-width:100%}.quest-tree-row{flex-wrap:wrap;gap:1.5rem}.quest-row-author{display:none}.quest-tree-diagonal{height:300px}.quest-tree-columns-scroll{padding-bottom:.5rem;overflow-x:auto}.quest-tree-columns{gap:1.75rem;margin:0}.quest-tree-column{gap:1.5rem}.quest-category-btn{gap:.4rem;padding:.55rem .65rem;font-size:.8rem}.quest-category-label{gap:.4rem}.quest-category-icon{width:19px;height:19px}.quest-progress-ring{width:36px;height:36px}.quest-progress-ring-label{font-size:.6rem}.quest-info-image--square img{width:130px;height:130px}.quest-info-image--portrait img{width:120px;height:180px}.quest-info-image--landscape img{width:210px;height:118px}}.modal-overlay.quest-info-overlay{-webkit-backdrop-filter:blur(10px);background:#14141466;padding:1.5rem}.quest-info-card{background:var(--surface);box-shadow:var(--shadow-md);border-radius:16px;flex-direction:column;width:380px;max-width:100%;max-height:85vh;display:flex;position:relative;overflow-y:auto}.quest-info-close{width:28px;height:28px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);z-index:1;background:#ffffffd9;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.2rem;line-height:1;display:flex;position:absolute;top:.75rem;right:.75rem}.quest-info-close:hover{color:var(--accent)}.quest-info-image{justify-content:center;padding:1.75rem 1.5rem 0;display:flex}.quest-info-image img{object-fit:cover;border-radius:10px;display:block;box-shadow:0 10px 24px #0000002e}.quest-info-image--square img{width:160px;height:160px}.quest-info-image--portrait img{width:150px;height:225px}.quest-info-image--landscape img{width:260px;height:146px}.quest-info-body{text-align:center;flex-direction:column;gap:.65rem;padding:1.25rem 1.5rem 1.5rem;display:flex}.quest-info-title{margin:0;font-size:1.15rem}.quest-info-author{color:var(--text-muted);margin:0;font-size:.85rem}.quest-info-bullets{text-align:left;flex-direction:column;gap:.4rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.quest-info-bullets li{color:var(--text);padding-left:1.1rem;font-size:.85rem;position:relative}.quest-info-bullets li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.5em;left:0}.quest-info-summary{color:var(--text);text-align:left;margin:.2rem 0 0;font-size:.85rem;line-height:1.55}.quest-info-link{background:var(--accent);color:#fff;border-radius:999px;align-self:center;margin-top:.5rem;padding:.55rem 1.35rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:opacity .15s}.quest-info-link:hover{opacity:.85}.quest-info-link--invite-only{background:var(--text-muted);cursor:default}.quest-info-link--invite-only:hover{opacity:1}.quest-info-card--landscape{flex-direction:row;align-items:stretch;width:640px;max-height:85vh;overflow:hidden}.quest-info-card--landscape .quest-info-image{flex-direction:column;flex-shrink:0;align-self:flex-start;align-items:center;gap:1rem;padding:1.75rem}.quest-info-card--landscape .quest-info-image .quest-info-link{align-self:center;margin-top:0}.quest-info-card--landscape .quest-info-body{text-align:left;flex:1;align-items:flex-start;min-width:0;padding:1.75rem 1.75rem 1.75rem 0;overflow-y:auto}@media (width<=700px){.quest-info-card--landscape{flex-direction:column;width:380px;max-height:85vh;overflow-y:auto}.quest-info-card--landscape .quest-info-image{align-self:auto;align-items:center;padding:1.75rem 1.5rem 0}.quest-info-card--landscape .quest-info-body{text-align:center;align-items:center;padding:1.25rem 1.5rem 1.5rem;overflow-y:visible}}.admin-catalog-page h1{text-align:center}.admin-error{color:#7a1f1f;cursor:pointer;text-align:center;background:#fdecea;border-radius:8px;max-width:700px;margin:0 auto 1rem;padding:.75rem 1rem}.admin-catalog-layout{align-items:flex-start;gap:2rem;max-width:1100px;margin:2rem auto 0;display:flex}.admin-categories{background:var(--surface);border-radius:var(--radius);width:260px;box-shadow:var(--shadow-sm);flex-shrink:0;padding:1rem}.admin-categories h2,.admin-items h2{margin-top:0;font-size:1rem}.admin-categories ul{margin:0 0 1rem;padding:0;list-style:none}.admin-categories li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0;display:flex}.admin-categories li.active .admin-category-select{color:var(--accent);font-weight:600}.admin-category-select{cursor:pointer;text-align:left;color:var(--text);background:0 0;border:none;flex:1;font-size:.9rem}.admin-row-actions{gap:.25rem;display:flex}.admin-row-actions button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:4px;padding:.15rem .4rem;font-size:.75rem}.admin-row-actions button:disabled{opacity:.3;cursor:default}.admin-delete-btn{color:#b33}.admin-add-form{gap:.5rem;display:flex}.admin-add-form input{border:1px solid var(--border);border-radius:6px;flex:1;min-width:0;padding:.4rem;font-size:.85rem}.admin-add-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.4rem .6rem;font-size:.8rem}.admin-items{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex:1;padding:1rem;overflow-x:auto}.admin-items-table{border-collapse:collapse;width:100%;font-size:.85rem}.admin-items-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:.4rem;font-size:.75rem}.admin-items-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.4rem}.admin-items-table input,.admin-items-table select{border:1px solid var(--border);box-sizing:border-box;border-radius:4px;width:100%;padding:.25rem;font-size:.8rem}.admin-image-path{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-family:ui-monospace,monospace;font-size:.75rem;overflow:hidden}.admin-add-item-form{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.admin-add-item-form input,.admin-add-item-form select{border:1px solid var(--border);border-radius:6px;padding:.4rem;font-size:.85rem}.admin-add-item-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.4rem .8rem;font-size:.85rem}@media (width<=700px){.admin-catalog-page h1{margin-top:3rem}.admin-catalog-layout{flex-direction:column;align-items:stretch}.admin-categories{box-sizing:border-box;width:100%}.admin-items{box-sizing:border-box;max-width:100%}}.gmail-sync-page h1{text-align:center}.gmail-sync-intro{text-align:center;max-width:560px;color:var(--text-muted);margin:.5rem auto 1.5rem}.gmail-sync-actions{justify-content:center;margin-bottom:1.5rem;display:flex}.gmail-sync-results{grid-template-columns:repeat(3,1fr);align-items:start;gap:1.5rem;max-width:1200px;margin:0 auto;display:grid}@media (width<=960px){.gmail-sync-results{grid-template-columns:1fr}}.gmail-sync-column h2{text-align:center;margin-bottom:.75rem;font-size:1.1rem}.gmail-sync-empty{color:var(--text-muted);text-align:center}.gmail-sync-row{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:.6rem;margin-bottom:.75rem;padding:1rem 1.25rem;transition:transform .32s,opacity .32s;display:flex}.gmail-sync-row--busy{animation:1s ease-in-out infinite gmail-sync-pulse}@keyframes gmail-sync-pulse{0%,to{opacity:1}50%{opacity:.55}}.gmail-sync-row--leaving{opacity:0;transform:translate(-120%)}.gmail-sync-note{color:var(--text-muted);font-size:.9rem}.gmail-sync-note--credit{color:var(--accent);font-weight:600}.gmail-sync-note--debt{color:#b3261e;font-weight:600}.gmail-sync-preview{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.3rem;padding:.6rem .75rem;font-size:.9rem;display:flex}.gmail-sync-preview-row{justify-content:space-between;gap:.75rem;display:flex}.gmail-sync-preview-line{color:var(--text-muted);font-size:.85rem}.gmail-sync-preview-total{border-top:1px solid var(--border);margin-top:.1rem;padding-top:.3rem;font-weight:700}.gmail-sync-preview-total--credit{color:var(--accent)}.gmail-sync-preview-total--debt{color:#b3261e}.gmail-sync-preview-total--even{color:var(--text)}.gmail-sync-preview-block+.gmail-sync-preview-block{border-top:1px solid var(--border);padding-top:.5rem}.gmail-sync-preview-name{font-size:.85rem;font-weight:700}.gmail-sync-split-row{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.gmail-sync-split-amount{align-items:center;gap:.15rem;display:inline-flex}.gmail-sync-split-amount input{border:1px solid var(--border);width:4.5rem;font-family:var(--font-sans);color:var(--text);background:var(--surface);border-radius:6px;padding:.2rem .4rem;font-size:.9rem}.gmail-sync-row-actions{justify-content:flex-end;gap:.5rem;display:flex}.gmail-sync-client-picker{border:1px solid var(--border);width:100%;font-family:var(--font-sans);color:var(--text);background:var(--surface);border-radius:6px;padding:.4rem .6rem;font-size:.95rem}.gmail-sync-link-btn{color:var(--accent);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline}.income-page h1{text-align:center}.income-tracking-note{text-align:center;color:var(--text-muted);max-width:500px;margin:.25rem auto 0;font-size:.8rem}.income-layout{max-width:900px;margin:2rem auto 0}.income-summary{background:var(--surface);border:1px solid var(--border);border-radius:12px;justify-content:center;align-items:center;gap:3rem;margin-bottom:1.25rem;padding:1.25rem 1rem;display:flex}.income-summary-stat{flex-direction:column;align-items:center;gap:.2rem;display:flex}.income-summary-value{color:var(--accent);font-size:1.6rem;font-weight:700}.income-summary-label{color:var(--text-muted);text-align:center;font-size:.8rem}.income-summary-stat--revenue{gap:.35rem}.income-summary-period-toggle{gap:.3rem;margin-bottom:.5rem;display:flex}.income-summary-period-toggle button{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.15rem .6rem;font-size:.7rem}.income-summary-period-toggle button.active{background:var(--accent);border-color:var(--accent);color:#fff}.income-granularity-toggle{justify-content:center;gap:.4rem;margin-bottom:1.5rem;display:flex}.income-granularity-toggle button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.35rem 1.1rem;font-size:.85rem}.income-granularity-toggle button.active{background:var(--accent);border-color:var(--accent);color:#fff}.income-notpaid-toggle{justify-content:center;margin-bottom:1.5rem;display:flex}.income-notpaid-toggle button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.35rem 1.1rem;font-size:.85rem}.income-notpaid-toggle button.active{color:#b3261e;background:#fdecea;border-color:#b3261e}.income-empty{text-align:center;color:var(--text-muted)}.income-groups{flex-direction:column;gap:1rem;display:flex}.income-group{background:var(--bg);border:1px solid var(--border);border-radius:10px;overflow:hidden}.income-group-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;padding:.75rem 1rem;display:flex}.income-group-header h2{margin:0;font-size:1rem}.income-group-tally{color:var(--text-muted);white-space:nowrap;font-size:.85rem}.income-session-list{margin:0;padding:0;list-style:none}.income-session-row{border-bottom:1px solid var(--border);grid-template-columns:76px minmax(0,1fr) minmax(0,1fr) 84px 104px;align-items:center;gap:.75rem;padding:.55rem 1rem;font-size:.85rem;display:grid}.income-session-row:last-child{border-bottom:none}.income-session-date{color:var(--text-muted)}.income-session-client{color:var(--text);font-weight:600;text-decoration:none}.income-session-client:hover{text-decoration:underline}.income-session-service{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.income-session-price{text-align:right;font-weight:600}@media (width<=700px){.income-page h1{margin-top:3rem}.income-summary{gap:2rem}.income-session-row{grid-template-columns:56px minmax(0,1fr) 60px 96px}.income-session-service{display:none}}.accounting-page h1{text-align:center}.accounting-layout{max-width:1100px;margin:2rem auto 0}.accounting-tab-toggle{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-bottom:1.5rem;display:flex}.accounting-tab-toggle button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.35rem 1.1rem;font-size:.85rem}.accounting-tab-toggle button.active{background:var(--accent);border-color:var(--accent);color:#fff}.accounting-summary{background:var(--surface);border:1px solid var(--border);border-radius:12px;justify-content:center;align-items:center;gap:3rem;margin-bottom:1.25rem;padding:1.25rem 1rem;display:flex}.accounting-summary-stat{flex-direction:column;align-items:center;gap:.2rem;display:flex}.accounting-summary-value{color:var(--accent);font-size:1.6rem;font-weight:700}.accounting-summary-stat--net .accounting-summary-value{color:#14b657}.accounting-summary-stat--expense .accounting-summary-value,.accounting-summary-stat--net.negative .accounting-summary-value{color:#b3261e}.accounting-summary-label{color:var(--text-muted);text-align:center;font-size:.8rem}.accounting-toolbar{justify-content:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.accounting-add-btn,.accounting-import-btn{cursor:pointer;background:var(--accent);color:#fff;border:none;border-radius:999px;padding:.5rem 1.25rem;font-size:.85rem}.accounting-import-btn{background:var(--surface);color:var(--text);border:1px solid var(--border)}.accounting-add-btn:disabled,.accounting-import-btn:disabled{opacity:.6;cursor:default}.overview-section-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.accounting-syncing-note{color:var(--accent);font-size:.8rem}.overview-account-rename{align-items:center;gap:.25rem;display:flex}.overview-account-rename input{border:1px solid var(--accent);border-radius:6px;flex:1;min-width:0;padding:.2rem .4rem;font-family:inherit;font-size:.82rem}.overview-account-rename button{background:var(--border);color:var(--text);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;width:20px;height:20px;padding:0;font-size:.75rem;line-height:1}.overview-plaid-items{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.dashboard-grid{grid-template-columns:repeat(4,1fr);align-items:stretch;gap:1.25rem;display:grid}.dashboard-card{background:var(--surface);border-radius:16px;flex-direction:column;gap:.6rem;padding:1.75rem;display:flex;position:relative;box-shadow:0 1px 2px #0f172a0a,0 8px 24px #0f172a0d}.dashboard-card--income,.dashboard-card--expense{grid-column:span 1}.dashboard-card--activity{grid-column:span 2}.dashboard-card--balance,.dashboard-card--category{grid-column:span 2;min-height:260px}.dashboard-balance-pair{flex-direction:column;grid-column:span 2;gap:1.25rem;display:flex}.dashboard-card--cash,.dashboard-card--debt{flex:1}.dashboard-card--accounts{grid-column:span 2}.dashboard-card[role=button]{cursor:pointer;transition:box-shadow .15s,transform .15s}.dashboard-card[role=button]:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0f172a0f,0 16px 32px #0f172a17}.dashboard-card[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dashboard-card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.dashboard-card-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);align-items:center;gap:.4rem;font-size:.72rem;font-weight:700;display:flex}.dashboard-card-value{font-size:2rem;font-weight:700;line-height:1.1}.dashboard-card--income .dashboard-card-value{color:#14b657}.dashboard-card--expense .dashboard-card-value{color:#b3261e}.dashboard-card-sublabel{color:var(--text-muted);font-size:.78rem}.dashboard-card-menu-wrap{z-index:5;position:relative}.dashboard-card-menu-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem;display:flex}.dashboard-card-menu-btn:hover{background:var(--bg);color:var(--text)}.dashboard-menu-backdrop{z-index:40;position:fixed;inset:0}.dashboard-card-menu{z-index:41;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:12px;flex-direction:column;min-width:150px;padding:.35rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0}.dashboard-card-menu button{text-align:left;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:.4rem .6rem;font-family:inherit;font-size:.82rem}.dashboard-card-menu button:hover{background:var(--bg)}.dashboard-card-menu button.active{background:var(--accent-fill,#e6f7ee);color:var(--accent);font-weight:600}.dashboard-alert-icon{color:#c2451a;display:inline-flex}.dashboard-card-arrow-btn{background:var(--bg);color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.dashboard-card-arrow-btn:hover{background:var(--accent-fill,#e6f7ee);color:var(--accent)}.dashboard-activity-list{flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.dashboard-activity-list li{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.6rem;padding:.45rem 0;font-size:.85rem;display:grid}.dashboard-activity-list li:last-child{border-bottom:none}.dashboard-activity-merchant{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-chart-legend{color:var(--text-muted);gap:.75rem;font-size:.75rem;display:flex}.dashboard-chart-legend-item{align-items:center;gap:.3rem;display:flex}.dashboard-chart-legend-swatch{border-radius:50%;width:8px;height:8px;display:inline-block}.dashboard-chart-legend-swatch--income{background:#14b657}.dashboard-chart-legend-swatch--expense{background:#b3261e}.dashboard-line-chart-wrap{flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex}.dashboard-line-chart{flex:1;width:100%;min-height:120px}.dashboard-line-chart-path{fill:none;stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round}.dashboard-line-chart-path--income{stroke:#14b657}.dashboard-line-chart-path--expense{stroke:#b3261e}.dashboard-line-chart-labels{color:var(--text-muted);justify-content:space-between;font-size:.7rem;display:flex}.dashboard-donut-wrap{flex:1;align-items:center;gap:1.5rem;min-height:0;display:flex}.dashboard-donut{border-radius:50%;flex-shrink:0;width:140px;height:140px;position:relative}.dashboard-donut-hole{background:var(--surface);border-radius:50%;position:absolute;inset:24%}.dashboard-donut-legend{flex-direction:column;flex:1;gap:.5rem;min-width:0;margin:0;padding:0;list-style:none;display:flex}.dashboard-donut-legend li{align-items:center;gap:.5rem;font-size:.8rem;display:flex}.dashboard-donut-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.dashboard-donut-legend-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dashboard-donut-legend-pct{color:var(--text-muted);font-variant-numeric:tabular-nums}.dashboard-account-stack{flex-direction:column;display:flex}.dashboard-account-stack-item{margin-top:-52px}.dashboard-account-stack-item:first-child{margin-top:0}.dashboard-account-stack-more{text-align:center;color:var(--text-muted);margin:.5rem 0 0;font-size:.78rem}.dashboard-account-card{color:#fff;box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;gap:.6rem;min-height:110px;padding:.9rem 1rem;display:flex}.dashboard-account-card--checking{background:linear-gradient(135deg,#1f9e57,#14b657)}.dashboard-account-card--savings{background:linear-gradient(135deg,#0f7d8f,#14a5b3)}.dashboard-account-card--credit{background:linear-gradient(135deg,#2b2f38,#4a5262)}.dashboard-account-card--loan{background:linear-gradient(135deg,#8a5a1f,#b3760a)}.dashboard-account-card-top{justify-content:space-between;align-items:center;display:flex}.dashboard-account-card-logo{object-fit:contain;background:#ffffffe6;border-radius:4px;max-width:90px;height:20px;padding:2px 4px}.dashboard-account-card-logo-fallback{opacity:.85;flex-shrink:0;width:22px;height:22px}.dashboard-account-card-type{text-transform:uppercase;letter-spacing:.04em;opacity:.85;font-size:.68rem}.dashboard-account-card-mask{letter-spacing:.1em;font-size:.95rem;font-weight:600}.dashboard-account-card-bottom{justify-content:space-between;align-items:flex-end;gap:.5rem;display:flex}.dashboard-account-card-name{opacity:.9;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.dashboard-account-card-balance{white-space:nowrap;font-size:.95rem;font-weight:700}.dashboard-account-manage-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.dashboard-account-manage-row{flex-direction:column;gap:.5rem;display:flex}.dashboard-account-manage-actions{gap:.6rem;display:flex}.dashboard-account-action-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;flex:1;padding:.3rem .9rem;font-size:.78rem}.dashboard-account-action-btn:hover{border-color:var(--text)}.dashboard-account-action-btn--remove:hover{color:#b3261e;border-color:#b3261e}.dashboard-balance-list{border:1px solid var(--border);border-radius:10px;margin:0 0 1rem;padding:0;list-style:none;overflow:hidden}.dashboard-balance-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .9rem;font-size:.88rem;display:flex}.dashboard-balance-list li:last-child{border-bottom:none}.dashboard-balance-list li button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:.78rem}.dashboard-balance-list li button:hover{color:#b3261e}.dashboard-manual-balance-form{gap:.5rem;margin-bottom:1.5rem;display:flex}.dashboard-manual-balance-form input{border:1.5px solid var(--border);border-radius:8px;padding:.45rem .7rem;font-family:inherit;font-size:.85rem}.dashboard-manual-balance-form input:first-child{flex:1;min-width:0}.dashboard-manual-balance-form input:nth-child(2){width:100px}.dashboard-manual-balance-form button{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:.45rem .9rem;font-size:.85rem}.dashboard-detail-overlay{background:var(--bg);z-index:60;position:fixed;inset:0;overflow-y:auto}.dashboard-detail-panel{max-width:1100px;margin:0 auto;padding:4.5rem 1.5rem 3rem;position:relative}.dashboard-detail-content h2{text-align:center;margin:0 0 1.25rem}.dashboard-detail-content h3{margin:1.5rem 0 .75rem;font-size:.95rem}.dashboard-detail-total{text-align:center;margin:0 0 1.5rem;font-size:2rem;font-weight:700}.dashboard-detail-mode-toggle{justify-content:center;gap:.4rem;margin-bottom:1.5rem;display:flex}.dashboard-detail-mode-toggle button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.35rem 1.1rem;font-size:.85rem}.dashboard-detail-mode-toggle button.active{background:var(--accent);border-color:var(--accent);color:#fff}.accounting-needs-attention-chip{color:#c2451a;cursor:pointer;background:#fff;border:1px solid #f3b394;border-radius:999px;padding:.3rem .9rem;font-family:inherit;font-size:.8rem}.accounting-needs-attention-chip.active{background:#ffe0d6}.accounting-filter-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.accounting-filter-toggle{gap:.3rem;display:flex}.accounting-filter-toggle button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.3rem .9rem;font-size:.8rem}.accounting-filter-toggle button.active{background:var(--accent);border-color:var(--accent);color:#fff}.accounting-account-filter{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:.3rem .9rem;font-size:.8rem}.accounting-account-badge{text-overflow:ellipsis;white-space:nowrap;color:#fff;border-radius:999px;max-width:100%;padding:.2rem .65rem;font-size:.68rem;font-weight:600;display:inline-block;overflow:hidden}.accounting-account-badge--checking{background:linear-gradient(135deg,#1f9e57,#14b657)}.accounting-account-badge--savings{background:linear-gradient(135deg,#0f7d8f,#14a5b3)}.accounting-account-badge--credit{background:linear-gradient(135deg,#2b2f38,#4a5262)}.accounting-account-badge--loan{background:linear-gradient(135deg,#8a5a1f,#b3760a)}.accounting-expense-amount.income{color:#14b657}.accounting-expense-amount.expense{color:#b3261e}.accounting-direction-toggle{gap:.4rem;margin:-.25rem 0 .75rem;display:flex}.accounting-direction-toggle button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:8px;flex:1;padding:.4rem;font-size:.8rem}.accounting-direction-toggle button.active{border-color:var(--accent);background:var(--accent-fill,#e6f7ee);color:var(--accent)}.accounting-plaid-items{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin:-.75rem 0 1.25rem;display:flex}.accounting-plaid-items-list{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.accounting-plaid-item-chip{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .4rem .25rem .75rem;font-size:.78rem;display:inline-flex}.accounting-plaid-item-chip button{background:var(--border);color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:.85rem;line-height:1;display:flex}.accounting-plaid-item-chip button:hover{color:#fff;background:#b3261e}.accounting-sync-btn{border:1px solid var(--accent);background:var(--accent-fill,#e6f7ee);color:var(--accent);cursor:pointer;border-radius:999px;padding:.35rem 1rem;font-size:.8rem}.accounting-sync-btn:disabled{opacity:.6;cursor:default}.accounting-import-result{text-align:center;color:var(--accent);margin:-.75rem 0 1rem;font-size:.85rem}.accounting-needs-review-callout{text-align:center;color:#c2451a;cursor:pointer;background:#ffe0d6;border:1px solid #f3b394;border-radius:8px;width:100%;margin-bottom:1rem;padding:.5rem .75rem;font-family:inherit;font-size:.85rem;font-weight:600;display:block}.accounting-needs-review-callout:hover{background:#ffd2c2}.accounting-empty{text-align:center;color:var(--text-muted)}.accounting-expense-list{background:var(--bg);border:1px solid var(--border);border-radius:10px;margin:0;padding:0;list-style:none;overflow:hidden}.accounting-expense-row{border-bottom:1px solid var(--border);grid-template-columns:90px minmax(0,1fr) 150px 150px 90px 100px;align-items:center;gap:.75rem;padding:.65rem 1.1rem;font-size:.85rem;display:grid}.accounting-expense-row:last-child{border-bottom:none}.accounting-expense-row.personal{border-left:3px solid #8b5cf6;padding-left:calc(1rem - 3px)}.accounting-expense-row.needs-review{border-left:3px solid #c2451a;padding-left:calc(1rem - 3px)}.accounting-expense-row--pending{opacity:.88;border-left:3px dashed #64748b;padding-left:calc(1rem - 3px)}.accounting-pending-heading{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:.9rem 0 .25rem;font-size:.72rem;font-weight:700}.accounting-expense-date{color:var(--text-muted)}.accounting-expense-merchant{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.4rem;display:flex;overflow:hidden}.accounting-merchant-title{text-overflow:ellipsis;overflow:hidden}.accounting-merchant-title-btn{font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0}.accounting-merchant-title-btn:hover{color:var(--accent);text-decoration:underline}.accounting-full-title-text{word-break:break-word;font-size:1rem}.accounting-expense-account{min-width:0}.accounting-mark-personal-btn{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border-radius:999px;flex-shrink:0;padding:.1rem .5rem;font-family:inherit;font-size:.65rem;transition:opacity .15s}.accounting-expense-row:hover .accounting-mark-personal-btn{opacity:1}.accounting-mark-personal-btn:hover{color:#6d3fc0;border-color:#8b5cf6}.accounting-category-badge{background:var(--accent-fill,#e6f7ee);color:var(--accent);text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;overflow:hidden}.accounting-pending-badge{border:1.5px dashed var(--border);color:var(--text-muted);text-align:center;white-space:nowrap;background:0 0;border-radius:999px;padding:.2rem .6rem;font-size:.72rem}.accounting-category-badge-btn{cursor:pointer;border:none;font-family:inherit;transition:filter .1s}.accounting-category-badge-btn:hover{filter:brightness(.93)}.accounting-category-picker-modal{width:auto;max-width:92vw}.accounting-category-picker-grid{gap:.6rem;display:flex}.accounting-category-picker-col{flex-direction:column;gap:.4rem;display:flex}.accounting-category-picker-col--personal{border-left:1px solid var(--border);padding-left:.6rem}.accounting-category-picker-pill{cursor:pointer;text-align:left;white-space:nowrap;border:2px solid #0000;font-family:inherit}.accounting-category-picker-pill:hover{filter:brightness(.93)}.accounting-category-picker-pill.active{border-color:var(--text)}.category-color-sky{color:#1f6fb3;background:#dbeeff}.category-color-cyan{color:#0b7ba8;background:#d9f2fb}.category-color-orange{color:#b35c00;background:#ffe4cc}.category-color-teal{color:#0f9488;background:#d9f5f0}.category-color-indigo{color:#5b3fc4;background:#e5e0ff}.category-color-slate{color:#47607a;background:#e2e8f0}.category-color-blue{color:#3151c4;background:#dde5ff}.category-color-brown{color:#7a5c2e;background:#efe3d3}.category-color-pink{color:#c23573;background:#ffe0ef}.category-color-fuchsia{color:#b3319c;background:#fbe0f5}.category-color-lime{color:#5c8a0a;background:#eaf7d5}.category-color-yellow{color:#a3860a;background:#fdf6d5}.category-color-stone{color:#6b6459;background:#e8e6e1}.category-color-amber{color:#b3760a;background:#fdf0d5}.category-color-violet{color:#6d3fc0;background:#e8def8}.category-color-plum{color:#9c3f82;background:#f3e3ef}.category-color-green{color:#14b657;background:#e6f7ee}.category-color-emerald{color:#0f8f5f;background:#d7f5e9}.category-color-neutral{color:#7a7a7a;background:#eaeaea}.category-color-graphite{color:#3d4650;background:#dde1e6}.category-color-coral{color:#c2451a;background:#ffe0d6}.category-color-rose{color:#b4324a;background:#fde2e4}.accounting-expense-amount{text-align:right;font-weight:600}.accounting-expense-actions{justify-content:flex-end;gap:.5rem;display:flex}.accounting-expense-actions button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem}.accounting-expense-actions button:hover{color:var(--text);text-decoration:underline}.accounting-pl-period{justify-content:center;gap:.6rem;margin-bottom:1.25rem;display:flex}.accounting-pl-period select{border:1.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:.4rem .6rem;font-size:.85rem}.accounting-unreviewed-note{text-align:center;color:#b3760a;background:#fdf0d5;border-radius:8px;margin-bottom:1rem;padding:.5rem .75rem;font-size:.8rem}.accounting-category-table{border-collapse:collapse;width:100%;margin-bottom:1.25rem;font-size:.85rem}.accounting-category-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);padding:.4rem .6rem;font-size:.75rem;font-weight:600}.accounting-category-table td{border-bottom:1px solid var(--border);padding:.5rem .6rem}.accounting-category-table td:nth-child(2){font-weight:600}.accounting-tax-line{color:var(--text-muted);font-size:.78rem}.accounting-category-flag-dot{background:#b3760a;border-radius:50%;width:6px;height:6px;margin-left:.4rem;display:inline-block}.accounting-export-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;margin:0 auto 1rem;padding:.5rem 1.25rem;font-size:.85rem;display:block}.accounting-disclaimer{text-align:center;color:var(--text-muted);max-width:480px;margin:0 auto;font-size:.78rem}.accounting-form-field{flex-direction:column;gap:.25rem;display:flex}.accounting-checkbox-field{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.accounting-checkbox-field input{width:auto}.accounting-save-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:.5rem 1.25rem;font-size:.9rem}.accounting-save-btn:disabled{background:var(--border);cursor:default}.accounting-import-modal{width:460px;max-width:90vw}.accounting-import-modal--wide{width:720px}.accounting-column-map{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.accounting-import-skipped{color:#b3760a;margin:-.25rem 0 0;font-size:.8rem}.accounting-review-list{flex-direction:column;gap:.4rem;max-height:50vh;display:flex;overflow-y:auto}.accounting-review-row{border:1px solid var(--border);border-radius:8px;grid-template-columns:auto 76px minmax(0,1fr) 76px 190px auto;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.82rem;display:grid}.accounting-review-row.duplicate{opacity:.55}.accounting-review-row input[type=checkbox]{width:auto}.accounting-review-date{color:var(--text-muted);white-space:nowrap}.accounting-review-merchant{border:1px solid var(--border);border-radius:6px;min-width:0;padding:.3rem .5rem;font-size:.82rem}.accounting-review-amount{text-align:right;white-space:nowrap;font-weight:600}.accounting-review-row select{border:1px solid var(--border);border-radius:6px;padding:.3rem .4rem;font-size:.78rem}.accounting-duplicate-badge{color:var(--text-muted);white-space:nowrap;font-size:.68rem}@media (width<=700px){.accounting-page h1{margin-top:3rem}.accounting-summary{gap:1.5rem}.accounting-expense-row{grid-template-columns:60px minmax(0,1fr) 78px}.accounting-category-badge,.accounting-pending-badge,.accounting-expense-account,.accounting-mark-personal-btn{display:none}.accounting-expense-actions{grid-column:1/-1;justify-content:flex-start}.accounting-column-map{grid-template-columns:1fr}.accounting-review-row{grid-template-columns:auto minmax(0,1fr)}.accounting-review-date,.accounting-review-amount,.accounting-review-row select,.accounting-duplicate-badge{grid-column:2}.overview-section-header{flex-direction:column;align-items:stretch}.dashboard-grid{grid-template-columns:1fr}.dashboard-card--income,.dashboard-card--expense,.dashboard-card--activity,.dashboard-card--balance,.dashboard-card--category,.dashboard-balance-pair,.dashboard-card--accounts{grid-column:span 1}.dashboard-activity-list li{grid-template-columns:minmax(0,1fr) auto}.dashboard-activity-list .accounting-category-badge,.dashboard-activity-list .accounting-pending-badge{display:none}.dashboard-donut-wrap{flex-direction:column;align-items:stretch;gap:1rem}.dashboard-donut{margin:0 auto}.dashboard-account-manage-list{grid-template-columns:1fr}.dashboard-detail-panel{padding:4.5rem 1rem 3rem}}.legal-page{justify-content:center;display:flex}.legal-card{background:var(--surface);border-radius:var(--radius);width:100%;max-width:720px;box-shadow:var(--shadow-sm);box-sizing:border-box;padding:2.5rem;line-height:1.6}.legal-back-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin-bottom:1.5rem;padding:0;font-family:inherit;font-size:.85rem;display:inline-block}.legal-back-link:hover{color:var(--text)}.legal-card h1{margin:0 0 .25rem;font-size:1.6rem}.legal-updated{color:var(--text-muted);margin:0 0 1.5rem;font-size:.85rem}.legal-card h2{margin:1.75rem 0 .5rem;font-size:1.15rem}.legal-card h3{margin:1.25rem 0 .5rem;font-size:1rem}.legal-card p,.legal-card li{color:var(--text);font-size:.95rem}.legal-card ul{margin:.25rem 0;padding-left:1.25rem}.legal-card li{margin-bottom:.4rem}.legal-footer-link{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.legal-footer-link a{color:var(--text-muted);font-size:.85rem}@media (width<=700px){.legal-card{padding:1.5rem}}.mfa-page{justify-content:center;display:flex}.mfa-card{background:var(--surface);border-radius:var(--radius);width:100%;max-width:480px;box-shadow:var(--shadow-sm);box-sizing:border-box;padding:2.5rem;line-height:1.6}.mfa-back-link{color:var(--text-muted);margin-bottom:1.5rem;font-size:.85rem;text-decoration:none;display:inline-block}.mfa-back-link:hover{color:var(--text)}.mfa-card h1{margin:0 0 1rem;font-size:1.6rem}.mfa-qr{box-sizing:border-box;background:#fff;border-radius:8px;width:200px;height:200px;margin:1rem auto;padding:.75rem;display:block}.mfa-secret-fallback{text-align:center;color:var(--text-muted);word-break:break-all;font-size:.85rem}.mfa-status-on{color:var(--accent);font-weight:600}.mfa-cancel-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;margin-top:.75rem;padding:.5rem 1rem}.mfa-cancel-btn:hover{background:var(--active-bg)}.mfa-confirm-remove{margin-top:.75rem}@media (width<=700px){.mfa-card{padding:1.5rem}}
