@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9cc5c0547f229dea-s.00y8kskkn0hyx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b0947914c9718a1e-s.1xjn85gt7t6qs.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d0b60be57f16ee32-s.1xtu7gopqv2u0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1f9e983605289f29-s.3aak_kra40y8r.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.3huc2loe0ie8a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9cc5c0547f229dea-s.00y8kskkn0hyx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b0947914c9718a1e-s.1xjn85gt7t6qs.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d0b60be57f16ee32-s.1xtu7gopqv2u0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1f9e983605289f29-s.3aak_kra40y8r.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.3huc2loe0ie8a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9cc5c0547f229dea-s.00y8kskkn0hyx.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b0947914c9718a1e-s.1xjn85gt7t6qs.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d0b60be57f16ee32-s.1xtu7gopqv2u0.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1f9e983605289f29-s.3aak_kra40y8r.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.3huc2loe0ie8a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond Fallback;src:local(Times New Roman);ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.0%;size-adjust:96.98%}.cormorant_garamond_778a3c8b-module__dkuqAq__className{font-family:Cormorant Garamond,Cormorant Garamond Fallback;font-style:normal}.cormorant_garamond_778a3c8b-module__dkuqAq__variable{--font-cormorant:"Cormorant Garamond", "Cormorant Garamond Fallback"}
:root{--bg:#faf6f1;--surface:#fff;--surface-2:#f3ebe1;--surface-3:#ede1d3;--text:#2b2521;--text-secondary:#7c7067;--text-muted:#a79c90;--accent:#b5677a;--accent-dark:#8c4a5c;--accent-light:#f3e1e5;--gold:#b08b57;--gold-light:#f1e7d5;--success:#4c7a5b;--success-light:#e4eee6;--danger:#b65640;--danger-light:#f7e5df;--warning:#b9862e;--warning-light:#faedd9;--border:#e7dbcc;--border-strong:#d8c7b0;--field-border:#b7a186;--radius:10px;--shadow:0 1px 2px #2b25210a, 0 4px 16px #2b25210d;--font-display:var(--font-cormorant), Georgia, "Times New Roman", serif;--font-body:var(--font-inter), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}h1,h2,h3,.serif{font-family:var(--font-display)}a{color:inherit}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.field{margin-bottom:16px}.field label{color:var(--text-secondary);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.field input,.field select,.field textarea{border:1.5px solid var(--field-border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);padding:10px 12px;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.btn{border-radius:var(--radius);border:1.5px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;align-items:center;gap:6px;padding:9px 16px;font-size:13.5px;font-weight:600;transition:background .12s,opacity .12s;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-dark)}.btn-danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger-light)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2)}.badge{border-radius:99px;align-items:center;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.badge-ok{background:var(--success-light);color:var(--success)}.badge-warn{background:var(--warning-light);color:var(--warning)}.badge-danger{background:var(--danger-light);color:var(--danger)}.badge-neutral{background:var(--surface-3);color:var(--text-secondary)}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;padding:20px 22px}.dashboard-delta{margin-top:8px}.login-screen{min-height:100vh;padding:calc(24px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));background:var(--bg);flex-direction:column;justify-content:center;align-items:center;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow);border-radius:16px;padding:34px 30px 30px}.login-brand{text-align:center;margin-bottom:22px}.login-brand-word{color:var(--accent-dark);font-size:38px;font-weight:700;line-height:1}.login-brand-sub{letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-top:6px;font-size:12px}.login-welcome{text-align:center;margin:0 0 4px;font-size:22px}.login-sub{color:var(--text-secondary);text-align:center;margin:0 0 22px;font-size:13px}.login-error{background:var(--danger-light);color:var(--danger);border-radius:8px;margin-bottom:14px;padding:9px 12px;font-size:12.5px}.login-success{background:var(--success-light);color:var(--success);text-align:center;border-radius:8px;margin-bottom:14px;padding:9px 12px;font-size:12.5px}.login-submit{justify-content:center;width:100%;margin-top:4px;padding:12px}.toast{right:calc(20px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:100;border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 18px;font-size:13.5px;font-weight:600;position:fixed}.toast-success{background:var(--success);color:#fff}.login-foot{color:var(--text-muted);margin-top:20px;font-size:12px}.shell{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:240px;padding:22px 16px;display:flex}.sidebar-brand{padding:0 8px 18px}.sidebar-brand-word{color:var(--accent-dark);font-size:26px;font-weight:700;line-height:1}.sidebar-brand-sub{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);margin-top:4px;font-size:11px}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.navitem{color:var(--text-secondary);border-radius:9px;padding:9px 12px;font-size:13.5px;font-weight:600;text-decoration:none;display:block}.navitem:hover{background:var(--surface-2);color:var(--text)}.navitem-active{background:var(--accent-light);color:var(--accent-dark)}.navitem-sub{margin-left:14px;padding-left:18px;font-size:12.5px}.navitem-sub:before{content:"↳";color:var(--text-muted);margin-right:6px}.sidebar-install{margin-top:auto;padding:0 8px}.pwa-install-btn{justify-content:center;width:100%}.pwa-ios-hint{color:var(--text-secondary);background:var(--surface-2);border-radius:var(--radius);padding:10px 12px;font-size:11.5px;line-height:1.5}.pwa-ios-hint strong{color:var(--text);margin-bottom:4px;display:block}.pwa-ios-hint ol{margin:0;padding-left:18px}.sidebar-foot{border-top:1px solid var(--border);color:var(--text-muted);padding:14px 8px 0;font-size:11.5px;line-height:1.6}.sidebar-scrim{display:none}.shell-main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{padding:calc(14px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) 14px calc(24px + env(safe-area-inset-left));border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:12px;display:flex}.topbar-branch{flex:1}.menu-toggle{font-size:18px;display:none}.topbar-user{align-items:center;gap:10px;display:flex}.avatar{background:var(--accent-light);width:34px;height:34px;color:var(--accent-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.topbar-user-info{line-height:1.3}.topbar-user-name{font-size:13px;font-weight:600}.topbar-user-role{color:var(--text-muted);font-size:11.5px}.shell-content{flex:1;padding:28px 24px 40px}.page-sub{color:var(--text-secondary);max-width:62ch}@media (max-width:860px){.sidebar{z-index:40;box-shadow:var(--shadow);padding-top:calc(22px + env(safe-area-inset-top));padding-left:calc(16px + env(safe-area-inset-left));padding-bottom:calc(22px + env(safe-area-inset-bottom));transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.sidebar-scrim{z-index:30;cursor:pointer;background:#2b252159;border:none;padding:0;display:block;position:fixed;inset:0}.menu-toggle{display:inline-flex}.topbar-user-info{display:none}}.status-page{min-height:100vh;padding:calc(24px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(24px + env(safe-area-inset-left));background:var(--bg);justify-content:center;align-items:center;display:flex}.status-card{text-align:center;max-width:420px}.status-badge{margin:0 auto 14px}.loading-state{color:var(--text-secondary);align-items:center;gap:10px;padding:40px 0;font-size:13.5px;display:flex}.spinner{border:2.5px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.filters-bar{flex-wrap:wrap;gap:10px;margin-bottom:18px;padding:14px 16px;display:flex}.filters-search{flex:1;gap:6px;min-width:200px;display:flex}.filters-search input{border:1.5px solid var(--border);border-radius:var(--radius);flex:1;padding:8px 10px;font-size:13.5px}.filters-bar select{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:8px 10px;font-size:13.5px}.table-wrap{padding:0;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:640px;font-size:13.5px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:11px 16px}thead th{background:var(--surface-2);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-2)}.transaction-total-row td{background:var(--surface-2);border-top:2px solid var(--border);border-bottom:none;font-size:15px}.transaction-total-row td:last-child{text-align:right}.searchable-select{position:relative}.searchable-select-input{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);padding:9px 14px;font-size:13.5px}.searchable-select-input:focus{border-color:var(--accent);outline:none}.searchable-select-list{z-index:20;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);max-height:260px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.searchable-select-option{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 10px;display:block}.searchable-select-option:hover,.searchable-select-option:focus{background:var(--surface-2)}.searchable-select-empty{color:var(--text-secondary);padding:8px 10px;font-size:12.5px}.table-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.table-search-input{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);flex:0 320px;padding:9px 14px;font-size:13.5px}.table-search-input:focus{border-color:var(--accent);outline:none}.sortable-header{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;padding:0;font-weight:600;display:inline-flex}.sortable-header:hover{color:var(--accent)}.sort-indicator{opacity:.6;font-size:10px}.payment-summary{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;padding:14px 16px;display:flex}.payment-summary-balance{align-items:baseline;gap:8px;display:flex}.payment-summary-balance span{color:var(--text-secondary);font-size:12px}.payment-summary-balance strong{font-size:20px}.row-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.btn-sm{padding:5px 10px;font-size:12px}.row-actions-error{color:var(--danger);font-size:12px}.empty-state{text-align:center;color:var(--text-secondary);padding:40px 20px}.activation-reveal{background:var(--gold-light);border-radius:var(--radius);margin-top:10px;padding:12px 14px;font-size:12.5px}.activation-reveal code{background:var(--surface);word-break:break-all;border-radius:6px;margin:8px 0;padding:8px 10px;font-size:11.5px;display:block}.form-card{max-width:480px}.branch-logo-preview{border:1.5px dashed var(--border);border-radius:var(--radius);background:var(--surface-2);justify-content:center;align-items:center;height:100px;margin:12px 0;display:flex}.branch-logo-preview img{object-fit:contain;max-width:90%;max-height:84px}.form-actions{margin-top:6px}.detail-card{margin-bottom:20px;padding:20px}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin:0;display:grid}.detail-grid dt{color:var(--text-secondary);margin-bottom:4px;font-size:12px;font-weight:600}.detail-grid dd{margin:0}.section-title{margin:22px 0 10px}.price-context{color:var(--text-secondary);white-space:nowrap;margin-top:2px;display:block}.schedule-detail-row>td{background:var(--surface-2);padding:18px}.schedule-row-editor{grid-template-columns:repeat(4,minmax(140px,1fr));align-items:end;gap:12px;display:grid}.schedule-row-editor .field{margin:0}.schedule-row-editor .schedule-booking-detail,.schedule-row-editor .login-error,.schedule-row-editor .form-actions{grid-column:1/-1}@media (max-width:760px){.schedule-row-editor{grid-template-columns:1fr}}.field-label-static{color:var(--text-secondary);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.checkbox-group{flex-direction:column;gap:6px;display:flex}.checkbox-option{align-items:center;gap:8px;font-size:13.5px;display:flex}.checkbox-option input{width:auto}.module-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.module-card{color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.module-card:hover{border-color:var(--accent)}.module-card-title{margin:0 0 6px;font-size:17px}.module-card-desc{color:var(--text-secondary);margin:0;font-size:13px}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:18px;display:flex}.inline-form .field{flex:160px;min-width:160px;margin-bottom:0}.filter-bar{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.filter-bar input,.filter-bar select{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:8px 10px;font-size:13px}.promotion-form{margin-bottom:20px}.promotion-type-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.promotion-type-picker label{border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;grid-template-columns:auto 1fr;gap:2px 10px;padding:14px;display:grid}.promotion-type-picker label input{grid-row:1/span 2;align-self:center}.promotion-type-picker label span{color:var(--text-secondary);font-size:12px}.promotion-type-picker .promotion-type-active{border-color:var(--accent);background:var(--accent-light)}.promotion-service-picker{border:1px solid var(--border);border-radius:var(--radius);margin:18px 0;padding:16px}.promotion-service-picker h3{margin-top:0}.promotion-service-add{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding-bottom:14px;display:grid}.promotion-service-add .field{margin-bottom:0}.promotion-service-empty{border:1px dashed var(--border);color:var(--text-secondary);text-align:center;border-radius:8px;margin:0;padding:14px;font-size:12.5px}.promotion-selected-services{display:grid}.promotion-service-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:10px 0;display:grid}.promotion-service-row:last-child{border-bottom:0}.promotion-service-info{flex-direction:column;display:flex}.promotion-service-info span,.promotion-services{color:var(--text-secondary);margin-top:3px;font-size:11.5px;display:block}.promotion-service-quantity{color:var(--text-secondary);align-items:center;gap:8px;font-size:11.5px;display:flex}.promotion-service-quantity input{border:1px solid var(--border);border-radius:8px;width:84px;padding:8px}.promotion-preview{grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:16px 0;display:grid}.promotion-preview>div{background:var(--surface-2);border-radius:8px;flex-direction:column;padding:12px;display:flex}.promotion-preview span{color:var(--text-secondary);font-size:11.5px}.promotion-profit-ok{color:var(--success);background:var(--success-light)!important}.promotion-profit-danger{color:var(--danger);background:var(--danger-light)!important}.promotion-voucher-note{border-radius:var(--radius);background:var(--gold-light);color:var(--text-secondary);margin:16px 0;padding:14px}.transaction-promotion-card{margin-top:18px}.transaction-total{border-radius:var(--radius);background:var(--surface-2);justify-content:space-between;align-items:center;margin:14px 0;padding:12px 16px;font-size:14px;display:flex}.transaction-total span{color:var(--text-secondary);font-weight:600}.transaction-total strong{font-size:17px;font-family:var(--font-display)}.transaction-promotion-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.transaction-promotion-options>div{border:1px solid var(--border);border-radius:var(--radius);padding:14px}.transaction-promotion-options label{color:var(--text-secondary);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.transaction-promotion-options select{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:100%;padding:9px 10px}.transaction-promotion-applied{gap:8px;margin-top:14px;display:grid}.transaction-promotion-applied>div{background:var(--success-light);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.transaction-promotion-applied small{color:var(--text-secondary);display:block}@media (max-width:760px){.promotion-type-picker{grid-template-columns:1fr}.promotion-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.promotion-service-add{grid-template-columns:1fr}.promotion-service-add .btn{width:100%}.promotion-service-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.promotion-service-quantity{grid-column:1}.promotion-service-row>.btn{grid-area:1/2/span 2}.transaction-promotion-options{grid-template-columns:1fr}}.schedule-filter{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto minmax(220px,auto);align-items:end;gap:12px;margin-bottom:16px;display:grid}.schedule-filter .field,.schedule-artist-form .field,.schedule-time-grid .field{margin-bottom:0}.schedule-day-label{color:var(--accent-dark);text-align:right;text-transform:capitalize;align-self:center}.schedule-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.schedule-summary>div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;padding:12px 14px;display:flex}.schedule-summary span{color:var(--text-secondary);font-size:12px}.schedule-summary strong{font-size:20px}.schedule-artist-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px;margin-bottom:16px;display:grid}.schedule-artist-form .login-error{grid-column:1/-1}.schedule-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.schedule-slot-card{flex-direction:column;gap:12px;display:flex}.schedule-slot-booked{border-color:var(--gold)}.schedule-slot-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-slot-head>div{align-items:baseline;gap:7px;display:flex}.schedule-slot-head span{color:var(--text-secondary);text-transform:uppercase;font-size:12px}.schedule-slot-head strong{font-size:28px}.schedule-toggle{align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.schedule-time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.schedule-booking-detail,.schedule-available-label{background:var(--gold-light);color:var(--text-secondary);border-radius:8px;flex-direction:column;gap:3px;padding:12px;font-size:12px;display:flex}.schedule-booking-detail strong{color:var(--text);font-size:13px}.schedule-booking-detail small{color:var(--accent-dark);margin-top:4px}.schedule-available-label{background:var(--success-light);color:var(--success)}.schedule-artist-section{margin-top:24px}.transaction-create-form{flex-direction:column;gap:18px;display:flex}.transaction-customer-picker,.transaction-service-picker{border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:16px}.transaction-customer-picker legend,.transaction-service-picker legend{font-family:var(--font-serif), serif;padding:0 6px;font-size:19px;font-weight:600}.transaction-slot-picker small{color:var(--text-secondary);margin-top:5px;display:block}.transaction-costing-version{max-width:360px;margin-top:14px}.transaction-schedule-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.transaction-schedule-summary>div{flex-direction:column;display:flex}.transaction-schedule-summary span,.transaction-schedule-summary small{color:var(--text-secondary);font-size:11.5px}@media (max-width:980px){.schedule-filter,.schedule-artist-form{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-day-label{text-align:left}.schedule-slot-grid{grid-template-columns:1fr}.transaction-schedule-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.schedule-filter,.schedule-artist-form,.schedule-summary{grid-template-columns:1fr}.schedule-filter .btn,.schedule-artist-form .btn{width:100%}.transaction-schedule-summary{grid-template-columns:1fr}}.costing-context{grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;margin-bottom:14px;display:grid}.costing-context .field,.costing-component-form .field,.costing-assumption-grid .field,.costing-fixed-line .field{margin-bottom:0}.costing-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.costing-tabs button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);cursor:pointer;padding:11px 12px;font-weight:600}.costing-tabs button:hover,.costing-tabs .costing-tab-active{border-color:var(--accent);background:var(--accent-light);color:var(--accent-dark)}.costing-editor{max-width:none;margin-top:16px}.costing-components-table{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px}.costing-component-form,.costing-assumption-grid{grid-template-columns:repeat(3,minmax(180px,1fr));align-items:end;gap:12px;display:grid}.costing-component-form .form-actions{grid-column:1/-1}.costing-section-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.costing-section-head p{margin-bottom:0}.costing-fixed-lines{gap:10px;margin-bottom:12px;display:grid}.costing-fixed-line{grid-template-columns:minmax(220px,1fr) minmax(180px,.5fr) auto;align-items:end;gap:12px;display:grid}.costing-metrics{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin:18px 0;display:grid}.costing-metrics>div,.costing-breakdown>div{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:3px;padding:12px;display:flex}.costing-metrics span,.costing-breakdown span{color:var(--text-secondary);font-size:11.5px}.costing-price-layout{grid-template-columns:minmax(280px,.8fr) minmax(320px,1.2fr);gap:16px;display:grid}.costing-breakdown{grid-template-columns:repeat(2,minmax(140px,1fr));gap:10px;display:grid}.costing-breakdown .costing-total{background:var(--gold-light)}.costing-breakdown .costing-profit{background:var(--success-light);color:var(--success)}.costing-breakdown .costing-loss{background:var(--danger-light);color:var(--danger)}.costing-breakdown small{color:var(--text-secondary);grid-column:1/-1;line-height:1.5}@media (max-width:900px){.costing-component-form,.costing-assumption-grid,.costing-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.costing-price-layout{grid-template-columns:1fr}}@media (max-width:640px){.costing-context,.costing-tabs,.costing-component-form,.costing-assumption-grid,.costing-fixed-line,.costing-metrics,.costing-breakdown{grid-template-columns:1fr}.costing-tabs button{text-align:left}.costing-fixed-line .btn,.costing-editor>.btn{width:100%}}.invoice-print-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.invoice-print-brand,.invoice-print-footer,.invoice-print-details{display:none}.invoice-print-customer{color:var(--text-secondary);margin:2px 0 0;font-size:12.5px}.invoice-print-head-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.invoice-print-logo{display:none}.item-group-header td{background:var(--surface-2);text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);padding-top:8px;padding-bottom:8px;font-size:11.5px}@media (max-width:640px){.invoice-print-head{flex-direction:column}.invoice-print-control{justify-content:center;width:100%;min-height:44px}}@page{size:A4;margin:12mm}@media print{body.invoice-printing{color:#2b2521;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;font-size:9.5pt}body.invoice-printing>:not(.shell),body.invoice-printing .shell>:not(.shell-main),body.invoice-printing .shell-main>:not(.shell-content),body.invoice-printing .shell-content>:not(.print-page-root),body.invoice-printing .print-page-root>:not(.print-panel-root),body.invoice-printing .print-panel-root>:not(.invoice-print-area){display:none!important}body.invoice-printing .invoice-print-area,body.invoice-printing .invoice-print-area table,body.invoice-printing .invoice-print-total,body.invoice-printing .invoice-print-footer,body.invoice-printing .invoice-print-area tr{page-break-inside:avoid;break-inside:avoid}body.invoice-printing .shell,body.invoice-printing .shell-main,body.invoice-printing .shell-content,body.invoice-printing .print-page-root,body.invoice-printing .print-panel-root{width:100%!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important}body.invoice-printing .invoice-print-area{width:100%;box-shadow:none;border:0;border-radius:0;padding:0;margin:0!important}body.invoice-printing .invoice-print-control,body.invoice-printing .invoice-print-area form{display:none!important}body.invoice-printing .invoice-print-brand,body.invoice-printing .invoice-print-footer,body.invoice-printing .invoice-print-details{display:block}body.invoice-printing .invoice-print-logo{object-fit:contain;max-width:45mm;max-height:18mm;display:block}body.invoice-printing .invoice-print-brand{color:#8c4a5c;letter-spacing:1.5px;margin:0 0 3px;font-family:Georgia,serif;font-size:16pt;font-weight:700}body.invoice-printing .invoice-print-head{border-bottom:2px solid #8c4a5c;padding-bottom:4mm}body.invoice-printing .invoice-print-area table{min-width:0;margin-top:3mm;font-size:8.5pt}body.invoice-printing .invoice-print-area th,body.invoice-printing .invoice-print-area td{padding:1.8mm 2mm}body.invoice-printing .item-group-header td{padding-top:3mm;padding-bottom:1mm}body.invoice-printing .invoice-print-total{border-top:2px solid #8c4a5c;justify-content:flex-end;gap:12mm;margin:3mm 0;padding:2mm;font-size:11pt;display:flex}body.invoice-printing .invoice-print-footer{color:#7c7067;text-align:center;border-top:1px solid #e7dbcc;margin-top:5mm;padding-top:2.5mm}}
