:root{--bst-bg:#f5f6f8;--bst-surface:#fff;--bst-border:#e5e7eb;--bst-text:#1f2937;--bst-muted:#6b7280;--bst-primary:#ea580c;--bst-primary-hover:#c2410c;--bst-dark:#1e293b;--bst-danger:#dc2626;--bst-success:#16a34a;--bst-warning:#d97706}.bst-admin{background:var(--bst-bg);min-height:100vh;color:var(--bst-text);grid-template-columns:240px 1fr;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;display:grid}.bst-sidebar{background:var(--bst-dark);color:#f1f5f9;flex-direction:column;gap:.25rem;padding:1.5rem 1rem;display:flex}.bst-brand{letter-spacing:-.01em;padding:.5rem .75rem 1.25rem;font-size:1.15rem;font-weight:800}.bst-brand span{color:var(--bst-primary)}.bst-nav-link{color:#cbd5e1;border-radius:6px;padding:.6rem .75rem;font-size:.92rem;text-decoration:none;display:block}.bst-nav-link:hover{color:#fff;background:#ffffff0f}.bst-nav-link.active{background:var(--bst-primary);color:#fff}.bst-sidebar-footer{color:#94a3b8;border-top:1px solid #ffffff14;margin-top:auto;padding-top:1rem;font-size:.8rem}.bst-main{max-width:1100px;padding:2rem}.bst-page-title{margin:0 0 1.5rem;font-size:1.5rem;font-weight:700}.bst-card{background:var(--bst-surface);border:1px solid var(--bst-border);border-radius:10px;margin-bottom:1.25rem;padding:1.25rem}.bst-card h2{margin:0 0 1rem;font-size:1.05rem}.bst-form{gap:.75rem;display:grid}.bst-form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.bst-label{color:var(--bst-muted);margin-bottom:.25rem;font-size:.8rem;font-weight:600;display:block}.bst-input,.bst-select,.bst-textarea{border:1px solid var(--bst-border);width:100%;color:var(--bst-text);background:#fff;border-radius:6px;padding:.55rem .7rem;font-family:inherit;font-size:.92rem}.bst-textarea{resize:vertical;min-height:80px}.bst-input:focus,.bst-select:focus,.bst-textarea:focus{outline:2px solid var(--bst-primary);outline-offset:-1px;border-color:var(--bst-primary)}.bst-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:.55rem 1rem;font-family:inherit;font-size:.9rem;font-weight:600;display:inline-flex}.bst-btn-primary{background:var(--bst-primary);color:#fff}.bst-btn-primary:hover{background:var(--bst-primary-hover)}.bst-btn-ghost{color:var(--bst-muted);border-color:var(--bst-border);background:0 0}.bst-btn-ghost:hover{background:var(--bst-bg);color:var(--bst-text)}.bst-btn-danger{color:var(--bst-danger);border-color:var(--bst-border);background:#fff}.bst-btn-danger:hover{background:var(--bst-danger);color:#fff;border-color:var(--bst-danger)}.bst-btn:disabled{opacity:.5;cursor:not-allowed}.bst-table{border-collapse:collapse;width:100%;font-size:.92rem}.bst-table th,.bst-table td{text-align:left;border-bottom:1px solid var(--bst-border);padding:.7rem .6rem}.bst-table th{color:var(--bst-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:600}.bst-table tbody tr:hover{background:#fafbfc}.bst-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:600;display:inline-block}.bst-badge-available{color:#166534;background:#dcfce7}.bst-badge-busy{color:#991b1b;background:#fee2e2}.bst-badge-tentative{color:#92400e;background:#fef3c7}.bst-empty{text-align:center;color:var(--bst-muted);padding:2rem;font-size:.92rem}.bst-error{color:var(--bst-danger);margin-top:.5rem;font-size:.85rem}.bst-success{color:var(--bst-success);margin-top:.5rem;font-size:.85rem}.bst-calendar-wrap{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.bst-calendar-month{border:1px solid var(--bst-border);background:#fff;border-radius:8px;padding:.75rem}.bst-calendar-month-title{text-align:center;text-transform:capitalize;margin-bottom:.5rem;font-size:.95rem;font-weight:600}.bst-calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.bst-calendar-dayhead{text-align:center;color:var(--bst-muted);padding:.25rem 0;font-size:.7rem;font-weight:600}.bst-calendar-cell{aspect-ratio:1;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:.78rem;font-weight:500;display:flex}.bst-calendar-clickable{cursor:pointer;transition:transform 80ms,filter 80ms}.bst-calendar-clickable:hover:not(:disabled){filter:brightness(.94);z-index:1;transform:scale(1.05)}.bst-calendar-clickable:active:not(:disabled){transform:scale(.95)}.bst-calendar-clickable:disabled{cursor:not-allowed}.bst-calendar-past{opacity:.45}.bst-calendar-busy-spinner{animation:.6s ease-in-out infinite bst-pulse}@keyframes bst-pulse{0%,to{opacity:.5}50%{opacity:1}}.bst-calendar-empty{background:0 0}.bst-calendar-closed{color:#6b7280;background:repeating-linear-gradient(45deg,#f3f4f6,#f3f4f6 4px,#e5e7eb 4px 8px)}.bst-calendar-free{color:#166534;background:#dcfce7}.bst-calendar-blocked{color:#991b1b;background:#fee2e2;font-weight:700}.bst-calendar-partial{color:#9a3412;background:linear-gradient(135deg,#fed7aa 0% 50%,#dcfce7 50% 100%);font-weight:600;position:relative}.bst-calendar-slot-count{color:#9a3412;background:#fff;border-radius:999px;justify-content:center;align-items:center;width:12px;height:12px;font-size:.55rem;font-weight:700;line-height:1;display:flex;position:absolute;top:2px;right:3px}.bst-calendar-today{outline:2px solid var(--bst-primary);outline-offset:-2px}.bst-calendar-num{line-height:1}.bst-calendar-legend{color:var(--bst-muted);flex-wrap:wrap;gap:1rem;margin-bottom:1rem;font-size:.82rem;display:flex}.bst-calendar-legend span{align-items:center;gap:.4rem;display:inline-flex}.bst-legend-dot{border-radius:3px;width:14px;height:14px;display:inline-block}.bst-legend-free{background:#dcfce7}.bst-legend-blocked{background:#fee2e2}.bst-legend-partial{background:linear-gradient(135deg,#fed7aa 0% 50%,#dcfce7 50% 100%)}.bst-legend-closed{background:repeating-linear-gradient(45deg,#f3f4f6,#f3f4f6 4px,#e5e7eb 4px 8px)}.bst-weekly-grid{flex-direction:column;gap:.5rem;display:flex}.bst-weekly-row{background:var(--bst-bg);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.6rem .8rem;display:flex}.bst-weekly-row.bst-weekly-closed{opacity:.6}.bst-weekly-day{width:100px;font-size:.95rem;font-weight:600}.bst-weekly-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;width:120px;font-size:.88rem;display:inline-flex}.bst-weekly-toggle input{accent-color:var(--bst-primary)}.bst-weekly-time{max-width:110px;padding:.4rem .5rem}.bst-legend-today{outline:2px solid var(--bst-primary);outline-offset:-2px;background:#fff}.bst-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.bst-photo-card{background:var(--bst-surface);border:1px solid var(--bst-border);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.bst-photo-thumb{aspect-ratio:4/3;object-fit:cover;background:#f3f4f6;width:100%;display:block}.bst-photo-body{flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.bst-photo-body .bst-input{padding:.35rem .5rem;font-size:.85rem}.bst-photo-actions{justify-content:space-between;gap:.4rem;display:flex}.bst-filter-bar{border-bottom:1px solid var(--bst-border);flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.bst-bookings-list{flex-direction:column;gap:1rem;display:flex}.bst-booking-card{border:1px solid var(--bst-border);background:#fff;border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.bst-booking-pending{border-left:4px solid var(--bst-primary)}.bst-booking-accepted{border-left:4px solid var(--bst-success)}.bst-booking-rejected{border-left:4px solid var(--bst-muted);opacity:.7}.bst-booking-done{border-left:4px solid var(--bst-dark)}.bst-booking-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.bst-booking-name{font-size:1.05rem;font-weight:700}.bst-booking-meta{color:var(--bst-muted);margin-top:.2rem;font-size:.82rem}.bst-booking-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem 1rem;display:grid}.bst-booking-grid a{color:var(--bst-primary);font-size:.92rem;text-decoration:none}.bst-booking-grid a:hover{text-decoration:underline}.bst-booking-message{background:var(--bst-bg);white-space:pre-wrap;border-radius:6px;padding:.7rem;font-size:.92rem;line-height:1.5}.bst-booking-actions{border-top:1px solid var(--bst-border);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.5rem;display:flex}.bst-modal-backdrop{z-index:100;background:#0f172a8c;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-out bst-fade;display:flex;position:fixed;inset:0}.bst-modal{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:520px;max-height:90vh;animation:.18s ease-out bst-slide;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000059}.bst-modal-head{border-bottom:1px solid var(--bst-border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.bst-modal-head h3{text-transform:capitalize;margin:0;font-size:1.05rem}.bst-modal-body{padding:1rem 1.25rem 1.25rem;overflow-y:auto}.bst-modal-body h4{text-transform:uppercase;color:var(--bst-muted);letter-spacing:.04em;margin:0 0 .5rem;font-size:.82rem}.bst-slot-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.bst-slot-item{background:var(--bst-bg);border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .7rem;font-size:.92rem;display:flex}.bst-slot-label{color:var(--bst-muted)}@keyframes bst-fade{0%{opacity:0}to{opacity:1}}@keyframes bst-slide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bst-badge-pending{color:#9a3412;background:#fed7aa}.bst-badge-accepted{color:#166534;background:#dcfce7}.bst-badge-rejected{color:#374151;background:#e5e7eb}.bst-badge-done{color:#1e40af;background:#dbeafe}.bst-login-page{background:var(--bst-bg);place-items:center;min-height:100vh;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;display:grid}.bst-login-card{background:var(--bst-surface);border:1px solid var(--bst-border);border-radius:12px;width:100%;max-width:380px;padding:2rem}.bst-login-card h1{text-align:center;margin:0 0 .25rem;font-size:1.4rem}.bst-login-card .bst-subtitle{text-align:center;color:var(--bst-muted);margin:0 0 1.5rem;font-size:.85rem}@media (max-width:720px){.bst-admin{grid-template-columns:1fr}.bst-sidebar{flex-flow:wrap;padding:1rem}.bst-brand{width:100%;padding:0}.bst-sidebar-footer{display:none}.bst-main{padding:1rem}.bst-form-row{grid-template-columns:1fr}}
