:root{--fs-font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--fs-mono:"SF Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--fs-page:#fff;--fs-page-muted:#f6f7f9;--fs-page-deep:#eef0f4;--fs-surface:#fff;--fs-border:#e4e7ec;--fs-border-strong:#d0d5dd;--fs-text:#101828;--fs-text-secondary:#475467;--fs-muted:#667085;--fs-accent:#ee4c2c;--fs-accent-hover:#d63f21;--fs-accent-soft:rgba(238,76,44,.08);--fs-link:#175cd3;--fs-link-hover:#104fb3;--fs-radius:12px;--fs-radius-lg:16px;--fs-shadow:0 1px 2px rgba(16,24,40,.06);--fs-shadow-md:0 4px 12px rgba(16,24,40,.08);--fs-shadow-lg:0 12px 40px rgba(16,24,40,.1);--fs-header-h:64px;--fs-on-accent:#fff;--fs-header-bg:hsla(0,0%,100%,.88);--fs-header-shadow:0 1px 0 rgba(16,24,40,.04);--fs-dropdown-bg:#fff;--fs-dropdown-shadow:0 10px 28px rgba(16,24,40,.12);--fs-success:#12b76a;--fs-success-soft:rgba(18,183,106,.1);--fs-error:#f04438;--fs-error-soft:rgba(240,68,56,.1);--fs-info:#175cd3;--fs-info-soft:rgba(23,92,211,.1)}[data-color-scheme=dark]{color-scheme:dark;--fs-page:#0c0e12;--fs-page-muted:#141821;--fs-page-deep:#0a0c10;--fs-surface:#161a22;--fs-border:#2a3142;--fs-border-strong:#3d4659;--fs-text:#f0f2f5;--fs-text-secondary:#b8c0cc;--fs-muted:#8b95a5;--fs-accent-soft:rgba(238,76,44,.15);--fs-link:#7eb8ff;--fs-link-hover:#a8d0ff;--fs-shadow:0 1px 2px rgba(0,0,0,.35);--fs-shadow-md:0 4px 12px rgba(0,0,0,.4);--fs-shadow-lg:0 12px 40px rgba(0,0,0,.45);--fs-header-bg:rgba(16,18,24,.92);--fs-header-shadow:0 1px 0 rgba(0,0,0,.35);--fs-dropdown-bg:#1e232e;--fs-dropdown-shadow:0 10px 28px rgba(0,0,0,.45);--fs-success-soft:rgba(18,183,106,.15);--fs-error-soft:rgba(240,68,56,.15);--fs-info-soft:rgba(126,184,255,.12)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--fs-page);color:var(--fs-text);font-family:var(--fs-font);font-size:16px;line-height:1.6;margin:0;-webkit-font-smoothing:antialiased}a{color:var(--fs-link);text-decoration:none;transition:color .15s ease}a:hover{color:var(--fs-link-hover);text-decoration:underline}.layout{display:flex;flex-direction:column;min-height:100vh}.layout-main{flex:1;padding-top:var(--fs-header-h)}.container{margin-inline:auto;width:min(1180px,100% - 2.5rem)}.page-enter-active,.page-leave-active{transition:opacity .22s ease,transform .22s ease}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0;transform:translateY(-6px)}.btn{align-items:center;border:1px solid transparent;border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.9rem;font-weight:600;gap:.5rem;justify-content:center;padding:.55rem 1.1rem;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}.btn,.btn:hover{text-decoration:none}.btn:active{transform:scale(.97)}.btn-primary{background:var(--fs-accent);border-color:var(--fs-accent);box-shadow:var(--fs-shadow);color:var(--fs-on-accent)}.btn-primary:hover{background:var(--fs-accent-hover);border-color:var(--fs-accent-hover);box-shadow:var(--fs-shadow-md);color:var(--fs-on-accent)}.btn-secondary{background:var(--fs-surface);border-color:var(--fs-border-strong);box-shadow:var(--fs-shadow);color:var(--fs-text)}.btn-secondary:hover{background:var(--fs-page-muted);border-color:var(--fs-border);color:var(--fs-text)}.btn-danger{background:var(--fs-error);border-color:var(--fs-error);box-shadow:var(--fs-shadow);color:#fff}.btn-danger:hover{background:#d92d20;border-color:#d92d20;box-shadow:var(--fs-shadow-md);color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--fs-text-secondary)}.btn-ghost:hover{background:var(--fs-page-muted);color:var(--fs-text)}.btn-sm{border-radius:6px;font-size:.82rem;padding:.35rem .75rem}.btn-icon{border-radius:8px;padding:.45rem}.card{background:var(--fs-surface);border:1px solid var(--fs-border);border-radius:var(--fs-radius);box-shadow:var(--fs-shadow);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.card--hover:hover{border-color:var(--fs-border-strong);box-shadow:var(--fs-shadow-md);transform:translateY(-2px)}.data-table{border-collapse:collapse;font-size:.9rem;width:100%}.data-table th{background:var(--fs-page-muted);color:var(--fs-muted);font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:.75rem 1rem;text-align:left;text-transform:uppercase}.data-table td,.data-table th{border-bottom:1px solid var(--fs-border)}.data-table td{color:var(--fs-text-secondary);padding:.7rem 1rem;vertical-align:middle}.data-table tr{transition:background .12s ease}.data-table tbody tr:hover{background:var(--fs-accent-soft)}.data-table td:first-child,.data-table th:first-child{padding-left:1.25rem}.data-table td:last-child,.data-table th:last-child{padding-right:1.25rem}.form-group{margin-bottom:1.25rem}.form-label{color:var(--fs-text);display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem}.form-input{background:var(--fs-surface);border:1px solid var(--fs-border-strong);border-radius:8px;color:var(--fs-text);font-family:inherit;font-size:.9rem;outline:none;padding:.6rem .85rem;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-input::-moz-placeholder{color:var(--fs-muted)}.form-input::placeholder{color:var(--fs-muted)}.form-input:focus{border-color:var(--fs-accent);box-shadow:0 0 0 3px var(--fs-accent-soft)}.badge{align-items:center;border-radius:6px;display:inline-flex;font-size:.72rem;font-weight:600;gap:.3rem;letter-spacing:.03em;padding:.2rem .55rem;text-transform:uppercase}.badge--public{background:var(--fs-success-soft);color:var(--fs-success)}.badge--admin,.badge--private{background:var(--fs-accent-soft);color:var(--fs-accent)}.breadcrumb{align-items:center;display:flex;flex-wrap:wrap;font-size:.9rem;gap:.25rem;margin-bottom:1.25rem}.breadcrumb-item{align-items:center;animation:breadcrumb-slide-in .25s ease both;display:inline-flex}.breadcrumb-item a{border-radius:4px;color:var(--fs-text-secondary);padding:.2rem .4rem;text-decoration:none;transition:background .15s ease,color .15s ease}.breadcrumb-item a:hover{background:var(--fs-accent-soft);color:var(--fs-accent);text-decoration:none}.breadcrumb-item span{color:var(--fs-text);font-weight:600;padding:.2rem .4rem}.breadcrumb-sep{color:var(--fs-muted);display:inline-flex;opacity:.6}@keyframes breadcrumb-slide-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.icon-bounce{display:inline-flex;transition:transform .2s ease}.icon-bounce:hover{transform:translateY(-2px)}.empty-state{color:var(--fs-muted);padding:4rem 1rem;text-align:center}.empty-state__icon{align-items:center;background:var(--fs-accent-soft);border-radius:16px;color:var(--fs-accent);display:inline-flex;height:64px;justify-content:center;margin-bottom:1rem;width:64px}.empty-state__icon svg{height:32px;width:32px}.empty-state__title{color:var(--fs-text);font-size:1.15rem;font-weight:600;margin:0 0 .5rem}.empty-state__text{font-size:.9rem;margin:0 0 1.5rem}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton{animation:skeleton-pulse 1.5s ease-in-out infinite;background:var(--fs-page-muted);border-radius:6px}.skeleton--text{height:.9rem;width:100%}.skeleton--title{height:1.4rem;width:60%}.skeleton--row{border-radius:8px;height:3rem;margin-bottom:.5rem;width:100%}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.shake{animation:shake .5s ease}.drop-zone{border:2px dashed var(--fs-border-strong);border-radius:var(--fs-radius);color:var(--fs-muted);cursor:pointer;padding:2rem;text-align:center;transition:border-color .2s ease,background .2s ease}.drop-zone--active,.drop-zone:hover{background:var(--fs-accent-soft);border-color:var(--fs-accent);color:var(--fs-accent)}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.toolbar__spacer{flex:1}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--fs-border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--fs-muted)}.toast-container[data-v-6bc749eb]{display:flex;flex-direction:column;gap:.5rem;max-width:400px;position:fixed;right:1rem;top:calc(var(--fs-header-h) + .75rem);z-index:9999}.toast[data-v-6bc749eb]{align-items:center;background:var(--fs-surface);border:1px solid var(--fs-border);border-radius:10px;box-shadow:var(--fs-shadow-md);cursor:pointer;display:flex;font-size:.88rem;gap:.6rem;padding:.7rem 1rem;transition:opacity .2s ease,transform .2s ease}.toast--success[data-v-6bc749eb]{border-left:3px solid var(--fs-success)}.toast--error[data-v-6bc749eb]{border-left:3px solid var(--fs-error)}.toast--info[data-v-6bc749eb]{border-left:3px solid var(--fs-info)}.toast__icon[data-v-6bc749eb]{display:flex;flex-shrink:0}.toast--success .toast__icon[data-v-6bc749eb]{color:var(--fs-success)}.toast--error .toast__icon[data-v-6bc749eb]{color:var(--fs-error)}.toast--info .toast__icon[data-v-6bc749eb]{color:var(--fs-info)}.toast__message[data-v-6bc749eb]{color:var(--fs-text);flex:1}.toast__close[data-v-6bc749eb]{background:none;border:none;border-radius:4px;color:var(--fs-muted);cursor:pointer;display:flex;padding:.15rem;transition:background .12s ease}.toast__close[data-v-6bc749eb]:hover{background:var(--fs-page-muted)}.toast-enter-active[data-v-6bc749eb]{transition:all .3s ease}.toast-leave-active[data-v-6bc749eb]{transition:all .25s ease}.toast-enter-from[data-v-6bc749eb]{opacity:0;transform:translate(30px)}.toast-leave-to[data-v-6bc749eb]{opacity:0;transform:translate(30px) scale(.95)}.toast-move[data-v-6bc749eb]{transition:transform .25s ease}
