:root{--ds-stormy-50: #eaf7f7;--ds-stormy-100: #cff7f7;--ds-stormy-200: #9fe6e6;--ds-stormy-300: #6ad2d3;--ds-stormy-400: #3cb8ba;--ds-stormy-500: #219595;--ds-stormy-600: #1a7f7f;--ds-stormy-700: #166a6a;--ds-stormy-800: #125555;--ds-stormy-900: #0d3d3d;--ds-aqua-100: #cff7f7;--ds-aqua-200: #9fe6e6;--ds-aqua-300: #6ad2d3;--ds-aqua-800: #125555;--ds-alice-100: #f7f9fa;--ds-primary: #219595;--ds-primary-hover: #1a7f7f;--ds-primary-active: #166a6a;--ds-primary-subtle: #cff7f7;--ds-primary-contrast: #ffffff;--ds-secondary: #23b5b6;--ds-secondary-subtle: #cff7f7;--ds-accent: #ffb800;--ds-accent-hover: #b07f00;--ds-accent-subtle: #fff4d6;--ds-accent-contrast: #2a2a2a;--ds-highlight: #cff7f7;--ds-bg: #f4f5f8;--ds-bg-raised: #f7f8fa;--ds-surface: #ffffff;--ds-surface-subtle: #fcfcfc;--ds-surface-muted: #f5f5f5;--ds-surface-elevated: #ffffff;--ds-surface-highlight: #cff7f7;--ds-ink-strong: #2a2a2a;--ds-ink-base: #3d3d3d;--ds-ink-muted: #666666;--ds-ink-faint: #aaaaaa;--ds-ink-inverse: #ffffff;--ds-border: #d9d9d9;--ds-border-strong: #b4b4b4;--ds-divider: #f0f0f2;--ds-success: #01b55e;--ds-success-subtle: #dcf7e8;--ds-success-on-subtle: #018a49;--ds-warning: #ffb800;--ds-warning-subtle: #fff4d6;--ds-warning-on-subtle: #b07f00;--ds-danger: #ff2f3c;--ds-danger-subtle: #ffe5e8;--ds-danger-on-subtle: #d31825;--ds-info: #219595;--ds-info-subtle: #cff7f7;--ds-info-on-subtle: #166a6a;--ds-focus: rgba(33, 149, 149, .55);--ds-ring: rgba(33, 149, 149, .16);--ds-chart-1: #1e6fe0;--ds-chart-2: #20c997;--ds-chart-3: #ff9f5a;--ds-chart-4: #a66cff;--ds-chart-5: #29c7f0;--ds-chart-6: #e8573d;--ds-chart-grid: #eeeeee;--ds-chart-label: #aaaaaa;--ds-font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--ds-font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--ds-text-2xs: .6875rem;--ds-text-xs: .75rem;--ds-text-sm: .8125rem;--ds-text-base: .875rem;--ds-text-md: .9375rem;--ds-text-lg: 1.0625rem;--ds-text-xl: 1.1875rem;--ds-text-2xl: 1.375rem;--ds-text-3xl: 1.625rem;--ds-text-4xl: 1.875rem;--ds-leading-none: 1;--ds-leading-tight: 1.2;--ds-leading-snug: 1.35;--ds-leading-normal: 1.55;--ds-leading-loose: 1.75;--ds-tracking-tight: -.02em;--ds-tracking-snug: -.01em;--ds-tracking-normal: 0;--ds-tracking-wide: .04em;--ds-tracking-widest: .08em;--ds-weight-medium: 500;--ds-weight-semibold: 600;--ds-weight-bold: 700;--ds-weight-extrabold: 700;--ds-space-px: 1px;--ds-space-0: 0px;--ds-space-0_5: .125rem;--ds-space-1: .25rem;--ds-space-1_5: .375rem;--ds-space-2: .5rem;--ds-space-2_5: .625rem;--ds-space-3: .75rem;--ds-space-3_5: .875rem;--ds-space-4: 1rem;--ds-space-5: 1.25rem;--ds-space-6: 1.5rem;--ds-space-8: 2rem;--ds-space-10: 2.5rem;--ds-space-12: 3rem;--ds-space-16: 4rem;--ds-space-20: 5rem;--ds-space-24: 6rem;--ds-radius-xs: .25rem;--ds-radius-sm: .375rem;--ds-radius-md: .5rem;--ds-radius-lg: .625rem;--ds-radius-xl: .875rem;--ds-radius-2xl: 1.125rem;--ds-radius-pill: 9999px;--ds-shadow-xs: 0 1px 2px rgba(42, 42, 42, .04);--ds-shadow-sm: 0 1px 2px rgba(42, 42, 42, .05);--ds-shadow-md: 0 2px 8px rgba(42, 42, 42, .07);--ds-shadow-lg: 0 6px 20px rgba(42, 42, 42, .1);--ds-shadow-xl: 0 20px 48px rgba(42, 42, 42, .16);--ds-z-sticky: 10;--ds-z-topbar: 20;--ds-z-sidebar: 30;--ds-z-dropdown: 40;--ds-z-modal: 50;--ds-z-toast: 60;--ds-z-overlay: 70;--ds-page-max: 1500px;--ds-page-gutter: 1.625rem;--ds-sidebar-w: 240px;--ds-sidebar-w-collapsed: 72px;--ds-topbar-h: 68px;--ds-motion-fast: .12s;--ds-motion-normal: .2s;--ds-motion-slow: .3s;--ds-motion-enter: .7s;--ds-ease-standard: cubic-bezier(.16, 1, .3, 1);--ds-ease-emphasized: cubic-bezier(.32, .72, 0, 1);--ds-ease-press: cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}body{font-family:var(--ds-font-sans);font-size:var(--ds-text-base);line-height:var(--ds-leading-normal);font-weight:var(--ds-weight-medium);color:var(--ds-ink-base);background:var(--ds-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,svg,video,canvas{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:var(--ds-primary);text-decoration:none}h1,h2,h3,h4,h5,h6{font-weight:var(--ds-weight-bold);color:var(--ds-ink-strong);letter-spacing:var(--ds-tracking-snug);line-height:var(--ds-leading-snug)}ul,ol{padding:0;list-style:none}table{border-collapse:collapse}:where(code,pre,kbd,samp){font-family:var(--ds-font-mono);font-size:.9em;font-variant-numeric:tabular-nums}:where(.ds-num,strong,b,.ds-stat__value,td){font-variant-numeric:tabular-nums}::selection{background:var(--ds-primary-subtle);color:var(--ds-ink-strong)}:where(a,button,input,select,textarea,[tabindex],summary):focus-visible{outline:2px solid var(--ds-focus);outline-offset:2px;border-radius:3px}:focus:not(:focus-visible){outline:none}@supports (scrollbar-width: thin){*{scrollbar-width:thin;scrollbar-color:var(--ds-border) transparent}}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--ds-border);border-radius:var(--ds-radius-pill);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--ds-border-strong);background-clip:content-box}*::-webkit-scrollbar-track{background:transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.ds-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.ds-fade-in{animation:ds-fade var(--ds-motion-normal) var(--ds-ease-standard) both}.ds-rise-in{animation:ds-rise var(--ds-motion-normal) var(--ds-ease-emphasized) both}@keyframes ds-fade{0%{opacity:0}to{opacity:1}}@keyframes ds-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ds-space-2);font-family:var(--ds-font-sans);font-size:var(--ds-text-sm);font-weight:var(--ds-weight-semibold);letter-spacing:var(--ds-tracking-normal);line-height:var(--ds-leading-none);border-radius:var(--ds-radius-sm);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--ds-motion-fast) var(--ds-ease-standard),border-color var(--ds-motion-fast) var(--ds-ease-standard),color var(--ds-motion-fast) var(--ds-ease-standard),transform var(--ds-motion-fast) var(--ds-ease-press)}.ds-btn:active{transform:scale(.98)}.ds-btn:disabled,.ds-btn[aria-disabled=true]{opacity:.5;pointer-events:none}.ds-btn--sm{height:30px;padding:0 var(--ds-space-3);font-size:var(--ds-text-xs);gap:var(--ds-space-1_5)}.ds-btn--md{height:38px;padding:0 var(--ds-space-4)}.ds-btn--lg{height:46px;padding:0 var(--ds-space-5);font-size:var(--ds-text-base)}.ds-btn--primary{background:var(--ds-primary);color:var(--ds-primary-contrast)}.ds-btn--primary:hover{background:var(--ds-primary-hover)}.ds-btn--primary:active{background:var(--ds-primary-active)}.ds-btn--secondary{background:var(--ds-primary-subtle);color:var(--ds-primary)}.ds-btn--secondary:hover{background:var(--ds-aqua-200)}.ds-btn--ghost{background:var(--ds-surface-muted);color:var(--ds-ink-base)}.ds-btn--ghost:hover{background:#ebebeb}.ds-btn--outline{background:var(--ds-surface);color:var(--ds-primary);border:1px solid var(--ds-primary)}.ds-btn--outline:hover{background:var(--ds-primary-subtle)}.ds-btn--danger{background:var(--ds-danger);color:#fff}.ds-btn--danger:hover{background:var(--ds-danger-on-subtle)}.ds-btn--danger-ghost{background:transparent;color:var(--ds-danger);border:1px solid var(--ds-danger-subtle)}.ds-btn--danger-ghost:hover{background:var(--ds-danger-subtle)}.ds-btn--accent{background:var(--ds-accent);color:var(--ds-accent-contrast)}.ds-btn--accent:hover{filter:brightness(.96)}.ds-btn--block{width:100%}.ds-btn--icon{padding:0;width:38px}.ds-btn--icon.ds-btn--sm{width:30px}.ds-badge{display:inline-flex;align-items:center;gap:var(--ds-space-1);font-size:var(--ds-text-xs);font-weight:var(--ds-weight-medium);line-height:1.4;letter-spacing:var(--ds-tracking-normal);padding:3px 10px;border-radius:var(--ds-radius-xs);white-space:nowrap;background:var(--ds-primary-subtle);color:var(--ds-primary)}.ds-badge--pill{border-radius:var(--ds-radius-pill)}.ds-badge--dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.ds-badge--primary{background:var(--ds-primary-subtle);color:var(--ds-primary)}.ds-badge--neutral{background:var(--ds-surface-muted);color:var(--ds-ink-muted)}.ds-badge--success{background:var(--ds-success-subtle);color:var(--ds-success-on-subtle);border:1px solid var(--ds-success)}.ds-badge--warning{background:var(--ds-warning-subtle);color:var(--ds-warning-on-subtle)}.ds-badge--danger{background:var(--ds-danger-subtle);color:var(--ds-danger)}.ds-badge--info{background:var(--ds-info-subtle);color:var(--ds-info-on-subtle)}.ds-badge--accent{background:var(--ds-accent-subtle);color:var(--ds-accent-hover)}.ds-badge--solid{color:#fff;border-color:transparent}.ds-badge--solid.ds-badge--primary{background:var(--ds-primary)}.ds-badge--solid.ds-badge--success{background:var(--ds-success)}.ds-badge--solid.ds-badge--warning{background:var(--ds-warning);color:var(--ds-accent-contrast)}.ds-badge--solid.ds-badge--danger{background:var(--ds-danger)}.ds-badge--solid.ds-badge--info{background:var(--ds-info)}.ds-badge--solid.ds-badge--neutral{background:var(--ds-ink-muted)}.ds-card{background:var(--ds-surface);border-radius:var(--ds-radius-lg);padding:var(--ds-space-5);color:var(--ds-ink-base)}.ds-card--flush{padding:0}.ds-card--interactive{cursor:pointer;transition:box-shadow var(--ds-motion-fast) var(--ds-ease-standard),transform var(--ds-motion-fast) var(--ds-ease-press)}.ds-card--interactive:hover{box-shadow:var(--ds-shadow-md)}.ds-card--interactive:active{transform:scale(.995)}.ds-card--interactive:focus-within{box-shadow:var(--ds-shadow-md)}.ds-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-4);margin-bottom:var(--ds-space-4)}.ds-card__header--flush{padding:var(--ds-space-4) var(--ds-space-5);border-bottom:1px solid var(--ds-divider);margin-bottom:0}.ds-card__title{font-size:var(--ds-text-md);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-strong);line-height:var(--ds-leading-snug)}.ds-card__desc{display:block;font-weight:var(--ds-weight-medium);font-size:var(--ds-text-2xs);color:var(--ds-ink-faint);margin-top:3px}.ds-card__footer{display:flex;align-items:center;gap:var(--ds-space-3);margin-top:var(--ds-space-4);padding-top:var(--ds-space-3);border-top:1px solid var(--ds-divider)}.ds-drop{display:inline-flex;align-items:center;gap:4px;background:var(--ds-primary);color:#fff;border:0;border-radius:var(--ds-radius-xs);padding:5px 10px;font-family:var(--ds-font-sans);font-size:var(--ds-text-2xs);font-weight:var(--ds-weight-medium);white-space:nowrap;transition:background-color var(--ds-motion-fast) var(--ds-ease-standard)}.ds-drop:hover{background:var(--ds-primary-hover)}.ds-drop svg{width:11px;height:11px}.ds-link{color:var(--ds-primary);font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);white-space:nowrap}.ds-link:hover{color:var(--ds-primary-hover);text-decoration:underline}.ds-tile{background:var(--ds-surface);border-radius:var(--ds-radius-lg);padding:var(--ds-space-3_5) var(--ds-space-4);display:flex;flex-direction:column;gap:var(--ds-space-1_5)}.ds-tile__label{display:block;color:var(--ds-ink-faint);font-size:var(--ds-text-xs)}.ds-tile__value{font-size:var(--ds-text-xl);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-strong);line-height:1.1;font-variant-numeric:tabular-nums}.ds-tile--lg{padding:var(--ds-space-5) var(--ds-space-4);gap:var(--ds-space-3)}.ds-tile--lg .ds-tile__value{font-size:var(--ds-text-4xl)}.ds-field{display:flex;flex-direction:column;gap:var(--ds-space-1_5)}.ds-label{font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-muted)}.ds-label__req{color:var(--ds-danger);margin-left:2px}.ds-input{width:100%;height:40px;padding:var(--ds-space-2) var(--ds-space-3_5);font-size:var(--ds-text-sm);font-weight:var(--ds-weight-medium);color:var(--ds-ink-base);background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);transition:border-color var(--ds-motion-fast) var(--ds-ease-standard),box-shadow var(--ds-motion-fast) var(--ds-ease-standard)}textarea.ds-input{height:auto;min-height:92px;resize:vertical}.ds-input::placeholder{color:var(--ds-ink-faint);font-weight:var(--ds-weight-medium)}.ds-input:hover:not(:disabled):not(:focus){border-color:var(--ds-border-strong)}.ds-input:focus{outline:none;border-color:var(--ds-primary);box-shadow:0 0 0 3px var(--ds-ring)}.ds-input:disabled{background:var(--ds-surface-muted);color:var(--ds-ink-faint);cursor:not-allowed}.ds-input--invalid{border-color:var(--ds-danger)}.ds-input--invalid:focus{border-color:var(--ds-danger);box-shadow:0 0 0 3px #ff2f3c24}.ds-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23219595' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right var(--ds-space-3) center;padding-right:var(--ds-space-10)}.ds-help{font-size:var(--ds-text-xs);color:var(--ds-ink-muted)}.ds-help--error{color:var(--ds-danger)}.ds-check,.ds-radio{display:inline-flex;align-items:center;gap:var(--ds-space-2_5);font-size:var(--ds-text-sm);color:var(--ds-ink-base);cursor:pointer}.ds-check input,.ds-radio input{width:16px;height:16px;accent-color:var(--ds-primary);cursor:pointer}.ds-table-wrap{width:100%;overflow-x:auto}.ds-table{width:100%;border-collapse:collapse;font-size:var(--ds-text-sm);background:var(--ds-surface)}.ds-table th{font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);letter-spacing:normal;text-transform:none;text-align:left;color:var(--ds-ink-strong);background:transparent;padding:var(--ds-space-2) var(--ds-space-2);border-bottom:1px solid var(--ds-border);white-space:nowrap}.ds-table td{padding:var(--ds-space-3) var(--ds-space-2);font-size:var(--ds-text-sm);color:var(--ds-ink-muted);border-top:1px solid var(--ds-divider);vertical-align:middle}.ds-table tbody tr:first-child td{border-top:0}.ds-table tbody tr{transition:background-color var(--ds-motion-fast) var(--ds-ease-standard)}.ds-table tbody tr:hover{background:var(--ds-surface-subtle)}.ds-table tbody tr:hover td{color:var(--ds-ink-base)}.ds-table .ds-cell-num{font-family:var(--ds-font-sans);font-variant-numeric:tabular-nums;font-weight:var(--ds-weight-semibold);font-size:var(--ds-text-sm);color:var(--ds-ink-strong)}.ds-table .ds-cell-mute{color:var(--ds-ink-faint)}.ds-stat{display:flex;flex-direction:column;gap:var(--ds-space-2)}.ds-stat__row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ds-space-3)}.ds-stat__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--ds-radius-md);flex:none}.ds-stat__icon--primary{background:var(--ds-primary-subtle);color:var(--ds-primary)}.ds-stat__icon--accent{background:var(--ds-accent-subtle);color:var(--ds-accent-hover)}.ds-stat__icon--success{background:var(--ds-success-subtle);color:var(--ds-success)}.ds-stat__icon--info{background:var(--ds-info-subtle);color:var(--ds-info)}.ds-stat__icon--danger{background:var(--ds-danger-subtle);color:var(--ds-danger)}.ds-stat__label{font-size:var(--ds-text-xs);font-weight:var(--ds-weight-medium);color:var(--ds-ink-faint)}.ds-stat__value{font-family:var(--ds-font-sans);font-size:var(--ds-text-2xl);font-weight:var(--ds-weight-semibold);font-variant-numeric:tabular-nums;line-height:1.1;color:var(--ds-ink-strong)}.ds-stat__value--sm{font-size:var(--ds-text-lg)}.ds-stat__delta{display:inline-flex;align-items:center;gap:var(--ds-space-1);font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);font-variant-numeric:tabular-nums}.ds-stat__delta--up{color:var(--ds-success)}.ds-stat__delta--down{color:var(--ds-danger)}.ds-stat__delta--flat{color:var(--ds-ink-faint)}.ds-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--ds-surface-muted);color:var(--ds-ink-muted);font-size:var(--ds-text-sm);font-weight:var(--ds-weight-semibold);flex:none;position:relative}.ds-avatar--sm{width:28px;height:28px;font-size:var(--ds-text-xs)}.ds-avatar--lg{width:48px;height:48px;font-size:var(--ds-text-lg)}.ds-avatar--teal{background:var(--ds-ink-strong);color:#fff}.ds-avatar--accent{background:var(--ds-accent-subtle);color:var(--ds-accent-hover)}.ds-avatar--aqua{background:var(--ds-primary-subtle);color:var(--ds-primary)}.ds-avatar__status{position:absolute;inset-inline-end:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;background:var(--ds-success);border:2px solid var(--ds-surface)}.ds-avatar__status--offline{background:var(--ds-ink-faint)}.ds-avatar__status--busy{background:var(--ds-warning)}.ds-shell{min-height:100dvh;display:flex;background:var(--ds-bg)}.ds-sidebar{width:var(--ds-sidebar-w);flex:none;background:var(--ds-surface);border-right:1px solid var(--ds-divider);padding:var(--ds-space-5) var(--ds-space-4);display:flex;flex-direction:column;gap:var(--ds-space-1);position:sticky;top:0;height:100dvh;overflow-y:auto;z-index:var(--ds-z-sidebar)}.ds-sidebar--dark{background:var(--ds-ink-strong);border-right-color:transparent}.ds-sidebar__brand{display:flex;align-items:center;gap:var(--ds-space-2_5);margin:0 var(--ds-space-1_5) var(--ds-space-6)}.ds-sidebar__logo{width:28px;height:28px;border-radius:var(--ds-radius-sm);background:var(--ds-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none;font-weight:var(--ds-weight-bold);font-size:var(--ds-text-md);line-height:1}.ds-sidebar--dark .ds-sidebar__logo{background:#fff;color:var(--ds-ink-strong)}.ds-sidebar__name{font-size:var(--ds-text-lg);font-weight:var(--ds-weight-semibold);color:var(--ds-primary);letter-spacing:var(--ds-tracking-snug);line-height:1.2}.ds-sidebar__name span{display:block;font-size:var(--ds-text-2xs);font-weight:var(--ds-weight-medium);color:var(--ds-ink-faint);letter-spacing:var(--ds-tracking-wide);text-transform:uppercase}.ds-sidebar--dark .ds-sidebar__name{color:#fff}.ds-sidebar--dark .ds-sidebar__name span{color:#ffffff8c}.ds-nav{display:flex;flex-direction:column;flex:1}.ds-nav__group{margin-bottom:var(--ds-space-2);display:flex;flex-direction:column;gap:2px}.ds-nav__title{font-size:var(--ds-text-2xs);font-weight:var(--ds-weight-medium);letter-spacing:normal;text-transform:none;color:var(--ds-ink-faint);padding:var(--ds-space-2) var(--ds-space-3)}.ds-sidebar--dark .ds-nav__title{color:#fff6}.ds-nav__item{display:flex;align-items:center;gap:var(--ds-space-3);width:100%;padding:var(--ds-space-2_5) var(--ds-space-3);border-radius:var(--ds-radius-sm);color:var(--ds-ink-muted);font-size:var(--ds-text-sm);font-weight:var(--ds-weight-medium);transition:background-color var(--ds-motion-fast) var(--ds-ease-standard),color var(--ds-motion-fast) var(--ds-ease-standard)}.ds-nav__item:hover{background:var(--ds-surface-muted);color:var(--ds-ink-strong)}.ds-nav__item--active{background:var(--ds-primary);color:#fff;font-weight:var(--ds-weight-semibold)}.ds-nav__item--active:hover{background:var(--ds-primary-hover);color:#fff}.ds-sidebar--dark .ds-nav__item{color:#ffffffad}.ds-sidebar--dark .ds-nav__item:hover{background:#ffffff0f;color:#fff}.ds-sidebar--dark .ds-nav__item--active{background:var(--ds-primary);color:#fff}.ds-nav__item-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;color:currentColor}.ds-nav__item-arrow{margin-left:auto;opacity:0;transition:opacity var(--ds-motion-fast) var(--ds-ease-standard);flex:none}.ds-nav__item:hover .ds-nav__item-arrow,.ds-nav__item--active .ds-nav__item-arrow{opacity:.6}.ds-nav__badge{margin-left:auto}.ds-nav__count{margin-left:auto;font-size:var(--ds-text-2xs);font-weight:var(--ds-weight-semibold);font-variant-numeric:tabular-nums;color:var(--ds-ink-faint)}.ds-nav__item--active .ds-nav__count{color:#ffffffd9}.ds-nav__rule{height:1px;background:var(--ds-divider);border:0;margin:var(--ds-space-3) 0}.ds-sidebar__footer{margin-top:auto;padding-top:var(--ds-space-3)}.ds-sidebar__user{display:flex;align-items:center;gap:var(--ds-space-2_5);padding:var(--ds-space-2) var(--ds-space-2_5);border:1px solid var(--ds-divider);border-radius:var(--ds-radius-pill)}.ds-sidebar__user-meta{min-width:0;line-height:1.25}.ds-sidebar__user-meta strong{display:block;font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-sidebar__user-meta span{display:block;font-size:var(--ds-text-2xs);color:var(--ds-ink-faint);text-transform:capitalize}.ds-sidebar__actions{display:flex;align-items:center;gap:var(--ds-space-1_5);margin-top:var(--ds-space-2_5)}.ds-sidebar__action-btn{display:inline-flex;align-items:center;gap:var(--ds-space-2);height:32px;padding:0 var(--ds-space-3);border-radius:var(--ds-radius-sm);font-size:var(--ds-text-xs);font-weight:var(--ds-weight-medium);color:var(--ds-ink-muted);transition:background-color var(--ds-motion-fast) var(--ds-ease-standard),color var(--ds-motion-fast) var(--ds-ease-standard)}.ds-nav__item+.ds-nav__item{margin-top:2px}.ds-sidebar__action-btn:hover{background:var(--ds-surface-muted);color:var(--ds-ink-strong)}.ds-sidebar__action-btn--danger{color:var(--ds-danger);padding:0 var(--ds-space-2_5)}.ds-sidebar__action-btn--danger:hover{background:var(--ds-danger-subtle);color:var(--ds-danger-on-subtle)}.ds-shell__main,.ds-shell__content{flex:1;min-width:0;display:flex;flex-direction:column}.ds-topbar{height:var(--ds-topbar-h);display:flex;align-items:center;gap:var(--ds-space-3);padding:0 var(--ds-page-gutter);background:var(--ds-surface);border-bottom:1px solid var(--ds-divider);position:sticky;top:0;z-index:var(--ds-z-topbar)}.ds-topbar__greeting{flex:1;min-width:0;font-size:var(--ds-text-xl);font-weight:var(--ds-weight-medium);color:var(--ds-ink-strong);letter-spacing:var(--ds-tracking-snug);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-topbar__greeting b{font-weight:var(--ds-weight-bold)}.ds-topbar__search{display:flex;align-items:center;gap:var(--ds-space-2);background:var(--ds-surface-muted);border:1px solid transparent;border-radius:var(--ds-radius-md);padding:var(--ds-space-2) var(--ds-space-3);width:260px;color:var(--ds-ink-faint);transition:border-color var(--ds-motion-fast) var(--ds-ease-standard),background-color var(--ds-motion-fast) var(--ds-ease-standard)}.ds-topbar__search:focus-within{background:var(--ds-surface);border-color:var(--ds-primary)}.ds-topbar__search-input{border:0;background:none;outline:0;font:inherit;font-size:var(--ds-text-sm);width:100%;color:var(--ds-ink-strong)}.ds-topbar__search-input::placeholder{color:var(--ds-ink-faint)}.ds-topbar__spacer{margin-left:auto}.ds-topbar__icon-btn{position:relative;width:34px;height:34px;border-radius:50%;border:1px solid var(--ds-divider);background:var(--ds-surface);display:grid;place-items:center;color:var(--ds-ink-muted);flex:none;transition:border-color var(--ds-motion-fast) var(--ds-ease-standard),color var(--ds-motion-fast) var(--ds-ease-standard)}.ds-topbar__icon-btn:hover{border-color:var(--ds-border-strong);color:var(--ds-ink-strong)}.ds-topbar__notif-dot{position:absolute;top:6px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--ds-danger);border:2px solid var(--ds-surface)}.ds-topbar__date{display:inline-flex;align-items:center;gap:var(--ds-space-2);height:34px;padding:0 var(--ds-space-3);border:1px solid var(--ds-divider);border-radius:var(--ds-radius-pill);font-size:var(--ds-text-xs);font-weight:var(--ds-weight-medium);color:var(--ds-ink-muted);white-space:nowrap;transition:border-color var(--ds-motion-fast) var(--ds-ease-standard),color var(--ds-motion-fast) var(--ds-ease-standard)}.ds-topbar__date:hover{border-color:var(--ds-border-strong);color:var(--ds-ink-strong)}.ds-topbar__user{display:flex;align-items:center;gap:var(--ds-space-2);height:38px;padding:var(--ds-space-1) var(--ds-space-3_5) var(--ds-space-1) var(--ds-space-1);border:1px solid var(--ds-divider);border-radius:var(--ds-radius-pill)}.ds-topbar__user-info{line-height:1.2}.ds-topbar__user-name{display:block;font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-strong);white-space:nowrap}.ds-topbar__user-role{display:block;font-size:var(--ds-text-2xs);color:var(--ds-ink-faint);text-transform:capitalize}.ds-topbar__menu-btn{display:none;width:34px;height:34px;border-radius:var(--ds-radius-sm);place-items:center;color:var(--ds-ink-muted)}.ds-content{width:100%;max-width:var(--ds-page-max);margin:0 auto;padding:var(--ds-space-5) var(--ds-page-gutter) var(--ds-space-10);flex:1}.ds-divider{height:1px;background:var(--ds-divider);border:0}.ds-divider--v{width:1px;height:1.25rem;background:var(--ds-divider)}.ds-kbd{font-family:var(--ds-font-mono);font-size:var(--ds-text-2xs);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-muted);background:var(--ds-surface-muted);border:1px solid var(--ds-border);border-bottom-width:2px;border-radius:var(--ds-radius-xs);padding:2px 6px}.ds-overlay{position:fixed;inset:0;background:#2a2a2a73;z-index:var(--ds-z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--ds-space-4);opacity:0;animation:ds-fade var(--ds-motion-fast) var(--ds-ease-standard) forwards}.ds-modal{width:100%;max-width:680px;max-height:min(85vh,900px);overflow-y:auto;background:var(--ds-surface);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-xl);padding:var(--ds-space-6);transform:translateY(12px) scale(.98);animation:ds-modal-in var(--ds-motion-normal) var(--ds-ease-emphasized) forwards;z-index:var(--ds-z-modal)}.ds-modal--sm{max-width:420px}.ds-modal--lg{max-width:920px}@keyframes ds-modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.ds-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-4);margin-bottom:var(--ds-space-4)}.ds-modal__title{font-size:var(--ds-text-lg);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-strong)}.ds-modal__close{width:32px;height:32px;border-radius:var(--ds-radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--ds-ink-muted)}.ds-modal__close:hover{background:var(--ds-surface-muted);color:var(--ds-ink-strong)}.ds-modal__body{font-size:var(--ds-text-sm);color:var(--ds-ink-muted);line-height:var(--ds-leading-normal)}.ds-modal__footer{display:flex;justify-content:flex-end;gap:var(--ds-space-3);margin-top:var(--ds-space-6);padding-top:var(--ds-space-4);border-top:1px solid var(--ds-divider)}.ds-tabs{display:flex;align-items:center;gap:var(--ds-space-1);border-bottom:1px solid var(--ds-divider);overflow-x:auto}.ds-tab{position:relative;display:inline-flex;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-3) var(--ds-space-3);font-size:var(--ds-text-sm);font-weight:var(--ds-weight-medium);color:var(--ds-ink-muted);white-space:nowrap;transition:color var(--ds-motion-fast) var(--ds-ease-standard)}.ds-tab:hover{color:var(--ds-ink-strong)}.ds-tab--active{color:var(--ds-primary);font-weight:var(--ds-weight-semibold)}.ds-tab--active:after{content:"";position:absolute;inset-inline:var(--ds-space-2);bottom:-1px;height:2px;border-radius:var(--ds-radius-pill);background:var(--ds-primary)}.ds-tab__count{font-size:var(--ds-text-2xs);font-variant-numeric:tabular-nums;font-weight:var(--ds-weight-semibold);background:var(--ds-surface-muted);border-radius:var(--ds-radius-pill);padding:1px 7px}.ds-tab--active .ds-tab__count{background:var(--ds-primary-subtle);color:var(--ds-primary)}.ds-toast{position:fixed;right:var(--ds-space-6);bottom:var(--ds-space-6);z-index:var(--ds-z-toast);display:flex;flex-direction:column;gap:var(--ds-space-2);max-width:380px}.ds-toast__item{display:flex;align-items:flex-start;gap:var(--ds-space-3);background:var(--ds-surface);border-left:3px solid var(--ds-primary);border-radius:var(--ds-radius-sm);box-shadow:var(--ds-shadow-lg);padding:var(--ds-space-3_5);animation:ds-rise var(--ds-motion-normal) var(--ds-ease-emphasized) both}.ds-toast__item--success{border-left-color:var(--ds-success);background:var(--ds-success-subtle)}.ds-toast__item--warning{border-left-color:var(--ds-warning);background:var(--ds-warning-subtle)}.ds-toast__item--danger{border-left-color:var(--ds-danger);background:var(--ds-danger-subtle)}.ds-toast__item--accent{border-left-color:var(--ds-accent);background:var(--ds-accent-subtle)}.ds-toast__title{font-size:var(--ds-text-sm);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-strong);margin-bottom:2px}.ds-toast__msg{font-size:var(--ds-text-xs);color:var(--ds-ink-muted);line-height:var(--ds-leading-snug)}.ds-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--ds-space-2);padding:var(--ds-space-12) var(--ds-space-6)}.ds-empty__icon{width:52px;height:52px;border-radius:var(--ds-radius-lg);background:var(--ds-primary-subtle);color:var(--ds-primary);display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--ds-space-2)}.ds-empty__icon--danger{background:var(--ds-danger-subtle);color:var(--ds-danger)}.ds-empty__title{font-size:var(--ds-text-md);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-strong)}.ds-empty__text{font-size:var(--ds-text-sm);color:var(--ds-ink-muted);max-width:40ch}.ds-empty__action{margin-top:var(--ds-space-3)}.ds-skeleton{display:block;width:100%;border-radius:var(--ds-radius-xs);background:linear-gradient(100deg,var(--ds-surface-muted) 30%,#ebebeb 50%,var(--ds-surface-muted) 70%);background-size:200% 100%;animation:ds-shimmer 1.4s ease-in-out infinite}.ds-skeleton--title{height:14px}.ds-skeleton--text{height:12px}.ds-skeleton--cell{height:14px}.ds-skeleton--row{height:16px}@keyframes ds-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ds-page-title{font-size:var(--ds-text-3xl);font-weight:var(--ds-weight-bold);color:var(--ds-ink-strong);letter-spacing:var(--ds-tracking-tight);line-height:var(--ds-leading-tight)}.ds-page-sub{font-size:var(--ds-text-sm);color:var(--ds-ink-muted);margin-top:var(--ds-space-1_5);line-height:var(--ds-leading-normal);word-break:break-word}.ds-grid{display:grid;grid-template-columns:repeat(var(--ds-cols, 12),minmax(0,1fr));gap:var(--ds-space-4)}.ds-col-1{grid-column:span 1}.ds-col-2{grid-column:span 2}.ds-col-3{grid-column:span 3}.ds-col-4{grid-column:span 4}.ds-col-5{grid-column:span 5}.ds-col-6{grid-column:span 6}.ds-col-7{grid-column:span 7}.ds-col-8{grid-column:span 8}.ds-col-9{grid-column:span 9}.ds-col-10{grid-column:span 10}.ds-col-11{grid-column:span 11}.ds-col-12{grid-column:span 12}@media(max-width:1023px){.ds-col-1,.ds-col-2,.ds-col-3,.ds-col-4,.ds-col-5,.ds-col-6,.ds-col-7,.ds-col-8,.ds-col-9,.ds-col-10,.ds-col-11,.ds-col-12{grid-column:span 12}}.ds-chart{width:100%;height:auto;display:block;overflow:visible}.ds-row{display:flex;align-items:flex-start;gap:var(--ds-space-2_5);padding:var(--ds-space-2_5) 0;font-size:var(--ds-text-xs);color:var(--ds-ink-muted);line-height:1.5}.ds-row+.ds-row{border-top:1px solid var(--ds-divider)}.ds-row:first-child{padding-top:0}.ds-row:last-child{padding-bottom:0}.ds-cb{width:13px;height:13px;border:1px solid var(--ds-border-strong);border-radius:3px;flex:none;margin-top:3px}.ds-f{display:flex;align-items:center;gap:var(--ds-space-2_5)}.ds-av{width:34px;height:34px;border-radius:50%;background:var(--ds-surface-muted);color:var(--ds-ink-faint);display:grid;place-items:center;font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);flex:none}.ds-doc{width:24px;height:24px;border-radius:var(--ds-radius-xs);background:var(--ds-danger-subtle);color:var(--ds-danger);display:grid;place-items:center;font-size:7px;font-weight:var(--ds-weight-bold);letter-spacing:.02em;flex:none}.ds-legend{display:flex;flex-direction:column;gap:var(--ds-space-2);font-size:var(--ds-text-xs);color:var(--ds-ink-muted)}.ds-legend__item{display:flex;align-items:center;gap:var(--ds-space-2)}.ds-legend__swatch{width:10px;height:10px;border-radius:2px;flex:none}.ds-legend__label{flex:1;min-width:0}.ds-legend__value{font-weight:var(--ds-weight-semibold);color:var(--ds-ink-strong);font-variant-numeric:tabular-nums}.ds-legend--row{flex-direction:row;flex-wrap:wrap;gap:var(--ds-space-3)}.ds-sched{display:grid;grid-template-columns:repeat(9,1fr);gap:var(--ds-space-1);border:1px solid var(--ds-divider);border-radius:var(--ds-radius-sm);text-align:center;font-size:var(--ds-text-2xs);color:var(--ds-ink-faint);overflow:hidden}.ds-sched__slot{padding:var(--ds-space-2) var(--ds-space-1)}.ds-sched__slot--on{background:var(--ds-primary);color:#fff;font-weight:var(--ds-weight-semibold)}.ds-blk{padding:var(--ds-space-3) var(--ds-space-3_5);border-radius:var(--ds-radius-xs);border-left:3px solid;font-size:var(--ds-text-xs);color:var(--ds-ink-muted);line-height:1.5}.ds-blk--success{background:var(--ds-success-subtle);border-color:var(--ds-success)}.ds-blk--primary{background:var(--ds-primary-subtle);border-color:var(--ds-primary)}.ds-blk--danger{background:var(--ds-danger-subtle);border-color:var(--ds-danger)}.ds-blk--warning{background:var(--ds-warning-subtle);border-color:var(--ds-warning)}.ds-blk--info{background:var(--ds-info-subtle);border-color:var(--ds-info)}.ds-cal{background:var(--ds-surface-muted);border-radius:var(--ds-radius-md);padding:var(--ds-space-3)}.ds-cal__head{display:flex;justify-content:space-between;align-items:center;font-weight:var(--ds-weight-semibold);font-size:var(--ds-text-xs);margin-bottom:var(--ds-space-2);color:var(--ds-ink-strong)}.ds-cal__nav{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:var(--ds-text-xs);color:var(--ds-ink-muted)}.ds-cal__dow{font-weight:var(--ds-weight-medium);color:var(--ds-ink-faint);font-size:var(--ds-text-2xs);padding-bottom:var(--ds-space-1)}.ds-cal__day{padding:var(--ds-space-1_5) 0;border-radius:50%;font-variant-numeric:tabular-nums;transition:background-color var(--ds-motion-fast) var(--ds-ease-standard)}button.ds-cal__day{cursor:pointer}button.ds-cal__day:hover{background:var(--ds-surface);color:var(--ds-ink-strong)}.ds-cal__day--muted{color:var(--ds-border-strong)}.ds-cal__day--today{color:var(--ds-primary);font-weight:var(--ds-weight-bold)}.ds-cal__day--selected{background:var(--ds-primary);color:#fff;font-weight:var(--ds-weight-semibold)}.ds-cal__day--holiday{background:var(--ds-danger-subtle);color:var(--ds-danger);font-weight:var(--ds-weight-semibold)}.ds-hide-scrollbar::-webkit-scrollbar{display:none}.ds-shell-loading{display:flex;flex-direction:column;align-items:center;gap:var(--ds-space-3)}.ds-shell-loading__logo{width:48px;height:48px;border-radius:var(--ds-radius-lg);background:var(--ds-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--ds-text-lg);font-weight:var(--ds-weight-bold);animation:ds-pulse 1.5s ease-in-out infinite}@keyframes ds-pulse{0%,to{opacity:1}50%{opacity:.6}}.ds-shell-loading__text{font-size:var(--ds-text-sm);color:var(--ds-ink-muted)}.dash{display:flex;flex-direction:column}.dash-today-badge{display:inline-flex;align-items:center;gap:var(--ds-space-1_5);font-size:var(--ds-text-xs);color:var(--ds-ink-muted);font-weight:var(--ds-weight-medium);background:var(--ds-surface-muted);border-radius:var(--ds-radius-pill);padding:var(--ds-space-1_5) var(--ds-space-3)}.dash-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--ds-space-4);margin-bottom:var(--ds-space-4)}@media(min-width:641px)and (max-width:1024px){.dash-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--ds-space-3)}}@media(max-width:640px){.dash-kpi-grid{grid-template-columns:1fr;gap:var(--ds-space-3)}}.dash-kpi{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);padding:var(--ds-space-4);display:flex;flex-direction:column;justify-content:space-between;min-height:136px;position:relative;overflow:hidden;transition:transform var(--ds-motion-fast) var(--ds-ease-standard),box-shadow var(--ds-motion-fast) var(--ds-ease-standard),border-color var(--ds-motion-fast) var(--ds-ease-standard)}.dash-kpi:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #0000000f,0 8px 10px -6px #0000000a;border-color:#2195954d}.dash-kpi__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--ds-space-2)}.dash-kpi__icon{width:40px;height:40px;border-radius:var(--ds-radius-md);display:flex;align-items:center;justify-content:center;flex:none;font-size:18px}.dash-kpi__delta{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--ds-radius-pill)}.dash-kpi__delta--up{color:#15803d;background:#dcfce7}.dash-kpi__delta--down{color:#b91c1c;background:#fee2e2}.dash-kpi__delta--neutral{color:var(--ds-ink-muted);background:var(--ds-surface-muted)}.dash-kpi__value{font-family:var(--ds-font-sans);font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ds-ink-strong);letter-spacing:-.5px;line-height:1.1}.dash-kpi__label{font-size:13px;font-weight:600;color:var(--ds-ink-base);margin-top:3px}.dash-kpi__sub{font-size:11px;color:var(--ds-ink-muted);margin-top:2px}.dash-charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--ds-space-4);margin-bottom:var(--ds-space-4)}@media(min-width:768px)and (max-width:1024px){.dash-charts-row{grid-template-columns:repeat(2,1fr);gap:var(--ds-space-3)}}@media(max-width:767px){.dash-charts-row{grid-template-columns:1fr;gap:var(--ds-space-3)}}.dash-chart-card,.chart-card{min-height:220px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:var(--ds-surface);transition:box-shadow var(--ds-motion-fast) var(--ds-ease-standard)}.dash-chart-card:hover,.chart-card:hover{box-shadow:0 4px 14px #0000000d}.dash-lists-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--ds-space-4);margin-bottom:var(--ds-space-5)}@media(min-width:768px)and (max-width:1024px){.dash-lists-row{grid-template-columns:repeat(2,1fr);gap:var(--ds-space-3)}}@media(max-width:767px){.dash-lists-row{grid-template-columns:1fr;gap:var(--ds-space-3)}}.ds-card__body{padding:var(--ds-space-4) var(--ds-space-5)}.ds-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--ds-space-3)}.ds-list li{display:flex;flex-direction:column;gap:.15rem;padding-bottom:var(--ds-space-3);border-bottom:1px solid var(--ds-divider)}.ds-list li:last-child{border-bottom:0;padding-bottom:0}.ds-table-loading{padding:var(--ds-space-8);text-align:center;color:var(--ds-ink-faint);font-size:var(--ds-text-sm)}.ds-th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.ds-th--sortable:hover,.ds-th__arrow{color:var(--ds-primary)}.ds-tr--clickable{cursor:pointer}.ds-cell-mute{color:var(--ds-ink-faint);font-size:var(--ds-text-xs)}.ds-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-3);padding:var(--ds-space-3) var(--ds-space-2);border-top:1px solid var(--ds-divider)}.ds-pagination__info{font-size:var(--ds-text-sm);color:var(--ds-ink-muted)}.ds-btn__spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;vertical-align:-.125em;animation:ds-spin .7s linear infinite}.ds-icon-spin{animation:ds-spin .8s linear infinite}@keyframes ds-spin{to{transform:rotate(360deg)}}.ds-toast__close{position:absolute;top:var(--ds-space-2);right:var(--ds-space-2);border:0;background:transparent;color:inherit;opacity:.6;cursor:pointer;font-size:1rem;line-height:1}.ds-toast__close:hover{opacity:1}.login-root{min-height:100dvh;display:grid;grid-template-columns:48% 52%;animation:login-page-in .4s var(--ds-ease-standard) both}@keyframes login-page-in{0%{opacity:0}to{opacity:1}}@media(max-width:860px){.login-root{grid-template-columns:1fr}}.login-brand-panel{background:var(--ds-primary);display:flex;align-items:center;justify-content:center;padding:60px 52px;position:relative;overflow:hidden}.login-brand-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 120% 70% at 10% 0%,rgba(255,255,255,.14),transparent 62%);pointer-events:none}.login-brand-panel:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;border:1px solid rgba(255,255,255,.1);bottom:-90px;right:-90px;pointer-events:none;box-shadow:0 0 0 72px #ffffff0a}@media(max-width:860px){.login-brand-panel{display:none}}.login-brand-inner{position:relative;z-index:1;display:flex;flex-direction:column;gap:32px;max-width:360px;width:100%;animation:brand-slide-in .55s .1s var(--ds-ease-standard) both}@keyframes brand-slide-in{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}.login-logo-mark{width:52px;height:52px;border-radius:var(--ds-radius-lg);background:#ffffff29;border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;flex:none}.login-brand-text{display:flex;flex-direction:column;gap:6px}.login-brand-name{font-size:2rem;font-weight:var(--ds-weight-bold);color:#fff;letter-spacing:-.03em;line-height:1.1}.login-brand-sub{font-size:var(--ds-text-sm);color:#ffffffb3;font-weight:var(--ds-weight-medium)}.login-feature-list{display:flex;flex-direction:column;gap:14px;margin-top:4px}.login-feature-item{display:flex;align-items:center;gap:14px;font-size:var(--ds-text-sm);color:#ffffffe0;font-weight:var(--ds-weight-medium)}.login-feature-icon{width:30px;height:30px;border-radius:var(--ds-radius-md);background:#ffffff24;display:flex;align-items:center;justify-content:center;flex:none;color:#fff}.login-brand-footer{margin-top:8px;font-size:10px;color:#ffffff73;letter-spacing:.14em;text-transform:uppercase;font-weight:var(--ds-weight-semibold)}.login-form-panel{background:var(--ds-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 32px;min-height:100dvh}.login-card{width:100%;max-width:460px;background:var(--ds-surface);border-radius:var(--ds-radius-lg);padding:32px;animation:card-rise .42s .08s var(--ds-ease-standard) both}@keyframes card-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-card-header{margin-bottom:22px}.login-card-title{font-size:var(--ds-text-3xl);font-weight:var(--ds-weight-bold);color:var(--ds-ink-strong);letter-spacing:-.02em;line-height:1.15;margin:0 0 6px}.login-card-subtitle{font-size:var(--ds-text-sm);color:var(--ds-ink-muted);margin:0;line-height:1.6}.login-fields{display:flex;flex-direction:column;gap:14px;margin-bottom:18px}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-muted)}.login-input{width:100%;height:42px;padding:0 14px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);font-size:var(--ds-text-sm);font-family:var(--ds-font-sans);color:var(--ds-ink-strong);background:var(--ds-surface);outline:none;box-sizing:border-box;transition:border-color var(--ds-motion-fast) var(--ds-ease-standard),box-shadow var(--ds-motion-fast) var(--ds-ease-standard)}.login-input::placeholder{color:var(--ds-ink-faint)}.login-input:focus{border-color:var(--ds-primary);box-shadow:0 0 0 3px var(--ds-ring)}.login-input--error{border-color:var(--ds-danger)}.login-input--error:focus{box-shadow:0 0 0 3px #ff2f3c24}.login-input--pw{padding-right:46px}.login-input-wrap{position:relative}.login-pw-toggle{position:absolute;right:0;top:0;height:42px;width:42px;display:flex;align-items:center;justify-content:center;color:var(--ds-ink-faint);background:transparent;border:none;cursor:pointer;transition:color .15s ease;border-radius:0 var(--ds-radius-sm) var(--ds-radius-sm) 0}.login-pw-toggle:hover{color:var(--ds-ink-base)}.login-field-error{font-size:var(--ds-text-xs);color:var(--ds-danger);font-weight:var(--ds-weight-medium)}.login-submit-btn{width:100%;height:42px;background:var(--ds-primary);color:#fff;border:none;border-radius:var(--ds-radius-sm);font-size:var(--ds-text-sm);font-family:var(--ds-font-sans);font-weight:var(--ds-weight-semibold);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background-color var(--ds-motion-fast) var(--ds-ease-standard),transform var(--ds-motion-fast) var(--ds-ease-press)}.login-submit-btn:hover:not(:disabled){background:var(--ds-primary-hover)}.login-submit-btn:active:not(:disabled){background:var(--ds-primary-active)}.login-submit-btn:disabled{opacity:.55;cursor:not-allowed}.login-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-right-color:#fff;border-radius:50%;animation:ds-spin .7s linear infinite;flex:none}.login-role-section{background:var(--ds-surface-subtle);border:1px solid var(--ds-divider);border-radius:var(--ds-radius-md);padding:14px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.login-role-section-header{display:flex;align-items:center;justify-content:space-between}.login-role-badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--ds-text-2xs);font-weight:var(--ds-weight-semibold);color:var(--role-color, var(--ds-primary));background:color-mix(in srgb,var(--role-color, var(--ds-primary)) 10%,transparent);border-radius:var(--ds-radius-pill);padding:2px 8px;transition:color .15s ease,background-color .15s ease;animation:badge-pop .2s var(--ds-ease-standard) both}@keyframes badge-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.login-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.login-role-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 6px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);background:var(--ds-surface);cursor:pointer;text-align:center;position:relative;min-height:62px;transition:border-color .15s ease,background-color .15s ease,transform .12s ease}.login-role-chip:hover:not(:disabled){border-color:var(--role-color, var(--ds-primary));background:color-mix(in srgb,var(--role-color, var(--ds-primary)) 5%,#ffffff)}.login-role-chip:active:not(:disabled){transform:translateY(0)}.login-role-chip:disabled{opacity:.5;cursor:not-allowed}.login-role-chip--selected{border-color:var(--role-color, var(--ds-primary));background:color-mix(in srgb,var(--role-color, var(--ds-primary)) 8%,#ffffff);box-shadow:0 0 0 3px color-mix(in srgb,var(--role-color, var(--ds-primary)) 16%,transparent)}.login-role-chip-icon{width:26px;height:26px;border-radius:var(--ds-radius-xs);display:flex;align-items:center;justify-content:center;flex:none;color:var(--role-color, var(--ds-primary));background:color-mix(in srgb,var(--role-color, var(--ds-primary)) 12%,#ffffff);transition:background-color .15s ease,color .15s ease}.login-role-chip--selected .login-role-chip-icon,.login-role-chip:hover:not(:disabled) .login-role-chip-icon{background:var(--role-color, var(--ds-primary));color:#fff}.login-role-chip-label{font-size:var(--ds-text-2xs);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-base);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding:0 2px}.login-role-chip--selected .login-role-chip-label{color:var(--role-color, var(--ds-primary))}.login-role-chip-check{position:absolute;top:5px;right:5px;color:var(--role-color, var(--ds-primary));animation:check-pop .18s var(--ds-ease-standard) both}@keyframes check-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.login-role-hint{display:flex;align-items:flex-start;gap:8px;font-size:var(--ds-text-xs);color:var(--ds-ink-muted);background:var(--ds-surface-muted);border-radius:var(--ds-radius-sm);padding:8px 12px;line-height:1.55;margin:0;animation:login-hint-in .18s var(--ds-ease-standard) both}.login-role-hint-icon{flex:none;margin-top:1px;display:flex}@keyframes login-hint-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.login-page-footer{margin-top:18px;font-size:var(--ds-text-xs);color:var(--ds-ink-faint);text-align:center}.ds-quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--ds-space-3)}@media(min-width:641px)and (max-width:1024px){.ds-quick-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:var(--ds-space-2_5)}}@media(max-width:640px){.ds-quick-grid{grid-template-columns:repeat(2,1fr);gap:var(--ds-space-2)}}.ds-quick-card{display:flex;flex-direction:column;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-4) var(--ds-space-3);border-radius:var(--ds-radius-lg);background:var(--ds-surface);color:var(--ds-ink-base);text-decoration:none;font-size:var(--ds-text-sm);font-weight:var(--ds-weight-medium);text-align:center;transition:background-color var(--ds-motion-fast) var(--ds-ease-standard),transform var(--ds-motion-fast) var(--ds-ease-press)}.ds-quick-card:hover{background:var(--ds-primary-subtle);color:var(--ds-primary);transform:translateY(-2px)}.ds-quick-card__icon{width:40px;height:40px;border-radius:var(--ds-radius-md);background:var(--ds-surface-muted);display:flex;align-items:center;justify-content:center;color:var(--ds-primary);transition:background-color var(--ds-motion-fast) var(--ds-ease-standard),color var(--ds-motion-fast) var(--ds-ease-standard)}.ds-quick-card:hover .ds-quick-card__icon{background:var(--ds-primary);color:#fff}.tier1-heading{display:flex;align-items:center;gap:var(--ds-space-2);margin:0 0 var(--ds-space-3);font-size:var(--ds-text-sm);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-muted)}.tier1-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:var(--ds-space-2);width:100%}@media(min-width:768px)and (max-width:1024px){.tier1-grid{grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;width:100%}.tier1-btn{min-height:76px;padding:6px 4px}.tier1-btn__icon{width:28px;height:28px}.tier1-btn__label{font-size:10px}.tier1-btn__hint{display:none}}@media(max-width:767px){.tier1-grid{grid-template-columns:repeat(3,1fr);gap:var(--ds-space-2);width:100%}.tier1-btn{min-height:74px;padding:6px 4px}.tier1-btn__icon{width:28px;height:28px}.tier1-btn__label{font-size:10px}}.tier1-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:80px;padding:8px 6px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface);color:var(--ds-ink-base);font-family:inherit;font-size:var(--ds-text-xs);text-align:center;text-decoration:none;cursor:pointer;box-shadow:0 1px 2px #00000008;transition:border-color var(--ds-motion-fast) var(--ds-ease-standard),background-color var(--ds-motion-fast) var(--ds-ease-standard),box-shadow var(--ds-motion-fast) var(--ds-ease-standard),transform var(--ds-motion-fast) var(--ds-ease-press)}.tier1-btn:hover{border-color:var(--ds-primary);background:var(--ds-primary-subtle);color:var(--ds-primary);box-shadow:0 3px 8px #2195951f;transform:translateY(-1px)}.tier1-btn:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px}.tier1-btn__icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--ds-radius-md);background:var(--ds-surface-muted);color:var(--ds-primary);transition:background-color var(--ds-motion-fast) var(--ds-ease-standard),color var(--ds-motion-fast) var(--ds-ease-standard)}.tier1-btn:hover .tier1-btn__icon{background:var(--ds-primary);color:#fff}.tier1-btn__label{font-size:12px;font-weight:var(--ds-weight-semibold);line-height:1.25;color:var(--ds-ink-strong);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tier1-btn__hint{color:var(--ds-ink-muted);font-size:10px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tier1-btn__badge{position:absolute;top:var(--ds-space-2);right:var(--ds-space-2);display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--ds-danger);color:#fff;font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);line-height:1}.tier1-btn--more{background:var(--ds-surface-muted)}.tier1-btn--more .tier1-btn__icon{background:transparent;color:var(--ds-ink-muted)}.tier1-header-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--ds-space-3)}.tier1-header-bar .tier1-heading{margin:0}.tier1-pagination-nav{display:flex;align-items:center;gap:var(--ds-space-2)}.tier1-page-counter{font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-muted)}.tier1-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface);color:var(--ds-ink-muted);cursor:pointer;transition:all var(--ds-motion-fast) var(--ds-ease-standard)}.tier1-nav-btn:hover{border-color:var(--ds-primary);background:var(--ds-primary-subtle);color:var(--ds-primary)}.tier1-single-row{display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--ds-space-3);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}.tier1-single-row::-webkit-scrollbar{display:none}.tier1-single-row .tier1-btn,.tier1-single-row .tier1-btn--swap-group{flex:1 1 0;min-width:130px;max-width:180px}@media(max-width:640px){.tier1-single-row .tier1-btn,.tier1-single-row .tier1-btn--swap-group{min-width:110px;max-width:100%;min-height:104px;padding:var(--ds-space-2)}}.tier1-expand-toggle-btn{display:inline-flex;align-items:center;gap:var(--ds-space-1_5);padding:6px 14px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface);color:var(--ds-primary);font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);cursor:pointer;box-shadow:0 1px 2px #0000000a;transition:all var(--ds-motion-fast) var(--ds-ease-standard)}.tier1-expand-toggle-btn:hover{border-color:var(--ds-primary);background:var(--ds-primary-subtle);color:var(--ds-primary);transform:translateY(-1px)}.tier1-expand-badge{display:inline-flex;align-items:center;justify-content:center;padding:1px 6px;border-radius:var(--ds-radius-pill);background:var(--ds-primary-subtle);color:var(--ds-primary);font-size:11px;font-weight:700}.tier1-btn--horizontal-expand{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--ds-space-2_5);min-height:118px;padding:var(--ds-space-3) var(--ds-space-4);border:1.5px dashed var(--ds-primary);border-radius:var(--ds-radius-lg);background:var(--ds-surface);color:var(--ds-primary);cursor:pointer;box-shadow:0 1px 3px #0000000a;transition:all var(--ds-motion-fast) var(--ds-ease-standard)}.tier1-btn--horizontal-expand:hover{border-style:solid;border-color:var(--ds-primary);background:var(--ds-primary-subtle);color:var(--ds-primary);transform:translateY(-1px)}.tier1-horizontal-expand__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ds-radius-md);background:var(--ds-primary-subtle);color:var(--ds-primary);flex-shrink:0;transition:all var(--ds-motion-fast) var(--ds-ease-standard)}.tier1-btn--horizontal-expand:hover .tier1-horizontal-expand__icon{background:var(--ds-primary);color:#fff}.tier1-horizontal-expand__text{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.tier1-horizontal-expand__label{font-size:var(--ds-text-sm);font-weight:var(--ds-weight-semibold);color:var(--ds-primary);line-height:1.2}.tier1-horizontal-expand__count{font-size:var(--ds-text-xs);color:var(--ds-ink-muted);margin-top:2px}.tier1-btn--horizontal-collapse{border-color:var(--ds-border-strong);color:var(--ds-ink-muted)}.tier1-btn--horizontal-collapse .tier1-horizontal-expand__icon{background:var(--ds-surface-muted);color:var(--ds-ink-muted)}.tier1-btn--horizontal-collapse:hover{border-color:var(--ds-ink-muted);background:var(--ds-surface-muted);color:var(--ds-ink-strong)}.tier1-btn--horizontal-collapse:hover .tier1-horizontal-expand__icon{background:var(--ds-ink-muted);color:#fff}.tier2-list{display:flex;flex-direction:column;gap:var(--ds-space-2);margin:0;padding:0;list-style:none}.tier2-item{display:flex;align-items:center;gap:var(--ds-space-3);min-height:48px;padding:var(--ds-space-3);border-radius:var(--ds-radius-md);color:var(--ds-ink-base);text-decoration:none;transition:background-color var(--ds-motion-fast) var(--ds-ease-standard)}.tier2-item:hover{background:var(--ds-primary-subtle);color:var(--ds-primary)}.tier2-item:focus-visible{outline:2px solid var(--ds-primary);outline-offset:2px}.tier2-item__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:var(--ds-radius-md);background:var(--ds-surface-muted);color:var(--ds-primary)}.tier2-item__text{display:flex;flex-direction:column;min-width:0}.tier2-item__label{font-weight:var(--ds-weight-medium);line-height:1.3}.tier2-item__hint{color:var(--ds-ink-muted);font-size:var(--ds-text-xs);line-height:1.3}.tier2-item__badge{flex-shrink:0;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--ds-danger);color:#fff;font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);line-height:1}.ds-def-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0}.ds-def-list div{display:flex;justify-content:space-between;align-items:center;gap:var(--ds-space-4);padding:var(--ds-space-3) 0;border-bottom:1px solid var(--ds-divider)}.ds-def-list div:last-child{border-bottom:none}.ds-def-list dt{color:var(--ds-ink-muted);font-size:var(--ds-text-sm)}.ds-def-list dd{font-size:var(--ds-text-sm);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-strong);margin:0;text-align:right}.ds-toolbar{display:flex;align-items:center;gap:var(--ds-space-3);margin-bottom:var(--ds-space-4);flex-wrap:wrap}.ds-search{position:relative;flex:0 1 340px;display:flex;align-items:center}.ds-search svg{position:absolute;left:var(--ds-space-3);color:var(--ds-ink-faint);pointer-events:none}.ds-search .ds-input{padding-left:calc(var(--ds-space-3) * 2 + 14px)}.ds-smart-filters{display:flex;flex-direction:column;gap:var(--ds-space-3);background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);padding:12px 16px;margin-bottom:var(--ds-space-4);box-shadow:0 1px 3px #00000008}.ds-smart-filters__row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--ds-space-3);width:100%}.ds-smart-filters__search{position:relative;display:flex;align-items:center;flex:1 1 240px;min-width:200px;max-width:420px}.ds-smart-filters__group{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ds-space-2_5);flex:0 1 auto}.ds-smart-filters__actions{display:flex;align-items:center;gap:var(--ds-space-2);margin-left:auto;flex-shrink:0}.ds-smart-filters__dropdowns-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ds-space-2_5);padding-top:var(--ds-space-2_5);border-top:1px solid var(--ds-divider, #f1f5f9);width:100%}.ds-smart-filters__refine-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--ds-text-xs);font-weight:600;color:var(--ds-ink-muted);white-space:nowrap;-webkit-user-select:none;user-select:none}.ds-smart-filters__dropdowns-list{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ds-space-2);flex:1 1 auto}.ds-smart-filters__custom-date{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 14px;background:var(--ds-surface-muted, #f8fafc);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);margin-top:2px;width:100%}.ds-smart-filters__search svg.ds-search-icon{position:absolute;left:10px;color:var(--ds-ink-muted);pointer-events:none}.ds-smart-filters__search-input{width:100%;height:36px;padding:0 32px;border:1.5px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface);font-size:var(--ds-text-sm);color:var(--ds-ink-strong);transition:all .15s ease}.ds-smart-filters__search-input:focus{outline:none;border-color:var(--ds-primary);box-shadow:0 0 0 3px var(--ds-ring)}.ds-smart-filters__clear-btn{position:absolute;right:8px;background:transparent;border:none;color:var(--ds-ink-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:50%;transition:background .15s ease}.ds-smart-filters__clear-btn:hover{background:var(--ds-surface-muted);color:var(--ds-ink-strong)}.ds-smart-pills{display:inline-flex;align-items:center;background:var(--ds-surface-muted);padding:3px;border-radius:var(--ds-radius-pill);gap:2px;border:1px solid var(--ds-border);flex-wrap:wrap}.ds-smart-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--ds-radius-pill);border:none;background:transparent;font-size:var(--ds-text-xs);font-weight:500;color:var(--ds-ink-muted);cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);white-space:nowrap}.ds-smart-pill:hover{color:var(--ds-ink-strong);background:#0000000a}.ds-smart-pill--active{background:var(--ds-surface);color:var(--ds-primary);font-weight:600;box-shadow:0 1px 3px #00000014}.ds-smart-pill__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ds-smart-pill__count{font-size:10px;font-weight:700;padding:1px 6px;border-radius:var(--ds-radius-pill);background:#0000000f;color:var(--ds-ink-muted)}.ds-smart-pill--active .ds-smart-pill__count{background:var(--ds-primary-subtle);color:var(--ds-primary)}.ds-smart-select-wrapper{position:relative;display:inline-flex;align-items:center}.ds-smart-select{height:36px;padding:0 28px 0 12px;border:1.5px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-surface);font-size:var(--ds-text-xs);font-weight:500;color:var(--ds-ink-strong);cursor:pointer;transition:border-color .15s ease,background .15s ease;appearance:none}.ds-smart-select:focus{outline:none;border-color:var(--ds-primary)}.ds-smart-select-wrapper svg{position:absolute;right:8px;pointer-events:none;color:var(--ds-ink-muted)}.ds-smart-select--active{border-color:var(--ds-primary);background:var(--ds-primary-subtle);color:var(--ds-primary);font-weight:600}.ds-smart-active-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--ds-space-2);padding-top:var(--ds-space-2);border-top:1px dashed var(--ds-divider);font-size:var(--ds-text-xs)}.ds-smart-active-tags{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ds-space-1_5)}.ds-smart-tag{display:inline-flex;align-items:center;gap:4px;background:var(--ds-surface-muted);border:1px solid var(--ds-border);border-radius:var(--ds-radius-pill);padding:2px 8px;font-size:11px;font-weight:500;color:var(--ds-ink-base)}.ds-smart-tag button{border:none;background:transparent;cursor:pointer;display:flex;align-items:center;color:var(--ds-ink-muted);padding:0;margin-left:2px}.ds-smart-tag button:hover{color:var(--ds-danger)}.ds-smart-reset-btn{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;color:var(--ds-primary);font-size:var(--ds-text-xs);font-weight:600;cursor:pointer;padding:2px 6px;border-radius:var(--ds-radius-sm);transition:background .15s ease}.ds-smart-reset-btn:hover{text-decoration:underline;background:var(--ds-primary-subtle)}@media(min-width:641px)and (max-width:1024px){.ds-smart-filters{padding:var(--ds-space-3)}.ds-smart-filters__row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ds-space-2_5)}.ds-smart-filters__search{flex:1 1 200px;min-width:160px;max-width:none}.ds-smart-filters__actions{margin-left:auto;display:flex;align-items:center;gap:var(--ds-space-2);flex-shrink:0}.ds-smart-pills{display:flex;flex-wrap:wrap;gap:4px;width:auto}.ds-smart-pill{padding:5px 12px;font-size:var(--ds-text-xs)}.ds-smart-filters__dropdowns-row{gap:var(--ds-space-2)}}@media(max-width:640px){.ds-smart-filters{padding:var(--ds-space-2_5)}.ds-smart-filters__row{flex-direction:column;align-items:stretch;gap:var(--ds-space-2)}.ds-smart-filters__search{width:100%;max-width:100%;flex:1 1 100%}.ds-smart-filters__actions{width:100%;margin-left:0;justify-content:flex-start}.ds-smart-filters__actions>*{flex:1 1 auto}.ds-smart-pills{display:flex;overflow-x:auto;white-space:nowrap;width:100%;padding:4px}.ds-smart-filters__dropdowns-list{display:flex;flex-direction:column;width:100%}.ds-smart-select-wrapper,.ds-smart-select{width:100%}}.ds-page-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--ds-space-3);margin-bottom:var(--ds-space-4)}.ds-page-head__title-group{flex:1 1 280px;min-width:0}.ds-page-head__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--ds-space-2);flex-wrap:wrap;margin-left:auto;flex-shrink:0}.ds-page-head__actions>*{display:inline-flex;align-items:center;gap:var(--ds-space-2)}@media(min-width:641px)and (max-width:1024px){.ds-page-head{align-items:flex-start;gap:var(--ds-space-3)}.ds-page-head__title-group{flex:1 1 260px;min-width:0}.ds-page-head__actions{margin-left:auto;justify-content:flex-end}}@media(max-width:640px){.ds-page-head{flex-direction:column;align-items:stretch;gap:var(--ds-space-2_5)}.ds-page-head__title-group{width:100%}.ds-page-head__actions{width:100%;justify-content:flex-start;margin-left:0}.ds-page-head__actions>*{flex:1 1 auto}}@media(min-width:641px)and (max-width:1024px){.ds-btn{min-height:38px;padding:0 var(--ds-space-3_5, 14px);touch-action:manipulation}.ds-btn--sm{min-height:34px;padding:0 var(--ds-space-3)}.ds-btn--lg{min-height:46px;padding:0 var(--ds-space-5)}.ds-patient-card__action-btn{min-height:36px}}.ds-monospace{font-family:var(--ds-font-mono);font-size:.85em;letter-spacing:-.01em}.ds-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-space-3)}.ds-form-grid .ds-span-2{grid-column:span 2}.ds-form-grid--3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ds-space-2_5, 10px)}.ds-form-grid--4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ds-space-2, 8px)}.ds-span-2{grid-column:span 2}.ds-span-3{grid-column:span 3}.ds-span-4{grid-column:span 4}@media(max-width:860px){.ds-form-grid--3,.ds-form-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.ds-span-3,.ds-span-4{grid-column:span 2}}@media(max-width:640px){.ds-form-grid,.ds-form-grid--3,.ds-form-grid--4{grid-template-columns:1fr}.ds-form-grid .ds-span-2,.ds-span-2,.ds-span-3,.ds-span-4{grid-column:span 1}}.ds-form-compact{font-size:13px}.ds-form-compact .ds-field{gap:3px}.ds-form-compact .ds-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--ds-ink-muted)}.ds-form-compact .ds-input,.ds-form-compact .ds-select{height:34px;padding:4px 10px;font-size:13px}.ds-form-compact textarea.ds-input{min-height:56px;padding:6px 10px}.ds-form-compact .ds-help{font-size:11px;margin-top:1px}.ds-modal--compact{padding:var(--ds-space-4) var(--ds-space-5);max-width:720px}.ds-modal--compact .ds-modal__header{margin-bottom:var(--ds-space-3);padding-bottom:var(--ds-space-2);border-bottom:1px solid var(--ds-divider)}.ds-modal--compact .ds-modal__footer{margin-top:var(--ds-space-4);padding-top:var(--ds-space-3)}.ds-form-filter-bar{display:flex;align-items:center;gap:var(--ds-space-2);margin-bottom:var(--ds-space-2_5);padding:6px 10px;background:var(--ds-surface-muted, #f8fafc);border:1px solid var(--ds-border, #e2e8f0);border-radius:var(--ds-radius-sm, 6px);flex-wrap:wrap}.ds-form-filter-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;border-radius:var(--ds-radius-pill, 9999px);border:1px solid var(--ds-border, #cbd5e1);background:var(--ds-surface, #ffffff);color:var(--ds-ink-muted, #64748b);cursor:pointer;transition:all var(--ds-motion-fast) var(--ds-ease-standard);-webkit-user-select:none;user-select:none}.ds-form-filter-chip:hover{border-color:var(--ds-primary);color:var(--ds-primary)}.ds-form-filter-chip--active{background:var(--ds-primary);color:#fff!important;border-color:var(--ds-primary)}.ds-form-search-box{position:relative;display:inline-flex;align-items:center;flex:1;min-width:140px}.ds-form-search-box .ds-input{height:30px;font-size:12px;padding-left:28px;padding-right:24px}.ds-form-search-box .ds-form-search-icon{position:absolute;left:8px;color:var(--ds-ink-muted);pointer-events:none}.ds-form-search-box .ds-form-search-clear{position:absolute;right:6px;background:transparent;border:none;color:var(--ds-ink-muted);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:50%}.ds-form-search-box .ds-form-search-clear:hover{background:var(--ds-surface-muted);color:var(--ds-ink-strong)}.ds-form-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ds-primary);display:flex;align-items:center;gap:6px;margin-top:10px;margin-bottom:6px;padding-bottom:4px;border-bottom:1px dashed var(--ds-border, #e2e8f0)}.ds-stack{display:flex;flex-direction:column}.ds-flex{display:flex;align-items:center}.ds-flex--between{justify-content:space-between}.ds-flex--end{justify-content:flex-end}.ds-flex--top{align-items:flex-start}.ds-flex--wrap{flex-wrap:wrap}.ds-gap-1{gap:var(--ds-space-1)}.ds-gap-2{gap:var(--ds-space-2)}.ds-gap-3{gap:var(--ds-space-3)}.ds-gap-4{gap:var(--ds-space-4)}.ds-mt-1{margin-top:var(--ds-space-1)}.ds-mt-2{margin-top:var(--ds-space-2)}.ds-mt-3{margin-top:var(--ds-space-3)}.ds-mt-4{margin-top:var(--ds-space-4)}.ds-mt-5{margin-top:var(--ds-space-5)}.ds-mb-4{margin-bottom:var(--ds-space-4)}.ds-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--ds-space-2)}.ds-nav__badge{margin-left:auto;font-size:var(--ds-text-2xs);font-weight:var(--ds-weight-semibold);letter-spacing:.04em;color:var(--ds-primary);background:var(--ds-primary-subtle);border-radius:var(--ds-radius-pill);padding:2px 8px;text-transform:uppercase}.ds-nav__item--active .ds-nav__badge{color:#fff;background:#ffffff38}.ds-skip-link{position:fixed;top:var(--ds-space-2);left:var(--ds-space-2);z-index:calc(var(--ds-z-overlay) + 10);padding:var(--ds-space-2) var(--ds-space-3);border-radius:var(--ds-radius-sm);background:var(--ds-ink-strong);color:#fff;font-size:var(--ds-text-sm);font-weight:var(--ds-weight-semibold);transform:translateY(-300%);transition:transform var(--ds-motion-fast) var(--ds-ease-standard)}.ds-skip-link:focus{transform:translateY(0)}.ds-topbar__menu-btn{display:none;width:34px;height:34px;align-items:center;justify-content:center;border-radius:var(--ds-radius-sm);color:var(--ds-ink-muted);transition:background-color var(--ds-motion-fast) var(--ds-ease-standard),color var(--ds-motion-fast) var(--ds-ease-standard)}.ds-topbar__menu-btn:hover{background:var(--ds-surface-muted);color:var(--ds-ink-strong)}.ds-table-skeleton{display:flex;flex-direction:column;gap:var(--ds-space-3);padding:var(--ds-space-4)}.ds-table-skeleton__row{display:grid;grid-template-columns:repeat(var(--ds-skeleton-cols, 5),minmax(0,1fr));gap:var(--ds-space-4)}.ds-ward-toggle{display:inline-flex;align-items:center;gap:var(--ds-space-2);padding:var(--ds-space-2) var(--ds-space-3);margin:calc(-1 * var(--ds-space-2)) calc(-1 * var(--ds-space-3));border-radius:var(--ds-radius-sm);color:var(--ds-ink-strong);font-size:var(--ds-text-md);font-weight:var(--ds-weight-semibold);transition:background-color var(--ds-motion-fast) var(--ds-ease-standard)}.ds-ward-toggle:hover{background:var(--ds-surface-muted)}.dash-kpi{animation:ds-rise var(--ds-motion-slow) var(--ds-ease-emphasized) both}@media(prefers-reduced-motion:no-preference){.dash-kpi:nth-child(2){animation-delay:50ms}.dash-kpi:nth-child(3){animation-delay:.1s}.dash-kpi:nth-child(4){animation-delay:.15s}.dash-kpi:nth-child(5){animation-delay:.2s}.dash-kpi:nth-child(6){animation-delay:.25s}}.ds-topbar__search{flex:1 1 auto;max-width:440px;min-width:200px;background:var(--ds-surface-muted);border:1px solid var(--ds-border, #e2e8f0);border-radius:var(--ds-radius-md, 8px);padding:7px 12px;transition:all var(--ds-motion-fast) var(--ds-ease-standard)}.ds-topbar__search:focus-within{background:#fff;border-color:var(--ds-primary, #219595);box-shadow:0 0 0 3px var(--ds-ring, rgba(33, 149, 149, .16))}.ds-topbar__search-input{flex:1;min-width:0}@media(min-width:641px)and (max-width:1024px){.ds-topbar__menu-btn{display:inline-flex}.ds-sidebar{position:sticky;top:0;left:auto;height:100dvh;width:var(--ds-sidebar-w-collapsed, 72px);flex:0 0 var(--ds-sidebar-w-collapsed, 72px);padding:var(--ds-space-4) var(--ds-space-2);align-items:center;transform:none;box-shadow:none;border-right:1px solid var(--ds-divider);z-index:var(--ds-z-sticky);overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;transition:width var(--ds-motion-normal) var(--ds-ease-standard),padding var(--ds-motion-normal) var(--ds-ease-standard)}.ds-sidebar::-webkit-scrollbar{display:none}.ds-sidebar__brand{justify-content:center;margin:0 0 var(--ds-space-5);padding:0;width:100%}.ds-sidebar__logo{width:38px;height:38px;border-radius:var(--ds-radius-md)}.ds-sidebar__name{display:none}.ds-nav{width:100%;align-items:center}.ds-nav__group{width:100%;align-items:center;margin-bottom:var(--ds-space-2);gap:4px}.ds-nav__title{display:none}.ds-nav__group+.ds-nav__group:before{content:"";display:block;width:28px;height:1px;background:var(--ds-divider);margin:var(--ds-space-1_5) auto}.ds-nav__item{width:44px;height:44px;padding:0;justify-content:center;border-radius:var(--ds-radius-md);position:relative;margin:0 auto}.ds-nav__item-icon{margin:0}.ds-nav__label{display:none}.ds-nav__badge{position:absolute;top:3px;right:3px;min-width:16px;height:16px;padding:0 3px;font-size:9px;line-height:16px;text-align:center;border-radius:var(--ds-radius-pill);margin:0}.ds-nav__rule{width:28px;margin:var(--ds-space-2) auto}.ds-sidebar__footer{width:100%;padding-top:var(--ds-space-3);margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:var(--ds-space-2)}.ds-sidebar__user{padding:0;border:none;justify-content:center;width:auto;background:transparent}.ds-sidebar__user-meta{display:none}.ds-sidebar__actions{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:0;width:100%}.ds-sidebar__action-btn{width:38px;height:38px;padding:0;justify-content:center;border-radius:var(--ds-radius-md)}.ds-sidebar__action-label,.ds-sidebar__scrim{display:none}.ds-shell--sidebar-open .ds-sidebar{position:fixed;top:0;left:0;height:100dvh;width:min(var(--ds-sidebar-w),84vw);padding:var(--ds-space-5) var(--ds-space-4);align-items:stretch;box-shadow:var(--ds-shadow-xl);z-index:var(--ds-z-sidebar);animation:ds-sidebar-rail-expand var(--ds-motion-normal) var(--ds-ease-emphasized) forwards}.ds-shell--sidebar-open .ds-sidebar__brand{justify-content:flex-start;margin:0 var(--ds-space-1_5) var(--ds-space-6);width:auto}.ds-shell--sidebar-open .ds-sidebar__name{display:block}.ds-shell--sidebar-open .ds-sidebar__logo{width:28px;height:28px}.ds-shell--sidebar-open .ds-nav,.ds-shell--sidebar-open .ds-nav__group{align-items:stretch}.ds-shell--sidebar-open .ds-nav__title{display:block}.ds-shell--sidebar-open .ds-nav__group+.ds-nav__group:before{display:none}.ds-shell--sidebar-open .ds-nav__item{width:100%;height:auto;padding:var(--ds-space-2_5) var(--ds-space-3);justify-content:flex-start}.ds-shell--sidebar-open .ds-nav__label{display:inline}.ds-shell--sidebar-open .ds-nav__badge{position:static;min-width:18px;height:18px;font-size:var(--ds-text-2xs);line-height:normal;margin-left:auto}.ds-shell--sidebar-open .ds-nav__rule{width:100%}.ds-shell--sidebar-open .ds-sidebar__footer{align-items:stretch}.ds-shell--sidebar-open .ds-sidebar__user{padding:var(--ds-space-2) var(--ds-space-2_5);border:1px solid var(--ds-divider);justify-content:flex-start;width:auto}.ds-shell--sidebar-open .ds-sidebar__user-meta{display:block}.ds-shell--sidebar-open .ds-sidebar__actions{flex-direction:row;width:auto;margin-top:var(--ds-space-2_5)}.ds-shell--sidebar-open .ds-sidebar__action-btn{width:auto;height:32px;padding:0 var(--ds-space-3);justify-content:flex-start}.ds-shell--sidebar-open .ds-sidebar__action-btn--danger{padding:0 var(--ds-space-2_5)}.ds-shell--sidebar-open .ds-sidebar__action-label{display:inline}.ds-shell--sidebar-open .ds-sidebar__scrim{display:block;position:fixed;inset:0;background:#2a2a2a66;z-index:calc(var(--ds-z-sidebar) - 1);opacity:1;pointer-events:auto;transition:opacity var(--ds-motion-normal) var(--ds-ease-standard)}.ds-content{padding:var(--ds-space-4)}.ds-topbar{padding:0 var(--ds-space-3);gap:var(--ds-space-2)}.ds-topbar__search{display:flex;flex:1 1 auto;max-width:380px;min-width:160px;padding:7px 12px}.ds-topbar__date,.ds-topbar__user-info{display:none}}@keyframes ds-sidebar-rail-expand{0%{width:var(--ds-sidebar-w-collapsed, 72px)}to{width:min(var(--ds-sidebar-w),84vw)}}@media(max-width:640px){.ds-topbar__menu-btn{display:inline-flex}.ds-sidebar{position:fixed;top:0;left:0;height:100dvh;width:min(var(--ds-sidebar-w),84vw);transform:translate(-102%);transition:transform var(--ds-motion-slow) var(--ds-ease-emphasized);box-shadow:var(--ds-shadow-xl);z-index:var(--ds-z-sidebar)}.ds-shell--sidebar-open .ds-sidebar{transform:translate(0)}.ds-sidebar__scrim{display:block;position:fixed;inset:0;background:#2a2a2a66;z-index:calc(var(--ds-z-sidebar) - 1);opacity:0;pointer-events:none;transition:opacity var(--ds-motion-normal) var(--ds-ease-standard)}.ds-shell--sidebar-open .ds-sidebar__scrim{opacity:1;pointer-events:auto}.ds-content{padding:var(--ds-space-3)}.ds-topbar{padding:0 var(--ds-space-2);gap:var(--ds-space-1_5)}.ds-topbar__search{display:flex;flex:1 1 auto;max-width:260px;min-width:120px;padding:5px 8px;font-size:12px}.ds-topbar__date,.ds-topbar__user-info{display:none}}@media(max-width:520px){.ds-topbar__icon-btn{display:none}}.ds-patient-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--ds-space-4);margin:var(--ds-space-4) 0}.ds-patient-card{background:var(--ds-surface);border-radius:var(--ds-radius-lg);padding:var(--ds-space-4);display:flex;flex-direction:column;gap:var(--ds-space-3);transition:box-shadow var(--ds-motion-fast) var(--ds-ease-standard);position:relative;overflow:hidden}.ds-patient-card:hover{box-shadow:var(--ds-shadow-md)}.ds-patient-card__header{display:flex;align-items:flex-start;gap:var(--ds-space-3)}.ds-patient-card__avatar{width:42px;height:42px;border-radius:50%;background:var(--ds-primary);color:#fff;font-weight:var(--ds-weight-semibold);font-size:var(--ds-text-sm);display:flex;align-items:center;justify-content:center;position:relative;flex:none}.ds-patient-card__gender-dot{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;border:2px solid var(--ds-surface)}.ds-patient-card__gender-dot--male{background:var(--ds-chart-1)}.ds-patient-card__gender-dot--female{background:var(--ds-chart-4)}.ds-patient-card__gender-dot--other{background:var(--ds-ink-faint)}.ds-patient-card__title-area{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.ds-patient-card__name-row{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-space-2)}.ds-patient-card__name{margin:0;font-size:var(--ds-text-md);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-patient-card__sub-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.ds-patient-card__uhid-badge{display:inline-flex;align-items:center;gap:4px;background:var(--ds-surface-muted);border:1px solid var(--ds-border);padding:2px 8px;border-radius:var(--ds-radius-pill);font-size:var(--ds-text-2xs);font-family:var(--ds-font-mono);color:var(--ds-ink-strong);font-weight:var(--ds-weight-semibold);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.ds-patient-card__uhid-badge:hover{background:var(--ds-primary-subtle);border-color:var(--ds-primary)}.ds-patient-card__meta-pill{font-size:var(--ds-text-2xs);color:var(--ds-ink-muted);background:var(--ds-surface-muted);padding:2px 6px;border-radius:var(--ds-radius-xs);font-weight:var(--ds-weight-medium)}.ds-patient-card__blood-pill{display:inline-flex;align-items:center;gap:3px;font-size:var(--ds-text-2xs);font-weight:var(--ds-weight-semibold);color:var(--ds-danger);background:var(--ds-danger-subtle);padding:2px 7px;border-radius:var(--ds-radius-pill)}.ds-patient-card__tabs{display:flex;background:var(--ds-surface-muted);padding:2px;border-radius:var(--ds-radius-sm);gap:2px}.ds-patient-card__tab{flex:1;padding:5px 8px;border:none;background:transparent;font-size:var(--ds-text-2xs);font-weight:var(--ds-weight-medium);color:var(--ds-ink-muted);border-radius:var(--ds-radius-xs);cursor:pointer;transition:background-color .15s ease,color .15s ease;text-align:center}.ds-patient-card__tab--active{background:var(--ds-surface);color:var(--ds-primary);font-weight:var(--ds-weight-semibold)}.ds-patient-card__tab--warning{color:var(--ds-warning-on-subtle)}.ds-patient-card__body{padding:var(--ds-space-1) 0;min-height:72px}.ds-patient-card__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--ds-space-2) var(--ds-space-3)}.ds-patient-card__field{display:flex;flex-direction:column;gap:1px}.ds-patient-card__field--full{grid-column:span 2}.ds-patient-card__field-label{font-size:var(--ds-text-2xs);color:var(--ds-ink-faint);font-weight:var(--ds-weight-medium);display:flex;align-items:center;gap:4px}.ds-patient-card__field-val{font-size:var(--ds-text-xs);color:var(--ds-ink-strong);font-weight:var(--ds-weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-patient-card__field-action{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;padding:0;font-size:var(--ds-text-xs);color:var(--ds-primary);font-weight:var(--ds-weight-semibold);cursor:pointer;text-align:left}.ds-patient-card__field-action:hover{text-decoration:underline}.ds-patient-card__allergy-box{font-size:var(--ds-text-xs);color:var(--ds-ink-muted);background:var(--ds-surface-muted);padding:6px 10px;border-radius:var(--ds-radius-sm)}.ds-patient-card__allergy-box--active{color:var(--ds-warning-on-subtle);background:var(--ds-warning-subtle);font-weight:var(--ds-weight-semibold)}.ds-patient-card__hospital-tag{display:inline-block;font-size:var(--ds-text-2xs);font-weight:var(--ds-weight-semibold);color:var(--ds-primary);background:var(--ds-primary-subtle);padding:3px 8px;border-radius:var(--ds-radius-pill)}.ds-patient-card__footer{display:flex;gap:6px;margin-top:auto;padding-top:var(--ds-space-2);border-top:1px solid var(--ds-divider);flex-wrap:wrap}.ds-patient-card__action-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:32px;padding:0 8px;border-radius:var(--ds-radius-sm);font-size:var(--ds-text-2xs);font-weight:var(--ds-weight-semibold);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;flex:1 1 auto;min-width:60px;white-space:nowrap}.ds-patient-card__action-btn--primary{background:var(--ds-primary);color:#fff;border:1px solid var(--ds-primary)}.ds-patient-card__action-btn--primary:hover{background:var(--ds-primary-hover);border-color:var(--ds-primary-hover)}.ds-patient-card__action-btn--secondary{background:transparent;color:var(--ds-ink-muted);border:1px solid var(--ds-border)}.ds-patient-card__action-btn--secondary:hover{background:var(--ds-surface-muted);color:var(--ds-ink-strong)}.ds-patient-card__action-btn--danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.ds-patient-card__action-btn--danger:hover{background:#fee2e2;border-color:#ef4444;color:#b91c1c}.ds-patient-detail-grid{display:grid;grid-template-columns:320px 1fr;gap:var(--ds-space-5);align-items:start}@media(max-width:920px){.ds-patient-detail-grid{grid-template-columns:1fr}}.ds-patient-detail-sidebar,.ds-patient-detail-content{min-width:0}.ds-ward-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--ds-space-4);margin-bottom:var(--ds-space-6)}.ds-ward-card{background:var(--ds-surface);border-radius:var(--ds-radius-lg);padding:var(--ds-space-5);display:flex;flex-direction:column;justify-content:space-between;gap:var(--ds-space-4);transition:box-shadow var(--ds-motion-normal) var(--ds-ease-standard);position:relative;overflow:hidden}.ds-ward-card:hover{box-shadow:var(--ds-shadow-md)}.ds-ward-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--ds-space-2)}.ds-ward-card__title{font-size:var(--ds-text-base);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-strong);margin:0 0 4px}.ds-bed-metric-card{background:var(--ds-surface);padding:var(--ds-space-3) var(--ds-space-4);border-radius:var(--ds-radius-md);display:flex;flex-direction:column;gap:2px}.ds-bed-metric-card__label{font-size:var(--ds-text-2xs);font-weight:var(--ds-weight-medium);color:var(--ds-ink-faint)}.ds-bed-metric-card__val{font-size:var(--ds-text-2xl);font-weight:var(--ds-weight-semibold);font-family:var(--ds-font-sans);font-variant-numeric:tabular-nums}.ds-bed-legend-bar{display:flex;align-items:center;justify-content:space-between;background:var(--ds-surface-muted);padding:10px 16px;border-radius:var(--ds-radius-md);flex-wrap:wrap;gap:10px}.ds-bed-legend-bar__title{font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-strong);display:flex;align-items:center;gap:6px}.ds-bed-legend-bar__items{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.ds-bed-legend-bar__item{font-size:var(--ds-text-xs);font-weight:var(--ds-weight-medium);display:flex;align-items:center;gap:6px}.ds-bed-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0;box-shadow:0 0 0 1px #00000014}.ds-bed-dot--available{background:var(--ds-success)}.ds-bed-dot--occupied{background:var(--ds-danger)}.ds-bed-dot--reserved{background:var(--ds-warning)}.ds-bed-dot--cleaning{background:var(--ds-info)}.ds-bed-dot--maintenance{background:var(--ds-neutral)}.ds-room-block{background:var(--ds-surface-subtle);border:1px solid var(--ds-divider);border-radius:var(--ds-radius-lg);padding:16px 20px}.ds-room-block__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;padding-bottom:10px;border-bottom:1px dashed var(--ds-border)}.ds-room-block__title{font-size:var(--ds-text-base);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-strong)}.ds-room-block__sub{font-size:var(--ds-text-xs);color:var(--ds-ink-muted)}.ds-bed-layout-row{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:flex-start;padding:12px 8px}.ds-bed-aisle-divider{width:24px;height:100px;border-right:2px dashed var(--ds-border-strong);margin:0 4px}.ds-bed-seat-card{width:64px;height:120px;border-radius:var(--ds-radius-lg);display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:8px 4px 6px;position:relative;cursor:pointer;transition:transform .18s var(--ds-ease-standard),box-shadow .18s var(--ds-ease-standard);-webkit-user-select:none;user-select:none;box-sizing:border-box}.ds-bed-seat-card:hover{transform:translateY(-3px);box-shadow:var(--ds-shadow-md)}.ds-bed-seat-card:active{transform:translateY(0)}.ds-bed-seat-card__pillow{width:28px;height:7px;border-radius:4px;margin-bottom:2px}.ds-bed-seat-card--available-outline{background:var(--ds-surface);border:2px solid var(--ds-success);color:var(--ds-success-on-subtle)}.ds-bed-seat-card--available-outline .ds-bed-seat-card__pillow,.ds-bed-seat-card--available-outline:hover{background:var(--ds-success-subtle)}.ds-bed-seat-card--available-fill{background:var(--ds-success);border:2px solid var(--ds-success-on-subtle);color:#fff}.ds-bed-seat-card--available-fill .ds-bed-seat-card__pillow{background:#ffffffe6}.ds-bed-seat-card--available-fill:hover{background:var(--ds-success-on-subtle)}.ds-bed-seat-card--occupied-outline{background:var(--ds-surface);border:2px solid var(--ds-danger);color:var(--ds-danger-on-subtle)}.ds-bed-seat-card--occupied-outline .ds-bed-seat-card__pillow,.ds-bed-seat-card--occupied-outline:hover{background:var(--ds-danger-subtle)}.ds-bed-seat-card--occupied-fill{background:var(--ds-danger);border:2px solid var(--ds-danger-on-subtle);color:#fff}.ds-bed-seat-card--occupied-fill .ds-bed-seat-card__pillow{background:#ffffffe6}.ds-bed-seat-card--occupied-fill:hover{background:var(--ds-danger-on-subtle)}.ds-bed-seat-card--reserved-outline{background:var(--ds-surface);border:2px solid var(--ds-warning);color:var(--ds-warning-on-subtle)}.ds-bed-seat-card--reserved-outline .ds-bed-seat-card__pillow,.ds-bed-seat-card--reserved-outline:hover{background:var(--ds-warning-subtle)}.ds-bed-seat-card--reserved-fill{background:var(--ds-warning);border:2px solid var(--ds-warning-on-subtle);color:#fff}.ds-bed-seat-card--reserved-fill .ds-bed-seat-card__pillow{background:#ffffffe6}.ds-bed-seat-card--reserved-fill:hover{background:var(--ds-warning-on-subtle)}.ds-bed-seat-card--cleaning-outline{background:var(--ds-surface);border:2px solid var(--ds-info);color:var(--ds-info)}.ds-bed-seat-card--cleaning-outline .ds-bed-seat-card__pillow,.ds-bed-seat-card--cleaning-outline:hover{background:var(--ds-info-subtle)}.ds-bed-seat-card--cleaning-fill{background:var(--ds-info);border:2px solid var(--ds-info);color:#fff}.ds-bed-seat-card--cleaning-fill .ds-bed-seat-card__pillow{background:#ffffffe6}.ds-bed-seat-card--cleaning-fill:hover{background:var(--ds-info);filter:brightness(.9)}.ds-bed-seat-card--maintenance-outline{background:var(--ds-surface);border:2px solid var(--ds-neutral);color:var(--ds-neutral)}.ds-bed-seat-card--maintenance-outline .ds-bed-seat-card__pillow,.ds-bed-seat-card--maintenance-outline:hover{background:var(--ds-neutral-subtle)}.ds-bed-seat-card--maintenance-fill{background:var(--ds-neutral);border:2px solid var(--ds-neutral);color:#fff}.ds-bed-seat-card--maintenance-fill .ds-bed-seat-card__pillow{background:#ffffffe6}.ds-bed-seat-card--maintenance-fill:hover{background:var(--ds-neutral);filter:brightness(.9)}.ds-bed-seat-card__head{display:flex;flex-direction:column;align-items:center;gap:1px;margin-top:2px}.ds-bed-seat-card__num{font-size:11px;font-weight:var(--ds-weight-semibold);font-family:var(--ds-font-mono);letter-spacing:-.02em}.ds-bed-seat-card__charge{font-size:9px;font-weight:var(--ds-weight-medium);opacity:.85}.ds-bed-seat-card__patient{font-size:8.5px;font-weight:var(--ds-weight-semibold);text-align:center;max-width:56px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}@media screen{.ds-print-only{display:none!important}}@media print{html,body{background:#fff!important;color:#000!important;margin:0!important;padding:0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body *{visibility:hidden!important}.ds-printable-area,.ds-printable-area *{visibility:visible!important}.ds-printable-area{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;background:#fff!important;box-shadow:none!important;border:none!important}.ds-no-print,.ds-modal__header,.ds-modal__close,.ds-modal__footer,.ds-overlay,.ds-topbar,.ds-sidebar,.ds-sidebar__scrim{display:none!important}@page{margin:8mm;size:auto}}.login-root--wide{grid-template-columns:34% 66%}@media(max-width:1080px){.login-root--wide{grid-template-columns:1fr}}.login-card--wide{max-width:820px;width:100%;padding:28px 32px}@media(max-width:640px){.login-card--wide{padding:20px 16px}}.login-dev-pill{display:inline-flex;align-items:center;gap:6px;background:#0096881a;color:var(--ds-primary);border:1px solid rgba(0,150,136,.25);font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);padding:4px 12px;border-radius:var(--ds-radius-pill);margin-bottom:12px}.login-controls{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.login-tabs{display:flex;flex-wrap:wrap;gap:6px}.login-tab{font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);color:var(--ds-ink-muted);background:var(--ds-surface-muted);border:1px solid var(--ds-border);border-radius:var(--ds-radius-pill);padding:5px 12px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.login-tab:hover{background:var(--ds-surface);color:var(--ds-ink-strong);border-color:var(--ds-primary)}.login-tab--active{background:var(--ds-primary)!important;color:#fff!important;border-color:var(--ds-primary)!important}.login-search{position:relative;display:flex;align-items:center;width:100%}.login-search-icon{position:absolute;left:12px;color:var(--ds-ink-faint);pointer-events:none}.login-search-input{width:100%;height:38px;padding:0 36px;font-size:var(--ds-text-xs);color:var(--ds-ink-strong);background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.login-search-input:focus{border-color:var(--ds-primary);box-shadow:0 0 0 2px var(--ds-ring)}.login-search-clear{position:absolute;right:10px;background:transparent;border:none;color:var(--ds-ink-faint);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px}.login-search-clear:hover{color:var(--ds-ink-strong)}.login-role-grid-container{margin-bottom:20px}.login-role-empty{padding:32px 16px;text-align:center;color:var(--ds-ink-muted);font-size:var(--ds-text-sm);background:var(--ds-surface-muted);border-radius:var(--ds-radius-md);border:1px dashed var(--ds-border)}.login-role-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-height:410px;overflow-y:auto;padding-right:4px}@media(max-width:680px){.login-role-cards-grid{grid-template-columns:1fr;max-height:380px}}.login-role-card-btn{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);cursor:pointer;text-align:left;transition:all .16s ease;position:relative;min-height:64px}.login-role-card-btn:hover{border-color:var(--ds-primary);background:color-mix(in srgb,var(--ds-primary) 4%,#ffffff);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.login-role-card-btn:active{transform:translateY(0)}.login-role-card-icon{width:38px;height:38px;border-radius:var(--ds-radius-md);border:1px solid var(--ds-border);display:flex;align-items:center;justify-content:center;flex:none;margin-top:1px}.login-role-card-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.login-role-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.login-role-card-label{font-size:var(--ds-text-sm);font-weight:var(--ds-weight-bold);color:var(--ds-ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.login-role-card-tag{font-size:10px;font-weight:var(--ds-weight-bold);text-transform:uppercase;letter-spacing:.04em;background:#0000000a;padding:1px 6px;border-radius:var(--ds-radius-pill);flex:none}.login-role-card-name{font-size:var(--ds-text-xs);font-weight:var(--ds-weight-medium);color:var(--ds-ink-muted)}.login-role-card-desc{font-size:11px;color:var(--ds-ink-faint);line-height:1.35;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.login-role-card-action{display:flex;align-items:center;align-self:center;flex:none;opacity:.55;transition:opacity .15s ease,transform .15s ease}.login-role-card-btn:hover .login-role-card-action{opacity:1;transform:translate(2px)}.login-role-card-go{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:var(--ds-weight-bold);color:var(--ds-primary);background:#00968814;padding:3px 8px;border-radius:var(--ds-radius-sm)}.login-accordion{border-top:1px solid var(--ds-divider);padding-top:14px;margin-top:4px}.login-accordion-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--ds-surface-muted);border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);color:var(--ds-ink-base);font-size:var(--ds-text-xs);font-weight:var(--ds-weight-semibold);cursor:pointer;transition:background-color .15s ease}.login-accordion-toggle:hover{background:var(--ds-surface);border-color:var(--ds-border-strong)}.login-accordion-toggle-left{display:flex;align-items:center;gap:8px;color:var(--ds-ink-strong)}.login-accordion-toggle-right{display:flex;align-items:center;gap:6px;color:var(--ds-ink-muted)}.login-accordion-hint{font-size:11px;font-weight:var(--ds-weight-normal)}.login-standard-form{padding-top:16px;animation:login-hint-in .2s var(--ds-ease-standard) both}.ds-topbar__role-btn{display:inline-flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--ds-primary) 10%,var(--ds-surface));border:1px solid color-mix(in srgb,var(--ds-primary) 30%,transparent);border-radius:var(--ds-radius-pill);padding:4px 10px 4px 8px;cursor:pointer;font-family:var(--ds-font-sans);color:var(--ds-ink-strong);transition:all .15s ease}.ds-topbar__role-btn:hover{background:color-mix(in srgb,var(--ds-primary) 18%,var(--ds-surface));border-color:var(--ds-primary);transform:translateY(-1px)}.ds-topbar__role-sparkle{color:var(--ds-primary)}.ds-topbar__role-text{font-size:var(--ds-text-xs);color:var(--ds-ink-base)}.ds-topbar__role-text strong{color:var(--ds-primary)}.ds-topbar__role-badge{font-size:10px;font-weight:var(--ds-weight-bold);text-transform:uppercase;letter-spacing:.04em;background:var(--ds-primary);color:#fff;padding:1px 6px;border-radius:var(--ds-radius-pill)}@media(max-width:720px){.ds-topbar__role-text{display:none}}.role-switcher-modal-content{display:flex;flex-direction:column}.role-switcher-modal-sub{font-size:var(--ds-text-xs);color:var(--ds-ink-muted);margin:0 0 14px;line-height:1.5}.role-switcher-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-height:480px;overflow-y:auto;padding-right:4px}@media(max-width:600px){.role-switcher-grid{grid-template-columns:1fr}}.role-switcher-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);cursor:pointer;text-align:left;transition:all .15s ease;position:relative;min-height:64px}.role-switcher-card:hover{border-color:var(--ds-primary);background:color-mix(in srgb,var(--ds-primary) 5%,#ffffff);transform:translateY(-1px);box-shadow:var(--ds-shadow-sm)}.role-switcher-card--current{border-color:var(--ds-primary);background:color-mix(in srgb,var(--ds-primary) 8%,#ffffff);box-shadow:0 0 0 2px color-mix(in srgb,var(--ds-primary) 20%,transparent)}.role-switcher-icon{width:36px;height:36px;border-radius:var(--ds-radius-md);border:1px solid var(--ds-border);display:flex;align-items:center;justify-content:center;flex:none}.role-switcher-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.role-switcher-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.role-switcher-label{font-size:var(--ds-text-sm);font-weight:var(--ds-weight-bold);color:var(--ds-ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.role-switcher-current-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:var(--ds-weight-bold);color:#fff;background:var(--ds-primary);padding:1px 7px;border-radius:var(--ds-radius-pill);flex:none}.role-switcher-category-tag{font-size:10px;font-weight:var(--ds-weight-bold);text-transform:uppercase;letter-spacing:.04em;background:#0000000a;padding:1px 6px;border-radius:var(--ds-radius-pill);flex:none}.role-switcher-name{font-size:var(--ds-text-xs);font-weight:var(--ds-weight-medium);color:var(--ds-ink-muted)}.role-switcher-desc{font-size:11px;color:var(--ds-ink-faint);line-height:1.35;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.role-switcher-arrow{display:flex;align-items:center;align-self:center;color:var(--ds-ink-faint);flex:none;transition:transform .15s ease,color .15s ease}.role-switcher-card:hover .role-switcher-arrow{color:var(--ds-primary);transform:translate(2px)}.ds-topbar__icon-btn--bell{position:relative}.ds-topbar__notif-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--ds-danger, #ef4444);color:#fff;font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 1px 3px #00000040,0 0 0 2px var(--ds-surface, #ffffff);pointer-events:none;animation:ds-badge-pop .2s cubic-bezier(.175,.885,.32,1.275)}.ds-topbar__notif-dot{position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:transparent;pointer-events:none}.ds-nav__badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--ds-danger, #ef4444);color:#fff;font-size:.68rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}@keyframes ds-badge-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
