.nav-item[data-v-30c7b016],.nav-sublink[data-v-30c7b016]{text-decoration:none;color:inherit}.nav-item[data-v-30c7b016]:hover,.nav-sublink[data-v-30c7b016]:hover{background-color:rgba(79,70,229,.08);background:color-mix(in srgb,var(--primary) 10%,transparent)}.nav-item[data-v-30c7b016]:focus-visible,.nav-sublink[data-v-30c7b016]:focus-visible{outline:0;box-shadow:0 0 0 3px var(--focus)}.nav-count[data-v-30c7b016]{font-weight:700;margin-left:6px;color:var(--text)}.sidebar-footer[data-v-30c7b016]{padding:10px;border-top:1px solid var(--border);margin-top:8px;display:flex;flex-direction:column;gap:6px}.env-badge[data-v-30c7b016]{display:inline-block;font-size:12px;line-height:1;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--warn) 10%,transparent);border:1px solid var(--border-strong);color:var(--warn);width:-moz-max-content;width:max-content}@media (max-width:1366px){.sidebar[data-v-30c7b016]{position:fixed;inset:0 auto 0 0;width:280px;max-width:86vw;height:100vh;transform:translateX(-100%);transition:transform .2s cubic-bezier(.2,0,0,1);z-index:1000;background:var(--surface);border-right:1px solid var(--border);border-radius:0;overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:0 10px 30px rgba(15,23,42,.22)}.sidebar.is-open[data-v-30c7b016]{transform:translateX(0)}}.overlay[data-v-34fcde26]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:grid;place-items:center;z-index:1000}.dialog[data-v-34fcde26]{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-1);max-height:calc(100vh - 24px);display:flex;flex-direction:column}.dialog-footer[data-v-34fcde26],.dialog-header[data-v-34fcde26]{padding:12px 16px}.dialog-header[data-v-34fcde26]{position:relative;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.dialog-body[data-v-34fcde26]{padding:16px;flex:1 1 auto;min-height:0;overflow-y:auto}@media (min-width:768px) and (max-width:1366px){.dialog-body[data-v-34fcde26]{overflow:auto}}.h2[data-v-34fcde26]{font-size:16px;line-height:22px;font-weight:500;margin:0}.icon-close[data-v-34fcde26]{display:block;color:var(--muted)}html.keep-multiselect-panel-fixed{position:fixed!important}.parent-exempt-panel .p-multiselect-items .p-multiselect-item,.parent-exempt-panel .p-multiselect-items .p-multiselect-option{font-size:14px;line-height:20px;margin:2px 0;padding:4px 10px 4px 20px;background:color-mix(in srgb,#fffaf0 35%,#fffaf0)!important}.parent-exempt-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):hover,.parent-exempt-panel .p-multiselect-items .p-multiselect-option:not(.p-highlight):hover{background:color-mix(in srgb,#ffdead 40%,var(--surface))!important}.grid-2[data-v-a13737d4]{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}@media (max-width:767px){.grid-2[data-v-a13737d4]{grid-template-columns:1fr}}.maintenance-group[data-v-a13737d4]{border:1px solid var(--border);border-radius:10px;padding:12px}.maintenance-group>legend[data-v-a13737d4]{padding:0 6px;font-weight:500}.checkbox-row[data-v-a13737d4]{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;padding:8px 0}.checkbox-content label[data-v-a13737d4]{margin:0}.checkbox-24[data-v-a13737d4]{width:18px;height:18px;margin-top:2px}.help-text[data-v-a13737d4]{font-size:12px;color:#000;border:1px solid #ddd;background-color:#f8f8f8;padding:3px 7px;border-radius:4px}[data-v-a13737d4] .multiselect--clean.p-multiselect{border:1px solid var(--border);border-radius:8px;background:var(--surface);width:100%!important;max-width:100%!important;box-sizing:border-box}[data-v-a13737d4] .multiselect--clean.p-multiselect:not(.p-disabled):hover{border-color:color-mix(in srgb,var(--border) 60%,var(--text))}[data-v-a13737d4] .multiselect--clean.p-multiselect.p-focus{box-shadow:0 0 0 3px var(--focus);border-color:var(--primary)}[data-v-a13737d4] .multiselect--clean .p-multiselect-label-container{width:100%;max-width:100%;min-width:0;box-sizing:border-box;max-height:144px;overflow:auto}[data-v-a13737d4] .multiselect--clean .p-multiselect-label{padding:8px 10px;font-size:14px;line-height:20px;color:var(--text);white-space:normal;overflow:hidden}[data-v-a13737d4] .p-multiselect-panel{border:1px solid var(--border);border-radius:10px;overflow:hidden}[data-v-a13737d4] .p-multiselect-token{margin:2px}[data-v-a13737d4] .p-multiselect-filter-container{padding:8px;border-bottom:1px solid var(--border)}[data-v-a13737d4] .p-multiselect-filter{width:100%;border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--surface);color:var(--text)}.dialog-content[data-v-a13737d4]{position:relative}[data-v-a13737d4] .parent-exempt-panel.p-multiselect-panel{position:absolute!important;top:100px!important;left:0!important;right:0!important;z-index:2000;max-height:min(360px,calc(100vh - 220px));overflow:auto}.top-nav[data-v-a6a64510]{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:12px}.grow[data-v-a6a64510]{flex:1}.roles[data-v-a6a64510]{display:inline-flex;align-items:center;gap:10px;min-height:24px}.roles-group[data-v-a6a64510]{display:inline-flex;align-items:center;gap:6px}.roles-sep[data-v-a6a64510]{width:8px;height:1px;opacity:.2}.badge[data-v-a6a64510]{width:26px;height:26px;border-radius:999px;display:inline-grid;place-items:center;font-size:10px;font-weight:400;color:#fff;background:var(--info)}.badge-teacher[data-v-a6a64510]{background:var(--success)}.badge-parent[data-v-a6a64510]{background:var(--info)}.badge.is-stale[data-v-a6a64510]{background:var(--muted);opacity:.65}.profile[data-v-a6a64510]{position:relative}.profile-btn[data-v-a6a64510]{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer}.profile-btn[data-v-a6a64510]:hover{border-color:var(--border-strong)}.profile-btn[data-v-a6a64510]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus);border-color:var(--primary)}.avatar[data-v-a6a64510]{width:24px;height:24px;border-radius:999px;background:var(--primary);color:#fff;display:inline-grid;place-items:center;font-size:12px;font-weight:600}.name[data-v-a6a64510]{font-size:14px}.menu[data-v-a6a64510]{position:absolute;right:0;top:calc(100% + 6px);min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 22px rgba(15,23,42,.12);padding:6px;list-style:none;margin:0;z-index:10}.menu-item[data-v-a6a64510]{width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;background:transparent;border:none;border-radius:6px;color:var(--text);text-align:left;cursor:pointer;font:inherit}.menu-item[data-v-a6a64510]:hover{background:rgba(79,70,229,.06)}.menu-item.danger[data-v-a6a64510]:hover{background:rgba(239,68,68,.08)}.burger[data-v-a6a64510]{display:none;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;cursor:pointer}.burger[data-v-a6a64510]:hover{border-color:var(--border-strong)}.burger[data-v-a6a64510]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus);border-color:var(--primary)}@media (max-width:1366px){.burger[data-v-a6a64510]{display:inline-flex}}.sr-only[data-v-a6a64510]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,1px,1px);white-space:nowrap;border:0}select{height:36px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;line-height:1.4;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}select:hover:not(:disabled){border-color:var(--border-strong)}select:focus,select:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus);outline:none}select:disabled{opacity:.65;cursor:not-allowed}@media (max-width:1366px){.page.page-wrapper{position:absolute;width:100%;min-width:100%;max-width:100%}}.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:900}.forgot-link[data-v-0f20efe6]{display:flex;justify-content:flex-end;margin-top:8px}.ghost-btn[data-v-0f20efe6]{display:inline-flex;align-items:center;height:36px;padding:0 12px;border:1px solid var(--border,#e0e3ea);border-radius:6px;color:var(--text,#1f2937);text-decoration:none;background:var(--surface,#fff);transition:background-color .14s ease,border-color .14s ease,color .14s ease;font-size:14px;line-height:20px}.ghost-btn[data-v-0f20efe6]:hover{text-decoration:underline;border-color:var(--primary,#4f46e5)}.ghost-btn[data-v-0f20efe6]:focus{outline:2px solid var(--focus,rgba(79,70,229,.45));outline-offset:2px}.legal-footer[data-v-08fb7ad9]{position:fixed;left:0;right:0;bottom:12px;display:flex;justify-content:center;padding:0 12px;pointer-events:none}.legal-footer nav[data-v-08fb7ad9]{background:var(--surface,#fff);border:1px solid var(--border,#e0e3ea);border-radius:999px;padding:6px 10px;box-shadow:0 4px 14px rgba(15,23,42,.08);pointer-events:auto}.legal-link[data-v-08fb7ad9]{color:var(--text,#1f2937);text-decoration:none;font-size:13px;line-height:18px;padding:0 6px}.legal-link[data-v-08fb7ad9]:focus-visible,.legal-link[data-v-08fb7ad9]:hover{text-decoration:underline;outline:none}.sep[data-v-08fb7ad9]{color:var(--muted,#6b7280);margin:0 2px}@media (max-width:480px){.legal-footer[data-v-08fb7ad9]{bottom:8px}.legal-link[data-v-08fb7ad9]{font-size:12px}}.login-shell[data-v-2c3446a7]{min-height:100vh;display:grid;place-items:center;background:linear-gradient(180deg,var(--bg) 0,#eef1f6 100%);padding:24px}.card[data-v-2c3446a7]{background:var(--surface);color:var(--text);width:100%;max-width:420px;border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 8px 28px rgba(15,23,42,.08),0 1px 0 rgba(0,0,0,.04);padding:24px 20px}.title[data-v-2c3446a7]{font-size:20px;line-height:24px;font-weight:600;margin:0 0 6px 0}.subtitle[data-v-2c3446a7]{font-size:12px;line-height:16px;color:var(--muted);margin:0 0 16px 0}.form[data-v-2c3446a7]{display:grid;gap:14px}.label[data-v-2c3446a7]{font-size:12px;color:var(--muted)}.input[data-v-2c3446a7]{height:40px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:8px;outline:none;background:#fff;color:var(--text);transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease;box-shadow:inset 0 1px 2px rgba(15,23,42,.04)}.input[data-v-2c3446a7]::-moz-placeholder{color:var(--muted);opacity:.9}.input[data-v-2c3446a7]::placeholder{color:var(--muted);opacity:.9}.input[data-v-2c3446a7]:hover{border-color:var(--primary-600)}.input[data-v-2c3446a7]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus)}.btn[data-v-2c3446a7]{height:42px;border-radius:8px;background:var(--primary);color:#fff;border:1px solid var(--primary);cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .12s ease,box-shadow .12s ease,transform .02s ease-in;box-shadow:0 1px 0 rgba(0,0,0,.04),0 6px 16px rgba(79,70,229,.18)}.btn[data-v-2c3446a7]:hover{background:var(--primary-600)}.btn[data-v-2c3446a7]:active{transform:translateY(1px)}.btn[data-v-2c3446a7]:disabled{opacity:.7;cursor:default;box-shadow:none}.spinner[data-v-2c3446a7]{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.55);border-top-color:#fff;border-radius:50%;display:inline-block;animation:spin-2c3446a7 1s linear infinite}@keyframes spin-2c3446a7{to{transform:rotate(1turn)}}@media (min-width:1024px) and (max-width:1199px){.card[data-v-2c3446a7]{max-width:460px}}@media (min-width:768px) and (max-width:1023px){.card[data-v-2c3446a7]{max-width:440px}}@media (max-width:767px){.login-shell[data-v-2c3446a7]{overflow-x:auto;-webkit-overflow-scrolling:touch}.card[data-v-2c3446a7]{margin-inline:auto}}.ui-info[data-v-65a75cd8]{position:relative;display:inline-block}.help-trigger[data-v-65a75cd8]{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;border-radius:6px;border:1px solid var(--border,#e0e3ea);background:var(--surface,#fff);color:var(--text,#1f2937);cursor:pointer}.help-trigger[data-v-65a75cd8]:hover{background:var(--surface-hover,#f2f3f6)}.help-trigger[data-v-65a75cd8]:focus-visible{outline:3px solid var(--focus,rgba(79,70,229,.45));outline-offset:2px}.sr-only[data-v-65a75cd8]{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.help-popover[data-v-65a75cd8]{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface,#fff);border:1px solid var(--border,#e0e3ea);border-radius:10px;box-shadow:0 8px 28px rgba(15,23,42,.08),0 1px 0 rgba(0,0,0,.04);padding:10px 12px;z-index:40}.help-popover--fixed[data-v-65a75cd8]{position:fixed;z-index:4000}.help-popover__header[data-v-65a75cd8]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.close-btn[data-v-65a75cd8]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:1px solid var(--border,#e0e3ea);background:var(--surface,#fff);color:var(--text,#1f2937);cursor:pointer}.close-btn[data-v-65a75cd8]:hover{background:var(--surface-hover,#f2f3f6)}.close-btn[data-v-65a75cd8]:focus-visible{outline:3px solid var(--focus,rgba(79,70,229,.45));outline-offset:2px}.help-popover__content[data-v-65a75cd8]{font-size:13px;line-height:1.45;color:var(--text,#1f2937);max-width:480px}.fade-scale-enter-active[data-v-65a75cd8],.fade-scale-leave-active[data-v-65a75cd8]{transition:all .12s ease;transform-origin:top right}.fade-scale-enter-from[data-v-65a75cd8],.fade-scale-leave-to[data-v-65a75cd8]{opacity:0;transform:scale(.98) translateY(-2px)}.not-found-container[data-v-696d7777]{display:flex;justify-content:center;align-items:center;height:100%;text-align:center;padding:2rem}.not-found-container .not-found-content[data-v-696d7777]{max-width:500px}.not-found-container .not-found-content .not-found-icon[data-v-696d7777]{font-size:5rem;color:var(--primary-color);margin-bottom:1rem}.not-found-container .not-found-content h1[data-v-696d7777]{font-size:4rem;margin:0;color:var(--primary-color)}.not-found-container .not-found-content h2[data-v-696d7777]{margin-top:.5rem;margin-bottom:1rem}.not-found-container .not-found-content p[data-v-696d7777]{margin-bottom:2rem;color:var(--text-color-secondary)}.content[data-v-4aa527d8]{display:flex;flex-direction:column;gap:12px}.meta[data-v-4aa527d8]{display:grid;grid-template-columns:1fr;gap:6px;border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--surface)}.meta-row[data-v-4aa527d8]{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:center}.label[data-v-4aa527d8]{color:var(--muted);font-size:12px}.value[data-v-4aa527d8]{color:var(--text);font-size:14px}.message[data-v-4aa527d8]{margin:0;font-size:14px;line-height:1.45}.meta-reasons-grid[data-v-4aa527d8]{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;align-items:start}.reasons-card[data-v-4aa527d8]{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--surface)}.reasons-header[data-v-4aa527d8]{display:flex;align-items:center;justify-content:space-between;padding-bottom:6px;margin-bottom:8px;border-bottom:1px solid var(--border)}.reasons-title[data-v-4aa527d8]{font-size:14px;font-weight:600;color:var(--text);margin:0}.reasons-muted[data-v-4aa527d8]{color:var(--muted);font-size:12px}.reasons-list[data-v-4aa527d8]{list-style:none;margin:0;padding:0;display:grid;gap:8px}.reasons-item[data-v-4aa527d8]{display:grid;gap:4px;border-bottom:1px solid var(--border);padding-bottom:8px}.reasons-item[data-v-4aa527d8]:last-child{border-bottom:0;padding-bottom:0}.reasons-line[data-v-4aa527d8]{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.reasons-user[data-v-4aa527d8]{color:var(--text);font-size:14px}.reasons-time[data-v-4aa527d8]{color:var(--muted);font-size:12px}.reason-text[data-v-4aa527d8]{margin:0;color:var(--text);font-size:13px;line-height:1.4}.badge[data-v-4aa527d8]{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;font-size:12px;color:var(--text);background:var(--bg);border:1px solid var(--border)}.badge-success[data-v-4aa527d8]{background:color-mix(in srgb,var(--success) 15%,#fff 85%);border-color:color-mix(in srgb,var(--success) 40%,#fff 60%);color:#065f46}.badge-danger[data-v-4aa527d8]{background:color-mix(in srgb,var(--danger) 15%,#fff 85%);border-color:color-mix(in srgb,var(--danger) 40%,#fff 60%);color:#7f1d1d}@media (max-width:768px){.meta-reasons-grid[data-v-4aa527d8]{grid-template-columns:1fr}}.tabs[data-v-4aa527d8]{display:inline-flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.tab[data-v-4aa527d8]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer;font-size:12px}.tab[data-v-4aa527d8]:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.tab.active[data-v-4aa527d8]{border-color:rgba(79,70,229,.4);background:color-mix(in srgb,var(--primary) 12%,transparent)}.tab-title[data-v-4aa527d8]{font-weight:600}.tab-meta[data-v-4aa527d8]{color:var(--muted)}.thumb-strip[data-v-4aa527d8]{margin-top:12px;border-top:1px solid var(--border);padding-top:10px;display:flex;gap:8px;overflow-x:auto}.thumb[data-v-4aa527d8]{flex:0 0 auto;width:120px;height:84px;border:1px solid var(--border);border-radius:8px;background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer}.thumb[data-v-4aa527d8]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.thumb img[data-v-4aa527d8]{max-width:100%;max-height:100%;-o-object-fit:cover;object-fit:cover;border-radius:6px}.thumb-doc[data-v-4aa527d8]{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted);padding:6px;text-align:center}.thumb-doc .name[data-v-4aa527d8]{font-size:12px;line-height:1.2;word-break:break-all;color:var(--text)}.footer-actions[data-v-4aa527d8]{display:flex;gap:8px;justify-content:space-between;align-items:center;width:100%}.footer-left[data-v-4aa527d8],.footer-right[data-v-4aa527d8]{display:inline-flex;gap:8px;align-items:center}.footer-right[data-v-4aa527d8]{margin-left:auto;justify-content:flex-end}.btn-warn[data-v-4aa527d8]{background:var(--warn);color:#fff}.btn-warn[data-v-4aa527d8]:hover{background:color-mix(in srgb,var(--warn) 85%,#000 15%)}.btn[data-v-4aa527d8]{display:inline-flex;align-items:center;gap:6px}.icon[data-v-4aa527d8]{display:inline-flex;align-items:center;justify-content:center}.btn-group[data-v-4aa527d8]{display:inline-flex;align-items:stretch;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.btn-group .btn[data-v-4aa527d8]{height:38px;border:0;border-right:1px solid var(--border);border-radius:0;padding:0 12px}.btn-group .btn[data-v-4aa527d8]:last-child{border-right:0}.btn-danger[data-v-4aa527d8]{background:var(--danger);color:#fff}.btn-danger[data-v-4aa527d8]:hover{background:color-mix(in srgb,var(--danger) 85%,#000 15%)}.btn-success[data-v-4aa527d8]{background:var(--success);color:#fff}.btn-success[data-v-4aa527d8]:hover{background:color-mix(in srgb,var(--success) 85%,#000 15%)}.viewer-overlay[data-v-4aa527d8]{z-index:20}.reason-overlay[data-v-4aa527d8],.viewer-overlay[data-v-4aa527d8]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center}.reason-overlay[data-v-4aa527d8]{z-index:30}.reason-dialog[data-v-4aa527d8]{width:min(100%,520px);background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.15);padding:14px;display:flex;flex-direction:column;gap:12px}.reason-title[data-v-4aa527d8]{font-size:16px;line-height:1.4;font-weight:500;color:var(--text);margin:0}.input[data-v-4aa527d8]{width:100%;min-height:90px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);resize:vertical}.input[data-v-4aa527d8]:focus{outline:none;box-shadow:0 0 0 3px var(--focus);border-color:var(--primary)}.help[data-v-4aa527d8]{font-size:12px;line-height:1.3;color:var(--muted);margin:4px 0 0}.help.danger[data-v-4aa527d8]{color:var(--danger)}.viewer[data-v-4aa527d8]{width:min(100%,960px);max-height:90vh;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden}.viewer-header[data-v-4aa527d8]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.viewer-title[data-v-4aa527d8]{font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-actions[data-v-4aa527d8]{display:inline-flex;gap:8px}.viewer-body[data-v-4aa527d8]{position:relative;background:var(--bg);display:flex;align-items:center;justify-content:center;min-height:360px;height:70vh;padding:12px}.viewer-loading[data-v-4aa527d8]{color:var(--muted);font-size:14px}.viewer-media[data-v-4aa527d8]{max-width:100%;max-height:100%;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.06)}.viewer-frame[data-v-4aa527d8]{width:100%;height:100%;border:0;background:var(--surface);border-radius:6px}.viewer-fallback[data-v-4aa527d8]{color:var(--muted);font-size:14px;text-align:center}.chat-card[data-v-4aa527d8]{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--surface);display:grid;gap:8px;margin-top:8px}.chat-header[data-v-4aa527d8]{display:flex;align-items:center;justify-content:space-between}.chat-title[data-v-4aa527d8]{font-size:14px;font-weight:600;color:var(--text)}.chat-list[data-v-4aa527d8]{max-height:260px;overflow:auto;padding:3px 10px;background:var(--bg);border:1px solid var(--border);border-radius:10px}.chat-item[data-v-4aa527d8]{display:flex;margin:8px 0;align-items:flex-end;width:auto}.chat-item.me[data-v-4aa527d8]{justify-content:flex-end}.chat-item .bubble[data-v-4aa527d8]{border:1px solid var(--border);border-radius:8px;padding:8px;background:var(--surface);max-width:68%}.chat-item.me .bubble[data-v-4aa527d8]{background:color-mix(in srgb,var(--primary) 8%,#fff);border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.chat-meta[data-v-4aa527d8]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.chat-text[data-v-4aa527d8]{margin:0;font-size:15px;color:var(--text);white-space:pre-wrap;word-break:break-word;line-height:20px}.chat-input-row[data-v-4aa527d8]{display:grid;grid-template-columns:1fr auto;gap:8px}.chat-input-row .input[data-v-4aa527d8]{min-height:auto}.nav[data-v-4aa527d8]{position:absolute;top:50%;transform:translateY(-50%);height:44px;width:44px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.nav[data-v-4aa527d8]:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.nav[data-v-4aa527d8]:disabled{opacity:.6;cursor:default}.nav.prev[data-v-4aa527d8]{left:12px}.nav.next[data-v-4aa527d8]{right:12px}@media (max-width:640px){.viewer[data-v-4aa527d8]{width:calc(100% - 16px);max-height:92vh}.viewer-body[data-v-4aa527d8]{height:68vh}}.field[data-v-5c1bcc32]{margin-bottom:1rem}.overlay[data-v-4d1d7a24]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:grid;place-items:center;z-index:1000}.dialog[data-v-4d1d7a24]{background:var(--surface);color:var(--text);width:min(640px,calc(100% - 24px));border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:12px 12px 10px;outline:none}.dialog-header[data-v-4d1d7a24]{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px}.h2[data-v-4d1d7a24]{font-size:16px;line-height:22px;font-weight:500;margin:0}.btn-close[data-v-4d1d7a24]{width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:var(--surface);cursor:pointer;position:relative}.btn-close[data-v-4d1d7a24]:after,.btn-close[data-v-4d1d7a24]:before{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--muted);transform-origin:center}.btn-close[data-v-4d1d7a24]:before{transform:translate(-50%,-50%) rotate(45deg)}.btn-close[data-v-4d1d7a24]:after{transform:translate(-50%,-50%) rotate(-45deg)}.btn-close[data-v-4d1d7a24]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.dialog-body[data-v-4d1d7a24]{display:grid;gap:10px}.row[data-v-4d1d7a24]{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:start}.label[data-v-4d1d7a24]{color:var(--muted);font-size:12px;line-height:16px}.value[data-v-4d1d7a24]{font-size:14px;line-height:20px}.pre-wrap[data-v-4d1d7a24]{white-space:pre-wrap}.dialog-footer[data-v-4d1d7a24]{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.overlay[data-v-39423c72]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.dialog[data-v-39423c72]{width:100%;max-width:640px;border:1px solid var(--border);background:var(--surface);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.15);padding:16px}.dialog-header[data-v-39423c72]{border-bottom:1px solid var(--border);padding-bottom:4px;margin-bottom:20px}.form[data-v-39423c72]{display:flex;flex-direction:column;gap:12px}.field[data-v-39423c72]{margin-bottom:1rem}.field label[data-v-39423c72]{display:block;font-size:12px;line-height:16px;color:var(--muted);margin-bottom:4px;font-weight:600}.field input[type=text][data-v-39423c72],.field select[data-v-39423c72],.field textarea[data-v-39423c72]{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:8px;font-size:14px;line-height:20px}.field input[type=text][data-v-39423c72]:focus-visible,.field select[data-v-39423c72]:focus-visible,.field textarea[data-v-39423c72]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus);border-color:var(--primary)}.help[data-v-39423c72]{font-size:12px;line-height:16px;color:var(--muted);padding-left:10px}.dialog-actions[data-v-39423c72]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.overlay-dialog[data-v-5430d812]{position:fixed;inset:0;z-index:1000;display:grid;place-items:center}.overlay-backdrop[data-v-5430d812]{position:absolute;inset:0;background:rgba(0,0,0,.35)}.dialog-card[data-v-5430d812]{position:relative;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.2);width:92%;max-width:420px}.dialog-header[data-v-5430d812]{padding:12px 14px;border-bottom:1px solid var(--border)}.dialog-body[data-v-5430d812]{padding:14px}.h2[data-v-5430d812]{font-size:16px;line-height:22px;font-weight:500;margin:0}.dialog-actions[data-v-5430d812]{padding:12px 14px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border)}.form-grid[data-v-5430d812]{display:flex;flex-direction:row;gap:8px}.field[data-v-5430d812]{display:flex;flex-direction:column;gap:4px}.label[data-v-5430d812]{font-size:12px;color:var(--muted);font-weight:500}.input[data-v-5430d812]{height:34px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:14px}.input[data-v-5430d812]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus);border-color:var(--primary)}.mt-12[data-v-5430d812]{margin-top:12px}.mb-0[data-v-5430d812]{margin-bottom:0}.overlay-dialog[data-v-498cc124]{position:fixed;inset:0;z-index:1000;display:grid;place-items:center}.overlay-backdrop[data-v-498cc124]{position:absolute;inset:0;background:rgba(0,0,0,.35)}.dialog-card[data-v-498cc124]{position:relative;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.2);width:92%;max-width:460px}.dialog-header[data-v-498cc124]{padding:12px 14px;border-bottom:1px solid var(--border)}.dialog-body[data-v-498cc124]{padding:14px}.dialog-actions[data-v-498cc124]{padding:12px 14px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border)}.h2[data-v-498cc124]{font-size:16px;line-height:22px;font-weight:500;margin:0}.btn-warn[data-v-498cc124]{background:var(--warn);color:#fff;border:0;padding:6px 12px;border-radius:8px}.btn-warn .pi[data-v-498cc124]{color:#fff}.form-grid[data-v-498cc124]{display:flex;flex-direction:row;gap:8px}.field[data-v-498cc124]{display:flex;flex-direction:column;gap:4px}.field-textarea .textarea[data-v-498cc124]{resize:vertical;min-height:52px}.label[data-v-498cc124]{font-size:12px;color:var(--muted);font-weight:500}.input[data-v-498cc124]{height:34px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:14px}.textarea[data-v-498cc124]{height:auto}.input[data-v-498cc124]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus);border-color:var(--primary)}.dashboard[data-v-52733288]{display:block}.dashboard-grid[data-v-52733288]{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}@media (min-width:1400px){.dashboard-grid[data-v-52733288]{grid-template-columns:1fr 1fr 1fr 1.1fr 1.1fr}}@media (min-width:1024px) and (max-width:1199px){.dashboard-grid[data-v-52733288]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px) and (max-width:1023px){.dashboard-grid[data-v-52733288]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.dashboard[data-v-52733288]{overflow-x:auto;-webkit-overflow-scrolling:touch}.dashboard-grid[data-v-52733288]{grid-template-columns:repeat(2,minmax(0,1fr));min-width:768px}}.card-fixed[data-v-52733288]{display:flex;flex-direction:column;height:420px;padding:15px}.card-header[data-v-52733288]{border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px}.card-body[data-v-52733288]{flex:1;min-height:0;overflow-y:auto;padding-right:4px}.h2[data-v-52733288]{font-size:16px;line-height:22px;font-weight:500;margin:0}.meta[data-v-52733288]{color:var(--muted);font-size:12px;line-height:16px}.list[data-v-52733288]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;line-height:14px}.list li[data-v-52733288]{padding:4px 6px;background:var(--bg);border-radius:8px;border-left:3px solid var(--border-strong)}.list li.clickable[data-v-52733288]{cursor:pointer}.list li.clickable[data-v-52733288]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.list li.released[data-v-52733288],.list li.today[data-v-52733288]{background:rgba(245,158,11,.14);border-left-color:var(--warn)}.item-title[data-v-52733288]{font-size:14px;line-height:20px}.actions[data-v-52733288]{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.actions .btn.icon-btn[data-v-52733288]{height:30px;width:30px}.skeleton .line[data-v-52733288]{height:14px;background:linear-gradient(90deg,var(--bg),#eceff4,var(--bg));background-size:200% 100%;animation:shimmer-52733288 1.4s infinite;border-radius:6px;margin:8px 0}.skeleton .line.short[data-v-52733288]{width:60%}@keyframes shimmer-52733288{0%{background-position:200% 0}to{background-position:-200% 0}}.notice[data-v-52733288]{border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:14px;line-height:20px;background:var(--surface)}.notice-danger[data-v-52733288]{background:rgba(239,68,68,.08);border-color:#fecaca;color:#7f1d1d}.student-search[data-v-52733288]{display:flex;align-items:center;gap:8px;margin-top:8px}.student-search__field[data-v-52733288]{position:relative;flex:1 1 auto}.student-search__icon[data-v-52733288]{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:18px;height:18px;background-color:var(--muted);mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="%23000"><path d="M15.5 14h-.79l-.28-.27a6.471 6.471 0 0 0 1.57-4.23C15.99 6.01 13.32 3.34 10 3.34S4.01 6.01 4.01 9.5 6.68 15.66 10 15.66c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0s.41-1.08 0-1.49L15.5 14zm-5.5 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>') no-repeat 50% 50%;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="%23000"><path d="M15.5 14h-.79l-.28-.27a6.471 6.471 0 0 0 1.57-4.23C15.99 6.01 13.32 3.34 10 3.34S4.01 6.01 4.01 9.5 6.68 15.66 10 15.66c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0s.41-1.08 0-1.49L15.5 14zm-5.5 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>') no-repeat 50% 50%;pointer-events:none}.student-search__input[data-v-52733288]{height:38px;padding:8px 8px 8px 36px;border:1px solid var(--surface-border);border-radius:8px;background:var(--surface-card);width:100%}.student-search__input[data-v-52733288]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus);border-color:var(--primary)}@media (max-width:480px){.student-search[data-v-52733288]{flex-direction:column;align-items:stretch}.student-search__field[data-v-52733288]{width:100%}}.search-birthdays-grid[data-v-52733288]{display:grid;gap:16px;grid-template-columns:2.05fr 1fr 1fr}@media (max-width:1199px){.search-birthdays-grid[data-v-52733288]{grid-template-columns:1fr}}.birthday-card .card-body[data-v-52733288]{height:160px;min-height:0;overflow-y:auto;padding-right:4px}.absent-list li[data-v-52733288]{display:flex;align-items:center;justify-content:space-between;gap:8px}.absent-list .actions[data-v-52733288]{display:flex;gap:8px;flex-wrap:nowrap}.card-header .h2.clickable[data-v-52733288]{cursor:pointer}.filter-bar[data-v-52733288]{display:flex;align-items:center;gap:8px}.filter-bar .actions[data-v-52733288]{flex-wrap:nowrap;gap:4px;margin-top:0}.filter-input[data-v-52733288]{height:30px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);flex:1 1 auto}.filter-input[data-v-52733288]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus);border-color:var(--primary)}.btn.icon-btn[data-v-52733288]{width:34px;height:34px;padding:0;display:grid;place-items:center}.btn.icon-btn i[data-v-52733288]{font-size:16px;color:var(--text)}.header-row[data-v-52733288]{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-header .btn.icon-btn[data-v-52733288]{width:30px;height:30px}.present-list li[data-v-52733288]{display:flex;align-items:center;justify-content:space-between;gap:8px}.present-list .actions[data-v-52733288]{display:flex;gap:8px}.overlay-dialog[data-v-52733288]{position:fixed;inset:0;z-index:1000;display:grid;place-items:center}.overlay-backdrop[data-v-52733288]{position:absolute;inset:0;background:rgba(0,0,0,.35)}.dialog-card[data-v-52733288]{position:relative;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.2);width:92%;max-width:420px}.dialog-header[data-v-52733288]{padding:12px 14px;border-bottom:1px solid var(--border)}.dialog-body[data-v-52733288]{padding:14px}.dialog-actions[data-v-52733288]{padding:12px 14px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border)}.btn-warn[data-v-52733288]{background:var(--warn);color:#fff;border:0;padding:6px 12px;border-radius:8px}.btn-warn .pi[data-v-52733288]{color:#fff}.dashboard[data-v-106a5348]{display:block}.dashboard-grid[data-v-106a5348]{display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr 1.1fr 1.1fr}@media (max-width:1199px){.dashboard-grid[data-v-106a5348]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.dashboard-grid[data-v-106a5348]{grid-template-columns:1fr}}.card-fixed[data-v-106a5348]{display:flex;flex-direction:column;height:420px;padding:15px}.card-header[data-v-106a5348]{border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px}.card-body[data-v-106a5348]{flex:1;min-height:0;overflow-y:auto;padding-right:4px}.h2[data-v-106a5348]{font-size:16px;line-height:22px;font-weight:500;margin:0}.meta[data-v-106a5348]{color:var(--muted);font-size:12px;line-height:16px}.list[data-v-106a5348]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;line-height:14px}.list li[data-v-106a5348]{padding:4px 6px;background:var(--bg);border-radius:8px;border-left:3px solid var(--border-strong)}.list li.clickable[data-v-106a5348]{cursor:pointer}.list li.clickable[data-v-106a5348]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.list li.released[data-v-106a5348],.list li.today[data-v-106a5348]{background:rgba(245,158,11,.14);border-left-color:var(--warn)}.item-title[data-v-106a5348]{font-size:14px;line-height:20px}.actions[data-v-106a5348]{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.actions .btn.icon-btn[data-v-106a5348]{height:30px;width:30px}.skeleton .line[data-v-106a5348]{height:14px;background:linear-gradient(90deg,var(--bg),#eceff4,var(--bg));background-size:200% 100%;animation:shimmer-106a5348 1.4s infinite;border-radius:6px;margin:8px 0}.skeleton .line.short[data-v-106a5348]{width:60%}@keyframes shimmer-106a5348{0%{background-position:200% 0}to{background-position:-200% 0}}.notice[data-v-106a5348]{border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:14px;line-height:20px;background:var(--surface)}.notice-danger[data-v-106a5348]{background:rgba(239,68,68,.08);border-color:#fecaca;color:#7f1d1d}.student-search[data-v-106a5348]{display:flex;align-items:center;gap:8px;margin-top:8px}.student-search__field[data-v-106a5348]{position:relative;flex:1 1 auto}.student-search__icon[data-v-106a5348]{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:18px;height:18px;background-color:var(--muted);mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="%23000"><path d="M15.5 14h-.79l-.28-.27a6.471 6.471 0 0 0 1.57-4.23C15.99 6.01 13.32 3.34 10 3.34S4.01 6.01 4.01 9.5 6.68 15.66 10 15.66c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0s.41-1.08 0-1.49L15.5 14zm-5.5 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>') no-repeat 50% 50%;-webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="%23000"><path d="M15.5 14h-.79l-.28-.27a6.471 6.471 0 0 0 1.57-4.23C15.99 6.01 13.32 3.34 10 3.34S4.01 6.01 4.01 9.5 6.68 15.66 10 15.66c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0s.41-1.08 0-1.49L15.5 14zm-5.5 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>') no-repeat 50% 50%;pointer-events:none}.student-search__input[data-v-106a5348]{height:38px;padding:8px 8px 8px 36px;border:1px solid var(--surface-border);border-radius:8px;background:var(--surface-card);width:100%}.student-search__input[data-v-106a5348]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus);border-color:var(--primary)}@media (max-width:480px){.student-search[data-v-106a5348]{flex-direction:column;align-items:stretch}.student-search__field[data-v-106a5348]{width:100%}}.search-birthdays-grid[data-v-106a5348]{display:grid;gap:16px;grid-template-columns:2.05fr 1fr 1fr}@media (max-width:1199px){.search-birthdays-grid[data-v-106a5348]{grid-template-columns:1fr}}.birthday-card .card-body[data-v-106a5348]{height:160px;min-height:0;overflow-y:auto;padding-right:4px}.absent-list li[data-v-106a5348]{display:flex;align-items:center;justify-content:space-between;gap:8px}.absent-list .actions[data-v-106a5348]{display:flex;gap:8px;flex-wrap:nowrap}.btn.icon-btn[data-v-106a5348]{width:34px;height:34px;padding:0;display:grid;place-items:center}.btn.icon-btn i[data-v-106a5348]{font-size:16px;color:var(--text)}.header-row[data-v-106a5348]{justify-content:space-between}.filter-bar[data-v-106a5348],.header-row[data-v-106a5348]{display:flex;align-items:center;gap:8px}.filter-bar .actions[data-v-106a5348]{flex-wrap:nowrap;gap:4px;margin-top:0}.filter-input[data-v-106a5348]{height:30px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);flex:1 1 auto}.filter-input[data-v-106a5348]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus);border-color:var(--primary)}.card-header .btn.icon-btn[data-v-106a5348]{width:30px;height:30px}.present-list li[data-v-106a5348]{display:flex;align-items:center;justify-content:space-between;gap:8px}.present-list .actions[data-v-106a5348]{display:flex;gap:8px}.overlay-dialog[data-v-106a5348]{position:fixed;inset:0;z-index:1000;display:grid;place-items:center}.overlay-backdrop[data-v-106a5348]{position:absolute;inset:0;background:rgba(0,0,0,.35)}.dialog-card[data-v-106a5348]{position:relative;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.2);width:92%;max-width:420px}.dialog-header[data-v-106a5348]{padding:12px 14px;border-bottom:1px solid var(--border)}.dialog-body[data-v-106a5348]{padding:14px}.dialog-actions[data-v-106a5348]{padding:12px 14px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border)}.btn-warn[data-v-106a5348]{background:var(--warn);color:#fff;border:0;padding:6px 12px;border-radius:8px}.btn-warn .pi[data-v-106a5348]{color:#fff}.page[data-v-9594df0a]{padding:16px;background:var(--bg);color:var(--text)}.page-header[data-v-9594df0a]{border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.h1[data-v-9594df0a]{font-size:20px;line-height:24px;font-weight:500;margin:0}.kid-list[data-v-9594df0a]{list-style:none;padding:0;margin:0;display:grid;gap:8px}.row[data-v-9594df0a]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.name[data-v-9594df0a]{font-weight:500}.status[data-v-9594df0a]{display:inline-flex;align-items:center;gap:8px;font-size:14px;line-height:20px}.dot[data-v-9594df0a]{width:10px;height:10px;border-radius:999px;display:inline-block}.dot-success[data-v-9594df0a]{background:var(--success)}.dot-danger[data-v-9594df0a]{background:var(--danger)}.present .label[data-v-9594df0a]{color:var(--success)}.absent .label[data-v-9594df0a]{color:var(--danger)}.skeleton[data-v-9594df0a]{display:grid;gap:8px}.skeleton-line[data-v-9594df0a]{height:18px;border-radius:6px;background:linear-gradient(90deg,rgba(0,0,0,.06),rgba(0,0,0,.1),rgba(0,0,0,.06));animation:pulse-9594df0a 1.6s ease-in-out infinite}@keyframes pulse-9594df0a{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.mt-12[data-v-9594df0a]{margin-top:12px}.login-shell[data-v-109f9748]{min-height:95vh;display:grid;place-items:center;background:linear-gradient(180deg,var(--bg,#f6f7f9) 0,#eef1f6 100%);padding:24px}.card[data-v-109f9748]{background:var(--surface,#fff);color:var(--text,#1f2937);width:100%;max-width:420px;border:1px solid var(--border-strong,#e0e3ea);border-radius:12px;box-shadow:0 8px 28px rgba(15,23,42,.08),0 1px 0 rgba(0,0,0,.04);padding:24px 20px}.title[data-v-109f9748]{font-size:20px;line-height:24px;font-weight:600;margin:0 0 6px 0}.subtitle[data-v-109f9748]{font-size:12px;line-height:16px;color:var(--muted,#6b7280);margin:0 0 16px 0}.form[data-v-109f9748]{display:grid;gap:14px}.label[data-v-109f9748]{font-size:12px;color:var(--muted,#6b7280)}.input[data-v-109f9748]{height:40px;padding:8px 10px;border:1px solid var(--border-strong,#e0e3ea);border-radius:8px;outline:none;background:#fff;color:var(--text,#1f2937);transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease;box-shadow:inset 0 1px 2px rgba(15,23,42,.04)}.input[data-v-109f9748]::-moz-placeholder{color:var(--muted,#6b7280);opacity:.9}.input[data-v-109f9748]::placeholder{color:var(--muted,#6b7280);opacity:.9}.input[data-v-109f9748]:hover{border-color:var(--primary-600,#4338ca)}.input[data-v-109f9748]:focus{border-color:var(--primary,#4f46e5);box-shadow:0 0 0 3px var(--focus,rgba(79,70,229,.45))}.btn[data-v-109f9748]{height:42px;border-radius:8px;background:var(--primary,#4f46e5);color:#fff;border:1px solid var(--primary,#4f46e5);cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background-color .12s ease,box-shadow .12s ease,transform .02s ease-in;box-shadow:0 1px 0 rgba(0,0,0,.04),0 6px 16px rgba(79,70,229,.18)}.btn[data-v-109f9748]:hover{background:var(--primary-600,#4338ca)}.btn[data-v-109f9748]:active{transform:translateY(1px)}.btn[data-v-109f9748]:disabled{opacity:.7;cursor:default;box-shadow:none}.spinner[data-v-109f9748]{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.55);border-top-color:#fff;border-radius:50%;display:inline-block;animation:spin-109f9748 1s linear infinite}@keyframes spin-109f9748{to{transform:rotate(1turn)}}.actions[data-v-109f9748]{margin-top:20px;text-align:center}.back-link[data-v-109f9748]{font-size:14px;color:var(--primary,#4f46e5);text-decoration:none;transition:color .12s ease,-webkit-text-decoration .12s ease;transition:color .12s ease,text-decoration .12s ease;transition:color .12s ease,text-decoration .12s ease,-webkit-text-decoration .12s ease}.back-link[data-v-109f9748]:hover{text-decoration:underline}.page[data-v-6a211274]{padding:16px;background:var(--bg,#f6f7f9);color:var(--text,#1f2937);min-height:100vh}.page-header[data-v-6a211274]{margin:0 0 12px 0;border-bottom:1px solid var(--border,#e0e3ea);padding-bottom:8px}.h1[data-v-6a211274]{font-size:20px;line-height:24px;font-weight:500;margin:0}.card[data-v-6a211274]{background:var(--surface,#fff);border:1px solid var(--border,#e0e3ea);border-radius:10px;box-shadow:0 1px 0 rgba(0,0,0,.02);max-width:480px;padding:14px;margin:16px auto 24px}.form[data-v-6a211274]{display:flex;flex-direction:column;gap:12px}.field label[data-v-6a211274]{display:block;font-size:14px;line-height:20px;margin:0 0 6px 0;color:var(--text,#1f2937)}.field input[data-v-6a211274]{width:100%;height:36px;padding:8px;border:1px solid var(--border,#e0e3ea);border-radius:6px;background:var(--surface,#fff);color:var(--text,#1f2937);outline:none;transition:box-shadow .15s ease,border-color .15s ease}.field input[data-v-6a211274]:focus{box-shadow:0 0 0 2px var(--focus,rgba(79,70,229,.45));border-color:var(--primary,#4f46e5)}.help[data-v-6a211274]{font-size:12px;line-height:16px;margin:6px 0 0 0;color:var(--muted,#6b7280)}.help.danger[data-v-6a211274]{color:var(--danger,#ef4444)}.btn[data-v-6a211274]{height:40px;padding:0 14px;border-radius:6px;border:1px solid var(--primary,#4f46e5);background:transparent;color:var(--primary,#4f46e5);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.btn[disabled][data-v-6a211274]{opacity:.6;cursor:default}.btn-primary[data-v-6a211274]{background:var(--primary,#4f46e5);color:#fff;border-color:var(--primary,#4f46e5)}.btn-primary[data-v-6a211274]:hover{background:var(--primary-600,#4338ca);border-color:var(--primary-600,#4338ca)}.spinner[data-v-6a211274]{display:inline-block;width:16px;height:16px;margin-right:8px;border:2px solid hsla(0,0%,100%,.6);border-top-color:#fff;border-radius:50%;animation:spin-6a211274 .9s linear infinite;vertical-align:-3px}@keyframes spin-6a211274{to{transform:rotate(1turn)}}.notice[data-v-6a211274]{border-radius:6px;border:1px solid var(--border,#e0e3ea);padding:10px 12px;font-size:14px;line-height:20px}.notice-success[data-v-6a211274]{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.08);color:var(--text,#1f2937)}.notice-danger[data-v-6a211274]{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.08);color:var(--text,#1f2937)}.mt-8[data-v-6a211274]{margin-top:8px}.mt-12[data-v-6a211274]{margin-top:12px}.two-col[data-v-73532f61]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.table-row[data-v-73532f61]{padding:5px 0;font-size:14px}.chip-box[data-v-6fc6c7f0]{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:8px}.chip[data-v-6fc6c7f0]{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:4px 10px;font-size:13px;line-height:1.4}.chip.active[data-v-6fc6c7f0]{background:rgba(79,70,229,.12);border-color:var(--primary);color:var(--primary-600)}.chip.active.warn[data-v-6fc6c7f0],.chip.warn[data-v-6fc6c7f0]{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.5);color:var(--warn)}.muted[data-v-6fc6c7f0]{color:var(--muted)}.sortable[data-v-421f4637]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sortable[data-v-421f4637]:hover{text-decoration:underline}.table-row[data-v-421f4637]{padding:5px 0;font-size:14px}.field.has-error[data-v-421f4637] .p-calendar .p-inputtext,.field.has-error[data-v-421f4637] .p-inputtext,.field.has-error[data-v-421f4637] input,.field.has-error[data-v-421f4637] select,.field.has-error[data-v-421f4637] textarea{border-color:var(--danger)}.field.has-error p.help[data-v-421f4637]{font-size:12px}.chip-box[data-v-67e5b1ef]{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:8px}.chip[data-v-67e5b1ef]{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:4px 10px;font-size:13px;line-height:1.4}.chip.active[data-v-67e5b1ef]{background:rgba(79,70,229,.12);border-color:var(--primary);color:var(--primary-600)}.muted[data-v-67e5b1ef]{color:var(--muted)}.badge[data-v-67e5b1ef]{display:inline-block;font-size:12px;line-height:16px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);margin-left:8px}.badge-warn[data-v-67e5b1ef]{color:var(--warn);border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.08)}.table-header.column-6[data-v-64827f68],.table-row.column-6[data-v-64827f68]{grid-template-columns:1.2fr 1.2fr 120px 160px 120px 100px}.table-header.column-5[data-v-64827f68],.table-row.column-5[data-v-64827f68]{grid-template-columns:1.2fr 1.2fr 120px 160px 120px}.table-row[data-v-64827f68]{padding:5px 0;font-size:14px}.sortable[data-v-64827f68]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sortable[data-v-64827f68]:hover{text-decoration:underline}.badge[data-v-64827f68]{display:inline-block;font-size:12px;line-height:16px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);margin-left:8px}.badge-warn[data-v-64827f68]{color:var(--warn);border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.08)}.status-row[data-v-64827f68]{display:flex;align-items:center;gap:8px}.status-label[data-v-64827f68]{text-align:left}.chk-small[data-v-64827f68]{width:16px;height:16px;vertical-align:middle;accent-color:var(--primary);margin-right:8px;margin-top:0}.row-two[data-v-833af3e0]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-field label[data-v-833af3e0]{display:inline-flex;align-items:center;gap:8px;text-align:left}input.chk-small[data-v-833af3e0]{width:16px;height:16px;accent-color:var(--success,#10b981)}.pwd-meter[data-v-833af3e0]{height:6px;background:var(--border);border-radius:999px;overflow:hidden;margin-top:10px}.pwd-meter .bar[data-v-833af3e0]{height:100%;width:0;transition:width .18s ease;background:var(--danger)}.row-two[data-v-0c7f2748]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.perm-header[data-v-0c7f2748]{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.perm-grid[data-v-0c7f2748]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 12px}.checkbox-field label[data-v-0c7f2748],.perm-item[data-v-0c7f2748]{display:inline-flex;align-items:center;gap:8px}.checkbox-field label[data-v-0c7f2748]{text-align:left}input.chk-small[data-v-0c7f2748]{width:16px;height:16px;accent-color:var(--success,#10b981)}.columns[data-v-15feb028]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field[data-v-15feb028]{display:flex;flex-direction:column}label[data-v-15feb028]{font-weight:600;margin-bottom:4px}.search[data-v-15feb028]{width:100%}.footer[data-v-15feb028]{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%}.footer .right[data-v-15feb028]{display:flex;gap:8px}.btn[data-v-15feb028]{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 12px;border-radius:8px;cursor:pointer}.btn.primary[data-v-15feb028]{background:var(--primary);color:#fff;border-color:var(--primary)}.error[data-v-15feb028]{color:#dc2626}.muted[data-v-15feb028]{color:#6b7280;font-size:13px}.chip-box[data-v-15feb028]{border:1px solid var(--border);border-radius:12px;padding:8px;min-height:48px;max-height:260px;overflow-y:auto;background:var(--surface)}.chips[data-v-15feb028]{display:flex;flex-wrap:wrap;gap:8px}.chip[data-v-15feb028]{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 12px;font-size:13px;line-height:1.4;cursor:pointer}.chip.active[data-v-15feb028]{background:rgba(79,70,229,.12);border-color:var(--primary);color:var(--primary-600)}.sortable[data-v-753b7e26]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.table-row[data-v-753b7e26]{padding:5px 0;font-size:14px;display:grid;grid-template-columns:2fr 2fr 1fr 1fr 1fr 1fr;gap:8px;border-bottom:1px solid var(--border)}.sortable[data-v-753b7e26]:hover{text-decoration:underline}.badge[data-v-753b7e26]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:rgba(0,0,0,.06)}.badge[data-role="1"][data-v-753b7e26]{background:rgba(239,68,68,.1);color:#991b1b}.badge[data-role="2"][data-v-753b7e26]{background:rgba(37,99,235,.1);color:#1e3a8a}.badge[data-role="3"][data-v-753b7e26]{background:rgba(16,185,129,.1);color:#065f46}.timeline-card[data-v-1e4c47d8]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px}.timeline-header[data-v-1e4c47d8]{display:flex;justify-content:space-between;font-weight:bolder;font-size:12px;color:var(--muted);line-height:16px}.timeline-header .tick[data-v-1e4c47d8]{white-space:nowrap}.timeline-grid[data-v-1e4c47d8]{display:grid;grid-template-columns:150px 48px 1fr 48px;grid-template-rows:auto 1fr;gap:2px;align-items:start;height:calc(100vh - 290px);overflow-y:scroll}.labels-col[data-v-1e4c47d8]{display:flex;flex-direction:column}.actions-col[data-v-1e4c47d8]{display:grid;align-items:center;margin-right:4px}.actions-col-right[data-v-1e4c47d8]{margin-right:0;margin-left:4px}.row-action[data-v-1e4c47d8]{display:flex;align-items:stretch;justify-content:center;margin:3px 0}.checkin-btn[data-v-1e4c47d8],.checkout-btn[data-v-1e4c47d8]{width:100%;height:100%;border:1px solid var(--success);color:var(--success);background:rgba(16,185,129,.1);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.checkin-btn[data-v-1e4c47d8]:hover{background:rgba(16,185,129,.08)}.checkin-btn[data-v-1e4c47d8]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.checkout-btn[data-v-1e4c47d8]{border-color:var(--warn);color:var(--warn);background:rgba(245,158,11,.1)}.checkout-btn[data-v-1e4c47d8]:hover{background:rgba(245,158,11,.08)}.row-label[data-v-1e4c47d8]{font-size:12px;color:var(--muted);padding:3px 3px 3px 5px;margin:3px 4px 3px 0;border:1px solid var(--border);border-radius:8px 0 0 8px;min-height:54px;line-height:15px;font-weight:500;display:flex;align-items:center;justify-content:space-between}.row-label.is-student[data-v-1e4c47d8]{color:var(--text);min-height:54px}.row-label.clickable[data-v-1e4c47d8]{cursor:pointer}.row-label.is-student .row-name[data-v-1e4c47d8]{font-weight:500;font-size:13px}.row-label.is-student .row-right[data-v-1e4c47d8]{display:block;width:40px;text-align:right;line-height:16px}.row-label.is-student.has-notice[data-v-1e4c47d8],.row-label.is-student.released[data-v-1e4c47d8]{background:rgba(245,158,11,.14);border-color:var(--warn)}.row-label.is-student.present[data-v-1e4c47d8]{background:rgba(16,185,129,.1);border-color:var(--success)}.notice-icon[data-v-1e4c47d8],.release-icon[data-v-1e4c47d8]{color:var(--warn);font-size:14px}.late-badge[data-v-1e4c47d8]{font-size:10px;padding:1px 4px;border-radius:10px;border:1px solid var(--danger);background:var(--danger);color:#fff;font-weight:600;line-height:1}.timeline-col .event-name[data-v-1e4c47d8]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;font-weight:700}.timeline-col[data-v-1e4c47d8]{position:relative;display:flex;flex-direction:column;background:var(--bg);border:1px dashed var(--border)}.lane[data-v-1e4c47d8]{position:relative;height:60px;border-bottom:1px dashed var(--border)}.lane[data-v-1e4c47d8]:last-child{border-bottom:none}.block[data-v-1e4c47d8]{position:absolute;top:3px;height:calc(100% - 6px);border:1px solid var(--border);border-radius:3px;background:var(--surface);padding:3px;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;z-index:10}.block.clickable[data-v-1e4c47d8]{cursor:pointer}.block.mandatory[data-v-1e4c47d8]{background:rgba(37,99,235,.08)}.block.optional[data-v-1e4c47d8]{background:rgba(16,185,129,.08)}.block.canceled[data-v-1e4c47d8]{padding:0;border-color:var(--danger);background-image:repeating-linear-gradient(45deg,rgba(239,68,68,.25),rgba(239,68,68,.25) 6px,transparent 0,transparent 12px)}.block.canceled .block-label[data-v-1e4c47d8]{display:none}.block-label[data-v-1e4c47d8]{font-size:12px;line-height:1.3;gap:6px}.meta[data-v-1e4c47d8]{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sep[data-v-1e4c47d8]{color:var(--muted)}.block-meta[data-v-1e4c47d8]{display:flex;gap:6px;align-items:center}.chip[data-v-1e4c47d8]{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}.now-marker[data-v-1e4c47d8]{position:absolute;top:0;bottom:0;width:2px;background:var(--primary-600);pointer-events:none;z-index:1}.badge[data-v-1e4c47d8]{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--border)}.badge-info[data-v-1e4c47d8]{background:rgba(37,99,235,.1);border-color:#93c5fd}.badge-warn[data-v-1e4c47d8]{background:rgba(245,158,11,.1);border-color:#fcd34d}.badge-success[data-v-1e4c47d8]{background:rgba(16,185,129,.1);border-color:#6ee7b7}.badge-danger[data-v-1e4c47d8]{background:rgba(239,68,68,.1);border-color:#fca5a5}.muted[data-v-1e4c47d8]{color:var(--muted)}.block.future[data-v-1e4c47d8]:not(.canceled){background:hsla(220,9%,46%,.1)}.block.past[data-v-1e4c47d8]:not(.canceled){background:rgba(16,185,129,.2)}.block.ready[data-v-1e4c47d8]{border-style:dashed;background:hsla(220,9%,46%,.05)!important}.block.started[data-v-1e4c47d8]{border-style:solid}.block.mandatory[data-v-1e4c47d8]:not(.canceled){border-bottom-width:2px;border-bottom-color:var(--text)}.block.completed[data-v-1e4c47d8]:not(.canceled){background:rgba(16,185,129,.5)!important}.block.completed[data-v-1e4c47d8]:not(.canceled):after{content:"✓";position:absolute;right:1px;bottom:1px;font-size:14px;font-weight:700;color:var(--primary-600);line-height:1;pointer-events:none}.block.st-bg-gray[data-v-1e4c47d8]:not(.canceled){background:hsla(220,9%,46%,.12)}.block.st-bg-red[data-v-1e4c47d8]:not(.canceled){background:hsla(0,71%,80%,.35)}.block.st-bg-green[data-v-1e4c47d8]:not(.canceled){background:rgba(16,185,129,.14)}.block.st-bl-green[data-v-1e4c47d8]{border-left:2px solid var(--success)}.block.st-br-green[data-v-1e4c47d8]{border-right:2px solid var(--success)}.block.st-bl-red[data-v-1e4c47d8]{border-left:2px solid var(--danger)}.block.st-br-yellow[data-v-1e4c47d8]{border-right:2px solid var(--warn)}.block.st-br-dashed[data-v-1e4c47d8]{border-right-style:dashed}.block.st-bl-dashed[data-v-1e4c47d8]{border-left-style:dashed}.block.st-paused[data-v-1e4c47d8]{border-left:1px solid var(--border);border-right:1px solid var(--border)}.block.st-ext-icons[data-v-1e4c47d8]{overflow:visible}.block.st-visited[data-v-1e4c47d8]:not(.canceled){background:rgba(16,185,129,.2)!important}.block.st-visited-current[data-v-1e4c47d8]:not(.canceled){background:rgba(16,185,129,.5)!important}.stay-markers[data-v-1e4c47d8]{position:absolute;inset:0;pointer-events:none;z-index:2}.stay-caret[data-v-1e4c47d8]{position:absolute;top:30%;transform:translateY(-50%);width:0;height:0;pointer-events:none;z-index:2}.stay-caret-in[data-v-1e4c47d8]{border-left:8px solid var(--success);margin-left:-8px}.stay-caret-in[data-v-1e4c47d8],.stay-caret-rel[data-v-1e4c47d8]{border-top:5px solid transparent;border-bottom:5px solid transparent}.stay-caret-rel[data-v-1e4c47d8]{border-left:8px solid var(--warn);margin-left:8px}.stay-range[data-v-1e4c47d8]{position:absolute;height:100%;background:hsla(0,0%,90%,.3);z-index:1;pointer-events:none;border:0;top:0}.muted[data-v-15d52126]{color:var(--muted)}.notice[data-v-15d52126]{border:1px solid var(--border);border-radius:6px;padding:10px 12px}.notice-danger[data-v-15d52126]{background:rgba(239,68,68,.1);border-color:#fca5a5}.small[data-v-15d52126]{font-size:12px;line-height:16px}.mt-12[data-v-15d52126]{margin-top:12px}.btn[data-v-15d52126]{padding:.35rem .6rem;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}.btn-warn[data-v-15d52126]{background:var(--warn);color:#fff;border-color:var(--warn)}.spinner[data-v-15d52126]{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-15d52126 1s linear infinite}.dialog-body-inner[data-v-15d52126]{font-size:13px}@keyframes spin-15d52126{to{transform:rotate(1turn)}}.absence-table[data-v-15d52126]{display:grid;grid-template-rows:auto;border:1px solid var(--border);border-radius:6px;overflow:hidden;font-size:13px}.absence-table-header[data-v-15d52126]{display:grid;grid-template-columns:2fr 3fr 1.4fr;gap:8px;padding:6px 10px;background:var(--bg);color:var(--muted);font-size:12px;font-weight:500}.absence-table-row[data-v-15d52126]{display:grid;grid-template-columns:2fr 3fr 1.4fr;gap:8px;padding:6px 10px;border-top:1px solid var(--border);align-items:center}.absence-name[data-v-15d52126]{white-space:nowrap}.absence-info[data-v-15d52126],.absence-name[data-v-15d52126]{overflow:hidden;text-overflow:ellipsis}.absence-worthless-cell[data-v-15d52126]{text-align:center}.chk-inline[data-v-15d52126]{display:inline-flex;align-items:center;gap:4px;font-size:12px}.toolbar[data-v-26f1afdf]{display:flex;gap:8px;align-items:baseline;position:relative;padding-top:5px}.toolbar-actions[data-v-26f1afdf]{display:inline-flex;gap:8px;justify-content:flex-end}.toolbar-actions.touch-view[data-v-26f1afdf]{position:absolute;top:10px;right:0}.add-student[data-v-26f1afdf]{display:flex;gap:8px;align-items:center;flex-wrap:wrap;max-width:335px;margin-right:70px}.as-fullscreen[data-v-26f1afdf]{position:fixed;inset:0;left:0;top:0;width:100vw;height:100vh;z-index:100;display:grid;align-items:stretch}.as-fullscreen[data-v-26f1afdf] .dialog{width:100%;height:100%;max-width:100vw;max-height:100vh;margin:0;border-radius:0}.as-fullscreen .att-table[data-v-26f1afdf]{height:90%}.as-fullscreen .att-body[data-v-26f1afdf]{max-height:calc(100vh - 140px)}.bulk-actions[data-v-26f1afdf]{display:flex;gap:8px;align-items:center;flex-wrap:wrap;width:auto;flex:1 1 auto}.bulk-actions .bulk-actions-item[data-v-26f1afdf]{display:flex;flex-direction:column;align-items:baseline;gap:2px}.bulk-actions .bulk-actions-item .actions-item[data-v-26f1afdf]{gap:6px;display:inline-flex;align-items:center}.bulk-actions input.flatpickr-datetime[data-v-26f1afdf]{width:55px!important;text-align:center}.bulk-actions input.flatpickr-datetime[data-v-26f1afdf]::-moz-placeholder{font-size:13px}.bulk-actions input.flatpickr-datetime[data-v-26f1afdf]::placeholder{font-size:13px}.bulk-actions-item.release-actions-items .bulk-actions-item-inner[data-v-26f1afdf]{display:flex;flex-direction:column}.att-table[data-v-26f1afdf]{display:grid;grid-template-rows:auto auto 1fr;gap:8px;border-bottom:1px solid var(--border);overflow-x:auto}.small[data-v-26f1afdf]{font-size:12px;line-height:1.4}.sep[data-v-26f1afdf]{margin-left:12px}.att-filters[data-v-26f1afdf]{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:5px;padding:5px;background:#f5f5f5;margin-top:-10px}.att-header[data-v-26f1afdf]{display:grid;gap:8px;align-items:center;padding:4px 0 2px 0;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1;width:100%}.att-header .col-head[data-v-26f1afdf]{display:flex;flex-direction:column;align-items:center;gap:4px}.att-header .col-tools[data-v-26f1afdf]{display:inline-flex;gap:6px;justify-content:flex-start}.att-header .col-tools .icon-btn[data-v-26f1afdf]{height:28px;width:28px;border:1px solid var(--border);border-radius:6px;background:var(--gray-50);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.att-header .col-tools .icon-btn[data-v-26f1afdf]:disabled{opacity:.6;cursor:default}.inline .time-text[data-v-26f1afdf]{min-width:80px}.name-line[data-v-26f1afdf]{font-weight:600;line-height:1.35}.name-hint[data-v-26f1afdf]{margin-top:4px}.att-header .sticky-col.sticky-name[data-v-26f1afdf]{position:sticky;left:2px;z-index:5;background:var(--surface);border-right:1px solid var(--border);height:100%;line-height:48px;font-weight:600}.att-row>.sticky-col.sticky-name[data-v-26f1afdf]{position:sticky;left:0;z-index:4;background:var(--surface);border-right:1px solid var(--border);height:100%;padding-right:44px}.remove-student-btn[data-v-26f1afdf]{position:absolute;right:8px;top:50%;transform:translateY(-50%);height:28px;width:28px;border:1px solid var(--border);border-radius:6px;background:var(--surface);display:inline-flex;align-items:center;justify-content:center;margin-left:0}.remove-student-btn[data-v-26f1afdf]:disabled{opacity:.6;cursor:default}.att-body[data-v-26f1afdf]{overflow-y:auto;overflow-x:clip;max-height:56vh;padding-bottom:2px}.att-body.fullscreen[data-v-26f1afdf]{max-height:78vh}.att-row[data-v-26f1afdf]{display:grid;gap:8px;align-items:center;padding:4px 0 2px 2px;border-bottom:1px solid var(--border);grid-template-columns:1.8fr 220px 220px 100px 250px 100px}.att-row .att-row-actions-right[data-v-26f1afdf]{justify-content:flex-end}.att-row .last-out .time-text[data-v-26f1afdf]{text-align:right;width:100%;font-weight:400;font-size:11px;color:#444;line-height:12px}.att-empty[data-v-26f1afdf]{padding:8px 0;margin:0}.title-expand[data-v-26f1afdf]{position:absolute;right:120px;top:50%;transform:translateY(-50%);height:38px;width:48px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;cursor:pointer;border:1px solid var(--border);background:var(--surface);z-index:2}.title-expand[data-v-26f1afdf]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}[data-v-26f1afdf] .title-help .help-popover{z-index:1200!important}.input-slim[data-v-26f1afdf]{width:395px;height:30px;padding:.25rem .45rem;border:1px solid var(--border);border-radius:.55rem;font-size:.9rem;background:var(--surface)}.btn-slim[data-v-26f1afdf]{height:30px;padding:.25rem .5rem}.filter-item[data-v-26f1afdf]{margin-left:25px}.select-slim[data-v-26f1afdf]{height:30px;padding:.25rem .45rem;border:1px solid var(--border);border-radius:.55rem;font-size:.9rem;background:var(--surface);width:55px}.select-slim.select-release[data-v-26f1afdf]{width:190px;margin-right:10px}.inline[data-v-26f1afdf]{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.chk[data-v-26f1afdf]{display:inline-flex;align-items:center;gap:8px;accent-color:var(--primary);width:100%}.chk input[type=checkbox][data-v-26f1afdf]{width:16px;height:16px}.muted[data-v-26f1afdf]{color:var(--muted)}.row-actions[data-v-26f1afdf]{display:inline-flex;gap:8px;justify-content:flex-end;margin-bottom:-12px}.btn.time-dlg__remove-btn[data-v-26f1afdf]{margin-right:auto;background:color-mix(in srgb,var(--danger) 80%,var(--surface));border:1px solid var(--danger);color:var(--border)}.btn.time-dlg__remove-btn[data-v-26f1afdf]:hover{background:var(--danger)}.release-row[data-v-26f1afdf]{grid-column:3/-1;display:grid;grid-template-columns:500px auto;gap:8px;align-items:center;padding:4px 0 2px 0}.release-actions[data-v-26f1afdf]{display:inline-flex;gap:8px;justify-content:flex-end}.spinner[data-v-26f1afdf]{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-26f1afdf 1s linear infinite}@keyframes spin-26f1afdf{to{transform:rotate(1turn)}}.btn[data-v-26f1afdf]{padding:.35rem .6rem;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}.btn-primary[data-v-26f1afdf]{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-warn[data-v-26f1afdf]{background:var(--warn);color:#fff;border-color:var(--warn)}.mt-12[data-v-26f1afdf]{margin-top:12px}.text-right[data-v-26f1afdf]{text-align:right}.text-center[data-v-26f1afdf]{text-align:center}[data-v-26f1afdf] input.flatpickr-datetime{box-sizing:border-box;height:28px;padding:3px;border:1px solid #d0d5dd;border-radius:.55rem;line-height:1.25;font-size:14px;background:#fff;width:170px}[data-v-26f1afdf] input.flatpickr-datetime::-moz-placeholder{color:#d6d6d6}[data-v-26f1afdf] input.flatpickr-datetime::placeholder{color:#d6d6d6}[data-v-26f1afdf] input.flatpickr-datetime.only--time{width:120px}[data-v-26f1afdf] .dialog-footer{justify-content:flex-end;display:flex;border-top:1px solid #eee}.attendance-dialog.hide-footer[data-v-26f1afdf] .dialog-footer{display:none!important}.att-row.row-warn .sticky-name[data-v-26f1afdf],.att-row.row-warn[data-v-26f1afdf]{background:color-mix(in srgb,var(--warn) 12%,var(--surface))}.release-touch-btn[data-v-26f1afdf]{padding:0 20px;background-color:rgba(245,158,11,.14);height:32px;margin-right:10px;text-align:center;border-color:rgba(245,158,11,.24)}.release-touch-btn[data-v-26f1afdf]:hover{background:rgba(245,158,11,.24)}.release-touch-btn[data-v-26f1afdf]:disabled{border:1px solid var(--border);background:var(--surface);color:#ccc}.badge-notice[data-v-26f1afdf]{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;font-size:12px;line-height:1.4;color:var(--text)}.badge-notice i[data-v-26f1afdf]{color:var(--info)}.att-row .col-time[data-v-26f1afdf]{background:#f5f5f5;padding:3px 5px}.att-header .col-head.col-time[data-v-26f1afdf]{background:#f5f5f5;padding:2px 0}@media (min-width:1400px){.att-header[data-v-26f1afdf],.att-row[data-v-26f1afdf]{grid-template-columns:2fr 280px 240px 240px 110px}.release-row[data-v-26f1afdf]{grid-template-columns:520px auto}}@media (min-width:1200px) and (max-width:1399px){.att-header[data-v-26f1afdf],.att-row[data-v-26f1afdf]{grid-template-columns:1.8fr 250px 220px 220px 100px}.release-row[data-v-26f1afdf]{grid-template-columns:500px auto}}@media (min-width:1024px) and (max-width:1199px){.att-header[data-v-26f1afdf],.att-row[data-v-26f1afdf]{grid-template-columns:1.6fr 220px 200px 200px 90px}.release-row[data-v-26f1afdf]{grid-template-columns:460px auto}}@media (min-width:768px) and (max-width:1023px){.att-header[data-v-26f1afdf],.att-row[data-v-26f1afdf]{grid-template-columns:1.5fr 210px 190px 190px 90px}.release-row[data-v-26f1afdf]{grid-template-columns:440px auto}.bulk-actions-item.release-actions-items[data-v-26f1afdf]{margin-left:0!important}}@media (max-width:1599px){.title-expand[data-v-26f1afdf]{display:none}.as-fullscreen .title-expand[data-v-26f1afdf]{display:inline-flex}}@media (min-width:768px) and (max-width:1366px) and (orientation:portrait){.input-slim[data-v-26f1afdf]{width:auto}.attendance-dialog[data-v-26f1afdf] .dialog{margin:10px!important;width:calc(100vw - 20px)!important;height:calc(100vh - 20px)!important;min-width:0!important;min-height:0!important;max-width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;border-radius:10px}.toolbar-actions[data-v-26f1afdf]{position:relative;display:flex;width:100%}}@media (min-width:768px) and (max-width:1366px) and (max-height:1024px){.attendance-dialog[data-v-26f1afdf] .dialog{margin:10px!important;width:calc(100vw - 20px)!important;height:calc(100vh - 20px)!important;min-width:0!important;min-height:0!important;max-width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;border-radius:10px}.attendance-dialog .toolbar-actions[data-v-26f1afdf]{position:static;display:inline-flex;margin-left:auto;margin-top:8px}}.att-cell-btn[data-v-26f1afdf]{width:100%;min-height:24px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);display:inline-flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.att-cell-btn.checkedTime[data-v-26f1afdf]{background:color-mix(in srgb,var(--primary) 20%,transparent);box-shadow:inset 3px 3px 3px -2px #20b2aa}.att-cell-btn[data-v-26f1afdf]:disabled{opacity:.3;cursor:default}.att-cell-btn[data-v-26f1afdf]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.att-cell-btn__label[data-v-26f1afdf]{font-weight:600;color:var(--text)}.att-cell-btn__time[data-v-26f1afdf]{font-variant-numeric:tabular-nums}.time-dlg[data-v-26f1afdf]{display:flex;flex-direction:column;gap:10px}.time-dlg__row[data-v-26f1afdf]{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:end;margin-top:6px}.time-dlg__sep[data-v-26f1afdf]{align-self:center;font-weight:600;color:var(--muted);padding-bottom:6px}.time-dlg__input[data-v-26f1afdf]{height:40px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:16px;text-align:center}.time-dlg__input[data-v-26f1afdf]:focus{box-shadow:0 0 0 2px var(--focus);border-color:var(--primary)}.stay-edit[data-v-21be1ab0]{padding:0;border:none;box-shadow:none}.help[data-v-21be1ab0]{font-size:12px;line-height:16px;color:var(--muted)}.mt-12[data-v-21be1ab0]{margin-top:12px}.field-grid[data-v-21be1ab0]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field label[data-v-21be1ab0]{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.field input[type=time][data-v-21be1ab0]{width:100%;height:38px;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.field input[type=time][data-v-21be1ab0]:focus-visible{outline:3px solid var(--focus);border-color:var(--primary)}.attendance-box[data-v-21be1ab0]{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--surface)}.stay-slider[data-v-21be1ab0]{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface);box-shadow:var(--shadow-1)}.stay-slider-header[data-v-21be1ab0]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.stay-slider-label[data-v-21be1ab0]{font-size:13px;font-weight:500}.stay-slider-current[data-v-21be1ab0]{font-size:13px;font-weight:500;color:var(--primary)}.stay-slider-track[data-v-21be1ab0]{position:relative;height:32px;display:flex;align-items:center;margin-bottom:8px}.stay-slider-rail[data-v-21be1ab0]{position:absolute;height:6px;border-radius:999px;background:var(--bg);border:1px solid var(--border);left:0;width:100%}.stay-slider-rail.rail[data-v-21be1ab0]{z-index:1}.stay-slider-fill[data-v-21be1ab0]{position:absolute;height:6px;border-radius:999px;background:color-mix(in srgb,var(--primary) 40%,transparent);z-index:2}.stay-slider-handle[data-v-21be1ab0]{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;width:100%;background:transparent;pointer-events:none;z-index:4}.stay-slider-handle[data-v-21be1ab0]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;pointer-events:auto;width:18px;height:18px;border-radius:999px;border:2px solid #fff;background:var(--primary);box-shadow:0 2px 6px rgba(15,23,42,.2);cursor:pointer;-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease}.stay-slider-handle[data-v-21be1ab0]::-moz-range-thumb{pointer-events:auto;width:18px;height:18px;border-radius:999px;border:2px solid #fff;background:var(--primary);box-shadow:0 2px 6px rgba(15,23,42,.2);cursor:pointer;-moz-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease}.stay-slider-handle[data-v-21be1ab0]::-moz-range-thumb:hover,.stay-slider-handle[data-v-21be1ab0]::-webkit-slider-thumb:hover{transform:scale(1.05);box-shadow:0 3px 8px rgba(15,23,42,.25)}.stay-slider-start[data-v-21be1ab0]::-moz-range-thumb,.stay-slider-start[data-v-21be1ab0]::-webkit-slider-thumb{background:var(--success)}.stay-slider-end[data-v-21be1ab0]::-moz-range-thumb,.stay-slider-end[data-v-21be1ab0]::-webkit-slider-thumb{background:var(--warn)}.stay-slider-handle[data-v-21be1ab0]::-moz-range-track,.stay-slider-handle[data-v-21be1ab0]::-webkit-slider-runnable-track{background:transparent}.stay-slider-meta[data-v-21be1ab0]{display:flex;flex-wrap:nowrap;gap:8px 30px;font-size:12px;line-height:16px}.stay-slider-bound.bound-release[data-v-21be1ab0]{margin-left:auto}.stay-slider-bound span[data-v-21be1ab0]:last-child{font-weight:500}.attendance-header[data-v-21be1ab0]{font-size:13px;font-weight:500;margin-bottom:6px}.attendance-list[data-v-21be1ab0]{list-style:none;padding:0;margin:0}.attendance-list li[data-v-21be1ab0]{display:flex;align-items:center;gap:6px;font-size:13px;line-height:18px}.attendance-list .dot[data-v-21be1ab0]{width:6px;height:6px;border-radius:999px;background:var(--primary);flex-shrink:0}[data-v-21be1ab0] .dialog-footer{display:flex;gap:8px;justify-content:flex-end}.btn-danger[data-v-21be1ab0]{background:var(--danger);color:#fff;border:1px solid var(--danger)}.btn-danger[data-v-21be1ab0]:hover{background:color-mix(in srgb,var(--danger) 90%,#000)}.notice[data-v-21be1ab0]{border-radius:6px}.timeline[data-v-246b4f12]{display:grid;gap:10px;position:relative}.icon-btn[data-v-246b4f12]{height:30px;min-width:30px;padding:0;margin-left:6px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.icon-btn .icon-edit[data-v-246b4f12]{color:var(--muted)}.icon-btn:hover .icon-edit[data-v-246b4f12]{color:var(--primary)}.pair-row[data-v-246b4f12]{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:4px 0;border-bottom:1px solid var(--border)}.pair-left[data-v-246b4f12]{font-size:14px;line-height:20px}.pair-left.underline[data-v-246b4f12]{text-decoration:underline}.pair-right[data-v-246b4f12]{font-size:14px;line-height:20px;text-align:right;white-space:nowrap}.tl-special[data-v-246b4f12]{font-size:14px;line-height:20px;color:var(--text);display:flex;justify-content:space-between;align-items:center;padding:2px 0 6px 0;border-bottom:1px solid var(--border)}.tl-row[data-v-246b4f12]{display:grid;grid-template-columns:100px 24px 1fr;align-items:start;gap:8px;min-height:32px}.tl-time[data-v-246b4f12]{font-size:12px;color:var(--muted);line-height:20px}.tl-line[data-v-246b4f12]{position:relative;height:100%;min-height:24px}.tl-dot[data-v-246b4f12]{position:absolute;left:50%;transform:translate(-50%,5px);width:10px;height:10px;border-radius:999px;border:2px solid var(--border-strong);background:#fff;z-index:2}.tl-rail[data-v-246b4f12]{position:absolute;left:50%;transform:translateX(-50%);top:-10px;bottom:-10px;width:2px;background:var(--border-strong);z-index:1}.tl-caret[data-v-246b4f12]{position:absolute;left:50%;transform:translate(-40%,5px);width:0;height:0;z-index:2}.tl-caret.caret-in[data-v-246b4f12]{border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:10px solid var(--success)}.tl-caret.caret-out[data-v-246b4f12]{border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:10px solid var(--warn)}.dot-in[data-v-246b4f12]{border-color:var(--success)}.dot-out[data-v-246b4f12]{border-color:var(--primary)}.dot-release[data-v-246b4f12]{border-color:var(--warn);background:#f59e0b}.dot-success[data-v-246b4f12]{border-color:var(--success);background:var(--success)}.dot-danger[data-v-246b4f12]{border-color:var(--danger)}.dot-danger-fill[data-v-246b4f12]{border-color:var(--danger);background:var(--danger)}.tl-content[data-v-246b4f12]{display:grid;gap:2px}.tl-title[data-v-246b4f12]{font-size:14px;line-height:20px}.tl-meta[data-v-246b4f12]{font-size:12px;line-height:16px}.tl-meta.late[data-v-246b4f12]{padding:1px 6px}.late-badge[data-v-246b4f12],.tl-meta.late[data-v-246b4f12]{color:#fff;background:var(--danger);border:1px solid var(--danger);border-radius:999px;display:inline-block}.late-badge[data-v-246b4f12]{font-size:12px;line-height:16px;font-weight:600;padding:1px 8px;margin-left:6px;vertical-align:middle}.late-badge.soft[data-v-246b4f12]{background:transparent;color:var(--danger);border-color:var(--danger)}.now-layer[data-v-246b4f12]{position:absolute;inset:0;display:grid;grid-template-columns:minmax(220px,1fr) 24px 1fr;pointer-events:none;z-index:4}.now-layer .now-col[data-v-246b4f12]{grid-column:2;position:relative}.now-layer .now-arrow[data-v-246b4f12]{position:absolute;left:-12px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:8px solid var(--primary)}@keyframes nowPulse-246b4f12{0%{opacity:.85;filter:brightness(1)}50%{opacity:1;filter:brightness(1.1)}to{opacity:.85;filter:brightness(1)}}.tl-summary[data-v-246b4f12]{margin-top:8px;padding-top:8px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:center;justify-content:flex-end}.late-total[data-v-246b4f12]{font-weight:600;padding:2px 8px}.muted[data-v-246b4f12]{color:var(--muted)}.tl-row-rail[data-v-246b4f12]{display:grid;grid-template-columns:minmax(220px,1fr) 24px 1fr;align-items:start;gap:8px;min-height:32px;padding:4px 0}.tl-row-rail .release-note[data-v-246b4f12]{display:block;font-size:11px;line-height:12px;padding-left:70px;font-weight:300}.tl-left[data-v-246b4f12]{font-size:14px;line-height:20px}.tl-left .underline[data-v-246b4f12],.tl-left.underline[data-v-246b4f12]{text-decoration:underline}.tl-left em[data-v-246b4f12]{font-style:italic}.tl-right[data-v-246b4f12]{font-size:14px;line-height:20px;white-space:nowrap;position:relative}.tl-right .icon-btn[data-v-246b4f12]{width:22px;height:22px;top:-1px;position:absolute;min-width:auto;margin-left:10px}.accept-text[data-v-246b4f12]{display:inline-flex;align-items:center;gap:6px;white-space:break-spaces}.info-icon[data-v-246b4f12]{color:var(--info);flex:0 0 auto}.warn-row[data-v-246b4f12]{background:color-mix(in srgb,var(--warn) 10%,transparent);border-radius:6px}.tl-accept-banner[data-v-246b4f12]{grid-column:1/-1;display:inline-flex;align-items:center;gap:8px;padding:8px 10px;background:color-mix(in srgb,var(--warn) 12%,transparent);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);border-radius:6px;color:var(--text)}.tl-accept-banner .info-icon[data-v-246b4f12]{color:var(--warn);flex:0 0 auto}.dialog-footer[data-v-246b4f12]{display:flex;gap:8px;justify-content:flex-end}.page[data-v-51497e64]{padding:0;background:var(--bg);color:var(--text)}.page-header[data-v-51497e64]{border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px}.h1[data-v-51497e64]{font-size:26px;line-height:38px;font-weight:600;margin:0}.card[data-v-51497e64]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:0;height:calc(100vh - 160px)}.toolbar[data-v-51497e64]{display:flex;gap:12px;margin-bottom:12px}.field[data-v-51497e64]{display:flex;flex-direction:column;gap:6px;margin-bottom:0}.label[data-v-51497e64]{font-size:12px;color:var(--muted);font-weight:500}.input[data-v-51497e64]{height:38px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.input[data-v-51497e64]:focus{box-shadow:0 0 0 3px var(--focus);border-color:var(--primary);outline:none}.class-dropdown[data-v-51497e64],.timeline-filter-dropdown[data-v-51497e64]{position:relative}.class-dropdown-trigger[data-v-51497e64]{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;width:100%}.class-dropdown-trigger-text[data-v-51497e64]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-dropdown-panel[data-v-51497e64]{position:absolute;z-index:20;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px;box-shadow:0 12px 24px rgba(0,0,0,.08);max-height:260px;overflow:auto}.class-dropdown-list[data-v-51497e64]{list-style:none;padding:0;margin:0}.class-dropdown-item[data-v-51497e64]{border-radius:6px}.class-dropdown-item[data-v-51497e64]:hover{background:rgba(79,70,229,.06)}.class-dropdown-item.is-checked[data-v-51497e64]{background:rgba(79,70,229,.1)}.class-dropdown-option[data-v-51497e64]{display:flex;align-items:center;gap:10px;padding:0 10px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.class-dropdown-checkbox[data-v-51497e64]{width:16px;height:16px}.class-dropdown-label[data-v-51497e64]{flex:1;min-width:0;font-weight:500}.class-dropdown-empty[data-v-51497e64]{padding:8px 10px}.notice[data-v-51497e64]{border:1px solid var(--border);border-radius:6px;padding:10px 12px}.notice-danger[data-v-51497e64]{background:rgba(239,68,68,.1);border-color:#fca5a5}.mt-12[data-v-51497e64]{margin-top:12px}.spinner[data-v-51497e64]{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-51497e64 1s linear infinite}@keyframes spin-51497e64{to{transform:rotate(1turn)}}.segmented[data-v-51497e64]{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface);white-space:nowrap}.segmented-btn[data-v-51497e64]:first-child{border:0}.segmented-btn[data-v-51497e64]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-left:1px solid #ddd;background:transparent;color:var(--text);padding:8px 0;cursor:pointer;line-height:20px;width:150px}.segmented-btn[data-v-51497e64]:hover{background:rgba(79,70,229,.06)}.segmented-btn.active[data-v-51497e64]{background:var(--primary);color:#fff}.segmented-btn[data-v-51497e64]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.timelines[data-v-51497e64]{width:100%}.date-picker .icon-btn[data-v-51497e64]{height:30px;width:30px;border-radius:5px;border:1px solid var(--border);background:var(--surface);display:inline-flex;align-items:center;justify-content:center}.date-picker:hover .icon-btn[data-v-51497e64]{background:var(--surface)}.date-picker .icon-btn[data-v-51497e64]:hover{background:var(--surface-100)}.date-picker .icon-btn i[data-v-51497e64]{pointer-events:none}.timeline-filter-option-btn[data-v-51497e64]{width:100%;text-align:left;border:0;background:transparent;padding:10px;cursor:pointer;border-radius:6px;color:var(--text)}.timeline-filter-option-btn[data-v-51497e64]:hover{background:rgba(79,70,229,.06)}[data-v-9838daae]:root{--surface:#fff;--overlay:rgba(0,0,0,.35);--border:#e2e8f0;--text-muted:#64748b;--primary:#2563eb;--primary-600:#1d4ed8}.dialog-overlay[data-v-9838daae]{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:12px;z-index:1000}.dialog-card[data-v-9838daae]{width:min(560px,100%);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,.2);padding:14px 14px 12px;outline:none}.page-header[data-v-9838daae]{border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px}.h1[data-v-9838daae]{font-size:20px;line-height:24px;font-weight:600;margin:0}.form[data-v-9838daae]{display:grid;gap:12px}.field[data-v-9838daae]{display:grid;gap:6px}.input[data-v-9838daae],select[data-v-9838daae]{width:100%;height:38px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:14px}input#reasonText[data-v-9838daae]{height:38px}.help[data-v-9838daae]{margin:0;color:var(--text-muted);font-size:12px}.actions[data-v-9838daae]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.btn[data-v-9838daae]{height:38px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.btn-primary[data-v-9838daae]{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary[data-v-9838daae]:hover{background:var(--primary-600)}.spinner[data-v-9838daae]{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.45);border-top-color:#fff;border-radius:50%;display:inline-block;margin-right:8px;animation:spin-9838daae 1s linear infinite;vertical-align:-3px}@keyframes spin-9838daae{to{transform:rotate(1turn)}}.notice[data-v-9838daae]{border:1px solid var(--border);border-radius:6px;padding:10px 12px}.notice-danger[data-v-9838daae]{background:rgba(239,68,68,.1);border-color:#fca5a5;color:#991b1b}.mt-12[data-v-9838daae]{margin-top:12px}.modal-backdrop[data-v-5412edee]{position:fixed;inset:0;background:rgba(2,6,23,.55);display:grid;place-items:center;z-index:1000}.modal[data-v-5412edee]{width:min(980px,94vw);background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(2,6,23,.25);display:grid;grid-template-rows:auto 1fr auto;max-height:92vh}.modal__header[data-v-5412edee]{position:relative;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid #e5e7eb}.modal__title[data-v-5412edee]{margin:0;font-size:1.15rem;font-weight:700;color:#0f172a}.icon-btn[data-v-5412edee]{border:0;background:transparent;font-size:1.4rem;line-height:1;cursor:pointer;color:#334155}.modal__body[data-v-5412edee]{padding:1rem 1.2rem;overflow:auto}.modal__footer[data-v-5412edee]{padding:.9rem 1.2rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.6rem}.row[data-v-5412edee]{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem}.row--wrap[data-v-5412edee]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.row--single[data-v-5412edee]{grid-template-columns:1fr}.col[data-v-5412edee]{display:grid;gap:.35rem}.col--date[data-v-5412edee],.col--time[data-v-5412edee]{min-width:5rem;padding-right:0}.col--datetime[data-v-5412edee]{min-width:14rem;padding-right:0}.flatpickr-datetime[data-v-5412edee] .flatpickr-input{width:100%;padding:.55rem .7rem;border:1px solid #d0d5dd;border-radius:.55rem;font-size:.95rem;background:#fff;height:2.2rem;line-height:1.2rem}.control.is-invalid[data-v-5412edee] .flatpickr-input,.input.is-invalid[data-v-5412edee],select.is-invalid[data-v-5412edee]{border-color:#ef4444!important;box-shadow:0 0 0 1px rgba(239,68,68,.08)}.is-invalid[data-v-5412edee]::-moz-placeholder{color:#ef4444}.is-invalid[data-v-5412edee]::placeholder{color:#ef4444}.alert--error ul[data-v-5412edee]{margin:.25rem 0 0;padding-left:1.2rem}.col--checkbox[data-v-5412edee]{align-content:end}.label[data-v-5412edee]{font-weight:600;font-size:.9rem;color:#334155}.input[data-v-5412edee],select[data-v-5412edee]{width:100%;padding:.55rem .7rem;border:1px solid #d0d5dd;border-radius:.55rem;font-size:.95rem;background:#fff}.combo[data-v-5412edee]{position:relative}.hint[data-v-5412edee]{color:#6b7280;font-size:.8rem}.btn[data-v-5412edee]{padding:.55rem .9rem;border:1px solid var(--border);border-radius:.55rem;background:var(--surface);color:var(--text);cursor:pointer}.btn[data-v-5412edee]:hover{filter:brightness(1.02)}.btn[data-v-5412edee]:disabled{opacity:.65;cursor:not-allowed}.btn-ghost[data-v-5412edee]{background:transparent}.alert[data-v-5412edee]{padding:.6rem .8rem;border-radius:.55rem;margin-bottom:.8rem;font-size:.9rem}.alert--error[data-v-5412edee]{background:#fee2e2;color:#7f1d1d;border:1px solid #fecaca}[data-v-5412edee]:host,[data-v-5412edee]:root{--surface:#f8fafc;--text:#0f172a;--border:#e5e7eb;--primary:#2563eb}.btn-primary[data-v-5412edee]{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary[data-v-5412edee]:hover{filter:brightness(.98)}[data-v-5412edee] input.flatpickr-datetime{box-sizing:border-box;height:38px;padding:.45rem .65rem;border:1px solid #d0d5dd;border-radius:.55rem;line-height:1.25;font-size:.95rem;background:#fff;width:100%}.modal__header[data-v-5412edee] .help-popover{z-index:1200!important}.modal-backdrop[data-v-568b1ed0]{position:fixed;inset:0;background:rgba(2,6,23,.55);display:grid;place-items:center;z-index:1000}.modal[data-v-568b1ed0]{width:min(980px,94vw);background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(2,6,23,.25);display:grid;grid-template-rows:auto 1fr auto;max-height:92vh}.modal__header[data-v-568b1ed0]{position:relative;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid #e5e7eb}.modal__title[data-v-568b1ed0]{margin:0;font-size:1.15rem;font-weight:700;color:#0f172a}.icon-btn[data-v-568b1ed0]{border:0;background:transparent;font-size:1.4rem;line-height:1;cursor:pointer;color:#334155}.modal__body[data-v-568b1ed0]{padding:1rem 1.2rem;overflow:auto}.modal__footer[data-v-568b1ed0]{padding:.9rem 1.2rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.6rem}.row[data-v-568b1ed0]{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem}.row--wrap[data-v-568b1ed0]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.row--single[data-v-568b1ed0]{grid-template-columns:1fr}.col[data-v-568b1ed0]{display:grid;gap:.35rem}.col--datetime[data-v-568b1ed0]{min-width:14rem;padding-right:0}.flatpickr-datetime[data-v-568b1ed0] .flatpickr-input{width:100%;padding:.55rem .7rem;border:1px solid #d0d5dd;border-radius:.55rem;font-size:.95rem;background:#fff;height:2.2rem;line-height:1.2rem}[data-v-568b1ed0] input.flatpickr-datetime{box-sizing:border-box;height:38px;padding:.45rem .65rem;border:1px solid #d0d5dd;border-radius:.55rem;line-height:1.25;font-size:.95rem;background:#fff;width:100%}.input[data-v-568b1ed0],select[data-v-568b1ed0]{width:100%;padding:.55rem .7rem;border:1px solid #d0d5dd;border-radius:.55rem;font-size:.95rem;background:#fff}.control.is-invalid[data-v-568b1ed0] .flatpickr-input,.input.is-invalid[data-v-568b1ed0],select.is-invalid[data-v-568b1ed0]{border-color:#ef4444!important;box-shadow:0 0 0 1px rgba(239,68,68,.08)}.is-invalid[data-v-568b1ed0]::-moz-placeholder{color:#ef4444}.is-invalid[data-v-568b1ed0]::placeholder{color:#ef4444}.hint[data-v-568b1ed0]{color:#6b7280;font-size:.8rem}.alert[data-v-568b1ed0]{padding:.6rem .8rem;border-radius:.55rem;margin-bottom:.8rem;font-size:.9rem}.alert--error[data-v-568b1ed0]{background:#fee2e2;color:#7f1d1d;border:1px solid #fecaca}.btn[data-v-568b1ed0]{padding:.55rem .9rem;border:1px solid var(--border);border-radius:.55rem;background:var(--surface);color:var(--text);cursor:pointer}.btn-ghost[data-v-568b1ed0]{background:transparent}.btn[data-v-568b1ed0]:disabled{opacity:.65;cursor:not-allowed}[data-v-568b1ed0]:host,[data-v-568b1ed0]:root{--surface:#f8fafc;--text:#0f172a;--border:#e5e7eb;--primary:#2563eb}.btn-primary[data-v-568b1ed0]{background:var(--primary);color:#fff;border-color:var(--primary)}.modal-backdrop[data-v-0d1b1fe8]{position:fixed;inset:0;background:rgba(2,6,23,.55);display:grid;place-items:center;z-index:1000}.modal[data-v-0d1b1fe8]{width:min(980px,94vw);background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(2,6,23,.25);display:grid;grid-template-rows:auto 1fr auto;max-height:92vh}.modal__header[data-v-0d1b1fe8]{position:relative;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid #e5e7eb}.modal__title[data-v-0d1b1fe8]{margin:0;font-size:1.15rem;font-weight:700;color:#0f172a}.icon-btn[data-v-0d1b1fe8]{border:0;background:transparent;font-size:1.4rem;line-height:1;cursor:pointer;color:#334155}.modal__body[data-v-0d1b1fe8]{padding:1rem 1.2rem;overflow:auto}.modal__footer[data-v-0d1b1fe8]{padding:.9rem 1.2rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.6rem}.row[data-v-0d1b1fe8]{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem}.row--wrap[data-v-0d1b1fe8]{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.row--single[data-v-0d1b1fe8]{grid-template-columns:1fr}.col[data-v-0d1b1fe8]{display:grid;gap:.35rem}.col--datetime[data-v-0d1b1fe8]{min-width:14rem;padding-right:0}.flatpickr-datetime[data-v-0d1b1fe8] .flatpickr-input{width:100%;padding:.55rem .7rem;border:1px solid #d0d5dd;border-radius:.55rem;font-size:.95rem;background:#fff;height:2.2rem;line-height:1.2rem}[data-v-0d1b1fe8] input.flatpickr-datetime{box-sizing:border-box;height:38px;padding:.45rem .65rem;border:1px solid #d0d5dd;border-radius:.55rem;line-height:1.25;font-size:.95rem;background:#fff;width:100%}.input[data-v-0d1b1fe8],select[data-v-0d1b1fe8]{width:100%;padding:.55rem .7rem;border:1px solid #d0d5dd;border-radius:.55rem;font-size:.95rem;background:#fff}.control.is-invalid[data-v-0d1b1fe8] .flatpickr-input,.input.is-invalid[data-v-0d1b1fe8],select.is-invalid[data-v-0d1b1fe8]{border-color:#ef4444!important;box-shadow:0 0 0 1px rgba(239,68,68,.08)}.is-invalid[data-v-0d1b1fe8]::-moz-placeholder{color:#ef4444}.is-invalid[data-v-0d1b1fe8]::placeholder{color:#ef4444}.hint[data-v-0d1b1fe8]{color:#6b7280;font-size:.8rem}.alert[data-v-0d1b1fe8]{padding:.6rem .8rem;border-radius:.55rem;margin-bottom:.8rem;font-size:.9rem}.alert--error[data-v-0d1b1fe8]{background:#fee2e2;color:#7f1d1d;border:1px solid #fecaca}.btn[data-v-0d1b1fe8]{padding:.55rem .9rem;border:1px solid var(--border);border-radius:.55rem;background:var(--surface);color:var(--text);cursor:pointer}.btn-ghost[data-v-0d1b1fe8]{background:transparent}.btn[data-v-0d1b1fe8]:disabled{opacity:.65;cursor:not-allowed}[data-v-0d1b1fe8]:host,[data-v-0d1b1fe8]:root{--surface:#f8fafc;--text:#0f172a;--border:#e5e7eb;--primary:#2563eb}.btn-primary[data-v-0d1b1fe8]{background:var(--primary);color:#fff;border-color:var(--primary)}.chip-box[data-v-57f76704]{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:8px}.chip[data-v-57f76704]{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:4px 10px;font-size:13px;line-height:1.4}.chip.active[data-v-57f76704]{background:rgba(79,70,229,.12);border-color:var(--primary);color:var(--primary-600)}.chip.warn[data-v-57f76704]{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.5);color:var(--warn)}.muted[data-v-57f76704]{color:var(--muted)}.help[data-v-57f76704]{font-size:12px;line-height:16px;color:var(--muted)}.notice-warn[data-v-57f76704]{background:color-mix(in srgb,var(--warn) 12%,var(--surface));border-color:color-mix(in srgb,var(--warn) 40%,var(--border));list-style:disc;padding-left:20px}.notice-warn li+li[data-v-57f76704]{margin-top:4px}.dialog-scroll[data-v-57f76704]{max-height:80vh;overflow:auto}.table-header[data-v-69b05b7c],.table-row[data-v-69b05b7c]{display:grid;align-items:center;gap:8px;border-bottom:1px solid var(--border);padding:5px 0;font-size:14px}header.page-header[data-v-69b05b7c]{border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px}.row-actions[data-v-69b05b7c]{display:inline-flex;gap:8px;justify-content:flex-end}.row-conflict[data-v-69b05b7c]{background:rgba(239,68,68,.08);position:relative}.row-conflict[data-v-69b05b7c]:before{content:"";position:absolute;left:-3px;top:0;bottom:0;width:3px;background:var(--danger);border-radius:0 2px 2px 0}.muted[data-v-69b05b7c]{color:var(--muted)}.small[data-v-69b05b7c]{font-size:12px;line-height:16px}.notice[data-v-69b05b7c]{border:1px solid var(--border);border-radius:6px;padding:10px 12px}.notice-danger[data-v-69b05b7c]{background:rgba(239,68,68,.1);border-color:#fca5a5}.mt-12[data-v-69b05b7c]{margin-top:12px}.sortable[data-v-69b05b7c]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sortable[data-v-69b05b7c]:hover{text-decoration:underline}.pill[data-v-69b05b7c]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border)}.pill-mandatory[data-v-69b05b7c]{background:rgba(239,68,68,.1);border-color:#fca5a5;color:var(--text)}.pill-optional[data-v-69b05b7c]{background:var(--bg);color:var(--muted)}.spinner[data-v-69b05b7c]{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin-69b05b7c 1s linear infinite}@keyframes spin-69b05b7c{to{transform:rotate(1turn)}}.btn[data-v-69b05b7c]{padding:.35rem .6rem;border:1px solid var(--border);border-radius:6px;background:#fff;cursor:pointer}.btn-primary[data-v-69b05b7c]{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-warn[data-v-69b05b7c]{background:var(--warn)}.offer-title[data-v-69b05b7c]{font-weight:700}.offer-title--completed[data-v-69b05b7c]{font-weight:400}.offer-title--canceled[data-v-69b05b7c]{font-weight:400;text-decoration:line-through}.icon-btn.attendance-btn[data-v-69b05b7c]{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.35);color:var(--text);height:30px;width:30px;border-radius:5px;justify-content:center}.icon-btn.attendance-btn[data-v-69b05b7c]:hover{background:rgba(16,185,129,.18)}.table[data-v-69b05b7c]{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:767px){.offer-list-page[data-v-69b05b7c]{overflow-x:auto}.table-header[data-v-69b05b7c],.table-row[data-v-69b05b7c]{min-width:1100px}}.notifications-page[data-v-2898054b]{background:var(--bg);color:var(--text)}.page-header[data-v-2898054b]{border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.card[data-v-2898054b]{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.04);margin-bottom:1rem}.filters[data-v-2898054b]{display:flex;gap:8px;align-items:end;margin-bottom:12px}.table-header.column-7[data-v-2898054b],.table-row.column-7[data-v-2898054b]{display:grid;grid-template-columns:1fr 1.5fr 1fr 120px 200px 100px 80px;gap:8px;align-items:center;font-size:14px}.table-header.column-7[data-v-2898054b]{font-size:12px;color:var(--muted);padding:6px 0;border-bottom:1px solid var(--border)}.table-row.column-7[data-v-2898054b]{padding:5px 0;border-bottom:1px solid var(--border)}.table-header.column-5[data-v-2898054b],.table-row.column-5[data-v-2898054b]{display:grid;grid-template-columns:1fr 1.5fr 120px 200px 120px 80px;gap:8px;align-items:center;font-size:14px}.table-header.column-5[data-v-2898054b]{font-size:12px;color:var(--muted);padding:6px 0;border-bottom:1px solid var(--border)}.table-row.column-5[data-v-2898054b]{padding:5px 0;border-bottom:1px solid var(--border)}.subject[data-v-2898054b]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.meta[data-v-2898054b]{font-size:12px;color:var(--muted)}.row-actions[data-v-2898054b]{display:inline-flex;gap:8px;justify-content:flex-end;align-items:center}.row-actions .open-view.notif-unread[data-v-2898054b]{background:var(--info);color:#fff;border-color:color-mix(in srgb,var(--info) 90%,#000)}.row-actions .open-view.notif-unread[data-v-2898054b]:hover{background:color-mix(in srgb,var(--info) 80%,#000)}.row-actions.center[data-v-2898054b]{justify-content:center}.text-right[data-v-2898054b]{text-align:right}.text-center[data-v-2898054b]{text-align:center}.sortable[data-v-2898054b]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sortable[data-v-2898054b]:hover{text-decoration:underline}.icon-btn[data-v-2898054b]{display:inline-flex;align-items:center;justify-content:center;height:36px;width:36px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:background-color .14s,transform 80ms}.icon-btn[data-v-2898054b]:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 8%,transparent)}.icon-btn[data-v-2898054b]:active:not(:disabled){transform:translateY(1px)}.icon-btn[data-v-2898054b]:disabled{opacity:.6;cursor:default}.notif-unread-icon[data-v-2898054b]{font-size:12px;color:var(--info);margin-left:6px;vertical-align:baseline}.badge[data-v-2898054b]{display:inline-block;font-size:12px;line-height:16px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted)}.badge-success[data-v-2898054b]{color:var(--success);border-color:rgba(16,185,129,.5);background:rgba(16,185,129,.08)}.badge-warn[data-v-2898054b]{color:var(--warn);border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.08)}.badge-info[data-v-2898054b]{color:var(--info);border-color:rgba(37,99,235,.5);background:rgba(37,99,235,.08)}.badge-danger[data-v-2898054b]{color:var(--danger);border-color:rgba(239,68,68,.5);background:rgba(239,68,68,.08)}.btn[data-v-2898054b]{height:38px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.btn[data-v-2898054b]:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.btn-primary[data-v-2898054b]{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary[data-v-2898054b]:hover{background:var(--primary-600)}.spinner[data-v-2898054b]{width:16px;height:16px;border:2px solid color-mix(in srgb,var(--primary) 30%,transparent);border-top-color:var(--primary);border-radius:50%;display:inline-block;margin-right:6px;animation:spin-2898054b .9s linear infinite}.skeleton .sk-line[data-v-2898054b]{height:12px;background:color-mix(in srgb,var(--bg) 50%,#fff);border-radius:6px}.skeleton .sk-line.short[data-v-2898054b]{width:70%}.skeleton .sk-dot[data-v-2898054b]{width:20px;height:20px;border-radius:6px;background:color-mix(in srgb,var(--bg) 50%,#fff)}.skeleton .sk-badge[data-v-2898054b]{width:64px;height:18px;border-radius:999px;background:color-mix(in srgb,var(--bg) 50%,#fff)}.skeleton .sk-btn[data-v-2898054b]{width:120px;height:32px;border-radius:8px;background:color-mix(in srgb,var(--bg) 50%,#fff)}@keyframes spin-2898054b{to{transform:rotate(1turn)}}@media (max-width:920px){.table-header.column-7[data-v-2898054b],.table-row.column-7[data-v-2898054b]{grid-template-columns:1fr 1.5fr 1fr 120px 200px 100px 80px}}@media (max-width:640px){.filters[data-v-2898054b]{flex-direction:column;align-items:stretch}.table-header.column-7[data-v-2898054b],.table-row.column-7[data-v-2898054b]{grid-template-columns:1.6fr 1fr 140px 100px}.table-header.column-7[data-v-2898054b]>:nth-child(2),.table-header.column-7[data-v-2898054b]>:nth-child(3),.table-header.column-7[data-v-2898054b]>:nth-child(7),.table-row.column-7[data-v-2898054b]>:nth-child(2),.table-row.column-7[data-v-2898054b]>:nth-child(3),.table-row.column-7[data-v-2898054b]>:nth-child(7){display:none}.table-header.column-5[data-v-2898054b],.table-row.column-5[data-v-2898054b]{grid-template-columns:1.6fr 1fr 140px 100px}.table-header.column-5[data-v-2898054b]>:nth-child(2),.table-header.column-5[data-v-2898054b]>:nth-child(5),.table-row.column-5[data-v-2898054b]>:nth-child(2),.table-row.column-5[data-v-2898054b]>:nth-child(5){display:none}}@media (max-width:1199px){.layout{grid-template-columns:240px 1200px!important}}[data-v-78de33cd]:root{--text:#1f2937;--muted:#6b7280;--surface:#fff;--bg:#f6f7f9;--border:#e0e3ea;--primary:#4f46e5;--primary-600:#4338ca;--focus:rgba(79,70,229,.45)}.page[data-v-78de33cd]{padding:16px;background:var(--bg);color:var(--text)}.table-rows td[data-v-78de33cd],.table-rows th[data-v-78de33cd]{padding:5px 0;text-align:left;border-bottom:1px solid var(--border)}.table-rows th[data-v-78de33cd]{font-weight:600}.page-header[data-v-78de33cd]{border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.card[data-v-78de33cd]{background:var(--surface);border:1px solid var(--border);border-radius:10px}.btn[data-v-78de33cd]{height:36px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.btn-primary[data-v-78de33cd]{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary[data-v-78de33cd]:hover{background:var(--primary-600)}.spinner[data-v-78de33cd]{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.5);border-top-color:#fff;border-radius:50%;display:inline-block;margin-right:8px;animation:spin-78de33cd 1s linear infinite;vertical-align:middle}@keyframes spin-78de33cd{to{transform:rotate(1turn)}}.notice[data-v-78de33cd]{border:1px solid var(--border);border-radius:6px;padding:10px 12px;background:var(--surface)}.notice-danger[data-v-78de33cd]{background:rgba(239,68,68,.1);border-color:#fecaca}.notice-success[data-v-78de33cd]{background:rgba(16,185,129,.1);border-color:#bbf7d0}.muted[data-v-78de33cd]{color:var(--muted)}.mt-12[data-v-78de33cd]{margin-top:12px}.form .field label[data-v-78de33cd]{font-size:12px;color:var(--muted);display:block;margin-bottom:4px}.form .field input[data-v-78de33cd],.form .field select[data-v-78de33cd],.form .field textarea[data-v-78de33cd]{width:100%;height:38px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.form .field textarea[data-v-78de33cd]{height:auto}.form .field input[data-v-78de33cd]:focus,.form .field select[data-v-78de33cd]:focus,.form .field textarea[data-v-78de33cd]:focus{outline:none;box-shadow:0 0 0 3px var(--focus);border-color:var(--primary)}.compact-table td[data-v-78de33cd],.compact-table th[data-v-78de33cd]{font-size:12px;line-height:20px}.compact-table td[data-v-78de33cd]{font-size:14px}.sortable[data-v-78de33cd]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sortable[data-v-78de33cd]:hover{text-decoration:underline}.detail-grid[data-v-78de33cd]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 16px;margin-bottom:12px}.detail-grid p[data-v-78de33cd]{margin:5px 0}.multiline[data-v-78de33cd]{white-space:pre-wrap;margin:0}.page[data-v-0a0a2bcf]{padding:0;background:var(--bg);color:var(--text)}.page-header[data-v-0a0a2bcf]{border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px}.h1[data-v-0a0a2bcf]{font-size:26px;line-height:38px;font-weight:600;margin:0}.card[data-v-0a0a2bcf]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:0;min-height:calc(100vh - 160px)}.field[data-v-0a0a2bcf]{display:flex;flex-direction:column;gap:6px}.label[data-v-0a0a2bcf]{font-size:12px;color:var(--muted)}.input[data-v-0a0a2bcf]{height:38px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.input[data-v-0a0a2bcf]:focus{box-shadow:0 0 0 3px var(--focus);border-color:var(--primary);outline:none}.btn[data-v-0a0a2bcf]{height:38px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer}.btn-primary[data-v-0a0a2bcf]{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary[data-v-0a0a2bcf]:hover{background:var(--primary-600);border-color:var(--primary-600)}.spinner[data-v-0a0a2bcf]{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:#fff;border-radius:50%;animation:spin-0a0a2bcf 1s linear infinite;margin-right:6px;vertical-align:-3px}@keyframes spin-0a0a2bcf{to{transform:rotate(1turn)}}.badge[data-v-0a0a2bcf]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:rgba(0,0,0,.06)}.badge[data-context=add][data-v-0a0a2bcf]{background:rgba(16,185,129,.12);color:#065f46}.badge[data-context=edit][data-v-0a0a2bcf]{background:rgba(37,99,235,.12);color:#1e3a8a}.badge[data-context=delete][data-v-0a0a2bcf]{background:rgba(239,68,68,.12);color:#991b1b}.muted[data-v-0a0a2bcf]{color:var(--muted)}.absences-table[data-v-53e6a8d4]{display:grid;grid-auto-rows:minmax(40px,auto);border-radius:10px;overflow:hidden}.absences-row[data-v-53e6a8d4]{display:grid;grid-template-columns:2fr 1.5fr 1.5fr 1fr 1.2fr 1.2fr 1fr;gap:0;border-bottom:1px solid var(--border);background:var(--surface);align-items:anchor-center}.absences-row[data-v-53e6a8d4]:not(.header){cursor:pointer}.absences-row[data-v-53e6a8d4]:not(.header):hover{background:color-mix(in srgb,var(--surface) 92%,#fff)}.absences-row.is-expanded[data-v-53e6a8d4]:not(.header){border-bottom-width:2px;border-bottom-color:wheat}.absences-row[data-v-53e6a8d4]:last-child{border-bottom:0}.cell[data-v-53e6a8d4]{padding:6px 12px;font-size:14px;line-height:20px}.absences-row.header[data-v-53e6a8d4]{align-items:center;gap:8px;padding:4px 0;cursor:default}.absences-row.header .cell[data-v-53e6a8d4]{font-size:12px;color:inherit;background:transparent;border-bottom:0;font-weight:500}.sortable[data-v-53e6a8d4]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sortable[data-v-53e6a8d4]:hover{text-decoration:underline}.badge[data-v-53e6a8d4]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;line-height:16px;background:color-mix(in srgb,var(--info) 10%,transparent);color:var(--text)}.badge.info[data-v-53e6a8d4]{background:color-mix(in srgb,var(--success) 40%,transparent)}.badge.warn[data-v-53e6a8d4]{background:color-mix(in srgb,var(--warn) 12%,transparent)}.badge.danger[data-v-53e6a8d4]{background:color-mix(in srgb,var(--danger) 20%,transparent)}.absences-row.day-absence[data-v-53e6a8d4]:not(.header){background:color-mix(in srgb,var(--warn) 5%,var(--surface))}.absences-subrow[data-v-53e6a8d4]{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,#fff)}.absences-subrow .subcell[data-v-53e6a8d4]{padding:10px 12px 12px 40px;font-size:13px;line-height:18px}.subhead[data-v-53e6a8d4]{margin-bottom:6px}.notif-list[data-v-53e6a8d4]{list-style:none;padding:0;margin:0;display:grid;gap:10px}.notif-item[data-v-53e6a8d4]{padding:8px 10px;border-radius:10px;background:#f5f5f5;border:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.notif-line[data-v-53e6a8d4]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.notif-range[data-v-53e6a8d4]{font-weight:500}.notif-subject[data-v-53e6a8d4]{margin-top:6px;font-weight:600}.notif-comment[data-v-53e6a8d4]{margin-top:4px}.notif-meta[data-v-53e6a8d4]{margin-top:6px;font-size:12px}@media (max-width:767px){.absences-row[data-v-53e6a8d4]{grid-template-columns:1.5fr 1fr}.header[data-v-53e6a8d4]{display:none}}.overlay[data-v-7845a338]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:50}.dialog[data-v-7845a338]{width:min(100%,960px);background:var(--surface);border-radius:10px;border:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,.15);display:flex;flex-direction:column;max-height:90vh}.dialog-footer[data-v-7845a338],.dialog-header[data-v-7845a338]{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.dialog-footer[data-v-7845a338]{border-top:1px solid var(--border);border-bottom:none;justify-content:flex-end}.dialog-body[data-v-7845a338]{padding:12px;overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0}.title[data-v-7845a338]{margin:0;font-size:16px;font-weight:500}.meta[data-v-7845a338]{font-size:12px}.mt-12[data-v-7845a338]{margin-top:12px}.mb-3[data-v-7845a338]{margin-bottom:12px}.muted[data-v-7845a338]{color:var(--muted)}.small[data-v-7845a338]{font-size:12px}.filters[data-v-7845a338]{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:0;margin-top:10px}.filters-actions[data-v-7845a338]{margin-left:auto;display:inline-flex;gap:8px;align-items:center}.body-top[data-v-7845a338]{display:flex;align-items:flex-start;gap:12px}.summary-box[data-v-7845a338]{margin-left:auto;border:1px solid var(--border);background:var(--surface);border-radius:8px;width:100%;font-size:12px;margin-bottom:10px}.summary-title[data-v-7845a338]{margin:0 0 6px 0}.summary-list[data-v-7845a338]{display:grid;grid-template-columns:1fr}.summary-row[data-v-7845a338]{display:grid;grid-template-columns:14% 14% 17% 17% 18% 20%}.summary-row.summary-body[data-v-7845a338]{text-align:center}.summary-row.summary-header[data-v-7845a338]{font-weight:500;text-align:center}.summary-cell[data-v-7845a338]{display:flex;border-left:1px solid var(--border);padding:6px 8px;background:var(--surface);align-items:center;justify-content:center}.summary-cell[data-v-7845a338]:first-child{border-left:0}.summary-row.summary-header .summary-cell[data-v-7845a338]{background:var(--bg);border-color:var(--border-strong)}.table[data-v-7845a338]{width:100%;display:flex;flex-direction:column;flex:1;min-height:0}.row[data-v-7845a338],.thead[data-v-7845a338]{display:grid;grid-template-columns:110px auto 130px 70px 180px;gap:8px;align-items:start}.thead[data-v-7845a338]{font-size:12px;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:4px}.thead div[data-v-7845a338]{padding:0 3px}.tbody[data-v-7845a338]{flex:1;min-height:0;overflow-y:auto}.tbody .row[data-v-7845a338]{padding:6px 0;border-bottom:1px solid var(--border)}.cell[data-v-7845a338]{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 3px}.cell.multi[data-v-7845a338]{white-space:normal}.list[data-v-7845a338]{display:flex;flex-direction:column;gap:1px}.cell-bold[data-v-7845a338],.list .line-bold[data-v-7845a338],.row-bold[data-v-7845a338]{font-weight:600}.row-excused[data-v-7845a338]{background:color-mix(in srgb,var(--success) 8%,#fff 92%)}.row-unexcused[data-v-7845a338]{background:color-mix(in srgb,var(--danger) 22%,#fff 78%)}.absence-excused[data-v-7845a338]{background:color-mix(in srgb,var(--success) 12%,#fff 88%)}.absence-unexcused[data-v-7845a338]{background:color-mix(in srgb,var(--danger) 22%,#fff 78%)}.pagination[data-v-7845a338]{display:flex;align-items:center;gap:8px;justify-content:flex-end}.pagination-info[data-v-7845a338]{margin-right:auto}.btn[data-v-7845a338]{height:38px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.btn[data-v-7845a338]:disabled{opacity:.65;cursor:not-allowed}.btn-primary[data-v-7845a338]{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary[data-v-7845a338]:hover{background:var(--primary-600)}.btn-group[data-v-7845a338]{display:inline-flex;vertical-align:middle}.btn-group .btn[data-v-7845a338]{border-radius:0;position:relative;z-index:1}.btn-group .btn+.btn[data-v-7845a338]{margin-left:-1px}.btn-group .btn[data-v-7845a338]:first-child{border-top-left-radius:8px;border-bottom-left-radius:8px}.btn-group .btn[data-v-7845a338]:last-child{border-top-right-radius:8px;border-bottom-right-radius:8px}.notice[data-v-7845a338]{border-radius:6px;border:1px solid var(--border);padding:10px 12px;background:var(--surface)}.notice-danger[data-v-7845a338]{background:color-mix(in srgb,var(--danger) 10%,#fff 90%);border-color:color-mix(in srgb,var(--danger) 40%,#fff 60%)}.badge[data-v-7845a338]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border);background:var(--surface)}.badge.success[data-v-7845a338]{background:color-mix(in srgb,var(--success) 10%,#fff 90%);border-color:color-mix(in srgb,var(--success) 40%,#fff 60%)}.badge.danger[data-v-7845a338]{background:color-mix(in srgb,var(--danger) 10%,#fff 90%);border-color:color-mix(in srgb,var(--danger) 40%,#fff 60%)}.overlay[data-v-b6c2c322]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:50}.dialog[data-v-b6c2c322]{width:min(100%,1060px);background:var(--surface);border-radius:10px;border:1px solid var(--border);box-shadow:0 8px 24px rgba(0,0,0,.15);display:flex;flex-direction:column;max-height:90vh}.dialog-footer[data-v-b6c2c322],.dialog-header[data-v-b6c2c322]{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.dialog-footer[data-v-b6c2c322]{border-top:1px solid var(--border);border-bottom:none;justify-content:flex-end}.dialog-body[data-v-b6c2c322]{padding:12px;overflow:auto}.title[data-v-b6c2c322]{margin:0;font-size:16px;font-weight:500}.meta[data-v-b6c2c322]{font-size:12px}.mt-12[data-v-b6c2c322]{margin-top:12px}.muted[data-v-b6c2c322]{color:var(--muted)}.toolbar[data-v-b6c2c322]{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:10px;border-bottom:1px solid #eee;padding-bottom:10px}.group-toggle[data-v-b6c2c322]{display:inline-flex;gap:6px}.chart-wrapper[data-v-b6c2c322]{border:1px solid var(--border);border-radius:8px;padding:10px 12px 25px 12px;background:var(--surface)}.legend[data-v-b6c2c322]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 12px;font-size:12px;color:var(--muted);margin-bottom:10px;padding-left:80px}.legend-swatch[data-v-b6c2c322]{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.sw-total[data-v-b6c2c322]{background:#ccc}.sw-total-comp[data-v-b6c2c322]{background:color-mix(in srgb,var(--primary) 40%,#fff 60%)}.sw-unexcused[data-v-b6c2c322]{background:var(--danger)}.sw-unexcused-comp[data-v-b6c2c322]{background:color-mix(in srgb,var(--danger) 40%,#fff 60%)}.sw-ill[data-v-b6c2c322]{background:var(--success)}.sw-ill-comp[data-v-b6c2c322]{background:color-mix(in srgb,var(--success) 40%,#fff 60%)}.sw-other[data-v-b6c2c322]{background:var(--warn)}.sw-other-comp[data-v-b6c2c322]{background:color-mix(in srgb,var(--warn) 40%,#fff 60%)}.chart-area[data-v-b6c2c322]{display:grid;grid-template-columns:60px 1fr;gap:12px;align-items:end}.y-axis[data-v-b6c2c322]{display:flex;flex-direction:column;align-items:stretch}.y-title[data-v-b6c2c322]{font-size:12px;line-height:14px;margin-bottom:6px}.y-scale[data-v-b6c2c322]{position:relative;width:60px;border-right:1px solid var(--border-strong)}.y-tick[data-v-b6c2c322]{position:absolute;left:30px;right:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.y-tick-label[data-v-b6c2c322]{font-size:12px;color:var(--muted)}.y-tick-mark[data-v-b6c2c322]{width:8px;height:1px;background:var(--border-strong)}.plot-area[data-v-b6c2c322]{border-bottom:1px solid var(--border-strong);padding-bottom:8px}.chart-grid[data-v-b6c2c322]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:18px;align-items:end}.col[data-v-b6c2c322]{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:-36px}.pair-row[data-v-b6c2c322]{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pair[data-v-b6c2c322]{display:flex;align-items:flex-end;justify-content:center;gap:2px}.bar[data-v-b6c2c322]{display:flex;flex-direction:column-reverse;border-bottom:1px solid var(--border);overflow:hidden}.bar-thin[data-v-b6c2c322]{width:10px;height:100%}.seg[data-v-b6c2c322]{width:100%}.seg-total[data-v-b6c2c322]{background:#ccc}.seg-total-comp[data-v-b6c2c322]{background:color-mix(in srgb,#ccc 60%,#fff 40%)}.seg-unexcused[data-v-b6c2c322]{background:var(--danger)}.seg-unexcused-comp[data-v-b6c2c322]{background:color-mix(in srgb,var(--danger) 60%,#fff 40%)}.seg-ill[data-v-b6c2c322]{background:var(--success)}.seg-ill-comp[data-v-b6c2c322]{background:color-mix(in srgb,var(--success) 40%,#fff 60%)}.seg-other[data-v-b6c2c322]{background:var(--warn)}.seg-other-comp[data-v-b6c2c322]{background:color-mix(in srgb,var(--warn) 40%,#fff 60%)}.x-label[data-v-b6c2c322]{text-align:center;padding-top:5px}.label-main[data-v-b6c2c322]{font-size:13px;line-height:16px}.label-meta[data-v-b6c2c322]{font-size:12px;line-height:14px}.btn[data-v-b6c2c322]{height:38px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.btn-primary[data-v-b6c2c322]{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary[data-v-b6c2c322]:hover{background:var(--primary-600)}.notice[data-v-b6c2c322]{border-radius:6px;border:1px solid var(--border);padding:10px 12px;background:var(--surface)}.notice-danger[data-v-b6c2c322]{background:color-mix(in srgb,var(--danger) 10%,#fff 90%);border-color:color-mix(in srgb,var(--danger) 40%,#fff 60%)}.calendar-wrapper[data-v-b6c2c322]{border:1px solid var(--border);border-radius:8px;padding:10px 12px 12px;background:var(--surface)}.cal-legend[data-v-b6c2c322]{display:inline-grid;grid-auto-flow:column;gap:12px;font-size:12px;color:var(--muted)}.legend-swatch.cal-full[data-v-b6c2c322]{background:color-mix(in srgb,var(--danger) 55%,#fff 45%)}.legend-swatch.cal-partial[data-v-b6c2c322]{background:transparent;border:2px solid var(--warn);box-sizing:border-box}.cal-months[data-v-b6c2c322]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}.cal-month[data-v-b6c2c322]{display:flex;flex-direction:column;padding:4px;background:#f6f6f6;border-radius:6px}.cal-header[data-v-b6c2c322]{font-size:14px;font-weight:500;text-align:center}.cal-body[data-v-b6c2c322]{display:flex;gap:6px;margin-top:4px}.cal-weeknums[data-v-b6c2c322]{display:grid;grid-auto-rows:28px;row-gap:4px;align-items:center;justify-items:center;font-size:11px;color:var(--muted);padding-right:2px;margin-top:-13px}.cal-weeknum-header[data-v-b6c2c322]{font-size:11px;font-weight:500;visibility:hidden}.cal-weeknum-cell[data-v-b6c2c322],.cal-weeknum-header[data-v-b6c2c322]{display:flex;align-items:center;justify-content:center}.cal-main[data-v-b6c2c322]{flex:1 1 auto}.cal-weekdays[data-v-b6c2c322]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-size:12px;color:var(--muted)}.cal-weekdays>span[data-v-b6c2c322]{text-align:center}.cal-grid[data-v-b6c2c322]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;grid-auto-rows:28px}.cal-day[data-v-b6c2c322]{height:26px;border:1px solid var(--border);border-radius:6px;background:var(--surface);display:flex;align-items:center;justify-content:center;color:var(--text)}.cal-day.pad[data-v-b6c2c322]{background:transparent;border:none}.cal-day.is-full[data-v-b6c2c322]{background:color-mix(in srgb,var(--danger) 12%,#fff 88%);border-color:color-mix(in srgb,var(--danger) 45%,#fff 55%)}.cal-day.is-partial[data-v-b6c2c322]{border:2px solid var(--warn)}.cal-day.is-full.is-partial[data-v-b6c2c322]{border:2px solid color-mix(in srgb,var(--danger) 65%,#fff 35%)}.cal-day-num[data-v-b6c2c322]{font-size:13px;line-height:16px}.form[data-v-4913e2f0]{display:grid;grid-template-columns:140px 140px 1fr 200px auto;gap:12px;align-items:end}tbody td[data-v-4913e2f0]{padding:2px 6px}.field[data-v-4913e2f0]{margin-bottom:0}@media (max-width:1024px){.form[data-v-4913e2f0]{grid-template-columns:1fr 1fr}}@media (max-width:640px){.form[data-v-4913e2f0]{grid-template-columns:1fr}}.input[data-v-4913e2f0]{height:38px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.input[data-v-4913e2f0]:focus{outline:none;box-shadow:0 0 0 3px var(--focus);border-color:var(--primary)}.actions-field[data-v-4913e2f0]{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px}.mt-12[data-v-4913e2f0]{margin-top:12px}.muted[data-v-4913e2f0]{color:var(--muted)}.btn[data-v-4913e2f0]{height:40px;padding:0 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.btn[data-v-4913e2f0]:disabled{opacity:.65;cursor:not-allowed}.btn-primary[data-v-4913e2f0]{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary[data-v-4913e2f0]:hover{background:var(--primary-600);border-color:var(--primary-600)}.spinner[data-v-4913e2f0]{box-sizing:border-box;display:inline-block;width:16px;height:16px;border:2px solid hsla(0,0%,100%,.5);border-top-color:#fff;border-radius:50%;margin-right:6px;animation:spin-4913e2f0 1s linear infinite}@keyframes spin-4913e2f0{to{transform:rotate(1turn)}}.card[data-v-0dbad9ea]{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:14px}.form[data-v-0dbad9ea]{display:grid;grid-template-columns:repeat(3,minmax(0,240px));gap:12px;align-items:end}.field[data-v-0dbad9ea]{display:flex;flex-direction:column;gap:6px}label[data-v-0dbad9ea]{font-size:12px;color:var(--muted)}[data-v-0dbad9ea] input.flatpickr-date{height:38px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);width:240px}[data-v-0dbad9ea] input.flatpickr-date::-moz-placeholder{color:#c9cdd3}[data-v-0dbad9ea] input.flatpickr-date::placeholder{color:#c9cdd3}.actions[data-v-0dbad9ea]{align-items:flex-start}.spinner[data-v-0dbad9ea]{width:16px;height:16px;border-radius:50%;border:2px solid hsla(0,0%,100%,.6);border-top-color:#fff;display:inline-block;margin-right:6px;animation:spin-0dbad9ea 1s linear infinite}@keyframes spin-0dbad9ea{to{transform:rotate(1turn)}}.notice[data-v-0dbad9ea]{border:1px solid var(--border);border-radius:6px;padding:10px 12px;background:var(--surface)}.notice-danger[data-v-0dbad9ea]{background:color-mix(in srgb,var(--danger) 10%,#fff 90%);border-color:color-mix(in srgb,var(--danger) 40%,#fff 60%);color:#7f1d1d}.viewer-overlay[data-v-0dbad9ea]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:40}.viewer[data-v-0dbad9ea]{width:min(100%,960px);max-height:90vh;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden}.viewer-header[data-v-0dbad9ea]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.viewer-actions[data-v-0dbad9ea]{display:inline-flex;gap:8px}.viewer-body[data-v-0dbad9ea]{position:relative;background:var(--bg);display:flex;align-items:center;justify-content:center;min-height:360px;height:70vh;padding:12px}.viewer-frame[data-v-0dbad9ea]{width:100%;height:100%;border:0;background:var(--surface);border-radius:6px}.mt-12[data-v-0dbad9ea]{margin-top:12px}.card[data-v-b2092044]{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:14px}.form[data-v-b2092044]{display:grid;grid-template-columns:repeat(5,minmax(0,220px));gap:12px;align-items:end}.field[data-v-b2092044]{display:flex;flex-direction:column;gap:6px}.form .actions[data-v-b2092044]{justify-self:end;display:flex;flex-direction:row;gap:8px}label[data-v-b2092044]{font-size:12px;color:var(--muted)}.input[data-v-b2092044],[data-v-b2092044] input.flatpickr-date{height:38px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}[data-v-b2092044] input.flatpickr-date{width:220px}.mt-8[data-v-b2092044]{margin-top:8px}.mt-12[data-v-b2092044]{margin-top:12px}.muted[data-v-b2092044]{color:var(--muted)}.small[data-v-b2092044]{font-size:12px}.kpis[data-v-b2092044]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.kpi[data-v-b2092044]{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--surface)}.kpi-label[data-v-b2092044]{font-size:12px;color:var(--muted)}.kpi-value[data-v-b2092044]{font-size:18px;font-weight:600}.table[data-v-b2092044]{width:100%}.row[data-v-b2092044],.thead[data-v-b2092044]{display:grid;grid-template-columns:150px 1fr 1fr 210px 130px 60px;align-items:center;gap:8px}.thead[data-v-b2092044]{font-size:12px;color:var(--muted);padding:8px 0;border-bottom:1px solid var(--border);font-weight:500}.tbody .row[data-v-b2092044]{padding:2px 0;border-bottom:1px solid var(--border)}.cell[data-v-b2092044]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.user[data-v-b2092044]{display:flex;gap:6px;align-items:baseline}.user-unknown[data-v-b2092044]{display:flex;flex-direction:column}.pagination[data-v-b2092044]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.pagination .range[data-v-b2092044]{font-size:12px;color:var(--muted)}.pagination .controls[data-v-b2092044]{display:flex;align-items:center;gap:8px}.page-size[data-v-b2092044]{width:80px}.overlay[data-v-b2092044]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:50}.dialog[data-v-b2092044]{width:min(100%,760px);background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden}.dialog-header[data-v-b2092044]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}.dialog-body[data-v-b2092044]{padding:12px}.dialog-footer[data-v-b2092044]{display:flex;justify-content:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--border)}.title[data-v-b2092044]{font-size:16px;line-height:22px;font-weight:500;margin:0}.grid[data-v-b2092044]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:5px}.grid .span-2[data-v-b2092044]{grid-column:span 2}.label[data-v-b2092044]{font-size:12px;color:var(--muted)}.value[data-v-b2092044]{font-size:14px}.value.mono[data-v-b2092044]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.badge[data-v-b2092044]{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border);background:var(--surface)}.badge.info[data-v-b2092044]{background:color-mix(in srgb,var(--info) 10%,#fff 90%);border-color:color-mix(in srgb,var(--info) 40%,#fff 60%)}.badge.success[data-v-b2092044]{background:color-mix(in srgb,var(--success) 10%,#fff 90%);border-color:color-mix(in srgb,var(--success) 40%,#fff 60%)}.badge.warn[data-v-b2092044]{background:color-mix(in srgb,var(--warn) 10%,#fff 90%);border-color:color-mix(in srgb,var(--warn) 40%,#fff 60%)}.badge.danger[data-v-b2092044]{background:color-mix(in srgb,var(--danger) 10%,#fff 90%);border-color:color-mix(in srgb,var(--danger) 40%,#fff 60%)}.btn[data-v-b2092044]{height:38px;padding:0 12px;border:1px solid var(--border);border-radius:8px}.btn-ghost[data-v-b2092044],.btn[data-v-b2092044]{background:var(--surface)}.btn-primary[data-v-b2092044]{background:var(--primary);color:#fff;border-color:transparent}.btn-primary[data-v-b2092044]:hover{background:var(--primary-600)}.spinner[data-v-b2092044]{width:16px;height:16px;border-radius:50%;border:2px solid hsla(0,0%,100%,.6);border-top-color:#fff;display:inline-block;margin-right:6px;animation:spin-b2092044 1s linear infinite}@keyframes spin-b2092044{to{transform:rotate(1turn)}}.notice[data-v-b2092044]{border:1px solid var(--border);border-radius:6px;padding:10px 12px;background:var(--surface)}.notice-danger[data-v-b2092044]{background:color-mix(in srgb,var(--danger) 10%,#fff 90%);border-color:color-mix(in srgb,var(--danger) 40%,#fff 60%);color:#7f1d1d}.page[data-v-4dbc61d4]{padding:16px;background:var(--bg);color:var(--text)}.page-header[data-v-4dbc61d4]{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid var(--border)}.h1[data-v-4dbc61d4]{font-size:20px;line-height:24px;font-weight:600;margin:0}.tiles[data-v-4dbc61d4]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.tile[data-v-4dbc61d4]{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left}.tile[data-v-4dbc61d4]:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.tile.active[data-v-4dbc61d4]{border-color:rgba(79,70,229,.4);background:color-mix(in srgb,var(--primary) 12%,transparent)}.tile-title[data-v-4dbc61d4]{font-size:14px;font-weight:600}.tile-sub[data-v-4dbc61d4]{font-size:12px;color:var(--muted)}.mt-12[data-v-4dbc61d4]{margin-top:12px}.page[data-v-68980245]{padding:16px;background:var(--bg);color:var(--text)}.page-header[data-v-68980245]{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid var(--border)}.h1[data-v-68980245]{font-size:20px;line-height:24px;font-weight:600;margin:0}.h2[data-v-68980245]{font-size:16px;line-height:22px;font-weight:500;margin:0}.tiles[data-v-68980245]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.tile[data-v-68980245]{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left;transition:background .16s,border-color .16s,transform .12s}.tile[data-v-68980245]:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.tile[data-v-68980245]:active{transform:translateY(1px)}.tile-title[data-v-68980245]{font-size:14px}.tile-head[data-v-68980245]{display:flex;align-items:center;gap:8px}.tile-icon[data-v-68980245]{width:24px;height:24px;color:var(--primary);flex:0 0 auto}.tile-sub[data-v-68980245]{font-size:12px;color:var(--muted)}.overlay[data-v-68980245]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.dialog[data-v-68980245]{width:100%;max-width:1220px;max-height:calc(100vh - 64px);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.16);display:flex;flex-direction:column;outline:none}.dialog-header[data-v-68980245]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.dialog-body[data-v-68980245]{padding:14px;overflow:auto}.dialog-footer[data-v-68980245]{padding:12px 14px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.icon-btn[data-v-68980245]{background:transparent;border:1px solid var(--border);color:var(--text);width:32px;height:32px;border-radius:6px;cursor:pointer;line-height:28px;text-align:center;font-size:18px}.icon-btn[data-v-68980245]:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.btn[data-v-68980245]{height:36px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.btn[data-v-68980245]:hover{border-color:var(--border-strong);background:color-mix(in srgb,var(--primary) 6%,transparent)}.btn-print[data-v-68980245]{font-size:13px}.skeleton[data-v-68980245]{border-radius:6px;background:linear-gradient(90deg,rgba(0,0,0,.06) 25%,rgba(0,0,0,.12) 37%,rgba(0,0,0,.06) 63%);background-size:400% 100%;animation:shimmer-68980245 1.2s ease-in-out infinite}.skeleton-title[data-v-68980245]{height:18px;width:60%;margin-bottom:12px}.skeleton-line[data-v-68980245]{height:12px;width:100%;margin-bottom:8px}@keyframes shimmer-68980245{0%{background-position:100% 0}to{background-position:0 0}}.doc-content[data-v-68980245] h1,.doc-content[data-v-68980245] h2,.doc-content[data-v-68980245] h3{margin-top:0}.doc-content[data-v-68980245] p{margin:0 0 10px 0;line-height:1.5}.doc-content[data-v-68980245] .doc-page{max-width:1120px;margin:0 auto;padding:16px 4px 24px;background:var(--surface);font-size:14px;line-height:19px}.doc-content[data-v-68980245] .doc-page-header{border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:16px}.doc-content[data-v-68980245] .doc-page-header-title{font-size:20px;line-height:24px;font-weight:600;margin:0 0 4px}.doc-content[data-v-68980245] .doc-page-header-subtitle{font-size:13px;line-height:1.4;color:var(--muted);margin:0}.doc-content[data-v-68980245] h2{font-size:18px;line-height:1.35;font-weight:600;margin:24px 0 8px;color:#8a2be2}.doc-content[data-v-68980245] h3{font-size:15px;line-height:1.4;font-weight:600;margin:25px 0 8px;text-decoration:underline;text-decoration-style:solid;text-decoration-style:dashed}.doc-content[data-v-68980245] h4{font-size:13px;margin:14px 0 4px}.doc-content[data-v-68980245] ol,doc-content[data-v-68980245] ul{margin:0 0 8px 20px;padding:0}.doc-content[data-v-68980245] li{margin:0 0 4px}.doc-content[data-v-68980245] hr{border:0;border-top:1px solid var(--border);margin:16px 0}.doc-content[data-v-68980245] code{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;background:#f3f4f6;padding:1px 4px;border-radius:3px}.doc-content[data-v-68980245] pre code{display:block;padding:8px 10px;overflow-x:auto}.doc-content[data-v-68980245] a{color:var(--primary);text-decoration:underline}.doc-content[data-v-68980245] a:hover{color:var(--primary-600)}.doc-content[data-v-68980245] .muted{color:var(--muted)}.doc-content[data-v-68980245] .notice{border-radius:6px;border:1px solid var(--border);padding:10px 12px;margin:12px 0;font-size:14px;background:#f9fafb}.doc-content[data-v-68980245] .notice-strong{border-color:var(--border-strong);background:#eef2ff}.doc-content[data-v-68980245] .image-block{margin:10px 0 16px;text-align:center}.doc-content[data-v-68980245] .image-block img{max-width:100%;height:auto;border-radius:4px;border:1px solid var(--border)}.doc-content[data-v-68980245] .image-caption{font-size:12px;color:var(--muted);margin-top:4px}.doc-content[data-v-68980245] .definition-list{margin:0 0 8px;padding:0}.doc-content[data-v-68980245] .definition-list dt{font-weight:600;margin-top:6px}.doc-content[data-v-68980245] .definition-list dd{margin:0 0 4px 0}.doc-content[data-v-68980245] .scenario{border-radius:6px;border:1px solid var(--border);padding:10px 12px;margin:12px 0;background:#f9fafb}.doc-content[data-v-68980245] .scenario-title{font-weight:600;margin-bottom:4px}.doc-content[data-v-68980245] .badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;line-height:1.3;background:#eef2ff;color:#312e81}.doc-content[data-v-68980245] .table-like{width:100%;border-collapse:collapse;margin:8px 0 12px;font-size:13px}.doc-content[data-v-68980245] .table-like td,.doc-content[data-v-68980245] .table-like th{border-bottom:1px solid var(--border);padding:6px 8px;vertical-align:top}.doc-content[data-v-68980245] .table-like th{text-align:left;font-weight:500;font-size:12px;color:var(--muted);background:#f9fafb}.doc-content[data-v-68980245] .footer{margin-top:24px;padding-top:8px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.section-container[data-v-68980245]{gap:12px;display:grid}.doc-content[data-v-68980245] .doc-page-toc{border-bottom-style:double;border-bottom-color:#ccc;padding-bottom:20px}.doc-content[data-v-68980245] .doc-page-toc ol{list-style:none;margin:0;padding-left:0}.doc-content[data-v-68980245] .doc-page-toc ol li{margin-top:10px}.doc-content[data-v-68980245] .doc-page-toc ol ol li{margin:2px 0}.doc-content[data-v-68980245] .doc-page-toc ol li a{text-decoration:none;color:#000;font-size:15px;font-weight:500;padding-top:3px}.doc-content[data-v-68980245] .doc-page-toc ol li a:hover{color:#8a2be2}.doc-content[data-v-68980245] .doc-page-toc ol ol li a{font-size:13px;padding-left:20px;font-weight:400;color:#444}.mt-12[data-v-68980245]{margin-top:12px}.notice[data-v-68980245]{border:1px solid var(--border);border-radius:6px;padding:10px 12px;background:var(--surface)}.notice-danger[data-v-68980245]{background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.dlg-overlay[data-v-c36aed38]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:1000}.dlg[data-v-c36aed38]{width:min(640px,94vw);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.18);padding:16px}.dlg-header[data-v-c36aed38]{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px}.dlg-footer[data-v-c36aed38]{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.form[data-v-c36aed38]{display:flex;flex-direction:column;gap:12px}.field input[data-v-c36aed38],.field textarea[data-v-c36aed38]{height:38px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.field textarea[data-v-c36aed38]{height:auto}.checkbox-row[data-v-c36aed38]{display:flex;align-items:center;gap:8px;justify-content:flex-start}.checkbox-row input[type=checkbox][data-v-c36aed38]{width:16px;height:16px}.checkbox-label[data-v-c36aed38]{margin:0}.icon-btn[data-v-c36aed38]{display:inline-flex;align-items:center;justify-content:center;height:36px;width:36px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.icon-btn[data-v-c36aed38]:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.dlg-overlay[data-v-7be2e1c2]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:1000}.dlg[data-v-7be2e1c2]{width:min(520px,94vw);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.18);padding:16px}.dlg-header[data-v-7be2e1c2]{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px}.dlg-footer[data-v-7be2e1c2]{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.form[data-v-7be2e1c2]{display:flex;flex-direction:column;gap:12px}.field input[data-v-7be2e1c2],.field select[data-v-7be2e1c2]{height:38px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.icon-btn[data-v-7be2e1c2]{display:inline-flex;align-items:center;justify-content:center;height:36px;width:36px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.icon-btn[data-v-7be2e1c2]:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.dlg-overlay[data-v-51b373a5]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:1000}.dlg[data-v-51b373a5]{width:min(920px,96vw);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.18);padding:16px;max-height:92vh;display:flex;flex-direction:column}.dlg-header[data-v-51b373a5]{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px}.header-actions[data-v-51b373a5]{display:flex;gap:8px;align-items:center}.thread[data-v-51b373a5]{overflow:auto;flex:1 1 auto;padding:6px 6px 0 6px;background:var(--bg);border:1px solid var(--border);border-radius:10px}.msg[data-v-51b373a5]{display:flex;gap:8px;margin:10px 6px;align-items:flex-end;width:auto}.msg.me[data-v-51b373a5]{justify-content:flex-end}.bubble[data-v-51b373a5]{max-width:68%;border:1px solid var(--border);border-radius:14px;padding:8px 10px;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.04)}.msg.me .bubble[data-v-51b373a5]{background:color-mix(in srgb,var(--primary) 8%,#fff);border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.meta[data-v-51b373a5]{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:4px}.text[data-v-51b373a5]{margin:0;white-space:pre-wrap;word-break:break-word}.thumb-strip[data-v-51b373a5]{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.thumb[data-v-51b373a5]{flex:0 0 auto;width:120px;height:84px;border:1px solid var(--border);border-radius:8px;background:var(--surface);display:flex;align-items:center;justify-content:center;cursor:pointer}.thumb img[data-v-51b373a5]{max-width:100%;max-height:100%;-o-object-fit:cover;object-fit:cover;border-radius:6px}.thumb-doc[data-v-51b373a5]{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--muted);padding:6px;text-align:center}.thumb-doc .name[data-v-51b373a5]{font-size:12px;line-height:1.2;word-break:break-all;color:var(--text)}.composer[data-v-51b373a5]{display:flex;gap:8px;align-items:center;margin-top:10px}.input[data-v-51b373a5]{flex:1 1 auto;height:38px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.file-chips[data-v-51b373a5]{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.chip[data-v-51b373a5]{gap:6px;border:1px solid var(--border);border-radius:999px;padding:3px 8px}.chip[data-v-51b373a5],.icon-btn[data-v-51b373a5]{display:inline-flex;align-items:center;background:var(--surface);color:var(--text)}.icon-btn[data-v-51b373a5]{justify-content:center;height:36px;width:36px;border-radius:8px;border:1px solid var(--border);cursor:pointer}.icon-btn[data-v-51b373a5]:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.viewer-overlay[data-v-51b373a5]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:1100}.viewer[data-v-51b373a5]{width:min(100%,960px);max-height:92vh;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden}.viewer-header[data-v-51b373a5]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface)}.viewer-title[data-v-51b373a5]{font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-actions[data-v-51b373a5]{display:inline-flex;gap:8px}.viewer-body[data-v-51b373a5]{position:relative;background:var(--bg);display:flex;align-items:center;justify-content:center;min-height:360px;height:70vh;padding:12px}.viewer-loading[data-v-51b373a5]{color:var(--muted);font-size:14px}.viewer-media[data-v-51b373a5]{max-width:100%;max-height:100%;border-radius:6px;box-shadow:0 1px 2px rgba(0,0,0,.06)}.viewer-frame[data-v-51b373a5]{width:100%;height:100%;border:0;background:var(--surface);border-radius:6px}.viewer-fallback[data-v-51b373a5]{color:var(--muted);font-size:14px;text-align:center}.nav[data-v-51b373a5]{position:absolute;top:50%;transform:translateY(-50%);height:44px;width:44px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.nav[data-v-51b373a5]:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.nav[data-v-51b373a5]:disabled{opacity:.6;cursor:default}.nav.prev[data-v-51b373a5]{left:12px}.nav.next[data-v-51b373a5]{right:12px}.visually-hidden[data-v-51b373a5]{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.empty[data-v-51b373a5]{text-align:center;margin:20px 0}.badge[data-v-51b373a5]{display:inline-block;font-size:12px;line-height:16px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:var(--surface)}.page[data-v-3f74d865]{padding:16px;background:var(--bg);color:var(--text)}.page-header[data-v-3f74d865]{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px}.card[data-v-3f74d865]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.form[data-v-3f74d865]{display:flex;flex-direction:column;gap:12px}.field input[data-v-3f74d865],.field textarea[data-v-3f74d865],.filters input[data-v-3f74d865],.filters select[data-v-3f74d865]{height:38px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.field textarea[data-v-3f74d865]{height:auto}.filters[data-v-3f74d865]{display:flex;gap:8px;align-items:end;margin-bottom:12px}.table-header[data-v-3f74d865],.table-row[data-v-3f74d865]{display:grid;gap:8px;align-items:center;font-size:14px}.table-header.has-author[data-v-3f74d865],.table-row.has-author[data-v-3f74d865]{grid-template-columns:80px 1.2fr 2fr 200px 160px 80px 80px}.table-header.no-author[data-v-3f74d865],.table-row.no-author[data-v-3f74d865]{grid-template-columns:80px 1.2fr 2fr 160px 80px 80px}.table-header[data-v-3f74d865]{font-size:12px;color:var(--muted);padding:6px 0;border-bottom:1px solid var(--border)}.table-row[data-v-3f74d865]{padding:5px 0;border-bottom:1px solid var(--border)}.ellipsis[data-v-3f74d865]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-row.unread[data-v-3f74d865]{font-weight:600;color:var(--text)}.icon-btn[data-v-3f74d865]{display:inline-flex;align-items:center;justify-content:center;height:36px;width:36px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.icon-btn[data-v-3f74d865]:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.badge[data-v-3f74d865]{display:inline-block;font-size:12px;line-height:16px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.badge-info[data-v-3f74d865]{color:var(--info);border-color:rgba(37,99,235,.5);background:rgba(37,99,235,.08)}.badge-success[data-v-3f74d865]{color:var(--success);border-color:rgba(16,185,129,.5);background:rgba(16,185,129,.08)}.badge-danger[data-v-3f74d865]{color:var(--danger);border-color:rgba(239,68,68,.5);background:rgba(239,68,68,.08)}.badge-warn[data-v-3f74d865]{color:var(--warn);border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.08)}.spinner[data-v-3f74d865]{width:16px;height:16px;border:2px solid color-mix(in srgb,var(--primary) 30%,transparent);border-top-color:var(--primary);border-radius:50%;margin-right:6px;animation:spin-3f74d865 .9s linear infinite}@keyframes spin-3f74d865{to{transform:rotate(1turn)}}.skeleton .sk-line[data-v-3f74d865]{height:12px;background:color-mix(in srgb,var(--bg) 50%,#fff);border-radius:6px}.skeleton .sk-line.short[data-v-3f74d865]{width:70%}.skeleton .sk-badge[data-v-3f74d865]{width:64px;height:18px;border-radius:999px;background:color-mix(in srgb,var(--bg) 50%,#fff)}.skeleton .sk-btn[data-v-3f74d865]{width:120px;height:32px;border-radius:8px;background:color-mix(in srgb,var(--bg) 50%,#fff)}.pager[data-v-3f74d865]{display:flex;align-items:center;gap:8px;justify-content:flex-end}@media (max-width:768px){.table-header[data-v-3f74d865],.table-row[data-v-3f74d865]{grid-template-columns:60px 1fr 120px 1fr 120px 80px}.filters[data-v-3f74d865]{flex-direction:column;align-items:stretch}}.page[data-v-ce4651f0]{padding:16px;background:var(--bg);color:var(--text)}.page-header[data-v-ce4651f0]{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px}.card[data-v-ce4651f0]{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}.thread[data-v-ce4651f0]{max-height:calc(100vh - 300px);overflow:auto}.msg[data-v-ce4651f0]{display:flex;margin-bottom:12px}.msg.me[data-v-ce4651f0]{justify-content:flex-end}.bubble[data-v-ce4651f0]{max-width:70%;border:1px solid var(--border);border-radius:12px;padding:10px 12px;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.04)}.msg.me .bubble[data-v-ce4651f0]{background:color-mix(in srgb,var(--primary) 8%,#fff);border-color:color-mix(in srgb,var(--primary) 40%,var(--border))}.meta[data-v-ce4651f0]{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:4px}.text[data-v-ce4651f0]{margin:0;white-space:pre-wrap;word-wrap:break-word}.attachments[data-v-ce4651f0]{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.form[data-v-ce4651f0]{display:flex;flex-direction:column;gap:12px}.spinner[data-v-ce4651f0]{width:16px;height:16px;border:2px solid color-mix(in srgb,var(--primary) 30%,transparent);border-top-color:var(--primary);border-radius:50%;margin-right:6px;animation:spin-ce4651f0 .9s linear infinite}@keyframes spin-ce4651f0{to{transform:rotate(1turn)}}.legal-page[data-v-112e0d5c]{padding:16px;background:var(--bg,#f6f7f9);color:var(--text,#1f2937);min-height:100vh}.page-header[data-v-112e0d5c]{border-bottom:1px solid var(--border,#e0e3ea);padding-bottom:8px;margin-bottom:12px}.h1[data-v-112e0d5c]{font-size:26px;line-height:34px;font-weight:600;margin:0}.mt-12[data-v-112e0d5c]{margin-top:12px}.card[data-v-112e0d5c]{background:var(--surface,#fff);border:1px solid var(--border,#e0e3ea);border-radius:10px;padding:16px;max-width:840px}.legal-page .card[data-v-112e0d5c]{max-width:none}a[data-v-112e0d5c]{color:var(--primary,#4f46e5);text-decoration:none}a[data-v-112e0d5c]:hover{text-decoration:underline}.legal-page[data-v-02a19f97]{padding:16px;background:var(--bg,#f6f7f9);color:var(--text,#1f2937);min-height:100vh}.page-header[data-v-02a19f97]{border-bottom:1px solid var(--border,#e0e3ea);padding-bottom:8px;margin-bottom:12px}.h1[data-v-02a19f97]{font-size:26px;line-height:34px;font-weight:600;margin:0}.h3[data-v-02a19f97]{font-size:16px;line-height:22px;font-weight:500;margin:0 0 6px 0}.mt-12[data-v-02a19f97]{margin-top:12px}.card[data-v-02a19f97]{background:var(--surface,#fff);border:1px solid var(--border,#e0e3ea);border-radius:10px;padding:16px;max-width:840px}.legal-page .card[data-v-02a19f97]{max-width:none}a[data-v-02a19f97]{color:var(--primary,#4f46e5);text-decoration:none}a[data-v-02a19f97]:hover{text-decoration:underline}.page[data-v-f113d424]{padding:16px;background:var(--bg);color:var(--text)}.page-header[data-v-f113d424]{border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.card[data-v-f113d424]{background:var(--surface);border:1px solid var(--border);border-radius:10px}.btn[data-v-f113d424]{height:36px;padding:0 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.btn-primary[data-v-f113d424]{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary[data-v-f113d424]:hover{background:var(--primary-600)}.icon-btn[data-v-f113d424]{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer}.notice[data-v-f113d424]{border:1px solid var(--border);border-radius:6px;padding:10px 12px;background:var(--surface)}.notice-danger[data-v-f113d424]{background:rgba(239,68,68,.1);border-color:#fecaca}.notice-success[data-v-f113d424]{background:rgba(16,185,129,.1);border-color:#bbf7d0}.muted[data-v-f113d424]{color:var(--muted)}.mt-12[data-v-f113d424]{margin-top:12px}.form .field label[data-v-f113d424]{font-size:12px;color:var(--muted);display:block;margin-bottom:4px}.form .field input[data-v-f113d424],.form .field select[data-v-f113d424],.form .field textarea[data-v-f113d424]{width:100%;height:38px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.form .field textarea[data-v-f113d424]{height:auto}.form .field input[data-v-f113d424]:focus,.form .field select[data-v-f113d424]:focus,.form .field textarea[data-v-f113d424]:focus{outline:none;box-shadow:0 0 0 3px var(--focus);border-color:var(--primary)}.compact-table td[data-v-f113d424],.compact-table th[data-v-f113d424]{font-size:12px;line-height:16px}.compact-table td[data-v-f113d424]{font-size:13px}.sortable[data-v-f113d424]{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sortable[data-v-f113d424]:hover{text-decoration:underline}.table-rows td[data-v-f113d424],.table-rows th[data-v-f113d424]{padding:3px 0;text-align:left;border-bottom:1px solid var(--border)}.table-rows th[data-v-f113d424]{font-weight:600}.dialog-overlay[data-v-f113d424]{position:fixed;inset:0;background:rgba(0,0,0,.35);display:grid;place-items:center;z-index:1000}.dialog[data-v-f113d424]{width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 32px);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(15,23,42,.22);display:flex;flex-direction:column}.dialog-footer[data-v-f113d424],.dialog-header[data-v-f113d424]{padding:12px 14px;border-bottom:1px solid var(--border)}.dialog-footer[data-v-f113d424]{border-top:1px solid var(--border);border-bottom:0}.dialog-body[data-v-f113d424]{padding:12px 14px;overflow:auto;display:flex;flex-direction:column;gap:12px}.dialog-body h3[data-v-f113d424]{margin:10px 0 5px}.meta-grid[data-v-f113d424]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 12px}.meta-grid dt[data-v-f113d424]{font-size:12px;color:var(--muted)}.meta-grid dd[data-v-f113d424]{margin:0}.group[data-v-f113d424]{display:flex;flex-direction:column;gap:6px}.list[data-v-f113d424]{margin:0;padding-left:16px}.message[data-v-f113d424]{margin:0;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px;line-height:1.45;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px}:root{--text:#1f2937;--muted:#6b7280;--surface:#fff;--bg:#f6f7f9;--border:#e0e3ea;--border-strong:#cbd5e1;--primary:#10b981;--primary-600:#059669;--focus:rgba(79,70,229,.45);--info:#2563eb;--success:#10b981;--warn:#f59e0b;--warn-600:#d97706;--danger:#ef4444;--shadow-1:0 1px 2px rgba(0,0,0,.06),0 1px 1px rgba(0,0,0,.04)}#app,body,html{height:100%}body{font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji}.page,body{color:var(--text);background:var(--bg)}.page{padding:16px}.page .page{padding:0}.page-header{border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px}.h1{font-weight:600;font-size:20px;line-height:24px;margin:0}.card{border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-1);padding:16px}.btn,.card{background:var(--surface)}.btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;border-radius:8px;border:1px solid var(--border);color:var(--text);cursor:pointer}.row-actions .icon-btn{height:30px;width:30px;border-radius:5px;justify-content:center}.row-actions .icon-btn:hover{background:var(--surface-hover)}.btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-600)}.btn-warn{background:var(--warn);color:#fff;border-color:var(--warn)}.btn-warn:hover{background:var(--warn-600)}.btn:disabled,.btn[disabled]{opacity:.65;cursor:not-allowed}.spinner{width:16px;height:16px;border-radius:999px;border:2px solid hsla(0,0%,100%,.5);border-top-color:#fff;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.notice{border:1px solid var(--border);border-radius:6px;padding:10px 12px;background:var(--surface)}.notice-danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.35)}.notice-success{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.35)}.layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.layout.layout--no-sidebar{grid-template-columns:1fr}.sidebar{position:sticky;top:0;align-self:start;height:100vh;background:var(--surface);border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column}.sidebar .brand{font-weight:600;font-size:16px;margin:0 0 12px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar a{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;text-decoration:none;color:var(--text);border-radius:8px}.sidebar .sidebar-footer{margin-top:auto;font-size:12px;color:var(--muted);padding-top:12px;padding-left:10px}.sidebar a.router-link-active{background:rgba(79,70,229,.12);color:var(--primary)}.form{display:flex;flex-direction:column;gap:12px}.field.date-picker{width:100px}.field.date-picker input{text-align:center}.field label{font-size:12px;color:var(--muted);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;height:38px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--focus);border-color:var(--primary)}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.muted{color:var(--muted)}@media (min-width:1200px){.layout{grid-template-columns:200px 1fr}}@media (max-width:768px){.layout{grid-template-columns:1fr}.sidebar{position:relative;height:auto}}@layer primevue{.p-calendar .p-datepicker-touch-ui,.p-datepicker-touch-ui{min-width:30vw!important}.p-calendar .p-inputtext{height:38px;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.p-calendar .p-datepicker-trigger{height:38px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:0}}:root{--app-primary-color:var(--primary-color);--app-secondary-color:var(--surface-900);--app-background-color:var(--surface-ground);--app-text-color:var(--text-color);--app-text-color-secondary:var(--text-color-secondary);--app-header-height:60px;--app-sidebar-width:250px;--app-sidebar-collapsed-width:60px;--app-card-shadow:0 2px 8px rgba(0,0,0,.1);--app-header-shadow:0 2px 4px rgba(0,0,0,.08);--z-dropdown:1000;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080}*{box-sizing:border-box}body,html{height:100%}body{margin:0;padding:0;font-family:var(--font-family),sans-serif;font-size:1rem;line-height:1.6;color:var(--text-color);background-color:var(--surface-ground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100%;display:flex;flex-direction:column}.p-card{box-shadow:var(--app-card-shadow);border-radius:8px}.p-card .p-card-body{padding:1.5rem}.p-card .p-card-header{padding:1rem 1.5rem;border-bottom:1px solid var(--surface-border)}.p-datatable .p-datatable-header{background:var(--surface-card);border:1px solid var(--surface-border);border-bottom:none;padding:1rem}.p-datatable .p-datatable-thead>tr>th{background:var(--surface-100);color:var(--text-color);font-weight:600;border-color:var(--surface-border)}.p-datatable .p-datatable-tbody>tr:hover{background:var(--surface-hover)}.p-datatable .p-datatable-tbody>tr.p-highlight{background:var(--primary-50);color:var(--primary-700)}.table-header,.table-row{display:grid;gap:12px;align-items:center}.table-header{font-size:12px;color:var(--text-color-secondary);font-weight:600;padding:6px 0}.table-header,.table-row{border-bottom:1px solid var(--surface-border)}.table-row{padding:7px 0}.row-actions{display:flex;justify-content:flex-end;gap:8px}.icon-btn{width:30px;height:30px;border:1px solid var(--surface-border);border-radius:8px;background:var(--surface-card);display:inline-flex;align-items:center;justify-content:center;color:var(--text-color)}.icon-btn:hover{border-color:var(--border-strong,var(--surface-500))}.icon-btn.danger{color:var(--red-500);border-color:rgba(239,68,68,.35)}.filters{display:flex;align-items:center;gap:8px;margin-bottom:12px}.filters input{height:38px;padding:8px;border:1px solid var(--surface-border);border-radius:8px;background:var(--surface-card)}.filters input:first-child{flex:1}.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sortable:hover{text-decoration:underline}.btn:not(:disabled),.icon-btn:not(:disabled),button:not(:disabled){cursor:pointer}.btn:disabled,.icon-btn:disabled,button:disabled{cursor:default;opacity:.7}.p-button.p-button-sm{font-size:.875rem;padding:.4375rem .875rem}.p-button.p-button-lg{font-size:1.125rem;padding:.875rem 1.375rem}.p-toast .p-toast-message{border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.p-dialog{border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.p-dialog .p-dialog-header{padding:1.5rem;border-bottom:1px solid var(--surface-border)}.p-dialog .p-dialog-content{padding:1.5rem}.p-dialog .p-dialog-footer{padding:1rem 1.5rem;border-top:1px solid var(--surface-border)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-muted{color:var(--text-color-secondary)}.text-small{font-size:.875rem}.text-large{font-size:1.125rem}.text-bold{font-weight:600}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:2rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:2rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:2rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:1rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:1rem}.mr-auto{margin-right:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:2rem}.d-flex{display:flex}.d-inline-flex{display:inline-flex}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-content-start{justify-content:flex-start}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-around{justify-content:space-around}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.align-items-stretch{align-items:stretch}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}.d-none{display:none}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.w-100{width:100%}.w-75{width:75%}.w-50{width:50%}.w-25{width:25%}.w-auto{width:auto}.h-100{height:100%}.h-75{height:75%}.h-50{height:50%}.h-25{width:25%}.h-auto{height:auto}.border{border:1px solid var(--surface-border)}.border-0{border:0}.border-top{border-top:1px solid var(--surface-border)}.border-bottom{border-bottom:1px solid var(--surface-border)}.border-left{border-left:1px solid var(--surface-border)}.border-right{border-right:1px solid var(--surface-border)}.rounded{border-radius:.5rem}.rounded-sm{border-radius:.25rem}.rounded-lg{border-radius:.75rem}.rounded-0{border-radius:0}.shadow-sm{box-shadow:0 1px 3px rgba(0,0,0,.1)}.shadow{box-shadow:0 2px 6px rgba(0,0,0,.1)}.shadow-lg{box-shadow:0 4px 12px rgba(0,0,0,.1)}.shadow-none{box-shadow:none}@media(max-width:575.98px){.d-xs-none{display:none!important}.d-xs-block{display:block!important}.d-xs-flex{display:flex!important}}@media(max-width:767.98px){.d-sm-none{display:none!important}.d-sm-block{display:block!important}.d-sm-flex{display:flex!important}}@media(max-width:991.98px){.d-md-none{display:none!important}.d-md-block{display:block!important}.d-md-flex{display:flex!important}}@media(max-width:1199.98px){.d-lg-none{display:none!important}.d-lg-block{display:block!important}.d-lg-flex{display:flex!important}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--surface-border)}.page-header h1{margin:0;font-size:1.75rem;font-weight:600;color:var(--text-color)}@media(max-width:767.98px){.page-header{flex-direction:column;align-items:flex-start;gap:1rem}}.card{background:var(--surface-card);border:1px solid var(--surface-border);border-radius:8px;box-shadow:var(--app-card-shadow);padding:1.5rem;margin-bottom:1rem}.card.card-sm{padding:1rem}.card.card-lg{padding:2rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-height:200px}.loading-container .p-progressspinner{margin-bottom:1rem}.loading-container p{margin:0;color:var(--text-color-secondary);font-size:.875rem}.field{margin-bottom:1.5rem}.field label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-color)}.field label.required:after{content:" *";color:var(--red-500)}.field .p-error{display:block;font-size:.875rem;color:var(--red-500)}.field .p-error,.field .p-message{margin-top:.25rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--surface-border)}@media(max-width:575.98px){.form-actions{flex-direction:column-reverse}.form-actions .p-button{width:100%}}@media print{.d-print-none{display:none!important}.page-header{border-bottom-color:#000}.card{box-shadow:none;border:1px solid #000}}:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:custom){.card{border-color:#000}.page-header{border-bottom-color:#000}}:deep(.p-tooltip).danger-tooltip .p-tooltip-text{background-color:var(--red-500);color:#fff;font-weight:700}:deep(.p-tooltip).danger-tooltip .p-tooltip-arrow{border-top-color:var(--red-500)}:deep(.p-tooltip) .p-tooltip-text{white-space:pre-line;max-width:300px}