.media-first-card{position:relative;display:grid;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:inherit;text-decoration:none;min-height:0}.media-first-card>.media-first-cover{margin:0;border:0;border-radius:0}.media-first-cover{position:relative;overflow:hidden;background:var(--gradient-image-fallback)}.media-first-cover--landscape{aspect-ratio:16 / 9}.media-first-cover--square{aspect-ratio:1 / 1}.media-first-cover--portrait{aspect-ratio:3 / 4}.media-first-cover--hero{aspect-ratio:2 / 1;min-height:120px}.edge-media{position:relative;width:100%;height:100%;overflow:hidden;background:var(--gradient-image-fallback)}.edge-media__blur{position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;width:124%;height:124%;object-fit:cover;filter:blur(18px) saturate(1.05);transform:scale(1.08);opacity:.55;pointer-events:none}.edge-media__cover{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;display:block}.edge-media .media-fallback,.edge-media .media-skeleton{width:100%;height:100%}.media-first-overlay{position:absolute;inset:auto 0 0 0;z-index:2;padding:var(--space-3) var(--space-4);background:linear-gradient(transparent,color-mix(in srgb,var(--color-background) 82%,transparent));color:var(--color-text-primary);display:grid;gap:2px}.media-first-overlay strong{font-size:var(--text-md, 1rem)}.media-first-overlay span{color:var(--color-text-secondary);font-size:var(--text-sm)}.media-first-body{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4)}.service-card--edge{padding:0;gap:0;overflow:hidden}.cards-grid.services{display:grid;grid-template-columns:1fr;gap:0}.cards-grid.services .service-card--edge{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:stretch;border-radius:0;border:0;border-bottom:1px solid var(--color-border);box-shadow:none;background:transparent}.cards-grid.services .service-card--edge .media-first-cover,.cards-grid.services .service-card--edge .media-first-cover--landscape{aspect-ratio:1;min-height:88px;height:100%;border-radius:14px;margin:10px}.cards-grid.services .media-first-body{padding:12px 4px 12px 0;align-content:center}.home-master-card.media-first-card,.search-master-card.media-first-card{grid-template-columns:1fr;padding:0;gap:0}.home-master-card .media-first-cover,.search-master-card .media-first-cover{aspect-ratio:16 / 10}.salon-media-thumb{width:72px;height:72px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--gradient-image-fallback)}.salon-media-thumb img,.salon-media-thumb .edge-media,.salon-media-thumb .media-fallback,.salon-media-thumb .media-skeleton{width:100%;height:100%;object-fit:cover;display:block}@media(prefers-reduced-motion:reduce){.edge-media__blur{filter:blur(12px)}}.contacts-page{display:flex;flex-direction:column;gap:var(--space-4);min-height:100%;padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px))}.contacts-toolbar{position:sticky;top:0;z-index:1;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) 0;background:var(--gradient-canvas);background-color:var(--color-bg)}.contacts-toolbar-row{display:flex;gap:var(--space-3);align-items:center}.contacts-toolbar-row .field{flex:1;margin:0}.contacts-list{display:flex;flex-direction:column;gap:var(--space-2)}.contacts-row{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-1);color:inherit;text-align:left;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.contacts-row:hover,.contacts-row:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-glow);outline:none}.contacts-avatar{width:44px;height:44px;flex-shrink:0;border-radius:999px;overflow:hidden}.contacts-avatar .media-fallback,.contacts-avatar img{width:100%;height:100%;object-fit:cover}.contacts-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.contacts-row-body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contacts-row-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.contacts-detail{display:flex;flex-direction:column;gap:var(--space-4)}.contacts-detail-hero{display:flex;gap:var(--space-3);align-items:center}.contacts-detail-hero .contacts-avatar{width:64px;height:64px}.contacts-detail-actions{display:flex;flex-direction:column;gap:var(--space-3)}.contacts-search-results{display:flex;flex-direction:column;gap:var(--space-2);max-height:min(50dvh,360px);overflow:auto}.contacts-search-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-2)}.contacts-search-row .contacts-row-body{flex:1}.contacts-skeleton-row{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3)}.contacts-skeleton-avatar{width:44px;height:44px;border-radius:999px}.contacts-picker{display:flex;flex-direction:column;gap:var(--space-3);max-height:min(70dvh,520px)}.contacts-picker-list{display:flex;flex-direction:column;gap:var(--space-2);overflow:auto;flex:1;min-height:0}@media(min-width:768px){.contacts-detail-actions{flex-direction:row;flex-wrap:wrap}}.owner-start{--owner-mint: var(--color-primary);--owner-mint-ink: var(--color-primary-ink);--owner-glass: color-mix(in srgb, var(--color-background) 38%, transparent);--owner-glass-strong: color-mix(in srgb, var(--color-background) 52%, transparent);--owner-line: color-mix(in srgb, var(--color-primary) 28%, transparent);--owner-text-soft: rgba(220, 236, 232, .78);--owner-bg-image: url(/backgrounds/forest-water.jpg);position:relative;width:100%;max-width:none;margin:0;padding:0;min-height:0;display:grid;grid-template-columns:minmax(64px,26vw) minmax(0,1fr);gap:0;border-radius:0;background:transparent;color:#f5f7fa;overflow:hidden}.owner-start-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(90deg,color-mix(in srgb,var(--color-background) 6%,transparent),color-mix(in srgb,var(--color-background) 16%,transparent)),var(--owner-bg-image) center / cover no-repeat;pointer-events:none}.owner-start-panel{position:relative;z-index:1;grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:20px;min-width:0;min-height:0;padding:16px 16px max(16px,env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--color-background) 16%,transparent);backdrop-filter:blur(8px) saturate(1.05);-webkit-backdrop-filter:blur(8px) saturate(1.05);border-left:0;box-shadow:none}.owner-start-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.owner-start-brand{display:grid;gap:2px;min-width:0}.owner-start-brand-name{margin:0;font-size:1.125rem;font-weight:700;letter-spacing:-.02em;color:#f5f7fa;line-height:1.2}.owner-start-role{margin:0;font-size:.8125rem;color:var(--owner-text-soft);font-weight:500}.owner-start-top-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.owner-start-demo{font-size:.6875rem;font-weight:650;color:var(--owner-mint);white-space:nowrap}.owner-start-avatar-wrap{position:relative;flex-shrink:0}.owner-start-avatar{width:84px;height:84px;border-radius:9999px;overflow:hidden;display:grid;place-items:center;background:#ffffff14;border:1.5px solid rgba(255,255,255,.55);color:#f5f7fa;font-weight:700;font-size:1.35rem;flex-shrink:0}.owner-start-avatar img,.owner-start-avatar .media-fallback{width:100%;height:100%;object-fit:cover}.owner-start-hero h1{margin:0;font-size:clamp(2rem,9vw,2.5rem);font-weight:700;letter-spacing:-.035em;line-height:1.05;color:#fff}.owner-start-date{margin:8px 0 0;font-size:.9375rem;font-weight:500;color:var(--owner-text-soft)}.owner-start-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;text-align:center;padding:14px 0;border-top:1px solid var(--owner-line);border-bottom:1px solid var(--owner-line)}.owner-start-kpis>div{position:relative;padding:4px 8px}.owner-start-kpis>div+div:before{content:"";position:absolute;left:0;top:12%;bottom:12%;width:1px;background:var(--owner-line)}.owner-start-kpis strong{display:block;font-size:clamp(1.2rem,5vw,1.45rem);font-weight:700;letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums}.owner-start-kpis span{display:block;margin-top:4px;font-size:.6875rem;font-weight:500;letter-spacing:.02em;color:var(--owner-text-soft)}.owner-start-day,.owner-start-manage{display:flex;flex-direction:column;gap:14px}.owner-start-day-head,.owner-start-manage h2{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}.owner-start-day-head h2,.owner-start-manage h2{margin:0;font-size:1.125rem;font-weight:700;color:#fff;min-width:0}.owner-start-day-head a{font-size:.8125rem;color:var(--owner-mint);flex-shrink:0;white-space:nowrap;font-weight:600}.owner-start-strip{display:flex;justify-content:space-between;gap:4px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.owner-start-strip::-webkit-scrollbar{display:none}.owner-start-chip{flex:1 1 0;min-width:40px;min-height:72px;display:grid;place-items:center;gap:4px;padding:6px 0;border-radius:14px;color:#f5f7fab3;background:transparent;border:0}.owner-start-chip span{font-size:11px;text-transform:capitalize;font-weight:500}.owner-start-chip strong{font-size:1.125rem;font-weight:700;color:#fff;width:36px;height:36px;display:grid;place-items:center;border-radius:12px}.owner-start-chip:after{content:"";width:4px;height:4px;border-radius:9999px;background:#ffffff38}.owner-start-chip.has-items:after{background:#ffffff8c}.owner-start-chip.is-selected{color:#fff}.owner-start-chip.is-selected strong{background:var(--owner-mint);color:var(--owner-mint-ink)}.owner-start-chip.is-selected:after{background:#fff}.owner-start-chip:focus-visible{outline:2px solid var(--owner-mint);outline-offset:2px}.owner-start-empty{margin:0;color:var(--owner-text-soft);font-size:.875rem}.owner-start-appts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.owner-start-appt{display:grid;grid-template-columns:54px minmax(0,1fr) 18px;align-items:center;gap:12px;min-height:64px;padding:12px 14px;border-radius:16px;background:var(--owner-glass);border:1px solid var(--owner-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#f5f7fa}.owner-start-appt time{position:relative;font-weight:700;font-variant-numeric:tabular-nums;font-size:.9375rem;padding-right:10px}.owner-start-appt time:after{content:"";position:absolute;right:0;top:10%;bottom:10%;width:1px;background:color-mix(in srgb,var(--owner-mint) 55%,transparent)}.owner-start-appt-body{display:grid;gap:2px;min-width:0}.owner-start-appt-body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem}.owner-start-appt-body span{font-size:.8125rem;color:var(--owner-text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-start-chevron{color:#f5f7fa8c;font-size:1.25rem;line-height:1}.owner-start-pending{display:flex;align-items:center;gap:8px;min-height:44px;color:#ffb020;font-size:.875rem;font-weight:600}.owner-start-pending svg{width:16px;height:16px;flex-shrink:0}.owner-start-pending:after{content:"→";margin-left:auto;font-weight:700}.owner-start-cta{display:grid;grid-template-columns:22px 1fr 18px;align-items:center;gap:10px;min-height:56px;width:100%;padding:0 18px;border-radius:18px;background:var(--gradient-primary-button);color:var(--color-primary-ink);font-weight:700;font-size:1rem;box-shadow:var(--shadow-glow);text-decoration:none}.owner-start-cta svg{width:20px;height:20px}.owner-start-cta .owner-start-chevron{color:var(--owner-mint-ink);justify-self:end;opacity:.85}.owner-start-cta:focus-visible{outline:2px solid var(--owner-mint);outline-offset:3px}.owner-start-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.owner-start-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;aspect-ratio:1.05;min-height:108px;padding:16px;border-radius:18px;background:var(--owner-glass);border:1px solid var(--owner-line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#f5f7fa;text-decoration:none}.owner-start-tile svg{color:var(--owner-mint);width:26px;height:26px}.owner-start-tile>span:last-of-type{font-weight:650;font-size:.9375rem}.owner-start-tile .owner-start-chevron{position:absolute;top:12px;right:12px;font-size:1.05rem;opacity:.65;color:#f5f7fab3}body:has(.owner-start){background:linear-gradient(90deg,color-mix(in srgb,var(--color-background) 8%,transparent),color-mix(in srgb,var(--color-background) 18%,transparent)),var(--owner-bg-image) center / cover no-repeat;background-attachment:fixed}body:has(.owner-start) .shell-main>.topbar{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:0;box-shadow:none}body:has(.owner-start) .sidenav{background:color-mix(in srgb,var(--color-background) 14%,transparent);backdrop-filter:blur(8px) saturate(1.05);-webkit-backdrop-filter:blur(8px) saturate(1.05);border-right:1px solid color-mix(in srgb,var(--color-primary) 10%,transparent);box-shadow:none}html[data-theme=light] .owner-start{--owner-mint: var(--color-primary);--owner-mint-ink: var(--color-primary-ink);--owner-glass: rgba(255, 255, 255, .55);--owner-glass-strong: rgba(255, 255, 255, .72);--owner-line: color-mix(in srgb, var(--color-primary) 28%, transparent);--owner-text-soft: rgba(28, 33, 48, .68);color:#1c2130}html[data-theme=light] .owner-start-bg{background:linear-gradient(90deg,color-mix(in srgb,var(--color-background) 12%,transparent) 0%,color-mix(in srgb,var(--color-background) 28%,transparent) 55%,transparent 100%),var(--owner-bg-image) center / cover no-repeat}html[data-theme=light] .owner-start-panel{background:color-mix(in srgb,var(--color-background) 22%,transparent);border-left-color:color-mix(in srgb,var(--color-primary) 12%,transparent);box-shadow:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}html[data-theme=light] .owner-start-brand-name,html[data-theme=light] .owner-start-hero h1,html[data-theme=light] .owner-start-day-head h2,html[data-theme=light] .owner-start-manage h2,html[data-theme=light] .owner-start-kpis strong,html[data-theme=light] .owner-start-chip,html[data-theme=light] .owner-start-chip strong,html[data-theme=light] .owner-start-appt,html[data-theme=light] .owner-start-tile,html[data-theme=light] .owner-start-note,html[data-theme=light] .owner-start-icon-btn,html[data-theme=light] .owner-start-bg-pop,html[data-theme=light] .owner-start-bg-pop p,html[data-theme=light] .owner-start-avatar-edit{color:#1c2130}html[data-theme=light] .owner-start-avatar{border-color:#1c213047;color:#1c2130;background:#ffffffd9}html[data-theme=light] .owner-start-icon-btn{background:#ffffff8c}html[data-theme=light] .owner-start-chip:after{background:#1c213033}html[data-theme=light] .owner-start-chip.is-selected strong{background:var(--color-primary);color:var(--color-primary-ink)}html[data-theme=light] .owner-start-chip.is-selected:after{background:var(--owner-mint)}html[data-theme=light] .owner-start-tile svg{color:var(--owner-mint)}html[data-theme=light] body:has(.owner-start){background:linear-gradient(90deg,color-mix(in srgb,var(--color-background) 10%,transparent),transparent 40%),var(--owner-bg-image) center / cover no-repeat;background-attachment:fixed}@media(max-width:359px){.owner-start{grid-template-columns:minmax(48px,20vw) minmax(0,1fr)}.owner-start-panel{padding-inline:12px;gap:16px}.owner-start-hero h1{font-size:1.75rem}.owner-start-kpis strong{font-size:1.05rem}.owner-start-tile{min-height:96px}}@media(min-width:414px){.owner-start{grid-template-columns:minmax(88px,30vw) minmax(0,1fr)}.owner-start-panel{padding-inline:20px;gap:22px}}@media(min-width:768px){.owner-start{grid-template-columns:minmax(240px,1fr) minmax(360px,440px);max-width:960px;margin:16px auto 24px;min-height:calc(100% - 40px);border-radius:24px;overflow:hidden;box-shadow:0 24px 64px #00000059}.owner-start-panel{padding:28px 24px 40px;border-radius:0 24px 24px 0}body:has(.owner-start) .shell-main>:not(.topbar){background:transparent}}.owner-start-icon-btn{position:relative;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:#f5f7fa;background:color-mix(in srgb,var(--color-background) 28%,transparent);border:1px solid var(--owner-line)}.owner-start-badge,.owner-start-unread{min-width:18px;height:18px;padding:0 5px;border-radius:9999px;background:var(--color-primary);color:var(--color-primary-ink);font-size:11px;font-weight:700;display:inline-grid;place-items:center}.owner-start-badge{position:absolute;top:-4px;right:-4px}.owner-start-unread{margin-left:8px;vertical-align:middle}.owner-start-bg-anchor{position:relative}.owner-start-bg-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-dropdown);width:min(280px,72vw);padding:12px;border-radius:16px;background:color-mix(in srgb,var(--color-background) 78%,transparent);border:1px solid var(--owner-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-md)}.owner-start-bg-pop p{margin:0 0 8px;color:#f5f7fa;font-size:13px;font-weight:650}.owner-start-bg-grid{display:grid;gap:8px}.owner-start-bg-option{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;min-height:64px;padding:6px;border-radius:12px;text-align:left;color:#f5f7fa;background:transparent;border:1px solid transparent}.owner-start-bg-option img{width:72px;height:52px;object-fit:cover;border-radius:8px}.owner-start-bg-option.is-selected{border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.owner-start-avatar-edit{position:absolute;left:50%;bottom:-6px;transform:translate(-50%);max-width:108px;padding:2px 8px;border-radius:9999px;background:color-mix(in srgb,var(--color-background) 72%,transparent);color:#f5f7fa;font-size:10px;font-weight:700;line-height:1.3;text-align:center;border:1px solid var(--owner-line);cursor:pointer}.owner-start-avatar-edit input{position:absolute;width:1px;height:1px;opacity:0}.owner-start-location{display:grid;gap:6px;margin-top:14px;max-width:100%}.owner-start-location span{font-size:12px;color:var(--owner-text-soft)}.owner-start-notes{display:flex;flex-direction:column;gap:10px}.owner-start-note-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.owner-start-note{display:grid;gap:2px;min-height:52px;padding:10px 12px;border-radius:14px;background:var(--owner-glass);border:1px solid var(--owner-line);color:#f5f7fa}.owner-start-note span{color:var(--owner-text-soft);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-start-note.is-unread{box-shadow:inset 3px 0 0 var(--color-primary)}.owner-start-push{align-self:flex-start;min-height:44px;padding:0 14px;border-radius:14px;border:1px solid var(--owner-line);color:#f5f7fa;background:var(--owner-glass)}@media(max-width:420px){.owner-start-top-right{gap:6px}.owner-start-demo{display:none}.owner-start-avatar{width:72px;height:72px}}@media(prefers-reduced-motion:reduce){.owner-start-panel,.owner-start-appt,.owner-start-tile,body:has(.owner-start) .topbar,body:has(.owner-start) .bottomnav{backdrop-filter:none;-webkit-backdrop-filter:none}}.portfolio-page{display:grid;gap:var(--space-4);padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom,0px))}.portfolio-chips{display:flex;gap:var(--space-2);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:var(--space-1);margin-inline:calc(var(--space-4) * -1);padding-inline:var(--space-4)}.portfolio-chips::-webkit-scrollbar{display:none}.portfolio-chip{flex:0 0 auto;min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-primary);font:inherit;font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}.portfolio-chip:hover{background:var(--color-surface-3)}.portfolio-chip[aria-pressed=true],.portfolio-chip.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-ink)}.portfolio-tight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media(min-width:768px){.portfolio-tight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}.portfolio-cell{position:relative;margin:0;aspect-ratio:1 / 1.08;border:0;padding:0;border-radius:12px;overflow:hidden;background:var(--gradient-image-fallback);cursor:pointer;color:inherit;font:inherit;text-align:left}.portfolio-cell:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;z-index:1}.portfolio-cell img,.portfolio-cell .media-skeleton,.portfolio-cell .media-fallback,.portfolio-cell .edge-media{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;pointer-events:none}.portfolio-cell-actions{position:absolute;inset:auto var(--space-1) var(--space-1) var(--space-1);display:flex;gap:2px;justify-content:center;opacity:0;transition:opacity var(--motion-fast)}.portfolio-cell:hover .portfolio-cell-actions,.portfolio-cell:focus-within .portfolio-cell-actions{opacity:1}@media(hover:none){.portfolio-cell-actions{opacity:1}}.portfolio-cell-actions .btn{min-width:36px;min-height:36px;padding:0 var(--space-2);background:color-mix(in srgb,var(--color-surface) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.portfolio-viewer-host{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-background)}.portfolio-viewer{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto 1fr auto;background:var(--color-background);color:var(--color-text-primary);padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.portfolio-viewer-top,.portfolio-viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.portfolio-viewer-stage{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;touch-action:pan-y;background:var(--color-background)}.portfolio-viewer-stage:before{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:var(--gradient-image-fallback);filter:blur(28px);opacity:.45;pointer-events:none}.portfolio-viewer-stage .edge-media,.portfolio-viewer-stage .media-fallback,.portfolio-viewer-stage .media-skeleton{position:relative;z-index:1;width:100%;height:100%;max-width:100%;max-height:100%;border-radius:0}.portfolio-viewer-stage .edge-media__blur{position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;z-index:0;width:124%;height:124%;object-fit:cover}.portfolio-viewer-stage .edge-media__cover{position:relative;z-index:1;width:100%;height:100%;object-fit:contain}.portfolio-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);min-width:44px;min-height:44px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface) 80%,transparent);color:var(--color-text-primary);cursor:pointer}.portfolio-viewer-nav.prev{left:var(--space-3)}.portfolio-viewer-nav.next{right:var(--space-3)}.portfolio-viewer-meta{max-width:40rem;margin:0 auto;text-align:center}.portfolio-viewer-meta h2{margin:0;font-size:var(--text-lg)}.portfolio-viewer-meta p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm)}.portfolio-form-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.portfolio-form-chips .portfolio-chip{min-height:40px}html[data-theme=light] .portfolio-chip[aria-pressed=true],html[data-theme=light] .portfolio-chip.is-active{color:var(--color-primary-ink)}@media(prefers-reduced-motion:reduce){.portfolio-chip,.portfolio-cell-actions{transition:none}}.mp-page{display:grid;gap:var(--space-5);padding-bottom:calc(var(--nav-h) + 88px + env(safe-area-inset-bottom,0px))}.mp-hero{position:relative;margin-inline:calc(var(--space-4) * -1);padding:var(--space-5) var(--space-4) var(--space-4);background:var(--color-background);overflow:hidden;border-radius:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(140px,48%);gap:var(--space-2);align-items:end;min-height:320px}.mp-hero-photo{position:relative;grid-column:2;grid-row:1 / span 2;align-self:stretch;min-height:280px;margin:calc(var(--space-5) * -1) calc(var(--space-4) * -1) calc(var(--space-4) * -1) 0;border-radius:0;overflow:hidden;box-shadow:none}.mp-hero-photo img,.mp-hero-photo .media-fallback,.mp-hero-photo .media-skeleton,.mp-hero-photo .edge-media{width:100%;height:100%;object-fit:cover;display:block}.mp-hero-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,var(--color-background) 0%,color-mix(in srgb,var(--color-background) 55%,transparent) 28%,transparent 58%);pointer-events:none}.mp-hero-body{position:relative;z-index:1;grid-column:1;grid-row:1;display:grid;gap:var(--space-2);align-content:end;padding-bottom:var(--space-1);max-width:100%}.mp-hero-name{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;font-size:clamp(1.5rem,5.5vw,2rem);line-height:1.15;letter-spacing:-.02em}.mp-verified{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-primary-ink);flex-shrink:0}.mp-verified svg{width:12px;height:12px}.mp-hero-role{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.mp-hero-meta{display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-sm)}.mp-hero-meta strong{color:var(--color-text-primary);font-weight:700}.mp-hero-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.mp-hero-rating{display:inline-flex;align-items:center;gap:4px}.mp-hero-rating .mp-star{color:var(--color-warning);font-size:.95em}.mp-hero-loc{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-secondary)}.mp-hero-loc svg{width:14px;height:14px;color:var(--color-primary);flex-shrink:0}.mp-hero-cta{grid-column:1 / -1;grid-row:2;display:flex;gap:var(--space-2);align-items:stretch;margin-top:var(--space-2);position:relative;z-index:1}.mp-hero-cta .btn-primary{flex:1 1 auto;min-height:52px;border-radius:var(--radius-pill);font-size:1rem}.mp-msg-btn{flex:0 0 52px;width:52px;min-width:52px;min-height:52px;padding:0;border-radius:14px}.mp-msg-btn svg{width:20px;height:20px}.mp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:var(--space-1);padding:var(--space-3) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.mp-stat{text-align:center;padding:var(--space-2) var(--space-2);position:relative}.mp-stat+.mp-stat:before{content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;background:var(--color-border-strong)}.mp-stat strong{display:block;font-size:var(--text-lg);font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em}.mp-stat span{display:block;margin-top:2px;font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.3}.mp-about{display:grid;gap:var(--space-2)}.mp-about p{margin:0;color:var(--color-text-secondary);line-height:1.55}.mp-about.is-collapsed p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mp-about .btn-link{color:var(--color-primary);font-weight:600}.mp-section-title{margin:0 0 var(--space-3);font-size:var(--text-xl)}.mp-service-filters{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding-bottom:var(--space-1);margin-bottom:var(--space-3)}.mp-service-filters::-webkit-scrollbar{display:none}.mp-service-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;min-height:76px;padding:10px 2px;border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;box-shadow:none;transition:background var(--motion-fast)}.mp-service-row:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.mp-service-row.is-selected{border-color:transparent;border-bottom-color:var(--color-primary);box-shadow:none;background:var(--color-primary-muted)}.mp-service-thumb{width:56px;height:56px;border-radius:999px;overflow:hidden;background:var(--gradient-image-fallback)}.mp-service-thumb img,.mp-service-thumb .media-fallback,.mp-service-thumb .media-skeleton,.mp-service-thumb .edge-media{width:100%;height:100%;object-fit:cover;display:block}.mp-service-main{min-width:0;display:grid;gap:4px}.mp-service-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.mp-service-dur{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-secondary);font-size:var(--text-sm)}.mp-service-dur svg{width:14px;height:14px;flex-shrink:0}.mp-service-price{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;white-space:nowrap;color:var(--color-text-primary)}.mp-service-chevron{color:var(--color-text-secondary);font-size:1.25rem;line-height:1}.mp-service-detail{display:grid;gap:var(--space-4)}.mp-service-detail-hero{position:relative;margin-inline:calc(var(--space-4) * -1);aspect-ratio:16 / 11;max-height:280px;overflow:hidden;background:var(--gradient-image-fallback);border-radius:0}.mp-service-detail-hero img,.mp-service-detail-hero .media-fallback,.mp-service-detail-hero .media-skeleton,.mp-service-detail-hero .edge-media{width:100%;height:100%;object-fit:cover;display:block}.mp-service-detail-body{display:grid;gap:var(--space-3)}.mp-service-detail-body h2{margin:0;font-size:clamp(1.25rem,4vw,1.5rem)}.mp-service-detail-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;font-weight:600}.mp-service-detail-meta .mp-service-dur{font-weight:500}.mp-service-detail-desc{margin:0;color:var(--color-text-secondary);line-height:1.55}.mp-service-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);text-align:center}.mp-service-benefit{display:grid;gap:var(--space-2);justify-items:center;font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.3}.mp-service-benefit svg{width:28px;height:28px;color:var(--color-primary)}.mp-date-strip{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding-bottom:var(--space-1)}.mp-date-strip::-webkit-scrollbar{display:none}.mp-date-chip{flex:0 0 auto;min-width:52px;min-height:64px;padding:var(--space-2);border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--color-text-secondary);display:grid;place-items:center;gap:2px;cursor:pointer;font:inherit}.mp-date-chip strong{color:var(--color-text-primary);font-size:var(--text-lg);width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-md)}.mp-date-chip.is-active{color:var(--color-primary-ink)}.mp-date-chip.is-active strong{background:var(--color-primary);color:var(--color-primary-ink)}.mp-date-chip.is-active span{color:var(--color-text-primary);font-weight:600}.mp-schedule-hint{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}.mp-rating-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.mp-rating-header .mp-rating-num{font-size:clamp(2rem,8vw,2.75rem);font-weight:700;line-height:1;color:var(--color-primary-soft)}.mp-rating-stars{display:flex;gap:2px;color:var(--color-warning);font-size:1.1rem;letter-spacing:1px}.mp-rating-bars{display:grid;gap:var(--space-2);margin:var(--space-3) 0}.mp-rating-bar-row{display:grid;grid-template-columns:1.5rem 1fr 2.5rem;gap:var(--space-2);align-items:center;font-size:var(--text-xs);color:var(--color-text-secondary)}.mp-rating-bar-track{height:6px;border-radius:var(--radius-pill);background:var(--color-surface-2);overflow:hidden}.mp-rating-bar-fill{height:100%;background:var(--color-primary);border-radius:inherit}.mp-review{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);background:transparent;border-radius:0;box-shadow:none}.mp-review:last-child{border-bottom:0}.mp-review-avatar{width:40px;height:40px;border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-text-secondary);display:grid;place-items:center;font-weight:700;font-size:var(--text-sm)}.mp-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.mp-review-head strong{display:block;font-size:var(--text-md)}.mp-review-head .muted{font-size:var(--text-xs)}.mp-review-stars{color:var(--color-warning);font-size:var(--text-sm);letter-spacing:1px;white-space:nowrap}.mp-review-body{margin:var(--space-2) 0 0;color:var(--color-text-primary);font-size:var(--text-sm);line-height:1.5}.mp-sticky-cta{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom,0px));z-index:var(--z-sticky, 20);padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--color-background) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--color-border);display:none}@media(max-width:767px){.mp-sticky-cta{display:block}.mp-sticky-cta .btn{width:100%;min-height:52px;border-radius:var(--radius-pill)}}@media(max-width:359px){.mp-hero{grid-template-columns:1fr;min-height:0}.mp-hero-photo{grid-column:1;grid-row:1;width:min(56vw,180px);aspect-ratio:3 / 4;min-height:0;justify-self:end}.mp-hero-body{grid-column:1;grid-row:1;align-self:end;max-width:62%}.mp-hero-cta{grid-column:1;grid-row:2}.mp-service-benefits{grid-template-columns:1fr;text-align:left}.mp-service-benefit{grid-template-columns:28px 1fr;align-items:center;text-align:left}}@media(min-width:768px){.mp-page{padding-bottom:var(--space-8)}.mp-hero{margin-inline:0;border-radius:var(--radius-lg);grid-template-columns:minmax(0,1fr) minmax(240px,42%);min-height:360px;overflow:hidden}.mp-hero-photo{min-height:320px;margin:0;border-radius:0 var(--radius-lg) var(--radius-lg) 0}.mp-service-detail-hero{margin-inline:0;border-radius:var(--radius-lg)}}html[data-theme=light] .mp-hero-photo:after{background:linear-gradient(100deg,var(--color-background) 0%,color-mix(in srgb,var(--color-background) 35%,transparent) 22%,transparent 48%)}html[data-theme=light] .mp-rating-header .mp-rating-num{color:var(--color-primary)}.mp-page .wizard-steps{gap:8px}.mp-page .wizard-step{min-height:36px;border-radius:999px;border:1px solid var(--color-border);background:transparent;font-weight:600}.mp-page .wizard-step.active{background:var(--color-primary);color:var(--color-primary-ink);border-color:transparent}@media(prefers-reduced-motion:reduce){.mp-service-row,.slot{transition:none}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.dashboard-page{--content-max: 1320px;gap:var(--space-5);min-width:0;overflow-x:hidden;touch-action:pan-y}.dashboard-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;min-width:0}.dashboard-page-head h1{margin:0;min-width:0;overflow-wrap:anywhere}.dashboard-mode-toggle{flex:0 1 240px;min-width:min(100%,200px)}.dashboard-edit-hint{margin:0;font-size:var(--text-sm)}.dashboard-page--editing .dash-widget{outline:1px dashed var(--color-primary);outline-offset:-1px}.dashboard-page:not(.dashboard-page--editing) .react-resizable-handle{display:none!important;pointer-events:none!important}.dashboard-page:not(.dashboard-page--editing) .react-grid-item{touch-action:pan-y}.dashboard-page--editing .react-resizable-handle{touch-action:none;z-index:2}.dash-profile-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);min-height:200px;padding:var(--space-5) var(--space-4);border-radius:var(--radius-md);background:var(--gradient-hero);overflow:hidden;min-width:0}.dash-profile-hero__photo{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.dash-profile-hero__photo img,.dash-profile-hero__photo .media-fallback,.dash-profile-hero__photo .media-skeleton{position:absolute;top:0;right:0;width:min(58%,280px);height:100%;object-fit:cover;border-radius:0}.dash-profile-hero__photo .media-fallback,.dash-profile-hero__photo .media-skeleton{display:grid;place-items:center;background:var(--gradient-image-fallback);color:var(--color-text-secondary);font-family:var(--font-display);font-size:clamp(2rem,8vw,3.5rem);font-weight:700}.dash-profile-hero__fade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(90deg,var(--color-background) 0%,color-mix(in srgb,var(--color-background) 72%,transparent) 42%,color-mix(in srgb,var(--color-background) 18%,transparent) 72%,transparent 100%);pointer-events:none}.dash-profile-hero__body{position:relative;z-index:2;display:grid;gap:var(--space-3);max-width:min(100%,28rem);min-width:0}.dash-profile-hero__name{margin:0;font-size:clamp(1.5rem,5vw,2rem);line-height:1.15;overflow-wrap:anywhere}.dash-profile-hero__role{margin:0;color:var(--color-text-secondary);font-size:var(--text-sm)}.dash-profile-hero__chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.dash-profile-hero__facts{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin:0;padding:0;list-style:none;color:var(--color-text-secondary);font-size:var(--text-sm)}.dash-profile-hero__facts strong{color:var(--color-text-primary);font-weight:700}.dash-profile-hero__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.dash-premium-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;text-decoration:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-premium-pill:hover{border-color:var(--color-primary);color:var(--color-primary-soft)}.dash-visibility{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--color-text-secondary)}.dash-visibility__dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-muted)}.dash-visibility--on .dash-visibility__dot{background:var(--color-success)}.dash-key-actions{display:flex;flex-wrap:nowrap;gap:var(--space-2);overflow-x:auto;padding-bottom:2px;scrollbar-width:thin;min-width:0;-webkit-overflow-scrolling:touch}.dash-key-actions .btn{flex:0 0 auto;min-height:44px}.dash-edit-bar{position:relative;z-index:2;display:grid;gap:var(--space-3);padding:var(--space-3);background:color-mix(in srgb,var(--color-surface) 92%,transparent);border:1px solid var(--color-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dashboard-work.is-editing{display:grid;gap:var(--space-4);align-items:start;min-width:0}@media(min-width:1024px){.dashboard-work.is-editing{grid-template-columns:minmax(0,1fr) minmax(240px,300px)}.dashboard-work.is-editing .dash-edit-bar{position:sticky;top:var(--space-4);max-height:calc(100dvh - 48px);overflow:auto}}@media(max-width:1023px){.dashboard-work.is-editing .dashboard-grid-container{order:1}.dashboard-work.is-editing .dash-edit-bar{order:2;max-height:none}}.dash-edit-bar__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.dash-edit-bar__actions .btn{min-height:44px}.dash-edit-toggles{display:grid;gap:var(--space-2)}.dash-edit-row{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.dashboard-grid-container{min-height:240px;margin:0 -9px;min-width:0}.dash-widget--analytics{opacity:.92;box-shadow:none}.widget-drag-handle{display:none;justify-content:space-between;align-items:center;min-height:44px;padding:8px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:800;letter-spacing:.03em;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.dashboard-page--editing .widget-drag-handle{display:flex}.dashboard-page .react-grid-item.react-grid-placeholder{background:var(--color-primary)!important;border-radius:var(--radius-md);opacity:.13!important}.dashboard-page .react-grid-item>.react-resizable-handle:after{border-color:var(--color-primary)!important;width:8px!important;height:8px!important}.analytics-widget .analytics-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}@media(min-width:480px){.analytics-widget .analytics-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:768px){.dash-profile-hero{grid-template-columns:minmax(0,1fr) minmax(200px,40%);align-items:end;min-height:240px;padding:var(--space-6)}.dash-profile-hero__photo img,.dash-profile-hero__photo .media-fallback,.dash-profile-hero__photo .media-skeleton{width:42%}.analytics-widget .analytics-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.dash-edit-bar{margin:0;border-radius:var(--radius-md);border:1px solid var(--color-border)}}@media(max-width:600px){.dashboard-grid-container{margin:0 -5px}.widget-content{padding:12px}.dash-profile-hero{padding:var(--space-4)}.dash-profile-hero__photo img,.dash-profile-hero__photo .media-fallback,.dash-profile-hero__photo .media-skeleton{width:min(52%,200px);opacity:.85}}.calendar-page-root,.calendar-shell{--cal-slot-min-height: 44px;--cal-time-axis-width: 44px;--cal-day-col-min: 120px;--cal-toolbar-h: 0px;--cal-sticky-top: calc(var(--cal-app-top, 0px));min-width:0;overscroll-behavior:contain}.calendar-page-root.page{overflow-x:clip}@media(max-width:599px){.page.calendar-page-root:has(.is-mobile-day),.page.calendar-page-root:has(.is-mobile-fc){width:100%;max-width:none;padding-left:var(--space-4);padding-right:var(--space-4);padding-top:var(--space-3);display:flex;flex-direction:column;min-height:100%;height:100%;overflow:hidden}.calendar-shell.is-mobile-day,.calendar-shell.is-mobile-fc{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.calendar-shell.is-mobile-day .calendar-page-head,.calendar-shell.is-mobile-day .calendar-resource-bar,.calendar-shell.is-mobile-day .calendar-controls,.calendar-shell.is-mobile-day .calendar-category-row,.calendar-shell.is-mobile-fc .calendar-page-head,.calendar-shell.is-mobile-fc .calendar-resource-bar,.calendar-shell.is-mobile-fc .calendar-controls,.calendar-shell.is-mobile-fc .calendar-category-row{flex-shrink:0}.calendar-shell.is-mobile-day .cal-mobile{flex:1 1 auto;min-height:0;overflow-y:auto;padding-bottom:calc(var(--space-4) + var(--nav-h, 64px) + env(safe-area-inset-bottom,0px))}.calendar-shell.is-mobile-fc .calendar-page-head.calendar-toolbar-sticky,.calendar-shell.is-mobile-fc .calendar-controls.calendar-toolbar-sticky{position:static}.calendar-shell.is-mobile-fc .calendar-category-row{position:relative;z-index:1;flex-shrink:0;order:0;background:var(--color-bg);margin:0;padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.calendar-shell.is-mobile-fc .calendar-wrap{flex:1 1 0;min-height:0;overflow:hidden;position:relative;z-index:0;isolation:isolate;padding-bottom:0}.calendar-shell.is-mobile-fc .calendar-wrap .fc .fc-scrollgrid-section-sticky>*{top:0;z-index:1}.calendar-shell.is-mobile-fc .calendar-wrap .fc .fc-toolbar{flex-wrap:nowrap;gap:var(--space-2);margin-bottom:0!important}.calendar-shell.is-mobile-fc .calendar-wrap .fc .fc-toolbar-title{font-size:1.05rem;overflow-wrap:anywhere}.calendar-shell.is-mobile-fc .calendar-wrap .fc .fc-button{min-height:44px;min-width:44px}.calendar-shell.is-mobile-fc .calendar-wrap .fc .fc-timegrid-slot{min-height:var(--cal-slot-min-height)!important}.calendar-shell.is-mobile-fc .calendar-wrap .fc .fc-event-resizer{height:14px}.calendar-page-head-actions{flex-wrap:wrap;gap:var(--space-2)}.calendar-shell.is-mobile-day .cal-mobile-head,.calendar-shell.is-mobile-day .cal-day-strip{position:sticky;top:0}.calendar-shell.is-mobile-day .cal-day-strip{top:52px}.calendar-shell.is-mobile-day .cal-mobile-period{flex:1 1 100%}.calendar-shell.is-mobile-day .cal-mobile-nav{width:100%;margin-left:0;justify-content:flex-start}.calendar-shell.is-mobile-day .cal-mobile-month{font-size:1.05rem}.calendar-view-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.calendar-view-tabs .chip{flex:1 0 auto;min-height:44px}}@media(min-width:768px){.page.calendar-page-root:not(:has(.is-embedded)):not(:has(.is-mobile-day)){min-height:100%;display:flex;flex-direction:column}.page.calendar-page-root:not(:has(.is-embedded)):not(:has(.is-mobile-day)) .calendar-shell{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.page.calendar-page-root:not(:has(.is-embedded)):not(:has(.is-mobile-day)) .calendar-wrap{flex:1 1 auto;min-height:28rem;overflow:hidden}.page.calendar-page-root:not(:has(.is-embedded)):not(:has(.is-mobile-day)) .calendar-wrap .fc,.page.calendar-page-root:not(:has(.is-embedded)):not(:has(.is-mobile-day)) .calendar-wrap .fc .fc-view-harness{height:100%!important}}.calendar-shell.is-embedded{height:100%;max-height:100%;overflow:auto;overscroll-behavior:contain;--cal-sticky-top: 0px}.widget-content>.calendar-shell.is-embedded,.widget-content .calendar-shell.is-embedded .calendar-wrap{max-height:none!important;overflow:visible!important}.widget-content>.calendar-shell.is-embedded{height:100%;max-height:100%!important;overflow:auto!important}.calendar-toolbar-sticky{position:sticky;top:var(--cal-sticky-top);z-index:calc(var(--z-sticky, 20) + 1);background:color-mix(in srgb,var(--color-bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding-bottom:var(--space-2);margin-bottom:var(--space-2)}.calendar-shell>.calendar-category-row{position:relative;z-index:1;flex-shrink:0;background:var(--color-bg)}.calendar-shell.is-embedded .calendar-toolbar-sticky{top:0}.calendar-display-range{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.calendar-color-token-grid{display:flex;flex-wrap:wrap;gap:8px}.calendar-color-swatch{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:var(--radius-sm);border:2px solid transparent;padding:0;cursor:pointer;background:var(--cal-swatch, var(--color-primary))}.calendar-color-swatch.is-selected{border-color:var(--color-text-primary);box-shadow:var(--shadow-glow)}.calendar-color-swatch.cal-color-primary{--cal-swatch: var(--color-primary)}.calendar-color-swatch.cal-color-success{--cal-swatch: var(--color-success)}.calendar-color-swatch.cal-color-warning{--cal-swatch: var(--color-warning)}.calendar-color-swatch.cal-color-danger{--cal-swatch: var(--color-danger)}.calendar-color-swatch.cal-color-info{--cal-swatch: var(--color-info)}.calendar-color-swatch.cal-color-neutral{--cal-swatch: var(--color-text-secondary)}.calendar-color-swatch.cal-color-violet{--cal-swatch: var(--color-primary-soft)}.calendar-color-swatch.cal-color-teal{--cal-swatch: var(--color-success)}.calendar-color-swatch.cal-color-rose{--cal-swatch: var(--color-danger)}.calendar-color-swatch.cal-color-amber{--cal-swatch: var(--color-warning)}.calendar-shell .calendar-wrap{box-shadow:var(--shadow-sm);overflow:visible;overscroll-behavior-x:contain}.calendar-shell .calendar-wrap[hidden]{display:none!important}.calendar-shell .calendar-wrap .fc{--fc-border-color: var(--color-border);--fc-page-bg-color: var(--color-surface);--fc-neutral-bg-color: var(--color-surface-2);--fc-page-text-color: var(--color-text-primary);--fc-today-bg-color: var(--color-primary-muted);--fc-event-border-color: transparent}.calendar-shell .calendar-wrap .fc .fc-timegrid-slot{height:var(--cal-slot-min-height);min-height:var(--cal-slot-min-height)}.calendar-shell .calendar-wrap .fc .fc-timegrid-axis{width:var(--cal-time-axis-width)!important;min-width:var(--cal-time-axis-width)!important}.calendar-shell .calendar-wrap .fc .fc-timegrid-slot-label-cushion{font-size:12px;font-weight:650;color:var(--color-text-secondary)}.calendar-shell .calendar-wrap .fc .fc-scrollgrid-section-sticky>*{position:sticky;top:calc(var(--cal-sticky-top) + var(--cal-toolbar-h));z-index:3;background:var(--color-surface)}.calendar-shell .calendar-wrap .fc-event{border:0!important;border-radius:8px!important;box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;pointer-events:auto!important;z-index:2}.calendar-shell .calendar-wrap .fc-event.is-appt{background:var(--color-surface-2)!important;border:1px solid var(--color-border)!important;border-left:3px solid var(--color-primary)!important;color:var(--color-text-primary)!important;box-shadow:none}.calendar-shell .calendar-wrap .fc-event.is-busy{border-left-color:var(--color-success)!important}.calendar-shell .calendar-wrap .fc-event.is-pending{border-left-color:var(--color-warning)!important}.calendar-shell .calendar-wrap .fc-event.is-terminal{opacity:.48;filter:grayscale(.35);cursor:default;box-shadow:none;border-left-color:var(--color-text-secondary)!important;background:var(--color-surface)!important}.calendar-shell .calendar-wrap .fc-event.is-planner-block{background:color-mix(in srgb,var(--cal-event-accent, var(--color-primary)) 18%,var(--color-surface-2))!important;border:1px solid color-mix(in srgb,var(--cal-event-accent, var(--color-primary)) 35%,var(--color-border))!important;border-left:3px solid var(--cal-event-accent, var(--color-primary))!important;color:var(--color-text-primary)!important}.calendar-shell .calendar-wrap .fc-event.is-planner-block.cal-color-primary{--cal-event-accent: var(--color-primary)}.calendar-shell .calendar-wrap .fc-event.is-planner-block.cal-color-success{--cal-event-accent: var(--color-success)}.calendar-shell .calendar-wrap .fc-event.is-planner-block.cal-color-warning{--cal-event-accent: var(--color-warning)}.calendar-shell .calendar-wrap .fc-event.is-planner-block.cal-color-danger{--cal-event-accent: var(--color-danger)}.calendar-shell .calendar-wrap .fc-event.is-planner-block.cal-color-info{--cal-event-accent: var(--color-info)}.calendar-shell .calendar-wrap .fc-event.is-planner-block.cal-color-neutral{--cal-event-accent: var(--color-text-secondary)}.calendar-shell .calendar-wrap .fc-event.is-planner-block.cal-color-violet{--cal-event-accent: var(--color-primary-soft)}.calendar-shell .calendar-wrap .fc-event.is-planner-block.cal-color-teal{--cal-event-accent: var(--color-success)}.calendar-shell .calendar-wrap .fc-event.is-planner-block.cal-color-rose{--cal-event-accent: var(--color-danger)}.calendar-shell .calendar-wrap .fc-event.is-planner-block.cal-color-amber{--cal-event-accent: var(--color-warning)}.calendar-shell .calendar-wrap .fc-event.is-planner-block.cal-color-hex{--cal-event-accent: var(--cal-hex, var(--color-primary))}.calendar-shell .calendar-wrap .fc-event.is-work-mode{background:var(--color-primary-muted)!important;border:0!important;opacity:.7;box-shadow:none;pointer-events:none}.calendar-shell .calendar-wrap .fc-event.is-readonly{cursor:default}.calendar-shell .calendar-event-card{display:grid;gap:2px;padding:5px 6px;line-height:1.15;min-width:0;pointer-events:none}.calendar-shell .calendar-event-card strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-shell .calendar-event-time{font-size:10px;font-weight:800;opacity:.9}.calendar-shell .calendar-event-meta{display:flex;flex-wrap:wrap;gap:3px 7px;font-size:10px;opacity:.9}.calendar-shell .calendar-outside-hint{margin:0 0 var(--space-2);font-size:var(--text-sm)}@media(max-width:599px){.calendar-shell.is-fc-week .calendar-wrap .fc .fc-timegrid-col{min-width:var(--cal-day-col-min)}.calendar-shell .calendar-wrap .fc .fc-timegrid-slot{height:var(--cal-slot-min-height);min-height:var(--cal-slot-min-height)}.calendar-shell .calendar-wrap .fc .fc-toolbar{flex-wrap:wrap;gap:8px}.calendar-shell .calendar-wrap .fc .fc-button{min-height:44px!important;padding:8px 12px!important}}.cal-mobile{display:grid;gap:var(--space-3);min-width:0;overscroll-behavior:contain;touch-action:pan-y}.cal-mobile-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);position:sticky;top:calc(var(--cal-sticky-top) + var(--cal-toolbar-h));z-index:2;background:color-mix(in srgb,var(--color-bg) 94%,transparent);padding-bottom:4px}.cal-mobile-period{min-width:0;flex:1 1 8rem}.cal-mobile-month{margin:0;font-size:1.2rem;text-transform:capitalize}.cal-mobile-nav{display:flex;gap:8px;align-items:center;flex-shrink:0;margin-left:auto}.cal-day-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin;overscroll-behavior-x:contain;position:sticky;top:calc(var(--cal-sticky-top) + var(--cal-toolbar-h) + 52px);z-index:2;background:color-mix(in srgb,var(--color-bg) 96%,transparent)}.cal-day-chip{flex:0 0 auto;min-width:48px;min-height:64px;display:grid;place-items:center;gap:2px;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);transition:background var(--motion-fast),border-color var(--motion-fast),transform var(--motion-fast)}.cal-day-chip.is-today{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.cal-day-chip.is-selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-ink);box-shadow:var(--shadow-glow)}.cal-day-chip.is-selected .cal-day-chip-wd{color:inherit;opacity:.85}@media(prefers-reduced-motion:reduce){.cal-day-chip,.cal-slot-row,.calendar-shell .calendar-wrap .fc-event{transition:none!important}}.cal-hours-hint{margin:0;font-size:var(--text-sm)}.cal-empty-day{margin:0;padding:var(--space-3);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface) 70%,transparent);color:var(--color-text-secondary);font-size:var(--text-sm)}.cal-outside-banner{display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm)}.cal-interval-bar{display:grid;gap:8px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);position:sticky;top:calc(var(--cal-sticky-top) + var(--cal-toolbar-h) + 120px);z-index:2}.cal-slot-grid{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--color-border)}.cal-slot-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center;min-height:48px;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);scroll-margin-top:140px}.cal-slot-row.is-interval{background:var(--color-primary-muted)}.cal-slot-time{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 10px;border-radius:999px;background:var(--color-primary);color:var(--color-primary-ink);font-weight:750;font-size:var(--text-sm);border:0;cursor:pointer}.cal-slot-time.is-dim{opacity:.45;cursor:default}.cal-slot-time.is-interval{box-shadow:var(--shadow-glow)}.cal-slot-body{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;text-align:left;background:transparent;border:0;color:inherit;padding:4px 0;min-height:44px;cursor:pointer}.cal-slot-body.is-busy{color:var(--color-text-secondary);cursor:default}.cal-slot-body.is-interval{color:var(--color-primary);font-weight:650}.cal-slot-body .chev{color:var(--color-text-secondary);flex:0 0 auto}.cal-slot-event{display:grid;gap:2px;min-width:0;width:100%;text-align:left;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--cal-event-accent, var(--color-primary)) 35%,var(--color-border));border-left:3px solid var(--cal-event-accent, var(--color-primary));background:color-mix(in srgb,var(--cal-event-accent, var(--color-primary)) 18%,var(--color-surface));color:inherit;min-height:44px}.cal-slot-event strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm)}.cal-slot-event .muted{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-slot-event.cal-color-primary{--cal-event-accent: var(--color-primary)}.cal-slot-event.cal-color-success{--cal-event-accent: var(--color-success)}.cal-slot-event.cal-color-warning{--cal-event-accent: var(--color-warning)}.cal-slot-event.cal-color-danger{--cal-event-accent: var(--color-danger)}.cal-slot-event.cal-color-info{--cal-event-accent: var(--color-info)}.cal-slot-event.cal-color-neutral{--cal-event-accent: var(--color-text-secondary)}.cal-slot-event.cal-color-violet{--cal-event-accent: var(--color-primary-soft)}.cal-slot-event.cal-color-teal{--cal-event-accent: var(--color-success)}.cal-slot-event.cal-color-rose{--cal-event-accent: var(--color-danger)}.cal-slot-event.cal-color-amber{--cal-event-accent: var(--color-warning)}.cal-slot-event.is-appt{--cal-event-accent: var(--color-primary)}.cal-slot-event.is-busy{--cal-event-accent: var(--color-success)}.cal-slot-event.is-pending{--cal-event-accent: var(--color-warning)}.cal-slot-event.is-terminal{opacity:.7;--cal-event-accent: var(--color-text-secondary)}.cal-now-banner{display:flex;align-items:center;gap:8px;color:var(--color-danger);font-size:var(--text-sm);font-weight:700;margin:4px 0;scroll-margin-top:140px}.cal-month-dots{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-month-cell{min-height:52px;display:grid;gap:4px;place-items:center;padding:6px 2px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:inherit}.cal-month-cell.is-today{border-color:var(--color-primary)}.cal-month-cell.is-selected{background:var(--color-primary-muted)}.cal-month-dots-row{display:flex;gap:3px;justify-content:center;min-height:6px}.cal-month-dot{width:6px;height:6px;border-radius:999px;background:var(--color-primary)}.cal-action-sheet .btn{width:100%;min-height:48px;justify-content:flex-start}.calendar-shell.is-swipe-transition .calendar-wrap,.calendar-shell.is-swipe-transition .cal-mobile{animation:cal-swipe-fade var(--motion-fast) ease}@keyframes cal-swipe-fade{0%{opacity:.72;transform:translate(6px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.calendar-shell.is-swipe-transition .calendar-wrap,.calendar-shell.is-swipe-transition .cal-mobile{animation:none}}.app-shell.app-shell--fill .shell-main>.page.calendar-page-root{overflow:hidden;display:flex;flex-direction:column;min-height:0;height:100%;max-height:100%}.app-shell.app-shell--fill .page.calendar-page-root>.calendar-shell:not(.is-embedded){flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.app-shell.app-shell--fill .page.calendar-page-root .calendar-wrap{flex:1 1 0;min-height:0;height:auto;max-height:none;overflow:hidden;display:flex;flex-direction:column;padding-bottom:0}@media(max-width:767px){.app-shell.app-shell--fill .shell-main>.page.calendar-page-root{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px))}.app-shell.app-shell--fill .calendar-shell{gap:8px}.app-shell.app-shell--fill .calendar-toolbar-sticky{margin-bottom:0;padding-bottom:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.calendar-page-head .eyebrow,.calendar-page-head .muted{display:none}.calendar-page-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-page-head h1{font-size:1.15rem;margin:0;min-width:0}.calendar-page-head-actions{flex-wrap:nowrap}.calendar-shell.is-mobile-fc .calendar-resource-bar,.calendar-shell.is-mobile-day .calendar-resource-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;padding-top:0}.calendar-shell.is-mobile-fc .calendar-resource-bar .field,.calendar-shell.is-mobile-day .calendar-resource-bar .field{margin:0}.calendar-shell.is-mobile-fc .calendar-controls,.calendar-shell.is-mobile-day .calendar-controls{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.calendar-shell.is-mobile-fc .calendar-view-tabs,.calendar-shell.is-mobile-day .calendar-view-tabs{flex:1 1 auto;width:auto}.calendar-category-row{flex-wrap:nowrap;overflow-x:auto;max-height:44px;padding-top:0;padding-bottom:0}}.app-shell.app-shell--fill .page.calendar-page-root .calendar-wrap>.fc{flex:1 1 auto;width:100%;min-height:0!important}.app-shell.app-shell--fill .calendar-shell.is-mobile-fc .calendar-wrap{overflow:hidden}.app-shell.app-shell--fill .page.calendar-page-root .calendar-wrap .fc,.app-shell.app-shell--fill .page.calendar-page-root .calendar-wrap .fc .fc-view-harness,.app-shell.app-shell--fill .page.calendar-page-root .calendar-wrap .fc .fc-view-harness-active{height:100%!important;min-height:0!important}.app-shell.app-shell--fill .page.calendar-page-root .calendar-wrap .fc .fc-scroller{overflow:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.calendar-shell>.calendar-page-head,.calendar-shell>.calendar-controls,.calendar-shell>.calendar-category-row,.calendar-shell>.calendar-resource-bar,.calendar-shell>.state-box,.calendar-shell>.calendar-outside-hint,.calendar-shell>.calendar-color-settings{flex-shrink:0}.app-shell.app-shell--fill .calendar-shell.is-mobile-day .cal-mobile{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.cart-line{display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:0}.cart-line-head{display:flex;gap:var(--space-3);justify-content:space-between;align-items:flex-start;min-width:0}.cart-line-title{min-width:0;overflow-wrap:anywhere}.cart-line-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;justify-content:space-between}.cart-line .cart-qty-stepper{display:inline-flex;align-items:center;gap:var(--space-2)}.cart-line .cart-qty-btn{min-width:var(--control-h);min-height:var(--control-h);padding:0}.cart-line .cart-qty-value{min-width:2rem;text-align:center;font-weight:700}.cart-line .cart-line-remove{min-height:var(--control-h);min-width:var(--control-h);padding-inline:var(--space-3)}.kb-tone--primary{--kb-tone: var(--color-primary);--kb-tone-soft: var(--color-primary-muted)}.kb-tone--success{--kb-tone: var(--color-success);--kb-tone-soft: var(--color-success-soft)}.kb-tone--warning{--kb-tone: var(--color-warning);--kb-tone-soft: var(--color-warning-soft)}.kb-tone--info{--kb-tone: var(--color-info);--kb-tone-soft: var(--color-info-soft)}.kb-tone--danger{--kb-tone: var(--color-danger);--kb-tone-soft: var(--color-danger-soft)}.kb-tone--neutral{--kb-tone: var(--color-text-muted);--kb-tone-soft: var(--color-surface-2)}.kb-tree-btn.kb-tone{border-left:3px solid var(--kb-tone);padding-left:7px}.kb-tree-btn.kb-tone.is-on{background:var(--kb-tone-soft);color:var(--color-text-primary);font-weight:650}.chip.kb-tone:before{content:"";display:inline-block;width:8px;height:8px;margin-right:var(--space-2);border-radius:50%;background:var(--kb-tone);vertical-align:baseline}.chip.kb-tone.active{background:var(--kb-tone-soft);border-color:var(--kb-tone);color:var(--color-text-primary)}.kb-card.kb-tone .chip.kb-tone{background:var(--kb-tone-soft);border-color:transparent;color:var(--color-text-primary)}.kb-card.kb-tone .kb-cover{box-shadow:inset 0 -3px 0 var(--kb-tone)}.kb-article-header.kb-tone{border-left:4px solid var(--kb-tone);padding-left:var(--space-3)}.kb-article-header.kb-tone .badge.kb-section-badge{background:var(--kb-tone-soft);border:1px solid var(--kb-tone);color:var(--color-text-primary)}.kb-catalog .kb-catalog-toggle{display:none;width:100%;min-height:var(--control-h);justify-content:space-between;align-items:center;gap:var(--space-2);text-align:left}@media(max-width:767px){.kb-catalog .kb-catalog-toggle{display:inline-flex}.kb-catalog .kb-catalog-heading-desktop{display:none}.kb-catalog:not(.is-open) .kb-catalog-panel{display:none}}.kb-search-bar{display:grid;gap:var(--space-2)}.kb-search-input-wrap{position:relative;display:flex;align-items:center}.kb-search-input-wrap input{flex:1;min-width:0;min-height:var(--control-h);padding-right:calc(var(--control-h) + var(--space-2))}.kb-search-input-wrap .kb-search-clear{position:absolute;right:var(--space-1);top:50%;transform:translateY(-50%);min-width:var(--control-h);min-height:var(--control-h);padding:0}.kb-search-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;justify-content:space-between}.kb-result-count{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}.kb-editor .kb-editor-actions.kb-ed-actions{position:static;bottom:auto;z-index:auto;box-shadow:var(--shadow-sm)}.kb-editor-actions-bar{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.kb-ed-actions .kb-editor-mobile-actions-trigger{display:none}.rich-doc-editor .editor-toolbar.kb-editor-toolbar-sticky{position:sticky;top:var(--editor-sticky-top, 0px);z-index:calc(var(--z-sticky) - 1)}@media(max-width:767px){.rich-doc-editor .editor-toolbar.kb-editor-toolbar-sticky{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.rich-doc-editor .editor-toolbar.kb-editor-toolbar-sticky::-webkit-scrollbar{display:none}.rich-doc-editor .editor-toolbar.kb-editor-toolbar-sticky button{flex:0 0 auto}.kb-ed-actions .kb-editor-desktop-actions{display:none}.kb-ed-actions .kb-editor-mobile-actions-trigger{display:flex}}:root{--color-background: #0B0D12;--color-background-elevated: #10131A;--color-bg: var(--color-background);--color-bg-accent: var(--color-background);--color-surface: #141821;--color-surface-elevated: var(--color-background-elevated);--color-surface-2: #1D2230;--color-surface-secondary: var(--color-surface-2);--color-surface-3: #252B3B;--color-surface-soft: var(--color-surface-2);--color-text-primary: #F5F7FA;--color-text: var(--color-text-primary);--color-text-secondary: #9EA6B5;--color-text-tertiary: #6E7687;--color-text-muted: var(--color-text-secondary);--color-border: #1D2230;--color-border-strong: #2A3144;--color-primary: #7C82FF;--color-primary-hover: #A8ACFF;--color-primary-soft: #A8ACFF;--color-primary-muted: rgba(124, 130, 255, .16);--color-primary-ink: #0B0D12;--color-accent: var(--color-primary);--color-accent-hover: var(--color-primary-hover);--color-accent-soft: var(--color-primary-muted);--color-champagne: var(--color-surface-2);--color-blush: var(--color-surface-2);--color-success: #5DC08B;--color-success-soft: rgba(93, 192, 139, .16);--color-warning: #FFB020;--color-warning-soft: rgba(255, 176, 32, .16);--color-danger: #EF7777;--color-danger-soft: rgba(239, 119, 119, .16);--color-info: #8B9BC7;--color-info-soft: rgba(139, 155, 199, .16);--color-focus-ring: rgba(124, 130, 255, .28);--color-glow: rgba(124, 130, 255, .22);--overlay-scrim: rgba(11, 13, 18, .72);--gradient-canvas: radial-gradient(1200px 640px at 12% -10%, rgba(124, 130, 255, .14), transparent 58%), radial-gradient(900px 520px at 92% 8%, rgba(168, 172, 255, .08), transparent 52%), var(--color-background);--gradient-hero: radial-gradient(80% 120% at 100% 0%, rgba(124, 130, 255, .18), transparent 62%), linear-gradient(180deg, var(--color-surface-2) 0%, var(--color-surface) 100%);--gradient-primary-button: linear-gradient(180deg, var(--color-primary-soft) 0%, var(--color-primary) 100%);--gradient-image-fallback: linear-gradient(145deg, rgba(124, 130, 255, .18) 0%, var(--color-surface-2) 48%, var(--color-surface) 100%);--radius-xs: 8px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-pill: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 10px 28px rgba(0, 0, 0, .42);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .52);--shadow-glow: 0 0 0 1px rgba(124, 130, 255, .18), 0 12px 32px rgba(124, 130, 255, .12);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--font-sans: "Inter", system-ui, sans-serif;--font-display: "Inter", system-ui, sans-serif;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-lg: 1rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-display: 2.5rem;--control-h: 44px;--nav-h: 64px;--content-max: 1120px;--bottom-nav-cols: 3;--bp-phone: 390px;--bp-tablet: 768px;--bp-laptop: 1024px;--bp-desktop: 1440px;--motion-fast: .12s;--motion-normal: .2s;--motion-emphasized: .28s;--ease-standard: cubic-bezier(.2, .8, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--z-sticky: 20;--z-dropdown: 30;--z-drawer: 40;--z-modal: 50;--z-toast: 80;--scrollbar-size: 8px;--scrollbar-track: transparent;--scrollbar-thumb: color-mix(in srgb, var(--color-text-secondary) 42%, transparent);--scrollbar-thumb-hover: color-mix(in srgb, var(--color-primary) 55%, var(--color-text-secondary));color:var(--color-text);background:var(--color-background);font-family:var(--font-sans);font-size:14px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:dark}html[data-theme=light]{--color-background: #F3F5FA;--color-background-elevated: #FFFFFF;--color-bg: var(--color-background);--color-bg-accent: var(--color-background);--color-surface: #FFFFFF;--color-surface-elevated: var(--color-background-elevated);--color-surface-2: #EEF1F7;--color-surface-secondary: var(--color-surface-2);--color-surface-3: #E2E7F1;--color-surface-soft: var(--color-surface-2);--color-text-primary: #1C2130;--color-text: var(--color-text-primary);--color-text-secondary: #5C6578;--color-text-tertiary: #8A93A6;--color-text-muted: var(--color-text-secondary);--color-border: #D8DEE9;--color-border-strong: #C3CAD8;--color-primary: #545BE0;--color-primary-hover: #3F46C9;--color-primary-soft: #7C82FF;--color-primary-muted: rgba(84, 91, 224, .12);--color-primary-ink: #F7F8FF;--color-accent: var(--color-primary);--color-accent-hover: var(--color-primary-hover);--color-accent-soft: var(--color-primary-muted);--color-champagne: var(--color-surface-2);--color-blush: var(--color-surface-2);--color-success: #1B7F4E;--color-success-soft: rgba(27, 127, 78, .12);--color-warning: #9A6400;--color-warning-soft: rgba(154, 100, 0, .14);--color-danger: #C74343;--color-danger-soft: rgba(199, 67, 67, .12);--color-info: #455A86;--color-info-soft: rgba(69, 90, 134, .12);--color-focus-ring: rgba(84, 91, 224, .28);--color-glow: rgba(84, 91, 224, .16);--overlay-scrim: rgba(28, 33, 48, .46);--gradient-canvas: radial-gradient(1100px 560px at 8% -10%, rgba(84, 91, 224, .1), transparent 58%), radial-gradient(820px 460px at 100% 0%, rgba(124, 130, 255, .08), transparent 52%), var(--color-background);--gradient-hero: radial-gradient(80% 120% at 100% 0%, rgba(84, 91, 224, .1), transparent 62%), linear-gradient(180deg, #FFFFFF 0%, #EEF1F7 100%);--gradient-primary-button: linear-gradient(180deg, #7C82FF 0%, #545BE0 100%);--gradient-image-fallback: linear-gradient(145deg, rgba(84, 91, 224, .12) 0%, #EEF1F7 48%, #FFFFFF 100%);--shadow-sm: 0 1px 2px rgba(28, 33, 48, .06);--shadow-md: 0 10px 28px rgba(28, 33, 48, .08);--shadow-lg: 0 20px 48px rgba(28, 33, 48, .12);--shadow-glow: 0 0 0 1px rgba(84, 91, 224, .18), 0 10px 28px rgba(84, 91, 224, .1);color-scheme:light}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}html,body,#root{min-height:100%;max-width:100%}html{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}body{margin:0;min-width:0;overflow-x:clip;overflow-y:auto;background:var(--gradient-canvas);background-attachment:fixed;-webkit-overflow-scrolling:touch}*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}*::-webkit-scrollbar-track{background:var(--scrollbar-track)}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}@media(hover:none)and (pointer:coarse){*{scrollbar-width:none}*::-webkit-scrollbar{width:0;height:0}}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;max-width:100%}button{cursor:pointer;border:none;background:none}img{max-width:100%;display:block}h1,h2,h3,p,strong{overflow-wrap:anywhere}.app-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-rows:auto 1fr;overflow:visible}.shell-main{min-width:0;isolation:isolate;display:flex;flex-direction:column;min-height:0;overflow:visible}@media(max-width:767px){.app-shell{grid-template-rows:minmax(0,1fr)}.shell-main{grid-row:1;min-height:100dvh}.bottomnav{grid-row:1;align-self:end;height:calc(var(--nav-h) + env(safe-area-inset-bottom,0px))}}.app-shell--home .shell-main{min-height:100dvh}.app-shell--home .owner-start{padding-bottom:0}.shell-main>.topbar{position:sticky;top:0;z-index:var(--z-sticky);flex-shrink:0}.shell-main>:not(.topbar){position:relative;z-index:0;min-width:0;overflow:visible}.app-shell.app-shell--fill{height:100dvh;max-height:100dvh;overflow:hidden}.app-shell.app-shell--fill .shell-main{min-height:0;overflow:hidden;flex:1 1 auto}.app-shell.app-shell--fill .shell-main>:not(.topbar){flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);padding-top:calc(var(--space-3) + env(safe-area-inset-top,0px));background:color-mix(in srgb,var(--color-surface) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);flex-wrap:nowrap;min-width:0}.topbar>:first-child,.topbar-leading{min-width:0;flex:1 1 auto;overflow:hidden}.topbar--compact{padding:var(--space-2) var(--space-4);padding-top:calc(var(--space-2) + env(safe-area-inset-top,0px));min-height:52px}.topbar--compact .brand{padding:0}.topbar--compact .topbar-cabinet,.topbar--compact .topbar-desktop-only{display:none}.topbar-menu-btn{min-height:40px}.more-account{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-2)}.more-account-name{margin:0;font-weight:700;font-size:var(--text-lg)}.more-nav-list a{display:flex;align-items:center;gap:var(--space-3);min-height:48px}.more-footer{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}@media(min-width:768px){.topbar--compact .topbar-desktop-only{display:contents}.topbar-menu-btn{display:none}}.topbar-branch{max-width:11rem;min-width:0;width:auto;font-size:var(--text-sm)}.topbar-name{display:none;max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{display:inline-flex!important;align-items:center;flex-wrap:nowrap!important;flex-shrink:0;min-width:0;max-width:70%;gap:var(--space-2)}.topbar-actions .premium-status{flex-shrink:1;max-width:11rem}.topbar-actions .theme-toggle,.topbar-actions .btn{flex-shrink:0}.topbar-actions .btn-compact{white-space:nowrap}.sidenav-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.premium-status{display:inline-flex;align-items:center;gap:5px;min-height:32px;max-width:100%;padding:0 10px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:700;letter-spacing:.02em;text-decoration:none;flex-shrink:1;min-width:0;white-space:nowrap;overflow:hidden}.premium-status__mark{color:var(--color-primary-soft);flex-shrink:0}.premium-status__label{overflow:hidden;text-overflow:ellipsis}.premium-status__detail{color:var(--color-text-tertiary);font-weight:650;overflow:hidden;text-overflow:ellipsis}.premium-status--active{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));color:var(--color-primary-soft);box-shadow:var(--shadow-glow)}.premium-status--active .premium-status__detail{color:var(--color-text-secondary)}.premium-status--inactive:hover,.premium-status--active:hover{border-color:var(--color-primary);color:var(--color-primary-soft)}.premium-status--compact{min-height:32px;padding:0 8px}.premium-status--compact .premium-status__detail{display:none}@media(max-width:359px){.topbar-cabinet{display:none}.topbar-actions{max-width:78%;gap:4px}.topbar-actions .btn-compact{padding-inline:8px;font-size:var(--text-xs)}.topbar-actions .premium-status--compact{padding-inline:6px}}@media(min-width:360px){.premium-status--compact .premium-status__detail{display:inline}}.theme-toggle{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:var(--radius-pill);background:var(--color-surface-2);border:1px solid var(--color-border);flex-shrink:0}.theme-toggle button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:36px;min-height:36px;padding:0 8px;border-radius:var(--radius-pill);color:var(--color-text-secondary)}.theme-toggle button.is-on{background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.theme-toggle button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-focus-ring)}.theme-toggle--labelled{width:100%}.theme-toggle--labelled button{flex:1;font-size:var(--text-xs);font-weight:650}.auth-notice{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-info-soft);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:var(--text-sm)}.auth-theme-bar{width:100%;display:flex;justify-content:flex-end}.auth-screen{position:relative}.brand{display:flex;align-items:center;padding:4px 0 8px}.brand-logo{display:block;object-fit:contain;flex-shrink:0;border-radius:12px}.brand-logo--sm{width:36px;height:36px}.brand-logo--md{width:48px;height:48px}.brand-logo--lg{width:96px;height:96px}.auth-screen{min-height:100dvh;align-content:center;justify-items:center;text-align:center;padding-top:32px}.auth-screen .card{text-align:left;width:100%}.auth-screen a{color:var(--color-primary)}h1{font-size:var(--text-3xl);font-weight:700;letter-spacing:-.02em;color:var(--color-text-primary)}h2{font-size:var(--text-2xl);font-weight:600;color:var(--color-text-primary)}h3{font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary)}h4{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.field input,.field select,.field textarea{color:var(--color-text-primary)}.field input::placeholder,.field textarea::placeholder{color:var(--color-text-secondary)}.data-table tbody tr:hover{background:var(--color-surface-2)}.leaflet-container{background:var(--color-background)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.sidenav{display:none}.sidenav a,.more-panel a{display:block;padding:10px 12px;border-radius:var(--radius-sm);color:var(--color-text-muted);font-weight:600}.sidenav a.active,.more-panel a.active{background:var(--color-primary-muted);color:var(--color-primary)}.page{width:min(100% - 2 * var(--space-4),var(--content-max));margin:0 auto;padding:var(--space-5) 0 calc(var(--nav-h) + var(--space-5) + env(safe-area-inset-bottom,0px));min-width:0}.page-header{align-items:flex-end;gap:var(--space-3);min-height:44px}.page-header h1{font-size:clamp(1.35rem,4vw,1.75rem);letter-spacing:-.03em}.page-narrow{width:min(100% - 2 * var(--space-4),480px)}.bottomnav{position:fixed;left:0;right:0;bottom:0;min-height:calc(var(--nav-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);display:grid;grid-template-columns:repeat(var(--bottom-nav-cols),minmax(0,1fr));background:var(--color-surface);border-top:1px solid var(--color-border);z-index:var(--z-sticky)}.bottomnav a,.bottomnav button.nav-tab{display:grid;place-items:center;text-align:center;font-size:clamp(10px,2.6vw,12px);font-weight:650;color:var(--color-text-muted);min-height:var(--nav-h);padding:6px 4px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.bottomnav a.active,.bottomnav button.nav-tab.active{color:var(--color-primary);background:transparent}.more-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-drawer);background:var(--overlay-scrim);display:grid;align-items:end;animation:overlay-in var(--motion-normal) var(--ease-out)}.more-panel{background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-5) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-lg);max-height:75vh;overflow:auto;animation:drawer-in var(--motion-emphasized) var(--ease-out)}.more-panel h2{margin-bottom:var(--space-3)}.more-panel[data-overlay-scroll],.modal-sheet[data-overlay-scroll]{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.overlay-panel--sm{width:min(100%,400px)}.overlay-panel--md{width:min(100%,560px)}.overlay-panel--lg{width:min(100%,720px)}body.is-overlay-locked{overscroll-behavior:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-4);min-width:0}.card-interactive{cursor:pointer;transition:transform var(--motion-fast) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.card-interactive:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-interactive:active{transform:translateY(0) scale(.995)}.card-interactive.selected,.card.selected{border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.kpi-grid,.tile-grid,.cards-grid{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(148px,1fr))}.dashboard-tile{display:grid;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);min-height:110px;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard)}.dashboard-tile strong{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text)}.stack{display:grid;gap:var(--space-4)}.stack-sm{display:grid;gap:var(--space-2)}.row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.between{justify-content:space-between}h1,h2,h3{font-family:var(--font-display);margin:0;line-height:1.2;color:var(--color-text-primary)}h1{font-size:clamp(1.5rem,4vw,var(--text-3xl));font-weight:700;letter-spacing:-.02em}h2{font-size:clamp(1.25rem,3vw,var(--text-2xl));font-weight:600}p{margin:0;color:var(--color-text-muted);line-height:1.5}.muted{color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-h);min-width:var(--control-h);padding:0 var(--space-4);border-radius:var(--radius-md);font-weight:700;transition:transform var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) linear;gap:var(--space-2)}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-compact{min-height:40px;padding:0 var(--space-3);font-size:var(--text-sm)}.btn-icon{padding:0;width:var(--control-h)}.btn-primary{background:var(--gradient-primary-button);color:var(--color-primary-ink);box-shadow:0 8px 20px var(--color-glow)}.btn-primary:hover{filter:brightness(1.06)}.btn-primary:disabled,.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;filter:none;transform:none}.btn-secondary{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary:hover{border-color:var(--color-border-strong);background:var(--color-surface-2)}.btn-danger{background:var(--color-danger-soft);color:var(--color-danger);border:1px solid transparent}.btn-danger:hover{background:var(--color-danger-soft);filter:brightness(.97)}.btn-ghost{color:var(--color-text-secondary)}.btn-ghost:hover{color:var(--color-text-primary);background:var(--color-surface-2)}.btn-block{width:100%}.btn-loading{pointer-events:none;opacity:.78}.field{display:grid;gap:var(--space-2);min-width:0}.field label{font-size:var(--text-sm);font-weight:600}.field:has(:is(input,select,textarea)[required],:is(input,select,textarea)[aria-required=true])>:is(label,span.label-text,span:not(.visually-hidden)):first-child:after,.field:has(:is(input,select,textarea)[required],:is(input,select,textarea)[aria-required=true])>.label-text:first-child:after,fieldset[aria-required=true]>legend:after,.required-mark:after{content:" *";color:var(--color-danger);font-weight:700}.required-note{font-size:var(--text-xs);color:var(--color-text-muted)}.required-note:before{content:"* ";color:var(--color-danger);font-weight:700}.field .hint{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:500}.field input,.field select,.field textarea,.location-select{min-height:var(--control-h);width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:0 36px 0 var(--space-3);background-color:var(--color-surface);color:var(--color-text-primary)}.field input,.field textarea{padding:0 var(--space-3);background-color:var(--color-background)}.field select,.location-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%239EA6B5' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;cursor:pointer}.location-select{max-width:100%}.topbar-branch.location-select{width:min(11rem,46vw);max-width:11rem}.field textarea{min-height:96px;padding:var(--space-3);resize:vertical}.field .error{color:var(--color-danger);font-size:var(--text-sm);overflow-wrap:anywhere}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft)}.work-format-grid{display:grid;gap:var(--space-2)}.work-format-option{display:flex;align-items:flex-start;gap:var(--space-3);min-height:44px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer}.work-format-option input{width:20px;height:20px;margin-top:2px;flex-shrink:0}.work-format-option.is-selected{border-color:var(--color-primary);background:var(--color-primary-muted);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 35%,transparent)}.work-format-option span{font-weight:600;line-height:1.35}.invite-qr-page .invite-qr-block img{width:min(100%,280px);height:auto;aspect-ratio:1;margin:0 auto;display:block;border-radius:var(--radius-md);background:#fff;padding:var(--space-3)}.appt-summary-who{display:flex;align-items:center;gap:var(--space-3);min-width:0}.appt-summary-who .appt-card-avatar{width:44px;height:44px;flex-shrink:0}.field-check{display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-h);font-weight:600}.field-check input[type=checkbox],.field-check input[type=radio]{width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0}.check-grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.badge,.chip{display:inline-flex;align-items:center;border-radius:var(--radius-pill);padding:4px 10px;font-size:var(--text-xs);font-weight:700;white-space:nowrap}.badge-pending{background:var(--color-warning-soft);color:var(--color-warning)}.badge-confirmed{background:var(--color-success-soft);color:var(--color-success)}.badge-progress{background:var(--color-accent-soft);color:var(--color-warning)}.badge-done{background:var(--color-success-soft);color:var(--color-success)}.badge-cancelled{background:var(--color-surface-2);color:var(--color-text-secondary)}.badge-default{background:var(--color-primary-muted);color:var(--color-primary)}.badge-success{background:var(--color-success-soft);color:var(--color-success)}.badge-warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger)}.state-box{padding:var(--space-5);text-align:center;color:var(--color-text-muted);border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid var(--color-border)}.state-box.error{color:var(--color-danger);background:var(--color-danger-soft);white-space:pre-line;overflow-wrap:anywhere;text-align:left}.error-banner{display:grid;gap:var(--space-2);min-width:0}.error-banner__title{font-weight:700}.error-banner__hint,.error-banner__text{margin:0;font-weight:500;overflow-wrap:anywhere}.error-boundary{min-height:100dvh;display:grid;place-items:center;padding:var(--space-6)}.error-boundary__card{width:min(100%,420px);display:grid;gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border)}.error-boundary__card h1{font-size:var(--text-xl)}.error-boundary__card p{color:var(--color-text-secondary);overflow-wrap:anywhere}.page-loading{min-height:40vh}.page-loading__skeleton{gap:var(--space-4);padding:var(--space-5) 0}.pwa-offline-banner{position:sticky;top:0;z-index:var(--z-sticky);display:grid;gap:var(--space-1);padding:var(--space-3) var(--space-4);padding-top:max(var(--space-3),env(safe-area-inset-top));background:var(--color-warning-soft);color:var(--color-text-primary);border-bottom:1px solid var(--color-border)}.pwa-offline-banner strong{font-size:var(--text-sm)}.pwa-offline-banner span{color:var(--color-text-secondary);font-size:var(--text-sm)}.state-box.success{color:var(--color-success);background:var(--color-success-soft)}.state-box.forbidden{color:var(--color-warning);background:var(--color-warning-soft)}.empty-state{display:grid;gap:var(--space-3);justify-items:center;padding:var(--space-6) var(--space-4);text-align:center;border-radius:var(--radius-lg);background:var(--gradient-hero);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.empty-state h2{font-size:var(--text-lg)}.empty-state p{max-width:36ch}.hero{display:grid;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--gradient-hero);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.list{display:grid;gap:var(--space-3)}.list-item{display:grid;gap:var(--space-2);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:0;text-align:left;width:100%;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard)}a.list-item:hover,button.list-item:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.product-card,.service-card,.supplier-card,.history-card,.formula-card{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:left;width:100%;min-width:0;transition:transform var(--motion-fast) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.product-card:hover,.service-card:hover,.supplier-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.product-card:active,.service-card:active,.supplier-card:active{transform:scale(.99)}.product-card.selected,.service-card.selected{border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.product-media,.avatar-lg,.image-placeholder{width:100%;aspect-ratio:4 / 3;border-radius:var(--radius-sm);background:var(--gradient-image-fallback);border:1px solid var(--color-border);display:grid;place-items:center;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600;overflow:hidden}.product-media img,.avatar-lg img{width:100%;height:100%;object-fit:cover}.avatar-circle{width:88px;height:88px;border-radius:50%;overflow:hidden;border:2px solid var(--color-border);background:var(--color-primary-muted);display:grid;place-items:center;font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-primary);flex-shrink:0}.avatar-circle img,.avatar-circle .media-fallback,.avatar-circle .media-skeleton{width:100%;height:100%;object-fit:cover}.avatar-circle .media-fallback,.avatar-circle .media-skeleton{min-height:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit}.cards-grid.products{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.cards-grid.services{grid-template-columns:1fr}.tabs{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:2px}.tabs a,.tabs button{flex:0 0 auto;min-height:40px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);font-weight:650;color:var(--color-text-muted)}.tabs a.active,.tabs button.active{background:var(--color-primary-muted);border-color:transparent;color:var(--color-primary)}.wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.wizard-step{min-height:44px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-xs);font-weight:700;color:var(--color-text-muted);text-align:center;padding:4px}.wizard-step.active{background:var(--color-primary);color:var(--color-primary-ink);border-color:var(--color-primary)}.wizard-step.done{background:var(--color-primary-muted);color:var(--color-primary);border-color:transparent}.week-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(64px,1fr);gap:var(--space-2);overflow-x:auto;padding-bottom:2px}.week-day{min-height:72px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);display:grid;place-items:center;gap:2px;padding:var(--space-2);font-weight:650}.week-day.active{background:var(--color-primary);color:var(--color-primary-ink);border-color:var(--color-primary)}.week-day .muted{font-size:var(--text-xs);font-weight:600}.week-day.active .muted{color:var(--color-primary-ink);opacity:.72}.timeline{display:grid;gap:var(--space-3);position:relative;padding-left:18px}.timeline:before{content:"";position:absolute;left:5px;top:4px;bottom:4px;width:2px;background:var(--color-border)}.timeline-item{position:relative}.timeline-item:before{content:"";position:absolute;left:-16px;top:18px;width:10px;height:10px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.cart-bar{position:sticky;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 8px);display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md);z-index:10}.search-form{display:grid;gap:var(--space-3)}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:var(--space-2)}.slot-list{display:grid;gap:var(--space-2)}.slot{min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);font-weight:600;color:var(--color-text-primary);transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}.slot-list .slot{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:0 18px;border:0;background:var(--color-primary);color:var(--color-primary-ink);border-radius:16px;font-weight:700}.slot-list .slot:after{content:"›";font-size:1.25rem;line-height:1;color:inherit}.slot.active,.slot-list .slot.active{background:var(--color-primary);color:var(--color-primary-ink);border-color:var(--color-primary)}.slot.empty,.slot-list .slot.empty{opacity:.45;text-decoration:line-through;border-color:var(--color-border);color:var(--color-text-tertiary);pointer-events:none}.slot-list .slot.empty:after{content:none}.slot-busy{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 var(--space-4);color:var(--color-text-tertiary);font-size:var(--text-sm)}.stars{display:flex;gap:var(--space-2);flex-wrap:wrap}.star-btn{min-width:44px;min-height:44px;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-weight:700}.star-btn.active{background:var(--color-primary);color:var(--color-primary-ink);border-color:var(--color-primary)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.portfolio-item{margin:0}.portfolio-thumb{width:100%;max-height:200px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border)}.formula-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.formula-field{display:grid;gap:2px;min-width:0}.formula-field span{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:600}.formula-field strong{color:var(--color-text);overflow-wrap:anywhere;min-width:0}.client-passport{overflow-wrap:anywhere;min-width:0}.history-card .row,.formula-card .row{min-width:0}@media(max-width:599px){.formula-grid{grid-template-columns:minmax(0,1fr)}}.modal-backdrop,.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:var(--overlay-scrim);display:grid;place-items:end center;padding:var(--space-3);animation:overlay-in var(--motion-normal) var(--ease-out)}.modal-sheet,.drawer-panel{width:min(100%,560px);max-height:90vh;overflow:auto;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-lg);min-width:0;animation:modal-in var(--motion-emphasized) var(--ease-out)}.modal-sheet.overlay-panel--sm{width:min(100%,400px)}.modal-sheet.overlay-panel--md{width:min(100%,560px)}.modal-sheet.overlay-panel--lg{width:min(100%,720px)}.drawer-backdrop{align-items:end;place-items:end center}.drawer-panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:min(100%,640px);animation:drawer-in var(--motion-emphasized) var(--ease-out)}.select-panel{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);max-height:280px;overflow:auto;min-width:0}.select-panel button{text-align:left;padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid transparent;background:var(--color-surface)}.select-panel button.active,.select-panel button[aria-selected=true]{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.dropzone-wrap{min-width:0}.dropzone{position:relative;display:grid;place-items:center;gap:var(--space-2);min-height:160px;padding:var(--space-4);border:1.5px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;overflow:hidden;min-width:0}.dropzone:hover,.dropzone:focus-visible{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px var(--color-focus-ring)}.dropzone-active{border-color:var(--color-primary);border-style:solid;background:var(--color-primary-muted);box-shadow:0 0 0 3px var(--color-focus-ring)}.dropzone-preview{padding:0}.dropzone-error{border-color:var(--color-danger)}.dropzone-disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.dropzone-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;width:100%;height:100%}.dropzone-placeholder{display:grid;gap:var(--space-2);text-align:center;justify-items:center;padding:var(--space-3)}.dropzone-media{width:100%;aspect-ratio:4 / 3;max-height:240px;overflow:hidden;border-radius:var(--radius-md)}.dropzone-media img{width:100%;height:100%;object-fit:cover}.dropzone-progress{position:absolute;left:var(--space-3);right:var(--space-3);bottom:var(--space-3);display:grid;gap:6px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-xs);font-weight:700;color:var(--color-text);box-shadow:var(--shadow-sm)}.dropzone-progress-bar{height:4px;border-radius:var(--radius-sm);background:var(--color-primary);transition:width .15s ease}.toast-viewport{position:fixed;left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px) + 12px);transform:translate(-50%);z-index:var(--z-toast);display:grid;gap:var(--space-2);width:min(100% - 2 * var(--space-4),420px);max-width:100%;overflow-x:hidden;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:12px 14px;border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text-primary);box-shadow:var(--shadow-md);font-size:var(--text-sm);font-weight:600;animation:toast-in var(--motion-emphasized) var(--ease-out);min-width:0}.toast-body{min-width:0;flex:1;white-space:pre-line;overflow-wrap:anywhere;font-weight:600}.toast--success{background:var(--color-success)}.toast--error{background:var(--color-danger)}.toast--info{background:var(--color-surface-2)}.toast-close{color:inherit;opacity:.8;font-size:1.25rem;line-height:1;min-width:28px;min-height:28px;flex-shrink:0}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes drawer-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.switch{display:inline-flex;align-items:center;gap:var(--space-3);font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;min-width:0}.switch input{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden}.switch-track{position:relative;width:48px;height:28px;flex-shrink:0;border-radius:var(--radius-pill);background:var(--color-surface-2);transition:background .15s ease}.switch-track:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--color-text-primary);box-shadow:var(--shadow-sm);transition:transform .15s ease}.switch input:checked+.switch-track{background:var(--color-primary)}.switch input:checked+.switch-track:after{transform:translate(20px)}.switch input:focus-visible+.switch-track{box-shadow:0 0 0 3px var(--color-focus-ring)}.switch-label{min-width:0}.city-badge{display:inline-flex;align-items:center;border-radius:var(--radius-pill);color:var(--color-text-secondary);white-space:nowrap}.city-badge--other{background:var(--color-warning-soft);color:var(--color-warning)}.booking-summary{display:grid;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);min-width:0}.booking-summary dl{display:grid;gap:var(--space-2);margin:0}.booking-summary div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:var(--space-3)}.booking-summary dt{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600}.booking-summary dd{margin:0;font-weight:700;overflow-wrap:anywhere}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-surface-2) 0%,var(--color-surface) 45%,var(--color-surface-2) 100%);background-size:200% 100%;animation:skeleton-shine 1.2s ease-in-out infinite}.skeleton-line{height:14px}.skeleton-card{min-height:96px}@keyframes skeleton-shine{0%{background-position:100% 0}to{background-position:-100% 0}}.occurrence-card{display:grid;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);text-align:left;width:100%;min-width:0}.occurrence-card.selected{border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.reschedule-current{display:grid;gap:var(--space-1);min-width:0}.reschedule-current__service{overflow-wrap:anywhere}.reschedule-day h3{font-size:var(--text-md);font-weight:700;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.reschedule-slots{display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.reschedule-slots .occurrence-card{min-height:var(--control-h);place-items:center;font-weight:700;padding:var(--space-3)}.reschedule-confirm{min-width:0}.reschedule-confirm p{overflow-wrap:anywhere}.reschedule-confirm .row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.reschedule-confirm .row .btn{flex:1 1 8rem}.reschedule-drawer-panel{max-height:min(92vh,100dvh)}.visit-plan-dialog{min-width:0}.visit-plan-current{display:grid;gap:var(--space-1);min-width:0}.visit-plan-card{gap:var(--space-3)}.visit-plan-leg{display:grid;gap:2px;min-width:0}.visit-plan-leg strong{font-size:var(--text-lg)}.visit-plan-confirm{min-width:0}.visit-plan-confirm p{overflow-wrap:anywhere}.visit-plan-confirm .row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.visit-plan-confirm .row .btn{flex:1 1 8rem}.appt-card-sub{margin:0;font-size:var(--text-sm)}.occurrence-card:disabled{opacity:.55;cursor:not-allowed}@media(min-width:390px){.search-form{gap:var(--space-3)}}@media(min-width:480px){.topbar-name{display:inline}.search-form{grid-template-columns:1fr 1.4fr auto;align-items:end}.cards-grid.services{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.modal-backdrop{place-items:center}}@media(min-width:768px){.app-shell{grid-template-columns:240px minmax(0,1fr);grid-template-rows:1fr;min-height:100dvh;height:auto;overflow:visible}.app-shell.app-shell--fill{height:100dvh;max-height:100dvh;overflow:hidden}.topbar{display:none}.sidenav{display:flex;flex-direction:column;background:var(--color-surface);gap:var(--space-2);padding:var(--space-5);border-right:1px solid var(--color-border);position:sticky;top:0;align-self:start;height:100dvh;max-height:100dvh;overflow:auto}.bottomnav{display:none}.page{padding:var(--space-6) var(--space-5)}.hero{grid-template-columns:1.2fr .8fr;align-items:end}.cart-bar,.toast-viewport{bottom:var(--space-5)}.booking-summary div{grid-template-columns:160px minmax(0,1fr)}}@media(min-width:1024px){.app-shell{grid-template-columns:260px minmax(0,1fr)}}@media(min-width:1440px){.page{width:min(100% - 2 * var(--space-6),var(--content-max))}.app-shell{grid-template-columns:280px minmax(0,1fr)}}.branch-select-card{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.branch-select-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.order-summary{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-soft);border:1px solid var(--color-border)}.media-dropzone{width:100%;min-height:120px;padding:var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-soft);color:var(--color-text-muted);font-weight:600;text-align:center}.media-dropzone.drag-over{border-color:var(--color-primary);background:var(--color-primary-muted)}.media-dropzone:disabled{opacity:.6;cursor:not-allowed}.editor-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--color-surface-soft)}.editor-toolbar button{min-height:var(--control-h);padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-sm);font-weight:650;color:var(--color-text-muted)}.editor-toolbar button.active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-muted)}.rich-doc-editor.is-disabled{opacity:.7;pointer-events:none}.rich-doc-surface{border:1px solid var(--color-border);border-radius:0 0 var(--radius-sm) var(--radius-sm);background:var(--color-background);min-height:180px}.rich-doc-surface .tiptap{min-height:180px;padding:var(--space-3);outline:none}.rich-doc-surface .tiptap p.is-editor-empty:first-child:before{color:var(--color-text-muted);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.article-cover{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface-soft)}.article-cover img{width:100%;height:100%;object-fit:cover}.prose-article{display:grid;gap:var(--space-3);line-height:1.65;font-size:var(--text-md)}.prose-article h2{font-family:var(--font-display);font-size:var(--text-lg);margin:var(--space-2) 0 0}.prose-article p{margin:0}.prose-article ul,.prose-article ol{margin:0;padding-left:1.25rem}.prose-article blockquote{margin:0;padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-accent);background:var(--color-accent-soft);color:var(--color-text-muted)}.prose-article hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-2) 0}.prose-article figure{margin:0}.prose-article figure img{width:100%;border-radius:var(--radius-sm)}.prose-article a{color:var(--color-primary);text-decoration:underline}.cabinet-label,.topbar-cabinet{font-size:var(--text-xs)}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);padding:6px 14px;background:var(--color-surface);color:var(--color-text-secondary);min-height:36px}.chip.active{background:var(--color-primary);border-color:transparent;color:var(--color-primary-ink)}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.dash-widget{min-width:0}.dash-widget.size-full,.dash-widget.size-large{grid-column:1 / -1}.calendar-wrap,.map-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.kb-hero{padding:var(--space-5)}.kb-hub{max-width:1200px;margin:0 auto}.kb-search-form{display:grid;gap:var(--space-3)}.kb-search-actions{flex-wrap:wrap}.kb-quick-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.kb-filter-panel{position:relative}.kb-cover{height:148px;overflow:hidden;border-radius:var(--radius-sm);background:var(--gradient-image-fallback)}.kb-cover img,.kb-cover .product-photo{width:100%;height:148px;object-fit:cover}.kb-cover--product{background:var(--color-surface-2)}.kb-cover--product img,.kb-cover--product .product-photo{object-fit:contain}.kb-brand-row{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.kb-brand-card{text-align:left;width:100%;cursor:pointer}.kb-tree{list-style:none;margin:0;padding:0 0 0 var(--space-3);display:grid;gap:4px}.kb-tree-btn{width:100%;display:flex;justify-content:space-between;gap:var(--space-3);text-align:left;padding:8px 10px;border-radius:var(--radius-sm);color:var(--color-text-primary)}.kb-tree-btn.is-on{background:var(--color-primary-muted);color:var(--color-primary)}.kb-tree-btn:hover{background:var(--color-surface-2)}.product-sheet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3);margin:0}.product-sheet-grid dt{color:var(--color-text-secondary);font-size:var(--text-xs)}.product-sheet-grid dd{margin:0;color:var(--color-text-primary);font-weight:650}.article-cover--product{background:var(--color-surface-2)}.article-cover--product img{object-fit:contain;background:var(--color-surface-2);max-height:420px}.kb-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.kb-card,.product-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard)}.kb-card:hover,.kb-card:focus-within,.product-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.kb-card-link{display:flex;flex-direction:column;gap:8px;color:inherit;text-decoration:none;min-width:0}.kb-fav{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);font-size:1.1rem;z-index:2}.kb-card-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.kb-product-chip{display:inline-flex;align-items:center;gap:8px;min-height:var(--control-h);flex-wrap:wrap}.kb-skel-cover{min-height:148px;height:148px}.kb-skel-excerpt{width:80%}.article-cover-fallback{max-width:960px;margin:0 auto;width:100%;min-height:180px;border-radius:var(--radius-md);overflow:hidden;background:var(--gradient-image-fallback)}.article-cover-fallback .product-photo{min-height:180px;height:180px;width:100%}.kb-fav.is-on{color:var(--color-accent)}.kb-multiselect{position:relative}.kb-suggest{list-style:none;margin:8px 0 0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);max-height:220px;overflow:auto}.kb-suggest button,.kb-suggest-btn{display:block;width:100%;text-align:left;padding:10px 12px;background:none;border:none}.kb-suggest button:hover,.kb-suggest-btn:hover{background:var(--color-primary-muted)}.kb-article-column{max-width:720px;margin:0 auto;width:100%}.kb-article .article-cover{max-width:960px;margin:0 auto;width:100%}.article-video-wrap{position:relative;width:100%;aspect-ratio:16 / 9;background:var(--color-background);border-radius:var(--radius-sm);overflow:hidden}.article-video-wrap video{width:100%;height:100%;display:block}.article-figure-btn{all:unset;cursor:zoom-in;display:block;width:100%}.kb-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay-scrim);display:grid;place-items:center;padding:var(--space-5)}.kb-lightbox img{max-width:min(960px,100%);max-height:90vh;object-fit:contain}.kb-media-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--overlay-scrim);display:grid;place-items:center;padding:var(--space-4)}.kb-media-modal .card{width:min(520px,100%)}.callout{border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);display:grid;gap:6px}.callout-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase}.callout-tip{background:var(--color-primary-muted)}.callout-warning{background:var(--color-accent-soft)}.callout-note{background:var(--color-surface-soft)}.prose-article h1,.prose-article h2,.prose-article h3{font-family:var(--font-display);margin:var(--space-2) 0 0}.prose-article h1{font-size:1.5rem}.prose-article h3{font-size:1.05rem}.editor-toolbar{display:flex;flex-wrap:wrap;gap:6px}.editor-toolbar button{min-height:var(--control-h);padding:6px 10px}.row.wrap{flex-wrap:wrap}@media(min-width:768px){.kb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kb-quick-chips{flex-wrap:wrap;overflow:visible}}@media(min-width:1366px){.kb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kb-hub{max-width:1180px}}@media(min-width:1920px){.kb-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:var(--space-4)}@media(max-width:430px){.kb-hero{padding:var(--space-4)}.kb-cover,.kb-cover img,.kb-cover .product-photo,.kb-skel-cover{height:180px;min-height:180px}.kb-card{padding:var(--space-3)}.product-grid{grid-template-columns:1fr}.kb-quick-chips .chip,.kb-search-actions .btn{min-height:var(--control-h)}}.product-photo{height:140px;object-fit:cover;border-radius:var(--radius-sm);background:var(--color-primary-muted)}.product-photo.placeholder{display:grid;place-items:center;color:var(--color-primary);font-family:var(--font-display)}.hint-wrap{position:relative;display:inline-block;margin-left:6px}.hint-btn{width:22px;height:22px;border-radius:50%;border:1px solid var(--color-border);color:var(--color-text-muted);font-size:12px}.hint-pop{position:absolute;z-index:var(--z-dropdown);width:240px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);animation:dropdown-in var(--motion-fast) var(--ease-out)}.compare-grid,.filters-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media(max-width:768px){.dash-grid,.compare-grid,.filters-grid{grid-template-columns:1fr}.dash-widget.size-full,.dash-widget.size-large{grid-column:auto}}.fc{font-family:var(--font-sans)}.fc .fc-toolbar-title{font-family:var(--font-display);font-size:1.15rem}.fc .fc-button{background:var(--color-surface-2)!important;color:var(--color-text-primary)!important;border:1px solid var(--color-border)!important}.calendar-page-head,.dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.eyebrow{color:var(--color-primary);font-size:var(--text-xs);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.btn-link{color:var(--color-primary);font-weight:750;padding:8px 2px}.calendar-controls,.calendar-resource-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.calendar-resource-bar{justify-content:flex-start;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.calendar-resource-bar .field{min-width:220px}.calendar-view-tabs{display:flex;gap:6px;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2)}.calendar-view-tabs .chip{border:0;background:transparent}.calendar-view-tabs .chip.active{background:var(--color-primary-muted);color:var(--color-primary)}.calendar-category-row{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:thin}.calendar-category-chip{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:7px 11px 7px 7px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:700}.calendar-category-chip>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:var(--color-primary-ink)}.calendar-category-chip.is-hidden{opacity:.42;filter:grayscale(.7);text-decoration:line-through}.calendar-color-settings{display:grid;gap:var(--space-3)}.calendar-color-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-2)}.calendar-color-grid label{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.calendar-color-grid label.is-disabled{opacity:.58}.calendar-color-grid input{width:34px;height:34px;padding:0;border:0;background:transparent}.calendar-wrap{box-shadow:var(--shadow-sm);overflow-x:auto}.calendar-wrap[hidden]{display:none!important}.calendar-wrap .fc{--fc-border-color: var(--color-border);--fc-page-bg-color: var(--color-surface);--fc-neutral-bg-color: var(--color-surface-2);--fc-page-text-color: var(--color-text-primary);--fc-button-bg-color: var(--color-surface-2);--fc-button-border-color: var(--color-border);--fc-button-text-color: var(--color-text-primary);--fc-today-bg-color: var(--color-primary-muted)}.calendar-wrap .fc .fc-toolbar{padding:var(--space-3);margin:0}.calendar-wrap .fc .fc-button{border-radius:var(--radius-sm)!important;box-shadow:none!important;font-size:var(--text-sm)!important}.calendar-wrap .fc .fc-col-header-cell-cushion{padding:10px 4px;font-size:var(--text-sm);text-transform:capitalize}.calendar-wrap .fc .fc-timegrid-slot{height:3.25em}.calendar-wrap .fc-event{border:0!important;border-radius:8px!important;box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden;pointer-events:auto!important;z-index:2}.calendar-wrap .fc-list-event,.calendar-wrap .fc-list-event-title,.calendar-wrap .fc-list-table td{pointer-events:auto!important;cursor:pointer}.calendar-event-card{display:grid;gap:2px;padding:5px 6px;line-height:1.15;min-width:0;pointer-events:none}.calendar-wrap .fc-event.is-terminal{opacity:.48;filter:grayscale(.35);cursor:default;box-shadow:none;border-left-color:var(--color-text-secondary)!important;background:var(--color-surface)!important}.calendar-wrap .fc-event.is-appt{background:var(--color-surface-2)!important;border:1px solid var(--color-border)!important;border-left:3px solid var(--color-primary)!important;color:var(--color-text-primary)!important;box-shadow:none}.calendar-wrap .fc-event.is-busy{border-left-color:var(--color-success)!important}.calendar-wrap .fc-event.is-pending{border-left-color:var(--color-warning)!important}.calendar-wrap .fc-event.is-visit{box-shadow:inset 0 0 0 1px #7c82ff47}.calendar-wrap .fc-event.is-planner-block{color:var(--color-text-primary)!important}.calendar-wrap .fc-event.is-work-mode{background:var(--color-primary-muted)!important;border:0!important;opacity:.7;box-shadow:none;pointer-events:none}.calendar-wrap .fc .fc-timegrid-now-indicator-line{border-color:var(--color-danger);border-width:2px;z-index:2;pointer-events:none}.calendar-wrap .fc .fc-timegrid-now-indicator-arrow{border-color:var(--color-danger);border-top-color:var(--color-danger);pointer-events:none}.calendar-wrap .fc .fc-non-business{background:repeating-linear-gradient(-45deg,transparent,transparent 7px,rgba(158,166,181,.04) 7px,rgba(158,166,181,.04) 14px)}.calendar-wrap .fc .fc-timegrid-slot-minor{border-top-style:dotted}.calendar-wrap .fc .fc-day-today{background:transparent}.calendar-wrap .fc .fc-timegrid-col.fc-day-today{background:#7c82ff0d}.calendar-event-client{font-size:11px;color:var(--color-text-secondary)}.calendar-event-visit{font-size:10px;color:var(--color-primary-soft)}.calendar-shell{min-width:0}.cal-mobile{display:grid;gap:var(--space-3);min-width:0}.cal-mobile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.cal-mobile-month{margin:0;font-size:1.25rem;text-transform:capitalize}.cal-mobile-nav{display:flex;gap:8px;align-items:center}.cal-touch{min-height:44px;min-width:44px}.cal-day-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin;overscroll-behavior-x:contain}.cal-day-chip{flex:0 0 auto;min-width:44px;min-height:64px;display:grid;place-items:center;gap:2px;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);transition:background var(--motion-fast),border-color var(--motion-fast)}.cal-day-chip-wd{font-size:11px;color:var(--color-text-secondary);text-transform:capitalize}.cal-day-chip-num{font-size:1.05rem;font-weight:800}.cal-day-chip.is-today{border-color:var(--color-primary)}.cal-day-chip.is-selected{background:var(--color-primary-muted);border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.cal-day-chip:focus-visible,.cal-block:focus-visible,.calendar-view-tabs .chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.calendar-detail-list{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px 12px;margin:0}.calendar-detail-list dt{color:var(--color-text-secondary);font-size:var(--text-sm)}.calendar-detail-list dd{margin:0;min-width:0}.cal-timeline{position:relative;list-style:none;margin:0;padding:0 0 0 4px;display:grid;gap:var(--space-3)}.cal-timeline:before{content:"";position:absolute;left:24px;top:4px;bottom:4px;width:2px;background:var(--color-border);pointer-events:none}.cal-timeline>li.cal-timeline-item{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:start}.cal-timeline-hour{padding-top:12px;color:var(--color-primary);font-weight:800;font-size:var(--text-sm)}.cal-block{display:grid;gap:4px;width:100%;text-align:left;min-height:44px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);background:var(--color-surface);color:inherit;transition:border-color var(--motion-fast)}.cal-block.is-busy{border-left-color:var(--color-success)}.cal-block.is-pending{border-left-color:var(--color-warning)}.cal-block.is-terminal{border-left-color:var(--color-text-secondary);opacity:.7}.cal-block.is-planner-block{border-left-style:dashed;border-left-color:var(--color-info)}.cal-block.is-visit{box-shadow:inset 0 0 0 1px #7c82ff38}.cal-visit-link{color:var(--color-primary-soft);font-size:var(--text-sm)}.cal-now-banner{grid-column:1 / -1;display:flex;align-items:center;gap:8px;color:var(--color-danger);font-size:var(--text-sm);font-weight:700}.cal-now-banner:before{content:"";flex:1;height:2px;background:var(--color-danger);opacity:.7}@media(max-width:767px){.calendar-shell{overflow-x:clip}.calendar-page-head{display:grid;gap:var(--space-3)}.calendar-page-head>.row{width:100%}.calendar-page-head>.row .btn{flex:1;min-height:44px}.calendar-view-tabs .chip,.calendar-category-chip{min-height:44px}.calendar-resource-bar{flex-direction:column;align-items:stretch}.calendar-resource-bar .field{min-width:0;width:100%}.calendar-detail-list{grid-template-columns:1fr;gap:2px}}.calendar-event-card strong{font-size:12px;white-space:normal}.calendar-event-time{font-size:10px;font-weight:800;opacity:.9}.calendar-event-meta{display:flex;flex-wrap:wrap;gap:3px 7px;font-size:10px;opacity:.9}.calendar-event-secondary{font-size:10px;opacity:.86;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-daygrid-event .calendar-event-card{padding:3px 5px}.fc-daygrid-event .calendar-event-meta,.fc-daygrid-event .calendar-event-secondary{display:none}.calendar-detail-time{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-primary-muted);color:var(--color-primary);font-weight:750}.dashboard-page{--content-max: 1320px}.dashboard-grid-container{min-height:240px;margin:0 -9px}.dash-widget{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.dash-widget:hover{box-shadow:var(--shadow-md)}.widget-drag-handle{display:flex;justify-content:space-between;align-items:center;min-height:38px;padding:8px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-soft);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:800;letter-spacing:.03em;cursor:grab;-webkit-user-select:none;user-select:none}.widget-drag-handle:active{cursor:grabbing}.widget-content{flex:1;min-height:0;overflow:auto;padding:var(--space-4)}.widget-content>.calendar-shell{height:100%}.widget-content .calendar-wrap{max-height:100%;overflow:auto}.react-grid-item.react-grid-placeholder{background:var(--color-primary)!important;border-radius:var(--radius-md);opacity:.13!important}.react-grid-item>.react-resizable-handle:after{border-color:var(--color-primary)!important;width:8px!important;height:8px!important}.dashboard-calm-state{padding:var(--space-4);border-radius:var(--radius-sm);background:var(--color-success-soft);color:var(--color-success);font-weight:700}.important-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-2)}.important-item{display:grid;align-content:start;gap:4px;min-width:0;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-soft)}.important-item>span{color:var(--color-primary);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.important-item>small{color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.important-item.warning{background:var(--color-warning-soft)}.important-item.warning>span{color:var(--color-warning)}.important-item.danger{background:var(--color-danger-soft)}.important-item.danger>span{color:var(--color-danger)}.dashboard-metric{height:100%;display:grid;align-content:center;gap:5px;padding:var(--space-2)}.dashboard-metric>span{color:var(--color-text-muted);font-size:var(--text-sm)}.dashboard-metric>strong{color:var(--color-text-primary);font-family:var(--font-display);font-size:clamp(2rem,5vw,3.25rem);line-height:1}.dashboard-metric>small{color:var(--color-text-muted)}.appointment-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:var(--space-3);align-items:center;padding:10px 0;border-bottom:1px solid var(--color-border)}.appointment-row time{color:var(--color-primary);font-weight:800}.appointment-row>div{display:grid;gap:2px;min-width:0}.appointment-row>div span{color:var(--color-text-muted);font-size:var(--text-xs)}.chip-row.compact{gap:4px}.chip-row.compact .chip{padding:4px 8px;font-size:var(--text-xs)}.analytics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.analytics-kpis>div{display:grid;gap:3px;padding:9px;border-radius:var(--radius-sm);background:var(--color-surface-soft)}.analytics-kpis span{color:var(--color-text-muted);font-size:var(--text-xs)}.analytics-kpis strong{font-family:var(--font-display);font-size:var(--text-lg)}.dashboard-chart{height:190px;min-height:140px}.empty-widget{height:100%;display:grid;place-content:center;justify-items:center;gap:6px;text-align:center}.empty-widget-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--color-success-soft);color:var(--color-success);font-weight:900}.dashboard-settings{width:min(100%,600px);justify-self:end;border-radius:var(--radius-lg) 0 0 var(--radius-lg);height:100%;max-height:100vh}.dashboard-setting-row{display:grid;gap:9px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm)}@media(min-width:768px){.more-drawer{justify-items:end}.more-panel{width:min(460px,100%);height:100%;max-height:100vh;border-radius:var(--radius-lg) 0 0 var(--radius-lg);padding:var(--space-6)}}@media(max-width:600px){.calendar-page-head,.dashboard-head{display:grid}.calendar-page-head>.row{width:100%}.calendar-page-head>.row .btn{flex:1}.calendar-controls{align-items:stretch}.calendar-view-tabs{width:100%;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.calendar-view-tabs .chip{padding:8px 4px;font-size:12px;min-height:44px}.calendar-wrap .fc .fc-button{min-height:44px!important;padding:8px 12px!important;font-size:12px!important}.calendar-wrap .fc .fc-timegrid-slot{height:3.75em}.calendar-event-card{padding:5px}.dashboard-grid-container{margin:0 -5px}.widget-content{padding:12px}.widget-drag-handle{cursor:default}.important-grid{grid-template-columns:1fr}.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-row{grid-template-columns:48px minmax(0,1fr)}.appointment-row>.badge{grid-column:2;justify-self:start}}.article-cover{border-radius:var(--radius-lg);overflow:hidden;max-height:280px}.article-cover img{width:100%;object-fit:cover;max-height:280px}.article-cover.article-cover--product{max-height:420px;background:var(--color-surface-2)}.article-cover.article-cover--product img{object-fit:contain;max-height:420px;background:var(--color-surface-2)}.shop-page{gap:var(--space-5);min-width:0}.shop-head{align-items:flex-start;gap:var(--space-3);min-width:0}.shop-head h1{min-width:0;overflow-wrap:anywhere}.shop-tabs{flex-wrap:wrap}.shop-tabs .btn{flex:1 1 auto}.shop-search{display:flex;flex-wrap:wrap;gap:var(--space-3)}.shop-search input{flex:1 1 12rem;min-width:0;min-height:var(--control-h)}.shop-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.shop-filters--drawer{grid-template-columns:1fr}.shop-product-card{min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.shop-product-media{display:block;min-width:0}.shop-product-title{display:block;overflow-wrap:anywhere;color:inherit}.shop-product-meta{min-height:1.2em;overflow-wrap:anywhere}.shop-product-price-row{gap:var(--space-2)}.shop-product-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.shop-product-actions .btn{flex:1 1 8rem}.shop-price{font-weight:700}.shop-price-lg{font-size:var(--text-xl);font-family:var(--font-display)}.shop-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--space-5);min-width:0}.shop-detail-info{min-width:0}.shop-detail-info>.badge{width:max-content}.shop-gallery{display:grid;gap:var(--space-3);min-width:0}.shop-gallery-img{width:100%;min-width:0}.shop-line{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto auto;gap:var(--space-3);align-items:center}.shop-line-copy{min-width:0;overflow-wrap:anywhere}.shop-line-total{white-space:nowrap}.shop-qty-stepper{display:inline-flex;align-items:center;gap:var(--space-2)}.shop-qty-btn{min-width:var(--control-h);min-height:var(--control-h);padding:0}.shop-qty-value{min-width:2rem;text-align:center;font-weight:700;color:var(--color-text-primary)}.shop-cart-summary{min-width:0}.checkout-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr);gap:var(--space-5);align-items:start}.shop-checkout-summary{min-width:0}.checkout-steps{display:flex;flex-wrap:wrap;gap:8px}.checkout-steps .chip{min-height:var(--control-h)}.pickup-recommended{border-color:var(--color-primary)}.pickup-map{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.pickup-option{text-align:left;width:100%}.pickup-option.active{border-color:var(--color-primary);background:var(--color-primary-muted);box-shadow:var(--shadow-glow)}.shop-order{display:flex;flex-direction:column;gap:8px;min-width:0}.shop-order--terminal{box-shadow:none}.shop-order-actions .btn{flex:1 1 10rem}.trial-banner{border-color:var(--color-primary);background:var(--color-primary-muted)}.compare-table{display:grid;gap:0}.compare-row{display:grid;grid-template-columns:minmax(0,1.6fr) 90px 90px;gap:var(--space-3);align-items:center;padding:10px 0;border-bottom:1px solid var(--color-border)}.compare-head{font-size:var(--text-sm);color:var(--color-text-muted)}@media(max-width:768px){.shop-filters,.shop-detail{grid-template-columns:1fr}.shop-line{grid-template-columns:72px minmax(0,1fr)}.shop-line .shop-qty-stepper,.shop-line .shop-line-total,.shop-line>.btn{grid-column:1 / -1}.checkout-layout{grid-template-columns:1fr}.shop-checkout-summary{display:none}}.kpi-grid-mobile{display:none}.kpi-desktop-only{display:grid}.avatar-chip{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary-muted);color:var(--color-primary);font-weight:700;flex-shrink:0}.map-compact .leaflet-container,.map-wrap.map-compact{height:380px;max-height:42vh}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.92rem}.data-table th,.data-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--color-border)}.data-table th{color:var(--color-text-muted);font-weight:600}@media(max-width:700px){.kpi-grid-desktop{display:none}.kpi-grid-mobile{display:grid}.kpi-desktop-only{display:none}.map-compact .leaflet-container,.map-wrap.map-compact{height:220px;max-height:220px}.data-table{min-width:520px}}.btn-primary{color:var(--color-primary-ink)}.sidenav,.topbar,.bottomnav{background:var(--color-surface)}.modal-backdrop,.drawer-backdrop,.more-drawer{background:var(--overlay-scrim)}.modal-sheet,.drawer-panel,.more-panel{background:var(--color-surface);border:1px solid var(--color-border)}.product-media,.avatar-lg,.image-placeholder{background:var(--gradient-image-fallback)}.cart-bar,.calendar-resource-bar,.calendar-view-tabs{background:var(--color-surface)}.toast{background:var(--color-surface-2);color:var(--color-text-primary);border:1px solid var(--color-border)}.toast--success{background:var(--color-success);color:var(--color-primary-ink)}.toast--error{background:var(--color-danger);color:var(--color-primary-ink)}.dropzone-progress{background:var(--color-surface)}.kb-lightbox{background:var(--overlay-scrim)}.media-frame{position:relative;display:grid;place-items:center;overflow:hidden;background:var(--gradient-image-fallback);border:0;border-radius:0;min-width:0}.media-frame>.edge-media,.media-frame>img,.media-frame>.media-skeleton,.media-frame>.media-fallback{width:100%;height:100%;object-fit:cover}.media-frame img,.media-frame .media-skeleton,.media-frame .media-fallback{width:100%;height:100%;object-fit:cover}.media-frame--portrait{aspect-ratio:3 / 4}.media-frame--landscape{aspect-ratio:16 / 9}.media-frame--square{aspect-ratio:1 / 1}.media-frame--cover{aspect-ratio:2 / 1}.media-frame--product{aspect-ratio:4 / 5}.media-frame--thumb{width:72px;height:72px;flex-shrink:0}.media-frame--avatar{width:88px;height:88px;border-radius:50%;flex-shrink:0}.media-skeleton{min-height:72px;width:100%;background:linear-gradient(90deg,var(--color-surface-2) 0%,var(--color-surface-3) 45%,var(--color-surface-2) 100%);background-size:200% 100%;animation:skeleton-shine 1.2s var(--ease-standard) infinite;border-radius:inherit}.media-fallback{display:grid;place-items:center;min-height:72px;width:100%;background:var(--gradient-image-fallback);color:var(--color-primary-soft);font-weight:700;font-size:var(--text-sm);letter-spacing:.04em;border-radius:inherit}.caption{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:500}.meta,.body-small{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.label-text{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.display{font-size:clamp(1.75rem,4vw,var(--text-display));font-weight:700;letter-spacing:-.03em}.body{font-size:var(--text-md);color:var(--color-text-primary);line-height:1.5}.page{animation:page-in var(--motion-emphasized) var(--ease-out)}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.nav-icon{display:block;flex-shrink:0}.sidenav a,.more-panel a{display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-h)}.bottomnav a,.bottomnav button.nav-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;white-space:nowrap}.bottomnav .nav-icon{width:22px;height:22px}.app-shell.app-shell--auth{display:flex;flex-direction:column;align-items:stretch;width:100%;min-height:100vh;min-height:100dvh;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}.app-shell--auth .page.page-narrow,.app-shell--auth .auth-screen{width:min(100% - 2 * var(--space-4),480px);margin-inline:auto;padding-bottom:var(--space-7)}.auth-screen{gap:var(--space-4)}.auth-screen>p,.auth-lead{max-width:32ch;font-size:var(--text-sm)}@media(min-width:768px){.app-shell.app-shell--auth{display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-6)}.app-shell--auth .page.page-narrow.auth-screen{width:min(100%,480px);min-height:0;padding:0;align-content:start}.auth-screen>p,.auth-lead{max-width:42ch}}.auth-screen fieldset{border:0;padding:0;margin:0;min-width:0}.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.segmented--2{grid-template-columns:1fr 1fr}.segmented label{position:relative;display:grid;place-items:center;min-height:var(--control-h);padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-weight:650;color:var(--color-text-secondary);cursor:pointer;text-align:center;transition:border-color var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.segmented label.is-active{background:var(--color-primary-muted);border-color:transparent;color:var(--color-primary);box-shadow:var(--shadow-glow)}.segmented input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.appt-card{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border-left-width:4px;min-width:0;transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard)}.appt-card--waiting{border-left-color:var(--color-warning)}.appt-card--live{border-left-color:var(--color-primary)}.appt-card--upcoming{border-left-color:var(--color-success)}.appt-card--done{border-left-color:var(--color-info)}.appt-card--cancelled{border-left-color:var(--color-text-secondary);opacity:.78}.appt-card--cancelled .appt-card-title{text-decoration:line-through;color:var(--color-text-secondary)}.appt-card-main{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--space-3);align-items:start;min-width:0}.appt-card-when{display:grid;gap:2px}.appt-card-when strong{font-family:var(--font-display);font-size:var(--text-xl);line-height:1.1;color:var(--color-text-primary)}.appt-card-when span{font-size:var(--text-xs);font-weight:600;color:var(--color-text-secondary);text-transform:capitalize}.appt-card-body{display:grid;gap:8px;min-width:0}.appt-card-who{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2);align-items:start}.appt-card-avatar{width:32px;height:32px;border-radius:var(--radius-pill);display:grid;place-items:center;background:var(--color-surface-2);color:var(--color-text-primary);font-size:var(--text-xs);font-weight:700}.appt-card-who-text{min-width:0}.appt-card-title{font-size:var(--text-lg)}.appt-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.appt-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.appt-card-actions .btn{flex:1 1 auto}.service-card--media{padding:0;gap:0;overflow:hidden}.service-card--media .media-frame{border:0;border-radius:0}.service-card-body{display:grid;gap:var(--space-3);padding:var(--space-4)}.service-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-2)}.service-card-price{font-family:var(--font-display);font-size:var(--text-xl)}.service-card--media .muted{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-4);align-items:center}.profile-actions{display:grid;gap:var(--space-2)}.profile-actions .btn{justify-content:flex-start;width:100%}.page-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.page-toolbar .btn{flex:0 0 auto}.dashboard-hero{display:grid;gap:var(--space-4)}.dashboard-quick{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.dashboard-quick .btn{flex:0 0 auto}.home-master-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:var(--space-3);align-items:center}.home-master-card .avatar-circle{width:48px;height:48px;font-size:var(--text-sm)}.search-master-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--space-3);align-items:start}.search-master-card .avatar-circle{width:56px;height:56px;font-size:var(--text-sm)}@media(max-width:767px){.btn-compact,.tabs a,.tabs button{min-height:var(--control-h)}.page-toolbar{display:grid;gap:var(--space-3)}.page-toolbar>.stack-sm{min-width:0}.page-toolbar .btn{width:100%}.appt-card-main{grid-template-columns:64px minmax(0,1fr)}.appt-card-when strong{font-size:var(--text-lg)}.profile-hero{grid-template-columns:1fr;justify-items:start}.dashboard-hero .row{width:100%}.dashboard-hero .row .btn{flex:1}}@media(min-width:768px){.profile-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end}}@media(max-width:767px){.hero{grid-template-columns:1fr}.modal-sheet{width:100%;max-height:100dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.messenger-overlay{place-items:end;justify-content:end;padding:var(--space-4);align-items:end}.messenger-panel{width:min(420px,calc(100vw - 32px));height:min(640px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:0;padding:0}.messenger-app{display:flex;flex-direction:column;min-height:0;min-width:0;flex:1;height:100%;overflow:hidden}.app-shell:has(.messenger-page){height:100dvh;max-height:100dvh;overflow:hidden}.app-shell:has(.messenger-page) .shell-main{min-height:0;overflow:hidden;display:flex;flex-direction:column}.app-shell:has(.messenger-page) .shell-main>:not(.topbar){flex:1 1 auto;min-height:0;overflow:hidden}.messenger-page{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-top:var(--space-3);padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom,0px))}.messenger-page .messenger-app--page{flex:1;min-height:0;height:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.messenger-list,.messenger-thread{display:flex;flex-direction:column;min-height:0;min-width:0;flex:1;overflow:hidden}.messenger-list-head,.messenger-thread-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-border);flex-shrink:0}.messenger-thread-title{min-width:0;flex:1}.messenger-thread-title h2,.messenger-list-head h2{margin:0;font-size:var(--text-lg)}.messenger-list-scroll{overflow:auto;flex:1;min-height:0;overscroll-behavior:contain}.messenger-row{display:flex;gap:var(--space-3);width:100%;text-align:left;padding:var(--space-3);border:0;border-bottom:1px solid var(--color-border);background:transparent;color:inherit;min-height:44px;min-width:0}.messenger-row.is-selected{background:var(--color-primary-muted);box-shadow:var(--shadow-glow)}.messenger-avatar{width:40px;height:40px;border-radius:var(--radius-pill);background:var(--color-surface-3);display:grid;place-items:center;flex-shrink:0;font-weight:650;font-size:var(--text-sm)}.messenger-row-body{min-width:0;flex:1}.messenger-preview,.messenger-meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messenger-history{flex:1;overflow:auto;min-height:0;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);overscroll-behavior:contain}.chat-bubble{max-width:min(100%,320px);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-2);align-self:flex-start;min-width:0}.chat-bubble.is-own{align-self:flex-end;background:var(--color-primary-muted)}.chat-bubble.is-failed{outline:1px solid var(--color-danger)}.chat-bubble-text{margin:0;overflow-wrap:anywhere;word-break:break-word;white-space:pre-wrap}.chat-bubble-meta{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--color-text-muted)}.chat-media-image,.chat-media-video video,.composer-preview img,.composer-preview video,.chat-pending-thumb{display:block;max-width:100%;max-height:220px;border-radius:var(--radius-sm);object-fit:cover}.chat-media-image{padding:0;border:0;background:transparent;cursor:zoom-in;min-height:44px}.chat-media-skel{min-height:120px;border-radius:var(--radius-sm)}.messenger-composer{flex-shrink:0;padding:var(--space-2) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border);background:var(--color-surface)}.composer-row{display:flex;gap:var(--space-2);align-items:flex-end}.composer-attach,.composer-send{min-width:44px;min-height:44px;flex-shrink:0}.composer-row textarea{flex:1;min-width:0;min-height:44px;max-height:120px;resize:none;overflow-wrap:anywhere}.composer-preview{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.composer-preview img,.composer-preview video{max-height:72px;max-width:120px}.chat-new-msg{align-self:center;margin:var(--space-2);min-height:44px;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--color-surface-3);color:var(--color-text);font-weight:650}.chat-load-older{text-align:center}.nav-unread{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;margin-left:6px;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-primary-ink);font-size:11px;font-weight:700}@media(max-width:767px){.messenger-page .messenger-app--page{min-height:0;border:0;border-radius:0;background:transparent}.messenger-app--page.has-thread .messenger-list{display:none}.messenger-overlay{place-items:stretch;padding:0}.messenger-panel{width:100%;height:100dvh;max-height:100dvh;border-radius:0}}@media(min-width:768px){.messenger-overlay{place-items:end}.messenger-app--page{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr)}.messenger-app--page .messenger-list{border-right:1px solid var(--color-border)}.messenger-page{padding-bottom:var(--space-5)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-page{gap:var(--space-4)}.admin-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.admin-kpi-card{display:flex;flex-direction:column;gap:8px;min-height:88px;text-decoration:none;color:inherit}.admin-kpi-card strong{font-size:1.5rem}.admin-search{display:flex;gap:8px;flex-wrap:wrap}.admin-search input{min-height:44px;flex:1}.admin-filters-desktop{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:end}.admin-filters-mobile{display:none;gap:8px}.admin-card-list{display:none}.admin-card-link{text-decoration:none;color:inherit}.admin-card{min-height:44px}.admin-card-row{display:flex;justify-content:space-between;gap:12px;min-height:44px;align-items:center}.admin-pagination{justify-content:center}.admin-pagination .btn{min-height:44px;min-width:44px}.admin-media{width:100%;max-width:360px;border-radius:14px;overflow:hidden}.admin-article-body{white-space:pre-wrap}.admin-audit-preview{list-style:none;padding:0;margin:0}.admin-audit-preview li{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0;border-bottom:1px solid var(--color-border)}@media(max-width:767px){.admin-kpi{grid-template-columns:1fr 1fr}.admin-filters-desktop,.admin-table-desktop{display:none}.admin-filters-mobile,.admin-card-list{display:flex;flex-direction:column}.admin-filters-mobile{flex-direction:row}.admin-filters-mobile .btn{min-height:44px}}.kb-editor-layout{display:grid;gap:var(--space-4);grid-template-areas:"title" "status" "content" "media" "products" "cats" "actions"}.kb-ed-title{grid-area:title;min-width:0}.kb-ed-status{grid-area:status;min-width:0}.kb-ed-content{grid-area:content;min-width:0}.kb-ed-media{grid-area:media;min-width:0}.kb-ed-products{grid-area:products;min-width:0}.kb-ed-cats{grid-area:cats;min-width:0}.kb-ed-actions{grid-area:actions;min-width:0}.kb-editor-meta{display:grid;gap:var(--space-3);grid-template-columns:1fr}.kb-editor-action-list{display:grid;gap:var(--space-2)}.kb-editor-action-list .btn{width:100%}.kb-product-chip{min-height:var(--control-h);gap:var(--space-2)}.kb-suggest button{min-height:var(--control-h);width:100%;text-align:left}.kb-cover .media-fallback,.article-cover .media-fallback,.article-cover .media-skeleton{width:100%;height:100%;min-height:148px;display:grid;place-items:center;background:var(--gradient-image-fallback);color:var(--color-text-muted)}.supplier-form-grid{display:grid;gap:var(--space-3);grid-template-columns:1fr}.history-card.is-terminal,.card.is-terminal{opacity:.72}.import-report{max-width:100%}.import-report pre{margin:0;padding:var(--space-3);white-space:pre-wrap;font-size:var(--text-sm);background:var(--color-surface-soft);border-radius:var(--radius-sm)}@media(max-width:767px){.kb-editor .btn-compact,.supplier-catalog .btn-compact,.kb-hub .btn-compact,.kb-card-actions .btn,.editor-toolbar button{min-height:var(--control-h)}}@media(min-width:768px){.kb-editor-layout{grid-template-columns:minmax(0,1fr) minmax(240px,300px);grid-template-areas:"title status" "content products" "content cats" "media actions";align-items:start}.kb-editor-meta{grid-template-columns:1fr 1fr}.supplier-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.nav-order{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.nav-order-title{font-size:var(--text-sm);margin:0}.nav-order-row{gap:var(--space-2);min-height:48px;padding:var(--space-2) 0}.nav-order-row.is-dragging{opacity:.55}.nav-order-row.is-drop{box-shadow:inset 0 -2px 0 var(--color-primary)}.nav-order-handle{width:44px;height:44px;display:grid;place-items:center;color:var(--color-text-secondary);touch-action:none;cursor:grab;border-radius:var(--radius-sm)}.nav-order-handle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.invite-qr-block img{border-radius:var(--radius-md);background:#fff}.break-all{overflow-wrap:anywhere;word-break:break-all}.media-first-card.service-card--edge,.media-first-card.home-master-card,.media-first-card.search-master-card{border:0}.media-bleed{margin-inline:calc(var(--space-4) * -1)}.media-bleed-frame{overflow:hidden;border-radius:0}.bottomnav{z-index:26}
