:root{color-scheme:light;--bg: #edf1f5;--bg-accent: #d9e2ec;--ink: #15202b;--muted: #52606d;--surface: #f8fafc;--line: #cbd2d9;--brand: #245b8a;--brand-strong: #1a4468;--danger: #8b2e2e;--success: #1f6b45;--warn: #8a6d1d;--focus: #3b82a8;font-family:Segoe UI,Trebuchet MS,sans-serif;line-height:1.5;color:var(--ink);background:radial-gradient(circle at top right,#c5d7ea 0%,transparent 40%),linear-gradient(165deg,var(--bg),var(--bg-accent));min-height:100%}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}button,input,select{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.app-header{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 90%,white)}.brand{margin:0;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:var(--brand)}.tagline,.header-note,.muted{margin:0;color:var(--muted)}.header-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.header-user{margin:0;display:inline-flex;align-items:center;gap:.5rem;font-weight:600}.pending-badge{display:inline-flex;min-width:1.4rem;height:1.4rem;padding:0 .35rem;border-radius:999px;align-items:center;justify-content:center;background:#c2410c;color:#fff;font-size:.8rem;font-weight:700}.app-main{padding:1.25rem 1rem 2rem;width:min(1100px,100%);margin:0 auto}.app-footer{padding:.75rem 1.5rem 1.25rem;color:var(--muted);font-size:.8rem}.page-intro h1,.login-form h1{margin:0 0 .4rem;font-size:clamp(1.4rem,3vw,1.9rem)}.login-page{display:grid;place-items:center;min-height:60vh}.login-form,.panel,.panel-form,.entity-card{background:var(--surface);border:1px solid var(--line);border-radius:1rem}.login-form,.panel-form,.panel{padding:1.25rem;display:grid;gap:.9rem}.login-form{width:min(24rem,100%)}.field{display:grid;gap:.35rem}.field span{color:var(--muted);font-size:.92rem}.field input,.field select,.edit-row input,.edit-grid input{border:1px solid var(--line);border-radius:.75rem;padding:.7rem .85rem;background:#fff}.tabs{display:flex;gap:.5rem;flex-wrap:wrap}.tab-btn,.btn{border-radius:.75rem;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;padding:.65rem .95rem}.tab-btn.is-active,.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-ghost{background:transparent}.btn:disabled,.tab-btn:disabled{opacity:.6;cursor:not-allowed}.cabinet-page{display:grid;gap:1.25rem}.cabinet-grid{display:grid;gap:1rem}.card-list{display:grid;gap:.75rem}.entity-card{padding:1rem;display:grid;gap:.45rem}.entity-card.is-new{border-color:color-mix(in srgb,#c2410c 45%,var(--line));box-shadow:inset 3px 0 #c2410c}.entity-main{display:flex;justify-content:space-between;gap:.75rem;align-items:start}.entity-title{margin:0;font-weight:650}.entity-meta{margin:0;color:var(--muted);font-size:.92rem}.entity-actions,.edit-row,.filter-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:end}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;width:100%}.edit-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.5rem;align-items:end}.edit-grid-calendar{grid-template-columns:1fr}.slot-calendar{display:grid;gap:.55rem;padding:.75rem;border:1px solid var(--line);border-radius:.85rem;background:#fff}.slot-calendar.is-disabled{opacity:.65}.slot-calendar-label{color:var(--muted);font-size:.92rem}.slot-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.slot-calendar-nav-btn{min-width:2.25rem;padding:.35rem .55rem}.slot-calendar-title{margin:0;font-weight:600;text-transform:capitalize;text-align:center}.slot-calendar-weekdays,.slot-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem}.slot-calendar-weekdays span{text-align:center;font-size:.75rem;color:var(--muted);text-transform:lowercase}.slot-calendar-cell{display:grid;justify-items:center;gap:.15rem;min-height:2.6rem;padding:.25rem .1rem .35rem;border:1px solid transparent;border-radius:.55rem;background:transparent;color:var(--ink);cursor:pointer}.slot-calendar-cell.is-empty{pointer-events:none}.slot-calendar-cell:hover:not(:disabled):not(.is-empty){background:color-mix(in srgb,var(--brand) 8%,white)}.slot-calendar-cell.is-selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,white)}.slot-calendar-day{font-size:.92rem;line-height:1.2}.slot-calendar-dots{display:flex;gap:.2rem;min-height:.45rem;align-items:center;justify-content:center}.slot-dot{width:.45rem;height:.45rem;border-radius:50%;display:inline-block}.slot-dot-open{background:#8a97a5}.slot-dot-booked{background:var(--success)}.slot-calendar-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.85rem;color:var(--muted);font-size:.82rem}.slot-calendar-legend li{display:inline-flex;align-items:center;gap:.35rem}.status-pill{margin:0;padding:.2rem .55rem;border-radius:999px;font-size:.8rem;border:1px solid var(--line);white-space:nowrap}.status-open{color:var(--success);border-color:color-mix(in srgb,var(--success) 35%,var(--line))}.status-booked{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}.status-cancelled,.status-rejected{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.status-pending{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,var(--line))}.status-confirmed{color:var(--success);border-color:color-mix(in srgb,var(--success) 35%,var(--line))}.status-message{margin:0;padding:.85rem 1rem;border-radius:.85rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 80%,white)}.status-error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.inline-field{min-width:12rem}@media(max-width:767px){.edit-grid{grid-template-columns:1fr}}@media(min-width:768px){.app-header{flex-direction:row;align-items:center;justify-content:space-between;padding:1.5rem 2rem}.app-main{padding:2rem}.cabinet-grid{grid-template-columns:minmax(16rem,22rem) 1fr;align-items:start}.panel,.panel-form{padding:1.5rem}}
