:root{--primary: #E07A5F;--secondary: #81B29A;--accent: #F2CC8F;--bg: #FDF8F4;--bg-alt: #FFF5EE;--text: #3D405B;--text-dim: #6B6E8A;--border: #F0E6DE;--card-bg: #ffffff;--btn-bg: #F5EAE3;--danger: #D96C5F;--success: #6B9B7F;--radius: 24px;--font-display: "Fredoka", sans-serif;--font-body: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--bg-gradient: radial-gradient(circle at 10% 0%, rgba(242, 204, 143, .2), transparent 45%), radial-gradient(circle at 100% 8%, rgba(129, 178, 154, .15), transparent 40%)}@media (prefers-color-scheme: dark){:root{--bg: #1E1B24;--bg-alt: #2A2632;--text: #F0EDF5;--text-dim: #A9A5B8;--border: #3A3542;--card-bg: #2A2632;--btn-bg: #3A3448;--bg-gradient: none}}:root[data-theme=light]{--bg: #FDF8F4;--bg-alt: #FFF5EE;--text: #3D405B;--text-dim: #6B6E8A;--border: #F0E6DE;--card-bg: #ffffff;--btn-bg: #F5EAE3;--bg-gradient: radial-gradient(circle at 10% 0%, rgba(242, 204, 143, .2), transparent 45%), radial-gradient(circle at 100% 8%, rgba(129, 178, 154, .15), transparent 40%)}:root[data-theme=dark]{--bg: #1E1B24;--bg-alt: #2A2632;--text: #F0EDF5;--text-dim: #A9A5B8;--border: #3A3542;--card-bg: #2A2632;--btn-bg: #3A3448;--bg-gradient: none}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--bg);background-image:var(--bg-gradient);background-attachment:fixed;color:var(--text);font-family:var(--font-body);line-height:1.5;transition:background-color .2s ease,color .2s ease}h1,h2,h3{font-family:var(--font-display);font-weight:600}.login-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:32px;text-align:center;max-width:360px;width:100%;box-shadow:0 10px 26px #3d405b1a}.login-card h1{font-size:24px;margin:0 0 8px}.login-card p{color:var(--text-dim);margin:0 0 20px}.tg-widget-slot{display:flex;justify-content:center}.app{max-width:900px;margin:0 auto;padding:0 16px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 0}.topbar h1{font-size:22px;margin:0}.logout-btn,button{font:inherit;cursor:pointer;border:2px solid var(--border);background:var(--btn-bg);color:var(--text);border-radius:999px;padding:8px 16px;font-weight:700;transition:transform .12s ease,background .12s ease,border-color .12s ease}button:active{transform:scale(.97)}button:disabled{opacity:.6;cursor:default}button:disabled:active{transform:none}button.danger{border-color:var(--danger);color:var(--danger)}button.active,.tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;overflow-x:auto;padding-bottom:4px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:16px;box-shadow:0 10px 26px #3d405b12}.card h3{margin:0 0 10px;font-size:17px}label{display:block;font-size:13px;font-weight:700;color:var(--text-dim);margin-bottom:12px}.field-label{display:block;font-size:13px;font-weight:700;color:var(--text-dim);margin-bottom:6px}input:not([type]),input[type=text],input[type=date],input[type=time],input[type=number],select,textarea{display:block;width:100%;margin-top:6px;padding:13px 16px;min-height:46px;border-radius:14px;border:2px solid var(--border);background:var(--bg-alt);color:var(--text);font:inherit;font-size:16px;transition:border-color .18s ease,background .18s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);background:var(--card-bg)}.checkbox-row{display:flex;align-items:center;gap:8px}.checkbox-row input{width:auto;margin:0}.row-buttons{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap;align-items:center}.schedule-panel{margin-top:14px}.hint{color:var(--text-dim);font-size:14px}.error{color:var(--danger);font-size:14px}.badge{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.02em;padding:4px 12px;border-radius:999px}.badge-active{color:var(--success);background:#6b9b7f24}.badge-inactive{color:var(--text-dim);background:var(--bg-alt);border:1px solid var(--border)}.master-photo-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.master-photo-preview{width:64px;height:64px;border-radius:50%;object-fit:cover}.master-photo-placeholder{width:64px;height:64px;border-radius:50%;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-dim);text-align:center}.upload-btn{border:2px dashed var(--border);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700;cursor:pointer;color:var(--text-dim)}.dropzone{display:block;border:2px dashed var(--border);border-radius:var(--radius);padding:32px;text-align:center;color:var(--text-dim);font-weight:700;cursor:pointer;margin-bottom:20px}.dropzone-active{border-color:var(--primary);color:var(--primary)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.gallery-item{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;padding-bottom:12px;cursor:grab;box-shadow:0 10px 26px #3d405b12}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.gallery-item input{margin:10px 12px 8px;width:calc(100% - 24px)}.gallery-item button{margin-left:12px}.commission-row{display:flex;gap:16px}.commission-row label,.commission-row>div{flex:1}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius)}.data-table{width:100%;min-width:560px;border-collapse:collapse;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 26px #3d405b12}.data-table th,.data-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border)}.data-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.data-table th.sortable:hover{color:var(--primary)}.data-table tfoot td{font-weight:700;border-top:2px solid var(--border);border-bottom:none}.data-table select,.data-table input{width:auto;margin:0}.data-table .datepicker{display:inline-block;width:auto}.data-table .date-display{width:auto}.day-strip{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;box-shadow:0 10px 26px #3d405b12}.day-strip-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}.day-strip-header{font-family:var(--font-display);font-weight:600;font-size:15px}.day-strip-free-count{font-size:13px;font-weight:800;color:var(--secondary);white-space:nowrap}.day-strip-slots{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;-webkit-mask-image:linear-gradient(to right,black calc(100% - 20px),transparent 100%);mask-image:linear-gradient(to right,black calc(100% - 20px),transparent 100%)}.slot-chip{flex-shrink:0;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700;border:2px solid var(--border);background:var(--bg-alt);color:var(--text-dim);cursor:default}.slot-chip.slot-free{border-color:var(--secondary);color:var(--secondary);background:#fff;cursor:pointer}.slot-chip.slot-free:hover{background:var(--secondary);color:#fff}.slot-chip.slot-busy{opacity:.55;text-decoration:line-through}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:#d06a4f;border-color:#d06a4f}.btn-secondary{background:transparent;border-color:var(--secondary);color:var(--secondary)}.btn-secondary:hover{background:var(--secondary);color:#fff}.switch-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;cursor:pointer}.switch{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0;border-radius:999px;background:var(--border);transition:background .18s ease}.switch.on{background:var(--secondary)}.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.switch-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0003;transition:transform .18s ease;pointer-events:none}.switch.on .switch-thumb{transform:translate(18px)}.switch-label-on{font-size:13px;font-weight:800;color:var(--secondary)}.switch-label-off{font-size:13px;font-weight:700;color:var(--text-dim)}.schedule-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--border)}.schedule-row:last-of-type{border-bottom:none}.schedule-day-toggle{min-width:56px;margin-bottom:0;flex-shrink:0}.schedule-time-range{display:flex;align-items:center;gap:6px;flex:1}.schedule-time-range .datepicker{flex:1;margin-top:0}.schedule-time-dash{color:var(--text-dim);font-weight:700;flex-shrink:0}.schedule-day-off{flex:1}.time-field-btn{padding:8px 12px;min-height:38px;font-size:14px}.time-wheel-popup{display:flex;flex-direction:column;align-items:center;gap:10px}.time-wheel{position:relative;display:flex;align-items:center;justify-content:center;width:140px}.time-wheel-highlight{position:absolute;left:0;right:0;background:var(--bg-alt);border-top:2px solid var(--border);border-bottom:2px solid var(--border);border-radius:10px;z-index:0}.wheel-col{position:relative;z-index:1;width:56px;height:100%;overflow-y:auto;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.wheel-col::-webkit-scrollbar{display:none}.wheel-item{height:36px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.wheel-colon{position:relative;z-index:1;font-size:18px;font-weight:800;color:var(--text-dim);padding:0 2px}.price-currency{color:var(--primary);font-weight:800;margin-left:3px}.time-wheel-done{width:100%}.time-field-popup{left:0;right:auto;width:max-content}.palette-grid{display:flex;flex-wrap:wrap;gap:10px}.palette-swatch{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 14px;border-radius:16px;border:2px solid var(--border);background:var(--bg-alt);color:var(--text);min-width:96px}.palette-swatch.selected{border-color:var(--primary);background:var(--card-bg)}.palette-dots{display:flex;gap:4px}.palette-dots span{width:18px;height:18px;border-radius:50%;display:block;border:1px solid rgba(0,0,0,.08)}.palette-name{font-size:12px;font-weight:700}.salon-type-popup{width:220px}.salon-type-popup .wheel-col{width:100%}.salon-type-popup .wheel-item{font-size:14px;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.salon-type-custom-input{margin-top:10px}.currency-popup{width:260px;max-height:320px}.currency-search{margin-top:0;margin-bottom:8px}.currency-list{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.currency-item{display:flex;align-items:center;gap:8px;justify-content:flex-start;border:2px solid transparent;background:transparent;border-radius:10px;padding:8px 10px;font-weight:600;text-align:left;width:100%}.currency-item:hover{background:var(--bg-alt)}.currency-item.selected{border-color:var(--primary);background:var(--bg-alt)}.currency-item .currency-symbol{color:var(--primary);font-weight:800;min-width:28px}.currency-item .hint{margin-left:auto}.review-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.review-row:last-child{border-bottom:none}.review-row-main{flex:1;min-width:220px}.review-row-header{display:flex;flex-direction:column;gap:2px;margin-bottom:4px}.review-row-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-end}.theme-toggle{width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.datepicker{position:relative;margin-top:6px}.date-display{width:100%;padding:13px 16px;min-height:46px;border-radius:14px;border:2px solid var(--border);background:var(--bg-alt);color:var(--text);font-family:inherit;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;margin-top:0;transition:border-color .18s ease,background .18s ease}.date-display:hover,.date-display.open{border-color:var(--primary);background:var(--card-bg)}.calendar-popup{position:absolute;z-index:20;top:calc(100% + 8px);left:0;right:0;background:var(--card-bg);border:2px solid var(--border);border-radius:14px;padding:14px;box-shadow:0 8px 24px #3d405b2e}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-header span{font-weight:800;font-size:14px;color:var(--text);font-family:var(--font-display)}.cal-nav{border:none;background:var(--bg-alt);width:32px;height:32px;padding:0;border-radius:10px;font-size:18px;color:var(--primary);cursor:pointer;font-weight:800;line-height:1}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11px;color:var(--text-dim);font-weight:800;margin-bottom:4px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-day{border:none;background:transparent;width:36px;height:36px;padding:0;border-radius:50%;font-size:14px;font-weight:700;color:var(--text);cursor:pointer;box-sizing:border-box;margin:0 auto}.cal-day:hover:not(:disabled){background:var(--bg-alt)}.cal-day.empty{visibility:hidden;cursor:default}.cal-day.selected{background:var(--primary);color:#fff}.cal-clear{width:100%;margin-top:10px;border-color:var(--border);color:var(--text-dim)}@media (max-width: 640px){.app{padding:0 0 60px}.topbar,.tabs,.row-buttons,.commission-row:not(.no-stack){padding-left:16px;padding-right:16px}.commission-row{flex-direction:column;gap:16px}.cards,.gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:14px;padding:6px 16px 20px;margin:0;scrollbar-width:thin;-webkit-mask-image:linear-gradient(to right,transparent 0,black 16px,black calc(100% - 16px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,black 16px,black calc(100% - 16px),transparent 100%)}.cards .card,.gallery-grid .gallery-item{flex:0 0 86%;scroll-snap-align:center;margin-bottom:0}.table-scroll{margin:0 16px}}
