.dlg-backdrop[data-v-741d39e8]{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dlg[data-v-741d39e8]{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:440px;padding:1.1rem 1.2rem 1rem;box-shadow:0 10px 40px #0000004d}.dlg-msg[data-v-741d39e8]{white-space:pre-line;margin:0 0 1rem;line-height:1.4}.dlg-input[data-v-741d39e8]{box-sizing:border-box;border:1px solid var(--color-border);width:100%;font:inherit;border-radius:6px;margin-bottom:1rem;padding:.45rem .55rem}.dlg-btns[data-v-741d39e8]{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.dlg-btns .btn[data-v-741d39e8]{min-height:40px}.btn-danger[data-v-741d39e8]{color:#fff;background:#c0392b;border-color:#c0392b}:root{--color-primary:#1e3a5f;--color-primary-dark:#15294a;--color-accent:#e07a1f;--color-bg:#f4f6f9;--color-surface:#fff;--color-text:#1f2933;--color-muted:#6b7280;--color-border:#d9dee5;--color-danger:#b42318;--color-danger-bg:#fee4e2;--viz-1:#2a78d6;--viz-2:#eb6834;--viz-3:#1baf7a;--viz-4:#8a5cc2;--viz-grid:#e8ebf0;--sidebar-width:240px;--topbar-height:56px;--radius:8px;--shadow:0 1px 3px #00000014;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:var(--color-bg)}a{color:var(--color-primary)}h1{margin:0 0 1rem;font-size:1.5rem}button,input{font:inherit}.btn{border-radius:var(--radius);background:var(--color-primary);color:#fff;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.6rem 1rem;display:inline-flex}.btn:hover{background:var(--color-primary-dark)}.btn:disabled{opacity:.6;cursor:default}.btn-ghost{color:inherit;border-color:var(--color-border);background:0 0}.field{flex-direction:column;gap:.3rem;margin-bottom:1rem;display:flex}.field label{font-size:.9rem;font-weight:600}.field input{border:1px solid var(--color-border);border-radius:var(--radius);min-height:44px;padding:.6rem .75rem}.field input:focus{outline:2px solid var(--color-primary);outline-offset:1px}.alert-error{background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius);margin-bottom:1rem;padding:.6rem .75rem;font-size:.95rem}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.muted{color:var(--color-muted)}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.95rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--color-border);vertical-align:top;padding:.5rem .6rem}.table thead th{white-space:nowrap;background:#eef2f7;font-weight:600}.table.compact th,.table.compact td{padding:.3rem .45rem;font-size:.85rem}.col-actions{white-space:nowrap;text-align:right}.btn-sm{min-height:32px;padding:.3rem .6rem;font-size:.85rem}.btn-ghost.danger{color:var(--color-danger)}.btn-ghost{color:var(--color-primary)}.btn-ghost:hover{background:#eef2f7}.tabs{flex-wrap:wrap;gap:.25rem;margin-bottom:.75rem;display:flex}.tab{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:0 0;min-height:40px;padding:.45rem .85rem}.tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.badge{letter-spacing:.03em;border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.badge-active{color:#1b7f3b;background:#d8f3e1}.badge-draft{color:#8a5a00;background:#fff2cc}.toolbar,.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:.75rem;display:flex}.toolbar label,.filter-bar label{flex-direction:column;gap:.2rem;font-size:.85rem;font-weight:600;display:flex}select,textarea{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;min-height:40px;padding:.45rem .6rem}.page-head{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.page-head h1{margin:0}.alert-ok{color:#1b7f3b;border-radius:var(--radius);background:#d8f3e1;margin-bottom:1rem;padding:.6rem .75rem;font-size:.95rem}code{background:#eef2f7;border-radius:4px;padding:.05rem .3rem;font-size:.9em}@media (width<=599px){.table:not(.compact) thead{display:none}.table:not(.compact) tr{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:.6rem;padding:.4rem .6rem;display:block}.table:not(.compact) td{text-align:right;overflow-wrap:anywhere;border:0;padding:.25rem 0;display:block}.table:not(.compact) td:after{content:"";clear:both;display:block}.table:not(.compact) td[data-label]:before{content:attr(data-label);float:left;text-align:left;color:var(--color-muted);margin-right:.75rem;font-weight:600}.table:not(.compact) td.col-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.table:not(.compact) td.col-actions:after{display:none}}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{text-decoration:underline}th.sortable:after{content:"↕";opacity:.3;margin-left:.3rem;font-size:.8em}th.sortable[aria-sort=ascending]:after{content:"▲";opacity:.9}th.sortable[aria-sort=descending]:after{content:"▼";opacity:.9}.field-row{flex-wrap:wrap;gap:.75rem;display:flex}.field-row>.field{flex:9.5rem;min-width:0}.field-row>.field.grow{flex:2 14rem}.field .row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.field .row input{flex:8rem}input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{min-width:0;max-width:100%}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%}.table-wrap{-webkit-overflow-scrolling:touch;max-width:100%}.card{min-width:0}code{overflow-wrap:anywhere}.show-sm{display:none}@media (width<=599px){.hide-sm{display:none!important}.show-sm{display:inline}.card{padding:.85rem}h1{font-size:1.25rem}.tabs{scrollbar-width:thin;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:.2rem;overflow-x:auto}.tab{white-space:nowrap;flex:none}.toolbar>label,.filter-bar>label{flex:9rem;min-width:0}.toolbar>label :is(input:not([type=checkbox]):not([type=radio]),select),.filter-bar>label :is(input:not([type=checkbox]):not([type=radio]),select){width:100%}}
