:root{--primary-font: "GeneralSans-Regular", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--bg-dark: hsl(228 79% 2%);--bg: hsl(222 55% 5%);--bg-light: hsl(220 35% 10%);--text: hsl(220 100% 98%);--text-muted: hsl(220 35% 73%);--highlight: hsl(220 20% 42%);--border: hsl(220 26% 31%);--border-muted: hsl(220 37% 20%);--primary: hsl(81, 78%, 55%);--secondary: hsl(40 53% 60%);--danger: hsl(9 26% 64%);--warning: hsl(52 19% 57%);--success: hsl(146 17% 59%);--info: hsl(217 28% 65%);--bg-dark: oklch(.1 .025 264);--bg: oklch(.15 .025 264);--bg-light: oklch(.2 .025 264);--text: oklch(.96 .05 264);--text-muted: oklch(.76 .05 264);--highlight: oklch(.5 .05 264);--border: oklch(.4 .05 264);--border-muted: oklch(.3 .05 264);--primary: oklch(.88 .23 124);--secondary: oklch(.76 .1 84);--danger: oklch(.7 .05 30);--warning: oklch(.7 .05 100);--success: oklch(.7 .05 160);--info: oklch(.7 .05 260);--text-2xs: clamp(.625rem, .5vw + .5rem, .75rem);--text-xs: clamp(.75rem, .6vw + .6rem, .875rem);--text-sm: clamp(.875rem, .7vw + .7rem, 1rem);--text-base: clamp(1rem, .8vw + .8rem, 1.125rem);--text-lg: clamp(1.125rem, .9vw + .9rem, 1.25rem);--text-xl: clamp(1.25rem, 1vw + 1rem, 1.5rem);--text-2xl: clamp(1.5rem, 1.2vw + 1.2rem, 1.875rem);--text-3xl: clamp(1.875rem, 1.4vw + 1.4rem, 2.25rem);--text-4xl: clamp(2.25rem, 1.6vw + 1.6rem, 3rem);--text-5xl: clamp(3rem, 2vw + 2rem, 4rem);--leading-tight: 1.25;--leading-normal: 1.6;--leading-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--shadow-s: inset 0 1px 2px #ffffff30, 0 1px 2px #00000030, 0 2px 4px #00000015;--shadow-m: inset 0 1px 2px #ffffff50, 0 2px 4px #00000030, 0 4px 8px #00000015;--shadow-l: inset 0 1px 2px #ffffff70, 0 4px 6px #00000030, 0 6px 10px #00000015;--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .2), inset 0 -1px 2px rgba(255, 255, 255, .1);--radius-sm: .375rem;--radius-base: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--transition: .2s ease-in-out;--transition-slow: .3s ease-in-out;--primary-gradient: linear-gradient(135deg, var(--primary), oklch(.7 .1 264));--card-gradient: linear-gradient(135deg, var(--bg-light), var(--bg));--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal: 1040;--z-popover: 1050;--z-tooltip: 1060;--z-toast: 1070}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:var(--primary-font),sans-serif;font-size:var(--text-base);line-height:var(--leading-normal);font-optical-sizing:auto;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0 auto}h1,h2,h3,h4,h5,h6{font-family:GeneralSans-Semibold,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.user-avatar{border-radius:50%;object-fit:cover;border:2px solid var(--border);width:32px;height:32px}img{width:100%;height:auto;display:block;object-fit:cover}.container{max-width:1440px;margin:0 auto;height:auto;padding:var(--space-4) var(--space-2)}.card{background:var(--bg-light);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-s);transition:var(--transition);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--highlight),transparent)}.card:hover{box-shadow:var(--shadow-m);transform:translateY(-2px)}.card-elevated{background:var(--card-gradient);box-shadow:var(--shadow-m)}.card-interactive{cursor:pointer}.card-interactive:active{transform:translateY(0);box-shadow:var(--shadow-s)}.card-title{font-size:var(--text-xl);font-weight:600;line-height:var(--leading-tight);margin-bottom:var(--space-3);color:var(--text)}.card-subtitle{font-size:var(--text-sm);color:var(--text-muted);line-height:var(--leading-normal);margin-bottom:var(--space-4)}h1,.h1{font-size:var(--text-4xl);line-height:var(--leading-tight);font-weight:600;letter-spacing:-.02em;margin-bottom:var(--space-6)}h2,.h2{font-size:var(--text-3xl);line-height:var(--leading-tight);font-weight:600;letter-spacing:-.01em;margin-bottom:var(--space-5)}h3,.h3{font-size:var(--text-2xl);line-height:var(--leading-tight);font-weight:600;margin-bottom:var(--space-4)}h4,.h4{font-size:var(--text-xl);line-height:var(--leading-normal);font-weight:600;margin-bottom:var(--space-4)}h5,.h5{font-size:var(--text-lg);line-height:var(--leading-normal);font-weight:500;margin-bottom:var(--space-3)}h6,.h6{font-size:var(--text-base);line-height:var(--leading-normal);font-weight:500;margin-bottom:var(--space-3)}.text-2xs{font-size:var(--text-2xs);line-height:var(--leading-tight)}.text-xs{font-size:var(--text-xs);line-height:var(--leading-tight)}.text-sm{font-size:var(--text-sm);line-height:var(--leading-normal)}.text-base{font-size:var(--text-base);line-height:var(--leading-normal)}.text-lg{font-size:var(--text-lg);line-height:var(--leading-normal)}.text-xl{font-size:var(--text-xl);line-height:var(--leading-tight)}.text-2xl{font-size:var(--text-2xl);line-height:var(--leading-tight)}.text-3xl{font-size:var(--text-3xl);line-height:var(--leading-tight)}.text-4xl{font-size:var(--text-4xl);line-height:var(--leading-tight)}.text-5xl{font-size:var(--text-5xl);line-height:var(--leading-tight)}.leading-tight{line-height:var(--leading-tight)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.text-muted{color:var(--text-muted)}.text-primary{color:var(--primary)}.text-secondary{color:var(--secondary)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-info{color:var(--info)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right!important}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-base)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:none!important;outline-color:transparent!important;border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-tight);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:var(--transition);position:relative;overflow:hidden;background:var(--bg);color:var(--text);box-shadow:var(--shadow-s)}.btn:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--highlight),transparent)}.btn:hover{background:var(--bg-light);box-shadow:var(--shadow-m);transform:translateY(-1px)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-s)}.btn-primary{background:var(--primary);color:var(--bg-dark)}.btn-primary:hover{background:#9dbdff}.btn-outline{background:transparent;border:1px solid var(--border);box-shadow:var(--shadow-s)}.btn-outline:hover{background:var(--bg-light);border-color:var(--border-muted)}.btn-icon{position:relative;padding:var(--space-3);aspect-ratio:1;border-radius:50%;width:32px;height:32px;display:flex;justify-content:center;align-items:center}.btn-outline-primary{background:transparent;border:1px solid var(--primary)!important;color:var(--primary)}.btn-outline-primary:hover{background:var(--primary);color:var(--bg-dark)}.btn-danger-outline{background:transparent;border:1px solid var(--danger)!important;color:var(--danger);box-shadow:none}.btn-danger-outline:hover{background:var(--danger);color:var(--bg-dark);border-color:var(--danger)!important}.btn-success-outline{background:transparent;border:1px solid var(--success)!important;color:var(--success);box-shadow:none}.btn-success-outline:hover{background:var(--success);color:var(--bg-dark);border-color:var(--success)!important}.btn-warning-outline{background:transparent;border:1px solid var(--warning)!important;color:var(--warning);box-shadow:none}.btn-warning-outline:hover{background:var(--warning);color:var(--bg-dark);border-color:var(--warning)!important}.btn-toggle{background:var(--bg);border:1px solid var(--border)}.btn-toggle.active{background:var(--primary);color:var(--bg-dark);border-color:var(--primary)}.btn-lg{font-size:var(--text-base);padding:var(--space-4) var(--space-6)}.btn-sm{font-size:var(--text-xs);padding:var(--space-2) var(--space-3)}.btn:disabled,.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-loading{color:transparent}.btn-loading:after{content:"";position:absolute;width:1rem;height:1rem;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin 1s linear infinite}.list{list-style:none;background:var(--bg-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-s);overflow:hidden}.list-item{padding:var(--space-4);border-bottom:1px solid var(--border-muted);transition:var(--transition);display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-base);line-height:var(--leading-normal)}.list-item:last-child{border-bottom:none}.list-item:hover{background:var(--bg)}.list-item.active{background:var(--primary);color:var(--bg-dark);position:relative}.list-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--secondary)}.list-item-sm{font-size:var(--text-sm)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-xl);font-size:var(--text-2xs);font-weight:600;line-height:var(--leading-tight);letter-spacing:.02em;background:var(--bg);color:var(--text);box-shadow:var(--shadow-s)}.badge-pending{background:var(--warning);color:var(--bg-dark)}.badge-approved{background:var(--success);color:var(--bg-dark)}.badge-rejected{background:var(--danger);color:var(--bg-dark)}.badge-primary{background:var(--primary);color:var(--bg-dark)}.badge-secondary{background:var(--secondary);color:var(--bg-dark)}.badge-success{background:var(--success);color:var(--bg-dark)}.badge-danger{background:var(--danger);color:var(--bg-dark)}.badge-warning{background:var(--warning);color:var(--bg-dark)}.badge-info{background:var(--info);color:var(--bg-dark)}.badge-lg{font-size:var(--text-xs);padding:var(--space-2) var(--space-4)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.page-title{font-size:var(--text-3xl);font-weight:600;margin:0}.loading-state,.error-state,.empty-state{text-align:center;padding:var(--space-16);color:var(--text-muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-muted);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--space-4)}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.upload-progress-container{width:100%;height:4px;background:var(--border-muted);overflow:hidden;border-radius:var(--radius-sm)}.upload-progress-bar{height:100%;width:0%;background-color:var(--success);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem;transition:width .2s ease;animation:progress-bar-stripes 1s linear infinite}.upload-progress-container{width:100%;height:4px;background:var(--border-muted);overflow:hidden}.upload-progress-bar{height:100%;width:0%;background:var(--success);transition:width .2s ease}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-state i:not(.bi-plus-lg),.empty-state i:not(.bi-plus-lg){font-size:var(--text-4xl);margin-bottom:var(--space-4);opacity:.5}.error-state i{color:var(--danger);opacity:1}.error-state h2,.empty-state h2{font-size:var(--text-xl);margin-bottom:var(--space-2);color:var(--text)}.error-state h2{color:var(--danger)}.error-state p,.empty-state p{font-size:var(--text-sm);margin-bottom:var(--space-6)}.empty-state{background:var(--bg-light);border-radius:var(--radius-lg);border:1px solid var(--border-muted)}.table-icon-col{width:48px;padding-right:0!important;text-align:center}.table-icon-cell{text-align:center;color:var(--primary);font-size:var(--text-lg);padding-right:0!important}.table-actions{justify-content:flex-end}.text-right{text-align:right}.table-container{background:var(--bg-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-s);overflow:hidden;position:relative}.table-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--highlight),transparent)}.table{width:100%;border-collapse:collapse;background:var(--bg-light)}.table th{background:var(--bg);padding:var(--space-4);text-align:left;font-size:var(--text-sm);font-weight:600;line-height:var(--leading-tight);border-bottom:1px solid var(--border-muted)}.table td{padding:var(--space-4);font-size:var(--text-sm);line-height:var(--leading-normal);border-bottom:1px solid var(--border-muted)}.table tbody tr{transition:var(--transition)}.table tbody tr:hover{background:var(--bg)}.table tbody tr:last-child td{border-bottom:none}.table-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.table-action-btn{padding:var(--space-2);background:transparent;border:none;border-radius:var(--radius-base);color:var(--text-muted);cursor:pointer;transition:var(--transition)}.table-action-btn:hover{background:var(--bg);color:var(--text)}@media (max-width: 768px){.table-container.table-responsive-stack{overflow-x:hidden}.table-responsive-stack .table{border:none;box-shadow:none}.table-responsive-stack .table thead{display:none}.table-responsive-stack .table tbody,.table-responsive-stack .table tr,.table-responsive-stack .table td{display:block;width:100%}.table-responsive-stack .table tr{background:var(--bg-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-s);margin-bottom:var(--space-4);border:1px solid var(--border-muted);overflow:hidden}.table-responsive-stack .table td{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-muted);text-align:right;min-height:48px;line-height:var(--leading-normal)}.table-responsive-stack .table td:before{content:attr(data-label);font-weight:600;color:var(--text);text-align:left;padding-right:var(--space-4);flex:1;white-space:nowrap}.table-responsive-stack .table td:last-child{border-bottom:none}.table-responsive-stack .table-actions{justify-content:flex-end;gap:var(--space-3);flex-grow:1;flex-wrap:wrap}.table-responsive-stack .table td.table-actions-cell:before{content:"";flex:0;padding:0}.table-responsive-stack .table-icon-cell{display:none}.table-actions-cell{justify-content:flex-end}.table-actions-cell:before{content:""!important;flex:0;padding:0}}.pagination{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--bg);border-top:1px solid var(--border-muted)}.pagination-info{color:var(--text-muted);font-size:var(--text-sm)}.pagination-controls{display:flex;gap:var(--space-2)}.pagination-page{border:1px solid var(--border)!important}.pagination-page:hover:not(.active){border-color:var(--border-muted)!important}.pagination-page.active{border-color:var(--primary)!important}.cdk-overlay-container,.cdk-global-overlay-wrapper{z-index:var(--z-toast)}.mat-mdc-snack-bar-container .mdc-snackbar__surface.mat-mdc-snackbar-surface{border-radius:var(--radius-base)}.error-snackbar{background-color:var(--danger)!important;color:#fff;font-weight:500;border-radius:var(--radius-base)}.error-snackbar .mdc-button__label{color:#fff;opacity:.9}.success-snackbar{background-color:var(--success)!important;color:#fff;font-weight:500;border-radius:var(--radius-base)}.success-snackbar .mdc-button__label{color:#fff;opacity:.9}.warning-snackbar{background-color:var(--warning)!important;color:var(--bg-dark);font-weight:500;border-radius:var(--radius-base)}.warning-snackbar .mdc-button__label{color:var(--bg-dark);opacity:.9;font-weight:700}.success-snackbar .mat-simple-snackbar-action .mat-ripple-element{background-color:var(--success)!important}.success-snackbar button.mdc-button,.error-snackbar button.mdc-button,.warning-snackbar button.mdc-button{transition:background-color .2s ease-in-out;border-radius:var(--radius-md);cursor:pointer;background:transparent!important}.mdc-button.mat-mdc-button-base.mat-mdc-snack-bar-action.mdc-snackbar__action.mat-mdc-button.mat-unthemed:hover{background-color:var(--danger)!important;color:var(--info)}.warning-snackbar button.mdc-button:hover{background-color:#0000001a!important}.full-screen-modal .mat-mdc-dialog-surface{border-radius:var(--radius-xl)!important;padding:0!important;background:var(--bg)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-l)!important;color:var(--text)!important}.full-screen-modal .mat-mdc-dialog-surface .dialog-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6) var(--space-8);background:var(--bg-light);color:var(--text);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-bottom:1px solid var(--border-muted);position:relative;margin-bottom:0}.full-screen-modal .mat-mdc-dialog-surface .dialog-header h4{font-size:var(--text-xl);font-weight:600;margin:0;color:var(--text)}.full-screen-modal .mat-mdc-dialog-surface .dialog-header a.close_dialog{font-size:var(--text-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-lg);transition:var(--transition);color:var(--text-muted);background:var(--bg)}.full-screen-modal .mat-mdc-dialog-surface .dialog-header a.close_dialog:hover{background-color:var(--bg-light);color:var(--text);transform:none}.full-screen-modal .mat-mdc-dialog-surface .dialog-content{padding:var(--space-8);max-height:calc(85vh - 80px);overflow-y:auto}.full-screen-modal .mat-mdc-dialog-surface .dialog-content::-webkit-scrollbar{width:6px}.full-screen-modal .mat-mdc-dialog-surface .dialog-content::-webkit-scrollbar-track{background:var(--bg-light);border-radius:var(--radius-sm)}.full-screen-modal .mat-mdc-dialog-surface .dialog-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-sm)}.full-screen-modal .mat-mdc-dialog-surface .dialog-content::-webkit-scrollbar-thumb:hover{background:var(--border-muted)}.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(540px,100%),1fr));gap:var(--space-4);min-width:280px;max-width:100%}.form-full-width{grid-column:1 / -1}.form-actions{grid-column:1 / -1;display:flex;gap:var(--space-4);justify-content:flex-end;margin-top:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2);position:relative;margin-bottom:var(--space-4)}.form-label{font-size:var(--text-sm);font-weight:500;line-height:var(--leading-tight);color:var(--text);margin-bottom:var(--space-1)}.form-field{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);color:var(--text);font-size:var(--text-base);line-height:var(--leading-normal);transition:var(--transition);box-shadow:var(--shadow-inset);position:relative}.form-field-sm{padding:var(--space-1) var(--space-2);font-size:var(--text-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);line-height:var(--leading-normal);transition:var(--transition);box-shadow:var(--shadow-inset);position:relative}.form-field:focus{outline:none;border-color:var(--primary);box-shadow:var(--shadow-inset),0 0 0 3px color-mix(in oklch,var(--primary) 20%)}.form-field::placeholder{color:var(--text-muted);font-size:var(--text-xs);opacity:.3}textarea.form-field{resize:vertical;min-height:100px;grid-column:1 / -1}.form-field.error{border-color:var(--danger);box-shadow:var(--shadow-inset),0 0 0 3px color-mix(in oklch,var(--danger) 20%)}.form-field.ng-valid{border-color:var(--success);box-shadow:var(--shadow-inset),0 0 0 3px color-mix(in oklch,var(--success) 20%)}.form-error{color:var(--danger);font-size:var(--text-xs);display:flex;align-items:center;gap:var(--space-2);position:absolute;bottom:-1.5rem}.form-hint{font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--text-muted);margin-top:var(--space-2)}select.form-field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:1rem;padding-right:var(--space-8)}@media (prefers-color-scheme: light){:root{--bg-dark: oklch(.92 .025 264);--bg: oklch(.96 .025 264);--bg-light: oklch(1 .025 264);--text: oklch(.15 .05 264);--text-muted: oklch(.4 .05 264);--highlight: oklch(1 .05 264);--border: oklch(.6 .05 264);--border-muted: oklch(.7 .05 264);--primary: oklch(.4 .1 264);--secondary: oklch(.4 .1 84);--danger: oklch(.5 .05 30);--warning: oklch(.5 .05 100);--success: oklch(.5 .05 160);--info: oklch(.5 .05 260);--shadow-s: inset 0 1px 2px #00000010, 0 1px 2px #00000015, 0 2px 4px #00000010;--shadow-m: inset 0 1px 2px #00000015, 0 2px 4px #00000020, 0 4px 8px #00000015;--shadow-l: inset 0 1px 2px #00000020, 0 4px 6px #00000025, 0 6px 10px #00000015;--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .1), inset 0 -1px 2px rgba(255, 255, 255, .8)}}body.light{--bg-dark: oklch(.92 .025 264);--bg: oklch(.96 .025 264);--bg-light: oklch(1 .025 264);--text: oklch(.15 .05 264);--text-muted: oklch(.4 .05 264);--highlight: oklch(1 .05 264);--border: oklch(.6 .05 264);--border-muted: oklch(.7 .05 264);--primary: oklch(.4 .1 264);--secondary: oklch(.4 .1 84);--danger: oklch(.5 .05 30);--warning: oklch(.5 .05 100);--success: oklch(.5 .05 160);--info: oklch(.5 .05 260);--shadow-s: inset 0 1px 2px #00000010, 0 1px 2px #00000015, 0 2px 4px #00000010;--shadow-m: inset 0 1px 2px #00000015, 0 2px 4px #00000020, 0 4px 8px #00000015;--shadow-l: inset 0 1px 2px #00000020, 0 4px 6px #00000025, 0 6px 10px #00000015;--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .1), inset 0 -1px 2px rgba(255, 255, 255, .8)}.grid{display:grid}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.w-full{width:100%}.h-full{height:100%}.nav-item{font-size:var(--text-sm);font-weight:500;line-height:var(--leading-tight)}.nav-item-active{font-weight:600}code,.code{font-size:var(--text-sm);font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:var(--bg-dark);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}pre{font-size:var(--text-sm);line-height:var(--leading-relaxed);background:var(--bg-dark);padding:var(--space-4);border-radius:var(--radius-lg);overflow-x:auto}blockquote{font-size:var(--text-lg);line-height:var(--leading-relaxed);font-style:italic;border-left:3px solid var(--primary);padding-left:var(--space-4);margin:var(--space-6) 0;color:var(--text-muted)}@media (min-width: 640px){.grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.grid-cols-4{grid-template-columns:repeat(4,1fr)}}@media (max-width: 480px){h1,.h1{letter-spacing:-.01em}h2,.h2{letter-spacing:0}body{line-height:var(--leading-relaxed)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){:root{--text-muted: var(--text);--border: var(--text);--border-muted: var(--text)}}@media print{:root{--text: #000;--text-muted: #666;--bg-light: #fff}body{font-size:12pt;line-height:1.4}h1,h2,h3,h4,h5,h6{color:#000}}@font-face{font-family:GeneralSans-Extralight;src:url("./media/GeneralSans-Extralight-LX2XK4OL.woff2") format("woff2"),url("./media/GeneralSans-Extralight-3C7ZOSCB.woff") format("woff"),url("./media/GeneralSans-Extralight-Y3TAZK3O.ttf") format("truetype");font-weight:200;font-display:swap;font-style:normal}@font-face{font-family:GeneralSans-ExtralightItalic;src:url("./media/GeneralSans-ExtralightItalic-ZPRXLXPG.woff2") format("woff2"),url("./media/GeneralSans-ExtralightItalic-I2QWD65Y.woff") format("woff"),url("./media/GeneralSans-ExtralightItalic-S2UMABYL.ttf") format("truetype");font-weight:200;font-display:swap;font-style:italic}@font-face{font-family:GeneralSans-Light;src:url("./media/GeneralSans-Light-74WZDOO3.woff2") format("woff2"),url("./media/GeneralSans-Light-QPBKBVRD.woff") format("woff"),url("./media/GeneralSans-Light-BQIUHZQE.ttf") format("truetype");font-weight:300;font-display:swap;font-style:normal}@font-face{font-family:GeneralSans-LightItalic;src:url("./media/GeneralSans-LightItalic-PUC4D2J7.woff2") format("woff2"),url("./media/GeneralSans-LightItalic-P5Z673BF.woff") format("woff"),url("./media/GeneralSans-LightItalic-43TE55EZ.ttf") format("truetype");font-weight:300;font-display:swap;font-style:italic}@font-face{font-family:GeneralSans-Regular;src:url("./media/GeneralSans-Regular-5M4NQDY6.woff2") format("woff2"),url("./media/GeneralSans-Regular-6E2LFRI2.woff") format("woff"),url("./media/GeneralSans-Regular-QOC3OTXN.ttf") format("truetype");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:GeneralSans-Italic;src:url("./media/GeneralSans-Italic-CWI7GM6B.woff2") format("woff2"),url("./media/GeneralSans-Italic-JUIN4EMW.woff") format("woff"),url("./media/GeneralSans-Italic-CNAXTYY3.ttf") format("truetype");font-weight:400;font-display:swap;font-style:italic}@font-face{font-family:GeneralSans-Medium;src:url("./media/GeneralSans-Medium-Y5U3TLJX.woff2") format("woff2"),url("./media/GeneralSans-Medium-XEBR7K5X.woff") format("woff"),url("./media/GeneralSans-Medium-YNHJYNKU.ttf") format("truetype");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:GeneralSans-MediumItalic;src:url("./media/GeneralSans-MediumItalic-WN55HZMX.woff2") format("woff2"),url("./media/GeneralSans-MediumItalic-E6EAEO5O.woff") format("woff"),url("./media/GeneralSans-MediumItalic-MQWJY4QU.ttf") format("truetype");font-weight:500;font-display:swap;font-style:italic}@font-face{font-family:GeneralSans-Semibold;src:url("./media/GeneralSans-Semibold-XUXDDWPR.woff2") format("woff2"),url("./media/GeneralSans-Semibold-LBITB72G.woff") format("woff"),url("./media/GeneralSans-Semibold-75JMWFKE.ttf") format("truetype");font-weight:600;font-display:swap;font-style:normal}@font-face{font-family:GeneralSans-SemiboldItalic;src:url("./media/GeneralSans-SemiboldItalic-XE27Y66Q.woff2") format("woff2"),url("./media/GeneralSans-SemiboldItalic-AFQ6D7DE.woff") format("woff"),url("./media/GeneralSans-SemiboldItalic-HFBHZYUD.ttf") format("truetype");font-weight:600;font-display:swap;font-style:italic}@font-face{font-family:GeneralSans-Bold;src:url("./media/GeneralSans-Bold-VZ4Y7PGT.woff2") format("woff2"),url("./media/GeneralSans-Bold-B2L2RQWE.woff") format("woff"),url("./media/GeneralSans-Bold-TMG7YK4I.ttf") format("truetype");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:GeneralSans-BoldItalic;src:url("./media/GeneralSans-BoldItalic-DXDGMNTC.woff2") format("woff2"),url("./media/GeneralSans-BoldItalic-VHYGIZII.woff") format("woff"),url("./media/GeneralSans-BoldItalic-7FSFCKEI.ttf") format("truetype");font-weight:700;font-display:swap;font-style:italic}@font-face{font-family:GeneralSans-Variable;src:url("./media/GeneralSans-Variable-3FJSWOFA.woff2") format("woff2"),url("./media/GeneralSans-Variable-LIGW32QM.woff") format("woff"),url("./media/GeneralSans-Variable-YRDTRYWW.ttf") format("truetype");font-weight:200 700;font-display:swap;font-style:normal}@font-face{font-family:GeneralSans-VariableItalic;src:url("./media/GeneralSans-VariableItalic-S77XH3OB.woff2") format("woff2"),url("./media/GeneralSans-VariableItalic-F2BDBM4E.woff") format("woff"),url("./media/GeneralSans-VariableItalic-CABKA4GN.ttf") format("truetype");font-weight:200 700;font-display:swap;font-style:italic}
