:root{--radius: .75rem;color-scheme:light;--primary-raw: .72 .132 179;--accent-raw: .83 .116 177;--brand-blue-raw: .62 .14 220;--background-raw: .99 .003 255;--foreground-raw: .186 .029 260;--card-raw: 1 0 0;--surface-raw: .99 .002 250;--white-raw: 1 0 0;--black-raw: 0 0 0;--muted-raw: .967 .003 264;--muted-foreground-raw: .551 .023 264;--secondary-foreground-raw: .28 .028 260;--border-raw: .922 .004 264;--hairline-raw: .92 .006 255;--hairline-strong-raw: .88 .01 255;--ring-raw: var(--primary-raw);--on-brand-raw: .16 .028 260;--on-color-raw: .99 .005 250;--destructive-raw: .58 .22 25;--info-raw: .6 .13 240;--warning-raw: .75 .15 75;--warning-foreground-raw: .25 .05 75;--positive-raw: .55 .15 145;--positive-alt-raw: .63 .15 155;--positive-strong-raw: .45 .14 145;--shadow-raw: .2 .03 260;--sidebar-raw: 1 0 0;--sidebar-foreground-raw: .35 .02 260;--sidebar-accent-raw: .965 .006 264;--sidebar-accent-foreground-raw: .55 .11 179;--sidebar-border-raw: .93 .004 264;--background: oklch(var(--background-raw));--foreground: oklch(var(--foreground-raw));--card: oklch(var(--card-raw));--card-foreground: oklch(var(--foreground-raw));--popover: oklch(var(--card-raw));--popover-foreground: oklch(var(--foreground-raw));--primary: oklch(var(--primary-raw));--primary-foreground: oklch(var(--on-brand-raw));--secondary: oklch(var(--muted-raw));--secondary-foreground: oklch(var(--secondary-foreground-raw));--muted: oklch(var(--muted-raw));--muted-foreground: oklch(var(--muted-foreground-raw));--accent: oklch(var(--accent-raw));--accent-foreground: oklch(var(--on-brand-raw));--destructive: oklch(var(--destructive-raw));--destructive-foreground: oklch(var(--on-color-raw));--success: oklch(var(--primary-raw));--success-foreground: oklch(var(--on-brand-raw));--warning: oklch(var(--warning-raw));--warning-foreground: oklch(var(--warning-foreground-raw));--info: oklch(var(--info-raw));--info-foreground: oklch(var(--on-color-raw));--border: oklch(var(--border-raw));--input: oklch(var(--border-raw));--ring: oklch(var(--ring-raw));--sidebar: oklch(var(--sidebar-raw));--sidebar-foreground: oklch(var(--sidebar-foreground-raw));--sidebar-accent: oklch(var(--sidebar-accent-raw));--sidebar-accent-foreground: oklch(var(--sidebar-accent-foreground-raw));--sidebar-border: oklch(var(--sidebar-border-raw));--shadow-soft: 0 1px 2px 0 oklch(var(--shadow-raw) / .04), 0 4px 16px -4px oklch(var(--shadow-raw) / .08);--shadow-elevated: 0 4px 24px -6px oklch(var(--shadow-raw) / .12), 0 2px 8px -2px oklch(var(--shadow-raw) / .06);--font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;--font-display: "Sora", "Inter", ui-sans-serif, sans-serif}.dark{color-scheme:dark;--primary-raw: .75 .135 179;--brand-blue-raw: .66 .13 200;--background-raw: .186 .029 260;--foreground-raw: .96 .005 250;--card-raw: .22 .028 260;--surface-raw: .22 .028 260;--muted-raw: .27 .028 260;--muted-foreground-raw: .7 .02 260;--secondary-foreground-raw: .96 .005 250;--on-color-raw: .98 .005 250;--destructive-raw: .62 .2 25;--info-raw: .66 .12 240;--warning-raw: .78 .14 75;--warning-foreground-raw: .2 .03 75;--sidebar-raw: .2 .028 260;--sidebar-foreground-raw: .75 .015 260;--sidebar-accent-raw: .26 .028 260;--sidebar-accent-foreground-raw: var(--accent-raw);--border: oklch(var(--white-raw) / 9%);--input: oklch(var(--white-raw) / 12%);--sidebar-border: oklch(var(--white-raw) / 8%)}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,.font-display{font-family:var(--font-display);letter-spacing:-.02em}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}.text-muted{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-center{text-align:center}.text-balance{text-wrap:balance}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.container{width:100%;max-width:72rem;margin-inline:auto;padding-inline:1rem}@media(min-width:640px){.container{padding-inline:1.5rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;line-height:1.25rem;border-radius:calc(var(--radius) - 2px);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,color .15s,border-color .15s;font-family:inherit}.btn:hover{text-decoration:none}.btn-primary,.btn{background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover,.btn:hover{filter:brightness(1.05)}.btn-outline{background:transparent;color:var(--foreground);border-color:var(--border)}.btn-outline:hover{background:var(--secondary)}.btn-secondary{background:var(--secondary);color:var(--secondary-foreground);border-color:var(--border)}.btn-secondary:hover{background:var(--muted)}.btn-ghost{background:transparent;color:var(--foreground)}.btn-ghost:hover{background:oklch(var(--accent-raw) / .1)}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-icon{padding:.5rem;width:2.25rem;height:2.25rem}.card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:1rem;padding:1.25rem;box-shadow:var(--shadow-soft)}.card+.card{margin-top:1rem}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated);transition:transform .2s,box-shadow .2s}.badge{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .625rem;font-size:.75rem;font-weight:500;border-radius:9999px}.badge-primary{background:oklch(var(--primary-raw) / .12);color:var(--primary)}.badge-success{background:oklch(var(--positive-alt-raw) / .12);color:var(--success)}.badge-warning{background:oklch(var(--warning-raw) / .15);color:var(--warning-foreground)}.badge-danger{background:oklch(var(--destructive-raw) / .12);color:var(--destructive)}.badge-neutral{background:var(--muted);color:var(--muted-foreground)}.badge-pending{background:oklch(var(--warning-raw) / .2);color:#e5ac4c;border:1px solid oklch(var(--warning-raw) / .35)}.badge-pending-payment{background:oklch(var(--info-raw, var(--primary-raw)) / .16);color:var(--info, var(--primary));border:1px solid oklch(var(--info-raw, var(--primary-raw)) / .28)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500}.input,.select,form input[type=text],form input[type=email],form input[type=password],form input[type=date],form input[type=number],form input[type=tel],form input[type=color],form input[type=time],form input[type=datetime-local],form input[type=search],form select,form textarea{width:100%;height:2.25rem;padding:0 .75rem;font-size:.875rem;font-family:inherit;background:var(--background);color:var(--foreground);border:1px solid var(--input);border-radius:calc(var(--radius) - 2px);outline:none;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,form input:focus,form select:focus{border-color:var(--ring);box-shadow:0 0 0 3px oklch(var(--primary-raw) / .2)}.select,form select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.25rem;cursor:pointer;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem}.select::-ms-expand,form select::-ms-expand{display:none}.select option,form select option{background:var(--background);color:var(--foreground)}form input[type=date]::-webkit-calendar-picker-indicator,form input[type=time]::-webkit-calendar-picker-indicator,form input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity .15s}form input[type=date]::-webkit-calendar-picker-indicator:hover,form input[type=time]::-webkit-calendar-picker-indicator:hover,form input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}.form-row{display:grid;gap:1rem}@media(min-width:640px){.form-row-2{grid-template-columns:1fr 1fr}}.booking-guest-banner{margin-bottom:1rem;padding:.75rem 1rem;border-radius:.75rem;border:1px solid var(--border);background:color-mix(in srgb,var(--primary) 8%,var(--card));font-size:.875rem}.booking-guest-remember{display:flex;align-items:flex-start;gap:.5rem;margin:0 0 1rem;font-size:.8125rem;color:var(--muted-foreground)}.booking-guest-auth{margin-bottom:1rem;padding:.75rem 1rem;border-radius:.75rem;border:1px dashed var(--border);font-size:.875rem}.booking-guest-auth--compact{padding-bottom:.25rem;margin-bottom:.75rem}.booking-guest-auth-title{margin:0 0 .75rem;font-weight:600}.booking-login-form{display:grid;gap:.75rem}.booking-guest-auth-actions{display:grid;gap:.5rem;margin-top:.75rem}.booking-guest-switch{width:100%;font-size:.8125rem}.booking-agenda{width:100%}.booking-agenda-layout{display:flex;flex-direction:column;gap:1rem}.booking-agenda-slots{display:none}.booking-agenda-slots-kicker{margin:0;font-size:.75rem;color:var(--muted-foreground)}.booking-agenda-slots-empty{margin:0;font-size:.875rem}.booking-agenda-slots-body{margin-top:.75rem}.booking-agenda-calendar{padding:1rem}.booking-agenda-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.booking-agenda-month{margin:0;font-size:.9375rem;font-weight:600;text-transform:capitalize}.booking-agenda-hint{margin:0 0 .75rem;font-size:.8125rem}.booking-agenda-slots-title{margin:0 0 .75rem;font-size:1rem;font-weight:600}.booking-slot-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.875rem 1rem}.booking-slot-summary-label{margin:0;font-size:.75rem;color:var(--muted-foreground)}.booking-slot-summary-value{margin:.15rem 0 0;font-weight:600}.booking-slot-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#00000073}.booking-slot-modal-panel{width:100%;max-height:min(78vh,32rem);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:1rem 1rem 0 0;box-shadow:0 -8px 32px #0000002e;animation:booking-slot-sheet-in .22s ease-out}.booking-slot-modal-handle{width:2.5rem;height:.25rem;margin:.5rem auto 0;border-radius:999px;background:var(--border)}.booking-slot-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem 1rem .5rem}.booking-slot-modal-kicker{margin:0;font-size:.75rem;color:var(--muted-foreground)}.booking-slot-modal-title{margin:.15rem 0 0;font-size:1.05rem;font-weight:600;text-transform:capitalize}.booking-slot-modal-body{overflow:auto;padding:.5rem 1rem calc(1rem + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch}.booking-result-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:1rem;background:#00000073}.booking-result-modal-panel{width:100%;max-width:28rem;background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:1.5rem;box-shadow:0 16px 48px #0003;animation:booking-result-in .2s ease-out}.booking-result-summary{margin:0 0 1rem;display:grid;gap:.75rem}.booking-result-summary dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground)}.booking-result-summary dd{margin:.15rem 0 0;font-weight:600;text-transform:capitalize}.booking-result-message{margin-bottom:1.25rem;font-size:.9375rem;color:var(--muted-foreground)}.booking-result-actions{display:flex;flex-direction:column;gap:.5rem}@keyframes booking-result-in{0%{transform:translateY(12px);opacity:.6}to{transform:translateY(0);opacity:1}}.booking-slot-grid--modal{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr))}.booking-slot-grid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr))}.booking-slot-btn{border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:.625rem;padding:.75rem .5rem;min-height:2.75rem;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.booking-slot-btn:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--card))}.booking-slot-btn.is-selected{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}button.mini-calendar-day.booking-agenda-day{border:none;background:transparent;font:inherit;cursor:pointer;min-height:2.5rem;position:relative}button.mini-calendar-day.booking-agenda-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 35%,var(--border));color:var(--foreground);font-weight:600}button.mini-calendar-day.booking-agenda-day.is-today:not(.is-selected):after{content:"";position:absolute;bottom:.2rem;left:50%;width:.25rem;height:.25rem;border-radius:999px;background:var(--primary);transform:translate(-50%)}button.mini-calendar-day.booking-agenda-day.is-pending:not(.is-selected){background:color-mix(in srgb,var(--primary) 12%,var(--card))}button.mini-calendar-day.booking-agenda-day.is-selected{background:var(--primary);color:var(--primary-foreground);font-weight:600;box-shadow:none}button.mini-calendar-day.booking-agenda-day.is-selected:after{display:none}@media(min-width:768px){.booking-agenda{max-width:none}.booking-agenda-layout{display:grid;grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);align-items:start;gap:1rem}.booking-agenda-slots{display:block;padding:1rem;min-height:18rem}.booking-agenda-slots-title{margin-top:.15rem;text-transform:capitalize}.booking-slot-modal{display:none}.booking-agenda-calendar{padding:.75rem}.booking-agenda-month{font-size:.875rem}.booking-agenda-hint{margin-bottom:.5rem;font-size:.75rem}.booking-agenda-calendar .mini-calendar-weekdays{margin-top:.5rem;font-size:.5625rem}.booking-agenda-calendar .mini-calendar-days{gap:.15rem}button.mini-calendar-day.booking-agenda-day{min-height:2rem;font-size:.6875rem}}button.mini-calendar-day.booking-agenda-day.is-disabled{opacity:.35;cursor:not-allowed}@keyframes booking-slot-sheet-in{0%{transform:translateY(100%);opacity:.6}to{transform:translateY(0);opacity:1}}@media(min-width:640px){.booking-slot-modal{align-items:center;padding:1rem}.booking-slot-modal-panel{max-width:28rem;max-height:min(70vh,28rem);border-radius:1rem;animation:booking-slot-dialog-in .2s ease-out}.booking-slot-modal-handle{display:none}}@keyframes booking-slot-dialog-in{0%{transform:translateY(12px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.form-inline{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.form-inline .form-group{margin-bottom:0;flex:1;min-width:10rem}.form-grid{display:grid;gap:1rem}@media(min-width:720px){.form-grid{grid-template-columns:1fr 1fr}}.form-field{display:flex;flex-direction:column;gap:.375rem;margin:0}.form-field span{font-size:.875rem;font-weight:500;color:var(--foreground)}.form-field-full{grid-column:1 / -1}.form-field small{font-size:.75rem}.hours-table input[type=time]{width:8rem}.alert-error{padding:.75rem 1rem;border-radius:calc(var(--radius) - 2px);background:oklch(var(--destructive-raw) / .1);color:var(--destructive);font-size:.875rem;margin-bottom:1rem}.alert-success{padding:.75rem 1rem;border-radius:calc(var(--radius) - 2px);background:oklch(var(--positive-alt-raw) / .1);color:var(--success);font-size:.875rem;margin-bottom:1rem}.alert-warning{padding:.75rem 1rem;border-radius:calc(var(--radius) - 2px);background:#f2c86c26;color:#7b4700;color:oklch(.45 .12 65);font-size:.875rem}.table-wrap{overflow-x:auto;border-radius:1rem;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-soft)}table.data-table{width:100%;border-collapse:collapse;font-size:.875rem}table.data-table th,table.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}table.data-table th{font-weight:600;color:var(--muted-foreground);background:var(--secondary)}table.data-table tr:last-child td{border-bottom:none}table.data-table tbody tr:hover{background:oklch(var(--muted-raw) / .5)}.site-header{position:sticky;top:0;z-index:40;border-bottom:1px solid oklch(var(--hairline-raw) / .7);background:oklch(var(--surface-raw) / .8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;height:4rem;max-width:72rem;margin-inline:auto;padding-inline:1rem}@media(min-width:640px){.site-header-inner{padding-inline:1.5rem}}.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit}.brand:hover{text-decoration:none}.brand-icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:.75rem;background:var(--primary);color:var(--primary-foreground)}.brand-mark{display:block;flex-shrink:0;width:auto;height:2.25rem;object-fit:contain}.brand-name{font-family:var(--font-display);font-size:1.125rem;font-weight:700}.brand-accent{color:var(--primary)}.brand-context{margin-left:.4375rem;padding-left:.4375rem;border-left:1px solid var(--border);font-size:.8125rem;font-weight:600;letter-spacing:.02em;color:var(--muted-foreground)}.site-header-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.theme-toggle{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;padding:0;border-radius:.6rem;border:1px solid transparent;background:transparent;color:var(--muted-foreground);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.theme-toggle:hover{background:oklch(var(--accent-raw) / .14);color:var(--foreground)}.theme-toggle:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.theme-toggle .theme-icon{display:block}.theme-toggle .theme-icon-sun,.dark .theme-toggle .theme-icon-moon{display:none}.dark .theme-toggle .theme-icon-sun{display:block}.site-footer{border-top:1px solid var(--border);padding:2rem 0}.site-footer-inner{display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:72rem;margin-inline:auto;padding-inline:1rem;font-size:.875rem;color:var(--muted-foreground)}@media(min-width:640px){.site-footer-inner{flex-direction:row;justify-content:space-between;padding-inline:1.5rem}}.hero{position:relative;overflow:hidden}.hero-glow{pointer-events:none;position:absolute;inset-inline:0;top:-8rem;height:20rem;background:linear-gradient(to bottom,oklch(var(--primary-raw) / .15),transparent);filter:blur(2rem)}.hero-content{position:relative;padding:4rem 0 2rem;text-align:center}@media(min-width:640px){.hero-content{padding-top:6rem}}.hero h1{font-size:clamp(2.25rem,5vw,3.75rem);font-weight:800;line-height:1.05;margin:0}.hero-lead{margin:1.25rem auto 0;max-width:36rem;font-size:1.125rem;color:var(--muted-foreground)}.hero-actions{margin-top:2rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}@media(min-width:640px){.hero-actions{flex-direction:row;justify-content:center}}.hero-note{margin-top:1rem;font-size:.75rem;color:var(--muted-foreground)}.hero-image-wrap{position:relative;margin:3.5rem auto 0;max-width:64rem}.hero-image-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;transform:translateY(2rem) scale(.95);border-radius:1.5rem;background:oklch(var(--primary-raw) / .2);filter:blur(3rem)}.hero-image{width:100%;border-radius:1rem;border:1px solid var(--border);box-shadow:var(--shadow-elevated)}.stats-bar{border-block:1px solid var(--border);background:var(--card);padding:2.5rem 0}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:72rem;margin-inline:auto;padding-inline:1rem;text-align:center}@media(min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-value{font-family:var(--font-display);font-size:1.875rem;font-weight:800;color:var(--primary)}.stat-label{margin-top:.25rem;font-size:.875rem;color:var(--muted-foreground)}.section{padding:5rem 0}.section-header{max-width:42rem;margin-inline:auto;text-align:center}.section-header h2{font-size:clamp(1.875rem,3vw,2.25rem);font-weight:700;margin:.5rem 0 0}.section-header p{margin-top:.75rem;color:var(--muted-foreground)}.grid-2{display:grid;gap:1.25rem}@media(min-width:640px){.grid-2{grid-template-columns:repeat(2,1fr)}}.grid-3{display:grid;gap:1.25rem}@media(min-width:640px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}.grid-4{display:grid;gap:1.25rem}@media(min-width:640px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid-4{grid-template-columns:repeat(4,1fr)}}.link-cards{display:grid;gap:1rem;margin-top:2rem}@media(min-width:640px){.link-cards{grid-template-columns:repeat(3,1fr)}}.link-card{display:block;padding:1.5rem;border-radius:1rem;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-soft);color:inherit;text-decoration:none;transition:transform .2s,box-shadow .2s}.link-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated);text-decoration:none}.link-card h3{margin:.75rem 0 .25rem;font-size:1.125rem}.link-card p{margin:0;font-size:.875rem;color:var(--muted-foreground)}.app-shell{display:flex;min-height:100vh;background:var(--background)}.sidebar{display:none;width:16rem;flex-shrink:0;flex-direction:column;border-right:1px solid var(--sidebar-border);background:var(--sidebar);position:sticky;top:0;height:100vh;transition:width .3s ease;z-index:50}@media(min-width:768px){.sidebar{display:flex}}.sidebar-logo{width:auto;height:2.25rem}.sidebar-brand{display:flex;align-items:center;gap:.625rem;min-height:3.5rem;padding:.875rem 1rem;overflow:visible;position:relative;z-index:2;text-decoration:none;color:inherit}.sidebar-brand:hover{text-decoration:none;color:inherit}.sidebar-brand-text{min-width:0;flex:1;transition:opacity .2s;overflow:visible}.sidebar-brand-text strong{display:block;font-family:var(--font-display);font-size:.9375rem;font-weight:700;color:var(--sidebar-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.sidebar-entity{padding:.625rem .75rem .75rem;border-bottom:1px solid var(--sidebar-border);position:relative;z-index:3}.sidebar-entity .entity-switcher--sidebar{width:100%}.entity-switcher-static{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .625rem;border-radius:.5rem;background:oklch(var(--sidebar-accent-raw) / .55)}.entity-switcher-static .entity-switcher-label{flex:1;min-width:0;font-size:.8125rem;font-weight:600;color:var(--sidebar-foreground)}.entity-switcher{position:relative}.entity-switcher>summary.entity-switcher-trigger{list-style:none}.entity-switcher>summary.entity-switcher-trigger::-webkit-details-marker{display:none}.entity-switcher-trigger{display:inline-flex;align-items:center;gap:.375rem;max-width:100%;border:none;background:transparent;font-family:inherit;cursor:pointer;text-align:left;transition:background .15s,color .15s,box-shadow .15s}.entity-switcher--sidebar .entity-switcher-trigger{width:100%;padding:.5rem .625rem;border-radius:.5rem;font-size:.8125rem;font-weight:600;line-height:1.25;color:var(--sidebar-foreground);background:oklch(var(--sidebar-accent-raw) / .55)}.entity-switcher--sidebar .entity-switcher-trigger:hover{background:oklch(var(--sidebar-accent-raw) / .9);color:var(--primary)}.entity-switcher--sidebar[open] .entity-switcher-trigger{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground);box-shadow:inset 0 0 0 1px oklch(var(--primary-raw) / .08)}.entity-switcher-leading{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.125rem;height:1.125rem;border-radius:.3125rem;background:oklch(var(--primary-raw) / .1);color:var(--primary)}.entity-switcher-leading svg{width:.6875rem;height:.6875rem}.entity-switcher--topbar .entity-switcher-trigger{align-items:center;gap:.375rem;padding:.375rem .625rem;border:1px solid var(--border);border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--foreground)}.entity-switcher--topbar .entity-switcher-trigger:hover,.entity-switcher--topbar[open] .entity-switcher-trigger{background:oklch(var(--accent-raw) / .1)}.entity-switcher-name{display:block;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-switcher--topbar .entity-switcher-name{max-width:10rem}.entity-switcher-chevron{flex-shrink:0;width:.75rem;height:.75rem;opacity:.55;transition:transform .2s ease,opacity .15s ease}.entity-switcher--sidebar .entity-switcher-trigger:hover .entity-switcher-chevron,.entity-switcher--sidebar[open] .entity-switcher-chevron{opacity:.9}.entity-switcher--sidebar[open] .entity-switcher-chevron{transform:rotate(180deg)}.entity-switcher-label{display:block;font-size:.75rem;font-weight:500;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-switcher-leading--static{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.125rem;height:1.125rem;border-radius:.3125rem;background:oklch(var(--primary-raw) / .1);color:var(--primary)}.entity-switcher-leading--static svg{width:.6875rem;height:.6875rem}.entity-switcher-menu{position:absolute;top:calc(100% + .25rem);left:-.5rem;z-index:70;min-width:calc(100% + 1rem);padding:.375rem;border:1px solid var(--sidebar-border);border-radius:.625rem;background:var(--sidebar);box-shadow:var(--shadow-elevated)}.entity-switcher--sidebar .entity-switcher-menu{left:0;min-width:100%}.entity-switcher--sidebar .entity-switcher-menu:before{content:"Mudar estabelecimento";display:block;padding:.375rem .5rem .25rem;font-size:.625rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground)}.entity-switcher--topbar .entity-switcher-menu{left:auto;right:0;min-width:11rem;border-color:var(--border);background:var(--background)}.entity-switcher--topbar .entity-switcher-menu:before{display:none}.entity-switcher-option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .625rem;border-radius:.4375rem;font-size:.8125rem;font-weight:500;color:var(--sidebar-foreground);text-decoration:none;transition:background .15s,color .15s}.entity-switcher-option:hover{background:oklch(var(--sidebar-accent-raw) / .85);color:var(--sidebar-accent-foreground);text-decoration:none}.entity-switcher-option.is-active{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground);font-weight:600}.sidebar-nav{flex:1;overflow-y:auto;padding:1rem .75rem}.sidebar-nav a{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;margin-bottom:.125rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--sidebar-foreground);text-decoration:none;transition:background .15s,color .15s}.sidebar-nav a span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav a:hover{background:oklch(var(--sidebar-accent-raw) / .6);color:var(--sidebar-accent-foreground);text-decoration:none}.sidebar-nav a.is-active{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground)}.sidebar-nav svg{width:1.125rem;height:1.125rem;flex-shrink:0}.sidebar-plan{margin:0 .75rem .75rem;padding:.75rem;border-radius:.75rem;border:1px solid var(--sidebar-border);background:oklch(var(--sidebar-accent-raw) / .5);transition:opacity .2s}.sidebar-plan-head{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:500}.sidebar-plan-label{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;color:var(--sidebar-foreground)}.sidebar-plan-link{display:flex;flex-direction:column;gap:.15rem;color:inherit;text-decoration:none}.sidebar-plan-link:hover .sidebar-plan-label{color:var(--accent)}.sidebar-plan-usage{font-size:.75rem;color:var(--text-muted)}.sidebar-plan-label svg{color:var(--accent)}.sidebar-plan-bar{margin-top:.5rem;height:.375rem;border-radius:999px;background:var(--border);overflow:hidden}.sidebar-plan-bar span{display:block;height:100%;border-radius:999px;background:var(--primary)}.sidebar-plan-note{margin:.5rem 0 0;font-size:.6875rem;color:var(--muted-foreground)}.sidebar-footer{border-top:1px solid var(--sidebar-border);padding:.75rem}.sidebar-footer-link{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;border:none;border-radius:.5rem;background:transparent;font-size:.875rem;font-weight:500;font-family:inherit;color:var(--sidebar-foreground);text-decoration:none;cursor:pointer;transition:background .15s}.sidebar-footer-link:hover{background:oklch(var(--sidebar-accent-raw) / .6);text-decoration:none}.sidebar-footer-link svg{width:1.125rem;height:1.125rem;flex-shrink:0}.sidebar-toggle-icon{transition:transform .3s}.app-shell.sidebar-collapsed .sidebar{width:4.75rem}.app-shell.sidebar-collapsed .sidebar-brand-text,.app-shell.sidebar-collapsed .sidebar-entity,.app-shell.sidebar-collapsed .sidebar-nav a span,.app-shell.sidebar-collapsed .sidebar-plan,.app-shell.sidebar-collapsed .sidebar-footer-link span{display:none}.app-shell.sidebar-collapsed .sidebar-nav a,.app-shell.sidebar-collapsed .sidebar-footer-link{justify-content:center;padding-inline:0}.app-shell.sidebar-collapsed .sidebar-toggle-icon{transform:rotate(180deg)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:oklch(var(--shadow-raw) / .4)}@media(min-width:768px){.sidebar-backdrop{display:none!important}}.app-shell.sidebar-mobile-open .sidebar{display:flex;position:fixed;left:0;top:0;height:100vh;width:17.5rem;box-shadow:var(--shadow-elevated)}@media(max-width:767px){.app-shell.sidebar-mobile-open .sidebar-brand-text,.app-shell.sidebar-mobile-open .sidebar-entity,.app-shell.sidebar-mobile-open .sidebar-nav a span,.app-shell.sidebar-mobile-open .sidebar-plan,.app-shell.sidebar-mobile-open .sidebar-footer-link span{display:block}.app-shell.sidebar-mobile-open .sidebar-nav a,.app-shell.sidebar-mobile-open .sidebar-footer-link{justify-content:flex-start;padding-inline:.75rem}}.app-main{display:flex;flex:1;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:.75rem;min-height:3.5rem;padding:.5rem 1rem;border-bottom:1px solid var(--border);background:oklch(var(--surface-raw) / .8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@media(min-width:768px){.topbar{padding-inline:1.5rem}}.topbar-entity-name{display:flex;flex-direction:column;justify-content:center;gap:.125rem;flex:0 1 auto;min-width:0;max-width:min(13rem,40%);padding-right:.25rem}@media(min-width:640px){.topbar-entity-name{max-width:min(12rem,28%)}}@media(min-width:1024px){.topbar-entity-name{max-width:min(15rem,22%)}}.topbar-entity-label{font-size:.625rem;font-weight:600;line-height:1;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground)}.topbar-entity-text{display:block;min-width:0;font-family:var(--font-sans);font-size:.875rem;font-weight:600;line-height:1.2;letter-spacing:-.01em;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-menu-btn{display:inline-flex;align-items:center;justify-content:center;padding:.35rem}@media(min-width:768px){.topbar-menu-btn{display:none}}.topbar-mobile-start{display:flex;align-items:center;gap:.35rem;min-width:0;flex:1}@media(min-width:768px){.topbar-mobile-start{flex:0 1 auto;gap:0}.topbar-mobile-start .topbar-menu-btn{display:none}}.topbar-search{position:relative;display:none;flex:1;max-width:28rem}@media(min-width:640px){.topbar-search{display:block}}.topbar-search input{width:100%;height:2.25rem;padding:0 3.5rem 0 2.25rem;border:1px solid var(--input);border-radius:.5rem;background:oklch(var(--muted-raw) / .6);font-size:.875rem;font-family:inherit;color:var(--foreground);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.topbar-search input::placeholder{color:var(--muted-foreground)}.topbar-search input:focus{border-color:var(--ring);background:var(--background);box-shadow:0 0 0 3px oklch(var(--primary-raw) / .2)}.topbar-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--muted-foreground);pointer-events:none}.topbar-search-kbd{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);display:none;padding:.125rem .375rem;border:1px solid var(--border);border-radius:.25rem;background:var(--muted);font-size:.625rem;font-weight:500;color:var(--muted-foreground);font-family:inherit}@media(min-width:768px){.topbar-search-kbd{display:inline-block}}.topbar-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto}.topbar-entity{display:none;align-items:center;position:relative}@media(min-width:1024px){.topbar-entity{display:inline-flex}}.topbar-entity .entity-switcher--topbar,.topbar-entity>.topbar-entity-badge,.topbar-entity>.topbar-entity-name{display:inline-flex;align-items:center;gap:.375rem}.topbar-entity:has(.entity-switcher-label){gap:.375rem;padding:.375rem .625rem;border:1px solid var(--border);border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--foreground)}.topbar-entity-badge{display:grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:.25rem;background:oklch(var(--primary-raw) / .1);font-size:.625rem;font-weight:700;color:var(--primary)}.topbar-entity-name{max-width:10rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-icon-btn{position:relative}.topbar-notify-dot{position:absolute;right:.5rem;top:.5rem;width:.5rem;height:.5rem;border-radius:999px;background:var(--accent);box-shadow:0 0 0 2px var(--background)}.topbar-user{display:inline-flex;align-items:center;gap:.5rem;margin-left:.25rem;padding:.25rem .5rem .25rem .25rem;border:none;border-radius:.5rem;background:transparent;font-family:inherit;cursor:pointer;transition:background .15s}.topbar-user:hover{background:oklch(var(--accent-raw) / .1)}.topbar-user-avatar{display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--info));font-size:.75rem;font-weight:600;color:var(--primary-foreground)}.topbar-user-meta{display:none;text-align:left;line-height:1.2}@media(min-width:640px){.topbar-user-meta{display:block}}.topbar-user-name{display:block;font-size:.8125rem;font-weight:600;color:var(--foreground)}.topbar-user-role{display:block;font-size:.6875rem;color:var(--muted-foreground)}.page-content{flex:1;padding:1.5rem 1rem calc(6rem + env(safe-area-inset-bottom,0px))}@media(min-width:768px){.page-content{padding:1.5rem 2rem 2.5rem}}.pwa-install-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 1rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--primary) 8%,var(--card))}.pwa-install-banner-text{display:flex;flex-direction:column;gap:.125rem;min-width:0;font-size:.75rem;color:var(--muted-foreground)}.pwa-install-banner-text strong{font-size:.8125rem;color:var(--foreground)}.pwa-install-banner-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}@media(min-width:768px){.pwa-install-banner{display:none}}.page-inner{max-width:80rem;margin-inline:auto}.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1.5rem}.page-header-text{flex:1 1 auto}.page-header h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}@media(min-width:768px){.page-header h1{font-size:1.75rem}}.page-header p{margin:.25rem 0 0;font-size:.875rem;color:var(--muted-foreground)}.page-header-actions{display:flex;flex-shrink:0;align-items:center;gap:.5rem}.hidden-sm{display:none}@media(min-width:640px){.hidden-sm{display:inline-flex}}.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}@media(min-width:1024px){.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.kpi-card{padding:1.25rem;border-radius:1rem;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-soft)}.kpi-card-top{display:flex;align-items:center;justify-content:space-between}.kpi-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.75rem}.kpi-icon-primary{color:var(--primary);background:oklch(var(--primary-raw) / .1)}.kpi-icon-info{color:var(--info);background:oklch(var(--info-raw) / .1)}.kpi-icon-success{color:var(--success);background:oklch(var(--positive-alt-raw) / .1)}.kpi-icon-danger{color:var(--destructive);background:oklch(var(--destructive-raw) / .1)}.kpi-delta{font-size:.6875rem;font-weight:600;color:var(--muted-foreground)}@media(min-width:640px){.kpi-delta{font-size:.75rem}}.kpi-delta-up{color:var(--success)}.kpi-delta-down{color:var(--destructive)}.kpi-value{margin:1rem 0 0;font-family:var(--font-display);font-size:1.875rem;font-weight:700;letter-spacing:-.02em;line-height:1}.kpi-label{margin:.25rem 0 0;font-size:.875rem;color:var(--muted-foreground)}.dashboard-panel-trends{margin-top:1.5rem}.dashboard-grid{display:grid;gap:1.5rem;margin-top:1.5rem}.dashboard-grid-main{grid-template-columns:1fr}@media(min-width:1024px){.dashboard-grid-main{grid-template-columns:minmax(0,1fr) minmax(17rem,22rem);align-items:start}}.dashboard-main,.dashboard-sidebar{display:flex;flex-direction:column;gap:1.5rem;min-width:0}@media(min-width:1024px){.dashboard-sidebar{position:sticky;top:1rem}}.dashboard-panel-section{padding:1.25rem 1.5rem}.dashboard-panel-section h2{margin:0 0 1rem;font-size:1rem;font-weight:600}.dashboard-next-mobile{display:block}.dashboard-next-desktop{display:none}@media(min-width:1024px){.dashboard-next-mobile{display:none}.dashboard-next-desktop{display:block}}.dashboard-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.dashboard-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.875rem .5rem;border-radius:.75rem;background:oklch(var(--accent-raw) / .12);text-align:center}.dashboard-stat-value{font-family:var(--font-display);font-size:1.375rem;font-weight:700;line-height:1;letter-spacing:-.02em}.dashboard-stat-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground)}.service-queue-panel.is-empty .dashboard-panel-head{border-bottom-color:transparent}.service-queue-head{align-items:flex-start}.service-queue-head-copy{min-width:0;flex:1}.service-queue-summary{margin:.25rem 0 0;font-size:.8125rem;color:var(--muted-foreground)}.service-queue-stats{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.625rem}.service-queue-stat{display:inline-flex;align-items:center;gap:.375rem;padding:.2rem .55rem;border-radius:999px;font-size:.6875rem;font-weight:600;color:var(--muted-foreground);background:oklch(var(--muted-raw) / .22)}.service-queue-stat.has-count{color:var(--foreground);background:oklch(var(--primary-raw) / .1)}.service-queue-stat-dot{width:.4375rem;height:.4375rem;border-radius:999px;background:var(--muted-foreground);opacity:.35}.service-queue-stat.has-count .service-queue-stat-dot{opacity:1}.service-queue-stat-dot.is-checkin{background:var(--info)}.service-queue-stat-dot.is-waiting{background:var(--warning)}.service-queue-stat-dot.is-service{background:var(--primary)}.service-queue-cta{flex-shrink:0}.service-queue-loading{display:grid;gap:0;padding:.25rem 0}.service-queue-skeleton{height:5.5rem;margin:0 1.25rem;border-bottom:1px solid var(--border);background:linear-gradient(90deg,oklch(var(--muted-raw) / .15),oklch(var(--muted-raw) / .28),oklch(var(--muted-raw) / .15));background-size:200% 100%;animation:service-queue-shimmer 1.2s ease-in-out infinite}.service-queue-skeleton:last-child{border-bottom:none}@keyframes service-queue-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.service-queue-list{display:flex;flex-direction:column}.service-queue-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.75rem 1.5rem 2rem;gap:.625rem}.service-queue-empty-icon{display:grid;place-items:center;width:3.75rem;height:3.75rem;margin-bottom:.25rem;border-radius:999px;color:var(--primary);background:oklch(var(--primary-raw) / .1)}.service-queue-empty h3{margin:0;font-size:1rem;font-weight:600;color:var(--foreground)}.service-queue-empty p{margin:0;max-width:20rem;font-size:.875rem;line-height:1.5;color:var(--muted-foreground)}.service-queue-steps{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.375rem;margin:.25rem 0 .5rem;padding:0;list-style:none;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted-foreground)}.service-queue-steps li{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:999px;background:oklch(var(--accent-raw) / .14)}.service-queue-panel.is-compact .service-queue-stats{display:none}.service-queue-card{position:relative;padding-left:2.75rem}.service-queue-position{position:absolute;left:1.125rem;top:1.125rem;display:grid;place-items:center;width:1.375rem;height:1.375rem;border-radius:999px;font-size:.6875rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--primary);background:oklch(var(--primary-raw) / .12)}.dashboard-panel{border-radius:1rem;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-soft);overflow:hidden}.dashboard-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.dashboard-panel-head h2{margin:0;font-size:1rem;font-weight:600}.dashboard-side{display:flex;flex-direction:column;gap:1.5rem}.weekly-trends{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;padding:1.25rem 1.5rem .5rem}.weekly-trends-day{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0}.weekly-trends-day.is-today .weekly-trends-label{color:var(--primary);font-weight:700}.weekly-trends-bars{display:flex;align-items:flex-end;justify-content:center;gap:.25rem;width:100%;height:5.5rem}.weekly-trends-bar{width:.65rem;min-height:4px;border-radius:999px;transition:height .2s ease}.weekly-trends-bar-total{background:var(--primary);opacity:.85}.weekly-trends-bar-occupancy{background:var(--info);opacity:.75}.weekly-trends-label{font-size:.75rem;color:var(--muted-foreground)}.weekly-trends-value{font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums}.weekly-trends-legend{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem 1.5rem 1.25rem;font-size:.75rem;color:var(--muted-foreground)}.weekly-trends-swatch{display:inline-block;width:.65rem;height:.65rem;border-radius:999px;margin-right:.35rem;vertical-align:middle}.weekly-trends-swatch-total{background:var(--primary)}.weekly-trends-swatch-occupancy{background:var(--info)}.upcoming-list{list-style:none;margin:0;padding:0}.upcoming-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1.5rem;border-bottom:1px solid var(--border)}a.upcoming-item{text-decoration:none;color:inherit;transition:background .15s ease}a.upcoming-item:hover{background:oklch(var(--accent-raw) / .1)}.upcoming-item--static{border-bottom:none}.today-appointments-list .today-appointment-row{display:grid;grid-template-columns:3.25rem .25rem minmax(0,1fr) auto;gap:0 .75rem;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);transition:background .15s ease}.today-appointments-list .today-appointment-row:hover{background:oklch(var(--accent-raw) / .06)}.today-appointments-list .today-appointment-row:last-child{border-bottom:none}.today-appointment-time{grid-column:1;grid-row:1 / 3;align-self:center;font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--foreground)}.today-appointment-accent{grid-column:2;grid-row:1 / 3;align-self:center;height:2.5rem}.today-appointment-body{grid-column:3;grid-row:1 / 3;min-width:0;align-self:center}.today-appointment-head{display:flex;align-items:center;gap:.5rem;min-width:0}.today-appointment-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:600;text-decoration:none;color:var(--foreground)}.today-appointment-name:hover{color:var(--primary)}.today-appointment-badge{flex-shrink:0;font-size:.625rem;padding:.125rem .4375rem}.today-appointment-service{margin:.125rem 0 0;font-size:.75rem;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-appointment-error{margin:.25rem 0 0;font-size:.75rem;color:var(--destructive)}.today-appointment-actions{grid-column:4;grid-row:1 / 3;display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:.375rem}.today-action{display:inline-flex;align-items:center;justify-content:center;min-height:1.75rem;padding:.2rem .55rem;border:1px solid transparent;border-radius:999px;font-size:.6875rem;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease}.today-action-icon{width:2rem;height:2rem;min-height:2rem;padding:0;border-radius:.5rem;flex-shrink:0}.today-action-icon svg{width:1rem;height:1rem}.today-action:disabled{opacity:.6;cursor:not-allowed}.today-action-primary{color:var(--primary-foreground);background:var(--primary);border-color:var(--primary)}.today-action-primary:hover:not(:disabled){filter:brightness(1.05)}.today-action-link,.today-action-muted{color:var(--muted-foreground);background:oklch(var(--muted-raw) / .18);border-color:var(--border)}.today-action-link:hover,.today-action-muted:hover:not(:disabled){color:var(--foreground);background:oklch(var(--accent-raw) / .16)}.today-action-danger{color:var(--destructive);background:oklch(var(--destructive-raw) / .08);border-color:oklch(var(--destructive-raw) / .18)}.today-action-danger:hover:not(:disabled){background:oklch(var(--destructive-raw) / .14)}@media(max-width:640px){.today-appointments-list .today-appointment-row{grid-template-columns:3.25rem .25rem minmax(0,1fr);row-gap:.5rem;align-items:start}.today-appointment-time,.today-appointment-accent{grid-row:1 / 2;align-self:center}.today-appointment-body{grid-column:3;grid-row:1}.today-appointment-actions{grid-column:3;grid-row:2;justify-content:flex-start}}.upcoming-item:last-child{border-bottom:none}.upcoming-time{width:3.5rem;flex-shrink:0;font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums}.upcoming-accent{width:.25rem;height:2.25rem;flex-shrink:0;border-radius:999px;background:var(--primary)}.upcoming-accent-pending{background:var(--warning)}.upcoming-accent-confirmed{background:var(--success)}.upcoming-accent-cancelled{background:var(--destructive)}.upcoming-accent-checked_in,.upcoming-accent-waiting{background:var(--info)}.upcoming-accent-in_service{background:var(--primary)}.upcoming-accent-completed,.upcoming-accent-no_show{background:var(--muted-foreground)}.upcoming-body{min-width:0;flex:1}.upcoming-name{margin:0;font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-meta{margin:.125rem 0 0;font-size:.75rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.next-appt-card{padding:1.5rem;border-radius:1rem;border:1px solid oklch(var(--primary-raw) / .2);background:oklch(var(--primary-raw) / .05);box-shadow:var(--shadow-soft)}.next-appt-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--primary)}.next-appt-title{margin:1rem 0 0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.next-appt-meta{margin:.25rem 0 0;font-size:.875rem;color:var(--muted-foreground)}.next-appt-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.next-appt-actions{display:flex;gap:.5rem;margin-top:1.25rem}.mini-calendar{padding:1.25rem}.mini-calendar-head p{margin:0;font-size:.875rem;font-weight:600}.mini-calendar-weekdays,.mini-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;text-align:center}.mini-calendar-weekdays{margin-top:.75rem;font-size:.625rem;font-weight:500;color:var(--muted-foreground)}.mini-calendar-days{margin-top:.25rem}.mini-calendar-day{display:grid;place-items:center;aspect-ratio:1;border-radius:.5rem;font-size:.75rem;color:var(--foreground)}a.mini-calendar-day{text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease}a.mini-calendar-day:hover{background:oklch(var(--accent-raw) / .18);color:var(--foreground)}.mini-calendar-day.has-appointments{position:relative;background:oklch(var(--primary-raw) / .16);color:var(--primary);font-weight:600}.mini-calendar-day.has-appointments:after{content:"";position:absolute;bottom:.3rem;left:50%;transform:translate(-50%);width:.3rem;height:.3rem;border-radius:999px;background:currentColor}.mini-calendar-day.is-today{box-shadow:inset 0 0 0 1.5px var(--primary);color:var(--primary);font-weight:600}.mini-calendar-day.is-selected,a.mini-calendar-day.is-selected:hover{background:var(--primary);color:var(--primary-foreground);font-weight:600;box-shadow:none}.mini-calendar-day.is-selected.has-appointments:after{background:var(--primary-foreground)}.mobile-bottom-nav{position:fixed;inset-inline:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;border-top:1px solid var(--border);background:oklch(var(--surface-raw) / .95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding-bottom:env(safe-area-inset-bottom,0)}@media(min-width:768px){.mobile-bottom-nav{display:none}}.mobile-bottom-nav a,.mobile-bottom-nav button{display:flex;min-height:3.5rem;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;border:none;background:transparent;font-size:.625rem;font-weight:500;font-family:inherit;color:var(--muted-foreground);text-decoration:none;cursor:pointer}.mobile-bottom-nav a.is-active,.mobile-bottom-nav button.is-active{color:var(--primary)}.mobile-bottom-nav svg{width:1.25rem;height:1.25rem}.mobile-fab{display:grid!important;place-items:center;width:3rem;height:3rem;margin-inline:auto;transform:translateY(-.75rem);border-radius:1rem!important;background:var(--primary)!important;color:var(--primary-foreground)!important;box-shadow:var(--shadow-elevated);min-height:auto!important}.bo-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem}.bo-toolbar-single{margin-bottom:1rem}.bo-toolbar-form{margin-left:auto}.bo-toolbar-date{width:auto;min-width:10rem}.filter-bar{margin-bottom:1.5rem}.filter-bar-field{display:flex;flex-direction:column;gap:.375rem;margin:0;min-width:0}.filter-bar-label{font-size:.875rem;font-weight:500;color:var(--foreground)}.filter-bar-row{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap;min-width:0}.filter-bar-row .filter-bar-control,.filter-bar-row select,.filter-bar-row input[type=text]{width:auto;min-width:10rem;flex:1 1 10rem;max-width:16rem}.filter-bar-row input[type=text]{min-width:12rem;flex-basis:12rem;max-width:20rem}.filter-bar-actions{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0}.bo-pills{display:flex;flex-wrap:wrap;gap:.25rem;padding:.25rem;border-radius:.5rem;background:var(--muted)}.bo-pill{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:500;color:var(--muted-foreground);text-decoration:none;transition:background .15s,color .15s,box-shadow .15s}.bo-pill:hover{color:var(--foreground);text-decoration:none}.bo-pill.is-active{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-soft)}.bo-search{position:relative;flex:1;max-width:28rem}.bo-search input{width:100%;height:2.5rem;padding:0 .75rem 0 2.25rem;border:1px solid var(--input);border-radius:.5rem;background:oklch(var(--muted-raw) / .6);font-size:.875rem;font-family:inherit;color:var(--foreground);outline:none;transition:border-color .15s,box-shadow .15s,background .15s}.bo-search input:focus{border-color:var(--ring);background:var(--background);box-shadow:0 0 0 3px oklch(var(--primary-raw) / .2)}.bo-search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--muted-foreground);pointer-events:none}.bo-table-wrap{border:none;border-radius:0;box-shadow:none}.bo-table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.bo-table th:last-child,.bo-table td.bo-table-actions{position:sticky;right:0;z-index:1;background:var(--card);min-width:8.5rem;width:auto;vertical-align:middle;box-shadow:-6px 0 10px -8px oklch(var(--black-raw) / .18)}.bo-table th.bo-table-actions-col{text-align:right}.bo-table tbody tr:hover td.bo-table-actions{background:oklch(var(--muted-raw) / .5)}.bo-table-person{display:flex;align-items:center;gap:.75rem}.bo-table-person-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:9rem}@media(min-width:1024px){.bo-table-person-name{max-width:14rem}}.bo-table td.text-muted{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:1024px){.bo-table td.text-muted{max-width:14rem}}@media(max-width:767px){.bo-table--cards .bo-table-person-name,.bo-table--cards td.text-muted{max-width:none;white-space:normal;overflow:visible}}.bo-table-datetime{font-variant-numeric:tabular-nums;white-space:nowrap}.bo-table-actions{text-align:right}.bo-row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:.375rem;flex-wrap:nowrap}.bo-row-action-form,.bo-table-actions>form{margin:0;display:inline-flex}.bo-table-actions .btn{white-space:nowrap}.bo-row-menu{position:relative}.bo-row-menu>summary.bo-row-menu-trigger{list-style:none}.bo-row-menu>summary.bo-row-menu-trigger::-webkit-details-marker{display:none}.bo-row-menu-panel{position:absolute;top:calc(100% + .25rem);right:0;z-index:20;min-width:11.5rem;padding:.375rem;border:1px solid var(--border);border-radius:.625rem;background:var(--background);box-shadow:var(--shadow-elevated)}.bo-row-menu-item{display:flex;align-items:center;width:100%;padding:.5rem .625rem;border:none;border-radius:.4375rem;background:transparent;font-family:inherit;font-size:.8125rem;font-weight:500;color:var(--foreground);text-decoration:none;text-align:left;cursor:pointer;transition:background .15s,color .15s}.bo-row-menu-item:hover{background:oklch(var(--sidebar-accent-raw) / .85);color:var(--foreground);text-decoration:none}.bo-row-menu-item.is-danger{color:var(--destructive)}.bo-row-menu-item.is-danger:hover{background:oklch(var(--destructive-raw) / .08)}.bo-row-menu-form{margin:0;display:block}.appointments-toolbar{display:flex;flex-direction:column;gap:1rem;margin-bottom:.75rem;padding:1rem 1.125rem;border:1px solid var(--border);border-radius:.875rem;background:var(--card);box-shadow:var(--shadow-soft)}.appointments-toolbar-section{display:flex;flex-direction:column;min-width:0}.appointments-toolbar-section--views{flex:1 1 auto}.appointments-segmented{display:flex;align-items:stretch;gap:.125rem;padding:.1875rem;border:1px solid var(--border);border-radius:.75rem;background:oklch(var(--muted-raw, .96 0 0) / .65)}.appointments-segmented-item{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:.4375rem;min-width:0;min-height:2.375rem;padding:.4375rem .75rem;border:none;border-radius:.5625rem;background:transparent;font-family:inherit;font-size:.8125rem;font-weight:500;line-height:1.2;color:var(--muted-foreground);cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease;outline:none;-webkit-tap-highlight-color:transparent}.appointments-segmented-item:hover:not(.is-active){color:var(--foreground);background:oklch(var(--foreground-raw, .2 0 0) / .04)}.appointments-segmented-item.is-active{background:var(--card);color:var(--foreground);font-weight:600;box-shadow:0 1px 2px oklch(var(--shadow-raw) / .05),0 1px 3px oklch(var(--shadow-raw) / .08),inset 0 0 0 1px oklch(var(--border-raw, .85 0 0) / .35)}.appointments-segmented-item:focus-visible{box-shadow:0 0 0 2px var(--card),0 0 0 4px oklch(var(--primary-raw) / .28)}.appointments-segmented-item.is-active:focus-visible{box-shadow:0 1px 2px oklch(var(--shadow-raw) / .05),0 1px 3px oklch(var(--shadow-raw) / .08),inset 0 0 0 1px oklch(var(--primary-raw) / .14),0 0 0 2px var(--card),0 0 0 4px oklch(var(--primary-raw) / .28)}.appointments-segmented-icon{flex-shrink:0;width:1rem;height:1rem;opacity:.72;transition:opacity .16s ease,color .16s ease}.appointments-segmented-item.is-active .appointments-segmented-icon{color:var(--primary);opacity:1}.appointments-segmented-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:640px){.appointments-segmented-item{flex-direction:column;gap:.1875rem;padding:.5rem .375rem;font-size:.6875rem}.appointments-segmented-icon{width:1.125rem;height:1.125rem}}.appointments-toolbar-section--filters{flex:1 1 auto}.appointments-toolbar-section--meta{flex:1 1 auto;gap:.625rem}.appointments-search-row{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem}.appointments-search-input{flex:1 1 12rem;min-width:0;height:2.25rem;font-size:.8125rem}.appointments-day-group+.appointments-day-group{border-top:1px solid var(--border)}.appointments-day-heading{display:flex;align-items:center;gap:.5rem;margin:0;padding:.75rem 1rem .25rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground)}.appointments-day-group .appointment-list{padding-top:.5rem}.appointments-day-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.375rem;height:1.375rem;padding:0 .375rem;border-radius:999px;font-size:.6875rem;font-weight:700;color:var(--primary);background:oklch(var(--primary-raw) / .12)}.appointments-panel .directory-pagination{padding:.875rem 1.125rem 1rem;border-top:1px solid var(--border)}.empty-state-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.appointments-toolbar-label{margin:0 0 .375rem;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground)}.appointments-toolbar-summary{margin:0 0 1rem;font-size:.8125rem}.appointments-toolbar-filters{flex:1 1 18rem;min-width:0}.appointments-status-pills{flex-wrap:wrap;overflow:visible;gap:.3125rem}.appointments-status-pills .bo-pill{flex-shrink:0;padding:.375rem .75rem;font-size:.8125rem;border:1px solid transparent}.appointments-status-pills .bo-pill.is-active{border-color:oklch(var(--primary-raw) / .18);color:var(--primary)}.appointments-toolbar-meta{display:flex;align-items:flex-end;gap:.625rem;flex:0 0 auto}.appointments-date-control{display:flex;flex-direction:column;min-width:0}.appointments-date-row{display:flex;align-items:center;gap:.375rem}.appointments-date-form{margin:0}.appointments-date-input{width:auto;min-width:10.5rem;height:2.25rem;padding:0 .625rem;font-size:.8125rem}.appointments-today-btn{white-space:nowrap}.appointments-export-btn{display:inline-flex;align-items:center;gap:.375rem;height:2.25rem;white-space:nowrap}.appointments-export-btn svg{width:1rem;height:1rem;flex-shrink:0}.appointments-panel{overflow:visible}.appointment-list{display:flex;flex-direction:column;gap:.75rem;padding:.875rem}.appointment-card{padding:1rem;border:1px solid var(--border);border-radius:.875rem;background:var(--background);box-shadow:var(--shadow-soft)}.appointment-card:last-child{border-bottom:1px solid var(--border)}.appointment-card-top{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:.75rem}.appointment-card-avatar{margin-top:.125rem}.appointment-card-body{min-width:0}.appointment-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.625rem}.appointment-card-name{margin:0;font-size:1rem;font-weight:600;line-height:1.25;letter-spacing:-.01em}.appointment-card-status{flex-shrink:0;font-size:.6875rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.appointment-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin-top:.5rem}.appointment-card-time{display:inline-flex;align-items:center;min-height:1.625rem;padding:0 .5rem;border-radius:.4375rem;font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--primary);background:oklch(var(--primary-raw) / .12)}.appointment-card-date{font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--muted-foreground)}.appointment-card-service-chip{display:inline-flex;align-items:center;min-height:1.625rem;padding:0 .625rem;border-radius:999px;font-size:.75rem;font-weight:600;color:var(--foreground);background:var(--muted)}.appointment-card-notes{margin:.5rem 0 0;font-size:.8125rem;line-height:1.45;display:flex;flex-direction:column;gap:.25rem}.appointment-card-notes-internal{font-size:.75rem;font-weight:600;color:var(--muted-foreground)}.appointment-card-notes-btn{align-self:start;padding:.4rem;border-radius:.5rem}.appointment-card-notes-btn svg{width:1.125rem;height:1.125rem}.appointment-card-toolbar{display:grid;gap:.625rem;margin-top:.875rem;padding-top:.875rem;border-top:1px solid oklch(var(--hairline-raw) / .85)}.appointment-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.appointment-card-actions--primary .appointment-card-btn{flex:1 1 8rem}.appointment-card-actions--secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.appointment-card-btn{justify-content:center;min-height:2.5rem}.appointment-card-btn--danger{color:var(--destructive);border-color:oklch(var(--destructive-raw) / .25)}.appointment-card-btn--danger:hover{background:oklch(var(--destructive-raw) / .08)}@media(min-width:640px){.appointment-list{padding:1rem 1.125rem}.appointment-card{padding:1.125rem 1.25rem}.appointment-card-actions--secondary{grid-template-columns:repeat(4,minmax(0,1fr))}.appointment-card-actions--primary{display:flex;flex-wrap:nowrap}.appointment-card-actions--primary .appointment-card-btn{flex:0 1 auto;min-width:7.5rem}}@media(min-width:1024px){.appointment-card-toolbar{grid-template-columns:auto 1fr;align-items:center}.appointment-card-actions--secondary{justify-content:flex-end}}.api-key-scopes legend{font-size:.875rem;font-weight:600;margin-bottom:.5rem}.api-key-scopes-grid{display:grid;gap:.5rem}@media(min-width:768px){.api-key-scopes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.api-key-scope-option{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .75rem;border:1px solid var(--border);border-radius:.5rem;cursor:pointer}.api-key-scope-option code{display:block;font-size:.75rem}.api-key-scope-option small{display:block;margin-top:.15rem}@media(max-width:639px){.appointments-toolbar{flex-direction:column;align-items:stretch}.appointments-toolbar-meta{width:100%;justify-content:space-between}.appointments-date-row{flex:1}.appointments-date-input{flex:1;min-width:0}.appointments-export-label{display:none}.appointments-export-btn{padding-inline:.625rem}}@media(max-width:767px){.bo-table--cards thead{display:none}.bo-table--cards tbody tr{display:block;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.bo-table--cards tbody tr:last-child{border-bottom:none}.bo-table--cards tbody tr:hover{background:transparent}.bo-table--cards tbody td{display:block;padding:.2rem 0;border-bottom:none}.bo-table--cards tbody td:before{content:attr(data-label);display:block;margin-bottom:.125rem;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground)}.bo-table--cards tbody td.bo-table-actions:before{display:none}.bo-table--cards tbody td.bo-table-actions{position:static;width:auto;min-width:0;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);box-shadow:none;background:transparent;text-align:left}.bo-table--cards .bo-row-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.bo-table--cards .bo-row-menu-panel{left:0;right:auto}.bo-table--cards .bo-table-person{margin-bottom:.25rem}.bo-table--cards .bo-table-person-name{font-size:1rem}.bo-table--cards tbody td[data-label=Cliente]:before{display:none}}.bo-table-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-top:1px solid var(--border);font-size:.875rem;color:var(--muted-foreground)}.bo-avatar{display:grid;place-items:center;width:2rem;height:2rem;flex-shrink:0;border-radius:999px;background:oklch(var(--primary-raw) / .1);font-size:.6875rem;font-weight:600;color:var(--primary)}.bo-avatar-lg{width:3rem;height:3rem;font-size:.8125rem;background:linear-gradient(135deg,var(--primary),var(--info));color:var(--primary-foreground)}.bo-entity-grid{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:640px){.bo-entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.bo-entity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.bo-entity-grid-2{grid-template-columns:1fr}@media(min-width:768px){.bo-entity-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.bo-entity-grid-stacked,.bo-entity-grid.bo-entity-grid-stacked{grid-template-columns:1fr}@media(min-width:640px){.bo-entity-grid.bo-entity-grid-stacked{grid-template-columns:1fr}}@media(min-width:1024px){.bo-entity-grid.bo-entity-grid-stacked{grid-template-columns:1fr}}.bo-entity-card{padding:1.25rem;border-radius:1rem;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-soft);transition:box-shadow .2s,transform .2s}.bo-entity-card:hover{box-shadow:var(--shadow-elevated)}.bo-entity-card.is-hidden{display:none}.bo-entity-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.bo-entity-card-identity{display:flex;align-items:center;gap:.75rem;min-width:0}.bo-entity-card-name{margin:0;font-size:.9375rem;font-weight:600}.bo-entity-card-meta{margin:.125rem 0 0;font-size:.75rem;color:var(--muted-foreground)}.bo-entity-card-contact{margin-top:1rem;display:grid;gap:.375rem;font-size:.875rem;color:var(--muted-foreground)}.bo-entity-card-contact p{display:flex;align-items:center;gap:.5rem;margin:0;min-width:0}.bo-entity-card-contact svg{flex-shrink:0;opacity:.7}.bo-entity-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1rem}.bo-entity-card-foot-bordered{padding-top:1rem;border-top:1px solid var(--border)}.bo-entity-card-actions{display:inline-flex;align-items:center;gap:.375rem;flex-shrink:0}.bo-employee-card{padding:1rem 1.125rem}.bo-employee-card .bo-entity-card-head{align-items:center}.bo-employee-card .bo-entity-card-foot{margin-top:.875rem;padding-top:.875rem;border-top:1px solid oklch(var(--hairline-raw) / .85)}.bo-employee-card .bo-entity-card-copy{min-width:0}.bo-employee-agenda-btn{display:inline-flex;align-items:center;gap:.375rem}.bo-employee-agenda-btn svg{flex-shrink:0}.bo-tag-list{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:1rem}.bo-service-card{overflow:hidden;border-radius:1rem;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-soft);transition:box-shadow .2s}.bo-service-card:hover{box-shadow:var(--shadow-elevated)}.bo-service-card.is-hidden{display:none}.bo-service-card-accent{height:.375rem;background:var(--service-color, var(--primary))}.bo-service-card-body{padding:1.25rem}.bo-service-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.bo-service-card-title{margin:.5rem 0 0;font-size:1.0625rem;font-weight:600;letter-spacing:-.01em}.bo-service-card-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;font-size:.875rem;color:var(--muted-foreground)}.bo-service-card-meta span{display:inline-flex;align-items:center;gap:.375rem}.bo-service-card-meta svg{opacity:.75}.bo-form-card{padding:1.5rem}.bo-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.bo-profile-grid{display:grid;gap:.625rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:900px){.bo-profile-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.bo-profile-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-height:6.5rem;padding:.75rem .875rem .875rem;text-align:left;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--card);color:var(--foreground);cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.bo-profile-card:hover{border-color:oklch(var(--primary-raw) / .45);background:oklch(var(--muted-raw) / .35)}.bo-profile-card:focus-visible{outline:none;box-shadow:0 0 0 3px oklch(var(--primary-raw) / .28)}.bo-profile-card.is-active{border-color:var(--primary);background:oklch(var(--primary-raw) / .14);box-shadow:0 0 0 1px oklch(var(--primary-raw) / .35)}.bo-profile-card__icon{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.5rem;font-size:1rem;line-height:1;background:oklch(var(--muted-raw) / .55)}.bo-profile-card.is-active .bo-profile-card__icon{background:oklch(var(--primary-raw) / .22)}.bo-profile-card__label{font-size:.8125rem;font-weight:600;line-height:1.3;color:var(--foreground)}.bo-profile-card__desc{font-size:.75rem;line-height:1.35;color:var(--muted-foreground)}.bo-profile-card__examples{margin-top:auto;font-size:.6875rem;line-height:1.3;color:oklch(var(--muted-foreground) / .85)}.bo-profile-card__check{position:absolute;top:.5rem;right:.5rem;width:1.125rem;height:1.125rem;border-radius:999px;border:1px solid var(--border);background:var(--background);opacity:0;transform:scale(.85);transition:opacity .15s ease,transform .15s ease,background .15s ease,border-color .15s ease}.bo-profile-card__check:after{content:"";position:absolute;top:.2rem;right:.2rem;bottom:.2rem;left:.2rem;border-radius:inherit;background:var(--primary);opacity:0;transition:opacity .15s ease}.bo-profile-card.is-active .bo-profile-card__check{opacity:1;transform:scale(1);border-color:var(--primary)}.bo-profile-card.is-active .bo-profile-card__check:after{opacity:1}.form-field-hint{display:block;margin-top:.35rem;font-size:.75rem;line-height:1.4;color:var(--muted-foreground)}[hidden]{display:none!important}.bo-form-card{display:flex;flex-direction:column;gap:1.5rem}.bo-form-section{border:1px solid var(--border);border-radius:var(--radius);background:oklch(var(--muted-raw) / .25);padding:1.25rem 1.25rem 1.5rem}.bo-form-section-head{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1.25rem}.bo-form-section-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;color:var(--foreground)}.bo-form-section-title svg{width:1.125rem;height:1.125rem;color:var(--primary);flex-shrink:0}.bo-form-section-desc{margin:0;font-size:.8125rem;line-height:1.4;color:var(--muted-foreground)}.bo-form-section .form-grid{align-items:start}.bo-switch{display:inline-flex;align-items:center;gap:.625rem;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--foreground);-webkit-user-select:none;user-select:none}.bo-switch input{position:absolute;opacity:0;width:0;height:0}.bo-switch-track{position:relative;width:2.5rem;height:1.4rem;border-radius:999px;background:oklch(var(--muted-raw) / .9);border:1px solid var(--border);transition:background .15s,border-color .15s;flex-shrink:0}.bo-switch-thumb{position:absolute;top:50%;left:.15rem;width:1rem;height:1rem;border-radius:50%;background:var(--background);box-shadow:0 1px 2px #00000040;transform:translateY(-50%);transition:left .15s}.bo-switch input:checked+.bo-switch-track{background:var(--primary);border-color:var(--primary)}.bo-switch input:checked+.bo-switch-track .bo-switch-thumb{left:1.25rem}.bo-switch input:focus-visible+.bo-switch-track{box-shadow:0 0 0 3px oklch(var(--primary-raw) / .25)}.hours-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px)}.hours-table{margin:0}.hours-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.hours-table td{padding:.5rem 1rem;vertical-align:middle}.hours-table input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--primary);cursor:pointer}.schedule-rules-inherit{margin:0;padding:.875rem 1rem;font-size:.8125rem;line-height:1.45;color:var(--muted-foreground);background:oklch(var(--muted-raw) / .4);border:1px dashed var(--border);border-radius:calc(var(--radius) - 2px)}.schedule-rules-hint{margin:.75rem 0 0;font-size:.8125rem;line-height:1.45}.schedule-rules-editor .schedule-rules-inherit{display:none}.schedule-rules-editor.is-disabled .schedule-rules-inherit{display:block}.schedule-rules-editor.is-disabled .schedule-rules-body{display:none}.schedule-rules-toggle{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;margin-bottom:.75rem;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);cursor:pointer}.schedule-rules-toggle input{margin-top:.2rem}.schedule-rules-toggle strong{display:block;font-size:.9rem;margin-bottom:.15rem}.schedule-rules-toggle small{display:block;font-size:.78rem;line-height:1.4}.schedule-rule-list{display:flex;flex-direction:column;gap:.4rem}.schedule-rule-head,.schedule-rule-row{display:grid;grid-template-columns:6.25rem minmax(7.5rem,9.5rem) minmax(9rem,1fr) 2.25rem;align-items:center;gap:.5rem}.schedule-rule-head{padding:0 .5rem;font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground)}.schedule-rule-row{padding:.5rem;background:oklch(var(--muted-raw) / .35);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px)}.schedule-rule-type,.schedule-rule-when{width:100%;min-width:0}.schedule-rule-field{display:flex;flex-direction:column;gap:.3rem;flex:1 1 8rem;min-width:0}.schedule-rule-field.schedule-rule-times{flex:1 1 12rem}.schedule-rule-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--muted-foreground)}.schedule-rule-field .select,.schedule-rule-field input[type=date],.schedule-rule-field input[type=time]{width:100%}.schedule-rule-times-inputs{display:flex;align-items:center;justify-content:flex-start;gap:.35rem;min-width:0}.schedule-rule-times-inputs input[type=time],.schedule-rule-times-inputs .input-time-24{flex:0 0 auto}.input-time-24{width:5.5rem;min-width:5.5rem;font-variant-numeric:tabular-nums;text-align:center;letter-spacing:.02em}.schedule-rule-sep{color:var(--muted-foreground);flex-shrink:0}.schedule-rule-remove{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:calc(var(--radius) - 4px);border:1px solid var(--border);background:var(--background);color:var(--muted-foreground);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.schedule-rule-remove svg{width:1rem;height:1rem}.schedule-rule-remove:hover{color:var(--destructive, #ef4444);border-color:var(--destructive, #ef4444);background:#de3b3d14}.schedule-rules-add{display:inline-flex;align-items:center;gap:.4rem}.schedule-rules-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}@media(max-width:720px){.schedule-rule-head{display:none}.schedule-rule-row{grid-template-columns:1fr 1fr;grid-template-areas:"type when" "times times" "remove remove";gap:.5rem;padding:.65rem}.schedule-rule-type{grid-area:type}.schedule-rule-when{grid-area:when}.schedule-rule-times-inputs{grid-area:times;justify-content:center}.schedule-rule-remove{grid-area:remove;justify-self:end}}.schedule-rules-empty{margin:0;padding:1.25rem 1rem;text-align:center;font-size:.8125rem;color:var(--muted-foreground);background:oklch(var(--muted-raw) / .25);border:1px dashed var(--border);border-radius:calc(var(--radius) - 2px)}.hours-save-bar{display:flex;align-items:center;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.hours-save-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:500;opacity:0;animation:hoursStatusIn .2s forwards}.hours-save-status svg{width:1rem;height:1rem}.hours-save-status.is-ok{color:#22c55e}.hours-save-status.is-error{color:var(--destructive, #ef4444)}@keyframes hoursStatusIn{to{opacity:1}}.hp-loading{padding:1.5rem;text-align:center;color:var(--muted-foreground);font-size:.875rem}.hp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.875rem}.hp-tabs{display:inline-flex;background:oklch(var(--muted-raw) / .5);border:1px solid var(--border);border-radius:999px;padding:.2rem}.hp-tab{border:0;background:transparent;cursor:pointer;padding:.35rem .9rem;border-radius:999px;font-size:.8125rem;font-weight:500;color:var(--muted-foreground);transition:background .15s,color .15s}.hp-tab.is-active{background:var(--primary);color:var(--primary-foreground, #fff)}.hp-nav{display:inline-flex;align-items:center;gap:.35rem}.hp-nav-btn{border:1px solid var(--border);background:var(--background);color:var(--foreground);cursor:pointer;height:2rem;min-width:2rem;padding:0 .6rem;border-radius:calc(var(--radius) - 4px);font-size:.9rem;line-height:1}.hp-nav-btn:hover{border-color:var(--primary);color:var(--primary)}.hp-today{font-size:.8125rem}.hp-label{font-weight:600;font-size:.95rem;margin-bottom:.875rem;text-transform:capitalize}.hp-blocked-note,.hp-closed-note{padding:1rem;border-radius:calc(var(--radius) - 2px);font-size:.875rem;text-align:center}.hp-blocked-note{background:#de3b3d1a;color:var(--destructive, #ef4444)}.hp-closed-note{background:oklch(var(--muted-raw) / .3);color:var(--muted-foreground)}.hp-windows{display:flex;flex-wrap:wrap;gap:.5rem}.hp-window{display:inline-flex;align-items:center;padding:.5rem .9rem;border-radius:999px;background:oklch(var(--primary-raw) / .14);color:var(--primary);border:1px solid oklch(var(--primary-raw) / .3);font-weight:600;font-size:.875rem}.hp-blocks{margin-top:.75rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.hp-blocks-label{font-size:.75rem;color:var(--muted-foreground)}.hp-block-chip{font-size:.75rem;padding:.2rem .55rem;border-radius:999px;background:#de3b3d1f;color:var(--destructive, #ef4444);text-decoration:line-through}.hp-week{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}.hp-week-day{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);overflow:hidden;min-height:6rem;display:flex;flex-direction:column}.hp-week-day.is-today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.hp-week-day.is-blocked{background:#de3b3d0f}.hp-week-day-head{padding:.4rem;text-align:center;background:oklch(var(--muted-raw) / .4);border-bottom:1px solid var(--border)}.hp-week-dow{display:block;font-size:.7rem;text-transform:uppercase;color:var(--muted-foreground)}.hp-week-date{display:block;font-weight:600;font-size:.95rem}.hp-week-day-body{padding:.4rem;display:flex;flex-direction:column;gap:.3rem}.hp-mini-window{font-size:.72rem;padding:.2rem .35rem;border-radius:4px;background:oklch(var(--primary-raw) / .14);color:var(--primary);text-align:center;font-weight:600}.hp-mini-blocked{font-size:.72rem;color:var(--destructive, #ef4444);text-align:center}.hp-mini-closed{color:var(--muted-foreground);text-align:center}.hp-month-head,.hp-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}.hp-month-head{margin-bottom:.3rem}.hp-month-head span{text-align:center;font-size:.7rem;text-transform:uppercase;color:var(--muted-foreground)}.hp-month-cell{aspect-ratio:1 / 1;border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);padding:.3rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.2rem;position:relative}.hp-month-cell.is-empty{border:0}.hp-month-cell.is-today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary) inset}.hp-month-cell.is-open{background:oklch(var(--primary-raw) / .08)}.hp-month-cell.is-blocked{background:#de3b3d14}.hp-month-cell.is-closed{opacity:.55}.hp-month-daynum{font-size:.8rem;font-weight:500}.hp-month-dot{width:.45rem;height:.45rem;border-radius:50%;display:inline-block}.hp-dot-open{background:var(--primary)}.hp-dot-blocked{background:var(--destructive, #ef4444)}.hp-dot-closed{background:var(--muted-foreground)}.hp-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.75rem;font-size:.75rem;color:var(--muted-foreground)}.hp-legend span{display:inline-flex;align-items:center;gap:.35rem}@media(max-width:640px){.hp-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem}.hp-week-dow,.hp-mini-window{font-size:.6rem}}.hours-editor{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);overflow:hidden}.hours-editor-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .875rem;padding:.625rem .875rem;border-bottom:1px solid var(--border)}.hours-editor-row:last-child{border-bottom:none}.hours-editor-day{flex:1 1 6rem;min-width:6rem;font-size:.875rem;font-weight:500;color:var(--foreground)}.hours-editor-closed{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--muted-foreground);cursor:pointer;white-space:nowrap}.hours-editor-closed input{width:1.05rem;height:1.05rem;accent-color:var(--primary);cursor:pointer}.hours-editor-times{display:inline-flex;align-items:center;gap:.375rem;margin-left:auto}.hours-editor-times input[type=time]{width:auto;min-width:0}.hours-editor-sep{color:var(--muted-foreground)}.hours-editor.is-disabled{opacity:.55}.hours-editor.is-disabled input{cursor:not-allowed}.bo-checkbox-grid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr))}.bo-checkbox-item{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--background);font-size:.875rem;cursor:pointer;transition:border-color .15s,background .15s}.bo-checkbox-item:hover{border-color:var(--ring)}.bo-checkbox-item input{width:1.05rem;height:1.05rem;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.bo-checkbox-item:has(input:checked){border-color:var(--primary);background:oklch(var(--primary-raw) / .08)}.bo-checkbox-item .text-muted{font-size:.75rem}.bo-requirement-card{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--background);padding:1rem;margin-bottom:1rem}.bo-requirement-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.875rem}.bo-requirement-card-head strong{font-size:.9375rem}.bo-requirement-options{margin-top:1rem}.bo-requirement-options>span{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted-foreground);margin-bottom:.5rem}.bo-empty-hint{padding:1rem 1.25rem;border:1px dashed var(--border);border-radius:calc(var(--radius) - 2px);background:oklch(var(--muted-raw) / .3);color:var(--muted-foreground);font-size:.8125rem;margin-bottom:1rem}.page-content:has(.agenda-page){display:flex;flex-direction:column;min-height:0;padding-bottom:1rem}@media(min-width:768px){.page-content:has(.agenda-page){padding-bottom:1.5rem}}.agenda-page{display:flex;flex-direction:column;flex:1;min-height:0;gap:.75rem}.agenda-day-panel{display:flex;flex-direction:column;flex:1;min-height:0}.agenda-day-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.625rem 1rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:oklch(var(--primary-raw) / .04)}.agenda-day-status-text{margin:0;flex:1 1 12rem;min-width:0;font-size:.8125rem;line-height:1.45;color:var(--muted-foreground)}.agenda-day-wrap{overflow:visible;flex:1;min-height:0;display:flex;flex-direction:column}.agenda-day-scroll{flex:1;min-height:14rem;overflow-x:auto;overflow-y:auto;scrollbar-width:thin;scrollbar-color:oklch(var(--muted-foreground-raw) / .3) transparent}.agenda-day-scroll::-webkit-scrollbar{width:6px;height:6px}.agenda-day-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:oklch(var(--muted-foreground-raw) / .28)}.agenda-day-panel.is-empty .agenda-hour-free{opacity:0}.agenda-day-panel.is-empty .agenda-day-row-slot:hover .agenda-hour-free{opacity:1}.agenda-day-timeline{position:relative;--agenda-hour-height: 4rem;min-width:20rem;max-width:52rem;margin-inline:auto}.agenda-day-grid{display:grid;grid-template-columns:3.5rem minmax(0,1fr);grid-template-rows:repeat(var(--hour-count, 12),var(--agenda-hour-height))}.agenda-day-row-label{grid-column:1;display:flex;align-items:flex-start;justify-content:flex-end;padding:.4rem .625rem 0 0;font-size:.6875rem;font-weight:600;color:var(--muted-foreground);font-variant-numeric:tabular-nums;border-right:1px solid var(--border);background:oklch(var(--muted-raw) / .35)}.agenda-day-row-slot{grid-column:2;position:relative;display:block;height:100%;border-left:none;border-bottom:1px solid oklch(var(--hairline-raw) / .65);color:inherit;text-decoration:none;transition:background .15s ease}.agenda-day-row-slot.is-alt{background:oklch(var(--muted-raw) / .35)}.agenda-day-row-slot:hover{background:oklch(var(--primary-raw) / .06);text-decoration:none}.agenda-day-row-slot:hover .agenda-hour-free{color:var(--primary)}.agenda-day-row-slot:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;z-index:1}.agenda-day-events-layer{position:absolute;top:0;left:3.5rem;right:0;height:calc(var(--hour-count, 12) * var(--agenda-hour-height));padding:0 .75rem 0 .625rem;box-sizing:border-box;z-index:2;pointer-events:none}.agenda-hour-free{position:absolute;inset:.35rem .75rem auto;font-size:.6875rem;font-weight:500;letter-spacing:.01em;color:oklch(var(--muted-foreground-raw) / .45);pointer-events:none;-webkit-user-select:none;user-select:none;transition:opacity .15s ease,color .15s ease}.agenda-day-event{position:absolute;top:var(--event-top, 0);left:0;right:0;height:var(--event-height, 2rem);min-height:var(--event-height, 2rem);z-index:2;display:flex;align-items:stretch;box-sizing:border-box;overflow:visible;border-radius:.625rem;border:1px solid color-mix(in oklch,var(--event-color, var(--primary)) 24%,var(--border));background:color-mix(in oklch,var(--event-color, var(--primary)) 8%,var(--card));box-shadow:var(--shadow-soft);pointer-events:auto;text-decoration:none;color:inherit;transition:box-shadow .15s ease,border-color .15s ease,z-index 0s}.agenda-day-event:hover,.agenda-day-event:focus-visible{z-index:30;border-color:color-mix(in oklch,var(--event-color, var(--primary)) 42%,var(--border));box-shadow:var(--shadow-elevated);text-decoration:none;color:inherit}.agenda-day-event-accent{width:3px;margin:.3rem 0 .3rem .45rem;border-radius:999px;flex-shrink:0;align-self:stretch;background:var(--event-color, var(--primary))}.agenda-day-event-body{position:relative;display:flex;align-items:center;min-width:0;flex:1;padding:.3rem .625rem .3rem .45rem;overflow:hidden}.agenda-day-event-main{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-width:0}.agenda-day-event-title{margin:0;font-size:.8125rem;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-day-event .badge{flex-shrink:0;font-size:.625rem;padding:.125rem .4rem;line-height:1.2}.agenda-day-event-details{display:block;position:absolute;left:0;right:0;top:calc(100% + .25rem);padding:.625rem .75rem;border-radius:.625rem;border:1px solid color-mix(in oklch,var(--event-color, var(--primary)) 32%,var(--border));background:var(--card);box-shadow:var(--shadow-elevated);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease,visibility .15s;pointer-events:none;z-index:3}.agenda-day-event:hover .agenda-day-event-details,.agenda-day-event:focus-visible .agenda-day-event-details{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.agenda-day-event-details .agenda-day-event-time{display:block;margin-bottom:.25rem;font-size:.6875rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--event-color, var(--primary))}.agenda-day-event-details .agenda-day-event-meta{display:block;margin:0 0 .25rem;font-size:.75rem;color:var(--muted-foreground)}.agenda-day-event-details .agenda-day-event-relative{display:block;margin:0 0 .375rem;font-size:.6875rem;color:var(--muted-foreground)}.agenda-day-event-cta{display:inline-flex;align-items:center;font-size:.6875rem;font-weight:600;color:var(--event-color, var(--primary))}@media(max-width:640px){.agenda-hour-free{font-size:.625rem}.agenda-day-event-title{font-size:.75rem}}.agenda-list{display:grid;gap:.75rem;max-width:48rem;margin-inline:auto}.agenda-card{display:flex;align-items:stretch;gap:1rem;padding:1rem;border-radius:1rem;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-soft);transition:box-shadow .2s}.agenda-card:hover{box-shadow:var(--shadow-elevated)}.agenda-card-time{display:flex;width:4rem;flex-shrink:0;flex-direction:column;align-items:center;justify-content:center;padding-right:1rem;border-right:1px solid var(--border);text-align:center}.agenda-card-clock{font-size:1.125rem;font-weight:700;font-variant-numeric:tabular-nums}.agenda-card-duration{margin-top:.125rem;font-size:.6875rem;color:var(--muted-foreground)}.agenda-card-accent{width:.25rem;flex-shrink:0;border-radius:999px;background:var(--agenda-accent, var(--primary))}.agenda-card-body{min-width:0;flex:1}.agenda-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.agenda-card-title{margin:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-card-meta{margin:.25rem 0 0;font-size:.875rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-card-relative{margin:.5rem 0 0;font-size:.75rem;font-weight:500;color:var(--primary)}.calendar-week-wrap{overflow:hidden}.calendar-week-scroll{overflow-x:auto}.calendar-week-grid{min-width:45rem}.calendar-week-head{display:grid;grid-template-columns:3.5rem repeat(7,minmax(0,1fr));border-bottom:1px solid var(--border)}.calendar-week-day{padding:.75rem .5rem;border-left:1px solid var(--border);text-align:center;font-size:.875rem;font-weight:500}.calendar-week-day.is-today{color:var(--primary)}.calendar-week-body{display:grid;grid-template-columns:3.5rem repeat(7,minmax(0,1fr));position:relative}.calendar-week-hours{grid-column:1}.calendar-hour-label{height:4rem;padding-right:.5rem;text-align:right;font-size:.6875rem;color:var(--muted-foreground)}.calendar-week-column{position:relative;border-left:1px solid var(--border)}.calendar-hour-cell{height:4rem;border-bottom:1px solid oklch(var(--hairline-raw) / .6)}.calendar-event{position:absolute;left:.25rem;right:.25rem;z-index:1;padding:.375rem .5rem;border-left:2px solid var(--event-color, var(--primary));border-radius:.5rem;background:color-mix(in oklch,var(--event-color, var(--primary)) 14%,var(--card));box-shadow:var(--shadow-soft);overflow:hidden;font-size:.6875rem}.calendar-event-title{margin:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event-sub{margin:.125rem 0 0;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-view-switch{display:none;align-items:center;gap:.25rem;padding:.25rem;border-radius:.5rem;background:var(--muted)}.agenda-view-switch-mobile{display:flex;width:100%;margin-bottom:.25rem}@media(min-width:640px){.agenda-view-switch-mobile{display:none}.agenda-view-switch:not(.agenda-view-switch-mobile){display:inline-flex}}.agenda-view-pill{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:500;color:var(--muted-foreground);text-decoration:none;transition:background .15s,color .15s,box-shadow .15s}.agenda-view-pill:hover{color:var(--foreground);text-decoration:none}.agenda-view-pill.is-active{background:var(--card);color:var(--foreground);box-shadow:var(--shadow-soft)}.agenda-controls{display:flex;flex-direction:column;gap:.5rem;margin-bottom:0;padding:.75rem .875rem;border:1px solid var(--border);border-radius:.875rem;background:var(--card);box-shadow:var(--shadow-soft);flex-shrink:0}.agenda-controls-header{display:flex;flex-direction:column;gap:.5rem}.agenda-controls-top{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem .625rem}.agenda-controls-title{flex:1 1 8rem;min-width:0}.agenda-controls-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .625rem}.agenda-controls-view-select{flex-shrink:0}.agenda-view-select{width:auto;min-width:5.5rem;height:2rem;padding:0 2rem 0 .625rem;font-size:.8125rem}.agenda-controls-heading{margin:0;font-family:var(--font-display);font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;line-height:1.2}.agenda-controls-subtitle{margin:.125rem 0 0;font-size:.75rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-controls-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .5rem}.agenda-controls-nav{flex-shrink:0;padding:.1875rem}.agenda-controls-nav .bo-pill{padding:.3125rem .625rem;font-size:.75rem}.agenda-controls-nav .bo-pill-icon{padding-inline:.5rem}.agenda-controls-date-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:6.5rem;padding:.3125rem .75rem;cursor:pointer;overflow:hidden}.agenda-controls-date-label{font-size:.75rem;font-weight:500;line-height:1.25;pointer-events:none;white-space:nowrap}.agenda-controls-date-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;color-scheme:dark}.agenda-controls-filters{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px solid oklch(var(--hairline-raw) / .75)}.agenda-filter-row{display:flex;flex-direction:column;align-items:flex-start;gap:.3125rem;min-width:0}.agenda-filter-label{flex:0 0 auto;font-size:.6875rem;font-weight:500;color:var(--muted-foreground)}.agenda-filter-pills{display:flex;flex:0 1 auto;align-items:center;align-content:flex-start;min-width:0;gap:.25rem;flex-wrap:wrap}.agenda-filter-pill{flex:0 0 auto;align-self:center;padding:.25rem .5625rem;font-size:.6875rem;line-height:1.25;white-space:nowrap;border:1px solid oklch(var(--hairline-raw) / .9);background:oklch(var(--muted-raw) / .45)}.agenda-filter-pill:hover{background:oklch(var(--muted-raw) / .75);color:var(--foreground)}.agenda-filter-pill.is-active{border-color:oklch(var(--primary-raw) / .35);background:color-mix(in oklch,var(--primary) 10%,var(--card));color:var(--foreground);box-shadow:none}.agenda-service-pill.has-color:before{content:"";display:inline-block;width:.4375rem;height:.4375rem;margin-right:.3rem;border-radius:999px;background:var(--service-pill-color, var(--primary));vertical-align:middle}@media(min-width:768px){.agenda-controls{padding:.875rem 1rem}.agenda-controls-heading{font-size:1.125rem}.agenda-controls-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.5rem 1.25rem}.agenda-filter-row:only-child{grid-column:1 / -1}}@media(min-width:960px){.agenda-controls-toolbar{margin-left:auto}.agenda-controls-header{flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem}}@media(max-width:639px){.agenda-day-status{flex-direction:column;align-items:stretch}.agenda-day-status .btn{width:100%;justify-content:center}}.page-header-actions{flex-wrap:wrap}a.calendar-week-day{color:inherit;text-decoration:none;transition:background .15s,color .15s}a.calendar-week-day:hover{background:var(--secondary);text-decoration:none}a.calendar-event{color:inherit;text-decoration:none}a.calendar-event:hover{filter:brightness(.98);text-decoration:none}.agenda-month-wrap{padding:1rem}.agenda-month-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;margin-bottom:.5rem;text-align:center;font-size:.75rem;font-weight:600;color:var(--muted-foreground)}.agenda-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.375rem}.agenda-month-cell{display:flex;min-height:6.5rem;flex-direction:column;gap:.375rem;padding:.5rem;border-radius:.75rem;border:1px solid var(--border);background:var(--card);color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s,background .15s}.agenda-month-cell:hover{border-color:oklch(var(--primary-raw) / .25);box-shadow:var(--shadow-soft);text-decoration:none}.agenda-month-cell.is-outside{opacity:.45;background:var(--secondary)}.agenda-month-cell.is-today{border-color:oklch(var(--primary-raw) / .35);box-shadow:inset 0 0 0 1px oklch(var(--primary-raw) / .15)}.agenda-month-cell.has-events{background:linear-gradient(180deg,oklch(var(--primary-raw) / .04),var(--card))}.agenda-month-day{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;font-weight:600}.agenda-month-count{display:inline-flex;min-width:1.25rem;align-items:center;justify-content:center;padding:0 .35rem;border-radius:999px;background:oklch(var(--primary-raw) / .12);color:var(--primary);font-size:.6875rem;font-weight:700}.agenda-month-events{display:grid;gap:.25rem;margin-top:auto}.agenda-month-chip{display:block;padding:.2rem .4rem;border-radius:.375rem;border-left:2px solid var(--chip-color, var(--primary));background:color-mix(in oklch,var(--chip-color, var(--primary)) 10%,var(--card));font-size:.625rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-month-chip-time{font-weight:700;margin-right:.25rem}.agenda-month-more{font-size:.625rem;color:var(--muted-foreground)}@media(max-width:900px){.agenda-month-cell{min-height:5rem}.agenda-month-chip{display:none}.agenda-month-cell.has-events .agenda-month-day:after{content:"";width:.375rem;height:.375rem;border-radius:999px;background:var(--primary);margin-left:auto}}.portal-shell{min-height:100vh;display:flex;flex-direction:column}.portal-header{border-bottom:1px solid var(--border);background:var(--card)}.portal-header-inner{display:flex;align-items:center;justify-content:space-between;max-width:48rem;margin-inline:auto;padding:1rem;gap:1rem;position:relative}.portal-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap;margin-left:auto;min-width:0}.portal-nav a{padding:.375rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--muted-foreground);text-decoration:none;white-space:nowrap}.portal-nav a:hover,.portal-nav a.is-active{background:var(--secondary);color:var(--foreground);text-decoration:none}.portal-nav-toggle{display:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;margin-left:auto;padding:0;border:1px solid var(--border);border-radius:.625rem;background:var(--card);color:var(--foreground);cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.portal-nav-toggle:hover{background:var(--secondary)}.portal-nav-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px var(--card),0 0 0 4px oklch(var(--primary-raw) / .28)}.portal-nav-toggle-icon{display:inline-flex;flex-direction:column;justify-content:center;gap:.1875rem;width:1rem}.portal-nav-toggle-icon span{display:block;width:100%;height:2px;border-radius:999px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.portal-shell.is-nav-collapsed .portal-nav-toggle{display:inline-flex}.portal-shell.is-nav-collapsed .portal-header-inner{flex-wrap:wrap}.portal-shell.is-nav-collapsed .portal-nav{display:none;width:100%;flex-direction:column;align-items:stretch;margin-left:0;padding-top:.5rem}.portal-shell.is-nav-collapsed .portal-nav.is-open{display:flex}.portal-shell.is-nav-collapsed .portal-nav a,.portal-shell.is-nav-collapsed .portal-nav .btn,.portal-shell.is-nav-collapsed .portal-nav .theme-toggle{width:100%;justify-content:flex-start}.portal-nav.portal-nav--measure{position:absolute;top:0;left:0;visibility:hidden;pointer-events:none;display:flex!important;flex-wrap:nowrap;width:max-content;max-width:none;margin:0;z-index:-1}.portal-main{flex:1;max-width:48rem;width:100%;margin-inline:auto;padding:1.5rem 1rem 3rem}.portal-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:oklch(var(--shadow-raw) / .4)}.portal-mobile-drawer{display:none;position:fixed;left:0;top:0;z-index:50;width:17.5rem;height:100vh;flex-direction:column;border-right:1px solid var(--sidebar-border);background:var(--sidebar);box-shadow:var(--shadow-elevated)}.portal-shell.portal-mobile-menu-open .portal-mobile-drawer{display:flex}.portal-mobile-drawer-brand{display:flex;align-items:center;gap:.625rem;min-height:3.5rem;padding:.875rem 1rem;border-bottom:1px solid var(--sidebar-border)}.portal-mobile-drawer-nav{display:flex;flex:1;flex-direction:column;gap:.25rem;padding:.75rem;overflow:auto}.portal-mobile-drawer-nav a{display:flex;align-items:center;gap:.65rem;padding:.65rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--sidebar-foreground);text-decoration:none}.portal-mobile-drawer-nav a:hover,.portal-mobile-drawer-nav a.is-active{background:var(--sidebar-accent);color:var(--sidebar-accent-foreground);text-decoration:none}.portal-mobile-drawer-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--sidebar-border)}.portal-bottom-nav,.portal-mobile-bottom-nav{display:none}.portal-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}@media(max-width:767px){.portal-drawer-backdrop{display:block}.portal-header .portal-nav,.portal-header .portal-nav-toggle{display:none!important}.portal-mobile-bottom-nav{display:grid}.portal-main{padding-bottom:calc(6rem + env(safe-area-inset-bottom,0px))}}@media(min-width:768px){.portal-drawer-backdrop,.portal-mobile-drawer{display:none!important}}.booking-header{text-align:center;padding:2rem 0 1rem}.booking-header h1{margin:0;font-size:1.75rem}.service-list{display:grid;gap:1rem;margin-top:1.5rem}.service-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.service-card-body{display:flex;align-items:flex-start;gap:1rem;flex:1 1 auto;min-width:0}.service-card-info{flex:1 1 auto;min-width:0}.service-card-info strong{font-size:1rem;display:block}.service-card-info p{margin:.25rem 0 0;font-size:.875rem;color:var(--muted-foreground)}.service-card-info .directory-card-desc{margin-top:.375rem;overflow-wrap:anywhere}.service-card .btn{flex:0 0 auto;align-self:center}@media(max-width:540px){.service-card{flex-wrap:wrap}.service-card .btn{width:100%;align-self:stretch}}.empty-state{text-align:center;padding:3rem 1.5rem;border-radius:1rem;border:1px dashed var(--border);background:var(--secondary);color:var(--muted-foreground)}.empty-state h3{margin:0 0 .5rem;color:var(--foreground)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}.auth-shell{width:100%;max-width:24rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.auth-brand-link{text-decoration:none}.auth-card{width:100%;padding:2rem;border-radius:1rem;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-elevated)}.auth-card h2{margin:0 0 .25rem;font-size:1.5rem}.auth-card .auth-sub{margin:0 0 1.5rem;font-size:.875rem;color:var(--muted-foreground)}.auth-demo{margin-top:1.25rem}.auth-demo-divider{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.75rem;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em}.auth-demo-divider:before,.auth-demo-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-demo-btn{width:100%}.auth-demo-hint{margin:.625rem 0 0;font-size:.75rem;line-height:1.45;color:var(--muted-foreground);text-align:center}.auth-demo-hint code{font-size:.6875rem;padding:.1rem .3rem;border-radius:.25rem;background:var(--muted)}.appt-card{display:flex;flex-direction:column;gap:.75rem}.appt-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.appt-card-actions{display:flex;flex-wrap:wrap;gap:.5rem}.back-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--muted-foreground);margin-bottom:1.5rem}button.back-link{border:none;background:none;padding:0;cursor:pointer;font:inherit;text-align:left}.back-link:hover{color:var(--foreground)}.hero-search-wrap{max-width:40rem;margin:2rem auto 0;text-align:left}.directory-search{display:flex;flex-direction:column;gap:.875rem}.directory-search-input-wrap{position:relative}.directory-search-icon{position:absolute;right:.875rem;left:auto;top:50%;transform:translateY(-50%);color:var(--muted-foreground);pointer-events:none}.directory-search-input-wrap .directory-search-input{width:100%;height:auto;min-height:2.75rem;padding:.75rem 2.75rem .75rem 1rem;font-size:1rem;border-radius:calc(var(--radius) + 2px);border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-soft)}.directory-search-input-wrap .directory-search-input::-webkit-search-cancel-button{margin-right:1.5rem}.directory-search-filters{display:flex;flex-wrap:wrap;gap:.5rem}.directory-filter{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:999px;border:1px solid var(--border);background:var(--secondary);font-size:.8125rem;cursor:pointer}.directory-filter input{accent-color:var(--primary)}.directory-search-submit{align-self:flex-start}@media(min-width:640px){.directory-search{flex-direction:row;flex-wrap:wrap;align-items:center}.directory-search-input-wrap{flex:1 1 18rem}.directory-search-submit{margin-left:auto}}.section-inline-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.section-inline-header h2{margin:0;font-size:1.25rem}.featured-directory{padding:3.5rem 0 4rem;background:linear-gradient(180deg,oklch(var(--primary-raw) / .04) 0%,transparent 55%),var(--background);border-top:1px solid var(--border)}.featured-block+.featured-block{margin-top:3.5rem;padding-top:3.5rem;border-top:1px solid var(--border)}.featured-block-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.featured-block-title{margin:.75rem 0 0;font-size:clamp(1.5rem,3vw,1.875rem);font-weight:700;letter-spacing:-.02em}.featured-block-lead{margin:.5rem 0 0;max-width:36rem;color:var(--muted-foreground);font-size:1rem}.featured-directory-cta{margin-top:3rem;text-align:center}.directory-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--border)}.directory-pagination--loading{opacity:.72;pointer-events:none}.directory-pagination-pages{display:inline-flex;align-items:center;gap:.25rem}.directory-pagination-control{display:inline-flex;align-items:center;justify-content:center;gap:.3125rem;min-width:2.25rem;height:2.25rem;padding:0 .625rem;border:1px solid var(--border);border-radius:.5625rem;background:var(--card);font-family:inherit;font-size:.8125rem;font-weight:500;line-height:1;color:var(--foreground);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;outline:none;-webkit-tap-highlight-color:transparent}.directory-pagination-control:hover:not(:disabled):not(.is-active){background:var(--secondary);border-color:oklch(var(--border-raw, .85 0 0) / .9)}.directory-pagination-control:focus-visible{box-shadow:0 0 0 2px var(--card),0 0 0 4px oklch(var(--primary-raw) / .28)}.directory-pagination-control:disabled{opacity:.45;cursor:not-allowed}.directory-pagination-control--page{min-width:2.25rem;padding-inline:.5rem}.directory-pagination-control--page.is-active{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground);font-weight:600;box-shadow:0 1px 2px oklch(var(--primary-raw) / .2)}.directory-pagination-control--nav svg{width:1rem;height:1rem;flex-shrink:0}.directory-pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:2.25rem;color:var(--muted-foreground);font-size:.875rem;-webkit-user-select:none;user-select:none}.featured-directory-results-block{scroll-margin-top:5rem}.directory-grid--fetching{position:relative}.directory-grid--fetching:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.75rem;background:oklch(var(--background-raw, 1 0 0) / .55);pointer-events:none}@media(max-width:640px){.directory-pagination-nav-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.directory-pagination-control--nav{min-width:2.25rem;padding-inline:.5rem}}.directory-grid{display:grid;gap:1.25rem}.directory-grid-establishments,.directory-grid-services{grid-template-columns:1fr}@media(min-width:640px){.directory-grid-establishments{grid-template-columns:repeat(2,1fr)}}.directory-card{position:relative;display:block;overflow:hidden;border-radius:1.125rem;border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-soft);color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;min-height:100%}.directory-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-elevated);border-color:oklch(var(--primary-raw) / .25);text-decoration:none}.directory-card-body{display:flex;flex-direction:column;gap:1rem;padding:1.35rem 1.35rem 1.15rem;min-height:100%}.directory-card-accent{height:4px;background:linear-gradient(90deg,var(--primary),oklch(var(--accent-raw)))}.directory-card-establishment .directory-card-accent{background:linear-gradient(90deg,oklch(var(--primary-raw)),oklch(var(--brand-blue-raw)))}.directory-card-header{display:flex;gap:1rem;align-items:flex-start}.directory-card-title-wrap{min-width:0;flex:1}.directory-card-title{display:block;font-size:1.0625rem;font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;line-height:1.3}.directory-card-subtitle{margin:.35rem 0 0;font-size:.875rem;color:var(--muted-foreground);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.directory-card-avatar,.establishment-avatar,.team-avatar{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.875rem;background:linear-gradient(135deg,oklch(var(--primary-raw) / .16),oklch(var(--accent-raw) / .12));color:var(--primary);font-family:var(--font-display);font-weight:800;flex-shrink:0;border:1px solid oklch(var(--primary-raw) / .12)}.directory-card-avatar-lg{width:3.25rem;height:3.25rem;font-size:1.125rem;border-radius:1rem}.directory-card-avatar-image,.establishment-avatar-image{object-fit:cover;padding:0;background:var(--muted, #f1f5f9);border:1px solid var(--border)}.directory-card-dot{width:.75rem;height:.75rem;border-radius:999px;margin-top:.45rem;flex-shrink:0;background:var(--service-color, var(--primary));box-shadow:0 0 0 4px color-mix(in oklch,var(--service-color, var(--primary)) 18%,transparent)}.directory-card-dot-lg{width:.875rem;height:.875rem;margin-top:.35rem}.directory-card-service-accent{position:absolute;inset:0 auto 0 0;width:4px;background:var(--service-color, var(--primary))}.directory-card-service .directory-card-body{padding-left:1.15rem}.directory-card-service.directory-card-has-image{display:flex;flex-direction:row;align-items:stretch;min-height:auto}.directory-card-service.directory-card-has-image .directory-card-media{flex:0 0 88px;width:88px;aspect-ratio:4 / 3;align-self:center;margin:.85rem 0 .85rem .85rem;border-radius:.625rem;overflow:hidden;background:var(--muted, #f1f5f9)}.directory-card-service.directory-card-has-image .directory-card-media img{width:100%;height:100%;object-fit:cover;display:block}.directory-card-service.directory-card-has-image .directory-card-body{flex:1;min-width:0;padding:1rem 1.15rem 1rem .85rem;gap:.65rem}.directory-card-service.directory-card-has-image .directory-card-header{align-items:center}.directory-card-service.directory-card-has-image .directory-card-footer{padding-top:.65rem}@media(min-width:640px){.directory-card-service.directory-card-has-image .directory-card-media{flex-basis:96px;width:96px}}.directory-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:auto;padding-top:.85rem;border-top:1px solid var(--border)}.directory-card-meta{display:flex;flex-wrap:wrap;gap:.5rem .875rem;font-size:.8125rem;color:var(--muted-foreground)}.directory-meta-item{display:inline-flex;align-items:center;gap:.35rem}.directory-meta-item svg{flex-shrink:0;opacity:.75}.directory-price{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:oklch(var(--positive-alt-raw) / .12);color:var(--success);font-weight:600;font-size:.8125rem}.directory-card-cta{flex-shrink:0;font-size:.8125rem;font-weight:600;color:var(--primary);opacity:0;transform:translate(-4px);transition:opacity .2s ease,transform .2s ease}.directory-card:hover .directory-card-cta{opacity:1;transform:translate(0)}@media(hover:none){.directory-card-cta{opacity:1;transform:none}}.directory-card-desc{margin:0;font-size:.8125rem;color:var(--muted-foreground);line-height:1.5}.directory-tags{display:flex;flex-wrap:wrap;gap:.375rem}.directory-tag{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:var(--secondary);color:var(--secondary-foreground);font-size:.75rem;font-weight:500;border:1px solid var(--border)}.directory-card-top{display:flex;gap:.875rem;align-items:flex-start}.directory-card-top strong{display:block;font-size:1rem}.directory-card-top p{margin:.25rem 0 0;font-size:.875rem;color:var(--muted-foreground)}.establishment-hero{margin-bottom:1.5rem}.establishment-hero-card{overflow:hidden;padding:0}.establishment-hero-banner-wrap{position:relative;min-height:12rem}.establishment-hero-main{display:flex;gap:1.25rem;align-items:flex-start;padding:1.25rem 1.5rem 1.5rem;margin-top:-2.5rem;position:relative;pointer-events:none}.establishment-hero-main>*{pointer-events:auto}.establishment-hero-logo{flex-shrink:0}.establishment-hero-content{flex:1;min-width:0;padding-top:2.5rem}.establishment-hero-title{margin:0;font-size:2rem}.establishment-edit-banner{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;border-radius:.75rem;border:1px dashed var(--border);background:oklch(var(--primary-raw) / .06);color:var(--muted-foreground);font-size:.875rem}.inline-editable{position:relative}.inline-editable-display{display:flex;align-items:flex-start;gap:.75rem;justify-content:space-between}a.inline-editable-contact-link{color:inherit;text-decoration:none;flex:1 1 auto;min-width:0}a.inline-editable-contact-link:hover{color:var(--primary);text-decoration:underline}.inline-editable-edit-btn{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;padding:.25rem .55rem;border-radius:999px;border:1px solid var(--border);background:var(--background);color:var(--muted-foreground);font-size:.75rem;font-weight:600;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease,border-color .15s ease}.inline-editable:hover .inline-editable-edit-btn,.inline-editable-image-editable:hover .inline-editable-image-btn,.inline-editable-editing .inline-editable-edit-btn{opacity:1}.inline-editable-edit-btn:hover{color:var(--primary);border-color:oklch(var(--primary-raw) / .35)}.inline-editable-form{display:grid;gap:.65rem}.inline-editable-label{font-size:.8125rem;font-weight:600;color:var(--muted-foreground)}.inline-editable-actions{display:flex;gap:.5rem;flex-wrap:wrap}.inline-editable-image{position:relative;overflow:hidden}.inline-editable-image-hero{width:100%;min-height:12rem}.inline-editable-image-hero img,.inline-editable-image-hero .inline-editable-image-placeholder{width:100%;height:12rem;object-fit:cover;display:block}.inline-editable-image-logo{width:4rem;height:4rem;border-radius:1rem;border:3px solid var(--card, #fff);box-shadow:0 8px 24px #0000001f;background:var(--muted, #f1f5f9)}.inline-editable-image-logo img,.inline-editable-image-logo .inline-editable-image-placeholder{width:100%;height:100%;object-fit:cover;display:block;border-radius:calc(1rem - 3px)}.inline-editable-image-placeholder{position:relative;display:grid;place-items:center;overflow:hidden;color:var(--muted-foreground);background:linear-gradient(135deg,oklch(var(--primary-raw) / .16),oklch(var(--accent-raw) / .1))}.inline-editable-image-placeholder-hero{background:radial-gradient(circle at 18% 85%,oklch(var(--primary-raw) / .22),transparent 52%),radial-gradient(circle at 82% 18%,oklch(var(--brand-blue-raw) / .16),transparent 48%),linear-gradient(135deg,oklch(var(--primary-raw) / .14),oklch(var(--accent-raw) / .1) 55%,oklch(var(--brand-blue-raw) / .12))}.inline-editable-image-placeholder-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(-14deg,oklch(var(--foreground-raw) / .035) 0,oklch(var(--foreground-raw) / .035) 1px,transparent 1px,transparent 28px);pointer-events:none}.inline-editable-image-hero-icon{position:relative;z-index:1;width:3rem;height:3rem;opacity:.28;color:var(--primary)}.inline-editable-image-placeholder-logo{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,oklch(var(--primary-raw) / .18),oklch(var(--accent-raw) / .14));border:1px solid oklch(var(--primary-raw) / .14)}.inline-editable-image-initial{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:var(--font-display);font-size:1.5rem;font-weight:800;line-height:1;color:var(--primary);text-align:center;-webkit-user-select:none;user-select:none}.inline-editable-image-placeholder-hint{position:absolute;right:.75rem;bottom:.75rem;z-index:2;max-width:calc(100% - 1.5rem);padding:.3rem .65rem;border-radius:999px;background:#ffffffe0;border:1px solid var(--border);font-size:.75rem;font-weight:600;color:var(--muted-foreground);text-align:center}.dark .inline-editable-image-placeholder-hint{background:oklch(var(--card-raw) / .92)}.inline-editable-image-btn{position:absolute;right:.75rem;bottom:.75rem;opacity:1;background:#ffffffeb;z-index:2}.inline-editable-image-logo .inline-editable-image-btn{right:.35rem;bottom:.35rem}.establishment-categories-row .inline-editable-display{width:auto}@media(max-width:640px){.establishment-hero-main{flex-direction:column;margin-top:0;padding-top:1rem}.establishment-hero-content{padding-top:0}}.establishment-avatar{width:4rem;height:4rem;font-size:1.5rem;border-radius:1rem}.establishment-tagline{margin:.5rem 0 0;font-size:1.0625rem;color:var(--muted-foreground)}.establishment-description{margin:1rem 0 0;max-width:48rem;color:var(--muted-foreground);line-height:1.6}.establishment-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.establishment-layout{display:grid;gap:1.5rem}@media(min-width:960px){.establishment-layout{grid-template-columns:minmax(0,1fr) 20rem;align-items:start}}.establishment-section-title{margin:0 0 1rem;font-size:1.0625rem}.establishment-map{margin-bottom:1.25rem;overflow:hidden;border:1px solid var(--border);border-radius:.75rem;background:var(--secondary);box-shadow:var(--shadow-soft)}.establishment-map iframe{display:block;width:100%;height:12.5rem;border:0}.establishment-map-link{display:block;padding:.5625rem .75rem;border-top:1px solid var(--border);font-size:.8125rem;font-weight:600;color:var(--primary);text-align:center;text-decoration:none;background:var(--card)}.establishment-map-link:hover{background:var(--secondary);text-decoration:none}.establishment-hours-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3125rem;margin-bottom:1rem;padding:.75rem .5rem;border:1px solid var(--border);border-radius:.75rem;background:var(--secondary)}:root:not(.dark) .establishment-hours-week{background:linear-gradient(180deg,oklch(var(--card-raw)),oklch(var(--muted-raw) / .92))}.dark .establishment-hours-week{background:linear-gradient(180deg,oklch(var(--muted-raw) / .55),oklch(var(--card-raw) / .9))}.establishment-hours-day{display:flex;flex-direction:column;align-items:center;gap:.375rem;min-width:0;padding:.4375rem .125rem;border-radius:.5rem;text-align:center}.establishment-hours-day.is-today{background:var(--card);box-shadow:0 1px 2px oklch(var(--shadow-raw) / .05),0 0 0 2px oklch(var(--primary-raw) / .22)}.establishment-hours-day-label{font-size:.6875rem;font-weight:700;letter-spacing:.04em;color:var(--muted-foreground)}.establishment-hours-day.is-today .establishment-hours-day-label{color:var(--primary)}.establishment-hours-day-dot{width:.4375rem;height:.4375rem;border-radius:999px;background:var(--primary)}.establishment-hours-day.is-closed .establishment-hours-day-dot{background:oklch(var(--muted-raw, .5 0 0) / .4)}.establishment-hours-schedule{list-style:none;margin:0;padding:0;display:grid;gap:.4375rem}.establishment-hours-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;border:1px solid var(--border);border-radius:.5625rem;background:var(--card);font-size:.875rem}.establishment-hours-range{flex-shrink:0;font-weight:600;color:var(--foreground)}.establishment-hours-time{font-weight:500;color:var(--foreground);text-align:right}.establishment-hours-row.is-closed .establishment-hours-time{color:var(--muted-foreground)}.establishment-hours-today{margin:.875rem 0 0;font-size:.8125rem}.establishment-hours-today strong{color:var(--foreground);font-weight:600}.establishment-hours-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.establishment-hours-card-head .establishment-section-title{margin:0}.establishment-hours-intervals{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.establishment-hours-interval{display:inline-flex;align-items:center;padding:.1875rem .5rem;border-radius:999px;font-size:.8125rem;font-weight:600;color:var(--foreground);background:oklch(var(--primary-raw) / .08)}.weekly-hours-editor{display:flex;flex-direction:column;gap:1rem}.weekly-hours-hint{margin:0;font-size:.8125rem;line-height:1.45}.weekly-hours-days{display:flex;flex-direction:column;gap:.75rem}.weekly-hours-day{padding:.875rem;border:1px solid var(--border);border-radius:.75rem;background:oklch(var(--muted-raw, .96 0 0) / .35)}.weekly-hours-day-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.625rem}.weekly-hours-day-title{margin:0;font-size:.875rem;font-weight:600}.weekly-hours-closed-toggle{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--muted-foreground);cursor:pointer}.weekly-hours-intervals{display:flex;flex-direction:column;gap:.5rem}.weekly-hours-interval{display:flex;align-items:flex-end;gap:.5rem}.weekly-hours-interval .schedule-rule-times-inputs{flex:1 1 auto}.weekly-hours-add{align-self:flex-start}.establishment-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.establishment-card-header .establishment-section-title{margin:0}.establishment-card-header .back-link{margin-bottom:0;flex-shrink:0}.establishment-card-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-left:auto}.establishment-admin-empty{margin:0;font-size:.875rem}.info-list{margin:0;display:grid;gap:1rem}.info-list dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);margin-bottom:.25rem}.info-list dd{margin:0}.hours-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.hours-row{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem}.hours-row.is-closed span:last-child{color:var(--muted-foreground)}.team-grid{display:grid;gap:.75rem}.team-card{display:flex;gap:.75rem;align-items:center;padding:.75rem;border-radius:.75rem;background:var(--secondary)}.team-card strong{display:block}.team-card p{margin:.15rem 0 0;font-size:.8125rem}.team-avatar{width:2.25rem;height:2.25rem;font-size:.875rem;border-radius:.625rem}.service-card-media{flex:0 0 auto;width:96px;aspect-ratio:4 / 3;border-radius:.625rem;overflow:hidden;background:var(--muted, #f1f5f9)}.service-card-media img{width:100%;height:100%;object-fit:cover;display:block}.service-card.service-card-has-image .service-card-body{flex:1 1 auto;min-width:0}.bo-service-card-media{aspect-ratio:4 / 3;overflow:hidden;background:var(--muted, #f1f5f9);border-bottom:1px solid var(--border)}.bo-service-card-media img{width:100%;height:100%;object-fit:cover;display:block}.service-hero{aspect-ratio:4 / 3;max-width:480px;margin:0 auto 1.5rem;border-radius:1rem;overflow:hidden;background:var(--muted, #f1f5f9);box-shadow:var(--shadow-soft)}.service-hero img{width:100%;height:100%;object-fit:cover;display:block}.booking-service-head{display:grid;gap:1rem;margin-bottom:1.25rem}.booking-service-head-text{margin-bottom:0}.service-hero.service-hero--booking{aspect-ratio:16 / 9;max-width:100%;max-height:7.5rem;margin:0;border-radius:.625rem;box-shadow:none;border:1px solid var(--border)}@media(min-width:640px){.booking-service-head{grid-template-columns:auto 1fr;align-items:center;gap:1.25rem}.service-hero.service-hero--booking{width:8.5rem;max-width:8.5rem;height:5.25rem;max-height:5.25rem;aspect-ratio:auto}}.service-image-field{display:flex;gap:1.25rem;flex-wrap:wrap;align-items:flex-start}.service-image-preview{flex:0 0 auto;width:240px;aspect-ratio:4 / 3;border-radius:.75rem;overflow:hidden;background:var(--muted, #f1f5f9);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;position:relative}.service-image-preview img{width:100%;height:100%;object-fit:cover;display:block}.service-image-placeholder{font-size:.8125rem;color:var(--muted-foreground)}.service-image-controls{flex:1 1 220px;display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.service-image-remove{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--muted-foreground);cursor:pointer}.service-image-field.is-removed .service-image-preview{opacity:.4;filter:grayscale(1)}
