:root{--ink:#0d0d0d;--paper:#f5f0e8;--accent:#c8102e;--line:#f5f0e81f;--surface:#1a1a1a;--surface-2:#232323;--font-body:"Plus Jakarta Sans", sans-serif;--font-title:"Syne", sans-serif;--font-display:"Cinzel", serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ink);color:var(--paper);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain;margin:0}h1,h2,h3{font-family:var(--font-title);margin:0}button{font-family:var(--font-body)}.screen{flex-direction:column;gap:1.25rem;max-width:480px;min-height:100dvh;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex}.screen-content{flex-direction:column;gap:.75rem;display:flex}.pull-refresh-indicator{justify-content:center;align-items:center;transition:height .15s ease-out;display:flex;overflow:hidden}.pull-refresh-spinner{border:2px solid #f5f0e840;border-top-color:var(--accent);border-radius:999px;width:1.4rem;height:1.4rem;display:block}.pull-refresh-spinner.spinning{animation:.7s linear infinite pull-refresh-spin}@keyframes pull-refresh-spin{to{transform:rotate(360deg)}}.login-screen{text-align:center;justify-content:center;align-items:center;gap:.75rem}.login-logo{object-fit:cover;border-radius:50%;width:88px;height:88px;margin-bottom:.5rem}.login-title{font-family:var(--font-display);letter-spacing:.04em;font-size:2rem}.login-subtitle{color:#f5f0e8a6;margin:0 0 1rem}.artist-list{flex-direction:column;gap:.75rem;width:100%;display:flex}.login-form{text-align:left;flex-direction:column;gap:1rem;width:100%;margin-top:.5rem;display:flex}.form-error{color:var(--accent);margin:0;font-size:.9rem}.form-hint{color:#f5f0e8ad;margin:-.5rem 0 .5rem;font-size:.8rem;line-height:1.4}.section-title+.form-hint{margin-top:.4rem}.warning-banner{background:#d9a4411a;border:1px solid #d9a441;border-radius:.5rem;align-items:flex-start;gap:.6rem;margin-bottom:.75rem;padding:.65rem .75rem;font-size:.8rem;line-height:1.5;display:flex}.warning-banner .icon{color:#d9a441;font-size:1rem}.warning-banner strong{color:#d9a441}.artist-button{border:1px solid var(--line);background:var(--surface);color:var(--paper);font-family:var(--font-title);cursor:pointer;border-radius:.5rem;padding:1rem;font-size:1.1rem}.artist-button:hover{border-color:var(--accent)}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.app-header-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0;font-size:.8rem}.app-header-title{font-size:1.5rem}.link-button{color:var(--paper);opacity:.75;cursor:pointer;background:0 0;border:none;margin:-.4rem -.25rem;padding:.5rem .35rem;font-size:.95rem}.link-button:hover{opacity:1;color:var(--accent)}.danger-link{color:var(--accent);opacity:.85}.danger-link:hover{opacity:1;text-decoration:underline}.tab-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.5rem;padding-bottom:.75rem;display:flex}.period-selector{flex-direction:column;gap:.6rem;display:flex}.period-tab-bar{border-bottom:none;padding-bottom:0}.period-value-input{background:var(--surface);border:1px solid var(--line);color:var(--paper);border-radius:.4rem;align-self:flex-start;padding:.5rem .75rem}.tab-button{border:1px solid var(--line);color:#f5f0e8b3;min-width:0;font-family:var(--font-title);white-space:nowrap;cursor:pointer;background:0 0;border-radius:.4rem;flex:1;padding:.55rem .3rem;font-size:.82rem}.tab-button.active{background:var(--surface);border-color:var(--accent);color:var(--paper)}.stats-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.chart-container{background:var(--surface);border:1px solid var(--line);border-radius:.5rem;padding:1rem .5rem .5rem}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:.5rem;padding:1rem}.stat-label{color:#f5f0e8a6;margin:0 0 .35rem;font-size:.8rem}.stat-value{font-family:var(--font-title);margin:0;font-size:1.4rem}.stock-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.stock-row{background:var(--surface);border:1px solid var(--line);border-radius:.4rem;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.stock-row.low{border-color:var(--accent)}.stock-row-right{align-items:center;gap:.6rem;display:flex}.stock-quantity{color:#f5f0e8bf}.stock-alert{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:.75rem;font-family:var(--font-title)}.purchase-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.purchase-row{background:var(--surface);border:1px solid var(--line);border-radius:.4rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.purchase-row-main{min-width:0}.purchase-quantity{color:var(--paper)}.purchase-date{color:#f5f0e899;font-size:.85rem}.purchase-actions{align-items:center;gap:.6rem;display:flex}.inline-actions{align-items:center;gap:1rem;display:flex}.inline-actions .confirm-button{flex:1;width:auto}.segmented{background:var(--surface-2);border-radius:.5rem;gap:.3rem;margin-bottom:1rem;padding:.25rem;display:flex}.segmented button{font:inherit;color:#f5f0e899;cursor:pointer;background:0 0;border:none;border-radius:.4rem;flex:1;padding:.55rem .4rem;font-size:.85rem}.segmented button.active{background:var(--accent);color:var(--paper);font-weight:600}.input-computed{color:#6fae86;margin-top:.25rem;font-size:.78rem}.cycle-banner{background:var(--surface);border:1px solid var(--line);border-radius:.4rem;align-items:center;gap:.5rem;padding:.6rem .75rem;font-weight:600;display:flex}.cycle-tag{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.1rem .45rem;font-size:.65rem}.cycle-tag.open{color:#d9a441;background:#d9a4412e}.cycle-tag.closed{color:#f5f0e899;background:#f5f0e81a}.expense-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.expense-row{background:var(--surface);border:1px solid var(--line);border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem;display:flex}.expense-row.inactive{opacity:.5}.expense-row-main{min-width:0}.expense-name{font-family:var(--font-title);margin:0}.expense-meta{color:#f5f0e8a6;margin:.15rem 0 0;font-size:.85rem}.expense-actions{gap:.75rem;display:flex}.commission-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.commission-row-full{background:var(--surface);border:1px solid var(--line);border-radius:.4rem;flex-direction:column;gap:.5rem;padding:.5rem .75rem;display:flex}.commission-row-full .commission-row{background:0 0;border:none;padding:0}.toggle-row{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:.6rem;padding-top:.45rem;display:flex}.toggle-label{color:#f5f0e8c7;font-size:.8rem}.switch{background:var(--surface-2);border:1px solid var(--line);cursor:pointer;border-radius:999px;flex-shrink:0;width:38px;height:22px;padding:0;position:relative}.switch.on{background:var(--accent);border-color:var(--accent)}.switch:disabled{opacity:.5;cursor:default}.switch .knob{background:var(--paper);border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px}.switch.on .knob{left:18px}.owner-note{color:#f5f0e880;margin:0;font-size:.74rem}.commission-guest-toggle{color:#f5f0e899;font-size:.76rem}.bulk-bonus-row{border:1px solid var(--line);border-top:1px solid var(--line);background:var(--surface);border-radius:.4rem;margin-bottom:.75rem;padding:.6rem .75rem}.bulk-bonus-row .toggle-label{font-family:var(--font-title);color:var(--paper);font-weight:600}.bracket-row{background:var(--surface);border:1px solid var(--line);border-radius:.4rem;flex-direction:column;gap:.6rem;margin-bottom:.6rem;padding:.7rem .75rem;display:flex}.bracket-row-new{border-style:dashed}.bracket-fields{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.bracket-field{flex-direction:column;gap:.3rem;display:flex}.bracket-field span{color:#f5f0e899;font-size:.72rem}.bracket-field input{background:var(--surface-2);border:1px solid var(--line);color:var(--paper);border-radius:.35rem;padding:.45rem .55rem;font-family:inherit;font-size:.9rem}.bracket-actions{border-top:1px dashed var(--line);gap:.6rem;padding-top:.3rem;display:flex}.commission-row{background:var(--surface);border:1px solid var(--line);border-radius:.4rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.commission-artist{font-family:var(--font-title)}.commission-controls{align-items:center;gap:.4rem;display:flex}.commission-input{background:var(--surface-2);border:1px solid var(--line);width:3.5rem;color:var(--paper);text-align:right;border-radius:.3rem;padding:.3rem .4rem}.commission-suffix{color:#f5f0e8a6}.appointment-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.appointment-card{background:var(--surface);border:1px solid var(--line);border-radius:.6rem;align-items:stretch;gap:.75rem;padding:.8rem;display:flex}.appointment-card.status-closed{opacity:.55}.appointment-date{font-family:var(--font-title);letter-spacing:.02em;color:#f5f0e8e6;margin:0 0 .15rem;font-size:.85rem;font-weight:600}.today-tag{color:var(--accent);font-weight:700}.appointment-time{color:#f5f0e8a6;margin:0;font-size:.85rem}.appointment-client{font-family:var(--font-title);margin:.15rem 0;font-size:1.1rem}.intimate-tag{font-size:.8rem;font-family:var(--font-title);color:var(--accent)}.project-tag{color:var(--accent);margin:.1rem 0 0;font-size:.75rem}.appointment-artist{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .15rem;font-size:.8rem}.appointment-value{color:#f5f0e8bf;margin:0}.appointment-actions{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.05em;color:#f5f0e899;font-size:.75rem}.status-badge.cancelled{color:#f5f0e866}.status-badge.no-show{color:#e05a5a}.cancel-menu{position:relative}.cancel-dropdown{z-index:45;background:var(--surface-2);border:1px solid var(--line);border-radius:.4rem;flex-direction:column;gap:.15rem;min-width:10rem;margin-top:.3rem;padding:.3rem;display:flex;position:absolute;top:100%;right:0}.cancel-dropdown button{text-align:left;font:inherit;color:var(--paper);cursor:pointer;background:0 0;border:none;border-radius:.3rem;padding:.45rem .6rem;font-size:.8rem}.cancel-dropdown button:hover{background:var(--surface)}.cancel-dropdown button.danger{color:#e05a5a}.cancel-dropdown.signal-prompt{min-width:13rem}.cancel-dropdown.signal-prompt p{color:#f5f0e8bf;margin:.2rem .6rem .4rem;font-size:.78rem}.payment-block{align-items:center;gap:.5rem;margin-top:.2rem;display:flex}.payment-amount{color:#f5f0e8bf;font-size:.8rem}.payment-status{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:.7rem}.payment-status.paid{color:#f5f0e880}.empty-state{text-align:center;color:#f5f0e8ad}.report-actions{margin:.75rem 0 1rem}.artist-report-list{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.artist-report-row{background:var(--surface);border:1px solid var(--line);border-radius:.4rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.primary-button{background:var(--accent);color:var(--paper);font-family:var(--font-title);cursor:pointer;border:none;border-radius:.4rem;padding:.65rem 1rem;font-weight:600}.primary-button:disabled{opacity:.4;cursor:not-allowed}.closeout-client{font-family:var(--font-title);margin:0;font-size:1.3rem}.field{flex-direction:column;gap:.35rem;display:flex}.field span{color:#f5f0e8b3;font-size:.85rem}.field input,.field select,.field textarea{background:var(--surface);border:1px solid var(--line);color:var(--paper);border-radius:.4rem;padding:.6rem .75rem;font-family:inherit;font-size:1rem}.checkbox-field{color:#f5f0e8d9;align-items:center;gap:.6rem;font-size:.9rem;display:flex}.section-title{border-top:1px solid var(--line);padding-top:1rem;font-size:1.05rem}.section-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem .75rem;display:flex}.section-title-row .section-title{flex:1;min-width:max-content}.icon-button{border:1px solid var(--line);background:var(--surface);width:2.3rem;height:2.3rem;color:var(--paper);opacity:.85;cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-button:hover{opacity:1;border-color:var(--accent);color:var(--accent)}.calc-trigger{flex-shrink:0;align-items:center;gap:.45rem;margin-left:auto;display:flex}.calc-trigger .calc-trigger-label{color:var(--accent);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;font-size:.66rem;font-weight:700}.value-calc-panel{background:var(--surface);border:1px solid var(--line);border-radius:.6rem;flex-direction:column;gap:.6rem;margin:.5rem 0;padding:.75rem;display:flex}.value-calc-panel .field{margin:0}.value-calc-result{background:color-mix(in srgb, var(--accent) 12%, var(--surface-2));border:1px solid var(--accent);color:#f5f0e8d9;border-radius:.5rem;justify-content:space-between;align-items:baseline;padding:.6rem .75rem;font-size:.85rem;display:flex}.value-calc-result strong{color:var(--paper);font-size:1.05rem}.agenda-section{margin-bottom:1rem}.agenda-section-title{align-items:center;gap:.5rem;display:flex}.agenda-section-title+.period-selector,.period-selector+.appointment-list{margin-top:.75rem}.alert-badge{background:var(--accent);min-width:1.15rem;height:1.15rem;color:var(--paper);border-radius:999px;justify-content:center;align-items:center;padding:0 .3rem;font-size:.65rem;font-weight:700;line-height:1;display:inline-flex}.tab-alert-badge{vertical-align:middle;margin-left:.35rem}.kpi-strip{background:var(--line);border:1px solid var(--line);border-radius:.5rem;grid-template-columns:repeat(2,1fr);gap:1px;display:grid;overflow:hidden}.kpi-tile{background:var(--surface);padding:.7rem .75rem}.kpi-tile-label{letter-spacing:.04em;text-transform:uppercase;color:#f5f0e88c;font-size:.65rem}.kpi-tile-value{font-family:var(--font-title);font-variant-numeric:tabular-nums;margin-top:.3rem;font-size:1.05rem}.kpi-tile-value.accent{color:var(--accent)}.kpi-tile-value.negative{color:#e05a5a}.dashboard-layout,.dashboard-main,.dashboard-sidebar{flex-direction:column;gap:1rem;display:flex}.dashboard-card{background:var(--surface);border:1px solid var(--line);border-radius:.5rem;padding:.9rem 1rem}.dashboard-card-head{justify-content:space-between;align-items:baseline;margin-bottom:.6rem;display:flex}.dashboard-card-head h2{font-size:.85rem;font-family:var(--font-title);margin:0}.dashboard-card-aside{color:#f5f0e88c;font-size:.7rem}.dashboard-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.dashboard-table{border-collapse:collapse;width:100%;font-size:.8rem}.dashboard-table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:#f5f0e88c;border-bottom:1px solid var(--line);padding:.4rem .3rem;font-size:.6rem;font-weight:600}.dashboard-table th.num,.dashboard-table td.num{text-align:right;font-variant-numeric:tabular-nums}.dashboard-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:.5rem .3rem}.dashboard-table-artist{font-weight:600}.rank-bar-cell{align-items:center;gap:.4rem;display:flex}.rank-bar-track{background:var(--surface-2);border-radius:999px;flex:1;min-width:2.5rem;height:5px;overflow:hidden}.rank-bar-fill{background:var(--accent);border-radius:999px;height:100%}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.65rem;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.pill.paid{color:#6fae86;background:#6fae861f}.pill.pending{color:#d9a441;background:#d9a4411f}.pill.neutral{color:#f5f0e88c;background:#f5f0e80f}.pill.neutral:before{display:none}.waterfall-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:.4rem 0;font-size:.8rem;display:flex}.waterfall-row .amt{font-variant-numeric:tabular-nums}.waterfall-row.sub .label{color:#f5f0e88c;padding-left:.7rem;font-size:.75rem}.waterfall-row.sub .amt{color:#f5f0e88c;font-size:.75rem}.waterfall-row.total{border-bottom:none;border-top:2px solid var(--accent);margin-top:.2rem;padding-top:.7rem}.waterfall-row.total.negative{border-top-color:#e05a5a}.waterfall-row.total .label{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;font-weight:700}.waterfall-row.total.negative .label{color:#e05a5a}.waterfall-row.total .amt{color:var(--accent);font-size:1.15rem;font-weight:700}.waterfall-row.total.negative .amt{color:#e05a5a}.waterfall-note{color:#f5f0e88c;margin-top:.5rem;font-size:.65rem;line-height:1.5}.alert-list{flex-direction:column;gap:.4rem;display:flex}.alert-item{background:var(--surface-2);border-left:3px solid #e05a5a;border-radius:.35rem;justify-content:space-between;align-items:center;padding:.4rem .6rem;font-size:.75rem;display:flex}.alert-item.warn{border-left-color:#d9a441}.alert-item-code{font-weight:700}.alert-item-qty{font-variant-numeric:tabular-nums;color:#f5f0e88c}.alert-item-qty strong{color:#e05a5a}.alert-item.warn .alert-item-qty strong{color:#d9a441}.pending-widget{flex-direction:column;gap:.5rem;display:flex}.pending-widget-row{justify-content:space-between;align-items:center;display:flex}.pending-widget-row .label{color:#f5f0e88c;font-size:.75rem}.pending-widget-row .count{background:var(--accent);min-width:1.4rem;height:1.4rem;color:var(--paper);border-radius:999px;justify-content:center;align-items:center;padding:0 .4rem;font-size:.75rem;font-weight:700;display:inline-flex}.pending-widget-row .count.pending{color:var(--ink);background:#d9a441}.cost-split{flex-direction:column;gap:.4rem;display:flex}.cost-row{justify-content:space-between;align-items:baseline;font-size:.75rem;display:flex}.cost-row .label{color:#f5f0e88c}.cost-row .amt{font-variant-numeric:tabular-nums}.cost-total{border-top:1px solid var(--line);justify-content:space-between;margin-top:.2rem;padding-top:.5rem;font-size:.8rem;font-weight:700;display:flex}.needle-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.needle-row{background:var(--surface-2);border-radius:.4rem;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.needle-code{font-family:var(--font-title)}.stepper{align-items:center;gap:.75rem;display:flex}.stepper button{border:1px solid var(--line);width:2rem;height:2rem;color:var(--paper);cursor:pointer;background:0 0;border-radius:50%;font-size:1.1rem}.stepper button:hover{border-color:var(--accent);color:var(--accent)}.stepper-value{text-align:center;min-width:1.2rem}.needle-create-form{background:var(--surface);border:1px solid var(--line);border-radius:.6rem;margin-bottom:.9rem;padding:.9rem 1rem 1.1rem}.needle-create-row{gap:.75rem;display:flex}.needle-create-row .field{flex:1}.commission-preview{background:var(--surface);border:1px solid var(--line);border-radius:.5rem;padding:1rem}.commission-preview p{color:#f5f0e8bf;margin:.15rem 0}.commission-preview .receivable{color:var(--paper);font-family:var(--font-title);margin-top:.4rem;font-size:1.2rem}.commission-preview .bonus-tag{color:var(--accent);font-family:var(--font-title);border-bottom:1px dashed var(--line);margin:0 0 .5rem;padding-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.confirm-button{width:100%;padding:.9rem;font-size:1.05rem}.new-appointment-button{width:100%;margin-bottom:.75rem;padding:.7rem}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;border-radius:.3rem;outline:2px solid #7fb2d9}.screen.has-bottom-nav{padding-bottom:6.5rem}.bottom-nav{z-index:40;-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0);background:#0d0d0df0;position:fixed;bottom:0;left:0;right:0}.bottom-nav-inner{max-width:480px;margin:0 auto;display:flex}.nav-item{cursor:pointer;color:#f5f0e88c;font-family:var(--font-body);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.15rem;min-height:44px;padding:.55rem .25rem .6rem;display:flex;position:relative}.nav-item.active{color:var(--paper)}.nav-item.active .nav-icon{color:var(--accent)}.nav-icon{place-items:center;line-height:0;display:grid}.nav-label{letter-spacing:.02em;font-size:.62rem}.nav-badge{background:var(--accent);min-width:1rem;height:1rem;color:var(--paper);border-radius:999px;place-items:center;padding:0 .25rem;font-size:.62rem;font-weight:700;display:grid;position:absolute;top:3px;left:calc(50% + 5px)}.sheet-veil{z-index:50;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-grab{background:#f5f0e83d;border-radius:999px;width:2.2rem;height:4px;margin:0 auto .75rem}.management-sheet,.confirm-sheet{background:var(--surface-2);width:100%;max-width:480px;padding:.9rem 1.1rem calc(1.2rem + env(safe-area-inset-bottom,0));border-top:1px solid #f5f0e838;border-radius:1rem 1rem 0 0;animation:.22s sheet-up}@keyframes sheet-up{0%{opacity:.4;transform:translateY(30%)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.management-sheet,.confirm-sheet{animation:none}}.management-sheet-title{text-transform:uppercase;letter-spacing:.08em;color:#f5f0e899;margin:0 0 .6rem;font-size:.75rem}.management-item{text-align:left;width:100%;color:var(--paper);font-family:var(--font-title);cursor:pointer;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.7rem;padding:.8rem .6rem;font-size:1rem;display:flex}.management-item:hover,.management-item.active{background:var(--surface)}.management-item.active{color:var(--accent)}.management-item-icon{color:#f5f0e8b3;place-items:center;line-height:0;display:grid}.management-item.active .management-item-icon{color:var(--accent)}.confirm-title{font-family:var(--font-title);margin:0 0 .3rem;font-size:1.05rem}.confirm-message{color:#f5f0e8b3;margin:0 0 1rem;font-size:.85rem;line-height:1.5}.confirm-actions{gap:.6rem;display:flex}.confirm-keep,.confirm-go{font-family:var(--font-title);cursor:pointer;border-radius:.5rem;flex:1;padding:.75rem;font-size:.95rem;font-weight:600}.confirm-keep{color:#f5f0e8d9;background:0 0;border:1px solid #f5f0e840}.confirm-go{background:var(--surface);color:var(--paper);border:1px solid #f5f0e840}.confirm-go.danger{background:var(--accent);border-color:var(--accent)}.toast-stack{z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:.4rem;width:max-content;max-width:min(92vw,440px);display:flex;position:fixed;bottom:5.5rem;left:50%;transform:translate(-50%)}.toast{text-align:center;border-radius:999px;padding:.55rem 1rem;font-size:.85rem;animation:.25s toast-in;box-shadow:0 10px 28px #0000008c}.toast.success{color:#8fc7a6;background:#17251d;border:1px solid #6fae8673}.toast.error{color:#eb8a8a;background:#2a1517;border:1px solid #e05a5a80}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.date-block{background:var(--surface-2);border:1px solid var(--line);border-radius:.55rem;flex-direction:column;flex:none;justify-content:center;align-self:flex-start;align-items:center;gap:.05rem;width:3.2rem;min-height:4.2rem;padding:.45rem 0;display:flex}.date-block.today{background:var(--accent);border-color:var(--accent)}.date-block-weekday{text-transform:uppercase;letter-spacing:.08em;color:#f5f0e8bf;font-size:.58rem}.date-block-day{font-family:var(--font-title);font-size:1.25rem;font-weight:700;line-height:1.05}.date-block-time{color:#f5f0e8bf;font-variant-numeric:tabular-nums;font-size:.6rem}.appointment-mid{flex-direction:column;flex:1;justify-content:center;gap:.2rem;min-width:0;display:flex}.appointment-mid .appointment-client{margin:0}.appointment-mid .appointment-value{font-size:.85rem}.appointment-mid .appointment-value strong{color:var(--paper);font-weight:700}.appointment-artist-inline{color:#f5f0e899;font-size:.78rem}.appointment-side{flex-direction:column;flex:none;justify-content:space-between;align-items:flex-end;gap:.5rem;display:flex}.closeout-cta{padding:.5rem .9rem;font-size:.85rem}.kebab-wrap{position:relative}.kebab-button{color:#f5f0e899;cursor:pointer;background:0 0;border:none;border-radius:.45rem;place-items:center;width:2.4rem;height:2.4rem;margin:-.4rem -.5rem 0 0;font-size:1.25rem;line-height:.6;display:grid}.kebab-button:hover{background:var(--surface-2);color:var(--paper)}.kebab-menu{z-index:45;background:var(--surface-2);border:1px solid #f5f0e838;border-radius:.5rem;flex-direction:column;gap:.1rem;min-width:11rem;margin-top:.25rem;padding:.3rem;display:flex;position:absolute;top:100%;right:0;box-shadow:0 12px 30px #00000080}.kebab-menu button{text-align:left;font:inherit;color:var(--paper);cursor:pointer;background:0 0;border:none;border-radius:.35rem;min-height:40px;padding:.55rem .65rem;font-size:.85rem}.kebab-menu button:hover{background:var(--surface)}.kebab-menu button.warn{color:#d9a441}.kebab-menu button.danger{color:#e05a5a}.kebab-menu.signal-prompt{min-width:13rem}.kebab-menu.signal-prompt p{color:#f5f0e8bf;margin:.25rem .65rem .45rem;font-size:.8rem}.status-pill{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:999px;align-self:flex-start;align-items:center;gap:.3rem;padding:.18rem .55rem;font-size:.62rem;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.status-pill.sch{color:#7fb2d9;background:#7fb2d924}.status-pill.wait{color:#d9a441;background:#d9a44124}.status-pill.pay{color:#6fae86;background:#6fae8624}.status-pill.done{color:#f5f0e8a6;background:#f5f0e817}.status-pill.crit{color:#e05a5a;background:#e05a5a24}.bonus-badge{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;color:var(--accent);background:#c8102e24;border-radius:999px;align-self:flex-start;padding:.18rem .55rem;font-size:.62rem;display:inline-flex}.skeleton-list{flex-direction:column;gap:.75rem;display:flex}.skeleton-row{align-items:center;gap:.75rem;display:flex}.skeleton{background:linear-gradient(100deg, var(--surface) 40%, var(--surface-2) 50%, var(--surface) 60%);background-size:220% 100%;border-radius:.5rem;animation:1.4s linear infinite skeleton-shimmer}@keyframes skeleton-shimmer{to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.skeleton.block{flex:none;width:3.2rem;height:4rem}.skeleton-lines{flex-direction:column;flex:1;gap:.5rem;display:flex}.skeleton.line{height:.7rem}.skeleton.line.w70{width:70%}.skeleton.line.w45{width:45%}.view-toggle{background:var(--surface-2);border-radius:.5rem;gap:.25rem;width:fit-content;padding:.25rem;display:flex}.view-toggle button{font:inherit;font-family:var(--font-title);color:#f5f0e8a6;cursor:pointer;background:0 0;border:none;border-radius:.4rem;padding:.45rem 1.1rem;font-size:.85rem}.view-toggle button.active{background:var(--accent);color:var(--paper);font-weight:600}.month-calendar{flex-direction:column;gap:.75rem;display:flex}.calendar-legend{flex-wrap:wrap;gap:.35rem;display:flex}.legend-chip{font:inherit;border:1px solid var(--line);color:#f5f0e8b3;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.75rem;display:inline-flex}.legend-chip.static{cursor:default}.legend-chip.active{background:var(--surface);color:var(--paper);border-color:currentColor}.legend-chip.dimmed{opacity:.35}.legend-dot{border-radius:50%;flex:none;width:8px;height:8px}.calendar-month-bar{justify-content:space-between;align-items:center;display:flex}.calendar-month-bar .link-button{font-size:1.3rem;line-height:1}.calendar-month-name{font-family:var(--font-title);font-size:1rem}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-weekday{text-align:center;text-transform:uppercase;color:#f5f0e873;padding:.2rem 0;font-size:.62rem}.calendar-day{font:inherit;color:var(--paper);cursor:pointer;background:0 0;border:none;border-radius:.5rem;flex-direction:column;align-items:center;gap:.15rem;min-height:2.6rem;padding:.3rem 0 .25rem;display:flex}.calendar-day:hover:not(.out){background:var(--surface)}.calendar-day.out{color:#f5f0e84d;cursor:default}.calendar-day.selected{background:var(--surface);outline:1px solid var(--line-strong,#f5f0e83d)}.calendar-day-number{font-variant-numeric:tabular-nums;place-items:center;width:1.6rem;height:1.6rem;font-size:.85rem;display:grid}.calendar-day.today .calendar-day-number{background:var(--accent);color:var(--paper);border-radius:50%;font-weight:700}.calendar-dots{align-items:center;gap:2px;min-height:6px;display:flex}.calendar-dot{border-radius:50%;width:6px;height:6px}.calendar-dot-more{color:#f5f0e88c;font-size:.55rem;line-height:1}.calendar-day-detail{border-top:1px solid var(--line);flex-direction:column;gap:.5rem;padding-top:.75rem;display:flex}.calendar-day-title{text-transform:uppercase;letter-spacing:.07em;color:#f5f0e899;margin:0;font-size:.72rem}.calendar-day-empty{text-align:center;color:#f5f0e88c;margin:0;padding:.75rem 0;font-size:.85rem}.calendar-slot-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.calendar-slot{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:0 .5rem .5rem 0;align-items:center;gap:.7rem;padding:.55rem .7rem;display:flex}.calendar-slot-time{font-variant-numeric:tabular-nums;color:#f5f0e8bf;flex:none;font-size:.8rem}.calendar-slot-who{flex-direction:column;min-width:0;display:flex}.calendar-slot-client{font-size:.9rem;font-weight:600}.calendar-slot-artist{color:#f5f0e899;font-size:.72rem}.empty-block{text-align:center;flex-direction:column;align-items:center;gap:.35rem;padding:1.6rem 1rem;display:flex}.empty-icon{opacity:.85;font-size:1.7rem}.empty-title{font-family:var(--font-title);margin:0;font-size:.95rem}.empty-hint{color:#f5f0e8a6;max-width:26ch;margin:0;font-size:.8rem}.empty-action{margin-top:.5rem;padding:.55rem 1.1rem;font-size:.9rem}.charge-message-input{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--paper);resize:vertical;border-radius:.5rem;padding:.75rem;font-size:.9rem;line-height:1.5}.charge-message-preview{white-space:pre-wrap;background:var(--surface);border:1px solid var(--line);border-radius:.6rem;margin-bottom:.75rem;padding:.9rem 1rem;font-size:.88rem;line-height:1.6}.whatsapp-button{color:#06210f;background:#25d366}.whatsapp-button:hover{opacity:.9;background:#25d366}.token-chip-row{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.installment-fee-grid{grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1rem;display:grid}.installment-fee-grid .field{min-width:0}.installment-fee-grid .field span{text-align:center}.installment-fee-grid input{text-align:center;width:100%;min-width:0;padding:.5rem .3rem}.token-chip{font-family:var(--font-body);border:1px solid var(--line);background:var(--surface);color:#f5f0e8bf;cursor:pointer;border-radius:999px;padding:.3rem .6rem;font-size:.72rem}.token-chip:hover{border-color:var(--accent);color:var(--paper)}.public-anamnesis-screen{background:var(--ink);min-height:100dvh;color:var(--paper);justify-content:center;padding:2rem 1.1rem 4rem;display:flex}.public-anamnesis-loading{color:#f5f0e899;margin-top:3rem}.public-anamnesis-card{flex-direction:column;gap:.9rem;width:100%;max-width:26rem;display:flex}.public-anamnesis-card:not(.wide){text-align:center;align-items:center;margin-top:3rem}.public-anamnesis-card h1{font-family:var(--font-display);margin:0;font-size:1.6rem}.public-anamnesis-card.wide h1{font-size:1.5rem}.public-anamnesis-card p{color:#f5f0e8b3;margin:0;line-height:1.5}.public-anamnesis-icon{font-size:2rem}.public-anamnesis-icon.success{color:#6fae86}.review-cta{border-top:1px solid var(--line);width:100%;margin-top:1.5rem;padding-top:1.4rem}.public-anamnesis-card .review-cta-title{font-family:var(--font-title);color:var(--paper);margin:0 0 .4rem;font-size:1rem}.public-anamnesis-card .review-cta-text{margin:0 0 1rem;font-size:.85rem}.review-cta-button{color:#241a04;background:#f5b942;width:100%;text-decoration:none;display:inline-flex}.review-cta-button:hover{opacity:.9;background:#f5b942}.public-anamnesis-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0;font-size:.75rem}.public-anamnesis-hint{margin-bottom:.4rem;font-size:.85rem}.anamnesis-question-list{border-top:1px solid var(--line);flex-direction:column;gap:.75rem;margin:.4rem 0;padding-top:.6rem;display:flex}.anamnesis-question{flex-direction:column;gap:.4rem;display:flex}.yesno-row{justify-content:space-between;align-items:center;gap:.75rem;font-size:.9rem;display:flex}.yesno-buttons{flex:none;gap:.4rem;display:flex}.yesno-buttons button{font:inherit;border:1px solid var(--line);background:var(--surface);color:#f5f0e8b3;cursor:pointer;border-radius:.4rem;padding:.4rem .9rem;font-size:.82rem}.yesno-buttons button.active{background:var(--accent);border-color:var(--accent);color:var(--paper);font-weight:600}.anamnesis-detail-input{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--paper);border-radius:.4rem;padding:.55rem .7rem;font-size:.85rem}.public-anamnesis-consent{color:#f5f0e8bf;border-top:1px solid var(--line);align-items:flex-start;padding-top:.5rem;font-size:.78rem;line-height:1.5}.anamnesis-identity{background:var(--surface);border:1px solid var(--line);border-radius:.6rem;padding:.9rem 1rem}.anamnesis-identity-name{font-family:var(--font-title);margin:0 0 .2rem;font-size:1.1rem}.anamnesis-identity-meta{color:#f5f0e899;margin:0;font-size:.82rem}.anamnesis-answer-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.anamnesis-answer-row{background:var(--surface);border:1px solid var(--line);border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.anamnesis-answer-row .q{flex:1;min-width:60%;font-size:.85rem}.anamnesis-answer-row .a-text{color:#f5f0e8cc;font-size:.85rem}.anamnesis-answer-row .a-pill{border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:600}.anamnesis-answer-row .a-pill.yes{color:#e05a5a;background:#e05a5a29}.anamnesis-answer-row .a-pill.no{color:#6fae86;background:#6fae8624}.anamnesis-answer-row .a-pill.unknown{color:#f5f0e880;background:#f5f0e814}.anamnesis-answer-row .a-pill.neutral{color:#f5f0e8d9;background:#f5f0e81f}.anamnesis-answer-row .a-detail{color:#f5f0e8a6;flex-basis:100%;font-size:.78rem;font-style:italic}.optional-tag{color:#f5f0e873;font-size:.68rem;font-style:normal}.client-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.client-row{background:var(--surface);border:1px solid var(--line);border-radius:.55rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .85rem;display:flex}.client-row-main{flex-direction:column;gap:.15rem;min-width:0;display:flex}.client-row-name{font-family:var(--font-title);font-size:.98rem}.client-row-meta{color:#f5f0e899;font-size:.78rem}.client-row-status{text-transform:uppercase;letter-spacing:.04em;margin-top:.15rem;font-size:.68rem}.client-row-status.ok{color:#6fae86}.client-row-status.pending{color:#d9a441}.client-row-actions{flex:none;gap:.75rem;display:flex}.client-note-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.client-note-row{background:var(--surface);border:1px solid var(--line);border-radius:.55rem;padding:.7rem .85rem}.client-note-meta{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.3rem;display:flex}.client-note-author{font-family:var(--font-title);font-size:.82rem;font-weight:700}.client-note-date{color:#f5f0e873;flex:none;font-size:.7rem}.client-note-text{color:#f5f0e8cc;white-space:pre-wrap;margin:0 0 .4rem;font-size:.85rem}.consent-term-box{white-space:pre-wrap;color:#f5f0e8cc;background:var(--surface);border:1px solid var(--line);border-radius:.6rem;max-height:14rem;margin-bottom:.75rem;padding:.9rem 1rem;font-size:.8rem;line-height:1.6;overflow-y:auto}.public-anamnesis-term-label{margin:.4rem 0 -.3rem}.signature-pad-wrap{flex-direction:column;gap:.4rem;margin-bottom:.9rem;display:flex}.signature-pad{aspect-ratio:560/170;border:1px dashed var(--line);background:var(--surface);touch-action:none;cursor:crosshair;border-radius:.6rem;width:100%;height:auto}.signature-pad-footer{color:#f5f0e880;justify-content:space-between;align-items:center;font-size:.75rem;display:flex}.consent-signature-image{background:var(--surface);border:1px solid var(--line);border-radius:.6rem;max-width:100%;padding:.5rem}.template-editor-section{border-bottom:1px solid var(--line);margin-bottom:1.25rem;padding-top:.5rem;padding-bottom:1.25rem}.template-editor-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.alert-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.alert-card{background:var(--surface);border:1px solid var(--line);border-radius:.6rem;flex-direction:column;align-items:flex-start;gap:.4rem;padding:.8rem .9rem;display:flex}.alert-tag{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.3rem;padding:.22rem .6rem;font-size:.68rem;font-weight:700;display:inline-flex}.alert-tag.care{color:#6fae86;background:#6fae8629}.alert-tag.session{color:#d9a441;background:#d9a4412e}.alert-tag.birthday{color:#e8637a;background:#c8102e29}.alert-tag.versary{color:#f5f0e8b3;background:#f5f0e81a}.alert-tag.budget{color:#7fb2d9;background:#7fb2d929}.alert-text{color:var(--paper);margin:0;font-size:.88rem;line-height:1.45}.alert-sub{color:#f5f0e880;margin:0;font-size:.75rem}.alert-actions{flex-wrap:wrap;align-items:center;gap:.3rem .5rem;margin-top:.15rem;display:flex}.alert-actions .link-button{margin:0;padding:.5rem .35rem;font-size:.8rem}.alert-actions .link-button:disabled{opacity:.5;cursor:default}.alert-btn{font:inherit;background:var(--accent);color:var(--paper);border:none;border-radius:.5rem;padding:.5rem .9rem;font-size:.8rem;font-weight:700}.alert-btn:disabled{opacity:.6}.avisos-tab-bar{margin-bottom:.9rem}.avisos-tab-bar .tab-button{white-space:nowrap;flex:auto;min-width:0;padding:.5rem .55rem;font-size:.78rem;position:relative}.tab-badge{background:var(--accent);min-width:1.05rem;height:1.05rem;color:var(--paper);border-radius:999px;place-items:center;padding:0 .3rem;font-size:.6rem;font-weight:700;display:inline-grid;position:absolute;top:-.4rem;right:-.4rem}.divider{border:none;border-top:1px solid var(--line);margin:1.5rem 0}.receipt-card{background:var(--surface);border:1px solid var(--line);border-radius:.6rem;flex-direction:column;gap:.55rem;margin-bottom:1rem;padding:1rem 1.1rem;display:flex}.receipt-studio{text-transform:uppercase;letter-spacing:.05em;color:#f5f0e880;margin:0;font-size:.7rem}.receipt-title{font-family:var(--font-title);color:var(--paper);margin:0 0 .2rem;font-size:1.05rem}.receipt-line{color:#f5f0e8d9;justify-content:space-between;gap:.75rem;font-size:.85rem;display:flex}.receipt-line span:first-child{color:#f5f0e880}.receipt-line span:last-child{text-align:right}.receipt-total{border-top:1px solid var(--line);color:var(--paper);justify-content:space-between;align-items:baseline;margin-top:.15rem;padding-top:.5rem;font-size:1rem;font-weight:700;display:flex}.pix-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;margin-top:.2rem;padding-top:.6rem;display:flex}.pix-row p{color:#f5f0e8bf;margin:0;font-size:.8rem}.pix-row p:first-child{color:#f5f0e880;margin-bottom:.15rem;font-size:.72rem}.budget-submit-button{margin-top:.75rem}.budget-secondary-actions{justify-content:center;gap:1.5rem;margin-top:.75rem;display:flex}.budget-image-hint{color:#f5f0e8ad;text-align:center;margin:.5rem 0 0;font-size:.8rem;line-height:1.4}
