.loading-bar[data-v-157182fc]{z-index:1000;background:color-mix(in srgb, var(--color-primary) 20%, transparent);width:100%;height:3px;position:fixed;top:0;left:0;overflow:hidden}.loading-bar[data-v-157182fc]:after{background:var(--color-primary);content:"";width:38%;height:100%;animation:1.1s ease-in-out infinite loading-slide-157182fc;display:block}@keyframes loading-slide-157182fc{0%{transform:translate(-100%)}to{transform:translate(280%)}}.toast-region[data-v-3a447768]{z-index:1100;gap:10px;width:min(360px,100vw - 40px);display:grid;position:fixed;bottom:20px;right:20px}.toast[data-v-3a447768]{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-panel);text-align:left;border-left-width:4px;border-radius:8px;padding:12px 14px}.toast.success[data-v-3a447768]{border-left-color:var(--color-secondary)}.toast.error[data-v-3a447768]{border-left-color:var(--color-danger)}.toast.info[data-v-3a447768]{border-left-color:var(--color-primary)}.permission-icon[data-v-a1ae0f65]{flex:none;width:19px;height:19px}.permission-matrix[data-v-6c271b9b]{gap:14px;display:grid}.matrix-hint[data-v-6c271b9b]{color:var(--color-muted);margin:0;font-size:.85rem;line-height:1.4}.matrix-toolbar[data-v-6c271b9b]{border:1px solid var(--color-border);border-radius:var(--radius-md,12px);background:var(--color-surface);box-shadow:var(--shadow-card,none);flex-wrap:wrap;align-items:center;gap:14px;padding:14px 16px;display:flex}.matrix-summary[data-v-6c271b9b]{flex:1;gap:6px;min-width:180px;display:grid}.summary-text[data-v-6c271b9b]{color:var(--color-muted);align-items:baseline;gap:6px;font-size:.85rem;font-weight:700;display:flex}.summary-text strong[data-v-6c271b9b]{color:var(--color-text);font-family:var(--font-display,var(--font-serif,inherit));font-size:1.3rem}.summary-bar[data-v-6c271b9b]{background:var(--color-surface-alt);border-radius:999px;height:6px;overflow:hidden}.summary-bar span[data-v-6c271b9b]{background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));border-radius:999px;height:100%;transition:width .2s;display:block}.matrix-search[data-v-6c271b9b]{border:1px solid var(--color-input-border);border-radius:var(--radius-sm,8px);background:var(--color-surface-alt);flex:1;align-items:center;gap:8px;min-width:200px;padding:8px 12px;display:flex}.matrix-search svg[data-v-6c271b9b]{width:16px;height:16px;color:var(--color-muted);flex:none}.matrix-search input[data-v-6c271b9b]{width:100%;min-width:0;color:var(--color-text);font:inherit;background:0 0;border:0;font-size:.9rem}.matrix-search input[data-v-6c271b9b]:focus{outline:none}.matrix-presets[data-v-6c271b9b]{border:1px solid var(--color-border);border-radius:var(--radius-sm,8px);background:var(--color-surface);display:flex;overflow:hidden}.matrix-presets button[data-v-6c271b9b]{border:0;border-right:1px solid var(--color-border);color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;padding:8px 12px;font-size:.82rem;font-weight:800}.matrix-presets button[data-v-6c271b9b]:last-child{border-right:0}.matrix-presets button[data-v-6c271b9b]:hover{color:var(--color-primary)}.matrix-presets button.active[data-v-6c271b9b]{color:var(--color-primary-contrast);background:var(--color-primary)}.matrix-empty[data-v-6c271b9b]{color:var(--color-muted);margin:0;font-weight:700}.module-grid[data-v-6c271b9b]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-auto-rows:1fr;gap:12px;display:grid}.module-card[data-v-6c271b9b]{border:1px solid var(--color-border);border-radius:var(--radius-md,12px);background:var(--color-surface);grid-template-rows:auto 1fr;align-content:start;gap:12px;min-height:150px;padding:16px;transition:border-color .12s;display:grid}.module-card.state-partial[data-v-6c271b9b]{border-color:color-mix(in srgb, var(--color-primary) 35%, var(--color-border))}.module-card.state-full[data-v-6c271b9b]{border-color:color-mix(in srgb, var(--color-primary) 60%, var(--color-border))}.module-header[data-v-6c271b9b]{align-items:flex-start;gap:12px;display:flex}.module-icon[data-v-6c271b9b]{border-radius:var(--radius-sm,8px);width:38px;height:38px;color:var(--color-muted);background:var(--color-surface-alt);flex:none;place-items:center;transition:color .12s,background-color .12s;display:grid}.module-card.state-partial .module-icon[data-v-6c271b9b],.module-card.state-full .module-icon[data-v-6c271b9b]{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 12%, transparent)}.module-heading[data-v-6c271b9b]{flex:1;gap:2px;min-width:0;display:grid}.module-heading h3[data-v-6c271b9b]{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;line-height:1.3;overflow:hidden}.module-heading p[data-v-6c271b9b]{min-height:2.16rem;color:var(--color-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8rem;line-height:1.35;display:-webkit-box;overflow:hidden}.module-toggle[data-v-6c271b9b]{cursor:pointer;flex:none;align-items:center;gap:6px;display:flex}.module-toggle input[data-v-6c271b9b]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;margin:0}.module-toggle input[data-v-6c271b9b]:disabled{cursor:not-allowed}.module-count[data-v-6c271b9b]{min-width:34px;color:var(--color-muted);background:var(--color-surface-alt);font-family:var(--font-mono,monospace);text-align:center;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.module-card.state-full .module-count[data-v-6c271b9b]{color:var(--color-primary-contrast);background:var(--color-primary)}.action-chips[data-v-6c271b9b]{flex-wrap:wrap;align-content:flex-start;gap:8px;display:flex}.chip[data-v-6c271b9b]{border:1px solid var(--color-border);color:var(--color-muted);background:var(--color-surface);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:6px 12px 6px 7px;font-size:.85rem;font-weight:700;transition:border-color .12s,color .12s,background-color .12s,transform 80ms;display:inline-flex}.chip[data-v-6c271b9b]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.chip[data-v-6c271b9b]:active:not(:disabled){transform:scale(.97)}.chip[data-v-6c271b9b]:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 25%, transparent);outline:none}.chip-check[data-v-6c271b9b]{border:1.5px solid var(--color-input-border);color:#0000;background:var(--color-surface);border-radius:50%;flex:none;place-items:center;width:18px;height:18px;transition:border-color .12s,color .12s,background-color .12s;display:grid}.chip-check svg[data-v-6c271b9b]{width:11px;height:11px}.chip.on[data-v-6c271b9b]{border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border));color:var(--color-text);background:color-mix(in srgb, var(--color-primary) 9%, var(--color-surface))}.chip.on .chip-check[data-v-6c271b9b]{border-color:var(--color-primary);color:var(--color-primary-contrast);background:var(--color-primary)}.chip.special[data-v-6c271b9b]{border-style:dashed}.chip.special.on[data-v-6c271b9b]{border-style:solid;border-color:color-mix(in srgb, var(--color-accent) 55%, var(--color-border));background:var(--color-accent-soft)}.chip.special.on .chip-check[data-v-6c271b9b]{border-color:var(--color-accent);color:#fff;background:var(--color-accent)}.chip[data-v-6c271b9b]:disabled{cursor:default}.permission-matrix.locked .chip.on[data-v-6c271b9b]{opacity:.85}@media (width<=560px){.module-grid[data-v-6c271b9b]{grid-template-columns:1fr}.matrix-presets[data-v-6c271b9b]{width:100%}.matrix-presets button[data-v-6c271b9b]{flex:1}}:root{--color-page:#f5f6f8;--color-surface:#fff;--color-surface-alt:#eef1f5;--color-text:#151b26;--color-muted:#5c6675;--color-border:#e1e5eb;--color-input-border:#ccd3dd;--color-primary:#103a5e;--color-primary-hover:#0a2c47;--color-primary-contrast:#fff;--color-secondary:#1f7a5c;--color-secondary-soft:#e0f2ea;--color-accent:#c08a2e;--color-accent-soft:#f7ecd7;--color-danger:#b3261e;--color-danger-soft:#fbe9e7;--color-pending:#b9740f;--color-pending-soft:#fbf0dd;--color-sidebar-bg:#0a1826;--color-sidebar-bg-alt:#122336;--color-sidebar-text:#eef2f7;--color-sidebar-muted:#8291a3;--color-sidebar-border:#ffffff14;--color-sidebar-active-bg:#c08a2e29;--color-sidebar-active-text:#e0ac52;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--shadow-panel:0 24px 60px #0a182624;--shadow-card:0 1px 2px #0a18260a, 0 10px 24px #0a18260f;--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Newsreader", Georgia, "Times New Roman", serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;color:var(--color-text);background:var(--color-page);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--color-page:#0b0f16;--color-surface:#141b26;--color-surface-alt:#1a2230;--color-text:#eef1f6;--color-muted:#96a1b3;--color-border:#29323f;--color-input-border:#3b4657;--color-primary:#6fa0d8;--color-primary-hover:#8fb6e2;--color-primary-contrast:#0a1826;--color-secondary:#4fb595;--color-secondary-soft:#163027;--color-accent:#e0ac52;--color-accent-soft:#302512;--color-danger:#ff8a7a;--color-danger-soft:#3a1e1c;--color-pending:#e5ac53;--color-pending-soft:#362a15;--color-sidebar-bg:#060d16;--color-sidebar-bg-alt:#0c1520;--color-sidebar-border:#ffffff0f;--shadow-panel:0 24px 60px #0006;--shadow-card:0 1px 2px #0000004d, 0 10px 24px #00000047}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--color-text);background:var(--color-page);margin:0}h1,h2,h3{font-family:var(--font-serif);letter-spacing:-.01em;font-weight:600}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}#app{min-height:100vh}
