@charset "UTF-8";:root{--sp-primary: #0d9488;--sp-primary-light: #14b8a6;--sp-primary-dark: #0f766e;--sp-primary-50: #f0fdfa;--sp-primary-100: #ccfbf1;--sp-primary-500: #14b8a6;--sp-primary-600: #0d9488;--sp-primary-700: #0f766e;--sp-white: #ffffff;--sp-gray-25: #fcfcfd;--sp-gray-50: #f9fafb;--sp-gray-100: #f2f4f7;--sp-gray-200: #eaecf0;--sp-gray-300: #d0d5dd;--sp-gray-400: #98a2b3;--sp-gray-500: #667085;--sp-gray-600: #475467;--sp-gray-700: #344054;--sp-gray-800: #1d2939;--sp-gray-900: #101828;--sp-gray-950: #0c111d;--sp-success: #12b76a;--sp-success-light: #d1fadf;--sp-success-dark: #039855;--sp-warning: #f79009;--sp-warning-light: #fef0c7;--sp-warning-dark: #dc6803;--sp-danger: #f04438;--sp-danger-light: #fecdca;--sp-danger-dark: #b42318;--sp-info: #2e90fa;--sp-info-light: #d1e9ff;--sp-info-dark: #175cd3;--sp-bg: #f9fafb;--sp-bg-subtle: #f2f4f7;--sp-surface: #ffffff;--sp-surface-raised: #ffffff;--sp-surface-overlay: #ffffff;--sp-surface-sunken: #f9fafb;--sp-text: #101828;--sp-text-secondary: #475467;--sp-text-muted: #667085;--sp-text-faint: #98a2b3;--sp-text-inverse: #ffffff;--sp-text-link: #0d9488;--sp-on-solid: #ffffff;--sp-table-stripe: #f9fafb;--sp-border: #eaecf0;--sp-border-strong: #d0d5dd;--sp-border-focus: #0d9488;--sp-focus-ring: 0 0 0 4px rgba(13, 148, 136, .16);--sp-shadow-xs: 0 1px 2px rgba(16, 24, 40, .05);--sp-shadow-sm: 0 1px 3px rgba(16, 24, 40, .1), 0 1px 2px rgba(16, 24, 40, .06);--sp-shadow-md: 0 4px 8px -2px rgba(16, 24, 40, .1), 0 2px 4px -2px rgba(16, 24, 40, .06);--sp-shadow-lg: 0 12px 16px -4px rgba(16, 24, 40, .08), 0 4px 6px -2px rgba(16, 24, 40, .03);--sp-shadow-xl: 0 20px 24px -4px rgba(16, 24, 40, .08), 0 8px 8px -4px rgba(16, 24, 40, .03);--sp-radius-xs: 4px;--sp-radius-sm: 6px;--sp-radius-md: 8px;--sp-radius-lg: 12px;--sp-radius-xl: 16px;--sp-radius-2xl: 20px;--sp-radius-full: 9999px;--sp-space-0: 0;--sp-space-1: 4px;--sp-space-2: 8px;--sp-space-3: 12px;--sp-space-4: 16px;--sp-space-5: 20px;--sp-space-6: 24px;--sp-space-8: 32px;--sp-space-10: 40px;--sp-space-12: 48px;--sp-font: "Plus Jakarta Sans", "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sp-font-mono: "IBM Plex Mono", "JetBrains Mono", monospace;--sp-text-xs: .75rem;--sp-text-sm: .8125rem;--sp-text-base: .875rem;--sp-text-lg: 1rem;--sp-text-xl: 1.125rem;--sp-text-2xl: 1.25rem;--sp-text-3xl: 1.5rem;--sp-leading-tight: 1.25;--sp-leading-normal: 1.5;--sp-leading-relaxed: 1.625;--sp-sidebar-width: 260px;--sp-sidebar-collapsed: 72px;--sp-topbar-height: 56px;--sp-content-max-width: 1400px;--sp-duration-fast: .1s;--sp-duration-normal: .15s;--sp-duration-slow: .25s;--sp-duration-slower: .35s;--sp-ease: cubic-bezier(.4, 0, .2, 1);--sp-ease-in: cubic-bezier(.4, 0, 1, 1);--sp-ease-out: cubic-bezier(0, 0, .2, 1);--sp-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--sp-teal-600: var(--sp-primary);--sp-teal-700: var(--sp-primary-dark);--sp-navy-900: var(--sp-gray-900);--sp-navy-600: var(--sp-gray-600);--sp-navy-500: var(--sp-gray-500);--sp-blue: var(--sp-info);--sp-orange: var(--sp-warning);--sp-danger-color: var(--sp-danger);--sp-ink: var(--sp-text);--sp-muted: var(--sp-text-muted);--sp-surface-color: var(--sp-surface);--sp-canvas: var(--sp-bg);--sp-radius: var(--sp-radius-md);--sp-shadow-sm: var(--sp-shadow-sm);--sp-shadow-md: var(--sp-shadow-lg);--sp-font-family: var(--sp-font);--sp-card-pad: var(--sp-space-4);--sp-form-gap-y: var(--sp-space-2);--sp-form-gap-x: var(--sp-space-3);--sp-input-height: 36px;--sp-input-pad-y: var(--sp-space-2);--sp-input-pad-x: var(--sp-space-3);--sp-page-header-mb: var(--sp-space-5);--sp-content-pad: var(--sp-space-5) var(--sp-space-6) var(--sp-space-6);--sp-spacer: var(--sp-space-3);--sp-toast-pad: var(--sp-space-3) var(--sp-space-4);--sp-section-gap: var(--sp-space-4);--sp-modal-pad: var(--sp-space-5) var(--sp-space-6)}[data-theme=dark]{--sp-bg: #111318;--sp-bg-subtle: #1a1d24;--sp-surface: #1e2028;--sp-surface-raised: #232530;--sp-surface-overlay: #2a2d38;--sp-surface-sunken: #16181d;--sp-text: #f2f4f7;--sp-text-secondary: #d0d5dd;--sp-text-muted: #98a2b3;--sp-text-faint: #667085;--sp-text-inverse: #101828;--sp-text-link: #14b8a6;--sp-on-solid: #ffffff;--sp-table-stripe: #232530;--sp-border: #2e3140;--sp-border-strong: #3b3f52;--sp-border-focus: #14b8a6;--sp-focus-ring: 0 0 0 4px rgba(20, 184, 166, .24);--sp-shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--sp-shadow-sm: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--sp-shadow-md: 0 4px 8px -2px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--sp-shadow-lg: 0 12px 16px -4px rgba(0, 0, 0, .35), 0 4px 6px -2px rgba(0, 0, 0, .2);--sp-shadow-xl: 0 20px 24px -4px rgba(0, 0, 0, .35), 0 8px 8px -4px rgba(0, 0, 0, .2);--sp-primary-50: #0d3d38;--sp-success-light: #054b32;--sp-warning-light: #4a3000;--sp-danger-light: #4a1612;--sp-info-light: #0c2d5a}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}app-root{display:block;height:100%}html{font-size:var(--sp-root-font-size, 16px)}body{font-family:var(--sp-font);font-size:var(--sp-text-base);line-height:var(--sp-leading-normal);color:var(--sp-text);background:var(--sp-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}a{color:var(--sp-text-link);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}:focus-visible{outline:2px solid var(--sp-border-focus);outline-offset:2px;border-radius:var(--sp-radius-sm)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}label span{display:inline-block;margin-bottom:var(--sp-space-1);font-size:var(--sp-text-xs);font-weight:600;color:var(--sp-text-secondary);letter-spacing:.01em}input,select,textarea{width:100%;border:1px solid var(--sp-border);border-radius:var(--sp-radius-md);background:var(--sp-surface);color:var(--sp-text);min-height:var(--sp-input-height);padding:var(--sp-input-pad-y) var(--sp-input-pad-x);font-size:var(--sp-text-sm);line-height:1.4;transition:border-color var(--sp-duration-normal) var(--sp-ease),box-shadow var(--sp-duration-normal) var(--sp-ease),background-color var(--sp-duration-normal) var(--sp-ease)}input::placeholder,textarea::placeholder{color:var(--sp-text-faint)}input:hover,select:hover,textarea:hover{border-color:var(--sp-border-strong)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sp-border-focus);box-shadow:var(--sp-focus-ring)}input:disabled,input[readonly],select:disabled,textarea:disabled{background:var(--sp-bg-subtle);color:var(--sp-text-muted);cursor:not-allowed}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:32px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-form-gap-y) var(--sp-form-gap-x)}.form-grid.dense{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid .span-2{grid-column:span 2}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:var(--sp-space-2);flex-wrap:wrap;margin-top:var(--sp-space-1)}.btn{appearance:none;border:1px solid transparent;border-radius:var(--sp-radius-md);padding:var(--sp-space-2) var(--sp-space-4);font-weight:600;font-size:var(--sp-text-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-space-2);line-height:1.2;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all var(--sp-duration-normal) var(--sp-ease)}.btn:hover{transform:translateY(-1px);box-shadow:var(--sp-shadow-sm)}.btn:active{transform:translateY(0);box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn:focus-visible{outline:2px solid var(--sp-border-focus);outline-offset:2px}.btn-primary{background:var(--sp-primary);color:var(--sp-on-solid);box-shadow:0 1px 2px #0d94883d}.btn-primary:hover{background:var(--sp-primary-dark);box-shadow:0 2px 4px #0d948852}.btn-navy{background:var(--sp-gray-800);color:var(--sp-on-solid)}.btn-navy:hover{background:var(--sp-gray-900)}[data-theme=dark] .btn-navy{background:#3b3f52;color:var(--sp-on-solid)}[data-theme=dark] .btn-navy:hover{background:#4a4f66}.btn-info{background:var(--sp-info);color:var(--sp-on-solid)}.btn-info:hover{background:var(--sp-info-dark)}.btn-warn{background:var(--sp-warning);color:var(--sp-on-solid)}.btn-warn:hover{background:var(--sp-warning-dark)}.btn-danger{background:var(--sp-danger);color:var(--sp-on-solid)}.btn-danger:hover{background:var(--sp-danger-dark)}.btn-ghost{background:var(--sp-surface);border-color:var(--sp-border);color:var(--sp-text-secondary)}.btn-ghost:hover{background:var(--sp-bg-subtle);border-color:var(--sp-border-strong)}.btn-outline{background:transparent;border-color:var(--sp-border);color:var(--sp-text-secondary)}.btn-outline:hover{background:var(--sp-bg-subtle);border-color:var(--sp-border-strong)}.btn-sm{padding:var(--sp-space-1) var(--sp-space-3);font-size:var(--sp-text-xs);border-radius:var(--sp-radius-sm)}.btn-lg{padding:var(--sp-space-3) var(--sp-space-5);font-size:var(--sp-text-base);border-radius:var(--sp-radius-lg)}.btn-block{width:100%}.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--sp-radius-md);display:inline-flex;align-items:center;justify-content:center}.btn-icon.btn-sm{width:28px;height:28px}.spacer{height:var(--sp-spacer)}.toast{margin:0 0 var(--sp-space-3);padding:var(--sp-toast-pad);border-radius:var(--sp-radius-lg);background:var(--sp-success-light);color:var(--sp-success-dark);font-weight:600;font-size:var(--sp-text-sm);display:flex;align-items:center;gap:var(--sp-space-2)}.toast.error,.toast.danger{background:var(--sp-danger-light);color:var(--sp-danger-dark)}.toast.warning{background:var(--sp-warning-light);color:var(--sp-warning-dark)}.toast.info{background:var(--sp-info-light);color:var(--sp-info-dark)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--sp-gray-300);border-radius:var(--sp-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--sp-gray-400)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--sp-gray-600)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--sp-gray-500)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--sp-duration-slow) var(--sp-ease-out)}.animate-fade-in-up{animation:fadeInUp var(--sp-duration-slow) var(--sp-ease-out)}.animate-slide-in-right{animation:slideInRight var(--sp-duration-slow) var(--sp-ease-out)}.animate-scale-in{animation:scaleIn var(--sp-duration-normal) var(--sp-ease-spring)}.skeleton{background:linear-gradient(90deg,var(--sp-bg-subtle) 25%,var(--sp-gray-200) 50%,var(--sp-bg-subtle) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--sp-radius-sm)}[data-theme=dark] .skeleton{background:linear-gradient(90deg,var(--sp-gray-800) 25%,var(--sp-gray-700) 50%,var(--sp-gray-800) 75%);background-size:200% 100%}.spinner{width:20px;height:20px;border:2px solid var(--sp-border);border-top-color:var(--sp-primary);border-radius:50%;animation:spin .6s linear infinite}.spinner-sm{width:16px;height:16px;border-width:1.5px}.spinner-lg{width:32px;height:32px;border-width:3px}@media(min-width:768px)and (max-width:1199px){.form-grid,.form-grid.dense{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767px){.form-grid,.form-grid.dense{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
