@charset "UTF-8";:root{--gc-bg: #040b1a;--gc-surface-1: #071228;--gc-surface-2: #081a38;--gc-border: rgba(209, 213, 219, .12);--gc-text: rgba(255, 255, 255, .92);--gc-text-muted: rgba(209, 213, 219, .72);--gc-accent: #2563eb;--gc-accent-2: #1e3a8a;--gc-primary: #1e3a8a;--gc-primary-light: #2563eb;--gc-primary-dark: #1e40af;--gc-neutral: #6b7280;--gc-neutral-light: #d1d5db;--gc-neutral-dark: #374151;--gc-error: #dc2626;--gc-success: #16a34a;--gc-warning: #f59e0b;--radius-md: 8px;--radius-lg: 12px}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background-image:radial-gradient(circle at 1px 1px,rgba(112,112,116,.15) 1px,transparent 0),radial-gradient(140% 90% at 50% -10%,#2563eb29,#2563eb0d 38%,#2563eb00 72%);background-size:32px 32px,auto;background-color:var(--gc-bg);background-attachment:fixed;color:var(--gc-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:13.5px;line-height:1.45}button{font-family:inherit;font-size:inherit;color:inherit}.panel{display:flex;flex-direction:column;min-height:0}.panel-h{display:flex;align-items:center;gap:14px;padding:14px 18px 12px;border-bottom:1px solid var(--gc-border);background:var(--gc-surface-1)}.panel-h h2{font-size:17px;font-weight:600;margin:0}.panel-h .sub{color:var(--gc-text-muted);font-size:12px}.panel-h .filters{margin-left:auto;display:flex;gap:8px}.subtabs{display:flex;gap:6px;padding:12px 18px 0;background:var(--gc-surface-1);border-bottom:1px solid var(--gc-border)}.subtab{padding:8px 16px 10px;font-size:13px;color:var(--gc-text-muted);border:none;background:none;border-bottom:2px solid transparent;border-radius:6px 6px 0 0;cursor:pointer}.subtab.on{color:var(--gc-text);border-bottom-color:var(--gc-accent);background:#2563eb14}.subtab .hier{display:block;font-size:9.5px;letter-spacing:.04em;color:var(--gc-neutral);margin-top:1px;font-weight:400}.project-switch{display:flex;flex-wrap:wrap;gap:6px;padding:14px 18px 0}.project-chip{padding:6px 14px;font-size:12.5px;color:var(--gc-text-muted);border:1px solid var(--gc-border);background:var(--gc-surface-1);border-radius:999px;cursor:pointer}.project-chip:hover{border-color:#2563eb59}.project-chip.on{color:var(--gc-text);border-color:var(--gc-accent);background:#2563eb1f}.hiernote{margin:12px 18px 0;padding:9px 13px;border:1px solid var(--gc-border);border-radius:8px;background:var(--gc-surface-2);font-size:12px;color:var(--gc-text-muted);display:flex;gap:9px;align-items:flex-start}.hiernote.warn{border-color:#f59e0b66;color:var(--gc-warning)}.hiernote.ok{border-color:#16a34a66;color:var(--gc-success)}.hiernote .i{width:15px;height:15px;border-radius:50%;border:1px solid var(--gc-accent);color:var(--gc-accent);display:grid;place-items:center;font-size:9.5px;flex:0 0 15px;margin-top:1px}.hiernote.warn .i{border-color:var(--gc-warning);color:var(--gc-warning)}.hiernote.ok .i{border-color:var(--gc-success);color:var(--gc-success)}.statstrip{display:flex;gap:12px;padding:14px 18px 4px;flex-wrap:wrap}.stat{background:var(--gc-surface-1);border:1px solid var(--gc-border);border-radius:10px;padding:10px 16px;min-width:130px;flex:1 1 130px}.stat .v{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.stat .v.warn{color:var(--gc-warning)}.stat .v.err{color:var(--gc-error)}.stat .v.ok{color:var(--gc-success)}.stat .l{font-size:10.5px;color:var(--gc-text-muted);letter-spacing:.06em;text-transform:uppercase;margin-top:2px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;padding:14px 18px 20px}.lcard{background:var(--gc-surface-1);border:1px solid var(--gc-border);border-radius:12px;padding:14px 16px}.lcard:hover{border-color:#2563eb59}.lcard.on{border-color:var(--gc-accent);background:#2563eb14}.lcard-h{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.lcard-h h3{font-size:14.5px;font-weight:600;margin:0;color:var(--gc-text)}.lcard-h small{display:block;color:var(--gc-text-muted);font-size:11.5px;margin-top:1px}.lcard-f{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--gc-border)}.holdings{margin:8px 0 4px}.hrow{display:flex;align-items:center;gap:10px;padding:3.5px 0;font-size:12px}.hrow .hc{font-variant-numeric:tabular-nums;font-size:11px;color:var(--gc-primary-light);width:76px;flex:0 0 76px}.hrow .hv{font-variant-numeric:tabular-nums;font-size:11px;color:var(--gc-text-muted);margin-left:auto}.pill{font-size:10px;padding:2.5px 7px;border-radius:6px;background:var(--gc-surface-2);border:1px solid var(--gc-border);color:var(--gc-text-muted);font-variant-numeric:tabular-nums;text-transform:capitalize;display:inline-block}.pill.ok{color:var(--gc-success);border-color:#16a34a73}.pill.warn{color:var(--gc-warning);border-color:#f59e0b73}.pill.err{color:var(--gc-error);border-color:#dc262673}.pill.urg{color:var(--gc-error);border-color:#dc262673;background:#dc262612}.pill.link{color:#7ba3f2;border-color:#2563eb66;cursor:pointer}.pill.role-viewer{color:var(--gc-text-muted);border-color:var(--gc-border)}.pill.role-operator{color:#7ba3f2;border-color:#2563eb73;background:#2563eb14}.pill.role-controller{color:var(--gc-success);border-color:#16a34a73;background:#16a34a14}.pill.role-auditor{color:var(--gc-warning);border-color:#f59e0b73;background:#f59e0b14}.pill.role-manager{color:var(--gc-success);border-color:#16a34a73;background:#16a34a14}.pill.role-contributor{color:#7ba3f2;border-color:#2563eb73;background:#2563eb14}.pill.mode-b{color:#7ba3f2;border-color:#2563eb66}.chip{font-size:11.5px;border:1px solid var(--gc-border);border-radius:8px;padding:5px 11px;color:var(--gc-text-muted);background:var(--gc-surface-2);transition:all .15s ease;cursor:pointer}.chip.on{border-color:#2563eb80;color:var(--gc-primary-light);background:#2563eb1f}.board{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:14px 18px;overflow:auto;min-height:0}.col{display:flex;flex-direction:column;min-height:0}.col h4{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gc-text-muted);font-weight:600;display:flex;gap:7px;align-items:center;margin-bottom:10px;flex:0 0 auto}.col-scroll{overflow-y:auto;min-height:0;max-height:62vh;padding-right:2px}.filterbar{display:flex;align-items:flex-end;gap:12px;padding:12px 18px;border-bottom:1px solid var(--gc-border);flex-wrap:wrap}.fgroup{display:flex;flex-direction:column;gap:5px;min-width:170px}.fgroup label{font-size:11px;color:var(--gc-text-muted);letter-spacing:.04em;text-transform:uppercase}.fgroup.grow{flex:1;min-width:220px}.result-count{font-size:11.5px;color:var(--gc-text-muted);padding:0 18px;margin-top:-2px;margin-bottom:8px}.col h4 .n{color:var(--gc-neutral);font-variant-numeric:tabular-nums}.tcard{background:var(--gc-surface-1);border:1px solid var(--gc-border);border-radius:10px;padding:11px 13px;margin-bottom:10px}.tcard:hover{border-color:#2563eb59}.tcard .no{font-variant-numeric:tabular-nums;font-size:11.5px;color:var(--gc-primary-light)}.tcard .route{font-size:12.5px;margin:4px 0 7px}.tcard .route span{color:var(--gc-neutral)}.tcard .meta{display:flex;gap:6px;flex-wrap:wrap}.tcard .act{margin-top:9px}.tcard .act .btn{padding:5px 11px;font-size:12px}.trow{display:flex;align-items:center;gap:9px;padding:6px 8px;border-radius:7px;font-size:12px;margin-bottom:3px;color:var(--gc-text-muted)}.trow:hover{background:var(--gc-surface-2)}.trow .no{font-variant-numeric:tabular-nums;font-size:11px;color:var(--gc-primary-light);flex:0 0 auto}.trow .route{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trow .route span{color:var(--gc-neutral)}.trow .pill{flex:0 0 auto}.colempty{color:var(--gc-neutral);font-size:12px;margin:0}.section-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 18px 0}.section-h h3{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gc-text-muted);font-weight:600;margin:0;display:inline-flex;align-items:center;gap:8px}.section-h h3 .count{font-size:11px;padding:2px 8px;border-radius:999px;background:#94a3b824;color:var(--gc-text-muted);font-variant-numeric:tabular-nums}.section-line{flex:1;min-width:24px;height:1px;background:var(--gc-border)}.dsec{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gc-text-muted);font-weight:600;margin:18px 0 8px;display:flex;align-items:center;gap:8px}.dsec:first-child{margin-top:0}.dsec .count{font-size:11px;padding:2px 8px;border-radius:999px;background:#94a3b824;color:var(--gc-text-muted);font-variant-numeric:tabular-nums}.dnote{font-size:11.5px;color:var(--gc-text-muted);margin:0 0 10px;line-height:1.5}.lcard.active{border-color:#2563eb8c;background:linear-gradient(180deg,rgba(37,99,235,.08),transparent)}.tablewrap{flex:1;overflow:auto;margin:14px 18px 20px;background:var(--gc-surface-1);border:1px solid var(--gc-border);border-radius:12px}table{width:100%;border-collapse:collapse}th:last-child,td:last-child{width:100%}th{position:sticky;top:0;background:var(--gc-surface-2);text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--gc-text-muted);font-weight:600;padding:11px 16px;border-bottom:1px solid var(--gc-border);white-space:nowrap;z-index:2}td{padding:11px 16px;border-bottom:1px solid rgba(209,213,219,.07);font-size:13px;color:var(--gc-text);white-space:nowrap;vertical-align:middle}td.num{font-variant-numeric:tabular-nums}tbody tr:nth-child(2n) td{background:#ffffff05}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#2563eb17}td .btn{padding:5px 11px;font-size:12px}th.actions,td.actions{text-align:right}td.actions .btn+.btn{margin-left:6px}.btn{border:1px solid var(--gc-border);border-radius:8px;padding:7px 13px;font-size:12.5px;color:var(--gc-text-muted);background:var(--gc-surface-2);transition:all .15s ease;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.btn svg{flex:0 0 auto}.btn:hover:not(:disabled){transform:translateY(-1px);background:#2563eb24;border-color:#2563eb47;color:var(--gc-text)}.btn.primary{background:var(--gc-accent);border-color:var(--gc-accent);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--gc-primary-dark)}.btn:disabled{opacity:.6;cursor:not-allowed}.scrim{position:fixed;inset:0;background:#040b1ab3;display:none;align-items:center;justify-content:center;z-index:300}.scrim.on{display:flex}.modal{width:480px;max-width:94vw;max-height:90vh;overflow:auto;background:var(--gc-surface-1);border:1px solid var(--gc-border);border-radius:12px;box-shadow:0 24px 70px #040b1abf}.m-h{padding:16px 18px;border-bottom:1px solid var(--gc-border);display:flex;align-items:baseline;gap:10px}.m-h h3{font-size:16px;font-weight:600;margin:0;color:var(--gc-text)}.m-h .no{font-variant-numeric:tabular-nums;font-size:12px;color:var(--gc-primary-light)}.m-h .x{margin-left:auto;color:var(--gc-text-muted);background:none;border:none;cursor:pointer;font-size:14px}.m-route{padding:10px 18px;border-bottom:1px solid var(--gc-border);font-size:12.5px;color:var(--gc-text-muted);display:flex;gap:10px;align-items:center}.m-route b{color:var(--gc-text);font-weight:600}.m-route .arrow{color:var(--gc-accent)}.m-sec{padding:15px 18px;border-bottom:1px solid var(--gc-border)}.m-sec:last-of-type{border-bottom:none}.m-sec h4{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gc-text-muted);font-weight:600;margin-bottom:10px}.m-f{padding:15px 18px;display:flex;align-items:center;gap:12px;border-top:1px solid var(--gc-border)}.field{margin-bottom:12px}.field label{display:block;font-size:11px;color:var(--gc-text-muted);margin-bottom:5px;letter-spacing:.04em;text-transform:uppercase}.field-row{display:flex;gap:10px;flex-wrap:wrap}.field-row .field{flex:1;min-width:160px}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(2px);background:var(--gc-surface-2);color:var(--gc-text);border:1px solid var(--gc-border);border-radius:6px;padding:5px 9px;font-size:11px;line-height:1.4;white-space:normal;width:max-content;max-width:220px;box-shadow:0 4px 14px #00000059;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:50}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0)}.req{color:var(--gc-error);margin-left:3px;cursor:help;font-weight:700}.info-dot{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--gc-accent);color:var(--gc-accent);font-size:10px;font-style:italic;font-weight:700;cursor:help;flex:0 0 16px}.inp{background:var(--gc-bg);border:1px solid var(--gc-border);border-radius:8px;color:var(--gc-text);font-variant-numeric:tabular-nums;font-size:12px;padding:8px 10px;width:100%}.inp::placeholder{color:var(--gc-neutral)}.inp:focus{outline:none;border-color:var(--gc-accent);box-shadow:0 0 0 3px #2563eb2e}.sel{background:var(--gc-bg);border:1px solid var(--gc-border);border-radius:8px;color:var(--gc-text);font-size:12.5px;padding:8px 10px;width:100%}.sel:focus{outline:none;border-color:var(--gc-accent);box-shadow:0 0 0 3px #2563eb2e}.urgency-toggle{display:flex;gap:6px}.urgency-toggle button{flex:1;border:1px solid var(--gc-border);border-radius:8px;padding:8px;font-size:12px;color:var(--gc-text-muted);background:var(--gc-bg);cursor:pointer}.urgency-toggle button.on{border-color:var(--gc-accent);color:var(--gc-text);background:#2563eb24}.urgency-toggle button.on[data-u=urgent]{border-color:var(--gc-error);background:#dc262624;color:#ff9b98}.urgency-toggle.multi{flex-wrap:wrap}.urgency-toggle.multi button{flex:1 1 30%;position:relative}.urgency-toggle button.already{opacity:.55;cursor:not-allowed;border-style:dashed;background:var(--gc-surface-2)}.already-tick{margin-left:5px;color:var(--gc-success);font-weight:700}.ug-list{display:flex;flex-direction:column;gap:8px;padding:8px 18px 20px}.ug-row{border:1px solid var(--gc-border);border-radius:12px;background:var(--gc-surface-1);overflow:hidden;transition:border-color .15s}.ug-row:hover{border-color:#2563eb59}.ug-row--open{border-color:#2563eb73;background:#2563eb0a}.ug-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto 14px;align-items:center;gap:12px;width:100%;padding:12px 14px;background:none;border:none;color:inherit;font-family:inherit;text-align:left;cursor:pointer;transition:background .12s}.ug-head:hover{background:#2563eb0d}.ug-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--gc-accent),rgba(37,99,235,.55));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.ug-avatar--unknown{background:var(--gc-surface-2);color:var(--gc-text-muted);border:1px dashed var(--gc-border)}.ug-who{display:flex;flex-direction:column;min-width:0;gap:2px}.ug-email{font-size:13.5px;color:var(--gc-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ug-email--placeholder{color:var(--gc-text-muted);font-style:italic}.ug-summary{font-size:11.5px;color:var(--gc-text-muted)}.ug-roles{display:flex;gap:4px;flex-wrap:nowrap;overflow:hidden}.ug-count{min-width:22px;padding:2px 8px;border-radius:999px;background:var(--gc-surface-2);border:1px solid var(--gc-border);color:var(--gc-text-muted);font-size:11.5px;font-weight:600;text-align:center;flex-shrink:0}.ug-chev{color:var(--gc-text-muted);transition:transform .15s;flex-shrink:0}.ug-chev.rotated{transform:rotate(90deg);color:var(--gc-text)}.ug-body{padding:4px 14px 14px;border-top:1px solid var(--gc-border);background:var(--gc-surface-1)}.ug-grants{width:100%;border-collapse:collapse;font-size:12.5px}.ug-grants th,.ug-grants td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--gc-border);color:var(--gc-text)}.ug-grants th{color:var(--gc-text-muted);font-weight:600;font-size:11px;letter-spacing:.04em;text-transform:uppercase}.ug-grants tr:last-child td{border-bottom:none}.ug-grants td.actions,.ug-grants th.actions{text-align:right;width:90px}.ug-empty{padding:24px;text-align:center;color:var(--gc-text-muted);font-size:13px;border:1px dashed var(--gc-border);border-radius:10px}@media(max-width:640px){.ug-head{grid-template-columns:32px minmax(0,1fr) auto 14px}.ug-roles{display:none}}.toolsets-cell{white-space:nowrap;width:1%}.toolset-count{cursor:pointer;text-transform:none;color:#7ba3f2;border-color:#2563eb66}.toolset-count:hover{border-color:var(--gc-accent);filter:brightness(1.15)}.acc-h{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--gc-text-muted);margin:0 0 8px}.acc-note{font-size:11.5px;color:var(--gc-text-muted);line-height:1.5;margin:0 0 10px}.toolset-pills{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.toolset-pill{text-transform:none;display:inline-flex;align-items:center;max-width:100%}.pill-x{background:none;border:0;color:inherit;cursor:pointer;padding:0 0 0 5px;opacity:.6;line-height:1;font-size:10px}.pill-x:hover:not(:disabled){opacity:1;color:var(--gc-error)}.pill-x:disabled{cursor:default;opacity:.3}.toolset-picker{display:flex;gap:6px;align-items:center;margin-top:7px}.toolset-picker .sel{max-width:210px}.seed-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin-bottom:12px;border:1px solid var(--gc-border);border-radius:8px;background:var(--gc-surface-2)}.seed-bar .muted{display:block;font-size:11.5px;margin-top:2px}.seed-table{width:100%}.seed-table th.num,.seed-table td.num{text-align:right;font-variant-numeric:tabular-nums}.seed-table td.warn{color:var(--gc-warning);font-weight:600}.seed-table tr.is-skipped td{opacity:.55}.pill{display:inline-block;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid currentColor}.pill.create{color:var(--gc-success)}.pill.empty{color:var(--gc-text-muted)}.pill-check{display:inline-flex;align-items:center;gap:6px;font-size:11px;cursor:pointer}.pill-check input{margin:0}.seed-progress{margin-bottom:10px}.seed-progress__head{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}.seed-progress__bar{height:6px;border-radius:3px;background:#ffffff14;overflow:hidden}.seed-progress__fill{height:100%;background:var(--gc-accent);transition:width .2s ease}.seed-progress[data-state=ok] .seed-progress__fill{background:var(--gc-success)}.seed-progress[data-state=partial] .seed-progress__fill{background:var(--gc-warning)}.seed-progress[data-state=failed] .seed-progress__fill{background:var(--gc-error)}@media(prefers-reduced-motion:reduce){.seed-progress__fill{transition:none}}
