@charset "UTF-8";:root{--purple: #8700ff;--purple-dark: #6900ce;--purple-soft: #c9a3ff;--purple-tint: #f3eaff;--bg: #f7f8fb;--surface: #ffffff;--surface-hover: #f3f2f7;--line: #eceaf0;--ink: #24014a;--text: #30283b;--muted: #6f6779;--on-brand: #ffffff;--green: #217859;--green-tint: #eaf8f0;--green-line: #d5eadd;--danger: #ab3838;--danger-tint: #fff3f2;--danger-line: #f3d3d3;--warning: #8a5300;--warning-tint: #fff7e6;--warning-line: #f3dfb1;--sandbox-ink: #7a4b00;--sandbox-bg: #fff4d6;--sandbox-line: #f5d58a;--sandbox-frame: #e8590c;--sandbox-solid: #c2410c;--sandbox-solid-ink: #ffffff;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Arial, sans-serif;--font-size: 14px;--font-size-small: 12.5px;--font-size-title: 24px;--font-size-section: 15px;--radius: 12px;--radius-small: 8px;--shadow: 0 1px 2px #2711390a, 0 4px 14px #2711390a;--focus: 0 0 0 3px #bb85ff80;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--control-height: 40px;--row-padding: 12px;--card-padding: 22px;--sidebar-width: 248px;--sidebar-collapsed-width: 68px;--topbar-height: 60px;--content-max-width: 1280px;color-scheme:light}:root[data-density=compact]{--font-size: 13px;--font-size-small: 12px;--control-height: 34px;--row-padding: 8px;--card-padding: 16px;--space-5: 18px;--space-6: 24px;--topbar-height: 52px}:root[data-theme=dark]{--purple: #a54dff;--purple-dark: #c08aff;--purple-soft: #6b3fa3;--purple-tint: #2a1a40;--bg: #121016;--surface: #1b1820;--surface-hover: #25212c;--line: #2e2936;--ink: #f3eefa;--text: #ddd6e6;--muted: #9f97aa;--green: #5cc59a;--green-tint: #15291f;--green-line: #22412f;--danger: #ff8a80;--danger-tint: #3a1b1b;--danger-line: #5a2626;--warning: #ffc966;--warning-tint: #33270f;--warning-line: #5c4615;--sandbox-ink: #ffd27a;--sandbox-bg: #3a2a07;--sandbox-line: #6b4d0e;--sandbox-frame: #ff922b;--sandbox-solid: #ff922b;--sandbox-solid-ink: #1a1000;--shadow: 0 1px 2px #0006, 0 4px 14px #0004;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){--purple: #a54dff;--purple-dark: #c08aff;--purple-soft: #6b3fa3;--purple-tint: #2a1a40;--bg: #121016;--surface: #1b1820;--surface-hover: #25212c;--line: #2e2936;--ink: #f3eefa;--text: #ddd6e6;--muted: #9f97aa;--green: #5cc59a;--green-tint: #15291f;--green-line: #22412f;--danger: #ff8a80;--danger-tint: #3a1b1b;--danger-line: #5a2626;--warning: #ffc966;--warning-tint: #33270f;--warning-line: #5c4615;--sandbox-ink: #ffd27a;--sandbox-bg: #3a2a07;--sandbox-line: #6b4d0e;--sandbox-frame: #ff922b;--sandbox-solid: #ff922b;--sandbox-solid-ink: #1a1000;--shadow: 0 1px 2px #0006, 0 4px 14px #0004;color-scheme:dark}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font:var(--font-size)/1.5 var(--font-family);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;color:var(--ink)}h1{font-size:var(--font-size-title);letter-spacing:-.4px}h2{font-size:var(--font-size-section)}p{color:var(--muted)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}:focus-visible{outline:none;box-shadow:var(--focus)}.card{padding:var(--card-padding);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.button-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-height);padding:0 var(--space-4);border:0;border-radius:var(--radius-small);background:var(--purple);color:var(--on-brand);font-weight:600;cursor:pointer}.button-primary:hover{background:var(--purple-dark)}.page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}.page-header p{margin:4px 0 0}.back{color:var(--muted);font-weight:600}.back:hover{color:var(--purple-dark)}.hint,.empty,.loading{color:var(--muted)}.empty{padding:18px 0 6px;text-align:center}.notice.warning{padding:12px 16px;border:1px solid var(--warning-line);border-radius:10px;background:var(--warning-tint);color:var(--warning)}.notice.success{padding:12px 16px;border:1px solid var(--green-line);border-radius:10px;background:var(--green-tint);color:var(--green)}.notice.danger{padding:12px 16px;border:1px solid var(--danger-line);border-radius:10px;background:var(--danger-tint);color:var(--danger)}.terms{margin:6px 0 0;padding-left:20px}.terms ul{margin:2px 0 6px;padding-left:18px}ul.notice.terms{list-style:none;padding:12px 16px}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:var(--font-size-small);font-weight:600;white-space:nowrap;vertical-align:middle;background:var(--line);color:var(--text)}.badge.deployment{background:var(--purple-tint);color:var(--purple-dark)}.badge.operation{background:var(--green-tint);color:var(--green)}.badge.subsidiary{background:var(--bg);color:var(--muted);border:1px solid var(--line)}.badge.warning{background:var(--warning-tint);color:var(--warning)}.badge.success{background:var(--green-tint);color:var(--green)}.badge.danger{background:var(--danger-tint);color:var(--danger)}.badge.programmed{gap:4px;background:var(--surface);color:var(--purple-dark);border:1px dashed var(--purple)}.search-field{display:flex;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.search-field:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-tint)}.search-field input{flex:1;min-height:calc(var(--control-height) + 4px);border:0;color:var(--text);outline:none;background:none}.search-field.compact input{min-height:var(--control-height)}.input-action{display:flex;gap:var(--space-2);align-items:stretch}.input-action input{flex:1;min-width:0}.search-icon{color:var(--muted);font-size:18px}.tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:10px;background:var(--bg)}.tabs button,.tabs a{padding:6px 14px;border:0;border-radius:8px;background:none;color:var(--muted);font-weight:600;cursor:pointer}.tabs button.active,.tabs a.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.tabs .count{margin-left:4px;padding:0 7px;border-radius:999px;background:var(--line);font-size:12px}.tabs .active .count{background:var(--purple-tint);color:var(--purple-dark)}.button-secondary{min-height:var(--control-height);padding:6px 14px;border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface);color:var(--ink);font-weight:600;cursor:pointer}.button-secondary:hover{border-color:var(--purple);color:var(--purple-dark)}.skeleton{display:block;border-radius:6px;background:linear-gradient(90deg,var(--line),var(--bg),var(--line));background-size:200% 100%;animation:shimmer 1.2s infinite linear}.skeleton.avatar{width:34px;height:34px;border-radius:8px}@keyframes shimmer{to{background-position:-200% 0}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.breadcrumb{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:calc(-1 * var(--space-3));color:var(--muted)}.breadcrumb a:hover{color:var(--purple-dark)}.page-actions,.section-actions,.row-actions,.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.row-actions{justify-content:flex-end}.section-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.section-header h2{margin:0}.button-primary,.button-secondary,.button-danger,.button-quiet{white-space:nowrap;line-height:1.2;text-decoration:none}.button-primary:disabled,.button-secondary:disabled,.button-danger:disabled,.button-quiet:disabled{opacity:.5;cursor:not-allowed}.button-primary.small,.button-secondary.small,.button-danger.small,.button-quiet.small{min-height:30px;padding:0 var(--space-3);font-size:var(--font-size-small)}.button-secondary{display:inline-flex;align-items:center;justify-content:center}.button-danger{display:inline-flex;align-items:center;min-height:var(--control-height);padding:6px 14px;border:1px solid var(--danger-line);border-radius:var(--radius-small);background:var(--surface);color:var(--danger);font-weight:600;cursor:pointer}.button-danger:hover{background:var(--danger-tint)}.button-quiet{min-height:var(--control-height);padding:6px 10px;border:0;background:none;color:var(--muted);font-weight:600;cursor:pointer}.button-quiet:hover{color:var(--purple-dark)}.inline-form{display:grid;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--purple-soft);border-radius:var(--radius-small);background:var(--purple-tint)}.inline-form h3{margin:0;font-size:var(--font-size-section);color:var(--ink)}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3) var(--space-4)}.field{display:grid;gap:var(--space-1)}.field>span{color:var(--muted);font-size:var(--font-size-small);font-weight:600}.field input,.field select,.field textarea{min-height:var(--control-height);padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface);color:var(--text)}.field textarea{min-height:90px;resize:vertical}.check{display:inline-flex;align-items:center;gap:var(--space-2)}.form-actions{justify-content:flex-start}.table-wrap{--table-background: var(--surface);max-height:calc(100dvh - var(--topbar-height) - 2 * var(--space-6));overflow:auto;overscroll-behavior-x:contain;overscroll-behavior-y:auto}.card:has(.list-toolbar) .table-wrap{max-height:calc(100dvh - var(--topbar-height) - 64px - 2 * var(--space-6))}.inline-form .table-wrap{--table-background: var(--purple-tint)}thead th{position:sticky;top:0;z-index:2;background:var(--table-background);box-shadow:inset 0 -1px var(--line)}tfoot th,tfoot td{position:sticky;bottom:0;z-index:2;background:var(--table-background);box-shadow:inset 0 1px var(--line)}table{width:100%;border-collapse:collapse}th,td{padding:var(--row-padding) var(--space-3);border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{font-size:var(--font-size-small);font-weight:600;color:var(--muted)}.list-header{position:sticky;top:var(--topbar-height);z-index:2;background:var(--surface);box-shadow:inset 0 -1px var(--line)}.cell-line{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap}.number{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.sub-nav{display:grid;gap:1px;margin:0 0 var(--space-2) calc(var(--space-3) + 18px);padding-left:var(--space-2);border-left:1px solid var(--line)}.sub-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);min-height:30px;padding:0 var(--space-2);border-radius:var(--radius-small);color:var(--muted);font-size:var(--font-size-small);font-weight:500}.sub-item:hover{background:var(--surface-hover);color:var(--ink)}.sub-item.active{background:var(--purple-tint);color:var(--purple-dark);font-weight:650}.sub-item .count{min-width:22px;padding:0 6px;border-radius:999px;background:var(--purple-tint);color:var(--purple-dark);font-size:11.5px;font-weight:650;text-align:center}.sub-item .count.zero{background:none;color:var(--muted);font-weight:500}button[aria-busy=true]{cursor:progress;pointer-events:none;opacity:.85}button[aria-busy=true]:before{content:"";display:inline-block;width:.9em;height:.9em;margin-right:.45em;vertical-align:-.1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:activity-spin .7s linear infinite}.activity-bar{position:fixed;inset:0 0 auto;z-index:1000;height:3px;background:linear-gradient(90deg,transparent,var(--purple),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:activity-slide 1.1s ease-in-out infinite}.activity-toast{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:1000;max-width:22rem;margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--ink);color:var(--surface);box-shadow:var(--shadow)}@keyframes activity-spin{to{transform:rotate(360deg)}}@keyframes activity-slide{0%{background-position:-40% 0}to{background-position:140% 0}}@media(prefers-reduced-motion:reduce){button[aria-busy=true]:before,.activity-bar{animation-duration:3s}}body.has-detail-dock main{max-width:none;margin-right:var(--detail-dock-width, 0px);margin-left:0}@media(max-width:1100px){body.has-detail-dock main{margin-right:0}}
