@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-latin-400-normal.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-sans-latin-500-normal.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/dm-sans-latin-600-normal.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/dm-sans-latin-700-normal.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--brand-primary: #b85335;--brand-secondary: #cf795b;--brand-dark: #3b3140;--bg-canvas: #f9f6f0;--bg-surface: #ffffff;--bg-surface-hover: #f1ece4;--text-primary: #28202b;--text-secondary: #5c5162;--text-muted: #6f6376;--border-color: #e0d7cb;--border-strong: #c9bcac;--btn-primary: #b85335;--btn-primary-hover: #9c4227;--btn-primary-text: #ffffff;--accent: #cf795b;--shadow-color: rgba(59, 49, 64, .08);--shadow-rgb: 59, 49, 64;--accent-rgb: 184, 83, 53;--surface-rgb: 255, 255, 255;--canvas-rgb: 249, 246, 240;--brand-dark-rgb: 59, 49, 64;--surface-overlay-hover: rgba(var(--brand-dark-rgb), .06);--surface-overlay-subtle: rgba(var(--brand-dark-rgb), .04);--surface-overlay-border: rgba(var(--brand-dark-rgb), .1);--glass-edge: rgba(255, 255, 255, .65);--glass-shadow-lg: 0 24px 64px rgba(59, 49, 64, .14);--glass-shadow-md: 0 8px 32px rgba(59, 49, 64, .1);--primary: var(--btn-primary);--primary-dark: var(--btn-primary-hover);--primary-light: rgba(var(--accent-rgb), .12);--primary-ink: #8e3a1f;--bg: var(--bg-canvas);--bg-card: var(--bg-surface);--bg-input: var(--bg-surface-hover);--bg-secondary: var(--bg-surface-hover);--border: var(--border-color);--text: var(--text-primary);--success: #0f9d6e;--success-bg: #dcf5eb;--success-ink: #0a6b4b;--danger: #dc3b3b;--danger-bg: #fce7e7;--danger-ink: #a32020;--warning: #d08006;--warning-bg: #fdf1d9;--warning-ink: #8a5104;--radius-xs: 4px;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--radius-pill: 999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--text-caption: .75rem;--text-label: .8125rem;--text-sm: .875rem;--text-body: .9375rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.125rem;--shadow-sm: 0 1px 3px rgba(var(--shadow-rgb), .07), 0 1px 2px rgba(var(--shadow-rgb), .04);--shadow-md: 0 4px 14px rgba(var(--shadow-rgb), .09);--shadow-lg: 0 10px 30px rgba(var(--shadow-rgb), .12);--shadow: var(--shadow-md);--focus-ring-color: var(--brand-secondary);--focus-ring: 0 0 0 3px rgba(var(--accent-rgb), .28);--transition: .18s ease;--sidebar-width: 260px;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg-canvas: #1a151e;--bg-surface: #251f2a;--bg-surface-hover: #312a37;--text-primary: #f7efe5;--text-secondary: #c8becc;--text-muted: #a79bac;--border-color: #3f3547;--border-strong: #574b60;--btn-primary: #cf795b;--btn-primary-hover: #e0896b;--btn-primary-text: #1a151e;--accent: #e58869;--shadow-color: rgba(0, 0, 0, .4);--shadow-rgb: 0, 0, 0;--accent-rgb: 207, 121, 91;--surface-rgb: 37, 31, 42;--canvas-rgb: 26, 21, 30;--primary-ink: #f0b79e;--surface-overlay-hover: rgba(255, 255, 255, .08);--surface-overlay-subtle: rgba(255, 255, 255, .045);--surface-overlay-border: rgba(255, 255, 255, .1);--glass-edge: rgba(255, 255, 255, .07);--glass-shadow-lg: 0 24px 64px rgba(0, 0, 0, .55);--glass-shadow-md: 0 8px 32px rgba(0, 0, 0, .38);--success: #34d399;--success-bg: rgba(16, 185, 129, .16);--success-ink: #6ee7b7;--danger: #f87171;--danger-bg: rgba(239, 68, 68, .16);--danger-ink: #fca5a5;--warning: #fbbf24;--warning-bg: rgba(245, 158, 11, .16);--warning-ink: #fcd34d;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 14px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .45);color-scheme:dark}}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}img,picture,svg{max-width:100%}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6)}.card-compact{padding:var(--space-4)}.card-title{font-size:var(--text-lg);font-weight:700;line-height:1.35;color:var(--text-primary);margin-bottom:var(--space-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;min-height:42px;padding:.6rem 1.25rem;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-body);font-weight:600;line-height:1.2;cursor:pointer;border:1px solid transparent;text-decoration:none;text-align:center;white-space:nowrap;transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition),transform .12s ease}.btn:hover{text-decoration:none}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--btn-primary-text)}.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.btn-secondary{background:var(--bg-surface);border-color:var(--border-strong);color:var(--text)}.btn-secondary:hover{background:var(--bg-input);border-color:var(--text-secondary)}.btn-outline{background:transparent;border-color:var(--primary);color:var(--primary)}.btn-outline:hover{background:var(--primary-light);border-color:var(--primary-dark);color:var(--primary-dark)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--surface-overlay-hover);color:var(--text)}.btn:disabled{background:var(--bg-input);border-color:var(--border-color);color:var(--text-muted);cursor:not-allowed;pointer-events:none;transform:none}.btn-large{min-height:50px;padding:.85rem 1.75rem;font-size:var(--text-md)}.btn-full{width:100%}.btn-sm{min-height:34px;padding:.35rem .85rem;font-size:var(--text-label)}.alert{display:flex;gap:.65em;padding:.85rem 1rem;border:1px solid transparent;border-left-width:3px;border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:var(--text-body);line-height:1.55}.alert-error{background:var(--danger-bg);color:var(--danger-ink);border-color:#dc3b3b40;border-left-color:var(--danger)}.alert-warning{background:var(--warning-bg);color:var(--warning-ink);border-color:#d0800647;border-left-color:var(--warning)}.alert-info{background:var(--primary-light);color:var(--primary-ink);border-color:rgba(var(--accent-rgb),.28);border-left-color:var(--primary)}.form-group{margin-bottom:var(--space-5)}.form-group>label{display:block;font-size:var(--text-label);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2)}.form-group input,.form-group textarea,.form-group select{width:100%;min-height:42px;background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:var(--text-md);line-height:1.4;padding:.6rem .85rem;outline:none;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition)}.form-group input:hover:not(:disabled):not(:focus),.form-group textarea:hover:not(:disabled):not(:focus),.form-group select:hover:not(:disabled):not(:focus){border-color:var(--border-strong)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);opacity:1}.form-group textarea{resize:vertical;min-height:96px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.field-hint{margin-top:var(--space-2);font-size:var(--text-caption);color:var(--text-muted);line-height:1.45}.field-hint code{font-size:.85em;background:var(--bg-input);padding:.05rem .3rem;border-radius:var(--radius-xs);color:var(--primary-ink)}fieldset{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);margin:0 0 var(--space-5)}legend{padding:0 var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:var(--space-6);background:radial-gradient(circle at top left,rgba(var(--accent-rgb),.16),transparent 42%),radial-gradient(circle at bottom right,rgba(var(--brand-dark-rgb),.1),transparent 38%),var(--bg)}.container-narrow{width:min(440px,100%)}.auth-card{background:rgba(var(--surface-rgb),.82);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border:1px solid rgba(var(--accent-rgb),.22);border-top:4px solid var(--primary);border-radius:var(--radius);padding:2.5rem 2rem;box-shadow:var(--glass-shadow-lg),0 0 0 1px rgba(var(--accent-rgb),.07),inset 0 1px 0 var(--glass-edge)}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{display:block;height:48px;width:auto;margin:0 auto .75rem;object-fit:contain}.auth-header p{color:var(--text-muted);margin-top:.25rem}.auth-submit{margin-top:var(--space-2)}.auth-hint{margin-top:var(--space-5);font-size:var(--text-sm);color:var(--text-muted);line-height:1.8;text-align:center}.auth-hint code{background:var(--bg-input);padding:.15rem .4rem;border-radius:var(--radius-xs);font-size:var(--text-label);color:var(--primary)}.shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.sidebar{background:var(--bg-surface);border-right:1px solid var(--border);padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-6);position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-2)}.sidebar-brand-logo{height:28px;width:auto;object-fit:contain;align-self:flex-start}.sidebar-brand-label{font-size:var(--text-caption);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.nav{display:flex;flex-direction:column;gap:var(--space-1)}.nav a{display:block;padding:.7rem .85rem;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-body);font-weight:500;text-decoration:none;transition:background var(--transition),color var(--transition)}.nav a:hover{background:var(--surface-overlay-hover);color:var(--text);text-decoration:none}.nav a.active{background:var(--primary-light);color:var(--primary-ink);font-weight:600}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border)}.user-chip{display:flex;flex-direction:column;gap:.1rem;padding:0 var(--space-2)}.user-name{font-weight:600;font-size:var(--text-sm);color:var(--text-primary)}.user-email{font-size:var(--text-caption);color:var(--text-muted);word-break:break-all}.content{padding:clamp(1.75rem,3vw,2.75rem) clamp(1.5rem,4vw,3.25rem) clamp(2.5rem,4vw,3.5rem);min-width:0}.page{max-width:1100px;width:100%}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-8);flex-wrap:wrap;padding-inline:.15rem}.page-header h1{font-size:var(--text-3xl);font-weight:700;line-height:1.2;letter-spacing:-.015em;margin-bottom:var(--space-2);color:var(--text-primary)}.page-header .btn{flex-shrink:0;margin-top:.15rem}.page-subtitle,.muted,.footnote{color:var(--text-muted);font-size:var(--text-body)}.breadcrumb{display:flex;gap:.4rem;font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-2)}.breadcrumb a{color:var(--primary);text-decoration:none;font-weight:500}.breadcrumb a:hover{text-decoration:underline}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-5);margin-bottom:var(--space-6)}.metric-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5) var(--space-5) var(--space-6);box-shadow:var(--shadow-sm)}.metric-label{font-size:var(--text-label);font-weight:600;color:var(--text-muted);margin-bottom:var(--space-2)}.metric-value{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;color:var(--text-primary);line-height:1.15}.metric-hint{font-size:var(--text-caption);color:var(--text-muted);margin-top:var(--space-2)}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}.panel h2{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-4);color:var(--text-primary)}.panel-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.panel-header-row h2{margin-bottom:0}.panel-header-actions{display:flex;gap:var(--space-2);align-items:center}.avatar-row{display:flex;gap:var(--space-5);align-items:center;flex-wrap:wrap}.avatar-preview{width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--bg-input);border:1px solid var(--border);display:grid;place-items:center;flex-shrink:0}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{font-size:var(--text-caption);color:var(--text-muted);text-align:center;padding:var(--space-2)}.avatar-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.avatar-actions .field-hint{flex-basis:100%;margin:0}.gallery-item-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.form-panel fieldset{border:none;margin:0 0 var(--space-5);padding:0}.form-panel legend{font-size:var(--text-base);font-weight:700;margin-bottom:var(--space-3);color:var(--text-primary)}.inline-edit-form .form-grid{margin-top:0}.inline-edit-form .form-group{margin-bottom:0}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4) var(--space-5)}.detail-grid .detail-span-2{grid-column:1 / -1}.detail-grid dt{font-size:var(--text-caption);font-weight:600;color:var(--text-muted);margin-bottom:.15rem}.detail-grid dd{font-size:var(--text-body);color:var(--text-primary);margin:0;white-space:pre-wrap}.detail-grid.is-editing dd input,.detail-grid.is-editing dd textarea{width:100%;min-height:36px;margin:0;padding:.35rem .55rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font:inherit;font-size:var(--text-body);line-height:1.4;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.detail-grid.is-editing dd textarea{min-height:72px;resize:vertical}.detail-grid.is-editing dd input:focus,.detail-grid.is-editing dd textarea:focus{border-color:var(--primary);box-shadow:var(--focus-ring)}.detail-grid.is-editing dd .field-hint{margin-top:var(--space-1)}.form-label-text{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2)}.hours-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.hours-list li{display:flex;align-items:center;gap:.75rem;min-height:32px;font-size:var(--text-sm)}.hours-abbr{width:2rem;flex-shrink:0;color:var(--text-muted);font-weight:600}.hours-range{color:var(--text-primary)}.hours-closed{color:var(--text-muted);font-style:italic}.hours-list-readonly li.is-closed .hours-abbr{opacity:.7}.hours-day-toggle{display:flex;align-items:center;gap:.45rem;width:3.5rem;flex-shrink:0;cursor:pointer;margin:0;font-size:var(--text-sm);font-weight:600}.hours-day-toggle input{width:auto;min-height:0;margin:0;accent-color:var(--primary)}.hours-day-toggle .is-muted{color:var(--text-muted)}.hours-times{display:flex;align-items:center;gap:.4rem}.hours-times input[type=time]{width:7.25rem;min-height:34px;padding:.3rem .45rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font:inherit;font-size:var(--text-sm)}.hours-sep{color:var(--text-muted);font-size:var(--text-caption)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th,.data-table td{text-align:left;padding:.75rem .65rem;border-bottom:1px solid var(--border);vertical-align:top}.data-table th{font-size:var(--text-caption);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.table-link{color:var(--primary);font-weight:600;text-decoration:none}.table-link:hover{text-decoration:underline}.badge{display:inline-block;margin-left:.4rem;padding:.12rem .45rem;border-radius:var(--radius-pill);font-size:.7rem;font-weight:600;background:var(--bg-input);border:1px solid var(--border);color:var(--text-secondary);vertical-align:middle}.badge-warn{background:var(--warning-bg);color:var(--warning-ink);border-color:transparent}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-4)}.gallery-item{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--bg-input)}.gallery-item img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.gallery-item.is-paused img{opacity:.45;filter:grayscale(.4)}.gallery-item-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);flex-wrap:wrap}.form-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6);box-shadow:var(--shadow-sm)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.field-full{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}.footnote{font-size:var(--text-sm);margin-top:var(--space-2)}.footnote code{font-size:.8em;background:var(--bg-input);padding:.05rem .3rem;border-radius:var(--radius-xs);color:var(--primary-ink)}@media (max-width: 860px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border)}.nav{flex-direction:row;flex-wrap:wrap}.sidebar-footer{margin-top:0;flex-direction:row;align-items:center;border-top:none;padding-top:0}.user-email{display:none}.content{padding:var(--space-6) var(--space-5) var(--space-8)}.form-grid{grid-template-columns:1fr}.page-header{gap:var(--space-4);margin-bottom:var(--space-6)}.page-header h1{font-size:var(--text-2xl)}.page-header .btn{width:100%}}
