:root{--black:#000;--ink:#0d0d0d;--surface:#141414;--lift:#1c1c1c;--rule:#272727;--rule-2:#333;--white:#f0ede8;--white-2:#a09b94;--white-3:#5a5550;--gold:#c9a84c;--gold-dim:#8a6f2e;--gold-glow:#e2bf6a;--red:#b84040;--green:#4a8a5a;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--tab-h:56px;--header-h:48px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--black);color:var(--white);-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.55}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--rule);border-radius:2px}.btn{letter-spacing:.22em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;border-radius:0;justify-content:center;align-items:center;gap:10px;width:100%;padding:15px 20px;font-family:Inter,sans-serif;font-size:11px;font-weight:500;transition:all .2s;display:flex}.btn-primary{background:var(--white);color:var(--black)}.btn-primary:active{background:var(--white-2)}.btn-ghost{border:1px solid var(--rule-2);color:var(--white-2);background:0 0}.btn-ghost:active{border-color:var(--white-3)}.btn-gold{border:1px solid var(--gold-dim);color:var(--gold);background:0 0}.btn-gold:active{background:#c9a84c1a}.btn:disabled{opacity:.35;pointer-events:none}.login-view{min-height:100dvh;padding:calc(40px + var(--safe-top)) 24px calc(40px + var(--safe-bottom));background:radial-gradient(ellipse 80% 40% at 50% 0%, #c9a84c0f 0%, transparent 70%), var(--black);flex-direction:column;justify-content:center;align-items:center;display:flex}.login-brand{text-align:center;margin-bottom:56px}.login-wordmark{letter-spacing:.25em;color:var(--white);font-family:Cormorant Garamond,serif;font-size:clamp(28px,8vw,40px);font-weight:300;line-height:1}.login-rule{background:var(--gold-dim);width:32px;height:1px;margin:18px auto}.login-sub{letter-spacing:.4em;text-transform:uppercase;color:var(--white-3);font-size:10px}.login-form{width:100%;max-width:340px}.login-error{color:#e07878;text-align:center;letter-spacing:.03em;min-height:18px;margin-top:16px;font-size:12px;line-height:1.5}.center-load{min-height:100dvh;color:var(--white-3);letter-spacing:.3em;text-transform:uppercase;justify-content:center;align-items:center;font-size:11px;display:flex}.dots{vertical-align:middle;gap:4px;margin-left:8px;display:inline-flex}.dots span{background:currentColor;border-radius:50%;width:3px;height:3px;animation:1.2s infinite dot}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.app-shell{background:var(--ink);flex-direction:column;height:100dvh;display:flex}.app-header{background:var(--black);border-bottom:1px solid var(--rule);padding:calc(12px + var(--safe-top)) 20px 12px;z-index:20;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.app-wordmark{letter-spacing:.22em;color:var(--white);font-family:Cormorant Garamond,serif;font-size:15px;font-weight:400}.app-wordmark span{letter-spacing:.3em;color:var(--white-3);margin-left:6px;font-size:10px}.app-user{align-items:center;gap:14px;display:flex}.app-user-name{letter-spacing:.1em;color:var(--white-2);font-size:11px}.signout-btn{letter-spacing:.1em;color:var(--white-3);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:6px 0;font-family:Inter,sans-serif;font-size:11px}.app-body{-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--safe-bottom) + 24px);flex:1;overflow-y:auto}.section-label{letter-spacing:.35em;text-transform:uppercase;color:var(--white-3);border-bottom:1px solid var(--rule);padding:22px 20px 10px;font-size:9px}.form-fields{padding:20px 20px 0}.field{margin-bottom:16px}.field label{letter-spacing:.22em;text-transform:uppercase;color:var(--white-3);margin-bottom:7px;font-size:10px;display:block}.field input,.field select{background:var(--surface);border:1px solid var(--rule);width:100%;color:var(--white);appearance:none;border-radius:0;outline:none;padding:13px 15px;font-family:Inter,sans-serif;font-size:16px;transition:border-color .2s}.field input::placeholder{color:var(--white-3);font-size:14px}.field input:focus,.field select:focus{border-color:var(--gold-dim)}.select-wrap{position:relative}.select-wrap select{padding-right:36px}.select-wrap:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--white-3);pointer-events:none;width:0;height:0;position:absolute;bottom:19px;right:14px}.btn-danger{color:#e07878;background:0 0;border:1px solid #b8404080}.btn-danger:active{background:#b8404014}.loading-state{text-align:center;color:var(--white-3);padding:20px;font-size:12px}.team-row{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.team-left{flex:1;min-width:0}.team-name{color:var(--white);font-size:13px}.team-you{color:var(--gold-dim);font-size:11px}.team-email{color:var(--white-3);margin-top:2px;font-size:11px}.team-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.team-role-select{background:var(--surface);border:1px solid var(--rule);color:var(--white-2);letter-spacing:.08em;text-transform:uppercase;appearance:none;cursor:pointer;border-radius:0;outline:none;padding:7px 10px;font-family:Inter,sans-serif;font-size:11px}.team-role-select:disabled{opacity:.5;cursor:default}.team-role-select:focus{border-color:var(--gold-dim)}.team-remove-btn{cursor:pointer;color:var(--white-3);-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:6px;font-size:18px;line-height:1;transition:color .15s}.team-remove-btn:hover{color:#e07878}.team-confirm{border-bottom:1px solid var(--rule);background:#b840400f;padding:12px 20px}.team-confirm p{color:var(--white-2);margin-bottom:10px;font-size:12px;line-height:1.5}.team-confirm-btns{gap:10px;display:flex}.team-confirm-btns .btn{padding:11px 16px}.team-note{border:1px solid var(--rule);background:var(--surface);color:var(--white-3);margin:16px 20px 0;padding:12px 14px;font-size:11px;line-height:1.6}.studio-bar{border-bottom:1px solid var(--rule);background:var(--black);z-index:10;flex-shrink:0;display:flex;position:sticky;top:0}.studio-btn{letter-spacing:.14em;text-transform:uppercase;cursor:pointer;color:var(--white-3);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 4px;font-family:Inter,sans-serif;font-size:10px;font-weight:500;transition:color .15s,border-color .15s}.studio-btn.active{color:var(--gold);border-bottom-color:var(--gold-dim)}.week-nav{border-bottom:1px solid var(--rule);background:var(--ink);justify-content:center;align-items:center;gap:18px;padding:9px 20px;display:flex}.week-nav-btn{border:1px solid var(--rule-2);color:var(--white-2);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;line-height:1;transition:border-color .15s,color .15s;display:flex}.week-nav-btn:hover:not(:disabled){border-color:var(--gold-dim);color:var(--gold)}.week-nav-btn:disabled{opacity:.3;cursor:default}.week-nav-label{letter-spacing:.2em;text-transform:uppercase;color:var(--white-2);text-align:center;min-width:150px;font-size:10px}.stat-grid{background:var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:1px;display:grid}.stat-card{background:var(--surface);padding:16px 16px 14px}.stat-kicker{letter-spacing:.28em;text-transform:uppercase;color:var(--white-3);margin-bottom:6px;font-size:9px}.stat-amount{color:var(--gold);font-variant-numeric:tabular-nums;font-family:Cormorant Garamond,serif;font-size:26px;font-weight:400;line-height:1}.stat-amount.red{color:#e07878}.stat-amount.amber{color:var(--white-2)}.stat-amount-2{color:var(--white-3);font-variant-numeric:tabular-nums;margin-top:3px;font-family:Cormorant Garamond,serif;font-size:18px;font-weight:300;line-height:1.2}.stat-sub{color:var(--white-3);margin-top:5px;font-size:11px}.artist-card{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.artist-left{flex:1;min-width:0}.artist-name{color:var(--white);font-size:13px}.artist-note{color:var(--white-3);letter-spacing:.04em;margin-top:2px;font-size:10px}.artist-right{text-align:right;flex-shrink:0}.artist-payout{color:var(--gold);font-variant-numeric:tabular-nums;font-family:Cormorant Garamond,serif;font-size:20px;line-height:1.1}.artist-gross{color:var(--white-3);font-variant-numeric:tabular-nums;margin-top:2px;font-size:10px}.inv-row{border-bottom:1px solid var(--rule);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 20px;text-decoration:none;transition:background .1s;display:flex}.inv-row:active{background:var(--lift)}.inv-left{flex:1;min-width:0}.inv-name{color:var(--white);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.inv-meta{color:var(--white-3);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.inv-right{text-align:right;flex-shrink:0}.inv-amount{font-variant-numeric:tabular-nums;color:var(--white);font-size:14px}.inv-badge{letter-spacing:.12em;text-transform:uppercase;margin-top:4px;padding:2px 7px;font-size:9px;display:inline-block}.inv-badge.sq{color:#4dc9b8;background:#1496822e}.inv-badge.gold{color:var(--gold-dim);background:#c9a84c1f}.src-logo{vertical-align:middle;flex-shrink:0;align-items:center;margin-left:6px;line-height:1;display:inline-flex}.src-logo svg{display:block}.empty-state{text-align:center;color:var(--white-3);padding:28px 20px;font-size:12px}.panel-content{max-width:640px;margin:0 auto}.tab-bar{background:var(--black);border-top:1px solid var(--rule);padding-bottom:var(--safe-bottom);flex-shrink:0;display:flex}.tab-btn{height:var(--tab-h);cursor:pointer;color:var(--white-3);letter-spacing:.12em;text-transform:uppercase;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:10px 4px;font-family:Inter,sans-serif;font-size:9px;text-decoration:none;transition:color .15s;display:flex}.tab-btn.active{color:var(--gold)}.tab-btn svg{display:block}.search-bar{border-bottom:1px solid var(--rule);background:var(--ink);z-index:5;padding:12px 20px;position:sticky;top:0}.search-bar input{background:var(--surface);border:1px solid var(--rule);width:100%;color:var(--white);-webkit-appearance:none;border-radius:0;outline:none;padding:11px 14px;font-family:Inter,sans-serif;font-size:16px;transition:border-color .2s}.search-bar input::placeholder{color:var(--white-3)}.search-bar input:focus{border-color:var(--gold-dim)}.client-row{border-bottom:1px solid var(--rule);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 20px;display:flex}.client-row:active{background:var(--lift)}.client-left{flex:1;min-width:0}.client-name{color:var(--white);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.client-email{color:var(--white-3);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.client-right{text-align:right;flex-shrink:0}.client-total{color:var(--gold);font-variant-numeric:tabular-nums;font-size:14px}.client-meta{color:var(--white-3);margin-top:2px;font-size:11px}.client-detail{border-bottom:1px solid var(--rule);background:var(--surface);padding:4px 20px 14px}.cd-row{justify-content:space-between;gap:16px;padding:6px 0;font-size:12px;display:flex}.cd-row span:first-child{color:var(--white-3)}.cd-row span:last-child{color:var(--white-2);text-align:right}.inv-mode-wrap{border:1px solid var(--rule);margin:16px 20px 4px;display:flex;overflow:hidden}.inv-mode-btn{letter-spacing:.22em;text-transform:uppercase;color:var(--white-3);cursor:pointer;background:0 0;border:none;flex:1;padding:10px 6px;font-family:Inter,sans-serif;font-size:9px;transition:background .15s,color .15s}.inv-mode-btn.active{color:var(--gold);background:#c9a84c14}.item-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.item-desc{background:var(--surface);border:1px solid var(--rule);min-width:0;color:var(--white);border-radius:0;outline:none;flex:1;padding:11px 12px;font-family:Inter,sans-serif;font-size:13px}.item-desc:focus{border-color:var(--gold-dim)}.item-amount{background:var(--surface);border:1px solid var(--rule);width:84px;color:var(--white);text-align:right;font-variant-numeric:tabular-nums;border-radius:0;outline:none;padding:11px 10px;font-family:Inter,sans-serif;font-size:13px}.item-amount:focus{border-color:var(--gold-dim)}.item-cat{background:var(--surface);border:1px solid var(--rule);width:100px;color:var(--white-2);-webkit-appearance:none;border-radius:0;outline:none;padding:11px 8px;font-family:Inter,sans-serif;font-size:11px}.date-row{align-items:center;gap:8px;display:flex}.date-row input[type=date]{flex:1}.date-remove{width:34px;height:34px;color:var(--white-3);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:18px}.date-remove:hover{color:#e07878}.preview-wrap{border:1px solid var(--rule);margin:16px 20px 0}.preview-row{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;padding:10px 16px;font-size:13px;display:flex}.pr-label{color:var(--white-2)}.pr-amount{font-variant-numeric:tabular-nums}.preview-total{justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.pt-label{letter-spacing:.2em;text-transform:uppercase;color:var(--white-2);font-size:10px}.pt-amount{color:var(--gold);font-variant-numeric:tabular-nums;font-family:Cormorant Garamond,serif;font-size:24px;font-weight:400}.actions{flex-direction:column;gap:10px;padding:20px 20px 0;display:flex}.actions-secondary{grid-template-columns:1fr 1fr;gap:10px;display:grid}.banner-ok{color:#7dba8c;background:#4a8a5a14;border:1px solid #4a8a5a80;margin:16px 20px 0;padding:14px 16px;font-size:13px;line-height:1.55}.banner-ok a{color:var(--gold);margin-left:4px;text-decoration:underline}.settings-grid-head,.settings-grid-row{grid-template-columns:1.4fr 1fr 1fr;align-items:center;gap:10px;padding:8px 20px;display:grid}.settings-grid-head span{letter-spacing:.22em;text-transform:uppercase;color:var(--white-3);font-size:9px}.settings-grid-row{border-bottom:1px solid var(--rule);padding:10px 20px}.settings-grid-row>span{color:var(--white-2);font-size:12px}.settings-grid-row.sub>span{color:var(--white-3);font-size:11px}.settings-grid-row input{background:var(--surface);border:1px solid var(--rule);width:100%;color:var(--white);-webkit-appearance:none;text-align:right;font-variant-numeric:tabular-nums;border-radius:0;outline:none;padding:8px 10px;font-family:Inter,sans-serif;font-size:13px}.settings-grid-row input:focus{border-color:var(--gold-dim)}.settings-grid-row input::placeholder{color:var(--white-3);font-size:11px}.settings-note{border:1px solid var(--rule);background:var(--surface);color:var(--white-3);margin:12px 20px 0;padding:12px 14px;font-size:11px;line-height:1.6}.field textarea{background:var(--surface);border:1px solid var(--rule);width:100%;color:var(--white);resize:vertical;border-radius:0;outline:none;padding:13px 15px;font-family:Inter,sans-serif;font-size:13px;line-height:1.6}.field textarea:focus{border-color:var(--gold-dim)}.appt-artist{letter-spacing:.15em;text-transform:uppercase;color:var(--white-2);padding:14px 20px 8px;font-size:11px}.appt-row{align-items:center;gap:8px;padding:4px 20px;display:flex}.appt-label{background:var(--surface);border:1px solid var(--rule);min-width:0;color:var(--white);border-radius:0;outline:none;flex:1;padding:8px 10px;font-family:Inter,sans-serif;font-size:13px}.appt-label:focus{border-color:var(--gold-dim)}.appt-flow{background:var(--surface);border:1px solid var(--rule);width:130px;color:var(--white-2);-webkit-appearance:none;border-radius:0;outline:none;padding:8px 6px;font-family:Inter,sans-serif;font-size:11px}.appt-free{color:var(--white-3);cursor:pointer;flex-shrink:0;align-items:center;gap:5px;font-size:11px;display:flex}.appt-add{flex-shrink:0;width:auto;padding:8px 16px}.header-nav{align-items:center;gap:16px;display:flex}.header-link{letter-spacing:.1em;color:var(--white-3);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:6px 0;font-family:Inter,sans-serif;font-size:11px;text-decoration:none;transition:color .15s}.header-link:hover,.header-link.active{color:var(--gold)}
