.snackbar.svelte-1tteue2{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);background:var(--color-accent);color:#fff;padding:1rem 1.5rem;border-radius:.5rem;display:flex;align-items:center;gap:1rem;z-index:1000;box-shadow:0 2px 8px #00000026;font-size:.875rem;cursor:pointer;border:none;outline:none;transition:box-shadow .2s,transform .2s}.snackbar.svelte-1tteue2:hover{box-shadow:0 4px 12px #00000040;transform:translate(-50%) translateY(-2px)}.snackbar.svelte-1tteue2:focus-visible{outline:2px solid white;outline-offset:2px}.snackbar-message.svelte-1tteue2{flex:1}.snackbar-dismiss.svelte-1tteue2{background:none;border:none;color:#fff;cursor:pointer;font-size:1.5rem;padding:0;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.25rem;transition:background .2s}.snackbar-dismiss.svelte-1tteue2:hover{background:#fff3}:root{--color-ink: #1f1d19;--color-paper: #fffdf7;--color-paper-soft: #f7f1e4;--color-accent: #1a7f5a;--color-accent-soft: #d5efe6;--color-warn: #af4b2d;--color-border: #ddd4c1;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--shadow-md: 0 10px 30px rgba(0, 0, 0, .08)}.dashboard-shell{max-width:1200px;margin:0 auto;padding:var(--space-lg)}.dashboard-nav{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-lg)}.dashboard-nav a{text-decoration:none;background:var(--color-paper);border:1px solid var(--color-border);padding:.5rem .8rem;border-radius:var(--radius-sm)}.card{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-lg)}.status-banner{border-radius:var(--radius-sm);border:1px solid var(--color-border);padding:.6rem .8rem;margin-bottom:var(--space-md)}.status-ok{background:var(--color-accent-soft);border-color:var(--color-accent)}.status-error{background:#fde8e2;border-color:var(--color-warn)}.workspace-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media(min-width:980px){.workspace-grid{grid-template-columns:1.35fr 1fr}}.split-pane-container{display:flex;height:calc(100vh - 80px);gap:1px;background:var(--color-border)}.split-pane-left,.split-pane-right{background:var(--color-paper-soft);overflow-y:auto;padding:var(--space-lg)}.split-pane-left{flex:0 0 40%;min-width:320px}.split-pane-right{flex:1;min-width:480px}.split-pane-handle{width:4px;background:var(--color-border);cursor:col-resize;flex-shrink:0;transition:background .2s}.split-pane-handle:hover,.split-pane-handle:active{background:var(--color-accent)}@media(max-width:980px){.split-pane-container{flex-direction:column;height:auto}.split-pane-left,.split-pane-right{flex:1;min-width:100%}.split-pane-handle{display:none}}.dashboard-top-bar{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-paper);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.role-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:.4rem .8rem;background:var(--color-accent-soft);border:1px solid var(--color-accent);border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;color:var(--color-accent)}.today-button,.copy-key-button{padding:.5rem 1rem;background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;transition:all .2s}.today-button:hover,.copy-key-button:hover{background:var(--color-accent-soft);border-color:var(--color-accent)}.copy-key-button{display:flex;align-items:center;gap:.5rem}.daily-key-code{font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-variant-numeric:tabular-nums;font-size:1.1rem;font-weight:700;letter-spacing:.08em;color:var(--color-ink)}.copy-key-label{font-size:.75rem;opacity:.6}.copy-key-feedback{font-size:.875rem}.search-input{flex:1;min-width:200px;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem}.search-input:focus{outline:none;border-color:var(--color-accent)}.calendar-container{background:var(--color-paper);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-md)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.month-nav{display:flex;align-items:center;gap:var(--space-sm)}.month-nav-button{padding:.4rem .8rem;background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:1.2rem;line-height:1;transition:all .2s}.month-nav-button:hover{background:var(--color-accent-soft);border-color:var(--color-accent)}.month-nav-button:disabled{opacity:.4;cursor:not-allowed}.month-display{font-weight:600;font-size:1.1rem;min-width:160px;text-align:center}.grid-7-col{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;background:var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.calendar-day-header{padding:.5rem;background:var(--color-paper-soft);text-align:center;font-weight:600;font-size:.75rem;text-transform:uppercase;color:var(--color-ink);opacity:.7}.calendar-cell{position:relative;aspect-ratio:1;padding:.5rem;cursor:pointer;transition:all .2s;background:var(--color-paper);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}.calendar-cell:hover{filter:brightness(.85);transform:scale(1.05);z-index:1}.calendar-cell.selected{outline:2px solid var(--color-accent);outline-offset:-2px;z-index:2}.calendar-cell.other-month{opacity:.3;cursor:default}.calendar-cell.other-month:hover{transform:none}.calendar-cell.today{font-weight:700}.calendar-cell.move-available{background:#e0f5e0}.calendar-cell.move-current{outline:2px dashed var(--color-accent);outline-offset:-2px;opacity:.6;cursor:default}.calendar-cell.move-current:hover{transform:none}.calendar-cell.move-full,.calendar-cell.move-no-slots{opacity:.35;cursor:not-allowed}.calendar-cell.move-full:hover,.calendar-cell.move-no-slots:hover{transform:none;filter:none}.calendar-cell.bulk-range{background:#e0f0ff}.calendar-cell.bulk-range-endpoint{background:#c0e0ff;outline:2px solid var(--color-accent);outline-offset:-2px}.calendar-mode-banner{padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-top:var(--space-sm);font-size:.875rem;display:flex;justify-content:space-between;align-items:center}.cell-date{font-size:.875rem;font-weight:600;margin-bottom:.25rem}.cell-slot-badge{font-size:.625rem;padding:.15rem .4rem;background:var(--color-ink);color:var(--color-paper);border-radius:var(--radius-sm);opacity:.6}.tabs-container{margin-bottom:var(--space-md)}.tabs-nav{display:flex;gap:0;border-bottom:2px solid var(--color-border)}.tab-button{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-weight:500;color:var(--color-ink);opacity:.6;transition:all .2s;margin-bottom:-2px}.tab-button:hover{opacity:.8}.tab-button.active{opacity:1;border-bottom-color:var(--color-accent);color:var(--color-accent)}.tab-content{padding-top:var(--space-md)}.timeline-container{position:relative;padding:var(--space-md) 0}.timeline-hour-marker{display:flex;align-items:center;margin-bottom:var(--space-sm);font-size:.75rem;color:var(--color-ink);opacity:.5}.timeline-slot-block{position:relative;margin:var(--space-xs) 0 var(--space-xs) 60px;padding:var(--space-sm) var(--space-md);background:var(--color-accent-soft);border:1px solid var(--color-accent);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.timeline-slot-block:hover{transform:translate(4px);box-shadow:var(--shadow-md)}.timeline-slot-block.slot-hidden{background:var(--color-surface);border-color:var(--color-border);opacity:.5}.timeline-slot-block.slot-hidden:hover{opacity:.7}.slot-time{font-weight:600;font-size:.875rem;margin-bottom:.25rem}.slot-capacity-bar{display:flex;align-items:center;gap:var(--space-sm);margin-top:.5rem}.capacity-bar{flex:1;height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.capacity-bar-fill{height:100%;background:var(--color-accent);transition:width .3s}.booking-table{width:100%;border-collapse:collapse;font-size:.875rem}.booking-table th{text-align:left;padding:.75rem;background:var(--color-paper-soft);border-bottom:2px solid var(--color-border);font-weight:600}.booking-table td{padding:.75rem;border-bottom:1px solid var(--color-border)}.booking-table tr:hover{background:var(--color-accent-soft)}.action-button{padding:.4rem .8rem;background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;transition:all .2s}.action-button:hover{background:var(--color-accent-soft);border-color:var(--color-accent)}.action-button.danger:hover{background:#fde8e2;border-color:var(--color-warn);color:var(--color-warn)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(2px)}.modal-content{background:var(--color-paper);border-radius:var(--radius-md);padding:var(--space-lg);max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.modal-title{font-size:1.25rem;font-weight:600}.modal-close{padding:.5rem;background:transparent;border:none;cursor:pointer;font-size:1.5rem;line-height:1;opacity:.5;transition:opacity .2s}.modal-close:hover{opacity:1}.modal-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;margin-top:var(--space-lg)}.form-group{margin-bottom:var(--space-md)}.form-label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.875rem}.form-input,.form-select,.form-textarea{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;font-family:inherit}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent)}.form-input[type=date],.form-input[type=time]{direction:rtl;padding-left:.75rem}.form-input[type=date]::-webkit-datetime-edit,.form-input[type=time]::-webkit-datetime-edit{direction:ltr}.form-input[type=date]::-webkit-calendar-picker-indicator,.form-input[type=time]::-webkit-calendar-picker-indicator{width:1.25rem;height:1.25rem;cursor:pointer;opacity:.7}.form-input[type=date]::-webkit-calendar-picker-indicator:hover,.form-input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.form-checkbox{margin-right:.5rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.font-semibold{font-weight:600}.detail-panel{display:flex;flex-direction:column;height:100%}.detail-panel-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border-bottom:1px solid var(--color-border)}.detail-panel-title{font-size:1.125rem;font-weight:600;margin:0}.detail-panel-body{padding:var(--space-md);overflow-y:auto;flex:1}.detail-summary{background:var(--color-surface);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-md);font-size:.875rem;line-height:1.8}.detail-summary p{margin:0}.back-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-paper);cursor:pointer;color:var(--color-ink);flex-shrink:0}.back-button:hover,.booking-row:hover{background:var(--color-surface)}.day-detail-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg) 0;gap:var(--space-sm);opacity:.6}.day-detail-loading p{font-size:.875rem;margin:0}.loading-spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.slot-picker-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);gap:var(--space-sm)}.slot-picker-date{font-weight:600;font-size:.875rem;text-align:center;flex:1}.slot-picker-list{display:flex;flex-direction:column;gap:var(--space-xs)}.slot-picker-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent-soft);cursor:pointer;text-align:left;font-family:inherit;font-size:.875rem;transition:all .15s;width:100%}.slot-picker-item:hover:not(:disabled){transform:translate(4px);box-shadow:var(--shadow-md)}.slot-picker-item:disabled{cursor:default}.slot-picker-item.no-capacity{background:var(--color-surface);border-color:var(--color-border);opacity:.5}.slot-picker-item.current{background:var(--color-surface);border-color:var(--color-border);border-style:dashed;opacity:.6}.slot-picker-item-time{font-weight:600;white-space:nowrap}.slot-picker-item-info{text-align:right}.slot-picker-item-bar{width:60px}.bulk-action-card{display:flex;flex-direction:column;gap:.25rem;padding:var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-paper);cursor:pointer;text-align:left;font-family:inherit;transition:all .15s}.bulk-action-card:hover{transform:translate(4px);box-shadow:var(--shadow-md)}.bulk-action-card.accent{border-color:var(--color-accent);background:var(--color-accent-soft)}.bulk-action-card.danger{border-color:var(--color-warn);background:#fde8e2}.bulk-preview-list{display:flex;flex-direction:column;gap:var(--space-xs);max-height:400px;overflow-y:auto;padding-right:var(--space-xs)}.bulk-preview-group{font-size:.75rem;font-weight:600;padding:var(--space-xs) 0;margin-top:var(--space-xs);opacity:.6}.bulk-preview-group:first-child{margin-top:0}.day-toggle{padding:.3rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-paper);cursor:pointer;font-size:.75rem;font-family:inherit;transition:all .15s}.day-toggle:hover{border-color:var(--color-accent)}.day-toggle.active{background:var(--color-accent-soft);border-color:var(--color-accent);font-weight:600}.time-slot-row{display:flex;gap:var(--space-xs);align-items:center;margin-bottom:var(--space-xs)}.admin-dashboard-root{margin:0;padding:0;font-family:DM Sans,Avenir Next,Avenir,Segoe UI,sans-serif;background:radial-gradient(circle at 20% 10%,#f9f4e7,#f5ede0 40%,#f0e7d8);color:var(--color-ink);min-height:100vh}.admin-dashboard-root a{color:inherit}
