.palette{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;align-items:flex-start;justify-content:center;padding:12vh var(--spacing-md) var(--spacing-md);background:color-mix(in srgb,var(--color-text-primary) 40%,transparent);animation:palette-fade .12s ease-out}.palette__dialog{display:flex;flex-direction:column;width:min(36rem,100%);max-height:min(30rem,70vh);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xl);overflow:hidden}.palette__search{display:flex;align-items:center;gap:.75rem;padding:0 var(--spacing-md);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary)}.palette__input{flex:1;min-width:0;height:3.25rem;border:none;background:transparent;color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-base);outline:none}.palette__input::placeholder{color:var(--color-text-tertiary)}.palette__key{padding:.125rem .375rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background-secondary);font-family:inherit;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.palette__results{margin:0;padding:var(--spacing-sm);list-style:none;overflow-y:auto}.palette__group{padding:.5rem .75rem .25rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary)}.palette__item{display:flex;align-items:center;gap:.75rem;min-height:2.5rem;padding:0 .75rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer}.palette__item svg{flex-shrink:0;color:var(--color-text-secondary)}.palette__item--active{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.palette__item--active svg{color:var(--color-primary)}.palette__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette__hint{flex-shrink:0;font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.palette__empty{padding:var(--spacing-md) .75rem;font-size:var(--font-size-sm);color:var(--color-text-secondary)}@keyframes palette-fade{0%{opacity:0}}@media (max-width: 768px){.palette{padding-top:var(--spacing-md)}}@media (prefers-reduced-motion: reduce){.palette{animation:none}}.shell{--sidebar-width: 15rem;--content-gutter: 2.5rem;--tint-primary: color-mix(in srgb, var(--color-primary) 9%, var(--color-surface));--z-sticky: 10;--z-scrim: 30;--z-sidebar: 40;--z-menu: 50;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100dvh;background:var(--color-surface);font-size:var(--font-size-sm)}.shell__skip{position:absolute;top:var(--spacing-sm);left:var(--spacing-sm);z-index:100;padding:.5rem .75rem;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-inverse);font-weight:var(--font-weight-medium);transform:translateY(-200%)}.shell__skip:focus{transform:none}.shell__scrim{display:none}.shell :where(a,button):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sidebar{position:sticky;top:0;z-index:var(--z-sidebar);display:flex;flex-direction:column;gap:var(--spacing-md);height:100dvh;padding:var(--spacing-md) .75rem .75rem;background:var(--color-background-secondary);border-right:1px solid var(--color-border)}.sidebar__top{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:0 .5rem}.sidebar__brand{display:flex;align-items:center;gap:.625rem;min-width:0;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);letter-spacing:-.01em}.sidebar__brand:hover{color:var(--color-text-primary);text-decoration:none}.sidebar__brand-mark{display:grid;place-items:center;width:1.75rem;height:1.75rem;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-inverse)}.sidebar__brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__close{display:none}.sidebar__collapse{display:grid;place-items:center;width:2rem;height:2rem;flex-shrink:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease}.sidebar__collapse:hover{background:var(--color-background-tertiary);color:var(--color-text-primary)}.sidebar__search{display:flex;align-items:center;gap:.5rem;width:100%;height:2.25rem;padding:0 .625rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:border-color .15s ease,color .15s ease}.sidebar__search:hover{border-color:var(--color-border-dark);color:var(--color-text-primary)}.sidebar__search-label{flex:1;text-align:left}.sidebar__search-key{font-family:inherit;font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.sidebar__nav{flex:1;min-height:0;overflow-y:auto}.sidebar__group{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.sidebar__section+.sidebar__section{margin-top:var(--spacing-md)}.sidebar__heading{margin:0 0 var(--spacing-xs);padding:0 .625rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.6;color:var(--color-text-tertiary)}.sidebar__item{display:flex;align-items:center;gap:.75rem;height:2.25rem;padding:0 .625rem;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:background-color .15s ease,color .15s ease}.sidebar__item svg{flex-shrink:0}.sidebar__item:hover{background:var(--color-background-tertiary);color:var(--color-text-primary);text-decoration:none}.sidebar__item--active,.sidebar__item--active:hover{background:var(--color-surface);box-shadow:0 0 0 1px var(--color-border);color:var(--color-text-primary)}.sidebar__item--active svg{color:var(--color-primary)}.account{position:relative}.account__trigger{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-family:inherit;text-align:left;cursor:pointer;transition:background-color .15s ease}.account__trigger:hover,.account__trigger[aria-expanded=true]{background:var(--color-background-tertiary)}.account__avatar{display:grid;place-items:center;width:2rem;height:2rem;flex-shrink:0;border-radius:var(--radius-full);background:var(--color-text-primary);color:var(--color-surface);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.account__identity{display:flex;flex:1;flex-direction:column;min-width:0;line-height:1.35}.account__name{overflow:hidden;font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}.account__role{overflow:hidden;font-size:var(--font-size-xs);text-overflow:ellipsis;white-space:nowrap}.account__menu{position:absolute;right:0;bottom:calc(100% + .5rem);left:0;z-index:var(--z-menu);display:flex;flex-direction:column;padding:.375rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.account__section{display:flex;flex-direction:column;gap:.375rem;padding:.5rem;border-bottom:1px solid var(--color-border)}.account__label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.account__choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:2px;border-radius:var(--radius-md);background:var(--color-background-tertiary)}.account__choice{height:1.875rem;border:none;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer}.account__choice--active{background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text-primary)}.account__row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:2rem;padding:0 .5rem;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer}.account__row:hover{background:var(--color-background-tertiary)}.account__row svg{color:var(--color-primary)}.account__row--signout{justify-content:flex-start;margin-top:.375rem}.account__row--signout svg{color:var(--color-text-secondary)}.shell__main{display:flex;flex-direction:column;min-width:0}.mobile-bar{display:none}.section-tabs{position:sticky;top:0;z-index:var(--z-sticky);display:flex;gap:var(--spacing-lg);padding:0 var(--content-gutter);border-bottom:1px solid var(--color-border);background:var(--color-surface);overflow-x:auto;scrollbar-width:none}.section-tabs__tab{flex-shrink:0;margin-bottom:-1px;padding:.875rem 0 .75rem;border-bottom:2px solid transparent;font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap;transition:color .15s ease,border-color .15s ease}.section-tabs__tab:hover{color:var(--color-text-primary);text-decoration:none}.section-tabs__tab--active,.section-tabs__tab--active:hover{border-bottom-color:var(--color-primary);color:var(--color-text-primary)}.dashboard-content{flex:1;width:100%;padding:2rem var(--content-gutter) 3rem;outline:none}@media (min-width: 1025px){.shell--collapsed{--sidebar-width: 4rem}.shell--collapsed .sidebar{padding-right:.5rem;padding-left:.5rem}.shell--collapsed .sidebar__top{flex-direction:column;padding:0}.shell--collapsed .sidebar__heading{height:0;margin:0;padding:0;overflow:hidden}.shell--collapsed .sidebar__section+.sidebar__section{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.shell--collapsed .sidebar__brand-name,.shell--collapsed .sidebar__search-label,.shell--collapsed .sidebar__search-key,.shell--collapsed .sidebar__item span,.shell--collapsed .account__identity,.shell--collapsed .account__trigger>svg{display:none}.shell--collapsed .sidebar__search,.shell--collapsed .sidebar__item,.shell--collapsed .account__trigger{justify-content:center;padding-right:0;padding-left:0}.shell--collapsed .account__menu{right:auto;width:14rem}}@media (max-width: 1024px){.shell{--content-gutter: var(--spacing-md);grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:min(18rem,86vw);transform:translate(-100%);transition:transform .25s cubic-bezier(.16,1,.3,1)}.shell--menu-open .sidebar{transform:none;box-shadow:var(--shadow-xl)}.shell--menu-open .shell__scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-scrim);border:none;background:color-mix(in srgb,var(--color-text-primary) 40%,transparent);cursor:pointer}.sidebar__collapse{display:none}.sidebar__close,.mobile-bar__button{display:grid;place-items:center;width:2.5rem;height:2.5rem;flex-shrink:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-primary);cursor:pointer}.sidebar__item{height:2.75rem}.sidebar__search-key{display:none}.mobile-bar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--spacing-sm);height:3.25rem;padding:0 .375rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.mobile-bar__title{flex:1;min-width:0;overflow:hidden;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}.section-tabs{top:3.25rem;gap:var(--spacing-md)}.dashboard-content{padding-top:var(--spacing-lg)}}@media (prefers-reduced-motion: reduce){.sidebar,.sidebar__collapse,.sidebar__item,.sidebar__search,.section-tabs__tab{transition:none}}.dashboard-content{--tint-primary: color-mix(in srgb, var(--color-primary) 10%, var(--color-surface))}.dashboard-content .page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.dashboard-content .page-title{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;line-height:1.3;color:var(--color-text-primary)}.dashboard-content .page-subtitle{margin:.25rem 0 0;font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text-secondary)}.dashboard-content .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:2.625rem;padding:0 var(--spacing-md);border:1px solid transparent;border-radius:var(--radius-md);box-shadow:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.4;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.dashboard-content .btn:hover{box-shadow:none;transform:none}.dashboard-content .btn:active{transform:scale(.98)}.dashboard-content .btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.dashboard-content .btn--primary{background:var(--color-primary);color:var(--color-text-inverse)}.dashboard-content .btn--primary:hover{background:var(--color-primary-hover);color:var(--color-text-inverse)}.dashboard-content .btn--secondary{border-color:var(--color-border-dark);background:var(--color-surface);color:var(--color-text-primary)}.dashboard-content .btn--secondary:hover{background:var(--color-background-tertiary)}.dashboard-content .form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:1.25rem var(--spacing-lg)}.dashboard-content .form-group{display:flex;flex-direction:column;gap:.375rem;min-width:0}.dashboard-content .form-group--full{grid-column:1 / -1}.dashboard-content .required{color:var(--color-error)}.dashboard-content .form-section{margin-bottom:var(--spacing-lg)}.dashboard-content .form-section__title{margin:0 0 var(--spacing-lg);padding-bottom:.875rem;border-bottom:1px solid var(--color-border);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.4;color:var(--color-text-primary)}.dashboard-content .form-section__hint{margin:0;font-size:var(--font-size-sm);line-height:1.45;color:var(--color-text-secondary)}.dashboard-content .form-section__title+.form-section__hint{margin:calc(-1 * var(--spacing-sm)) 0 var(--spacing-md)}.dashboard-content .form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.dashboard-content .form-tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border);overflow-x:auto}.dashboard-content .tab-button{margin-bottom:-1px;padding:.75rem var(--spacing-md);border:none;border-bottom:2px solid transparent;background:transparent;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap;cursor:pointer;transition:color .15s ease,border-color .15s ease}.dashboard-content .tab-button:hover{color:var(--color-text-primary)}.dashboard-content .tab-button.active{border-bottom-color:var(--color-primary);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.dashboard-content .filters,.dashboard-content .list-toolbar{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--spacing-sm) var(--spacing-md);margin:0;padding:0;border:none;background:transparent}.dashboard-content .filter-group,.dashboard-content .filter-select{display:flex;flex:0 1 auto;align-items:center;gap:var(--spacing-sm);min-width:0;margin:0;padding:0;border:none;background:transparent}.dashboard-content .filters>.filter-group:first-child,.dashboard-content .list-toolbar__search{flex:0 1 22rem;min-width:min(100%,14rem)}.dashboard-content .filters .app-field,.dashboard-content .list-toolbar .app-field{flex:1 1 auto;min-width:11rem}.dashboard-content .filters>.filter-group:not(:first-child) .app-field,.dashboard-content .list-toolbar__filter .app-field{flex:none;width:auto;min-width:0}.dashboard-content .filters>.filter-group:not(:first-child) select.app-field__control,.dashboard-content .list-toolbar__filter select.app-field__control{width:auto}.dashboard-content .list-toolbar__count{margin-left:auto;font-size:var(--font-size-base);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.dashboard-content .filter-tabs,.dashboard-content .segmented{display:inline-flex;gap:2px;margin:0;padding:2px;border-radius:var(--radius-md);background:var(--color-background-tertiary)}.dashboard-content .filter-tab,.dashboard-content .segmented__option{min-height:2rem;padding:0 var(--spacing-md);border:none;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .15s ease,color .15s ease}.dashboard-content .filter-tab:hover,.dashboard-content .segmented__option:hover{color:var(--color-text-primary)}.dashboard-content .filter-tab.active,.dashboard-content .segmented__option[aria-pressed=true]{background:var(--color-surface);color:var(--color-text-primary);box-shadow:0 1px 2px color-mix(in srgb,var(--color-text-primary) 14%,transparent)}.dashboard-content .filter-tab:focus-visible,.dashboard-content .segmented__option:focus-visible,.dashboard-content .btn-icon:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.dashboard-content .status-badge,.dashboard-content .payment-status-badge,.dashboard-content .stock-status{--status-color: var(--color-text-tertiary);display:inline-flex;align-items:center;gap:.4rem;padding:0;border:none;border-radius:0;background:transparent;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);letter-spacing:0;text-transform:none;white-space:nowrap}.dashboard-content .status-badge:before,.dashboard-content .payment-status-badge:before,.dashboard-content .stock-status:before{content:"";flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--status-color)}.dashboard-content .status-warning,.dashboard-content .status-pending,.dashboard-content .status-badge--warning,.dashboard-content .payment-status-badge--warning,.dashboard-content .stock-status--low{--status-color: var(--color-status-pending)}.dashboard-content .status-info,.dashboard-content .status-confirmed,.dashboard-content .status-badge--info,.dashboard-content .payment-status-badge--info{--status-color: var(--color-status-confirmed)}.dashboard-content .status-success,.dashboard-content .status-completed,.dashboard-content .status-badge--success,.dashboard-content .payment-status-badge--success,.dashboard-content .stock-status--ok{--status-color: var(--color-status-completed)}.dashboard-content .status-danger,.dashboard-content .status-cancelled,.dashboard-content .status-badge--danger,.dashboard-content .stock-status--out{--status-color: var(--color-status-cancelled)}.dashboard-content .status-secondary,.dashboard-content .status-badge--secondary,.dashboard-content .payment-status-badge--secondary,.dashboard-content .stock-status--off{--status-color: var(--color-text-tertiary);color:var(--color-text-secondary)}.dashboard-content .action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:2px}.dashboard-content .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;transform:none;transition:background-color .15s ease,color .15s ease}.dashboard-content .btn-icon:hover{background:var(--color-background-tertiary);color:var(--color-text-primary);transform:none}.dashboard-content .btn-icon--delete:hover{background:color-mix(in srgb,var(--color-error) 12%,var(--color-surface));color:var(--color-error)}.dashboard-content .cell-code{font-family:var(--font-family-mono);font-size:var(--font-size-base);color:var(--color-text-secondary)}.dashboard-content .cell-number{display:block;text-align:right;font-variant-numeric:tabular-nums}.dashboard-content .app-table .header-content:has(.cell-number){justify-content:flex-end}.dashboard-content .app-table td:has(.cell-sub){min-width:15rem}.dashboard-content .cell-main{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.dashboard-content a.cell-link{display:inline-block;text-decoration:none}.dashboard-content a.cell-link:hover{color:var(--color-primary);text-decoration:underline}.dashboard-content .cell-nowrap{white-space:nowrap}.dashboard-content .cell-sub{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dashboard-content .error{margin:0 0 var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border:none;border-left:3px solid var(--color-error);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-error) 8%,var(--color-surface));color:var(--color-text-primary);font-size:var(--font-size-sm)}.dashboard-content .app-card{padding:0;border:none;border-radius:0;background:transparent}.dashboard-content .app-card+.app-card,.dashboard-content form>.app-card+.app-card{margin-top:var(--spacing-lg)}.dashboard-content .list-search{max-width:24rem}@media (max-width: 768px){.dashboard-content .page-header{flex-direction:column;align-items:stretch}.dashboard-content .page-title{font-size:var(--font-size-xl)}.dashboard-content .form-section__hint{margin:0;font-size:var(--font-size-sm);line-height:1.45;color:var(--color-text-secondary)}.dashboard-content .form-section__title+.form-section__hint{margin:calc(-1 * var(--spacing-sm)) 0 var(--spacing-md)}.dashboard-content .form-actions{flex-direction:column-reverse}.dashboard-content .form-actions .app-button{width:100%}}@media (prefers-reduced-motion: reduce){.dashboard-content .btn,.dashboard-content .tab-button{transition:none}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.landing-page{--landing-nav-height: 68px;--tint-primary: color-mix(in srgb, var(--color-primary) 8%, var(--color-background));--tint-primary-strong: color-mix(in srgb, var(--color-primary) 16%, var(--color-background));--shadow-tinted: 0 24px 48px -24px color-mix(in srgb, var(--color-primary) 35%, transparent);--ease-out: cubic-bezier(.16, 1, .3, 1);--z-nav: 20;min-height:100dvh;background:var(--color-background);color:var(--color-text-primary)}html:has(.landing-page){scroll-behavior:smooth;scroll-padding-top:var(--landing-nav-height, 68px)}.landing-page :where(h1,h2,h3,p,ul){margin:0}.landing-page :where(ul){padding:0;list-style:none}.landing-page a:focus-visible,.landing-page button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.landing-container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.landing-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);height:40px;padding:0 var(--spacing-md);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .1s ease}.landing-btn:hover{text-decoration:none}.landing-btn:active{transform:scale(.98)}.landing-btn--large{height:52px;padding:0 var(--spacing-lg);font-size:var(--font-size-base)}.landing-btn--primary{background:var(--color-primary);color:var(--color-text-inverse)}.landing-btn--primary:hover{background:var(--color-primary-hover);color:var(--color-text-inverse)}.landing-btn--primary svg{transition:transform .2s var(--ease-out)}.landing-btn--primary:hover svg{transform:translate(3px)}.landing-btn--outline{border-color:var(--color-border-dark);background:var(--color-surface);color:var(--color-text-primary)}.landing-btn--outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.landing-btn--ghost{color:var(--color-text-primary)}.landing-btn--ghost:hover{background:var(--color-background-tertiary);color:var(--color-text-primary)}.landing-nav{position:sticky;top:0;z-index:var(--z-nav);background:color-mix(in srgb,var(--color-background) 85%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border)}.landing-nav__content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);height:var(--landing-nav-height)}.landing-nav__brand{display:flex;align-items:center;gap:.75rem;color:var(--color-text-primary)}.landing-nav__brand:hover{color:var(--color-text-primary);text-decoration:none}.landing-nav__logo{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-inverse)}.landing-nav__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;white-space:nowrap}.landing-nav__links{display:flex;align-items:center;gap:var(--spacing-xl)}.landing-nav__link{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.landing-nav__link:hover{color:var(--color-text-primary);text-decoration:none}.landing-nav__actions{display:flex;align-items:center;gap:var(--spacing-sm)}.landing-nav__lang{height:40px;padding:0 .75rem;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color .2s ease,color .2s ease}.landing-nav__lang:hover{background:var(--color-background-tertiary);color:var(--color-text-primary)}.landing-hero{position:relative;overflow:hidden;padding:5rem 0 6rem;background:radial-gradient(60rem 30rem at 85% 0%,var(--tint-primary-strong),transparent 70%),var(--color-background)}.landing-hero__content{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:4rem;align-items:center;min-height:calc(100dvh - var(--landing-nav-height) - 11rem)}.landing-hero__title{font-size:clamp(2.25rem,4.2vw,3.25rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;line-height:1.2;text-wrap:balance}.landing-hero__highlight{color:var(--color-primary)}.landing-hero__subtitle{max-width:52ch;margin-top:var(--spacing-lg);font-size:var(--font-size-lg);line-height:1.65;color:var(--color-text-secondary);text-wrap:pretty}.landing-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:var(--spacing-xl)}.landing-hero__text>*{animation:landing-rise .7s var(--ease-out) both}.landing-hero__text>:nth-child(2){animation-delay:.08s}.landing-hero__text>:nth-child(3){animation-delay:.16s}.landing-chart{display:flex;flex-direction:column;gap:.875rem;padding:2.5rem 2rem 2rem;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-tinted)}.landing-chart__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--spacing-md);padding-bottom:.875rem;border-bottom:1px solid var(--color-border-light);animation:landing-rise .6s var(--ease-out) both;animation-delay:calc(.25s + var(--row) * .07s)}.landing-chart__row:last-child{padding-bottom:0;border-bottom:none}.landing-chart__letters{font-family:var(--font-family-mono);font-size:calc(3.25rem - var(--row) * .38rem);font-weight:var(--font-weight-bold);letter-spacing:.18em;line-height:1.1;text-align:center;color:var(--color-text-primary);white-space:nowrap}.landing-chart__row:last-child .landing-chart__letters{color:var(--color-primary)}.landing-chart__acuity{font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;color:var(--color-text-tertiary)}.landing-section{padding:6rem 0}.landing-section--tinted{background:var(--color-background-secondary);border-block:1px solid var(--color-border)}.landing-section__header{max-width:40rem;margin-bottom:3rem}.landing-section__title{font-size:clamp(1.875rem,3.2vw,2.5rem);font-weight:var(--font-weight-bold);letter-spacing:-.025em;line-height:1.25;text-wrap:balance}.landing-section__subtitle{margin-top:.75rem;font-size:var(--font-size-lg);line-height:1.6;color:var(--color-text-secondary);text-wrap:pretty}.landing-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-md)}.landing-service{display:flex;flex-direction:column;min-height:15rem;padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}.landing-service:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.landing-service:first-child,.landing-service:last-child{grid-column:span 2}.landing-service:first-child{border-color:transparent;background:var(--color-primary)}.landing-service:first-child .landing-service__title,.landing-service:first-child .landing-service__description{color:var(--color-text-inverse)}.landing-service:first-child .landing-service__icon{background:color-mix(in srgb,var(--color-text-inverse) 18%,transparent);color:var(--color-text-inverse)}.landing-service:last-child{background:radial-gradient(var(--color-border-dark) 1px,transparent 1px) 0 0 / 18px 18px,var(--tint-primary)}.landing-service__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-lg);background:var(--tint-primary-strong);color:var(--color-primary)}.landing-service__title{margin-top:auto;padding-top:var(--spacing-lg);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;line-height:1.35}.landing-service__description{max-width:38ch;margin-top:var(--spacing-sm);font-size:var(--font-size-sm);line-height:1.6;color:var(--color-text-secondary)}.landing-reasons{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem;align-items:start}.landing-reasons__intro{position:sticky;top:calc(var(--landing-nav-height) + 2rem)}.landing-reason{display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg) 0;border-top:1px solid var(--color-border)}.landing-reason:last-child{border-bottom:1px solid var(--color-border)}.landing-reason__icon{flex-shrink:0;margin-top:.125rem;color:var(--color-primary)}.landing-reason__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;line-height:1.35}.landing-reason__description{max-width:52ch;margin-top:.375rem;line-height:1.6;color:var(--color-text-secondary)}.landing-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--spacing-xl);align-items:center;padding:3.5rem;border:1px solid color-mix(in srgb,var(--color-primary) 25%,var(--color-border));border-radius:var(--radius-xl);background:radial-gradient(40rem 20rem at 100% 0%,var(--tint-primary-strong),transparent 70%),var(--tint-primary)}.landing-cta__title{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:var(--font-weight-bold);letter-spacing:-.025em;line-height:1.25;text-wrap:balance}.landing-cta__subtitle{max-width:48ch;margin-top:.75rem;line-height:1.6;color:var(--color-text-secondary)}.landing-cta__actions{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.landing-cta__phone{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.landing-cta__phone-number{display:block;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.landing-footer{padding:4rem 0 2rem;border-top:1px solid var(--color-border);background:var(--color-background-secondary)}.landing-footer__content{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1.2fr);gap:3rem}.landing-footer__brand{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.landing-footer__text{max-width:40ch;margin-top:.75rem;font-size:var(--font-size-sm);line-height:1.65;color:var(--color-text-secondary)}.landing-footer__heading{margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.5;color:var(--color-text-primary)}.landing-footer__links,.landing-footer__contacts{display:flex;flex-direction:column;gap:.75rem;font-size:var(--font-size-sm);line-height:1.5}.landing-footer__links a{color:var(--color-text-secondary)}.landing-footer__links a:hover{color:var(--color-primary)}.landing-footer__contacts li{display:flex;align-items:flex-start;gap:.625rem;color:var(--color-text-secondary)}.landing-footer__contacts svg{flex-shrink:0;margin-top:.125rem;color:var(--color-text-tertiary)}.landing-footer__bottom{margin-top:3rem;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-secondary)}@keyframes landing-rise{0%{opacity:0;transform:translateY(16px)}}.landing-page [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);transition-delay:calc(var(--index, 0) * 60ms)}.landing-page [data-reveal].is-revealed{opacity:1;transform:none}@media (max-width: 1024px){.landing-hero__content{grid-template-columns:minmax(0,1fr);gap:3rem;min-height:0}.landing-chart{max-width:30rem}.landing-services{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-reasons{grid-template-columns:minmax(0,1fr);gap:2.5rem}.landing-reasons__intro{position:static}.landing-cta{grid-template-columns:minmax(0,1fr)}}@media (max-width: 768px){.landing-container{padding:0 var(--spacing-md)}.landing-nav__links{display:none}.landing-hero{padding:3rem 0 4rem}.landing-hero__actions .landing-btn{flex:1 1 100%}.landing-chart{padding:1.5rem 1.25rem}.landing-chart__letters{font-size:calc(2.5rem - var(--row) * .3rem);letter-spacing:.1em}.landing-section{padding:4rem 0}.landing-services{grid-template-columns:minmax(0,1fr)}.landing-service,.landing-service:first-child,.landing-service:last-child{grid-column:auto;min-height:0}.landing-service__title{margin-top:var(--spacing-lg);padding-top:0}.landing-cta{padding:2rem 1.5rem}.landing-cta__actions .landing-btn{width:100%}.landing-footer__content{grid-template-columns:minmax(0,1fr);gap:2rem}}@media (prefers-reduced-motion: reduce){html:has(.landing-page){scroll-behavior:auto}.landing-hero__text>*,.landing-chart__row{animation:none}.landing-page [data-reveal]{opacity:1;transform:none;transition:none}.landing-btn,.landing-btn--primary svg{transition:none}}.app-button{--button-bg: var(--color-primary);--button-bg-hover: var(--color-primary-hover);--button-text: var(--color-text-inverse);--button-border: transparent;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:2.625rem;min-width:6rem;padding:0 var(--spacing-md);border:1px solid var(--button-border);border-radius:var(--radius-md);background:var(--button-bg);color:var(--button-text);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.4;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.app-button:hover:not(:disabled){background:var(--button-bg-hover)}.app-button:active:not(:disabled){transform:scale(.98)}.app-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-button:disabled{cursor:not-allowed;opacity:.6}.app-button--secondary{--button-bg: var(--color-surface);--button-bg-hover: var(--color-background-tertiary);--button-text: var(--color-text-primary);--button-border: var(--color-border-dark)}.app-button--success{--button-bg: var(--color-success);--button-bg-hover: var(--color-success-hover)}.app-button--warning{--button-bg: var(--color-warning);--button-bg-hover: var(--color-warning-hover)}.app-button--error{--button-bg: var(--color-error);--button-bg-hover: var(--color-error-hover)}@media (prefers-reduced-motion: reduce){.app-button{transition:none}}.app-field{display:flex;flex-direction:column;gap:.375rem;width:100%;min-width:0}.app-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.4;color:var(--color-text-primary)}.app-field__control{width:100%;min-height:2.625rem;padding:.5rem .75rem;border:1px solid var(--color-border-dark);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);line-height:1.5;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.app-field__control::placeholder{color:var(--color-text-tertiary)}.app-field__control:hover:not(:disabled){border-color:var(--color-text-tertiary)}.app-field__control:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent)}.app-field__control:disabled{background-color:var(--color-background-tertiary);color:var(--color-text-secondary);cursor:not-allowed}.app-field__control--error,.app-field__control--error:hover:not(:disabled){border-color:var(--color-error)}.app-field__control--error:focus-visible{border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-error) 20%,transparent)}select.app-field__control{cursor:pointer}textarea.app-field__control{min-height:5.5rem;resize:vertical}.app-field__error{font-size:var(--font-size-xs);line-height:1.4;color:var(--color-error)}.app-check{display:inline-flex;align-items:center;gap:.625rem;cursor:pointer}.app-check--disabled{cursor:not-allowed;opacity:.6}.app-check__input{width:1.125rem;height:1.125rem;flex-shrink:0;accent-color:var(--color-primary);cursor:inherit}.app-check__label{font-size:var(--font-size-sm);line-height:1.4;color:var(--color-text-primary);-webkit-user-select:none;user-select:none}@media (prefers-reduced-motion: reduce){.app-field__control{transition:none}}.app-date-input__row{display:flex;gap:var(--spacing-sm)}.app-date-input__date{position:relative;flex:1 1 auto;min-width:0}.app-date-input__date .app-field__control{width:100%;padding-right:2.5rem;font-variant-numeric:tabular-nums}.app-date-input__time{flex:0 0 6.5rem;width:6.5rem;font-variant-numeric:tabular-nums}.app-date-input__button{position:absolute;top:50%;right:.375rem;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transform:translateY(-50%)}.app-date-input__button:hover:not(:disabled){background:var(--color-background-tertiary);color:var(--color-text-primary)}.app-date-input__button:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.app-date-input__button:disabled{cursor:not-allowed;opacity:.5}.app-date-input__picker{position:absolute;right:0;bottom:0;width:1px;height:1px;padding:0;border:none;opacity:0;pointer-events:none}.app-combobox__box{position:relative}.app-combobox__input{width:100%;padding-right:2.25rem;text-overflow:ellipsis}.app-combobox__input[aria-expanded=true]::placeholder{color:var(--color-text-secondary)}.app-combobox__caret{position:absolute;top:50%;right:.75rem;transform:translateY(-50%);color:var(--color-text-secondary);pointer-events:none}.app-combobox__clear{position:absolute;top:50%;right:2rem;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transform:translateY(-50%)}.app-combobox__clear:hover{background:var(--color-background-tertiary);color:var(--color-text-primary)}.app-combobox__clear:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.app-combobox__box:has(.app-combobox__clear) .app-combobox__input{padding-right:3.75rem}.app-combobox__list{position:absolute;top:calc(100% + 4px);left:0;z-index:50;width:100%;min-width:14rem;max-height:17rem;margin:0;padding:var(--spacing-xs);overflow-y:auto;list-style:none;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 10px 28px color-mix(in srgb,var(--color-text-primary) 16%,transparent)}.app-combobox__option{display:flex;align-items:center;gap:var(--spacing-sm);min-height:2.25rem;padding:.375rem .625rem;border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:1.4;cursor:pointer}.app-combobox__option[data-active=true]{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.app-combobox__option[aria-selected=true]{color:var(--color-primary);font-weight:var(--font-weight-medium)}.app-combobox__option[aria-disabled=true]{color:var(--color-text-disabled);cursor:not-allowed}.app-combobox__option-label{flex:1;min-width:0}.app-combobox__option-hint{flex:none;color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);font-variant-numeric:tabular-nums}.app-combobox__note{padding:.625rem;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.app-card{padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface)}.app-card__title{margin:0 0 var(--spacing-lg);padding-bottom:.875rem;border-bottom:1px solid var(--color-border);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.4;color:var(--color-text-primary)}.app-card__content{font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text-secondary)}.app-card__footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}@media (max-width: 768px){.app-card{padding:var(--spacing-md)}}.app-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-sm) var(--spacing-md);padding-top:var(--spacing-md)}.app-pagination__info{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.app-pagination__controls{display:flex;align-items:center;gap:2px}.app-pagination__page{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 var(--spacing-sm);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .15s ease,color .15s ease}.app-pagination__page:hover:not(:disabled){background:var(--color-background-tertiary);color:var(--color-text-primary)}.app-pagination__page[aria-current=page]{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-semibold)}.app-pagination__page:disabled{color:var(--color-text-disabled);cursor:not-allowed}.app-pagination__page:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.app-pagination__gap{min-width:1.5rem;text-align:center;color:var(--color-text-tertiary)}@media (max-width: 480px){.app-pagination{justify-content:center}}@media (prefers-reduced-motion: reduce){.app-pagination__page{transition:none}}.app-table-wrapper{display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0}.app-table-container{overflow-x:auto;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.app-table{width:100%;border-collapse:collapse;font-size:var(--font-size-base);font-variant-numeric:tabular-nums}.app-table thead th{position:relative;padding:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:left;color:var(--color-text-secondary);white-space:nowrap}.app-table .header-wrapper{display:flex;align-items:center;min-height:2.75rem;padding:0 .75rem}.app-table th:first-child .header-wrapper,.app-table td:first-child{padding-left:.25rem}.app-table .header-content{display:flex;flex:1;align-items:center;gap:.25rem;min-width:0}.app-table .header-content.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.app-table .header-content.sortable:hover{color:var(--color-text-primary)}.app-table .sort-indicator{display:inline-flex;color:var(--color-primary)}.app-table .drag-handle{width:0;overflow:hidden;color:var(--color-text-tertiary);cursor:grab;opacity:0;transition:opacity .15s ease}.app-table th:hover .drag-handle{width:auto;margin-right:.25rem;opacity:1}.app-table .drag-handle:active{cursor:grabbing}.app-table .resizer{position:absolute;top:25%;right:0;width:5px;height:50%;border-right:1px solid transparent;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none}.app-table th:hover .resizer{border-right-color:var(--color-border-dark)}.app-table .resizer.isResizing{border-right:2px solid var(--color-primary)}.app-table tbody[aria-busy=true]{opacity:.55}.app-table tbody td{max-width:22rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.875rem .75rem;border-bottom:1px solid var(--color-border-light);line-height:1.5;vertical-align:middle;color:var(--color-text-primary)}.app-table tbody tr:last-child td{border-bottom:none}.app-table tbody tr{transition:background-color .1s ease}.app-table tbody tr:hover{background:var(--color-background-secondary)}.app-table .empty-cell,.app-table tbody tr:hover .empty-cell{padding:3rem var(--spacing-md);background:var(--color-surface);text-align:center}.app-table .empty-state,.app-table .loading-spinner{display:inline-flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary)}.app-table .empty-icon{display:inline-flex;color:var(--color-text-tertiary)}.app-table .spinner{width:1.25rem;height:1.25rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:app-table-spin .7s linear infinite}@keyframes app-table-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.app-table .spinner{animation-duration:2s}.app-table tbody tr,.app-table .drag-handle{transition:none}}.app-table__menu-cell{width:2.75rem;padding:0 .25rem!important;text-align:right}.app-table__menu-button{display:inline-grid;place-items:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer}.app-table__menu-button:hover,.app-table__menu-button[aria-expanded=true]{background:var(--color-background-tertiary);color:var(--color-text-primary)}.app-table__menu-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.app-table__row--openable{cursor:pointer}.app-table tbody tr.app-table__row--selected,.app-table tbody tr.app-table__row--selected:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));box-shadow:inset 3px 0 0 var(--color-primary)}.app-table__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.app-table tbody td.app-table__cell--grow{width:100%;min-width:10rem;max-width:0}.app-context-menu{position:fixed;z-index:120;min-width:12rem;max-width:20rem;margin:0;padding:var(--spacing-xs);list-style:none;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 10px 28px color-mix(in srgb,var(--color-text-primary) 18%,transparent)}.app-context-menu__item{display:flex;align-items:center;gap:.625rem;width:100%;min-height:2.25rem;padding:0 .625rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);font:inherit;font-size:var(--font-size-sm);text-align:left;cursor:pointer}.app-context-menu__item svg{flex:none;color:var(--color-text-secondary)}.app-context-menu__item:hover,.app-context-menu__item:focus-visible{outline:none;background:var(--color-background-tertiary)}.app-context-menu__group-end:not(:first-child){margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--color-border-light)}.app-context-menu__item--danger,.app-context-menu__item--danger svg{color:var(--color-error)}.app-context-menu__item--danger:hover,.app-context-menu__item--danger:focus-visible{background:color-mix(in srgb,var(--color-error) 10%,var(--color-surface))}.app-tabs{width:100%}.app-tabs__nav{position:relative;display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.app-tabs--card .app-tabs__nav{border-bottom:none;gap:var(--spacing-sm)}.app-tabs__tab{position:relative;display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;white-space:nowrap}.app-tabs__tab:hover:not(:disabled):not(.app-tabs__tab--disabled){color:var(--color-primary)}.app-tabs__tab--active{color:var(--color-primary)}.app-tabs__tab--disabled{opacity:.4;cursor:not-allowed}.app-tabs__tab:disabled{cursor:not-allowed}.app-tabs__icon{display:flex;align-items:center;font-size:var(--font-size-lg)}.app-tabs__label{display:flex;align-items:center}.app-tabs__indicator{position:absolute;bottom:-1px;height:2px;background-color:var(--color-primary);transition:all .3s cubic-bezier(.4,0,.2,1)}.app-tabs--card .app-tabs__tab{background-color:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:none}.app-tabs--card .app-tabs__tab:hover:not(:disabled):not(.app-tabs__tab--disabled){background-color:var(--color-surface)}.app-tabs--card .app-tabs__tab--active{background-color:var(--color-surface);border-bottom:1px solid var(--color-surface);margin-bottom:-1px}.app-tabs__tab:focus{outline:none}.app-tabs__tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width: 768px){.app-tabs__nav{overflow-x:auto;scrollbar-width:thin}.app-tabs__nav::-webkit-scrollbar{height:4px}.app-tabs__nav::-webkit-scrollbar-track{background:var(--color-background-secondary)}.app-tabs__nav::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}.app-tabs__tab{padding:var(--spacing-sm)}}.app-date-picker{position:relative;width:100%}.app-date-picker__label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.app-date-picker__required{color:var(--color-error);margin-left:var(--spacing-xs)}.app-date-picker__input{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;min-height:40px}.app-date-picker__input:hover:not(.app-date-picker__input--disabled){border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.app-date-picker__input--open{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.app-date-picker__input--error{border-color:var(--color-error)}.app-date-picker__input--disabled{background-color:var(--color-background-tertiary);cursor:not-allowed;opacity:.6}.app-date-picker__placeholder{color:var(--color-text-tertiary)}.app-date-picker__icon{margin-left:var(--spacing-sm);font-size:var(--font-size-lg)}.app-date-picker__error{margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-error)}.app-date-picker__dropdown{position:absolute;top:calc(100% + 4px);left:0;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-md);z-index:1000;min-width:300px}.app-date-picker__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.app-date-picker__month{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.app-date-picker__nav-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-xl);cursor:pointer;transition:all .2s ease}.app-date-picker__nav-button:hover{background-color:var(--color-background-secondary)}.app-date-picker__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.app-date-picker__weekday{text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);padding:var(--spacing-xs)}.app-date-picker__days{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-xs)}.app-date-picker__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background-color:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.app-date-picker__day:hover:not(:disabled){background-color:var(--color-primary-light)}.app-date-picker__day--selected{background-color:var(--color-primary);color:#fff;font-weight:var(--font-weight-medium)}.app-date-picker__day--selected:hover{background-color:var(--color-primary)}.app-date-picker__day--today{border:1px solid var(--color-primary)}.app-date-picker__day--other-month{color:var(--color-text-tertiary)}.app-date-picker__day--disabled{color:var(--color-text-tertiary);cursor:not-allowed;opacity:.4}.app-date-picker__footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);display:flex;justify-content:center}.app-date-picker__today-button{padding:var(--spacing-xs) var(--spacing-md);background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease}.app-date-picker__today-button:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}@media (max-width: 768px){.app-date-picker__dropdown{min-width:280px}}.app-tooltip{position:relative;display:inline-block}.app-tooltip__trigger{display:inline-block;cursor:pointer}.app-tooltip__content{z-index:10000;max-width:300px;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-text-primary);color:var(--color-surface);font-size:var(--font-size-sm);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:app-tooltip-fade-in .2s ease;pointer-events:none}@keyframes app-tooltip-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.app-tooltip__arrow{position:absolute;width:8px;height:8px;background-color:var(--color-text-primary);transform:rotate(45deg)}.app-tooltip__arrow--top{bottom:-4px;left:50%;margin-left:-4px}.app-tooltip__arrow--bottom{top:-4px;left:50%;margin-left:-4px}.app-tooltip__arrow--left{right:-4px;top:50%;margin-top:-4px}.app-tooltip__arrow--right{left:-4px;top:50%;margin-top:-4px}@media (prefers-color-scheme: dark){.app-tooltip__content{background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.app-tooltip__arrow{background-color:var(--color-surface)}}.app-drawer__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999;animation:app-drawer-overlay-fade-in .3s ease}@keyframes app-drawer-overlay-fade-in{0%{opacity:0}to{opacity:1}}.app-drawer{position:fixed;top:0;bottom:0;background-color:var(--color-surface);box-shadow:var(--shadow-xl);z-index:1000;display:flex;flex-direction:column;overflow:hidden}.app-drawer--left{left:0;animation:app-drawer-slide-in-left .3s cubic-bezier(.4,0,.2,1)}.app-drawer--right{right:0;animation:app-drawer-slide-in-right .3s cubic-bezier(.4,0,.2,1)}@keyframes app-drawer-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes app-drawer-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.app-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border);flex-shrink:0}.app-drawer__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.app-drawer__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-xl);cursor:pointer;transition:all .2s ease}.app-drawer__close:hover{background-color:var(--color-background-secondary);color:var(--color-text-primary)}.app-drawer__close:focus{outline:none;box-shadow:0 0 0 2px var(--color-primary)}.app-drawer__body{flex:1;padding:var(--spacing-xl);overflow-y:auto;overflow-x:hidden}.app-drawer__body::-webkit-scrollbar{width:8px}.app-drawer__body::-webkit-scrollbar-track{background:var(--color-background-secondary)}.app-drawer__body::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-sm)}.app-drawer__body::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.app-drawer__footer{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border);flex-shrink:0;background-color:var(--color-background-secondary)}@media (max-width: 768px){.app-drawer{width:100%!important;max-width:400px}.app-drawer__header,.app-drawer__body,.app-drawer__footer{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media (max-width: 480px){.app-drawer{max-width:none}}.app-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-lg);text-align:center;min-height:200px}.app-empty__icon{display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);margin-bottom:var(--spacing-lg);opacity:.6}.app-empty__icon svg{width:64px;height:64px}.app-empty__message{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.app-empty__description{font-size:var(--font-size-sm);color:var(--color-text-tertiary);max-width:400px;line-height:1.6;margin-bottom:var(--spacing-lg)}.app-empty__action{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease}.app-empty__action:hover{background-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.app-empty__action:active{transform:translateY(0)}.app-empty__action:focus{outline:none;box-shadow:0 0 0 3px var(--color-primary-light)}@media (max-width: 768px){.app-empty{padding:var(--spacing-lg) var(--spacing-md)}.app-empty__icon svg{width:48px;height:48px}.app-empty__message{font-size:var(--font-size-base)}.app-empty__description{font-size:var(--font-size-xs)}}.app-toast-container{position:fixed;right:var(--spacing-lg);bottom:var(--spacing-lg);z-index:1100;display:flex;flex-direction:column-reverse;gap:var(--spacing-sm);width:min(24rem,calc(100vw - 2 * var(--spacing-md)));pointer-events:none}.app-toast{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:0 8px 24px color-mix(in srgb,var(--color-text-primary) 16%,transparent);color:var(--color-text-primary);font-size:var(--font-size-sm);line-height:1.45;pointer-events:auto;animation:app-toast-in .18s ease-out}.app-toast__icon{flex:none;margin-top:1px}.app-toast--success .app-toast__icon{color:var(--color-success)}.app-toast--error .app-toast__icon{color:var(--color-error)}.app-toast--warning .app-toast__icon{color:var(--color-warning)}.app-toast--info .app-toast__icon{color:var(--color-info)}.app-toast__message{flex:1;min-width:0;overflow-wrap:anywhere}.app-toast__close{display:inline-flex;flex:none;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;margin:-2px -4px 0 0;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer}.app-toast__close:hover{background:var(--color-background-tertiary);color:var(--color-text-primary)}.app-toast__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}@keyframes app-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.app-toast-container{right:var(--spacing-md);bottom:var(--spacing-md)}}@media (prefers-reduced-motion: reduce){.app-toast{animation:none}}.app-confirm{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:var(--spacing-md);background:color-mix(in srgb,var(--color-text-primary) 45%,transparent);animation:app-confirm-fade .15s ease-out}.app-confirm__dialog{width:min(26rem,100%);padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xl);animation:app-confirm-rise .2s cubic-bezier(.16,1,.3,1)}.app-confirm__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:1.4;color:var(--color-text-primary)}.app-confirm__message{margin:var(--spacing-sm) 0 0;font-size:var(--font-size-sm);line-height:1.6;color:var(--color-text-secondary)}.app-confirm__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:var(--spacing-lg)}@keyframes app-confirm-fade{0%{opacity:0}}@keyframes app-confirm-rise{0%{opacity:0;transform:translateY(8px)}}@media (max-width: 480px){.app-confirm__actions{flex-direction:column-reverse}.app-confirm__actions .app-button{width:100%}}@media (prefers-reduced-motion: reduce){.app-confirm,.app-confirm__dialog{animation:none}}.app-theme-switcher{position:relative}.app-theme-switcher__trigger{width:38px;height:38px;border-radius:999px;border:1px solid var(--color-border, #e2e8f0);background:var(--color-surface, #ffffff);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease}.app-theme-switcher__trigger:hover{background:var(--color-surface-hover, #f8fafc)}.app-theme-switcher__panel{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:12px;box-shadow:var(--shadow-lg, 0 10px 25px rgba(0, 0, 0, .12));padding:16px;z-index:50;display:flex;flex-direction:column;gap:16px}.app-theme-switcher__section{display:flex;flex-direction:column;gap:8px}.app-theme-switcher__section-label{font-size:12px;font-weight:600;color:var(--color-text-secondary, #64748b);text-transform:uppercase;letter-spacing:.04em}.app-theme-switcher__palettes{display:flex;gap:10px}.app-theme-switcher__palette{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border-radius:8px;border:1px solid transparent;background:none;cursor:pointer;font-size:12px;color:var(--color-text-primary, #0f172a)}.app-theme-switcher__palette:hover{background:var(--color-surface-hover, #f8fafc)}.app-theme-switcher__palette--active{border-color:var(--color-primary, #0ea5e9);background:var(--color-primary-light, #e0f2fe)}.app-theme-switcher__swatch{width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700;box-shadow:inset 0 0 0 2px #ffffff59}.app-theme-switcher__mode-toggle{display:flex;border-radius:8px;overflow:hidden;border:1px solid var(--color-border, #e2e8f0)}.app-theme-switcher__mode-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 0;border:none;background:var(--color-surface, #ffffff);color:var(--color-text-secondary, #64748b);font-size:13px;cursor:pointer;transition:all .15s ease}.app-theme-switcher__mode-btn--active{background:var(--color-primary, #0ea5e9);color:#fff;font-weight:600}.booking{padding-top:calc(var(--landing-nav-height) + var(--spacing-xl));padding-bottom:var(--spacing-xxl)}.booking__intro{max-width:40rem;margin-bottom:var(--spacing-xl)}.booking__intro h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;line-height:1.2}.booking__intro p{margin-top:var(--spacing-sm);color:var(--color-text-secondary);line-height:1.6}.booking__layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--spacing-xl);align-items:start}.booking__layout h2{margin-bottom:var(--spacing-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.booking__who{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.booking__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md)}.booking-page .required{color:var(--color-error)}.booking__days{display:flex;gap:var(--spacing-sm);padding-bottom:var(--spacing-sm);overflow-x:auto;scrollbar-width:thin}.booking__day{display:flex;flex:1 0 5rem;flex-direction:column;align-items:flex-start;gap:.125rem;padding:.625rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer}.booking__day:hover{border-color:var(--color-border-dark)}.booking__day[aria-checked=true]{border-color:var(--color-primary);background:var(--tint-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.booking__day-name{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:capitalize}.booking__day-date{font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.booking__day-note{font-size:var(--font-size-xs);color:var(--color-success)}.booking__day[data-state=full] .booking__day-note{color:var(--color-error)}.booking__day[data-state=closed]{background:var(--color-background-secondary)}.booking__day[data-state=closed] .booking__day-note{color:var(--color-text-tertiary)}.booking__pager{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-sm)}.booking__pager-button{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);cursor:pointer}.booking__pager-button:hover:not(:disabled){border-color:var(--color-primary)}.booking__pager-button:disabled{color:var(--color-text-tertiary);cursor:not-allowed}.booking__pager-range{min-width:7rem;font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;text-align:center}.booking__today{margin-left:auto;font-size:var(--font-size-sm)}.booking__slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-md)}.booking__slot{display:flex;flex-direction:column;gap:.125rem;padding:.5rem .625rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer}.booking__slot:hover:not(:disabled){border-color:var(--color-primary)}.booking__slot[aria-checked=true]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-text-inverse)}.booking__slot-time{font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.booking__slot-note{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.booking__slot[aria-checked=true] .booking__slot-note{color:inherit}.booking__slot:disabled{border-style:dashed;background:var(--color-background-secondary);color:var(--color-text-tertiary);cursor:not-allowed}.booking__slot[data-state=FULL] .booking__slot-note{color:var(--color-error)}.booking__legend{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.booking__legend-item:before{content:"";display:inline-block;width:.75rem;height:.75rem;margin-right:.375rem;border:1px solid var(--color-border-dark);border-radius:3px;vertical-align:-1px;background:var(--color-surface)}.booking__legend-item[data-state=FULL]:before{border-style:dashed;background:var(--color-background-secondary)}.booking__summary{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.booking__summary .app-button{width:100%}.booking__quiet{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.booking__error{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-error)}.booking__link{padding:0;border:none;background:none;color:var(--color-primary);font:inherit;text-decoration:underline;cursor:pointer}.booking__skeleton{height:14rem;border-radius:var(--radius-md);background:var(--color-background-tertiary)}.booking__trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.booking-done{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-md);max-width:36rem;padding-top:calc(var(--landing-nav-height) + var(--spacing-xxl));padding-bottom:var(--spacing-xxl);line-height:1.6}.booking-done h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.booking-done__icon{color:var(--color-primary)}.booking-done__when{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.booking-done__reference{font-variant-numeric:tabular-nums}@media (max-width: 900px){.booking__layout{grid-template-columns:minmax(0,1fr)}}@media (max-width: 480px){.booking__pair{grid-template-columns:minmax(0,1fr)}.booking__who{padding:var(--spacing-md)}}.login-page{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:100dvh;background:var(--color-surface)}.login-page :where(h1,p){margin:0}.login-aside{display:grid;place-items:center;padding:var(--spacing-xl);background:var(--color-primary);color:var(--color-text-inverse);overflow:hidden}.login-chart{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.login-chart__row{font-size:calc(6rem - var(--row) * .95rem);font-weight:var(--font-weight-bold);letter-spacing:.2em;line-height:1;opacity:calc(1 - var(--row) * .14);white-space:nowrap}.login-main{display:flex;flex-direction:column;padding:var(--spacing-lg) clamp(var(--spacing-lg),8vw,6rem)}.login-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.login-brand{display:flex;align-items:center;gap:.625rem;min-width:0;color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.login-brand:hover{color:var(--color-text-primary);text-decoration:none}.login-brand__mark{display:grid;place-items:center;width:1.75rem;height:1.75rem;flex-shrink:0;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-inverse)}.login-brand__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-lang-toggle{flex-shrink:0;padding:.375rem .5rem;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer}.login-lang-toggle:hover{background:var(--color-background-tertiary);color:var(--color-text-primary)}.login-page :where(a,button):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.login-form-wrapper{width:100%;max-width:22rem;margin:auto 0;padding:var(--spacing-xl) 0}.login-form-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;line-height:1.25}.login-form-subtitle{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text-secondary)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.login-form .app-button{margin-top:var(--spacing-sm)}.login-error{padding:.625rem .75rem;border:1px solid color-mix(in srgb,var(--color-error) 35%,var(--color-border));border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-error) 8%,var(--color-surface));font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text-primary)}.login-help{margin-top:var(--spacing-lg);font-size:var(--font-size-xs);line-height:1.6;color:var(--color-text-secondary)}@media (max-width: 900px){.login-page{grid-template-columns:minmax(0,1fr)}.login-aside{display:none}.login-main{padding:var(--spacing-md)}.login-form-wrapper{margin:auto}}.dash{--tint-primary: color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));--tint-warning: color-mix(in srgb, var(--color-warning) 16%, var(--color-surface));--ease-out: cubic-bezier(.16, 1, .3, 1);display:flex;flex-direction:column;gap:var(--spacing-lg)}.dash :where(p,h1,h2){margin:0}.dash__header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-md)}.dash__title:first-letter{text-transform:uppercase}.dash__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;line-height:1.3}.dash__primary-action{display:inline-flex;align-items:center;gap:var(--spacing-sm);height:42px;padding:0 var(--spacing-md);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-inverse);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);white-space:nowrap;transition:background-color .15s ease,transform .1s ease}.dash__primary-action:hover{background:var(--color-primary-hover);color:var(--color-text-inverse);text-decoration:none}.dash__primary-action:active{transform:scale(.98)}.dash a:focus-visible,.dash button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.dash__error{display:flex;align-items:center;gap:.75rem;padding:.75rem var(--spacing-md);border:1px solid color-mix(in srgb,var(--color-error) 35%,var(--color-border));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-error) 8%,var(--color-surface));color:var(--color-error)}.dash__error-text{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary)}.dash__error-retry{display:inline-flex;align-items:center;gap:.375rem;height:34px;padding:0 .75rem;border:1px solid var(--color-border-dark);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer}.dash__error-retry:hover{background:var(--color-surface-hover)}.kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}.kpi-strip:empty{display:none}.kpi{display:flex;flex-direction:column;gap:.375rem;min-width:0;padding:var(--spacing-lg)}.kpi+.kpi{border-left:1px solid var(--color-border)}.kpi__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.kpi__value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.25;color:var(--color-text-primary);overflow-wrap:anywhere}.kpi__delta{font-size:var(--font-size-xs);line-height:1.5;color:var(--color-text-secondary)}.kpi__delta-value{display:inline-flex;align-items:center;gap:.125rem;font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.kpi__delta-value--up svg{color:var(--color-success)}.kpi__delta-value--down svg{color:var(--color-error)}.kpi__link{font-weight:var(--font-weight-medium)}.dash__grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:var(--spacing-lg);align-items:start}.dash__grid--single{grid-template-columns:minmax(0,1fr)}.dash__column{display:flex;flex-direction:column;gap:var(--spacing-lg);min-width:0}.dash-panel{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}.dash-panel__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.dash-panel__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.5}.dash-panel__link{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.dash-panel__empty{padding:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dash-list,.activity{margin:0;padding:0;list-style:none}.dash-list__row{display:flex;align-items:center;gap:var(--spacing-md);min-height:60px;padding:.625rem var(--spacing-lg)}.dash-list__row+.dash-list__row{border-top:1px solid var(--color-border-light)}.dash-list__main{flex:1;min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.dash-list__sub{display:block;font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.appt-time{display:flex;flex-direction:column;width:3.5rem;flex-shrink:0;font-variant-numeric:tabular-nums;line-height:1.35}.appt-time__hour{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.appt-time__day{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.dash-status{--status-color: var(--color-text-secondary);display:inline-flex;align-items:center;gap:.375rem;flex-shrink:0;padding:.25rem .5rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--status-color) 12%,var(--color-surface));font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap}.dash-status:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background:var(--status-color)}.dash-status--pending{--status-color: var(--color-status-pending)}.dash-status--confirmed{--status-color: var(--color-status-confirmed)}.dash-status--completed{--status-color: var(--color-status-completed)}.dash-status--cancelled{--status-color: var(--color-status-cancelled)}.attention__count{display:grid;place-items:center;min-width:2.25rem;height:2.25rem;padding:0 .5rem;flex-shrink:0;border-radius:var(--radius-md);background:var(--tint-warning);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.activity__item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem var(--spacing-lg)}.activity__item+.activity__item{border-top:1px solid var(--color-border-light)}.activity__dot{width:8px;height:8px;margin-top:.4375rem;flex-shrink:0;border-radius:var(--radius-full);background:var(--color-primary)}.activity__body{flex:1;min-width:0}.activity__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.activity__description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.activity__time{flex-shrink:0;font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;line-height:1.75;color:var(--color-text-secondary)}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-sm);padding:var(--spacing-md)}.quick-action{display:flex;align-items:center;gap:.625rem;min-height:44px;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.quick-action svg{flex-shrink:0;color:var(--color-primary)}.quick-action:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border));background:var(--tint-primary);color:var(--color-text-primary);text-decoration:none}.quick-action:active{transform:scale(.98)}.dash-skeleton{display:block;border-radius:var(--radius-sm);background:var(--color-background-tertiary);animation:dash-skeleton-pulse 1.4s ease-in-out infinite}.dash-skeleton--label{width:55%;height:.875rem}.dash-skeleton--value{width:70%;height:2rem;margin:.25rem 0}.dash-skeleton--line{width:45%;height:.75rem}.dash-skeleton--block{width:2.25rem;height:2.25rem;flex-shrink:0;border-radius:var(--radius-md)}@keyframes dash-skeleton-pulse{50%{opacity:.45}}@media (max-width: 1200px){.kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi:nth-child(odd){border-left:none}.kpi:nth-child(n+3){border-top:1px solid var(--color-border)}.dash__grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 768px){.dash__header{flex-direction:column;align-items:stretch}.dash__primary-action{justify-content:center}.dash__title{font-size:var(--font-size-xl)}.kpi-strip{grid-template-columns:minmax(0,1fr)}.kpi+.kpi{border-left:none;border-top:1px solid var(--color-border)}.dash-list__row,.activity__item,.dash-panel__header{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}}@media (prefers-reduced-motion: reduce){.dash-skeleton{animation:none}.dash__primary-action,.quick-action{transition:none}}.visit-detail{font-size:var(--font-size-base);color:var(--color-text-primary)}.visit-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs) var(--spacing-lg);margin:0 0 var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.visit-detail__diagnosis{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:1.4;overflow-wrap:anywhere}.visit-detail__blocks{display:flex;flex-direction:column;gap:var(--spacing-md);margin:var(--spacing-lg) 0 0}.visit-detail__blocks:empty{display:none}.visit-detail__block dt,.visit-detail__medicines h4{margin:0 0 .125rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.visit-detail__block dd{margin:0;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}.visit-detail__eyes{width:100%;margin-top:var(--spacing-lg);border-collapse:collapse;font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.visit-detail__eyes th,.visit-detail__eyes td{padding:.375rem var(--spacing-md) .375rem 0;border-bottom:1px solid var(--color-border-light);text-align:left;font-weight:var(--font-weight-normal)}.visit-detail__eyes th{color:var(--color-text-secondary)}.visit-detail__eyes tbody td{font-family:var(--font-family-mono)}.visit-detail__medicines{margin-top:var(--spacing-lg)}.visit-detail__medicines ol{margin:var(--spacing-xs) 0 0;padding-left:1.25rem}.visit-detail__medicines li{padding:.25rem 0}.visit-detail__medicine-name{display:block;font-weight:var(--font-weight-medium)}.visit-detail__quiet{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.visit-detail__total{margin:var(--spacing-lg) 0 0;padding-top:var(--spacing-md);border-top:1px solid var(--color-border);color:var(--color-text-secondary)}.visit-detail__total strong{color:var(--color-text-primary);font-variant-numeric:tabular-nums}.patient-history{font-size:var(--font-size-base)}.patient-history__back{display:inline-flex;align-items:center;gap:.375rem;margin-bottom:var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-decoration:none}.patient-history__back:hover{color:var(--color-text-primary)}.patient-history__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.patient-history__background{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:var(--spacing-md) var(--spacing-xl);margin:0 0 var(--spacing-xl);padding:var(--spacing-md) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.patient-history__background dt{margin-bottom:.125rem;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.patient-history__background dd{margin:0;line-height:1.5;white-space:pre-line;color:var(--color-text-primary)}.patient-history__alert{padding-left:var(--spacing-md);border-left:3px solid var(--color-error)}.patient-history__alert dd{font-weight:var(--font-weight-medium)}.patient-history__dates{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.patient-history__dates .app-field{flex:0 0 10.5rem;min-width:0}.patient-history__dates .app-field__label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.patient-history__hint{margin:var(--spacing-sm) 0 0;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.patient-history__detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-sm)}.patient-history__skeleton{height:6rem;margin-bottom:var(--spacing-md);border-radius:var(--radius-md);background:var(--color-background-tertiary)}.patient-history__skeleton--title{width:18rem;height:2.5rem}@media (max-width: 768px){.patient-history__dates{flex-wrap:wrap}}.severity{--severity-color: var(--color-text-tertiary);display:inline-flex;align-items:center;gap:.375rem;white-space:nowrap}.severity:before{content:"";flex:none;width:.625rem;height:.625rem;border-radius:2px;background:var(--severity-color)}.severity--none{color:var(--color-text-tertiary)}.severity--none:before{display:none}.severity--mild{--severity-color: var(--color-success)}.severity--moderate{--severity-color: var(--color-warning)}.severity--severe{--severity-color: var(--color-error);font-weight:var(--font-weight-semibold)}.source-tag{display:inline-block;margin-left:.375rem;padding:0 .375rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);vertical-align:1px}.booking-review{display:flex;flex-direction:column;gap:var(--spacing-lg)}.booking-review__facts{display:grid;gap:var(--spacing-sm);margin:0;padding:var(--spacing-md);border-radius:var(--radius-md);background:var(--color-background-secondary)}.booking-review__facts dt{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.booking-review__facts dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}.booking-review__group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin:0;padding:0;border:none}.booking-review__group legend{padding:0;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium)}.booking-review__group .required{color:var(--color-error)}.booking-review__hint{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.booking-review__radio{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.booking-review__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.severity-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-sm)}.severity-choice__option{--severity-color: var(--color-border-dark);display:flex;flex-direction:column;gap:.125rem;padding:.625rem;border:1px solid var(--color-border);border-top:3px solid var(--severity-color);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer}.severity-choice__option--mild{--severity-color: var(--color-success)}.severity-choice__option--moderate{--severity-color: var(--color-warning)}.severity-choice__option--severe{--severity-color: var(--color-error)}.severity-choice__option[aria-checked=true]{border-color:var(--severity-color);background:color-mix(in srgb,var(--severity-color) 10%,var(--color-surface));box-shadow:inset 0 0 0 1px var(--severity-color)}.severity-choice__option:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.severity-choice__label{font-weight:var(--font-weight-semibold)}.severity-choice__hint{font-size:var(--font-size-xs);line-height:1.4;color:var(--color-text-secondary)}.week{max-width:calc(70rem + 2px)}.week__nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-sm) var(--spacing-lg);margin-bottom:var(--spacing-md);margin-top:var(--spacing-md)}.week__buttons{display:flex;align-items:center;gap:var(--spacing-xs)}.week__range{margin-left:var(--spacing-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.week__legend{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.week__legend .slot-mark:not(:first-child){margin-left:var(--spacing-sm)}.week__scroll{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.week__scroll[aria-busy=true]{opacity:.6}.week__grid{width:100%;min-width:45.5rem;border-collapse:collapse;table-layout:fixed;font-size:var(--font-size-sm)}.week__corner{width:3.5rem}.week__day,.week__corner{position:sticky;top:0;padding:var(--spacing-sm);border-bottom:1px solid var(--color-border);background:var(--color-surface);text-align:left;font-weight:var(--font-weight-normal);vertical-align:top}.week__day>span{display:block}.week__day-name{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:capitalize}.week__day-date{font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.week__day-total{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.week__day--today{box-shadow:inset 0 -3px 0 var(--color-primary)}.week__time{padding:.25rem var(--spacing-sm) 0;font-size:var(--font-size-xs);border-right:1px solid var(--color-border-light);font-weight:var(--font-weight-normal);font-variant-numeric:tabular-nums;text-align:right;color:var(--color-text-secondary);vertical-align:top}.week__cell{height:1.875rem;padding:1px 2px;border-bottom:1px solid var(--color-border-light);border-left:1px solid var(--color-border-light)}.week__cell--closed{background:repeating-linear-gradient(-45deg,var(--color-background-secondary),var(--color-background-secondary) 6px,var(--color-surface) 6px,var(--color-surface) 12px)}.week__slot{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);width:100%;height:100%;padding:0 .375rem;border:1px solid transparent;font-size:var(--font-size-xs);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font:inherit;cursor:pointer}.week__slot:hover{background:var(--color-background-secondary)}.week__slot[aria-pressed=true]{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.week__slot:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.week__count{font-variant-numeric:tabular-nums}.week__cell[data-state=FULL] .week__slot{background:color-mix(in srgb,var(--color-error) 9%,var(--color-surface))}.week__cell[data-state=FULL] .week__count{color:var(--color-error);font-weight:var(--font-weight-semibold)}.week__cell[data-state=PAST] .week__slot{opacity:.55}.week__marks{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px}.slot-mark{--severity-color: var(--color-text-tertiary);display:inline-block;flex:none;width:.5rem;height:.5rem;border:2px solid var(--severity-color);border-radius:2px;background:var(--severity-color)}.slot-mark--mild{--severity-color: var(--color-success)}.slot-mark--moderate{--severity-color: var(--color-warning)}.slot-mark--severe{--severity-color: var(--color-error)}.slot-mark--pending.slot-mark--none,.slot-mark--none{background:transparent}.week__detail{margin-top:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.week__detail h3{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin:0 0 var(--spacing-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.week__detail h3 span{font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.week__detail ul{margin:0;padding:0;list-style:none}.week__person{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,12rem);align-items:center;gap:var(--spacing-md);width:100%;padding:.5rem .25rem;border:none;border-bottom:1px solid var(--color-border-light);background:transparent;color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer}.week__person:hover{background:var(--color-background-secondary)}.week__quiet{margin:var(--spacing-sm) 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.week__person .week__quiet{margin:0}@media (max-width: 600px){.severity-choice{grid-template-columns:minmax(0,1fr)}.week__person{grid-template-columns:minmax(0,1fr) auto}}.appointments-list__pending{padding:0;border:none;background:none;color:var(--color-warning);font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer}.appointments-list__pending:hover{text-decoration:underline}.appointments-form__booking{margin-bottom:var(--spacing-md)}.week__person[aria-pressed=true]{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));box-shadow:inset 3px 0 0 var(--color-primary)}.appointments-split--open{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:var(--spacing-lg);align-items:start}.detail-panel{position:sticky;top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md);max-height:calc(100dvh - 2 * var(--spacing-md));padding:var(--spacing-lg);overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.detail-panel[aria-busy=true]{opacity:.7}.detail-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm)}.detail-panel__who h2{margin:0 0 var(--spacing-xs);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.detail-panel__who p{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs);margin:0}.detail-panel__when{display:flex;align-items:baseline;gap:var(--spacing-sm);margin:0;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:var(--color-background-secondary)}.detail-panel__when strong{font-size:var(--font-size-xl);font-variant-numeric:tabular-nums}.detail-panel__when span{color:var(--color-text-secondary)}.detail-panel__contact{display:flex;flex-direction:column;gap:var(--spacing-xs)}.detail-panel__link{display:inline-flex;align-items:center;gap:var(--spacing-xs);width:fit-content;color:var(--color-primary);text-decoration:none;overflow-wrap:anywhere}.detail-panel__link:hover{text-decoration:underline}.detail-panel__facts{display:flex;flex-direction:column;gap:var(--spacing-md);margin:0}.detail-panel__fact dt{margin-bottom:.125rem;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.detail-panel__fact dd{margin:0;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}.detail-panel__quiet{color:var(--color-text-tertiary)}.detail-panel__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.detail-panel__button{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.detail-panel__reject{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin-left:auto;padding:var(--spacing-xs);border:none;background:none;color:var(--color-error);font:inherit;font-size:var(--font-size-sm);cursor:pointer}.detail-panel__reject:hover{text-decoration:underline}.detail-panel__skeleton{height:12rem;border-radius:var(--radius-md);background:var(--color-background-tertiary)}@media (max-width: 1100px){.appointments-split--open{display:block}.detail-panel{position:fixed;top:0;right:0;bottom:0;z-index:60;width:min(24rem,100vw);max-height:none;border-radius:0;box-shadow:-12px 0 32px color-mix(in srgb,var(--color-text-primary) 18%,transparent)}}.slot-panel__full{margin:0;color:var(--color-error);font-weight:var(--font-weight-medium)}.slot-panel__people{margin:0;padding:0;list-style:none;border-top:1px solid var(--color-border-light)}.slot-panel__person{display:flex;flex-direction:column;gap:.25rem;width:100%;padding:.625rem .25rem;border:none;border-bottom:1px solid var(--color-border-light);background:transparent;color:var(--color-text-primary);font:inherit;text-align:left;cursor:pointer}.slot-panel__person:hover{background:var(--color-background-secondary)}.slot-panel__person:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.slot-panel__meta{display:flex;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.detail-panel__back{display:inline-flex;align-items:center;gap:.25rem;width:fit-content;padding:0;border:none;background:none;color:var(--color-primary);font:inherit;font-size:var(--font-size-sm);cursor:pointer}.detail-panel__back:hover{text-decoration:underline}.prescriptions__code{font-family:var(--font-family-mono);font-size:var(--font-size-sm)}.prescriptions__number{font-variant-numeric:tabular-nums}.rx-examination{max-width:40rem}.rx-examination__diagnosis{margin:var(--spacing-sm) 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.rx-examination__diagnosis strong{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.rx-grid{--rx-columns: 1.5rem minmax(10rem, 1.5fr) 4.25rem minmax(5.5rem, .7fr) minmax(5.5rem, .7fr) minmax(6.5rem, .8fr) minmax(5.5rem, .6fr) minmax(8rem, 1.2fr) 6.25rem 2rem}.rx-grid--plain{--rx-columns: 1.5rem minmax(10rem, 1.5fr) 4.25rem minmax(5.5rem, .7fr) minmax(5.5rem, .7fr) minmax(6.5rem, .8fr) minmax(5.5rem, .6fr) minmax(8rem, 1.2fr) 2rem}.rx-grid__head,.rx-grid__row{display:grid;grid-template-columns:var(--rx-columns);gap:var(--spacing-sm);align-items:center}.rx-grid__head{padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.rx-grid__rows{margin:0;padding:0;list-style:none}.rx-grid__row{padding:.375rem 0;border-bottom:1px solid var(--color-border-light)}.rx-grid__row .app-field__control{min-height:2.125rem;padding:.25rem .5rem}.rx-grid__row .app-field{gap:.125rem}.rx-grid__row .app-field__label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.rx-grid__number{font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;color:var(--color-text-tertiary);text-align:center}.rx-grid__medicine{display:flex;flex-direction:column;min-width:0;line-height:1.3}.rx-grid__name{font-weight:var(--font-weight-medium);overflow-wrap:anywhere;color:var(--color-text-primary)}.rx-grid__stock{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.rx-grid__money{text-align:right}.rx-grid__amount{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--color-text-primary)}.rx-grid__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding-top:var(--spacing-sm)}.rx-grid__add{flex:0 1 26rem;min-width:min(100%,14rem)}@media (max-width: 1100px){.rx-grid__head,.rx-grid__number{display:none}.rx-grid__row{grid-template-columns:5rem repeat(4,minmax(0,1fr));grid-template-areas:"name name name name remove" "quantity route dosage frequency duration" "instructions instructions instructions instructions amount";align-items:end;padding:var(--spacing-sm) 0 var(--spacing-md)}.rx-grid__medicine{grid-area:name;align-self:center}.rx-grid__row>:nth-child(3){grid-area:quantity}.rx-grid__row>:nth-child(4){grid-area:route}.rx-grid__row>:nth-child(5){grid-area:dosage}.rx-grid__row>:nth-child(6){grid-area:frequency}.rx-grid__row>:nth-child(7){grid-area:duration}.rx-grid__row>:nth-child(8){grid-area:instructions}.rx-grid__row>.rx-grid__amount{grid-area:amount;padding-bottom:.5rem}.rx-grid__row>.btn-icon{grid-area:remove;justify-self:end}.rx-grid__row .app-field__label{position:static;width:auto;height:auto;clip-path:none;font-size:var(--font-size-xs)}}@media (max-width: 600px){.rx-grid__row{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"name remove" "quantity route" "dosage frequency" "duration amount" "instructions instructions"}.rx-grid__row>.rx-grid__amount{padding-bottom:0;text-align:left}}.rx-total{display:flex;align-items:baseline;gap:.75rem;margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.rx-total strong{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.suggestions{padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-background-secondary)}.suggestions__title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.4}.suggestions__note{max-width:70ch;margin:.25rem 0 var(--spacing-md);font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text-secondary)}.suggestions__criteria{display:grid;grid-template-columns:repeat(4,minmax(0,10rem)) auto;gap:var(--spacing-md);align-items:end}.suggestions__criteria .app-button{justify-self:start}.suggestions__error{margin:var(--spacing-md) 0 0;font-size:var(--font-size-sm);color:var(--color-error)}.suggestions__empty{margin:var(--spacing-md) 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.suggestions__list{display:flex;flex-direction:column;margin:var(--spacing-md) 0 0;padding:0;list-style:none}.suggestion{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) 0;border-top:1px solid var(--color-border)}.suggestion__main{min-width:0}.suggestion p{margin:0}.suggestion__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.suggestion__rule{margin-left:var(--spacing-sm);font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.suggestion__dose{margin-top:.125rem;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.suggestion__dose span{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.suggestion__meta{font-size:var(--font-size-xs);line-height:1.6;color:var(--color-text-secondary)}.suggestion__missing,.suggestion__capped{display:flex;align-items:center;gap:.375rem;margin-top:.25rem;font-size:var(--font-size-sm);color:var(--color-text-primary)}.suggestion__missing svg,.suggestion__capped svg{flex-shrink:0;color:var(--color-warning)}@media (max-width: 1280px){.rx-line__fields{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.rx-line__medicine{grid-column:1 / 2}.suggestions__criteria{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.rx-line{grid-template-columns:minmax(0,1fr)}.rx-line__number{margin-top:0}.rx-line__fields{grid-template-columns:minmax(0,1fr)}.rx-line__side{flex-direction:row-reverse;align-items:center;justify-content:space-between;padding-top:0}.rx-lines__footer,.suggestion{flex-direction:column;align-items:stretch}.suggestions{padding:var(--spacing-md)}}@media (prefers-reduced-motion: reduce){.rx-line__remove{transition:none}}.quick-entry{display:grid;grid-template-columns:minmax(0,28rem) minmax(0,1fr);align-items:end;gap:var(--spacing-sm) var(--spacing-lg);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.quick-entry__hint{margin:0;padding-bottom:.625rem;font-size:var(--font-size-sm);line-height:1.45;color:var(--color-text-secondary)}.phrase-chips{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:var(--spacing-sm)}.phrase-chips__label{flex-basis:100%;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.phrase-chip{min-height:2rem;padding:0 .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:var(--font-size-sm);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.phrase-chip:hover{border-color:var(--color-border-dark);background:var(--color-background-secondary)}.phrase-chip[aria-pressed=true]{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary);font-weight:var(--font-weight-medium)}.phrase-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width: 768px){.quick-entry{grid-template-columns:minmax(0,1fr)}.quick-entry__hint{padding-bottom:0}}@media (prefers-reduced-motion: reduce){.phrase-chip{transition:none}}.quick-entry--rx{grid-template-columns:minmax(0,1fr) 12rem;margin-top:var(--spacing-md)}.rx-saved{margin:0 0 var(--spacing-md);padding:0;list-style:none;border-top:1px solid var(--color-border-light)}.rx-saved__item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light)}.rx-saved__main{flex:1;min-width:0}.rx-saved__main .cell-main,.rx-saved__main .cell-sub{white-space:normal}.rx-saved__quantity{font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.rx-saved__amount{font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width: 768px){.quick-entry--rx{grid-template-columns:minmax(0,1fr)}}.rx-more{margin-top:var(--spacing-lg)}.rx-more>summary{width:fit-content;padding:var(--spacing-xs) 0;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer}.rx-more>summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rx-more[open]>summary{margin-bottom:var(--spacing-sm)}.rx-saved__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.page-title{margin:0 0 var(--spacing-xs);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1.3;color:var(--color-text-primary)}.page-subtitle{margin:0;font-size:var(--font-size-sm);line-height:1.4;color:var(--color-text-secondary)}.btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);border:none;cursor:pointer;white-space:nowrap;text-decoration:none}.btn--primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn--secondary{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary)}.action-buttons{display:flex;align-items:center;gap:var(--spacing-xs)}@media (max-width: 768px){.page-header{flex-direction:column;align-items:stretch}.btn{justify-content:center}}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group--full{grid-column:1 / -1}.required{color:#dc2626}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border, #e5e7eb)}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}}.form-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid var(--color-border, #e5e7eb)}.tab-button{padding:12px 24px;border:none;background:transparent;font-size:14px;font-weight:600;color:var(--color-text-secondary, #6b7280);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.tab-button:hover{color:var(--color-primary, #0ea5e9)}.tab-button.active{color:var(--color-primary, #0ea5e9);border-bottom-color:var(--color-primary, #0ea5e9)}.form-section{margin-bottom:24px}.form-section__title{font-size:18px;font-weight:700;color:var(--color-text-primary, #111827);margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--color-border, #e5e7eb)}@media (max-width: 768px){.form-tabs{overflow-x:auto}.tab-button{white-space:nowrap}}.examinations-form__history-link{align-self:flex-start;margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-primary)}.result-sheet{--sheet-paper: #ffffff;--sheet-ink: #000000;--sheet-muted: #404040;--sheet-line: #8c8c8c;--sheet-padding: 12mm;display:flex;flex-direction:column;box-sizing:border-box;padding:var(--sheet-padding);background:var(--sheet-paper);color:var(--sheet-ink);font-family:var(--font-family);font-size:10.5pt;line-height:1.45;text-align:left}.result-sheet--a4{width:210mm;min-height:297mm}.result-sheet--a5{--sheet-padding: 8mm;width:148mm;min-height:210mm;font-size:8.5pt}.result-sheet :where(p,h1,h2,dl,dd,table){margin:0;color:inherit}.result-sheet__header{display:flex;align-items:flex-start;gap:4mm;padding-bottom:3mm;border-bottom:1.5pt solid var(--sheet-ink)}.result-sheet__logo{width:20mm;height:20mm;flex-shrink:0;object-fit:contain}.result-sheet__clinic{flex:1;min-width:0;font-size:.9em}.result-sheet__governing{font-size:.95em;text-transform:uppercase}.result-sheet__clinic-name{font-size:1.35em;font-weight:700;line-height:1.3;text-transform:uppercase}.result-sheet__ids{display:flex;align-items:flex-start;gap:3mm;flex-shrink:0;font-size:.85em}.result-sheet__qr{display:flex;flex-direction:column;align-items:center;gap:1mm;max-width:24mm;font-size:.8em;line-height:1.2;text-align:center;color:var(--sheet-muted)}.result-sheet__codes div{display:flex;gap:1.5mm;white-space:nowrap}.result-sheet__codes dd{font-family:var(--font-family-mono);font-weight:700}.result-sheet__header-note{margin-top:1.5mm;font-size:.85em;font-style:italic;color:var(--sheet-muted)}.result-sheet__title{margin:6mm 0 4mm;font-size:1.6em;font-weight:700;letter-spacing:.02em;line-height:1.3;text-align:center;text-transform:uppercase}.result-sheet__section+.result-sheet__section{margin-top:4mm}.result-sheet__section-title{margin-bottom:2mm;padding-bottom:.8mm;border-bottom:.5pt solid var(--sheet-line);font-size:1em;font-weight:700;line-height:1.4;text-transform:uppercase}.result-sheet__fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2mm 4mm}.result-sheet__field,.result-sheet__findings div{display:flex;gap:1.5mm}.result-sheet__field,.result-sheet__field--wide{grid-column:span 2}.result-sheet__field--full{grid-column:1 / -1}.result-sheet dt{flex-shrink:0;color:var(--sheet-muted)}.result-sheet__patient-name{font-weight:700;text-transform:uppercase}.result-sheet__table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.result-sheet__table th,.result-sheet__table td{padding:1.4mm 1.5mm;border:.5pt solid var(--sheet-line);text-align:center;vertical-align:middle}.result-sheet__table thead th{font-size:.85em;font-weight:600;line-height:1.25}.result-sheet__table tbody th{font-weight:600;text-align:left;white-space:nowrap}.result-sheet__table td{height:7mm;font-weight:600}.result-sheet__pd{margin-top:1.5mm}.result-sheet__findings{display:flex;flex-direction:column;gap:1.5mm;margin-top:3mm}.result-sheet__findings dd{white-space:pre-line}.result-sheet__strong{font-weight:700}.result-sheet__bottom{display:flex;flex-direction:column;margin-top:auto;padding-top:6mm;break-inside:avoid}.result-sheet__signature{align-self:flex-end;width:45%;text-align:center;break-inside:avoid}.result-sheet__date{font-style:italic}.result-sheet__signature-title{font-weight:700;text-transform:uppercase}.result-sheet__signature-note{font-size:.85em;font-style:italic;color:var(--sheet-muted)}.result-sheet__signature-space{height:26mm}.result-sheet--a5 .result-sheet__signature-space{height:13mm}.result-sheet--a5 .result-sheet__bottom{padding-top:4mm}.result-sheet--a5 .result-sheet__footer{padding-top:3mm}.result-sheet__signature,.result-sheet__footer{break-inside:avoid}.result-sheet__doctor{font-weight:700}.result-sheet__footer{padding-top:5mm;font-size:.85em}.result-sheet__footer-text{margin-bottom:1.5mm;font-style:italic;white-space:pre-line}.result-sheet__footer-line{padding-top:1.5mm;border-top:.5pt solid var(--sheet-line);text-align:center;color:var(--sheet-muted)}.result-sheet__page{margin-left:3mm;font-variant-numeric:tabular-nums}.result-sheet+.result-sheet{margin-top:8mm}@media print{.result-sheet+.result-sheet{margin-top:0;break-before:page}}.rx-sheet__diagnosis{margin-bottom:3mm}.rx-sheet__diagnosis span{color:var(--sheet-muted)}.rx-sheet__table{width:100%;margin-top:1mm;table-layout:fixed;font-size:.92em;line-height:1.3}.rx-sheet__table th,.rx-sheet__table td{height:auto;padding:1.1mm 1.5mm 1.1mm 0;border:none;font-weight:400;text-align:left;vertical-align:top}.rx-sheet__table thead th{padding-top:.6mm;padding-bottom:.8mm;border-bottom:.6pt solid var(--sheet-ink);font-size:.9em;font-weight:600;white-space:nowrap;color:var(--sheet-muted)}.rx-sheet__table tbody tr{border-bottom:.5pt dotted var(--sheet-line);break-inside:avoid}.rx-sheet__table tbody th{font-weight:700;white-space:normal;overflow-wrap:break-word}.rx-sheet__table .rx-sheet__col-usage,.rx-sheet__table .rx-sheet__col-note{overflow-wrap:break-word;text-wrap:pretty}.rx-sheet__part{display:inline-block}.rx-sheet__table td.rx-sheet__col-quantity,.rx-sheet__table td.rx-sheet__col-route,.rx-sheet__table td.rx-sheet__col-days{white-space:nowrap}.rx-sheet__table td.rx-sheet__col-quantity{font-weight:600}.rx-sheet__col-number{width:5%}.rx-sheet__col-name{width:22%}.rx-sheet__col-quantity{width:9%}.rx-sheet__col-route{width:11%}.rx-sheet__col-usage{width:20%}.rx-sheet__col-days{width:9%}.result-sheet--a5 .rx-sheet__col-name{width:24%}.result-sheet--a5 .rx-sheet__col-quantity,.result-sheet--a5 .rx-sheet__col-route{width:12%}.result-sheet--a5 .rx-sheet__col-days{width:11%}.rx-sheet__count{margin-top:1.5mm;font-size:.92em;font-style:italic;color:var(--sheet-muted)}.rx-sheet__empty{margin-top:2mm;color:var(--sheet-muted)}.exam-print{min-height:100dvh;background:var(--color-background-tertiary)}.exam-print__toolbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--spacing-md);padding:.75rem var(--spacing-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.exam-print__documents{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-md);background:var(--color-background-tertiary)}.exam-print__document{border:none;background:transparent;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;min-height:2.25rem;padding:0 var(--spacing-md);border-radius:calc(var(--radius-md) - 2px);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none}.exam-print__document:hover{color:var(--color-text-primary);text-decoration:none}.exam-print__document[aria-pressed=true]{background:var(--color-surface);color:var(--color-text-primary);box-shadow:0 1px 2px color-mix(in srgb,var(--color-text-primary) 14%,transparent)}.exam-print__document:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.exam-print__hint{flex:1;min-width:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.exam-print__template{width:16rem}.exam-print__button-content{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.exam-print__stage{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);padding:var(--spacing-xl) var(--spacing-md);overflow-x:auto}.exam-print__paper{box-shadow:var(--shadow-lg)}.exam-print__skeleton{width:210mm;max-width:100%;height:297mm;border-radius:var(--radius-sm);background:var(--color-surface);animation:exam-print-pulse 1.4s ease-in-out infinite}@keyframes exam-print-pulse{50%{opacity:.5}}@media (max-width: 768px){.exam-print__toolbar{flex-wrap:wrap;padding:.75rem var(--spacing-md)}.exam-print__stage{align-items:flex-start}}@media (prefers-reduced-motion: reduce){.exam-print__skeleton{animation:none}}@media print{.exam-print{min-height:0;background:none}.exam-print__toolbar,.app-toast-container{display:none}.exam-print__stage{display:block;padding:0;overflow:visible}.exam-print__paper{box-shadow:none}.exam-print__paper--result{page:result-sheet}.exam-print__paper--prescription{page:prescription-sheet}.exam-print__paper+.exam-print__paper{break-before:page}.exam-print__problem{display:none}}.print-templates__name{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-medium)}.print-templates__tag{flex:none;white-space:nowrap;padding:.125rem .5rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.print-templates__code{font-family:var(--font-family-mono);font-size:var(--font-size-sm)}.print-templates__editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--spacing-lg);align-items:start}.print-templates__form{display:flex;flex-direction:column;gap:var(--spacing-lg);min-width:0}.print-templates__hint{margin:0;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.print-templates__checks{gap:.75rem;justify-content:center}.print-templates__preview{position:sticky;top:calc(3rem + var(--spacing-lg));min-width:0}.print-templates__preview-label{display:flex;align-items:baseline;gap:var(--spacing-sm);margin:0 0 var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.print-templates__preview-label span{font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.print-templates__preview-frame{max-height:calc(100dvh - 8rem);padding:var(--spacing-md);overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-background-tertiary)}.print-templates__preview-scale{width:fit-content;margin:0 auto;zoom:.62;box-shadow:var(--shadow-md)}@media (max-width: 1280px){.print-templates__editor{grid-template-columns:minmax(0,1fr)}.print-templates__preview{position:static}.print-templates__preview-frame{max-height:none}}@media (max-width: 768px){.print-templates__preview-scale{zoom:.42}}.dosage-rules__hint{margin:0;font-size:var(--font-size-xs);line-height:1.5;color:var(--color-text-secondary)}.chart{--chart-bar: var(--color-primary);--chart-grid: var(--color-border);--chart-height: 15rem;margin:0;min-width:0}.chart__title{margin-bottom:var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.4;color:var(--color-text-primary)}.chart__empty{margin:0;padding:var(--spacing-xl) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.column-chart{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem}.column-chart__axis{display:flex;flex-direction:column;justify-content:space-between;height:var(--chart-height);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;line-height:1;text-align:right;color:var(--color-text-secondary)}.column-chart__axis span{transform:translateY(-50%)}.column-chart__axis span:last-child{transform:translateY(50%)}.column-chart__plot{position:relative;min-width:0}.column-chart__grid{position:absolute;inset:0 0 auto 0;display:flex;flex-direction:column;justify-content:space-between;height:var(--chart-height);pointer-events:none}.column-chart__grid span{height:1px;background:var(--chart-grid)}.column-chart__columns{position:relative;display:flex;align-items:stretch;margin:0;padding:0;list-style:none}.column-chart__slot{position:relative;display:flex;flex:1 1 0;flex-direction:column;align-items:center;min-width:0;outline:none}.column-chart__slot:before{content:"";display:block;width:100%;height:var(--chart-height)}.column-chart__bar{position:absolute;bottom:calc(100% - var(--chart-height));left:50%;width:min(24px,70%);min-height:0;border-radius:4px 4px 0 0;background:var(--chart-bar);transform:translate(-50%);transition:opacity .15s ease}.column-chart__columns:hover .column-chart__bar,.column-chart__columns:focus-within .column-chart__bar{opacity:.45}.column-chart__slot:hover .column-chart__bar,.column-chart__slot:focus-visible .column-chart__bar{opacity:1}.column-chart__slot:focus-visible:before{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:var(--radius-sm)}.column-chart__label{height:1.25rem;margin-top:var(--spacing-sm);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;line-height:1.25rem;white-space:nowrap;color:var(--color-text-secondary)}.chart__tooltip{position:absolute;bottom:calc(100% - var(--chart-height) + .5rem);left:50%;z-index:5;display:none;flex-direction:column;gap:.125rem;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);font-size:var(--font-size-xs);line-height:1.4;white-space:nowrap;color:var(--color-text-secondary);transform:translate(-50%);pointer-events:none}.chart__tooltip strong{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.column-chart__slot:hover .chart__tooltip,.column-chart__slot:focus-visible .chart__tooltip{display:flex}.column-chart__slot:first-child .chart__tooltip{left:0;transform:none}.column-chart__slot:last-child .chart__tooltip{right:0;left:auto;transform:none}.bar-list{display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none}.bar-list__row{display:grid;grid-template-columns:minmax(6rem,14rem) minmax(0,1fr) auto;gap:var(--spacing-md);align-items:center}.bar-list__label{min-width:0;font-size:var(--font-size-sm);line-height:1.4;color:var(--color-text-primary);overflow-wrap:anywhere}.bar-list__detail{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.bar-list__track{display:block;height:12px}.bar-list__bar{display:block;min-width:0;height:100%;border-radius:0 4px 4px 0;background:var(--chart-bar)}.bar-list__value{min-width:3rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;text-align:right;color:var(--color-text-primary);white-space:nowrap}.stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-border);overflow:hidden}.stat-strip__item{display:flex;flex-direction:column;gap:.25rem;min-width:0;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface)}.stat-strip__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.stat-strip__value{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);letter-spacing:-.02em;line-height:1.3;color:var(--color-text-primary);overflow-wrap:anywhere}.stat-strip__note{margin:0;font-size:var(--font-size-xs);line-height:1.5;color:var(--color-text-secondary)}.chart-skeleton{display:block;border-radius:var(--radius-sm);background:var(--color-background-tertiary);animation:chart-skeleton-pulse 1.4s ease-in-out infinite}.chart-skeleton--label{width:55%;height:.875rem}.chart-skeleton--value{width:75%;height:1.75rem;margin-top:.25rem}@keyframes chart-skeleton-pulse{50%{opacity:.45}}@media (max-width: 1100px){.stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 768px){.stat-strip{grid-template-columns:minmax(0,1fr)}.column-chart__label--alternate{visibility:hidden}.chart{--chart-height: 12rem}.bar-list__row{grid-template-columns:minmax(0,1fr) auto}.bar-list__track{grid-column:1 / -1;grid-row:2}}@media (prefers-reduced-motion: reduce){.column-chart__bar{transition:none}.chart-skeleton{animation:none}}.report{display:flex;flex-direction:column;gap:var(--spacing-lg)}.report .page-header{margin-bottom:0}.report__section{min-width:0;padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.report__columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-lg);align-items:start}.report__heading{margin:0 0 var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.4;color:var(--color-text-primary)}.report__note{margin:var(--spacing-md) 0 0;font-size:var(--font-size-xs);line-height:1.5;color:var(--color-text-secondary)}.report-filter{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--spacing-md)}.report-filter__presets{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.report-filter__preset{min-height:2.625rem;padding:0 var(--spacing-md);border:1px solid var(--color-border-dark);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.report-filter__preset:hover{background:var(--color-background-tertiary)}.report-filter__preset:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.report-filter__preset--active,.report-filter__preset--active:hover{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary)}.report-filter__dates{display:grid;grid-template-columns:repeat(2,11rem);gap:var(--spacing-md);align-items:start}.report-error{display:flex;align-items:center;gap:.75rem;padding:.75rem var(--spacing-md);border:1px solid color-mix(in srgb,var(--color-error) 35%,var(--color-border));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-error) 8%,var(--color-surface));color:var(--color-error)}.report-error__text{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary)}.report-table__scroll{overflow-x:auto}.report-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.report-table th,.report-table td{padding:.625rem .75rem;border-bottom:1px solid var(--color-border-light);text-align:left;vertical-align:top;color:var(--color-text-primary)}.report-table th:first-child,.report-table td:first-child{padding-left:0}.report-table th:last-child,.report-table td:last-child{padding-right:0}.report-table thead th{border-bottom-color:var(--color-border);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap}.report-table tbody th{font-weight:var(--font-weight-medium)}.report-table tbody tr:last-child th,.report-table tbody tr:last-child td{border-bottom:none}.report-table .report-table__number{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.report-table__sub{display:block;font-family:var(--font-family-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.report-table__flag{display:block;font-size:var(--font-size-xs);color:var(--color-error)}.report-table .report-table__empty{padding:var(--spacing-lg) 0;color:var(--color-text-secondary)}@media (max-width: 1100px){.report__columns{grid-template-columns:minmax(0,1fr)}}@media (max-width: 768px){.report__section{padding:var(--spacing-md)}.report-filter__dates{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.report-error{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.report-filter__preset{transition:none}}.users__filters{display:grid;grid-template-columns:minmax(0,24rem) minmax(0,14rem);gap:var(--spacing-md)}.users__roles{display:inline-flex;flex-wrap:nowrap;gap:.375rem}.users__role{padding:.125rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap}.users__hint{margin:0;font-size:var(--font-size-xs);line-height:1.5;color:var(--color-text-secondary)}.users__error{margin:var(--spacing-sm) 0 0;font-size:var(--font-size-xs);color:var(--color-error)}.users__role-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:var(--spacing-md) var(--spacing-lg);margin:0;padding:0;border:none}.users__legend{grid-column:1 / -1;margin-bottom:var(--spacing-md);padding:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.users__role-option .users__hint,.users__status .users__hint{margin-top:.125rem;padding-left:1.75rem}.users__status{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.users__reset{display:grid;grid-template-columns:minmax(0,20rem) auto;gap:var(--spacing-md);align-items:end;justify-content:start;margin-bottom:var(--spacing-sm)}@media (max-width: 768px){.users__filters,.users__reset{grid-template-columns:minmax(0,1fr)}}.roles__name{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-medium)}.roles__tag{padding:.125rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.roles__code{font-family:var(--font-family-mono);font-size:var(--font-size-sm)}.roles__hint{margin:0;font-size:var(--font-size-xs);line-height:1.5;color:var(--color-text-secondary)}.roles__hint--spaced{margin-top:var(--spacing-md)}.roles__hint--intro{max-width:70ch;margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm)}.roles__groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:var(--spacing-md)}.roles__group{min-width:0;margin:0;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.roles__group-title{padding:0 var(--spacing-sm)}.roles__group-title .app-check__label{font-weight:var(--font-weight-semibold)}.roles__permissions{display:flex;flex-direction:column;gap:.625rem;padding:.25rem 0 0 var(--spacing-sm)}.system-settings__hint{margin:0;font-size:var(--font-size-xs);line-height:1.5;color:var(--color-text-secondary)}.system-settings__hint--intro{max-width:70ch;margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm)}.system-settings__error{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:.75rem var(--spacing-md);border:1px solid color-mix(in srgb,var(--color-error) 35%,var(--color-border));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-error) 8%,var(--color-surface));font-size:var(--font-size-sm);color:var(--color-text-primary)}.system-settings__skeleton{height:20rem;border-radius:var(--radius-lg);background:var(--color-background-tertiary);animation:system-settings-pulse 1.4s ease-in-out infinite}@keyframes system-settings-pulse{50%{opacity:.5}}@media (prefers-reduced-motion: reduce){.system-settings__skeleton{animation:none}}.system-settings__weekdays{display:flex;flex-wrap:wrap;gap:var(--spacing-sm) var(--spacing-lg)}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-dc085e2f.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-4d50c799.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-f7a2811e.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-efff7513.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-03d1b589.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-c0190200.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-86341610.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-6b81283a.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-947d592e.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-500-normal-efa04a80.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-b621f77d.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-0a905f6b.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-97658c6f.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-2d68010b.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-20cc75da.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-600-normal-4143c6d4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-9503dec2.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-f900efb4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-4f58af2d.woff2) format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-4fa311d1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-33d57e5b.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-ext-700-normal-f3e8165a.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-a193dd87.woff2) format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-f44cc341.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-primary-hover);text-decoration:underline}code{font-family:var(--font-family-mono);font-size:var(--font-size-sm);background-color:var(--color-background-tertiary);padding:.125rem .25rem;border-radius:var(--radius-sm)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--spacing-lg)}.container-fluid{width:100%;padding:0 var(--spacing-lg)}.page-wrapper{min-height:100vh;display:flex;flex-direction:column}.page-content{flex:1;padding:var(--spacing-xl) 0}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.card-header{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-md)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.card-body{padding:var(--spacing-md) 0}.status-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.status-pending{background-color:#fef3c7;color:#92400e}.status-confirmed{background-color:#dbeafe;color:#1e40af}.status-completed{background-color:#d1fae5;color:#065f46}.status-cancelled{background-color:#fee2e2;color:#991b1b}.loading-spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);width:24px;height:24px;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.transition{transition:all .2s ease}.transition-colors{transition:background-color .2s ease,color .2s ease,border-color .2s ease}
