@charset "UTF-8";@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:block;src:url("./media/material-icons-LEZCGFVT.woff2") format("woff2"),url("./media/material-icons-JLIDJUWE.woff") format("woff")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Outlined;font-style:normal;font-weight:400;font-display:block;src:url("./media/material-icons-outlined-7BWLPMFK.woff2") format("woff2"),url("./media/material-icons-outlined-PCUTWIDZ.woff") format("woff")}.material-icons-outlined{font-family:Material Icons Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Round;font-style:normal;font-weight:400;font-display:block;src:url("./media/material-icons-round-WEHMTW23.woff2") format("woff2"),url("./media/material-icons-round-SLOHZIXU.woff") format("woff")}.material-icons-round{font-family:Material Icons Round;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Sharp;font-style:normal;font-weight:400;font-display:block;src:url("./media/material-icons-sharp-HCCYMPXE.woff2") format("woff2"),url("./media/material-icons-sharp-U4OLFP3G.woff") format("woff")}.material-icons-sharp{font-family:Material Icons Sharp;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Material Icons Two Tone;font-style:normal;font-weight:400;font-display:block;src:url("./media/material-icons-two-tone-M5N5K6F5.woff2") format("woff2"),url("./media/material-icons-two-tone-LCGWGE2N.woff") format("woff")}.material-icons-two-tone{font-family:Material Icons Two Tone;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}html{--mat-sys-background: #f9faf3;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f1f1eb;--mat-sys-inverse-primary: #02e600;--mat-sys-inverse-surface: #2f312d;--mat-sys-on-background: #1a1c18;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary-container: #015300;--mat-sys-on-primary-fixed: #002200;--mat-sys-on-primary-fixed-variant: #015300;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3c4b37;--mat-sys-on-secondary-fixed: #121f0e;--mat-sys-on-secondary-fixed-variant: #3c4b37;--mat-sys-on-surface: #1a1c18;--mat-sys-on-surface-variant: #43483f;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #004f4f;--mat-sys-on-tertiary-fixed: #002020;--mat-sys-on-tertiary-fixed-variant: #004f4f;--mat-sys-outline: #73796e;--mat-sys-outline-variant: #c3c8bc;--mat-sys-primary: #026e00;--mat-sys-primary-container: #77ff61;--mat-sys-primary-fixed: #77ff61;--mat-sys-primary-fixed-dim: #02e600;--mat-sys-scrim: #000000;--mat-sys-secondary: #54634d;--mat-sys-secondary-container: #d7e8cd;--mat-sys-secondary-fixed: #d7e8cd;--mat-sys-secondary-fixed-dim: #bbcbb2;--mat-sys-shadow: #000000;--mat-sys-surface: #f9faf3;--mat-sys-surface-bright: #f9faf3;--mat-sys-surface-container: #eeeee7;--mat-sys-surface-container-high: #e8e9e1;--mat-sys-surface-container-highest: #e2e3dc;--mat-sys-surface-container-low: #f3f4ed;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dadbd3;--mat-sys-surface-tint: #026e00;--mat-sys-surface-variant: #dfe4d7;--mat-sys-tertiary: #006a6a;--mat-sys-tertiary-container: #00fbfb;--mat-sys-tertiary-fixed: #00fbfb;--mat-sys-tertiary-fixed-dim: #00dddd;--mat-sys-neutral-variant20: #2c3229;--mat-sys-neutral10: #1a1c18;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Inter, system-ui, -apple-system, sans-serif;--mat-sys-body-large-font: Inter, system-ui, -apple-system, sans-serif;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Inter, system-ui, -apple-system, sans-serif;--mat-sys-body-medium-font: Inter, system-ui, -apple-system, sans-serif;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Inter, system-ui, -apple-system, sans-serif;--mat-sys-body-small-font: Inter, system-ui, -apple-system, sans-serif;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Inter, system-ui, sans-serif;--mat-sys-display-large-font: Inter, system-ui, sans-serif;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Inter, system-ui, sans-serif;--mat-sys-display-medium-font: Inter, system-ui, sans-serif;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Inter, system-ui, sans-serif;--mat-sys-display-small-font: Inter, system-ui, sans-serif;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Inter, system-ui, sans-serif;--mat-sys-headline-large-font: Inter, system-ui, sans-serif;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Inter, system-ui, sans-serif;--mat-sys-headline-medium-font: Inter, system-ui, sans-serif;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Inter, system-ui, sans-serif;--mat-sys-headline-small-font: Inter, system-ui, sans-serif;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Inter, system-ui, -apple-system, sans-serif;--mat-sys-label-large-font: Inter, system-ui, -apple-system, sans-serif;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Inter, system-ui, -apple-system, sans-serif;--mat-sys-label-medium-font: Inter, system-ui, -apple-system, sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Inter, system-ui, -apple-system, sans-serif;--mat-sys-label-small-font: Inter, system-ui, -apple-system, sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Inter, system-ui, sans-serif;--mat-sys-title-large-font: Inter, system-ui, sans-serif;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Inter, system-ui, -apple-system, sans-serif;--mat-sys-title-medium-font: Inter, system-ui, -apple-system, sans-serif;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Inter, system-ui, -apple-system, sans-serif;--mat-sys-title-small-font: Inter, system-ui, -apple-system, sans-serif;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12;--mat-sys-primary: #00a651;--mat-sys-on-primary: #ffffff;--mat-sys-primary-container: rgba(0, 166, 81, .12);--mat-sys-on-primary-container: #006d35;--mat-sys-secondary: #00c763;--mat-sys-error: #ef4444;--mat-sys-surface: #ffffff;--mat-sys-surface-container: #f5f7fa}.driver-popover.mobi-tour{background:var(--bg-card);color:var(--text-primary);border-radius:var(--radius);box-shadow:var(--shadow-lg);border:1px solid var(--border);padding:20px;max-width:380px}.driver-popover.mobi-tour .driver-popover-title{color:var(--brand);font-weight:700;font-size:16px;margin-bottom:6px}.driver-popover.mobi-tour .driver-popover-description{color:var(--text-secondary);font-size:14px;line-height:1.5}.driver-popover.mobi-tour .driver-popover-progress-text{color:var(--text-muted);font-size:12px}.driver-popover.mobi-tour .driver-popover-next-btn,.driver-popover.mobi-tour .driver-popover-prev-btn,.driver-popover.mobi-tour .driver-popover-close-btn{background:var(--brand);color:#fff;border:none;border-radius:var(--radius-sm);padding:6px 14px;font-weight:500;text-shadow:none}.driver-popover.mobi-tour .driver-popover-prev-btn{background:var(--bg-hover);color:var(--text-primary)}.driver-popover.mobi-tour .driver-popover-next-btn:hover,.driver-popover.mobi-tour .driver-popover-close-btn:hover{background:var(--brand-hover)}:root,[data-theme=light]{--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--bg-base: #f5f7fa;--bg-surface: #ffffff;--bg-card: #ffffff;--bg-hover: #f0f2f5;--bg-input: #ffffff;--border: #e2e6ed;--border-focus: #00a651;--text-primary: #1a2332;--text-secondary: #5a6a7e;--text-muted: #94a3b8;--brand: #00a651;--brand-hover: #008c44;--brand-dark: #006d35;--brand-light: rgba(0, 166, 81, .1);--status-new: #3b82f6;--status-new-bg: rgba(59, 130, 246, .1);--status-running: #f59e0b;--status-running-bg: rgba(245, 158, 11, .1);--status-done: #00a651;--status-done-bg: rgba(0, 166, 81, .1);--status-failed: #ef4444;--status-failed-bg: rgba(239, 68, 68, .1);--success: #00a651;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 6px rgba(0,0,0,.06), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 10px 25px rgba(0,0,0,.08), 0 4px 10px rgba(0,0,0,.04);--ease: cubic-bezier(.4, 0, .2, 1);--scrollbar-thumb: #d1d5db;--scrollbar-hover: #9ca3af;--table-head-bg: #f8fafb;--table-head-border: 2px solid var(--border);--select-arrow: %235a6a7e;--modal-backdrop: rgba(0,0,0,.4);--alert-danger-text: #b91c1c;--alert-success-text: #006d35;--alert-info-text: #1d4ed8;--alert-warning-text: #92400e;--toast-bg: #ffffff;--toast-success-text: #006d35;--toast-error-text: #b91c1c;--avatar-gradient-from: #00a651;--avatar-gradient-to: #00c763}[data-theme=dark]{--bg-base: #0f1117;--bg-surface: #1a1d27;--bg-card: #21253a;--bg-hover: #2a2e42;--bg-input: #16192a;--border: rgba(255, 255, 255, .08);--border-focus: #00a651;--text-primary: #e8eaf0;--text-secondary: #8b92a9;--text-muted: #5a6278;--brand: #00c763;--brand-hover: #00a651;--brand-dark: #008c44;--brand-light: rgba(0, 199, 99, .15);--status-new: #60a5fa;--status-new-bg: rgba(96, 165, 250, .12);--status-running: #fbbf24;--status-running-bg: rgba(251, 191, 36, .12);--status-done: #34d399;--status-done-bg: rgba(52, 211, 153, .12);--status-failed: #f87171;--status-failed-bg: rgba(248, 113, 113, .12);--success: #34d399;--warning: #fbbf24;--danger: #f87171;--info: #60a5fa;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 6px rgba(0,0,0,.4), 0 2px 4px rgba(0,0,0,.3);--shadow-lg: 0 10px 25px rgba(0,0,0,.5), 0 4px 10px rgba(0,0,0,.3);--scrollbar-thumb: #2a2e42;--scrollbar-hover: #5a6278;--table-head-bg: #1a1d27;--table-head-border: 1px solid var(--border);--select-arrow: %238b92a9;--modal-backdrop: rgba(0,0,0,.65);--alert-danger-text: #fca5a5;--alert-success-text: #6ee7b7;--alert-info-text: #93c5fd;--alert-warning-text: #fcd34d;--toast-bg: #21253a;--toast-success-text: #4ade80;--toast-error-text: #f87171;--avatar-gradient-from: #00c763;--avatar-gradient-to: #34d399}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-hover)}h1{font-size:1.75rem;font-weight:700;line-height:1.2;color:var(--text-primary)}h2{font-size:1.375rem;font-weight:600;color:var(--text-primary)}h3{font-size:1.125rem;font-weight:600;color:var(--text-primary)}h4{font-size:1rem;font-weight:600;color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.mono{font-family:var(--font-mono);font-size:.875em}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s var(--ease),box-shadow .15s var(--ease),opacity .15s var(--ease);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.btn-primary{background:var(--brand);color:#fff;box-shadow:var(--shadow-sm)}.btn.btn-primary:hover:not(:disabled){background:var(--brand-hover);box-shadow:var(--shadow)}.btn.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border)}.btn.btn-secondary:hover:not(:disabled){background:var(--bg-card)}.btn.btn-danger{background:#ef444414;color:var(--danger);border:1px solid rgba(239,68,68,.2)}.btn.btn-danger:hover:not(:disabled){background:#ef444426}.btn.btn-sm{padding:.3rem .75rem;font-size:.8125rem}.btn.btn-ghost{background:transparent;color:var(--text-secondary)}.btn.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.form-control{width:100%;padding:.625rem .875rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);font-size:.875rem;transition:border-color .15s var(--ease),box-shadow .15s var(--ease);outline:none}.form-control::placeholder{color:var(--text-muted)}.form-control:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-light)}.form-control.ng-invalid.ng-touched{border-color:var(--danger);box-shadow:0 0 0 3px #ef44441a}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='var(--select-arrow)' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.5rem;cursor:pointer}select.form-control option{background:var(--bg-surface);color:var(--text-primary)}.table-container{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);background:var(--bg-card)}table{width:100%;border-collapse:collapse;font-size:.875rem}table thead{background:var(--table-head-bg)}table thead th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:var(--table-head-border)}table tbody tr{border-bottom:1px solid var(--border);transition:background .1s var(--ease);cursor:pointer}table tbody tr:hover{background:var(--bg-hover)}table tbody tr:last-child{border-bottom:none}table tbody td{padding:.875rem 1rem;color:var(--text-primary);vertical-align:middle}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:100px;font-size:.75rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.badge:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:currentColor}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.alert{padding:.875rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;border:1px solid transparent}.alert.alert-danger{background:#ef44440f;border-color:#ef444433;color:var(--alert-danger-text)}.alert.alert-success{background:#00a6510f;border-color:#00a65133;color:var(--alert-success-text)}.alert.alert-info{background:#3b82f60f;border-color:#3b82f633;color:var(--alert-info-text)}.alert.alert-warning{background:#f59e0b0f;border-color:#f59e0b33;color:var(--alert-warning-text)}.pagination{display:flex;align-items:center;gap:.25rem}.pagination .page-btn{min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .15s var(--ease)}.pagination .page-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.pagination .page-btn.active{background:var(--brand);border-color:var(--brand);color:#fff}.pagination .page-btn:disabled{opacity:.4;cursor:not-allowed}.modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem}.modal .modal-header{display:flex;align-items:center;justify-content:space-between}.modal .modal-header h3{font-size:1.125rem;font-weight:600}.modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border)}.divider{height:1px;background:var(--border);margin:.5rem 0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem;color:var(--text-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:4rem;color:var(--text-muted);text-align:center}.empty-state .empty-icon{font-size:3rem;opacity:.4}.empty-state h3{color:var(--text-secondary)}
