:root{--color-primary:#d31245;--color-primary-hover:#b30f3a;--color-primary-active:#940c30;--color-structure:#06162f;--color-structure-light:#0a2044;--color-text-main:#4a4a4a;--color-brand-grey:#929292;--color-text-secondary:#647080;--color-text-muted:#647080;--color-text-inverse:#fff;--color-success:#1b9476;--color-success-bg:#e8f4f1;--color-danger:#d31245;--color-danger-hover:#b30f3a;--color-danger-bg:#fbe7ec;--color-warning:#956000;--color-warning-bg:#fef6e9;--color-info:#244b74;--color-info-bg:#e5f2ff;--color-nav-text-idle:#a0aec0;--shadow-focus-primary:0 0 0 3px #d3124533;--color-bg-page:#f4f6f8;--color-surface:#fff;--color-overlay:#06162f80;--color-border:#dce2e9;--color-border-focus:#d31245;--color-disabled:#f5f5f5;--color-disabled-text:#67717e;--font-family-base:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-sm:13px;--font-size-md:14px;--font-size-base:14px;--font-size-lg:17px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--line-height-sm:18px;--line-height-md:20px;--line-height-base:24px;--line-height-lg:24px;--line-height-xl:28px;--line-height-2xl:32px;--line-height-3xl:36px;--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;--radius-sm:5px;--radius-md:8px;--radius-lg:8px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000000d, 0 1px 3px #0000001a;--transition-fast:.15s ease;--transition-normal:.25s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-base);color:var(--color-text-main);background-color:var(--color-bg-page);font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}body{min-width:320px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{min-width:0;max-width:100%}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:40px;color:var(--color-structure);background:#fff;padding:9px 12px}input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--color-primary);vertical-align:middle;flex-shrink:0}textarea{resize:vertical;min-height:96px}input:disabled,select:disabled,textarea:disabled{background:var(--color-disabled)}label{color:var(--color-structure);font-weight:550}.workspace-page.workspace-page{width:100%;min-width:0;max-width:1440px;color:var(--color-text-main);margin:0 auto;padding:0}.workspace-page h1,.workspace-page>.page-header h2{letter-spacing:-.6px;color:var(--color-structure);font-size:clamp(23px,2vw,29px);font-weight:650;line-height:1.3}.workspace-page h2{color:var(--color-structure);font-size:19px;line-height:1.4}.workspace-page h3{color:var(--color-structure);margin-bottom:12px;font-size:16px;line-height:1.5}.workspace-page .page-intro{color:var(--color-text-secondary);max-width:780px;margin:8px 0 24px;line-height:1.6}.workspace-page .page-header{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:flex-start;gap:12px 24px;margin-bottom:24px;padding-bottom:20px}.workspace-page .page-header__action{flex-wrap:wrap}.workspace-page .page-heading .page-intro{margin-bottom:0}.workspace-page :is(.filters,.filters-bar,.filter-bar,.filter-form){border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;flex-wrap:wrap;align-items:flex-end;gap:16px;margin:20px 0;padding:20px;display:flex}.workspace-page :is(.filters,.filters-bar,.filter-bar)>:is(div,label){flex:160px;min-width:0}.workspace-page :is(.filters,.filters-bar,.filter-bar) input,.workspace-page :is(.filters,.filters-bar,.filter-bar) select{min-width:135px}.workspace-page .field-label{gap:6px;font-size:13px;display:grid}.workspace-page .table-region{overscroll-behavior-x:contain;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;width:100%;margin:16px 0;overflow-x:auto}.workspace-page .table-region table{border-collapse:collapse;width:100%;margin:0;font-size:14px;line-height:1.5}.workspace-page .table-region th{border:0;border-bottom:1px solid var(--color-border);color:#526071;text-align:left;white-space:nowrap;background:#f0f3f6;padding:12px 16px;font-size:12px;font-weight:650}.workspace-page .table-region td{vertical-align:middle;border:0;border-bottom:1px solid #eaf0f4;padding:13px 16px}.workspace-page .table-region tbody tr:last-child td{border-bottom:0}.workspace-page .table-region tbody tr:hover{background:#f8fafb}.workspace-page .table-region td:first-child{color:var(--color-structure);font-weight:550}.workspace-page :is(.btn,button:not(.app-button):not(.app-modal__close)){border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:38px;color:var(--color-structure);background:#fff;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;line-height:20px;text-decoration:none;display:inline-flex}.workspace-page :is(button.primary,.btn-primary){background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.workspace-page :is(button.danger,.btn-danger){color:var(--color-danger);background:var(--color-danger-bg);border-color:#f2c4d0}.workspace-page button:hover:not(:disabled){filter:brightness(.97)}.workspace-page .table-region :is(button,.btn,.app-button){min-height:34px;color:var(--color-structure);border-color:var(--color-border);white-space:nowrap;background:0 0;margin:2px;padding:6px 10px}.workspace-page .table-region :is(.danger,.btn-danger,.app-button--danger){color:var(--color-danger);border-color:#f2c4d0}.workspace-page :is(.pagination,.form-actions,.modal-actions,.actions){flex-wrap:wrap;align-items:center;gap:8px;display:flex}.workspace-page .pagination{justify-content:flex-end;margin-top:16px}.workspace-page :is(.form-group,.form-field){min-width:0;margin-bottom:16px}.workspace-page :is(.form-group,.form-field)>label{margin-bottom:6px;font-size:13px;display:block}.workspace-page :is(.form-group,.form-field)>:is(input:not([type=checkbox]):not([type=radio]),textarea,select){width:100%}.workspace-page :is(.card,.panel,.form-card,.app-card){border:1px solid var(--color-border);box-shadow:none;border-radius:var(--radius-md);background:#fff;padding:24px}.workspace-page :is(.error,.error-message){border-left:3px solid var(--color-danger);background:var(--color-danger-bg);color:#921032;border-radius:4px;margin:16px 0;padding:12px 16px}.workspace-page :is(.success,.success-message){border-left:3px solid var(--color-success);background:var(--color-success-bg);color:#12604e;border-radius:4px;margin:16px 0;padding:12px 16px}.workspace-page :is(.loading,.empty-state,.empty-message){text-align:center;color:var(--color-text-secondary);padding:32px 20px}.workspace-page :is(.modal,.modal-overlay){background:var(--color-overlay);z-index:1000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.workspace-page :is(.modal-content,.modal-card){border-radius:var(--radius-md);background:#fff;width:min(680px,100%);max-height:calc(100dvh - 40px);padding:28px;overflow-y:auto;box-shadow:0 16px 60px #06162f25}.workspace-page .modal-actions{border-top:1px solid var(--color-border);justify-content:flex-end;margin-top:24px;padding-top:20px}.workspace-page ul{padding-left:22px}.workspace-page :is(.stats-grid,.kpi-grid){gap:16px}.workspace-page :is(.stat-card,.kpi-card){border:1px solid var(--color-border);border-top:3px solid var(--color-structure);box-shadow:none;background:#fff;border-radius:5px;padding:20px}.workspace-page :is(.stat-value,.kpi-value){color:var(--color-structure);font-variant-numeric:tabular-nums;font-size:30px;font-weight:650}.workspace-page .teacher-overview{border-left:3px solid var(--color-primary);grid-template-columns:2fr 1fr 1fr;gap:14px 24px;display:grid}.teacher-overview h2,.teacher-overview .teacher-context{grid-column:1/-1}.teacher-overview .teacher-context{color:var(--color-text-secondary);border-top:1px solid var(--color-border);padding-top:12px;font-size:13px}.teacher-overview .teacher-metric strong{color:var(--color-text-secondary);font-size:13px;font-weight:500;display:block}.teacher-overview .teacher-metric span{color:var(--color-structure);font-size:27px;font-weight:650}.workspace-page .attendance-choice{border:1px solid var(--color-border);white-space:nowrap;cursor:pointer;border-radius:5px;align-items:center;gap:8px;padding:9px 12px;font-weight:500;display:inline-flex}.workspace-page .attendance-choice:has(input:checked){color:#12604e;background:#e8f4f1;border-color:#1b9476}.workspace-page .attendance-choice.absent:has(input:checked){color:#921032;background:#fbe7ec;border-color:#d31245}.workspace-page .attendance-choice.late:has(input:checked){color:#795000;background:#fef6e9;border-color:#956000}.workspace-page .attendance-actions{border:1px solid var(--color-border);box-shadow:var(--shadow-sm);background:#fff;border-radius:6px;gap:8px;margin-top:20px;padding:16px;display:flex;position:sticky;bottom:12px}.auth-identity{background:var(--color-structure);color:#fff;flex-direction:column;justify-content:space-between;align-self:stretch;padding:52px;display:flex}.auth-wordmark{letter-spacing:-3px;font-size:48px;font-weight:800;line-height:1}.auth-wordmark span{letter-spacing:1.2px;color:#b8c6d9;margin-top:16px;font-size:10px;font-weight:500;line-height:1.6;display:block}.auth-eyebrow,.auth-section-label{letter-spacing:1.8px;margin-bottom:16px;font-size:11px;font-weight:650}.auth-identity h2{max-width:270px;margin-bottom:16px;font-size:29px;font-weight:550;line-height:1.25}.auth-identity p:not(.auth-eyebrow),.auth-identity small{color:#b8c6d9;font-size:13px}.auth-identity small{font-size:11px}#app-root :is(.login-container,.first-login-container,.forgot-password-container,.reset-password-container,.forgot-container,.reset-container){background:#fff;grid-template-columns:minmax(320px,.85fr) minmax(400px,1.15fr);align-items:center;min-height:100dvh;padding:0;display:grid}#app-root :is(.login-card,.first-login-card,.forgot-password-card,.reset-password-card,.forgot-card,.reset-card){width:min(440px,100%);max-width:440px;box-shadow:none;background:#fff;border:0;margin:40px auto;padding:32px}#app-root :is(.login-title,.first-login-title,.forgot-password-title,.reset-password-title,.forgot-title,.reset-title){text-align:left;color:var(--color-structure);letter-spacing:-.6px;margin-bottom:24px;font-size:29px;font-weight:650;line-height:1.25}.auth-section-label{color:var(--color-text-secondary)}#app-root :is(.first-login-desc,.forgot-desc,.reset-desc){text-align:left;font-size:14px}.app-modal .app-modal__close{min-width:36px;min-height:36px}.app-alert--success{color:#12604e}.workspace-page .layout-row{flex-wrap:wrap;gap:12px;display:flex}.workspace-page .layout-grid{gap:20px;display:grid}.workspace-page .columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-page .align-center{align-items:center}.workspace-page .justify-between{justify-content:space-between}.workspace-page .flex-fill{flex:1;min-width:0}.workspace-page .surface{border:1px solid var(--color-border);background:#fff;border-radius:8px;padding:20px}.workspace-page .surface-muted{background:#f0f3f6;border-radius:5px;padding:12px}.workspace-page .stack>*+*{margin-top:16px}.workspace-page .text-muted{color:var(--color-text-secondary);font-size:13px}.workspace-page .text-emphasis{color:var(--color-structure);font-weight:600}.workspace-page .text-error{color:#921032}.workspace-page .text-success{color:#12604e}.workspace-page .text-link{color:var(--color-primary)}.workspace-page .text-small{font-size:13px}.workspace-page .text-large{font-size:24px}.workspace-page .space-after{margin-bottom:24px}.workspace-page .section-divider{border-top:1px solid var(--color-border);margin-top:24px;padding-top:24px}.workspace-page .section-heading{border-bottom:1px solid var(--color-border);margin-bottom:20px;padding-bottom:12px}.workspace-page .field-block{margin-bottom:6px;display:block}.workspace-page .status-label{color:#394d64;background:#edf1f6;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:550;line-height:20px;display:inline-block}.workspace-page .news-row,.workspace-page .notification-row,.workspace-page .search-result{border:1px solid var(--color-border);background:#fff;border-radius:6px;margin-bottom:12px;padding:20px 24px}.workspace-page .news-row,.workspace-page .notification-row,.workspace-page .search-result[role=link]{cursor:pointer}.workspace-page :is(.news-row,.notification-row,.search-result[role=link]):hover{background:#fafbfc;border-color:#aab8c9}.workspace-page .news-row h2{margin-bottom:8px;font-size:18px}.workspace-page .notification-row--unread{border-left:3px solid var(--color-primary)}.workspace-page .notification-row--read{color:var(--color-text-secondary)}.workspace-page .notification-date{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;font-size:12px;display:flex}.workspace-page .main-panel{min-width:0}.workspace-page .tab-button.tab-button--active{color:var(--color-structure);background:#edf1f6;border-color:#aab8c9}.workspace-page .form-panel{border-left:3px solid var(--color-primary)}.workspace-page .form-section{border:0;margin:0 0 28px;padding:0}.workspace-page .form-section legend{color:var(--color-structure);padding:0 0 16px;font-size:16px;font-weight:650}.workspace-page .account-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;display:grid}.workspace-page .form-section-title{border-bottom:1px solid var(--color-border);grid-column:1/-1;margin:12px 0 4px;padding-bottom:10px}.workspace-page .search-box{width:min(420px,100%)}.workspace-page .actions-bar{flex-wrap:wrap;align-items:flex-start;gap:16px}.workspace-page .tab-btn.active{color:var(--color-structure);border-bottom:3px solid var(--color-primary);background:#edf1f6}.workspace-page img{max-width:100%;height:auto}.workspace-page .whitespace-pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere;max-width:80ch;line-height:1.8}.workspace-page .form-container{max-width:960px}.workspace-page .form-container>form{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;display:grid}.workspace-page .form-container>form>:is(.actions,.form-actions,button,h3,p,.form-group:has(textarea)){grid-column:1/-1}.workspace-page .import-workspace{max-width:920px}.workspace-page.workspace-page button.primary,.workspace-page.workspace-page .btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.workspace-page.workspace-page button.danger,.workspace-page.workspace-page .btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:#f2c4d0}.workspace-page .counters{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:12px 24px;margin-bottom:16px;padding:16px 0;list-style:none;display:flex}.workspace-page .dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;display:grid}.workspace-page .dashboard-grid h4{color:var(--color-text-secondary);margin-bottom:16px;font-size:13px;font-weight:500}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=760px){.workspace-page .columns-2,.workspace-page .account-form-grid,.workspace-page .form-container>form{grid-template-columns:1fr}.workspace-page :is(.header-section,.section-header,.panel-header){flex-wrap:wrap;gap:16px}.workspace-page .tabs-nav{flex-flow:wrap;gap:8px;display:flex}.workspace-page .tabs-nav .tab-button{width:auto}.workspace-page .main-panel{padding:16px}}.mb-4{margin-bottom:16px}.mb-2{margin-bottom:8px}.mr-2{margin-right:8px}.ml-2{margin-left:8px}.w-full{width:100%}@media (width<=760px){.workspace-page .page-header{flex-direction:column}.workspace-page :is(.filters,.filters-bar,.filter-bar){padding:16px}.workspace-page :is(.filters,.filters-bar,.filter-bar)>:is(input,select,div,label){flex-basis:100%;width:100%}.workspace-page :is(.form-grid,.grid-2,.two-columns,.teacher-overview){grid-template-columns:1fr}.workspace-page :is(.card,.panel,.form-card,.app-card){padding:16px}.workspace-page .table-region table{min-width:580px}.workspace-page :is(.modal-content,.modal-card){padding:20px}#app-root :is(.login-container,.first-login-container,.forgot-password-container,.reset-password-container,.forgot-container,.reset-container){flex-direction:column;align-items:stretch;display:flex}.auth-identity{gap:20px;padding:24px}.auth-wordmark{font-size:34px}.auth-wordmark span{display:none}.auth-identity h2{max-width:none;margin-bottom:0;font-size:20px}.auth-identity :is(small,.auth-eyebrow),.auth-identity p:not(.auth-eyebrow){display:none}#app-root :is(.login-card,.first-login-card,.forgot-password-card,.reset-password-card,.forgot-card,.reset-card){margin:24px auto;padding:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.app-button[data-v-ca37fca1]{border-radius:var(--radius-md);cursor:pointer;min-height:38px;transition:background-color var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;font-weight:500;display:inline-flex}.app-button[data-v-ca37fca1]:disabled{opacity:.6;cursor:not-allowed}.app-button--sm[data-v-ca37fca1]{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);line-height:var(--line-height-sm);border-radius:var(--radius-sm)}.app-button--md[data-v-ca37fca1]{padding:var(--space-2) var(--space-4);font-size:var(--font-size-md);line-height:var(--line-height-md)}.app-button--lg[data-v-ca37fca1]{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);line-height:var(--line-height-base)}.app-button--primary[data-v-ca37fca1]{background-color:var(--color-primary);color:var(--color-text-inverse)}.app-button--primary[data-v-ca37fca1]:hover:not(:disabled){background-color:var(--color-primary-hover)}.app-button--primary[data-v-ca37fca1]:active:not(:disabled){background-color:var(--color-primary-active)}.app-button--secondary[data-v-ca37fca1]{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-structure)}.app-button--secondary[data-v-ca37fca1]:hover:not(:disabled){background-color:var(--color-bg-page)}.app-button--outline[data-v-ca37fca1]{border-color:var(--color-border);color:var(--color-text-main);background-color:#0000}.app-button--outline[data-v-ca37fca1]:hover:not(:disabled){border-color:var(--color-text-secondary);background-color:var(--color-bg-page)}.app-button--danger[data-v-ca37fca1]{background-color:var(--color-danger);color:var(--color-text-inverse)}.app-button--danger[data-v-ca37fca1]:hover:not(:disabled){background-color:var(--color-danger-hover)}.app-button--ghost[data-v-ca37fca1]{color:var(--color-text-main);background-color:#0000}.app-button--ghost[data-v-ca37fca1]:hover:not(:disabled){background-color:var(--color-bg-page)}.app-card[data-v-b8812349]{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.app-card__header[data-v-b8812349]{padding:var(--space-4);border-bottom:1px solid var(--color-border);font-weight:600;font-size:var(--font-size-lg)}.app-card__body[data-v-b8812349]{padding:var(--space-4)}.app-card__footer[data-v-b8812349]{padding:var(--space-4);background-color:var(--color-bg-page);border-top:1px solid var(--color-border)}.app-badge[data-v-29ee412d]{padding:2px var(--space-2);font-size:var(--font-size-sm);font-weight:500;line-height:var(--line-height-sm);border-radius:4px;align-items:center;display:inline-flex}.app-badge--neutral[data-v-29ee412d]{background-color:var(--color-disabled);color:var(--color-text-main)}.app-badge--success[data-v-29ee412d]{background-color:var(--color-success-bg);color:#12604e}.app-badge--warning[data-v-29ee412d]{background-color:var(--color-warning-bg);color:var(--color-warning)}.app-badge--danger[data-v-29ee412d]{background-color:var(--color-danger-bg);color:var(--color-danger)}.app-badge--info[data-v-29ee412d]{background-color:var(--color-info-bg);color:var(--color-info)}.app-alert[data-v-330db8bf]{padding:var(--space-4);border-radius:var(--radius-sm);border-left:4px solid #0000}.app-alert__title[data-v-330db8bf]{margin-bottom:var(--space-2);font-weight:600}.app-alert__content[data-v-330db8bf]{font-size:var(--font-size-md)}.app-alert--info[data-v-330db8bf]{background-color:var(--color-info-bg);border-left-color:var(--color-info);color:var(--color-text-main)}.app-alert--success[data-v-330db8bf]{background-color:var(--color-success-bg);border-left-color:var(--color-success);color:var(--color-text-main)}.app-alert--warning[data-v-330db8bf]{background-color:var(--color-warning-bg);border-left-color:var(--color-warning);color:var(--color-text-main)}.app-alert--danger[data-v-330db8bf]{background-color:var(--color-danger-bg);border-left-color:var(--color-danger);color:var(--color-danger)}.app-input-wrapper[data-v-80ae9764]{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.app-input__label[data-v-80ae9764]{font-size:var(--font-size-sm);color:var(--color-text-main);font-weight:500}.app-input[data-v-80ae9764]{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);transition:border-color var(--transition-fast);background-color:var(--color-surface)}.app-input[data-v-80ae9764]:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus-primary);outline:none}.app-input[data-v-80ae9764]:disabled{background-color:var(--color-disabled);color:var(--color-disabled-text);cursor:not-allowed}.app-input--error[data-v-80ae9764]{border-color:var(--color-danger)}.app-input--error[data-v-80ae9764]:focus{box-shadow:var(--shadow-focus-primary)}.app-input__error[data-v-80ae9764]{font-size:var(--font-size-sm);color:var(--color-danger)}.app-select-wrapper[data-v-90eb6398]{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.app-select__label[data-v-90eb6398]{font-size:var(--font-size-sm);color:var(--color-text-main);font-weight:500}.app-select[data-v-90eb6398]{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);transition:border-color var(--transition-fast);background-color:var(--color-surface);appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%208l5%205%205-5%22%20stroke%3D%22%234A4A4A%22%20stroke-width%3D%222%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E);background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.app-select[data-v-90eb6398]:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus-primary);outline:none}.app-select[data-v-90eb6398]:disabled{background-color:var(--color-disabled);color:var(--color-disabled-text);cursor:not-allowed}.app-select--error[data-v-90eb6398]{border-color:var(--color-danger)}.app-select--error[data-v-90eb6398]:focus{box-shadow:var(--shadow-focus-primary)}.app-select__error[data-v-90eb6398]{font-size:var(--font-size-sm);color:var(--color-danger)}.app-textarea-wrapper[data-v-2aea4b2f]{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.app-textarea__label[data-v-2aea4b2f]{font-size:var(--font-size-sm);color:var(--color-text-main);font-weight:500}.app-textarea[data-v-2aea4b2f]{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);transition:border-color var(--transition-fast);background-color:var(--color-surface);resize:vertical}.app-textarea[data-v-2aea4b2f]:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus-primary);outline:none}.app-textarea[data-v-2aea4b2f]:disabled{background-color:var(--color-disabled);color:var(--color-disabled-text);cursor:not-allowed}.app-textarea--error[data-v-2aea4b2f]{border-color:var(--color-danger)}.app-textarea--error[data-v-2aea4b2f]:focus{box-shadow:var(--shadow-focus-primary)}.app-textarea__error[data-v-2aea4b2f]{font-size:var(--font-size-sm);color:var(--color-danger)}.app-modal-backdrop[data-v-c6c8fcdc]{background-color:var(--color-overlay);z-index:1000;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-modal[data-v-c6c8fcdc]{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;width:100%;max-width:640px;max-height:90vh;display:flex}.app-modal__header[data-v-c6c8fcdc]{padding:var(--space-4);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.app-modal__title[data-v-c6c8fcdc]{font-size:var(--font-size-lg);color:var(--color-structure);font-weight:600}.app-modal__close[data-v-c6c8fcdc]{cursor:pointer;color:var(--color-text-secondary);transition:color var(--transition-fast);background:0 0;border:none;font-size:24px;line-height:1}.app-modal__close[data-v-c6c8fcdc]:hover{color:var(--color-danger)}.app-modal__close[data-v-c6c8fcdc]:focus-visible{outline:2px solid var(--color-primary);border-radius:var(--radius-sm)}.app-modal__body[data-v-c6c8fcdc]{padding:var(--space-4);overflow-y:auto}.app-modal__footer[data-v-c6c8fcdc]{padding:var(--space-4);border-top:1px solid var(--color-border);justify-content:flex-end;gap:var(--space-2);display:flex}.app-spinner-wrapper[data-v-5ec6cecb]{justify-content:center;align-items:center;display:inline-flex}.app-spinner[data-v-5ec6cecb]{color:var(--color-primary);animation:1s linear infinite spin-5ec6cecb}.app-spinner--sm[data-v-5ec6cecb]{width:16px;height:16px}.app-spinner--md[data-v-5ec6cecb]{width:24px;height:24px}.app-spinner--lg[data-v-5ec6cecb]{width:32px;height:32px}.app-spinner__track[data-v-5ec6cecb]{opacity:.25}.app-spinner__head[data-v-5ec6cecb]{opacity:.75}.sr-only[data-v-5ec6cecb]{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes spin-5ec6cecb{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.app-spinner[data-v-5ec6cecb]{animation:none}}.empty-state[data-v-c87f3e5d]{padding:var(--space-10) var(--space-4);text-align:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state__title[data-v-c87f3e5d]{font-size:var(--font-size-lg);color:var(--color-structure);margin-bottom:var(--space-2);font-weight:600}.empty-state__description[data-v-c87f3e5d]{font-size:var(--font-size-base);color:var(--color-text-secondary);max-width:400px;margin-bottom:var(--space-4)}.empty-state__action[data-v-c87f3e5d]{margin-top:var(--space-2)}.page-header[data-v-efd71f22]{gap:var(--space-4);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}@media (width>=768px){.page-header[data-v-efd71f22]{flex-direction:row;justify-content:space-between;align-items:flex-start}}.page-header__title[data-v-efd71f22]{font-size:var(--font-size-2xl);color:var(--color-structure);margin-bottom:var(--space-1);font-weight:700}.page-header__description[data-v-efd71f22]{font-size:var(--font-size-base);color:var(--color-text-secondary)}.page-header__action[data-v-efd71f22]{gap:var(--space-3);display:flex}.app-layout[data-v-96b63894]{flex-direction:column;width:100%;min-height:100vh;display:flex}@media (width>=768px){.app-layout[data-v-96b63894]{flex-direction:row}}.app-layout__sidebar[data-v-96b63894]{background-color:var(--color-structure);width:100%;color:var(--color-text-inverse);flex-direction:column;flex-shrink:0;display:flex}@media (width>=768px){.app-layout__sidebar[data-v-96b63894]{width:200px}}@media (width>=1024px){.app-layout__sidebar[data-v-96b63894]{width:260px}}.app-layout__brand[data-v-96b63894]{padding:var(--space-4);font-size:var(--font-size-xl);border-bottom:1px solid var(--color-structure-light);color:var(--color-text-inverse);font-weight:700}@media (width>=768px){.app-layout__brand[data-v-96b63894]{padding:var(--space-6) var(--space-4)}}.app-layout__nav[data-v-96b63894]{padding:var(--space-2) 0;flex-direction:row;display:flex;overflow-x:auto}@media (width>=768px){.app-layout__nav[data-v-96b63894]{padding:var(--space-4) 0;flex-direction:column;overflow-x:visible}}.nav-item[data-v-96b63894]{padding:var(--space-3) var(--space-4);color:var(--color-nav-text-idle);transition:all var(--transition-fast);white-space:nowrap;font-weight:500}@media (width>=768px){.nav-item[data-v-96b63894]{padding:var(--space-3) var(--space-6)}}.nav-item[data-v-96b63894]:hover{background-color:var(--color-structure-light);color:var(--color-text-inverse);text-decoration:none}.nav-item.router-link-active[data-v-96b63894]{background-color:var(--color-structure-light);color:var(--color-text-inverse);border-bottom:4px solid var(--color-text-inverse)}@media (width>=768px){.nav-item.router-link-active[data-v-96b63894]{border-bottom:none;border-left:4px solid var(--color-text-inverse);padding-left:calc(var(--space-6) - 4px)}}.app-layout__main[data-v-96b63894]{flex-direction:column;flex:1;min-width:0;display:flex}.app-layout__topbar[data-v-96b63894]{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);height:56px;padding:0 var(--space-4);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}@media (width>=768px){.app-layout__topbar[data-v-96b63894]{height:64px;padding:0 var(--space-6)}}.topbar-title[data-v-96b63894]{color:var(--color-structure);font-weight:600}.app-layout__content[data-v-96b63894]{padding:var(--space-4);flex:1;overflow-y:auto}@media (width>=768px){.app-layout__content[data-v-96b63894]{padding:var(--space-6)}}.ds-section[data-v-9082717c]{margin-bottom:var(--space-8);background:var(--color-surface);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border)}@media (width>=768px){.ds-section[data-v-9082717c]{padding:var(--space-6)}}.ds-title[data-v-9082717c]{margin-bottom:var(--space-4);font-size:var(--font-size-xl);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-2)}.color-grid[data-v-9082717c]{gap:var(--space-4);flex-wrap:wrap;display:flex}.color-box[data-v-9082717c]{text-align:center;border-radius:var(--radius-sm);width:100px;height:100px;font-weight:600;font-size:var(--font-size-sm);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:flex}.row[data-v-9082717c]{gap:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.col[data-v-9082717c]{gap:var(--space-4);flex-direction:column;display:flex}.form-grid[data-v-9082717c]{gap:var(--space-4);grid-template-columns:1fr;max-width:600px;display:grid}@media (width>=600px){.form-grid[data-v-9082717c]{grid-template-columns:1fr 1fr}}.demo-filter[data-v-9082717c]{gap:var(--space-4);margin-bottom:var(--space-4);background-color:var(--color-bg-page);padding:var(--space-4);border-radius:var(--radius-md);flex-direction:column;display:flex}@media (width>=768px){.demo-filter[data-v-9082717c]{flex-direction:row;justify-content:space-between;align-items:flex-end}}.demo-filter__inputs[data-v-9082717c]{gap:var(--space-4);flex-direction:column;flex:1;display:flex}@media (width>=768px){.demo-filter__inputs[data-v-9082717c]{flex-direction:row;max-width:500px}.demo-filter__inputs[data-v-9082717c]>*{margin-bottom:0}}.table-responsive[data-v-9082717c]{margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.demo-table[data-v-9082717c]{border-collapse:collapse;text-align:left;width:100%}.demo-table th[data-v-9082717c],.demo-table td[data-v-9082717c]{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.demo-table th[data-v-9082717c]{background-color:var(--color-bg-page);color:var(--color-structure);font-weight:600}.demo-table tbody tr[data-v-9082717c]:hover{background-color:var(--color-bg-page)}.demo-table tbody tr:last-child td[data-v-9082717c]{border-bottom:none}.demo-pagination[data-v-9082717c]{gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;justify-content:space-between;align-items:center;display:flex}@media (width>=768px){.demo-pagination[data-v-9082717c]{flex-direction:row}}.demo-pagination__info[data-v-9082717c]{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.demo-pagination__controls[data-v-9082717c]{gap:var(--space-2);display:flex}
