.login[data-v-75987fc3]{background:radial-gradient(ellipse 80% 50% at 50% -10%, #2563eb1a, transparent 55%), linear-gradient(180deg, #eef1f5 0%, var(--bg) 48%, #e8ebf0 100%);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-shell[data-v-75987fc3]{width:min(400px,100%);animation:.45s ease-out login-rise-75987fc3}.login-brand[data-v-75987fc3]{text-align:center;margin-bottom:1.5rem}.login-logo[data-v-75987fc3]{width:min(240px,70%);height:auto;margin:0 auto}.login-title[data-v-75987fc3]{letter-spacing:-.02em;color:var(--text);margin:0;font-size:1.15rem;font-weight:600}.login-desc[data-v-75987fc3]{color:var(--text-muted);margin:.4rem 0 0;font-size:.8125rem}.login-card[data-v-75987fc3]{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.5rem;animation:.5s ease-out 80ms both login-fade-75987fc3;box-shadow:0 1px 2px #1018280a,0 12px 32px #1018280f}.login-card input[data-v-75987fc3]{padding:.75rem .85rem}.login-card input[data-v-75987fc3]:focus{outline-offset:1px;border-color:var(--primary);outline:2px solid #2563eb40}.login-submit[data-v-75987fc3]{width:100%;min-height:2.75rem;padding:.7rem 1rem;font-weight:600}.error[data-v-75987fc3]{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 0 .85rem;padding:.65rem .75rem;font-size:.875rem}@keyframes login-rise-75987fc3{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes login-fade-75987fc3{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.login-shell[data-v-75987fc3],.login-card[data-v-75987fc3]{animation:none}}.layout[data-v-f97044f4]{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.mobile-header[data-v-f97044f4],.sidebar-backdrop[data-v-f97044f4],.sidebar-close[data-v-f97044f4]{display:none}.sidebar[data-v-f97044f4]{background:var(--sidebar);color:var(--sidebar-text);border-right:1px solid var(--border);flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.sidebar-top[data-v-f97044f4]{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.brand[data-v-f97044f4]{flex-direction:column;gap:.45rem;display:flex}.brand strong[data-v-f97044f4]{color:var(--text);font-size:1.05rem}.brand-logo[data-v-f97044f4]{width:148px;height:auto;display:block}.nav-item[data-v-f97044f4]{color:var(--sidebar-text);border-radius:8px;padding:.7rem .85rem;display:block}.nav-item[data-v-f97044f4]:hover{color:var(--text);background:#f3f4f6}.nav-item.active[data-v-f97044f4]{color:var(--primary);background:#eff6ff;font-weight:600}.current-homepage[data-v-f97044f4]{border:1px solid var(--border);background:#f9fafb;border-radius:8px;flex-direction:column;gap:.35rem;padding:.85rem;display:flex}.current-homepage strong[data-v-f97044f4]{color:var(--text)}.homepage-select[data-v-f97044f4]{border:1px solid var(--border);width:100%;color:var(--text);font:inherit;background:#fff;border-radius:6px;padding:.45rem .55rem}.status[data-v-f97044f4]{color:var(--text-muted);font-size:.85rem}.status.error[data-v-f97044f4]{color:var(--danger)}nav[data-v-f97044f4]{flex-direction:column;flex:1;gap:.25rem;display:flex}.sidebar-footer[data-v-f97044f4]{flex-direction:column;gap:.75rem;display:flex}.user[data-v-f97044f4]{flex-direction:column;gap:.15rem;display:flex}.user strong[data-v-f97044f4]{color:var(--text)}.content[data-v-f97044f4]{min-width:0;max-width:100%;padding:1.5rem;overflow-x:hidden}@media (width<=900px){.layout[data-v-f97044f4]{grid-template-rows:auto 1fr;grid-template-columns:1fr}.mobile-header[data-v-f97044f4]{z-index:30;border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.mobile-header-logo[data-v-f97044f4]{width:auto;height:1.4rem}.hamburger[data-v-f97044f4]{border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;justify-content:center;gap:.28rem;width:2.25rem;height:2.25rem;padding:.4rem;display:inline-flex}.hamburger span[data-v-f97044f4]{background:var(--text);border-radius:999px;height:2px;display:block}.sidebar-backdrop[data-v-f97044f4]{z-index:40;background:#0f172a73;display:block;position:fixed;inset:0}.sidebar[data-v-f97044f4]{z-index:50;border-right:1px solid var(--border);width:min(20rem,86vw);transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:0 20px 50px #0000002e}.layout.menu-open .sidebar[data-v-f97044f4]{transform:translate(0)}.sidebar-close[data-v-f97044f4]{width:2rem;height:2rem;color:var(--text-muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.content[data-v-f97044f4]{padding:1rem}}.clickable-row[data-v-a525c5dc]{cursor:pointer}.clickable-row[data-v-a525c5dc]:hover{background:#f9fafb}.html-editor[data-v-2e4aa61a]{border:1px solid var(--border);background:#fff;border-radius:8px;overflow:hidden}.html-editor__toolbar[data-v-2e4aa61a]{border-bottom:1px solid var(--border);background:#f9fafb;flex-wrap:wrap;gap:.25rem;padding:.5rem;display:flex}.html-editor__toolbar button[data-v-2e4aa61a]{border:1px solid var(--border);min-width:2rem;color:var(--text);background:#fff;border-radius:6px;padding:.3rem .55rem;font-size:.8rem}.html-editor__toolbar .mark-btn--bold[data-v-2e4aa61a]{font-weight:700}.html-editor__toolbar .mark-btn--italic[data-v-2e4aa61a]{font-style:italic}.html-editor__toolbar .mark-btn--underline[data-v-2e4aa61a]{text-decoration:underline}.html-editor__toolbar button.active[data-v-2e4aa61a]{background:var(--primary);border-color:var(--primary);color:#fff}.html-editor__toolbar button[data-v-2e4aa61a]:disabled{opacity:.55;cursor:not-allowed}.html-editor__toolbar .toolbar-icon-btn[data-v-2e4aa61a]{justify-content:center;align-items:center;gap:.2rem;display:inline-flex}.html-editor__toolbar .toolbar-icon[data-v-2e4aa61a]{flex-shrink:0;width:1rem;height:1rem;display:block}.toolbar-menu[data-v-2e4aa61a]{position:relative}.toolbar-menu__trigger[data-v-2e4aa61a]{align-items:center;gap:.25rem;min-width:4.5rem;display:inline-flex}.toolbar-menu__caret[data-v-2e4aa61a]{color:var(--text-muted);font-size:.65rem;line-height:1}.toolbar-menu__panel[data-v-2e4aa61a]{z-index:20;border:1px solid var(--border);min-width:7.5rem;box-shadow:var(--shadow);background:#fff;border-radius:8px;flex-direction:column;gap:.15rem;padding:.25rem;display:flex;position:absolute;top:calc(100% + .25rem);left:0}.toolbar-menu__panel button[data-v-2e4aa61a]{text-align:left;background:0 0;border:none;border-radius:6px;justify-content:flex-start;width:100%;min-width:0}.toolbar-menu__panel button[data-v-2e4aa61a]:hover{background:#f3f4f6}.toolbar-menu__panel button.active[data-v-2e4aa61a]{color:var(--primary);background:#eff6ff;border:none}.toolbar-menu__align-item[data-v-2e4aa61a]{align-items:center;gap:.45rem;display:inline-flex}.html-editor__content[data-v-2e4aa61a]{min-height:220px;padding:.85rem 1rem}.html-editor__content[data-v-2e4aa61a] .ProseMirror{outline:none;min-height:200px}.html-editor__content[data-v-2e4aa61a] .ProseMirror>*+*{margin-top:.5em}.html-editor__content[data-v-2e4aa61a] .ProseMirror p{margin:0}.html-editor__content[data-v-2e4aa61a] .ProseMirror h1,.html-editor__content[data-v-2e4aa61a] .ProseMirror h2,.html-editor__content[data-v-2e4aa61a] .ProseMirror h3{margin:0;line-height:1.3}.html-editor__content[data-v-2e4aa61a] .ProseMirror ul,.html-editor__content[data-v-2e4aa61a] .ProseMirror ol,.html-editor__content[data-v-2e4aa61a] .ProseMirror blockquote{margin:0}.html-editor__content[data-v-2e4aa61a] .ProseMirror a{color:var(--primary);cursor:pointer;text-decoration:underline}.html-editor__content[data-v-2e4aa61a] .ProseMirror img.editor-image{border-radius:6px;max-width:100%;height:auto;margin:.5rem 0;display:block}.html-editor__content[data-v-2e4aa61a] .ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;margin:.75rem 0;overflow:hidden}.html-editor__content[data-v-2e4aa61a] .ProseMirror td,.html-editor__content[data-v-2e4aa61a] .ProseMirror th{vertical-align:top;border:1px solid #ccc;padding:6px 8px;position:relative}.html-editor__content[data-v-2e4aa61a] .ProseMirror th{background:#f9fafb;font-weight:600}.html-editor__content[data-v-2e4aa61a] .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-muted);pointer-events:none;height:0}.html-editor__content[data-v-2e4aa61a] h1{font-size:1.6rem}.html-editor__content[data-v-2e4aa61a] h2{font-size:1.3rem}.html-editor__content[data-v-2e4aa61a] h3{font-size:1.1rem}.html-editor__content[data-v-2e4aa61a] ul,.html-editor__content[data-v-2e4aa61a] ol{padding-left:1.25rem}.html-editor__content[data-v-2e4aa61a] ul{list-style:outside}.html-editor__content[data-v-2e4aa61a] ol{list-style:decimal}.html-editor__content[data-v-2e4aa61a] blockquote{border-left:3px solid var(--border);color:var(--text-muted);padding-left:.75rem}.edit-card[data-v-3ae7f1a6]{padding:1.25rem}.search[data-v-577daacf]{min-width:180px}.pager[data-v-577daacf]{justify-content:center;align-items:center;gap:.75rem;display:flex}.thumbnail[data-v-577daacf]{object-fit:cover;background:#f3f4f6;border-radius:8px;width:120px;height:90px;display:block}.cell-main[data-v-577daacf]{align-items:center;gap:.4rem;display:flex}.thumbnail-wrap[data-v-577daacf]{display:inline-block;position:relative}.pin-overlay[data-v-577daacf]{color:#fff;background:#111827b8;border-radius:999px;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;display:inline-flex;position:absolute;top:.35rem;right:.35rem}.pin-inline[data-v-577daacf]{color:var(--primary);flex-shrink:0;align-items:center;display:inline-flex}.clickable-row[data-v-577daacf]{cursor:pointer}.clickable-row[data-v-577daacf]:hover{background:#f9fafb}.preview-cell[data-v-577daacf]{white-space:nowrap;width:1%}.icon-btn[data-v-577daacf]{justify-content:center;align-items:center;display:inline-flex}.action-icon[data-v-577daacf]{width:.95rem;height:.95rem;display:block}.empty-cell[data-v-577daacf]{text-align:center;color:var(--text-muted);padding:2.5rem 1rem}.edit-card[data-v-1a488623]{padding:1.25rem}.public-link[data-v-1a488623]{color:var(--primary);word-break:break-all;font-size:.875rem;text-decoration:none;display:inline-block}.public-link[data-v-1a488623]:hover{text-decoration:underline}.pin-toggle[data-v-1a488623]{border:1px solid var(--border);color:var(--text-muted);font:inherit;cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:.45rem;padding:.45rem .75rem;display:inline-flex}.pin-toggle.active[data-v-1a488623]{color:var(--primary);background:#eff6ff;border-color:#bfdbfe}.previews[data-v-1a488623]{flex-wrap:wrap;gap:.75rem;display:flex}.previews--gallery[data-v-1a488623]{flex-flow:column}.gallery-reorder-hint[data-v-1a488623]{color:var(--text-muted);background:#f3f4f6;border-radius:8px;align-items:center;gap:.5rem;margin:0;padding:.625rem .75rem;font-size:.875rem;display:flex}.preview[data-v-1a488623]{border:1px solid var(--border);background:#f9fafb;border-radius:8px;width:100%;position:relative;overflow:hidden}.gallery-image[data-v-1a488623]{object-fit:contain;width:100%;height:auto;max-height:360px;display:block}.drag-overlay[data-v-1a488623]{z-index:1;color:#fff;opacity:0;pointer-events:none;background:#00000073;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:500;transition:opacity .2s;display:flex;position:absolute;inset:0}.preview-remove[data-v-1a488623]{z-index:2;color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;display:inline-flex;position:absolute;top:.6rem;right:.6rem}.preview-remove[data-v-1a488623]:hover{background:#000000b3}.previews--gallery.is-reorderable .preview[data-v-1a488623]{cursor:grab;transition:transform .2s,box-shadow .2s}.previews--gallery.is-reorderable .preview[data-v-1a488623]:active{cursor:grabbing}.previews--gallery.is-reorderable .preview[data-v-1a488623]:hover:not(.gallery-sortable-chosen):not(.gallery-sortable-ghost){transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.previews--gallery.is-reorderable .preview:hover:not(.gallery-sortable-chosen):not(.gallery-sortable-ghost) .drag-overlay[data-v-1a488623]{opacity:1}.previews--gallery.is-reorderable .gallery-sortable-chosen[data-v-1a488623]{z-index:10;transform:scale(1.02);box-shadow:0 10px 28px #0003;cursor:grabbing!important}.previews--gallery.is-reorderable .gallery-sortable-chosen .drag-overlay[data-v-1a488623]{opacity:0}.previews--gallery.is-reorderable .gallery-sortable-ghost[data-v-1a488623]{opacity:.4;outline:2px dashed var(--border);outline-offset:-2px;box-shadow:none}.previews--gallery.is-reorderable .gallery-sortable-ghost .preview-remove[data-v-1a488623],.previews--gallery.is-reorderable .gallery-sortable-ghost .drag-overlay[data-v-1a488623]{visibility:hidden}.youtube-preview img[data-v-1a488623]{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border);background:#f9fafb;border-radius:8px;width:100%;max-width:360px}.attachment-list[data-v-1a488623]{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.attachment-item[data-v-1a488623]{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.attachment-item a[data-v-1a488623]{color:var(--text);word-break:break-all}.attachment-item .btn[data-v-1a488623]{padding:.25rem .55rem}.section-title[data-v-a99f2015]{margin:0 0 .75rem;font-size:.95rem;font-weight:600}.group-list[data-v-a99f2015]{flex-direction:column;gap:.75rem;display:flex}.group-card[data-v-a99f2015]{border:1px solid var(--border);background:#fafafa;border-radius:10px;padding:1rem}.meta[data-v-a99f2015]{flex-direction:column;gap:.5rem;display:flex}.meta-row[data-v-a99f2015]{word-break:break-all;flex-direction:column;gap:.2rem;font-size:.875rem;display:flex}.meta-label[data-v-a99f2015]{color:var(--text-muted);font-size:.8rem}.qr[data-v-a99f2015]{flex-direction:column;gap:.35rem;display:flex}.qr img[data-v-a99f2015]{border:1px solid var(--border);background:#fff;border-radius:8px;width:180px;height:180px}.group-actions[data-v-a99f2015]{gap:.5rem;display:flex}.group-actions .btn[data-v-a99f2015]{flex:1}.add-row[data-v-a99f2015]{gap:.5rem;display:flex}.add-row input[data-v-a99f2015]{border:1px solid var(--border);background:#fff;border-radius:8px;flex:1;padding:.65rem .75rem}.groups[data-v-29c3d804]{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.clickable-row[data-v-29c3d804]{cursor:pointer}.clickable-row[data-v-29c3d804]:hover{background:#f9fafb}.edit-card[data-v-10de7e93]{padding:1.25rem}.group-list[data-v-10de7e93]{flex-direction:column;gap:.5rem;display:flex}.group-option[data-v-10de7e93]{border:1px solid var(--border);text-align:left;width:100%;font:inherit;cursor:pointer;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.group-option[data-v-10de7e93]:hover{background:#f9fafb}.group-option.selected[data-v-10de7e93]{color:var(--primary);background:#eff6ff;border-color:#bfdbfe}.group-key[data-v-10de7e93]{color:var(--text-muted);margin-left:.5rem;font-size:.8125rem}.selected-label[data-v-10de7e93]{white-space:nowrap;font-size:.8125rem;font-weight:600}.recent-list[data-v-10de7e93]{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.recent-item[data-v-10de7e93]{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 0;font-size:.9rem;display:flex}.recent-item[data-v-10de7e93]:last-child{border-bottom:none}.load-content-btn[data-v-10de7e93]{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:0;font-size:.875rem;display:inline-flex}.load-content-btn[data-v-10de7e93]:hover{color:var(--primary);text-decoration:underline}.content-label[data-v-10de7e93]{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.content-label label[data-v-10de7e93]{color:var(--text-muted);font-size:.875rem}.range-sep[data-v-07e28f61]{color:var(--text-muted);line-height:1}.color-dot[data-v-07e28f61]{border-radius:50%;width:14px;height:14px;display:inline-block}.clickable-row[data-v-07e28f61]{cursor:pointer}.clickable-row[data-v-07e28f61]:hover{background:#f9fafb}.edit-card[data-v-dbd8b2ec]{padding:1.25rem}.colors[data-v-dbd8b2ec]{flex-wrap:wrap;gap:.45rem;display:flex}.color-option[data-v-dbd8b2ec]{border:2px solid #0000;border-radius:50%;width:28px;height:28px}.color-option.active[data-v-dbd8b2ec]{border-color:#111}@font-face{font-family:NanumSquareNeo;src:url(/fonts/nanum-square-neo/NanumSquareNeoTTF-bRg.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:NanumSquareNeo;src:url(/fonts/nanum-square-neo/NanumSquareNeoTTF-cBd.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:NanumSquareNeo;src:url(/fonts/nanum-square-neo/NanumSquareNeoTTF-dEb.woff2)format("woff2");font-weight:800 900;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body,#app{min-height:100%}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}textarea{resize:vertical}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul,ol{padding:0;list-style:none}table{border-collapse:collapse;border-spacing:0}:focus:not(:focus-visible){outline:none}:root{--bg:#f5f6f8;--surface:#fff;--text:#111827;--text-muted:#6b7280;--border:#e5e7eb;--primary:#2563eb;--primary-hover:#1d4ed8;--danger:#dc2626;--sidebar:#fff;--sidebar-text:#374151;--radius:10px;--shadow:0 1px 2px #1018280f, 0 8px 24px #1018280a;--space-0:0rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-11:2.75rem;--space-12:3rem;color:var(--text);background:var(--bg);letter-spacing:-.015rem;font-synthesis:style;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:NanumSquareNeo,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-weight:400;line-height:1.5}html,body,#app{font-size:14px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]),textarea,select{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:8px;outline:none;padding:.55rem .75rem;line-height:1.4;transition:border-color .15s,box-shadow .15s}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]):focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}input[type=date],input[type=datetime-local],input[type=time],input[type=month]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:2.25rem}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55}input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55}input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55}input[type=month]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.85}input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:.85}input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:.85}input[type=month]::-webkit-calendar-picker-indicator:hover{opacity:.85}.btn{background:var(--primary);color:#fff;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:.2rem .5rem;transition:background .15s;display:inline-flex}.btn:hover{background:var(--primary-hover)}.btn.secondary{color:var(--text);border-color:var(--border);background:#fff}.btn.secondary:hover{background:#f9fafb}.btn.danger{background:var(--danger)}.btn.ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.icon-btn{min-width:2rem;padding:.3rem}.field{flex-direction:column;gap:.35rem;display:flex}.field label{color:var(--text-muted);font-size:.875rem}.field input:not([type=checkbox]):not([type=radio]),.field textarea,.field select{width:100%;padding:.65rem .75rem}.field textarea{resize:vertical;min-height:120px}.check{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;font-size:.9rem;display:inline-flex}.check input{width:1rem;height:1rem;accent-color:var(--primary);flex-shrink:0;margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;max-width:100%;overflow:hidden}.table-scroll{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:40rem}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:.85rem 1rem}.table th{color:var(--text-muted);white-space:nowrap;background:#fafbfc;font-size:.8rem;font-weight:600}.table tr:last-child td{border-bottom:none}.edit-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:1.25rem;display:flex}.muted{color:var(--text-muted)}.empty{text-align:center;color:var(--text-muted);padding:2.5rem 1rem}.page-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-header h1{font-size:1.35rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.toolbar .btn,.toolbar input:not([type=checkbox]):not([type=radio]):not([type=file]),.toolbar select{box-sizing:border-box;height:2.25rem}.toolbar input[type=date],.toolbar input[type=datetime-local],.toolbar input[type=search],.toolbar input[type=text],.toolbar select{min-width:9.5rem;padding:0 .75rem}.badge{color:var(--primary);background:#eff6ff;border-radius:999px;align-items:center;padding:.15rem .5rem;font-size:.75rem;display:inline-flex}.modal-backdrop{z-index:50;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:min(720px,100%);max-height:90vh;overflow:auto;box-shadow:0 20px 50px #0003}.modal__header,.modal__footer{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.modal__footer{border-bottom:none;border-top:1px solid var(--border);justify-content:flex-end}.modal__body{padding:1.25rem}.modal__header h2{font-size:1.1rem}.m-0{margin:var(--space-0)}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-6{margin:var(--space-6)}.m-7{margin:var(--space-7)}.m-8{margin:var(--space-8)}.m-9{margin:var(--space-9)}.m-10{margin:var(--space-10)}.m-11{margin:var(--space-11)}.m-12{margin:var(--space-12)}.mt-0{margin-top:var(--space-0)}.mr-0{margin-right:var(--space-0)}.mb-0{margin-bottom:var(--space-0)}.ml-0{margin-left:var(--space-0)}.mt-1{margin-top:var(--space-1)}.mr-1{margin-right:var(--space-1)}.mb-1{margin-bottom:var(--space-1)}.ml-1{margin-left:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mr-2{margin-right:var(--space-2)}.mb-2{margin-bottom:var(--space-2)}.ml-2{margin-left:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mr-3{margin-right:var(--space-3)}.mb-3{margin-bottom:var(--space-3)}.ml-3{margin-left:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mr-4{margin-right:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.ml-4{margin-left:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mr-5{margin-right:var(--space-5)}.mb-5{margin-bottom:var(--space-5)}.ml-5{margin-left:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mr-6{margin-right:var(--space-6)}.mb-6{margin-bottom:var(--space-6)}.ml-6{margin-left:var(--space-6)}.mt-7{margin-top:var(--space-7)}.mr-7{margin-right:var(--space-7)}.mb-7{margin-bottom:var(--space-7)}.ml-7{margin-left:var(--space-7)}.mt-8{margin-top:var(--space-8)}.mr-8{margin-right:var(--space-8)}.mb-8{margin-bottom:var(--space-8)}.ml-8{margin-left:var(--space-8)}.mt-9{margin-top:var(--space-9)}.mr-9{margin-right:var(--space-9)}.mb-9{margin-bottom:var(--space-9)}.ml-9{margin-left:var(--space-9)}.mt-10{margin-top:var(--space-10)}.mr-10{margin-right:var(--space-10)}.mb-10{margin-bottom:var(--space-10)}.ml-10{margin-left:var(--space-10)}.mt-11{margin-top:var(--space-11)}.mr-11{margin-right:var(--space-11)}.mb-11{margin-bottom:var(--space-11)}.ml-11{margin-left:var(--space-11)}.mt-12{margin-top:var(--space-12)}.mr-12{margin-right:var(--space-12)}.mb-12{margin-bottom:var(--space-12)}.ml-12{margin-left:var(--space-12)}.mx-0{margin-left:var(--space-0);margin-right:var(--space-0)}.my-0{margin-top:var(--space-0);margin-bottom:var(--space-0)}.mx-1{margin-left:var(--space-1);margin-right:var(--space-1)}.my-1{margin-top:var(--space-1);margin-bottom:var(--space-1)}.mx-2{margin-left:var(--space-2);margin-right:var(--space-2)}.my-2{margin-top:var(--space-2);margin-bottom:var(--space-2)}.mx-3{margin-left:var(--space-3);margin-right:var(--space-3)}.my-3{margin-top:var(--space-3);margin-bottom:var(--space-3)}.mx-4{margin-left:var(--space-4);margin-right:var(--space-4)}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}.mx-5{margin-left:var(--space-5);margin-right:var(--space-5)}.my-5{margin-top:var(--space-5);margin-bottom:var(--space-5)}.mx-6{margin-left:var(--space-6);margin-right:var(--space-6)}.my-6{margin-top:var(--space-6);margin-bottom:var(--space-6)}.mx-7{margin-left:var(--space-7);margin-right:var(--space-7)}.my-7{margin-top:var(--space-7);margin-bottom:var(--space-7)}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.mx-9{margin-left:var(--space-9);margin-right:var(--space-9)}.my-9{margin-top:var(--space-9);margin-bottom:var(--space-9)}.mx-10{margin-left:var(--space-10);margin-right:var(--space-10)}.my-10{margin-top:var(--space-10);margin-bottom:var(--space-10)}.mx-11{margin-left:var(--space-11);margin-right:var(--space-11)}.my-11{margin-top:var(--space-11);margin-bottom:var(--space-11)}.mx-12{margin-left:var(--space-12);margin-right:var(--space-12)}.my-12{margin-top:var(--space-12);margin-bottom:var(--space-12)}.mt-auto{margin-top:auto}.p-0{padding:var(--space-0)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-7{padding:var(--space-7)}.p-8{padding:var(--space-8)}.p-9{padding:var(--space-9)}.p-10{padding:var(--space-10)}.p-11{padding:var(--space-11)}.p-12{padding:var(--space-12)}.pt-0{padding-top:var(--space-0)}.pr-0{padding-right:var(--space-0)}.pb-0{padding-bottom:var(--space-0)}.pl-0{padding-left:var(--space-0)}.pt-1{padding-top:var(--space-1)}.pr-1{padding-right:var(--space-1)}.pb-1{padding-bottom:var(--space-1)}.pl-1{padding-left:var(--space-1)}.pt-2{padding-top:var(--space-2)}.pr-2{padding-right:var(--space-2)}.pb-2{padding-bottom:var(--space-2)}.pl-2{padding-left:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pr-3{padding-right:var(--space-3)}.pb-3{padding-bottom:var(--space-3)}.pl-3{padding-left:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pr-4{padding-right:var(--space-4)}.pb-4{padding-bottom:var(--space-4)}.pl-4{padding-left:var(--space-4)}.pt-5{padding-top:var(--space-5)}.pr-5{padding-right:var(--space-5)}.pb-5{padding-bottom:var(--space-5)}.pl-5{padding-left:var(--space-5)}.pt-6{padding-top:var(--space-6)}.pr-6{padding-right:var(--space-6)}.pb-6{padding-bottom:var(--space-6)}.pl-6{padding-left:var(--space-6)}.pt-7{padding-top:var(--space-7)}.pr-7{padding-right:var(--space-7)}.pb-7{padding-bottom:var(--space-7)}.pl-7{padding-left:var(--space-7)}.pt-8{padding-top:var(--space-8)}.pr-8{padding-right:var(--space-8)}.pb-8{padding-bottom:var(--space-8)}.pl-8{padding-left:var(--space-8)}.pt-9{padding-top:var(--space-9)}.pr-9{padding-right:var(--space-9)}.pb-9{padding-bottom:var(--space-9)}.pl-9{padding-left:var(--space-9)}.pt-10{padding-top:var(--space-10)}.pr-10{padding-right:var(--space-10)}.pb-10{padding-bottom:var(--space-10)}.pl-10{padding-left:var(--space-10)}.pt-11{padding-top:var(--space-11)}.pr-11{padding-right:var(--space-11)}.pb-11{padding-bottom:var(--space-11)}.pl-11{padding-left:var(--space-11)}.pt-12{padding-top:var(--space-12)}.pr-12{padding-right:var(--space-12)}.pb-12{padding-bottom:var(--space-12)}.pl-12{padding-left:var(--space-12)}.px-0{padding-left:var(--space-0);padding-right:var(--space-0)}.py-0{padding-top:var(--space-0);padding-bottom:var(--space-0)}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.px-5{padding-left:var(--space-5);padding-right:var(--space-5)}.py-5{padding-top:var(--space-5);padding-bottom:var(--space-5)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.px-7{padding-left:var(--space-7);padding-right:var(--space-7)}.py-7{padding-top:var(--space-7);padding-bottom:var(--space-7)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.px-9{padding-left:var(--space-9);padding-right:var(--space-9)}.py-9{padding-top:var(--space-9);padding-bottom:var(--space-9)}.px-10{padding-left:var(--space-10);padding-right:var(--space-10)}.py-10{padding-top:var(--space-10);padding-bottom:var(--space-10)}.px-11{padding-left:var(--space-11);padding-right:var(--space-11)}.py-11{padding-top:var(--space-11);padding-bottom:var(--space-11)}.px-12{padding-left:var(--space-12);padding-right:var(--space-12)}.py-12{padding-top:var(--space-12);padding-bottom:var(--space-12)}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}
