:root{--neutral-10:#FAFBFC;--neutral-50:#EAEBED;--neutral-100:#BFC1C8;--neutral-200:#9FA3AE;--neutral-300:#747989;--neutral-400:#474D61;--neutral-500:#353A4A;--neutral-600:#282C39;--neutral-700:#1C202C;--neutral-800:#13161F;--neutral-900:#0A0C12;--neutral-black:#000000;--neutral-white:#FFFFFF;--primary-50:#E4E7EF;--primary-60:#D7DEFB;--primary-75:#D6DBE8;--primary-100:#BCC2D8;--primary-200:#909BBE;--primary-300:#6675A4;--primary-400:#475993;--primary-500:#253E82;--primary-600:#1F387A;--primary-700:#162F6F;--primary-800:#0D2663;--primary-900:#01164D;--secondary-10:#FBFCFF;--secondary-50:#EDF2FF;--secondary-100:#DCE6FF;--secondary-200:#CAD9FF;--secondary-300:#B9CCFF;--secondary-400:#A7C0FF;--secondary-500:#95B3FF;--secondary-600:#84A6FF;--secondary-700:#7299FF;--secondary-800:#618DFF;--secondary-900:#4F80FF;--secondary-925:#3A5BB0;--secondary-950:#1E3A8C;--tertiary-50:#F1EEFE;--tertiary-100:#E3DEFD;--tertiary-200:#D4CDFC;--tertiary-300:#C6BCFB;--tertiary-400:#B8ACFA;--tertiary-500:#AA9BF8;--tertiary-600:#9C8AF7;--tertiary-700:#8D79F6;--tertiary-800:#7F69F5;--tertiary-900:#7158F4;--success-50:#E4F8EC;--success-100:#BFECD1;--success-200:#93E1B3;--success-300:#60D594;--success-400:#28CB7C;--success-500:#00C164;--success-600:#00B15A;--success-700:#009E4D;--success-800:#008D40;--success-900:#006D2C;--error-50:#FFEBF0;--error-100:#FFCDD7;--error-200:#F29AA1;--error-300:#EA727D;--error-400:#F64F5D;--error-500:#FD3A45;--error-600:#EE3043;--error-700:#DB263C;--error-800:#CE1D35;--error-900:#BF0B29;--warning-50:#FFF2DF;--warning-100:#FFDEB0;--warning-200:#FFC97D;--warning-400:#FFA120;--warning-500:#FFB249;--warning-700:#FC7400;--warning-800:#F66200;--warning-900:#ED4403;--info-50:#E9EBFD;--info-100:#C7CCFA;--info-200:#9FABF8;--info-300:#748AF5;--info-400:#4F6EF3;--info-500:#1E52EE;--info-600:#1749E2;--info-700:#003ED6;--info-800:#0032CB;--info-900:#001ABA;--color-primary:var(--primary-900);--color-on-primary:var(--neutral-white);--color-primary-container:var(--primary-60);--color-on-primary-container:var(--primary-900);--color-primary-hover:var(--primary-700);--color-secondary:var(--secondary-900);--color-on-secondary:var(--neutral-white);--color-secondary-container:var(--secondary-200);--color-on-secondary-container:var(--primary-900);--color-tertiary:var(--tertiary-900);--color-on-tertiary:var(--neutral-white);--color-tertiary-container:var(--tertiary-100);--color-on-tertiary-container:var(--tertiary-900);--color-error:var(--error-500);--color-on-error:var(--neutral-white);--color-error-container:var(--error-50);--color-on-error-container:var(--error-900);--color-error-hover:var(--error-700);--color-success:var(--success-500);--color-on-success:var(--neutral-white);--color-success-container:var(--success-50);--color-on-success-container:var(--success-900);--color-success-hover:var(--success-700);--color-warning:var(--warning-500);--color-on-warning:var(--neutral-900);--color-warning-container:var(--warning-50);--color-on-warning-container:var(--warning-900);--color-info:var(--info-500);--color-on-info:var(--neutral-white);--color-info-container:var(--info-50);--color-on-info-container:var(--info-900);--color-surface:var(--neutral-10);--color-surface-dim:var(--neutral-50);--color-surface-bright:var(--neutral-white);--color-surface-container-lowest:var(--neutral-10);--color-surface-container-low:var(--neutral-10);--color-surface-container:var(--neutral-white);--color-surface-container-high:var(--neutral-50);--color-surface-container-highest:var(--neutral-100);--color-surface-variant:var(--neutral-50);--color-on-surface:var(--neutral-900);--color-on-surface-variant:var(--neutral-400);--color-outline:var(--neutral-200);--color-outline-variant:var(--neutral-100);--color-inverse-surface:var(--neutral-900);--color-inverse-on-surface:var(--neutral-50);--color-inverse-primary:var(--secondary-900);--color-disabled:var(--neutral-100);--color-on-disabled:var(--neutral-300);--color-focus:var(--secondary-900);--color-focus-ring:color-mix(in srgb,var(--color-focus) 15%,transparent);--color-error-ring:color-mix(in srgb,var(--color-error) 12%,transparent);--color-scrim:rgba(0,0,0,.32);--bg:var(--color-surface);--surface:var(--color-surface-dim);--sidebar-bg:var(--color-surface-container);--card-bg:var(--color-surface-container);--border:color-mix(in srgb,var(--color-on-surface) 10%,transparent);--divider:var(--border);--text-primary:var(--primary-900);--text-secondary:var(--neutral-500);--text-muted:var(--color-on-disabled);--text-on-dark:var(--neutral-white);--interactive:var(--color-secondary);--interactive-hover:var(--primary-500);--interactive-light:var(--color-secondary-container);--accent:var(--interactive);--accent-light:var(--interactive-light);--tertiary-purple:var(--color-tertiary);--tertiary-purple-hover:var(--tertiary-800);--tertiary-purple-light:var(--tertiary-50);--green:var(--color-success);--green-light:var(--color-success-container);--red:var(--color-error);--red-light:var(--color-error-container);--yellow:var(--color-warning);--yellow-light:var(--color-warning-container);--blue:var(--color-info);--blue-light:var(--color-info-container);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--font-heading:"Epilogue",sans-serif;--font-body:"Inter",sans-serif;--font-mono:"DM Mono",monospace;--font-size-display:28px;--line-height-display:1.15;--font-size-heading-xl:24px;--line-height-heading-xl:1.2;--font-size-heading-lg:22px;--line-height-heading-lg:1.25;--font-size-heading-md:18px;--line-height-heading-md:1.3;--font-size-heading-sm:17px;--line-height-heading-sm:1.35;--font-size-heading-xs:15px;--line-height-heading-xs:1.4;--font-size-body-lg:14px;--line-height-body-lg:1.5;--font-size-body-md:13.5px;--line-height-body-md:1.5;--font-size-body-sm:12.5px;--line-height-body-sm:1.6;--font-size-label:13px;--line-height-label:1.4;--font-size-caption:12px;--line-height-caption:1.4;--font-size-badge:11.5px;--line-height-badge:1.2;--font-size-overline:12px;--line-height-overline:1.2;--font-size-mono-md:13px;--line-height-mono-md:1.5;--font-size-mono-sm:11px;--line-height-mono-sm:1.4;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--letter-spacing-display:-0.5px;--letter-spacing-heading-xl:-0.4px;--letter-spacing-heading-lg:-0.3px;--letter-spacing-heading-md:-0.2px;--sidebar-width:220px;--topbar-height:56px;--breakpoint-md:768px;--breakpoint-lg:1024px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--radius:var(--radius-lg);--shadow-sm:0 1px 3px rgba(28,36,56,.06);--shadow-md:0 4px 16px rgba(28,36,56,.08);--shadow-lg:0 8px 32px rgba(28,36,56,.12);--btn-elevation:0 1px 2px rgba(28,36,56,.18),0 2px 6px rgba(28,36,56,.12);--btn-elevation-hover:0 2px 4px rgba(28,36,56,.20),0 6px 16px rgba(28,36,56,.16);--color-nav-hover:color-mix(in srgb,var(--color-secondary-container) 45%,transparent);--color-nav-hover-content:var(--color-secondary);--color-nav-press:color-mix(in srgb,var(--color-secondary-container) 70%,transparent);--color-nav-selected:var(--color-secondary-container);--color-nav-selected-content:var(--color-on-secondary-container);--ease-default:cubic-bezier(.4,0,.2,1);--ease-enter:cubic-bezier(0,0,0,1);--ease-exit:cubic-bezier(.3,0,1,1);--ease-expressive:cubic-bezier(.34,1.56,.64,1);--ease-expressive-enter:cubic-bezier(.175,.885,.32,1.4);--ease-expressive-exit:cubic-bezier(.3,0,.8,.15);--ease-emphasized:cubic-bezier(.32,.72,0,1);--duration-fast:120ms;--duration-normal:200ms;--duration-medium:300ms;--duration-slow:450ms;--duration-sheet:500ms}[data-theme=dark]{--color-primary:#FFFFFF;--color-on-primary:#01164D;--color-primary-container:#475993;--color-on-primary-container:#E4E7EF;--color-primary-hover:#E4E7EF;--color-secondary:#B9CCFF;--color-on-secondary:#1E3A8C;--color-secondary-container:#3A5BB0;--color-on-secondary-container:#DCE6FF;--color-tertiary:#C6BCFB;--color-on-tertiary:#0A0C12;--color-tertiary-container:#7F69F5;--color-on-tertiary-container:#F1EEFE;--color-error:#F29AA1;--color-on-error:#5C0010;--color-success:#93E1B3;--color-on-success:#00351A;--color-warning:#FFC97D;--color-on-warning:#5A2A00;--color-info:#9FABF8;--color-on-info:#00177A;--color-error-container:#DB263C;--color-on-error-container:#FFCDD7;--color-success-container:#006D2C;--color-on-success-container:#93E1B3;--color-warning-container:#ED4403;--color-on-warning-container:#FFDEB0;--color-info-container:#0032CB;--color-on-info-container:#C7CCFA;--color-surface:#13161F;--color-surface-dim:#0A0C12;--color-surface-bright:#1C202C;--color-surface-container-lowest:#0A0C12;--color-surface-container-low:#13161F;--color-surface-container:#1C202C;--color-surface-container-high:#282C39;--color-surface-container-highest:#353A4A;--color-surface-variant:#282C39;--color-on-surface:#EAEBED;--color-on-surface-variant:#BFC1C8;--color-outline:#747989;--color-outline-variant:#474D61;--color-inverse-surface:#EAEBED;--color-inverse-on-surface:#13161F;--color-inverse-primary:#162F6F;--color-disabled:#282C39;--color-on-disabled:#747989;--text-primary:#EAEBED;--text-secondary:#BFC1C8;--text-muted:#747989;--interactive-hover:#909BBE;--btn-elevation:0 1px 2px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.42);--btn-elevation-hover:0 2px 4px rgba(0,0,0,.60),0 8px 20px rgba(0,0,0,.50)}[data-theme=light]{--color-primary:var(--primary-900);--color-on-primary:#FFFFFF;--color-primary-container:var(--primary-60);--color-on-primary-container:var(--primary-900);--color-primary-hover:var(--primary-700);--color-secondary:var(--secondary-900);--color-on-secondary:#FFFFFF;--color-secondary-container:var(--secondary-200);--color-on-secondary-container:var(--primary-900);--color-tertiary:var(--tertiary-900);--color-on-tertiary:#FFFFFF;--color-tertiary-container:var(--tertiary-100);--color-on-tertiary-container:var(--tertiary-900);--color-error:var(--error-500);--color-on-error:#FFFFFF;--color-success:var(--success-500);--color-on-success:#FFFFFF;--color-warning:var(--warning-500);--color-on-warning:#0A0C12;--color-info:var(--info-500);--color-on-info:#FFFFFF;--color-error-container:var(--error-50);--color-on-error-container:var(--error-900);--color-success-container:var(--success-50);--color-on-success-container:var(--success-900);--color-warning-container:var(--warning-50);--color-on-warning-container:var(--warning-900);--color-info-container:var(--info-50);--color-on-info-container:var(--info-900);--color-surface:#FAFBFC;--color-surface-dim:#EAEBED;--color-surface-bright:#FFFFFF;--color-surface-container-lowest:#FAFBFC;--color-surface-container-low:#FAFBFC;--color-surface-container:#FFFFFF;--color-surface-container-high:#EAEBED;--color-surface-container-highest:#BFC1C8;--color-surface-variant:#EAEBED;--color-on-surface:#0A0C12;--color-on-surface-variant:#474D61;--color-outline:#9FA3AE;--color-outline-variant:#BFC1C8;--color-inverse-surface:#0A0C12;--color-inverse-on-surface:#EAEBED;--color-inverse-primary:var(--secondary-900);--color-disabled:#BFC1C8;--color-on-disabled:#747989;--text-primary:var(--primary-900);--text-secondary:#353A4A;--text-muted:#747989;--interactive-hover:var(--primary-500);--btn-elevation:0 1px 2px rgba(28,36,56,.18),0 2px 6px rgba(28,36,56,.12);--btn-elevation-hover:0 2px 4px rgba(28,36,56,.20),0 6px 16px rgba(28,36,56,.16)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg);color:var(--text-primary);font-size:var(--font-size-body-lg);line-height:var(--line-height-body-lg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;letter-spacing:-.3px}h1{font-size:var(--font-size-display);line-height:var(--line-height-display);letter-spacing:var(--letter-spacing-display)}h2{font-size:var(--font-size-heading-xl);line-height:var(--line-height-heading-xl);letter-spacing:var(--letter-spacing-heading-xl)}h3{font-size:var(--font-size-heading-lg);line-height:var(--line-height-heading-lg);letter-spacing:var(--letter-spacing-heading-lg)}h4{font-size:var(--font-size-heading-md);line-height:var(--line-height-heading-md);letter-spacing:var(--letter-spacing-heading-md)}h5{font-size:var(--font-size-heading-sm);line-height:var(--line-height-heading-sm)}h6{font-size:var(--font-size-heading-xs);line-height:var(--line-height-heading-xs)}a{color:var(--interactive);text-decoration:none}a:hover{text-decoration:underline}img,svg{display:block;max-width:100%}button{cursor:pointer}button,input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-outline-variant);border-radius:4px}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-accent{color:var(--interactive)}.text-success{color:var(--green)}.text-error{color:var(--red)}.font-mono{font-family:var(--font-mono)}.font-heading{font-family:var(--font-heading)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}}.alert{position:relative;width:100%;display:grid;grid-template-columns:1fr;gap:2px 12px;align-items:start;border-radius:var(--radius-lg);border:1px solid var(--border);padding:12px 16px;background:var(--color-surface-container);color:var(--color-on-surface)}.alert:has(.alert-icon){grid-template-columns:auto 1fr}.alert-icon{width:18px;height:18px;margin-top:2px;color:var(--color-on-surface-variant);flex-shrink:0}.alert-body{grid-column:2}.alert:not(:has(.alert-icon)) .alert-body{grid-column:1}.alert-title{font-size:var(--font-size-body-md);font-weight:600;line-height:1.3}.alert-description{font-size:var(--font-size-body-sm);line-height:1.6;opacity:.9;margin-top:2px}.alert-info{background:var(--color-info-container);border-color:transparent}.alert-info,.alert-info .alert-icon{color:var(--color-on-info-container)}.alert-success{background:var(--color-success-container);border-color:transparent}.alert-success,.alert-success .alert-icon{color:var(--color-on-success-container)}.alert-warning{background:var(--color-warning-container);border-color:transparent}.alert-warning,.alert-warning .alert-icon{color:var(--color-on-warning-container)}.alert-error{background:var(--color-error-container);border-color:transparent}.alert-error,.alert-error .alert-icon{color:var(--color-on-error-container)}.alert-actions{grid-column:2;display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.alert:not(:has(.alert-icon)) .alert-actions{grid-column:1}.alert-close{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:none;color:inherit;border-radius:var(--radius-sm);cursor:pointer;opacity:.7;transition:opacity var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default)}.alert-close:hover{opacity:1;background:color-mix(in srgb,currentColor 12%,transparent)}.alert-close:focus-visible{outline:2px solid currentColor;outline-offset:2px;opacity:1}.alert-close svg{width:16px;height:16px}.alert:has(.alert-close){padding-right:40px}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-size-body-md);color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast);margin-bottom:6px;background:none;border:none;font-family:inherit;padding:0}.back-link:hover{color:var(--text-primary);text-decoration:none}.back-link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-ring)}.badge{display:inline-flex;align-items:center;font-size:var(--font-size-badge);font-weight:600;padding:4px 10px;border-radius:var(--radius-full);letter-spacing:.2px;white-space:nowrap}.badge-open{background:var(--color-success-container);color:var(--color-on-success-container)}.badge-active{background:var(--color-secondary-container);color:var(--color-on-secondary-container)}.badge-closed{background:var(--color-error-container);color:var(--color-on-error-container)}.badge-draft{border:1px solid var(--color-outline)}.badge-archived,.badge-draft{background:var(--color-surface-variant);color:var(--color-on-surface-variant)}.badge-archived{opacity:.75}.badge-warning{background:var(--color-warning-container);color:var(--color-on-warning-container)}.badge-tertiary{background:var(--color-tertiary-container);color:var(--color-on-tertiary-container)}.badge-info{background:var(--color-info-container);color:var(--color-on-info-container)}.badge-label{font-family:var(--font-mono);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.1em}.badge{gap:4px}.badge>svg{width:12px;height:12px;flex-shrink:0}.badge .spinner{width:12px;height:12px;border-width:2px;border-color:currentColor color-mix(in srgb,currentColor 30%,transparent) color-mix(in srgb,currentColor 30%,transparent);vertical-align:baseline}a.badge{text-decoration:none;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}a.badge:hover{opacity:.85}a.badge:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.badge-link{background:transparent;color:var(--color-primary);padding-left:2px;padding-right:2px}a.badge-link:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}[data-theme=dark] .badge-open{background:color-mix(in srgb,var(--color-success-container) 42%,var(--color-surface))}[data-theme=dark] .badge-active{background:color-mix(in srgb,var(--color-secondary-container) 55%,var(--color-surface))}[data-theme=dark] .badge-closed{background:color-mix(in srgb,var(--color-error-container) 42%,var(--color-surface))}[data-theme=dark] .badge-warning{background:color-mix(in srgb,var(--color-warning-container) 42%,var(--color-surface))}[data-theme=dark] .badge-tertiary{background:color-mix(in srgb,var(--color-tertiary-container) 42%,var(--color-surface))}[data-theme=dark] .badge-info{background:color-mix(in srgb,var(--color-info-container) 42%,var(--color-surface))}.btn-elevated,.btn-ghost,.btn-link,.btn-next,.btn-primary,.btn-secondary,.btn-tertiary,.btn-text{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 24px;border:1px solid transparent;border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-body-md);font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.btn-ghost:focus-visible,.btn-link:focus-visible,.btn-next:focus-visible,.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-tertiary:focus-visible,.btn-text:focus-visible,.icon-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-ring)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background:var(--color-disabled);color:var(--color-on-disabled);cursor:not-allowed;transform:none;box-shadow:none}.btn-primary.btn-danger{background:var(--color-error);color:var(--color-on-error)}.btn-primary.btn-danger:hover{background:var(--color-error-hover)}.btn-primary.btn-danger:focus-visible{outline-color:var(--color-error);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-error) 25%,transparent)}.btn-primary.btn-success{background:var(--color-success);color:var(--color-on-success)}.btn-primary.btn-success:hover{background:var(--color-success-hover)}.btn-secondary{background:var(--color-secondary-container);color:var(--color-on-secondary-container);border-color:transparent}.btn-secondary:hover{background:color-mix(in srgb,var(--color-secondary-container) 88%,#000);transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-secondary:disabled{background:var(--color-disabled);color:var(--color-on-disabled);border-color:transparent;cursor:not-allowed;transform:none}.btn-elevated{background:var(--color-primary-container);color:var(--color-on-primary-container);border-color:transparent;box-shadow:var(--btn-elevation)}.btn-elevated:hover{background:color-mix(in srgb,var(--color-on-primary-container) 8%,var(--color-primary-container));box-shadow:var(--btn-elevation-hover);transform:translateY(-1px)}.btn-elevated:active{background:color-mix(in srgb,var(--color-on-primary-container) 12%,var(--color-primary-container));box-shadow:var(--btn-elevation);transform:translateY(0)}.btn-elevated:disabled{background:var(--color-disabled);color:var(--color-on-disabled);border-color:transparent;box-shadow:none;cursor:not-allowed;transform:none}.btn-ghost,.btn-tertiary{background:transparent;border-color:var(--color-outline);color:var(--color-primary);font-weight:500}.btn-ghost:hover,.btn-tertiary:hover{background:var(--color-surface-variant);border-color:var(--color-primary)}.btn-ghost:disabled,.btn-tertiary:disabled{background:transparent;border-color:var(--color-outline-variant);color:var(--color-on-disabled);cursor:not-allowed}.btn-text{background:transparent;color:var(--color-primary);padding:8px 12px}.btn-text:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.btn-text:disabled{background:transparent;color:var(--color-on-disabled);cursor:not-allowed}.btn-link{background:transparent;color:var(--color-primary);padding:8px 4px;font-weight:500;text-underline-offset:4px}.btn-link:hover{text-decoration:underline}.btn-link:active:not(:disabled){color:var(--color-primary-hover)}.btn-link:disabled{background:transparent;color:var(--color-on-disabled);cursor:not-allowed;text-decoration:none}.btn-xs{padding:3px 8px;font-size:11px;font-weight:600;min-height:24px}.btn-sm,.btn-xs{border-radius:var(--radius-sm)}.btn-sm{padding:6px 12px;font-size:var(--font-size-body-sm);min-height:32px}.btn-lg{padding:10px 22px;font-size:15px;min-height:44px;border-radius:var(--radius-md)}.btn-xl{padding:14px 30px;font-size:16px;font-weight:700;min-height:52px;border-radius:var(--radius-lg)}.btn-text.btn-xs{padding:3px 6px}.btn-text.btn-sm{padding:6px 10px}.btn-text.btn-lg{padding:10px 16px}.btn-text.btn-xl{padding:14px 20px}.btn-compact{padding-left:16px;padding-right:16px}.btn-next{background:var(--color-primary);color:var(--color-on-primary)}.btn-next:hover{background:var(--color-primary-hover)}.icon-btn{position:relative;width:36px;height:36px;padding:0;border-radius:var(--radius-md);background:var(--color-surface-container);border:1px solid var(--color-outline);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-on-surface-variant);transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.icon-btn:hover{background:var(--color-surface-variant);color:var(--color-on-surface)}.icon-btn:disabled{background:transparent;border-color:var(--color-outline-variant);color:var(--color-on-disabled);cursor:not-allowed}.icon-btn.btn-xs{width:24px;height:24px;border-radius:var(--radius-sm)}.icon-btn.btn-sm{width:30px;height:30px;border-radius:var(--radius-sm)}.icon-btn.btn-lg{width:44px;height:44px;border-radius:var(--radius-md)}.icon-btn.btn-xl{width:52px;height:52px;border-radius:var(--radius-lg)}.btn-primary:active:not(:disabled){filter:brightness(.88);transform:translateY(0)}.btn-secondary:active:not(:disabled){filter:brightness(.92);transform:translateY(0)}.btn-ghost:active:not(:disabled),.btn-tertiary:active:not(:disabled){background:var(--color-surface-container-high)}.btn-text:active:not(:disabled){background:color-mix(in srgb,var(--color-primary) 16%,transparent)}.icon-btn:active:not(:disabled){background:var(--color-surface-container-high)}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px}.card-elevated{background:var(--color-surface-container-low);box-shadow:var(--shadow-sm)}.card-elevated,.card-filled{border:1px solid transparent;border-radius:var(--radius);padding:16px 20px}.card-filled{background:var(--color-surface-container-highest)}.card-header{margin-bottom:12px;display:grid;grid-template-columns:1fr;gap:4px}.card-header:has(.card-action){grid-template-columns:1fr auto}.card-action{grid-column:2;grid-row:1/span 2;align-self:start;justify-self:end}.card-title{font-family:var(--font-heading);font-size:var(--font-size-heading-xs);font-weight:600;color:var(--text-primary)}.card-desc{font-size:var(--font-size-label);color:var(--text-secondary);line-height:1.55}.card-content{font-size:var(--font-size-body-md);color:var(--text-primary)}.card-footer{margin-top:16px;display:flex;align-items:center;gap:8px}.chip{gap:var(--space-2);height:32px;padding:0 var(--space-4);border-radius:var(--radius-full);border:1px solid var(--color-outline-variant);background:transparent;font:var(--font-weight-medium) var(--font-size-body-lg)/1 var(--font-body);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.chip,.chip-icon{display:inline-flex;align-items:center;color:var(--color-on-surface)}.chip-icon{justify-content:center;flex-shrink:0}.chip-icon,.chip-icon i,.chip-icon svg,.chip-remove{width:18px;height:18px}.chip-remove{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;border:0;background:transparent;border-radius:50%;color:var(--color-on-surface-variant);cursor:pointer;flex-shrink:0}.chip-remove:hover{background:color-mix(in srgb,var(--color-on-surface) 12%,transparent)}.chip-remove i,.chip-remove svg{width:14px;height:14px}.chip:has(.chip-icon){padding-left:var(--space-2)}.chip:has(.chip-remove){padding-right:var(--space-2)}.chip-elevated{border-color:transparent;background:var(--color-surface-container-low);box-shadow:var(--shadow-sm)}.chip-selected{background:var(--color-secondary-container);border-color:transparent}.chip-selected,.chip-selected .chip-icon,.chip-selected .chip-remove{color:var(--color-on-secondary-container)}.chip:hover{background:color-mix(in srgb,var(--color-on-surface) 8%,transparent)}.chip:active{background:color-mix(in srgb,var(--color-on-surface) 12%,transparent)}.chip-elevated:hover{background:color-mix(in srgb,var(--color-on-surface) 8%,var(--color-surface-container-low))}.chip-elevated:active{background:color-mix(in srgb,var(--color-on-surface) 12%,var(--color-surface-container-low))}.chip-selected:hover{background:color-mix(in srgb,var(--color-on-secondary-container) 8%,var(--color-secondary-container))}.chip-selected:active{background:color-mix(in srgb,var(--color-on-secondary-container) 12%,var(--color-secondary-container))}.chip:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-ring)}.chip-dragged{box-shadow:var(--shadow-md);background:var(--color-surface-container-low)}.chip:disabled,.chip[aria-disabled=true]{border-color:var(--color-disabled);background:transparent;color:var(--color-on-disabled);cursor:not-allowed;box-shadow:none}.chip:disabled .chip-icon,.chip:disabled .chip-remove,.chip[aria-disabled=true] .chip-icon,.chip[aria-disabled=true] .chip-remove{color:var(--color-on-disabled)}.chip-elevated:disabled,.chip-elevated[aria-disabled=true]{border-color:transparent;background:var(--color-disabled)}.chip-set{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted)}.empty-state-icon{font-size:48px;margin-bottom:16px}.empty-state-title{font-family:var(--font-heading);font-size:var(--font-size-heading-md);font-weight:600;color:var(--text-secondary);margin-bottom:8px}.empty-state-desc{font-size:var(--font-size-body-lg);color:var(--text-muted);max-width:400px;margin:0 auto 20px;line-height:1.6}.form-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:24px 32px;margin-bottom:16px}.form-card-title{font-family:var(--font-heading);font-size:var(--font-size-heading-xs);font-weight:600;margin-bottom:6px}.form-card-desc{font-size:var(--font-size-label);color:var(--text-secondary);line-height:1.55;margin-bottom:24px;max-width:680px}.field-group{margin-bottom:20px}.field-group:last-child{margin-bottom:0}.field-label{display:block;font-size:var(--font-size-label);font-weight:500;color:var(--text-primary);margin-bottom:8px}.field-required{color:var(--red);margin-left:2px}.field-input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--font-size-body-md);font-family:inherit;color:var(--text-primary);background:var(--card-bg);outline:none;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default);-webkit-appearance:none;-moz-appearance:none;appearance:none}.field-input:focus-visible{border-color:var(--interactive);box-shadow:0 0 0 3px var(--color-focus-ring)}.field-input::-moz-placeholder{color:var(--text-muted)}.field-input::placeholder{color:var(--text-muted)}.field-input[type=file]{padding:7px 14px;cursor:pointer;color:var(--text-secondary)}.field-input[type=file]::file-selector-button{margin:0 12px 0 0;padding:4px 12px;border:none;border-radius:var(--radius-sm);background:var(--color-secondary-container);color:var(--color-on-secondary-container);font:inherit;font-weight:500;cursor:pointer}.field-input[type=file]:hover::file-selector-button{background:color-mix(in srgb,var(--color-secondary-container) 88%,#000)}.field-input[aria-invalid=true],.field-textarea[aria-invalid=true],.select-wrapper select[aria-invalid=true]{border-color:var(--color-error)}.field-input[aria-invalid=true]:focus-visible,.field-textarea[aria-invalid=true]:focus-visible,.select-wrapper select[aria-invalid=true]:focus-visible{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-ring)}input:disabled,select:disabled,textarea:disabled{background:var(--color-disabled);color:var(--color-on-disabled);border-color:var(--color-outline);cursor:not-allowed}.select-wrapper{position:relative}.select-wrapper select{width:100%;padding:10px 38px 10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--font-size-body-md);font-family:inherit;color:var(--text-primary);background:var(--card-bg);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default)}.select-wrapper select:focus-visible{border-color:var(--interactive);box-shadow:0 0 0 3px var(--color-focus-ring)}.select-wrapper select[data-size=sm]{min-height:32px;padding:5px 34px 5px 12px;font-size:var(--font-size-body-sm)}.select-caret{position:absolute;right:13px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted)}.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.field-textarea{resize:vertical;min-height:80px;line-height:1.5;field-sizing:content}.number-input-wrapper{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--card-bg);transition:border-color var(--duration-fast) var(--ease-default)}.number-input-wrapper:focus-within{border-color:var(--interactive)}.number-value{font-size:var(--font-size-body-md);color:var(--text-primary)}.number-controls{gap:4px}.number-btn,.number-controls{display:flex;align-items:center}.number-btn{width:32px;height:32px;border-radius:var(--radius-md);background:var(--bg);border:1px solid var(--border);justify-content:center;cursor:pointer;color:var(--text-secondary);transition:background var(--duration-fast) var(--ease-default);font-family:inherit}.number-btn:hover{background:var(--color-surface-container-highest);color:var(--text-primary)}.date-input-wrapper{position:relative}.date-input-wrapper input{width:100%;padding:10px 42px 10px 14px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--font-size-body-md);font-family:inherit;color:var(--text-muted);background:var(--card-bg);outline:none;transition:border-color var(--duration-fast) var(--ease-default);cursor:pointer}.date-input-wrapper input:focus{border-color:var(--interactive)}.date-icon{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.field-input:hover:not(:focus):not(:disabled){border-color:var(--color-outline)}.field-group:focus-within .field-label{color:var(--interactive)}.field-supporting{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-top:6px;padding:0 2px}.field-hint{color:var(--color-on-surface-variant)}.field-error-msg,.field-hint{font-size:var(--font-size-caption);line-height:1.4}.field-error-msg{color:var(--color-error);display:flex;align-items:flex-start;gap:4px}.field-error-msg svg{flex-shrink:0;margin-top:1px}.field-char-count{font-family:var(--font-mono);font-size:var(--font-size-badge);color:var(--color-on-surface-variant);white-space:nowrap;flex-shrink:0;margin-left:auto}.field-char-count.is-over,.field-group.is-error .field-label{color:var(--color-error)}.field-group.is-error:focus-within .field-label{color:var(--color-error)}.field-group.is-error .field-input,.field-group.is-error .field-input:hover:not(:focus):not(:disabled){border-color:var(--color-error)}.field-group.is-error .field-input:focus-visible{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-ring)}.field-group.is-error .field-hint{display:none}.field-group.is-error .field-trailing-icon{color:var(--color-error)}.field-input-wrapper{position:relative}.field-leading-icon,.field-trailing-icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--color-on-surface-variant);pointer-events:none;display:flex;align-items:center;justify-content:center;width:16px;height:16px}.field-leading-icon{left:14px}.field-trailing-icon{right:14px}.field-input-wrapper .field-input.has-leading{padding-left:42px}.field-input-wrapper .field-input.has-trailing{padding-right:42px}.item{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:16px;border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--font-size-body-md);color:var(--text-primary);transition:background-color var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default)}.item-outline{border-color:var(--border)}.item-muted{background:color-mix(in srgb,var(--color-surface-variant) 50%,transparent)}.item-sm{gap:10px;padding:12px 16px}.item-clickable,a.item{cursor:pointer;text-decoration:none;color:inherit}.item-clickable:hover,a.item:hover{background:var(--color-surface-variant)}.item:focus-visible{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.item.is-disabled{opacity:.5;pointer-events:none}.item-media{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;align-self:flex-start}.item-media-icon{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--color-surface-variant);color:var(--color-on-surface-variant)}.item-media-icon svg{width:16px;height:16px}.item-media-image{width:40px;height:40px;border-radius:var(--radius-sm);overflow:hidden}.item-media-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.item-content{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.item-content+.item-content{flex:none}.item-title{display:flex;width:-moz-fit-content;width:fit-content;align-items:center;gap:8px;font-weight:500;color:var(--text-primary);line-height:1.4}.item-description{color:var(--text-secondary);font-size:var(--font-size-body-sm);line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.item-description>a{text-decoration:underline;text-underline-offset:4px}.item-description>a:hover{color:var(--color-primary)}.item-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.item-footer,.item-header{display:flex;flex-basis:100%;align-items:center;justify-content:space-between;gap:8px}.item-group{display:flex;flex-direction:column}.item-separator{height:1px;border:0;margin:0;background:var(--border)}.modal-overlay{position:fixed;inset:0;background:var(--color-scrim);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn var(--duration-fast) var(--ease-enter)}.modal{position:relative;background:var(--card-bg);border-radius:var(--radius-lg);width:min(560px,calc(100vw - 48px));max-height:calc(100vh - 96px);overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideInUp var(--duration-normal) var(--ease-enter);padding:24px;gap:16px}.modal,.modal-header{display:flex;flex-direction:column}.modal-header{gap:6px;padding-right:32px}.modal-title{font-family:var(--font-heading);font-size:var(--font-size-heading-sm);font-weight:600}.modal-description{font-size:var(--font-size-body-sm);line-height:1.6}.modal-close,.modal-description{color:var(--color-on-surface-variant)}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:var(--radius-md);border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.modal-close:hover{background:var(--color-surface-variant);color:var(--color-on-surface)}.modal-close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-ring)}.modal-body{color:var(--color-on-surface-variant)}.modal-footer{display:flex;flex-direction:column-reverse;gap:8px}@media (min-width:640px){.modal-footer{flex-direction:row;align-items:center;justify-content:flex-end}}.modal-sm{width:min(360px,calc(100vw - 48px))}@media (min-width:640px){.modal-sm .modal-footer{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.modal-sm .modal-footer>*{width:100%}}.modal-media{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-full);background:var(--color-surface-variant);color:var(--color-on-surface-variant)}.modal-media>i,.modal-media>svg{width:24px;height:24px}.modal-media-error{background:var(--color-error-container);color:var(--color-on-error-container)}.modal-centered .modal-header{align-items:center;text-align:center;padding-right:0}.modal-centered .modal-media{margin:0 auto}.modal-lg{width:min(720px,calc(100vw - 48px))}.modal-scrollable{overflow:hidden}.modal-scrollable .modal-body{flex:1;min-height:0;overflow-y:auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title{font-family:var(--font-heading);font-size:var(--font-size-heading-lg);font-weight:600;letter-spacing:-.3px}.header-actions{display:flex;align-items:center;gap:10px}.skeleton{background:linear-gradient(90deg,var(--color-surface-variant) 25%,var(--color-surface-container-highest) 50%,var(--color-surface-variant) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:14px;margin-bottom:8px}.skeleton-title{height:22px;width:60%;margin-bottom:12px}.skeleton-card{height:80px;margin-bottom:8px}.skeleton-avatar,.skeleton-circle{width:40px;height:40px;border-radius:var(--radius-full)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.stat-card .stat-label{font-size:var(--font-size-body-sm);color:var(--text-muted);margin-bottom:8px}.stat-card .stat-value{font-family:var(--font-heading);font-size:var(--font-size-display);font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.stat-card .stat-change{font-size:var(--font-size-caption);margin-top:4px}.stat-change-positive{color:var(--color-success)}.stat-change-negative{color:var(--color-error)}.stat-change-neutral{color:var(--text-muted)}