/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.shrink{flex-shrink:1}.\!grow{flex-grow:1!important}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.break-all{word-break:break-all}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--bg:#0a0f1e;--bg-primary:#0a0f1e;--bg-secondary:#111827;--bg-tertiary:#1f2937;--surface:#111827;--surface-hover:#1f2937;--border:#1e293b;--border-bright:#334155;--text:#f1f5f9;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#64748b;--text-dim:#475569;--accent:#f59e0b;--accent-dim:#f59e0b26;--success:#10b981;--success-dim:#10b98126;--warning:#f59e0b;--warning-dim:#f59e0b26;--error:#ef4444;--error-dim:#ef444426;--info:#3b82f6;--info-dim:#3b82f626;--brand:#8b5cf6;--brand-dim:#8b5cf626;--font:"Inter", system-ui, sans-serif;--mono:"JetBrains Mono", "Fira Code", monospace}[data-theme=light]{--bg:#f8fafc;--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--surface:#fff;--surface-hover:#f1f5f9;--border:#e2e8f0;--border-bright:#cbd5e1;--text:#0f172a;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-dim:#94a3b8;--accent:#d97706;--accent-dim:#d977061a;--success:#059669;--success-dim:#0596691a;--warning:#d97706;--warning-dim:#d977061a;--error:#dc2626;--error-dim:#dc26261a;--info:#2563eb;--info-dim:#2563eb1a;--brand:#7c3aed;--brand-dim:#7c3aed1a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.app{max-width:1400px;margin:0 auto;padding:1.5rem 2rem 3rem}.header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.header-left{align-items:center;gap:.75rem;display:flex}.header-logo{align-items:center;gap:.5rem;display:flex}.header-logo-img{border-radius:4px;width:auto;height:28px}.header-wordmark{color:var(--text);letter-spacing:-.02em;font-size:1.4rem;font-weight:700}.header-wordmark span{color:var(--accent)}.header-logo-img+.header-wordmark{display:none}.hero-banner{border-radius:8px;width:100%;height:180px;margin-bottom:1rem;position:relative;overflow:hidden}.hero-banner-img{object-fit:cover;width:100%;height:100%;display:block}.hero-banner-overlay{background:linear-gradient(#0000 0%,#0a0e1a1a 40%,#0a0e1ad9 100%);flex-direction:column;justify-content:flex-end;gap:.25rem;padding:1rem 1.25rem;display:flex;position:absolute;inset:0}.hero-banner-title{color:#fff;letter-spacing:-.02em;font-size:1.1rem;font-weight:700}.hero-banner-sub{color:#ffffffa6;font-size:.72rem}.header-right{align-items:center;gap:.75rem;display:flex}.header-meta{color:var(--text-muted);font-size:.8rem;font-family:var(--mono)}.vps-clock{color:var(--text-muted);font-size:.78rem;font-family:var(--mono);white-space:nowrap;align-items:center;gap:.3rem;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.filter-tabs{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:.25rem;padding:3px;display:flex}.filter-tab{color:var(--text-muted);font-family:var(--font);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;padding:.35rem .85rem;font-size:.8rem;font-weight:500;transition:all .15s}.filter-tab:hover{color:var(--text);background:var(--surface-hover)}.filter-tab.active{background:var(--accent);color:#000;font-weight:600}.search-input{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font);border-radius:8px;outline:none;width:180px;padding:.35rem .75rem;font-size:.8rem;transition:border-color .15s}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--text-dim)}.refresh-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--font);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.35rem .85rem;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.refresh-btn:hover{border-color:var(--accent);color:var(--accent)}.refresh-btn.loading svg{animation:1s linear infinite spin}.refresh-btn svg{width:13px;height:13px}.theme-toggle-btn{border:1px solid var(--border);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.theme-toggle-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot.healthy{background:var(--success)}.status-dot.errored{background:var(--error);animation:1.5s ease-in-out infinite pulse-err}.status-dot.stopped{background:var(--warning)}.status-dot.unknown,.status-dot.no-services{background:var(--text-dim)}@keyframes pulse-err{0%,to{opacity:1;box-shadow:0 0 #ef444466}50%{opacity:.7;box-shadow:0 0 0 4px #ef444400}}.project-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.category-section{margin-bottom:2rem}.category-section-header{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.category-section-emoji{font-size:1.2rem}.category-section-title{color:var(--text);font-size:1rem;font-weight:600}.category-section-count{color:var(--text-muted);background:var(--surface);border-radius:12px;margin-left:auto;padding:.15rem .5rem;font-size:.75rem;font-weight:500}.category-section.system .category-section-title{color:#a78bfa}.category-section.application .category-section-title{color:#60a5fa}.project-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:1.1rem 1.25rem;transition:all .15s;animation:.3s ease-out fadeIn}.project-card:hover{border-color:var(--border-bright);background:var(--surface-hover);transform:translateY(-1px)}.project-card-top{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.6rem;display:flex}.project-name{color:var(--text);align-items:center;gap:.4rem;font-size:.95rem;font-weight:600;display:flex}.project-emoji{flex-shrink:0;font-size:1.1rem}.project-status-label{white-space:nowrap;border-radius:20px;padding:.2rem .5rem;font-size:.72rem;font-weight:600}.project-status-label.healthy{background:var(--success-dim);color:var(--success)}.project-status-label.errored{background:var(--error-dim);color:var(--error)}.project-status-label.stopped{background:var(--warning-dim);color:var(--warning)}.project-status-label.no-services,.project-status-label.unknown{background:var(--surface-hover);color:var(--text-muted)}.project-status-label.untracked{background:var(--surface-hover);color:var(--text-muted);font-style:italic}.project-card.is-untracked{opacity:.7}.project-card.is-untracked .project-emoji{filter:grayscale(.5)}.project-card-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.category-badge{white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;border-radius:12px;padding:.15rem .5rem;font-size:.65rem;font-weight:600}.category-badge.category-system{color:#a78bfa;background:#8b5cf626;border:1px solid #8b5cf64d}.category-badge.category-application{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.project-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.75rem;font-size:.78rem;line-height:1.4;display:-webkit-box;overflow:hidden}.services-mini{flex-wrap:wrap;gap:.35rem;margin-bottom:.75rem;display:flex}.service-badge{background:var(--bg);border:1px solid var(--border);font-size:.72rem;font-family:var(--mono);color:var(--text-muted);border-radius:6px;align-items:center;gap:.3rem;padding:.2rem .5rem;display:flex}.service-badge .dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.service-badge .dot.online{background:var(--success)}.service-badge .dot.errored{background:var(--error)}.service-badge .dot.stopped{background:var(--warning)}.service-badge .dot.unknown{background:var(--text-dim)}.kanban-mini{color:var(--text-dim);font-size:.72rem;font-family:var(--mono);gap:.5rem;margin-top:.5rem;display:flex}.kanban-mini .kb-item{align-items:center;gap:.2rem;display:flex}.kanban-mini .kb-count{color:var(--text-muted);font-weight:500}.kanban-mini .kb-label{color:var(--text-dim)}.project-git-info{color:var(--text-dim);font-size:.72rem;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;margin-top:.5rem;overflow:hidden}.project-path{color:var(--text-dim);font-size:.68rem;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;margin-top:.25rem;overflow:hidden}.detail-back{color:var(--text-muted);cursor:pointer;font-size:.82rem;font-family:var(--font);background:0 0;border:none;align-items:center;gap:.4rem;margin-bottom:1.25rem;padding:0;transition:color .15s;display:flex}.detail-back:hover{color:var(--accent)}.detail-back svg{width:14px;height:14px}.detail-header{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem;padding:1.25rem 1.5rem}.detail-title-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.detail-title{font-size:1.3rem;font-weight:700}.detail-title .emoji{font-size:1.4rem}.detail-status-badge{border-radius:20px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.detail-status-badge.healthy{background:var(--success-dim);color:var(--success)}.detail-status-badge.errored{background:var(--error-dim);color:var(--error)}.detail-status-badge.stopped{background:var(--warning-dim);color:var(--warning)}.detail-status-badge.untracked{background:var(--surface-hover);color:var(--text-muted);font-style:italic}.detail-status-badge.no-services{background:var(--surface-hover);color:var(--text-muted)}.detail-meta{color:var(--text-muted);font-size:.78rem;font-family:var(--mono);margin-bottom:.35rem}.detail-desc{color:var(--text-muted);margin-top:.6rem;font-size:.85rem;line-height:1.5}.detail-grid{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.detail-services-card,.detail-phases-card{width:100%}.detail-row-2col{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.project-assets-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;padding:.75rem 1rem;display:grid}.project-asset-thumb{background:var(--bg-raised);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:8px;transition:border-color .15s;display:flex}.project-asset-thumb:hover{border-color:var(--accent)}.project-asset-thumb img{object-fit:cover;border-radius:4px;width:100%;height:72px}.project-asset-name{color:var(--text-dim);text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:.7rem;overflow:hidden}.phase-progress-card{background:linear-gradient(135deg,#10b9810f,#10b98105);border-color:#10b98133;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.phase-progress-card .phase-bar-section{margin-bottom:0}.section-header{border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.8rem;font-weight:600;display:flex}.section-header svg{width:13px;height:13px;color:var(--accent)}.section-body{padding:.75rem 1rem}.services-table{border-collapse:collapse;width:100%}.services-table th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:0 .5rem .5rem 0;font-size:.72rem;font-weight:600}.services-table td{vertical-align:middle;border-bottom:1px solid #1e293b80;padding:.5rem .5rem .5rem 0;font-size:.8rem}.services-table tr:last-child td{border-bottom:none}.svc-name{font-family:var(--mono);color:var(--text);font-size:.78rem}.svc-status{white-space:nowrap;align-items:center;gap:.35rem;display:flex}.svc-status-label{font-size:.72rem}.svc-status-label.online{color:var(--success)}.svc-status-label.errored{color:var(--error)}.svc-status-label.stopped{color:var(--warning)}.svc-status-label.unknown{color:var(--text-dim)}.svc-uptime{font-family:var(--mono);color:var(--text-muted);white-space:nowrap;font-size:.72rem}.svc-memory{font-family:var(--mono);color:var(--text-dim);font-size:.72rem}.error-line{color:var(--error);font-size:.7rem;font-family:var(--mono);white-space:pre-wrap;word-break:break-all;margin-top:.4rem}.phase-accordion-toolbar{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.phase-accordion-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:.2rem .6rem;font-size:.72rem;transition:all .15s}.phase-accordion-btn:hover{border-color:var(--accent);color:var(--accent)}.phase-accordion-list{flex-direction:column;gap:.25rem;display:flex}.phase-accordion-item{border:1px solid var(--border);border-radius:8px;transition:border-color .15s;overflow:hidden}.phase-accordion-item.done{background:#10b98108;border-color:#10b98133}.phase-accordion-item.pending{border-color:var(--border)}.phase-accordion-item.open{border-color:var(--accent)}.phase-accordion-trigger{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.phase-chevron{color:var(--text-dim);flex-shrink:0;transition:transform .2s}.phase-accordion-item.open .phase-chevron{transform:rotate(0)}.phase-accordion-item:not(.open) .phase-chevron{transform:rotate(-90deg)}.phase-accordion-title{flex:1;font-size:.82rem;font-weight:500}.phase-accordion-title.done{color:var(--success)}.phase-accordion-title.pending{color:var(--text)}.phase-source-badge{letter-spacing:.01em;text-transform:lowercase;-webkit-user-select:none;user-select:none;vertical-align:middle;border:1px solid #0000;border-radius:.3rem;margin-left:.4rem;padding:.05rem .35rem;font-size:.62rem;font-weight:500;display:inline-block}.phase-source-inferred{color:var(--success,#10b981);background:#10b98114;border-color:#10b98140}.phase-source-ambig{color:var(--warning,#f59e0b);background:#f59e0b14;border-color:#f59e0b40}.phase-source-notdone{color:var(--text-dim);background:#64748b14;border-color:#64748b33}.phase-accordion-item.narrative{border-left:2px solid #f59e0b59}.phase-accordion-item.narrative.done{border-left:2px solid #10b98173}.phase-narrative-body{color:var(--text-dim);background:#f59e0b0a;border-top:1px solid #f59e0b26;flex-direction:column;gap:.5rem;padding:.5rem .75rem .7rem 2rem;font-size:.75rem;display:flex}.phase-narrative-note-line{align-items:flex-start;gap:.4rem;line-height:1.45;display:flex}.phase-narrative-icon{flex-shrink:0;margin-top:1px;font-size:.85rem}.phase-narrative-note{color:var(--text-dim);margin-left:.4rem;font-size:.7rem;font-style:italic}.phase-narrative-section-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-size:.68rem;font-weight:600}.phase-narrative-signal-list{flex-direction:column;gap:.18rem;margin:0;padding:0;list-style:none;display:flex}.phase-narrative-signal-item{color:var(--text-muted);border-left:2px solid #f59e0b66;padding-left:.6rem;font-size:.72rem}.phase-narrative-signal-name{line-height:1.4}.phase-narrative-preview-block{font-family:var(--mono);border:1px solid var(--border);white-space:pre-wrap;word-wrap:break-word;color:var(--text-muted);background:#0000002e;border-radius:.25rem;max-height:240px;margin:0;padding:.5rem .6rem;font-size:.7rem;line-height:1.4;overflow-y:auto}.phase-collapsed-preview{color:var(--text-dim);border-top:1px dashed var(--border);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:.4rem;padding:.25rem .75rem .45rem 2rem;font-size:.7rem;display:flex;overflow:hidden}.phase-collapsed-preview:hover{color:var(--text);background:#ffffff05}.phase-collapsed-preview-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);flex-shrink:0;font-size:.62rem;font-weight:500}.phase-collapsed-preview-text{text-overflow:ellipsis;font-style:italic;overflow:hidden}.phase-item-text{overflow-wrap:anywhere;flex:1}.phase-accordion-badge{font-size:.72rem;font-family:var(--mono);align-items:center;gap:.2rem;display:flex}.badge-done{color:var(--success)}.badge-pending{color:var(--text-dim)}.phase-accordion-body{border-top:1px solid var(--border);flex-direction:column;gap:.2rem;padding:.4rem .75rem .6rem 2rem;display:flex}.phase-item-row{color:var(--text-dim);align-items:center;gap:.35rem;font-size:.76rem;display:flex}.phase-item-row.done{color:var(--success);text-decoration:line-through}.phase-item-row.pending{color:var(--text-muted)}.phase-item-icon{flex-shrink:0;font-size:.8rem}.phases-list{flex-direction:column;gap:.5rem;display:flex}.phase-item{align-items:flex-start;gap:.5rem;font-size:.82rem;display:flex}.phase-icon{flex-shrink:0;margin-top:1px;font-size:.9rem}.phase-title{font-weight:500}.phase-title.done{color:var(--success)}.phase-title.pending{color:var(--text-muted)}.phase-items{flex-direction:column;gap:.2rem;margin-top:.25rem;margin-left:1.2rem;display:flex}.no-phases{color:var(--text-dim);font-size:.8rem;font-style:italic}.phase-bar-compact{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.phase-bar-compact .phase-bar-track{background:var(--border);border-radius:2px;flex:1;height:4px;overflow:hidden}.phase-bar-compact .phase-bar-fill{background:linear-gradient(90deg, var(--success), #34d399);border-radius:2px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.phase-bar-compact .phase-bar-pct{color:var(--success);font-size:.7rem;font-family:var(--mono);text-align:right;min-width:28px}.phase-bar-sub{color:var(--text-dim);font-size:.68rem;font-family:var(--mono);white-space:nowrap}.phase-bar-dot-sep{color:var(--text-dim);font-size:.68rem}.phase-dots-row{flex-wrap:wrap;gap:3px;margin-bottom:.4rem;display:flex}.phase-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.phase-dot-done{background:var(--success)}.phase-dot-partial{background:var(--warning)}.phase-dot-empty{background:var(--border-bright)}.project-no-phases{color:var(--text-dim);margin-bottom:.4rem;font-size:.72rem;font-style:italic}.phase-bar-section{margin-bottom:1.5rem}.phase-bar-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.phase-bar-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;display:flex}.phase-bar-counts{align-items:center;gap:.75rem;display:flex}.phase-done-count,.phase-items-count{color:var(--text);font-size:.82rem;font-weight:600;font-family:var(--mono)}.phase-count-total{color:var(--text-dim);font-weight:400}.phase-bar-track-lg{background:var(--border);border-radius:4px;height:8px;margin-bottom:.4rem;overflow:hidden}.phase-bar-track-lg .phase-bar-fill{background:linear-gradient(90deg, var(--success), #34d399, #a7f3d0);border-radius:4px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.phase-bar-pct-lg{color:var(--success);font-size:1.2rem;font-weight:700;font-family:var(--mono)}.phase-summary-bar{margin-bottom:1.25rem}.phase-summary-track{background:var(--border);border-radius:3px;height:6px;margin-bottom:.4rem;overflow:hidden}.phase-summary-fill{background:linear-gradient(90deg, var(--success), #34d399);border-radius:3px;height:100%;transition:width .8s cubic-bezier(.4,0,.2,1)}.phase-summary-labels{color:var(--text-muted);font-size:.72rem;font-family:var(--mono);justify-content:space-between;display:flex}.phase-header{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.phase-done .phase-header{border-bottom-color:#10b98126}.phase-badge-done{background:var(--success-dim);color:var(--success);text-transform:uppercase;letter-spacing:.05em;border-radius:3px;margin-left:auto;padding:1px 6px;font-size:.65rem;font-weight:600}.phase-badge-pending{font-size:.7rem;font-family:var(--mono);color:var(--text-dim);margin-left:auto}.sys-metric.velocity{color:var(--info)}.scan-duration{font-size:.72rem;font-family:var(--mono);color:var(--success);background:var(--success-dim);border-radius:3px;padding:1px 8px}.refresh-btn .spin{animation:.8s linear infinite spin}.git-row{border-bottom:1px solid #1e293b80;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.8rem;display:flex}.git-row:last-child{border-bottom:none}.git-label{color:var(--text-dim);font-size:.72rem;font-family:var(--mono);min-width:90px}.git-value{font-family:var(--mono);color:var(--text-muted);word-break:break-all;font-size:.78rem}.git-value.highlight{color:var(--accent)}.git-value.danger{color:var(--error)}.git-value.success{color:var(--success)}.links-list{flex-direction:column;gap:.4rem;display:flex}.link-row{align-items:center;gap:.5rem;font-size:.82rem;display:flex}.link-label{color:var(--text-muted);min-width:80px}.link-url{color:var(--info);font-family:var(--mono);font-size:.78rem;text-decoration:none}.link-url:hover{text-decoration:underline}.kanban-summary{gap:1rem;margin-bottom:.75rem;font-size:.8rem;display:flex}.kb-stat{align-items:center;gap:.3rem;display:flex}.kb-stat .label{color:var(--text-dim)}.kb-stat .count{font-weight:600;font-family:var(--mono)}.kb-stat .count.green{color:var(--success)}.kb-stat .count.amber{color:var(--warning)}.kb-stat .count.red{color:var(--error)}.kb-stat .count.muted{color:var(--text-dim)}.ready-tasks{flex-direction:column;gap:.4rem;display:flex}.ready-task{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:flex-start;gap:.5rem;padding:.5rem;display:flex}.ready-task-id{font-family:var(--mono);color:var(--text-dim);white-space:nowrap;font-size:.68rem}.ready-task-title{color:var(--text);flex:1;font-size:.78rem}.ready-task-assignee{background:var(--accent-dim);color:var(--accent);font-size:.7rem;font-family:var(--mono);white-space:nowrap;border-radius:4px;padding:.1rem .4rem}.cron-table{border-collapse:collapse;width:100%}.cron-table th{text-align:left;color:var(--text-dim);text-transform:uppercase;border-bottom:1px solid var(--border);padding:0 .5rem .5rem 0;font-size:.72rem;font-weight:600}.cron-table td{vertical-align:middle;border-bottom:1px solid #1e293b80;padding:.4rem .5rem .4rem 0;font-size:.78rem}.cron-table tr:last-child td{border-bottom:none}.cron-name{font-family:var(--mono);color:var(--text)}.cron-status-ok{color:var(--success);font-size:.72rem}.cron-status-err{color:var(--error);font-size:.72rem}.cron-next{font-family:var(--mono);color:var(--text-muted);white-space:nowrap;font-size:.72rem}.cron-enabled{color:var(--text-dim);font-size:.72rem}.loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.error-state{background:var(--error-dim);border:1px solid var(--error);color:var(--error);border-radius:10px;padding:1.25rem;font-size:.85rem}.no-projects{color:var(--text-dim);text-align:center;padding:2rem;font-size:.85rem}.vps-stats-bar{border-bottom:1px solid var(--border)}.vps-stats-header{align-items:center;gap:.5rem;padding:.4rem 1.1rem;display:flex}.vps-stats-title{color:var(--text-dim);white-space:nowrap;align-items:center;gap:4px;min-width:70px;font-family:JetBrains Mono,monospace;font-size:.68rem;display:flex}.vps-pills{flex-wrap:wrap;flex:1;align-items:center;gap:6px;display:flex}.vps-pill{background:var(--bg-raised);border:1px solid var(--border);cursor:pointer;border-radius:20px;align-items:center;gap:4px;padding:2px 8px 2px 6px;font-family:JetBrains Mono,monospace;font-size:.68rem;transition:border-color .15s,background .15s;display:inline-flex}.vps-pill:hover{border-color:var(--accent);background:var(--bg-hover)}.vps-pill-label{color:var(--text-dim);margin-right:2px;font-size:.62rem}.vps-pill-value{font-weight:600}.vps-pill-sub{color:var(--text-dim);margin-left:2px;font-size:.6rem}.vps-green{color:var(--success)}.vps-amber{color:var(--warning)}.vps-red{color:var(--error)}.vps-pill.vps-green{border-color:#22c55e4d}.vps-pill.vps-amber{border-color:#f59e0b66}.vps-pill.vps-red{border-color:#ef444466}.vps-detail-toggle{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-radius:3px;align-items:center;padding:2px 4px;display:flex}.vps-detail-toggle:hover{color:var(--accent)}.vps-refresh-btn{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-radius:3px;align-items:center;padding:2px 4px;transition:color .15s;display:flex}.vps-refresh-btn:hover{color:var(--accent)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vps-detail{border-top:1px solid var(--border);background:var(--bg-raised);padding:.6rem 1.1rem .8rem;animation:.15s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.vps-detail-header{color:var(--text-dim);align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:.7rem;display:flex}.vps-detail-title{color:var(--text);font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600}.vps-detail-uptime{align-items:center;gap:3px;margin-left:auto;font-size:.65rem;display:flex}.vps-detail-close{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-radius:3px;align-items:center;padding:2px;display:flex}.vps-detail-close:hover{color:var(--error)}.vps-detail-grid{grid-template-columns:1fr 1fr;gap:.5rem 1.2rem;display:grid}.vps-detail-section-title{color:var(--text-dim);align-items:center;gap:4px;margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:.65rem;display:flex}.vps-bar-track{background:var(--bg);border:1px solid var(--border);border-radius:3px;height:6px;overflow:hidden}.vps-bar-fill{border-radius:3px;height:100%;transition:width .3s}.vps-bar-fill.vps-green{background:var(--success)}.vps-bar-fill.vps-amber{background:var(--warning)}.vps-bar-fill.vps-red{background:var(--error)}.vps-load-list{flex-wrap:wrap;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:.68rem;display:flex}.vps-load-item{color:var(--text-dim)}.vps-load-cores{color:var(--text-dim);font-size:.62rem}.exec-summary{border:1px solid;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:.75rem 1.1rem;display:flex}.exec-summary[data-health=green]{background:var(--success-dim);border-color:#10b9814d}.exec-summary[data-health=amber]{background:var(--warning-dim);border-color:#f59e0b4d}.exec-summary[data-health=red]{background:var(--error-dim);border-color:#ef44444d}.exec-summary-left{align-items:center;gap:.75rem;display:flex}.exec-health-pill{border-radius:20px;align-items:center;gap:.4rem;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:flex}.exec-health-pill[data-health=green]{background:var(--success);color:#000}.exec-health-pill[data-health=amber]{background:var(--warning);color:#000}.exec-health-pill[data-health=red]{background:var(--error);color:#fff}.exec-projects-count{color:var(--text-muted);font-size:.8rem}.exec-stats{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.exec-stat{font-size:.75rem;font-family:var(--mono);color:var(--text-muted);align-items:center;gap:.3rem;display:flex}.exec-stat svg{opacity:.6}.exec-ok{color:var(--success)}.exec-warn{color:var(--warning)}.exec-error{color:var(--error)}.exec-neutral{color:var(--text-muted)}.exec-sub{color:var(--text-dim);font-size:.7rem}.signal-badges{flex-wrap:wrap;gap:.3rem;margin-bottom:.6rem;display:flex}.signal-badge{font-size:.65rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;align-items:center;gap:.25rem;padding:.15rem .45rem;font-weight:500;display:inline-flex}.error-badge{background:var(--error-dim);color:var(--error);border:1px solid #ef44444d}.warning-badge{background:var(--warning-dim);color:var(--warning);border:1px solid #f59e0b4d}.sys-metrics-mini{color:var(--text-dim);font-size:.7rem;font-family:var(--mono);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.sys-metric{align-items:center;gap:.2rem;display:flex}.sys-metric.dirty{color:var(--error)}.sys-metric.ahead{color:var(--warning)}.sys-metric svg{opacity:.7}.svc-cpu-mini{color:var(--text-dim);font-size:.62rem}.sys-metrics-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;display:grid}.sys-metric-card{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;gap:.6rem;padding:.5rem;display:flex}.sys-metric-card svg{color:var(--accent);flex-shrink:0}.sys-metric-val{color:var(--text);font-size:.9rem;font-weight:600;font-family:var(--mono)}.sys-metric-key{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.sys-metric-desc{color:var(--text-muted);flex-direction:column;grid-column:1/-1;gap:.2rem;font-size:.78rem;display:flex}.signals-banner{background:var(--error-dim);border:1px solid #ef444433;border-radius:10px;margin-bottom:1rem;overflow:hidden}.signals-detail{flex-direction:column;gap:.75rem;padding:.75rem;display:flex}.signals-section{flex-direction:column;gap:.4rem;display:flex}.signals-section.errors .signals-section-label{color:var(--error)}.signals-section.warnings .signals-section-label{color:var(--warning)}.signals-section-label{text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;display:flex}.signal-item{border-bottom:1px solid #ffffff0a;align-items:flex-start;gap:.5rem;padding:.35rem 0;font-size:.78rem;display:flex}.signal-item:last-child{border-bottom:none}.signal-item.error .signal-type{color:var(--error);min-width:120px;font-weight:600}.signal-item.warning .signal-type{color:var(--warning);min-width:120px;font-weight:600}.signal-msg{color:var(--text-muted)}.signal-files{flex-wrap:wrap;gap:.3rem;width:100%;margin-top:.3rem;display:flex}.git-file-chip{background:var(--bg);border:1px solid var(--border);font-size:.65rem;font-family:var(--mono);color:var(--text-dim);border-radius:4px;padding:.1rem .35rem;display:inline-block}.git-file-chip.muted{opacity:.5}.git-uncommitted-detail{align-items:flex-start}.git-file-list{flex-wrap:wrap;gap:.3rem;display:flex}.svc-cpu,.svc-restarts{font-family:var(--mono);font-size:.72rem}.svc-port{font-family:var(--mono);color:var(--text-dim);font-size:.72rem}tr.errored-row td{background:#ef44440d}.task-section-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;font-size:.72rem}.project-card.has-attention{border-color:#f59e0b4d}.footer{border-top:1px solid var(--border);color:var(--text-dim);font-size:.75rem;font-family:var(--mono);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding-top:1rem;display:flex}.footer .ts{color:var(--text-muted)}.footer .next{color:var(--accent)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:.25s ease-out fadeIn}.toolbar-right{align-items:center;gap:.5rem;margin-left:auto;display:flex}.result-count{color:var(--text-dim);font-size:.75rem;font-family:var(--mono);white-space:nowrap}.search-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:var(--text-dim);pointer-events:none;z-index:1;position:absolute;left:9px}.search-wrapper .search-input{width:200px;padding-left:28px;padding-right:28px}.search-clear{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:3px;align-items:center;padding:2px;transition:color .15s;display:flex;position:absolute;right:7px}.search-clear:hover{color:var(--text)}.sort-dropdown{position:relative}.sort-dropdown-trigger{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-family:var(--font);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.78rem;transition:all .15s;display:flex}.sort-dropdown-trigger:hover,.sort-dropdown-trigger.open{border-color:var(--accent);color:var(--text)}.sort-dropdown-label{font-size:.78rem}.sort-dropdown-menu{background:var(--surface);border:1px solid var(--border-bright);z-index:100;border-radius:10px;min-width:160px;padding:4px;animation:.15s fadeIn;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0006}.sort-option{width:100%;color:var(--text-muted);font-family:var(--font);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;padding:.45rem .75rem;font-size:.78rem;transition:all .12s;display:flex}.sort-option:hover{background:var(--surface-hover);color:var(--text)}.sort-option.active{color:var(--accent);font-weight:600}.health-ring{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.health-ring-sm{width:36px;height:36px}.health-ring-md{width:52px;height:52px}.health-ring-lg{width:72px;height:72px}.health-ring-label{font-family:var(--mono);font-size:.6rem;font-weight:700;position:absolute}.health-ring-sm .health-ring-label{font-size:.55rem}.health-ring-lg .health-ring-label{font-size:.8rem}.ai-compact-alert{color:var(--error);background:var(--error-dim);border:1px solid #ef444433;border-radius:5px;align-items:center;gap:.3rem;margin-bottom:.3rem;padding:2px 7px;font-size:.72rem;display:flex}.ai-compact-alert svg{flex-shrink:0}.ai-global-panel{background:linear-gradient(135deg,#3b82f614,#8b5cf614);border:1px solid #3b82f633;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;animation:.3s fadeIn}.ai-global-header{color:var(--info);align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.78rem;font-weight:600;display:flex}.ai-loading-tag{color:var(--text-dim);font-size:.7rem;font-weight:400;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.ai-global-actions{flex-direction:column;gap:.3rem;display:flex}.ai-global-action-row{align-items:baseline;gap:.5rem;font-size:.78rem;display:flex}.ai-project-tag{color:var(--info);background:var(--info-dim);white-space:nowrap;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:.68rem;font-weight:700}.ai-action-text{color:var(--text-muted)}.ai-all-clear-tag{color:var(--success);align-items:center;gap:.3rem;font-size:.75rem;display:flex}.ai-insights-panel{background:#3b82f60d;border:1px solid #3b82f626;border-radius:10px;margin-bottom:.5rem;padding:.75rem 1rem}.ai-insights-header{color:var(--info);align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.78rem;font-weight:600;display:flex}.ai-loading{color:var(--text-dim);font-size:.7rem;font-weight:400}.ai-priority-group{margin-bottom:.4rem}.ai-action-row{align-items:baseline;gap:.5rem;padding:.25rem 0;font-size:.78rem;display:flex}.ai-priority-tag{border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:.6rem;font-weight:700}.ai-priority-tag.high{background:var(--error-dim);color:var(--error)}.ai-priority-tag.med{background:var(--warning-dim);color:var(--warning)}.ai-priority-tag.low{background:var(--surface-hover);color:var(--text-dim)}.ai-action-row.ai-high .ai-action-text{color:var(--text)}.ai-action-row.ai-medium .ai-action-text{color:var(--text-muted)}.ai-all-clear{color:var(--success);align-items:center;gap:.3rem;font-size:.75rem;display:flex}.shortcut-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.shortcut-modal{background:var(--surface);border:1px solid var(--border-bright);border-radius:16px;width:400px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 24px 64px #0009}.shortcut-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem .75rem;display:flex}.shortcut-modal-title{color:var(--text);font-size:.9rem;font-weight:700}.shortcut-modal-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.85rem;transition:color .15s}.shortcut-modal-close:hover{color:var(--text)}.shortcut-modal-body{grid-template-columns:1fr 1fr 1fr;gap:1rem;padding:1rem 1.25rem;display:grid}.shortcut-group-title{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:.5rem;font-size:.7rem;font-weight:700}.shortcut-row{align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.shortcut-keys{gap:3px;display:flex}.shortcut-row kbd{background:var(--bg);border:1px solid var(--border-bright);font-family:var(--mono);color:var(--text);border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-size:.7rem}.shortcut-desc{color:var(--text-muted);font-size:.72rem}.shortcut-modal-footer{border-top:1px solid var(--border);color:var(--text-dim);text-align:center;padding:.75rem 1.25rem;font-size:.72rem}.shortcut-modal-footer kbd{background:var(--bg);border:1px solid var(--border-bright);font-family:var(--mono);border-radius:3px;padding:0 4px;font-size:.68rem}.project-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.project-card{outline:none}.detail-health-score{align-items:center;gap:.75rem;margin-left:auto;display:flex}.detail-health-breakdown{flex-direction:column;gap:.2rem;display:flex}.detail-health-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem}.detail-health-bars{flex-direction:column;gap:3px;min-width:120px;display:flex}.health-bar-row{align-items:center;gap:.4rem;font-size:.68rem;display:flex}.health-bar-key{color:var(--text-dim);text-transform:capitalize;width:60px}.health-bar-track{background:var(--border);border-radius:2px;flex:1;max-width:80px;height:4px;overflow:hidden}.health-bar-fill{background:var(--success);border-radius:2px;height:100%;transition:width .4s}.health-bar-val{font-family:var(--mono);color:var(--text-muted);text-align:right;width:24px}.detail-nav-row{align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.detail-nav-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:6px;align-items:center;gap:.25rem;padding:.3rem .75rem;font-size:.75rem;transition:all .15s;display:flex}.detail-nav-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.detail-nav-btn:disabled{opacity:.3;cursor:not-allowed}.detail-nav-counter{color:var(--text-dim);font-size:.75rem;font-family:var(--mono)}.anomaly-alert-banner{background:var(--warning-dim);color:var(--warning);border:1px solid #f59e0b40;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.78rem;display:flex}.anomaly-chip{color:var(--text-muted);background:#f59e0b26;border-radius:4px;padding:1px 7px;font-size:.7rem}.anomaly-chip.severity-high{color:var(--error);background:var(--error-dim)}.anomaly-chip.severity-medium{color:var(--warning)}.ai-status-badge{color:var(--info);background:var(--info-dim);cursor:default;border-radius:20px;align-items:center;gap:.3rem;padding:2px 8px;font-size:.7rem;display:flex}.no-projects-state{color:var(--text-dim);flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1rem;font-size:.85rem;display:flex}.no-projects-state p{margin:0}.shortcut-hint-btn{color:var(--text-dim);font-family:var(--mono);cursor:pointer;background:0 0;border:none;padding:0;font-size:.7rem;transition:color .15s}.shortcut-hint-btn:hover{color:var(--accent)}.shortcut-hint-btn kbd{background:var(--surface);border:1px solid var(--border);font-family:var(--mono);border-radius:3px;padding:0 4px;font-size:.65rem}.alert-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:.78rem;overflow:hidden}.alert-panel--clean{border-color:var(--border)}.alert-panel--high{border-color:var(--error);box-shadow:0 0 0 1px #ef444426}.alert-panel-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:6px 12px;display:flex}.alert-panel--clean .alert-panel-header{color:var(--text-dim);border-bottom:none}.alert-panel-title{color:var(--text);align-items:center;gap:.4rem;font-weight:600;display:flex}.alert-panel-actions{align-items:center;gap:.4rem;display:flex}.alert-refresh-time{color:var(--text-dim);font-size:.7rem;font-family:var(--mono)}.alert-count-badge{border-radius:10px;padding:1px 5px;font-size:.65rem;font-weight:700}.alert-count-badge.alert-high{background:var(--error-dim);color:var(--error)}.alert-count-badge.alert-medium{background:var(--warning-dim);color:var(--warning)}.alert-count-badge.alert-low{color:var(--text-dim);background:#6464641a}.alert-refresh-btn,.alert-dismiss-btn,.alert-dismiss-all-btn,.alert-reset-btn{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-radius:3px;align-items:center;gap:3px;padding:2px 4px;font-size:.7rem;transition:color .15s;display:inline-flex}.alert-refresh-btn:hover,.alert-dismiss-btn:hover{color:var(--accent)}.alert-dismiss-all-btn:hover{color:var(--error)}.alert-reset-btn{color:var(--accent);font-weight:500}.alert-reset-btn:hover{opacity:.8}.alert-reset-btn:disabled{opacity:.5;cursor:not-allowed}.alert-reset-btn .spinning{animation:.6s linear infinite spin}.alert-list{flex-direction:column;display:flex}.alert-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:5px 12px;transition:background .1s;display:flex}.alert-item:last-child{border-bottom:none}.alert-item:hover{background:#ffffff05}.alert-item-left{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.alert-item-right{flex-wrap:nowrap;align-items:center;gap:.5rem;min-width:0;display:flex}.alert-severity-icon{align-items:center;display:flex}.alert-severity-icon.alert-high{color:var(--error)}.alert-severity-icon.alert-medium{color:var(--warning)}.alert-severity-icon.alert-low{color:var(--text-dim)}.alert-severity-tag{font-size:.62rem;font-weight:700;font-family:var(--mono);border-radius:3px;padding:1px 4px}.alert-severity-tag.alert-high{background:var(--error-dim);color:var(--error)}.alert-severity-tag.alert-medium{background:var(--warning-dim);color:var(--warning)}.alert-severity-tag.alert-low{color:var(--text-dim);background:#6464641a}.alert-project-tag{color:var(--accent);font-size:.68rem;font-family:var(--mono)}.alert-message{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.alert-time{color:var(--text-dim);font-size:.68rem;font-family:var(--mono);white-space:nowrap;flex-shrink:0}.alert-expand-btn{border:none;border-top:1px solid var(--border);cursor:pointer;width:100%;color:var(--accent);text-align:left;background:0 0;align-items:center;gap:.3rem;padding:5px 12px;font-size:.73rem;transition:background .1s;display:flex}.alert-expand-btn:hover{background:#aa3bff0d}.blocked-tasks-tile{background:var(--bg-secondary);border:1px solid var(--border);border-left:3px solid #f59e0b;border-radius:10px;margin-bottom:.75rem;overflow:hidden}.blocked-tasks-tile--warn{border-left-color:#ef4444}.blocked-tasks-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:7px 12px;display:flex}.blocked-tasks-header:hover{background:#ef44440a}.blocked-tasks-title{color:var(--text);align-items:center;gap:.45rem;font-size:.78rem;font-weight:600;display:flex}.blocked-tasks-title>svg{color:#ef4444}.blocked-tasks-badge{font-size:.65rem;font-weight:700;font-family:var(--mono);color:#ef4444;background:#ef44442e;border-radius:8px;padding:1px 7px}.blocked-tasks-header-right{color:var(--text-dim);align-items:center;gap:.5rem;display:flex}.blocked-tasks-age{font-size:.68rem;font-family:var(--mono)}.blocked-tasks-refresh,.blocked-tasks-link{cursor:pointer;color:var(--accent);background:0 0;border:none;border-radius:4px;align-items:center;padding:3px;text-decoration:none;transition:background .1s;display:inline-flex}.blocked-tasks-refresh:hover,.blocked-tasks-link:hover{background:#aa3bff1a}.blocked-tasks-error{color:var(--error);border-top:1px solid var(--border);background:#ef44440f;padding:6px 12px;font-size:.72rem}.blocked-tasks-list{border-top:1px solid var(--border);flex-direction:column;display:flex}.blocked-task-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:7px 12px;font-size:.74rem;display:flex}.blocked-task-row:last-of-type{border-bottom:none}.blocked-task-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.blocked-task-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.blocked-task-meta{color:var(--text-dim);gap:.6rem;font-size:.68rem;display:flex}.blocked-task-assignee{font-family:var(--mono);color:var(--accent);font-weight:600}.blocked-task-id{font-family:var(--mono);color:var(--text-dim);background:var(--bg);border:1px solid var(--border);white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:.68rem}.blocked-task-overflow,.blocked-tasks-foot{color:var(--text-dim);background:#aa3bff08;padding:6px 12px;font-size:.7rem}.blocked-tasks-foot{border-top:1px solid var(--border)}.blocked-task-overflow a,.blocked-tasks-foot a{color:var(--accent);text-decoration:none}.blocked-task-overflow a:hover,.blocked-tasks-foot a:hover{text-decoration:underline}.site-health-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;margin-bottom:.75rem;overflow:hidden}.site-health-panel--ok{border-color:#22c55e4d}.site-health-panel--down{border-color:#ef444466}.site-health-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:7px 12px;display:flex}.site-health-header:hover{background:#aa3bff0a}.site-health-title{color:var(--text);align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;display:flex}.site-health-header-right{color:var(--text-dim);align-items:center;gap:.5rem;display:flex}.site-health-age{font-size:.68rem;font-family:var(--mono);color:var(--text-dim)}.site-health-badge{font-size:.65rem;font-weight:700;font-family:var(--mono);border-radius:8px;padding:1px 6px}.site-health-badge--ok{background:var(--success-dim);color:var(--success)}.site-health-badge--down{background:var(--error-dim);color:var(--error)}.site-refresh-btn{cursor:pointer;color:var(--accent);background:0 0;border:none;border-radius:4px;align-items:center;padding:3px;transition:background .1s;display:flex}.site-refresh-btn:hover{background:#aa3bff1a}.site-refresh-btn.spinning svg{animation:.7s linear infinite spin}.site-list{border-top:1px solid var(--border)}.site-row{border-bottom:1px solid var(--border);flex-direction:column;gap:0;padding:0;display:flex}.site-row:last-of-type{border-bottom:none}.site-row--down{background:#ef44440a}.site-row__main{align-items:center;gap:.5rem;padding:5px 12px;font-size:.73rem;display:flex}.site-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.site-dot.site-ok{background:#22c55e}.site-dot.site-down{background:#ef4444}.site-name{color:var(--text);min-width:120px;font-weight:600}.site-url{color:var(--text-dim);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.68rem;overflow:hidden}.site-latency{color:#22c55e;font-family:var(--mono);flex-shrink:0;font-size:.68rem}.site-error{color:#ef4444;font-family:var(--mono);flex-shrink:0;font-size:.68rem}.site-diag{flex-direction:column;gap:4px;padding:6px 12px 8px 32px;font-size:.68rem;display:flex}.site-diag__issue{align-items:baseline;gap:6px;display:flex}.site-diag__label{color:var(--text-dim);flex-shrink:0;font-size:.65rem}.site-diag__value{color:#fca5a5;line-height:1.4}.site-diag__meta{color:var(--text-dim);flex-wrap:wrap;gap:6px;font-size:.65rem;display:flex}.site-diag__meta code{font-family:var(--mono);background:#ffffff0f;border-radius:3px;padding:0 4px;font-size:.63rem}.site-diag__local-down{color:var(--error);font-weight:600}.site-diag__local-up{color:var(--success);font-weight:600}.site-diag__fix{color:var(--text-dim);margin-top:2px}.site-diag__fix summary{cursor:pointer;color:#93c5fd;align-items:center;gap:4px;font-size:.65rem;list-style:none;display:flex}.site-diag__fix summary:before{content:"▶ ";font-size:.6rem}.site-diag__fix[open] summary:before{content:"▼ "}.site-diag__fix pre{font-family:var(--mono);color:#d1fae5;white-space:pre-wrap;word-break:break-all;background:#0000004d;border-radius:4px;margin:4px 0 0;padding:6px 8px;font-size:.62rem;line-height:1.5}.site-list-footer{color:var(--text-dim);background:var(--bg-secondary);align-items:center;gap:.3rem;padding:4px 12px;font-size:.65rem;display:flex}.vps-services-section{border-top:1px solid var(--border);margin-top:.5rem;padding-top:.5rem}.vps-services-header{flex-wrap:wrap;gap:1rem;margin-bottom:.4rem;display:flex}.vps-services-title{color:var(--accent);align-items:center;gap:3px;font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:600;display:flex}.vps-services-title--sys{color:var(--text-dim)}.vps-services-title--warn{color:var(--warning)}.vps-service-list{flex-direction:column;gap:1px;display:flex}.vps-service-row{border-radius:4px;grid-template-columns:10px 1fr 52px 52px 52px 60px 64px;align-items:center;gap:.5rem;min-width:0;padding:5px 4px;font-family:JetBrains Mono,monospace;font-size:.8rem;transition:background .1s;display:grid}.vps-service-row:hover{background:var(--bg-hover)}.vps-service-row--sys{color:var(--text-dim)}.vps-service-row--suspicious{color:var(--warning)}.vps-service-row--protected{background:var(--error)}@supports (color:color-mix(in lab, red, red)){.vps-service-row--protected{background:color-mix(in srgb, var(--error) 6%, transparent)}}.vps-service-row--protected{border-left:2px solid var(--error);padding-left:2px}.vps-service-row--protected:hover{background:var(--error)}@supports (color:color-mix(in lab, red, red)){.vps-service-row--protected:hover{background:color-mix(in srgb, var(--error) 10%, transparent)}}.vps-protected-icon{color:var(--error);flex-shrink:0;margin-right:3px}.vps-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.vps-dot--green{background:var(--success)}.vps-dot--amber{background:var(--warning)}.vps-dot--red{background:var(--error)}.vps-svc-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.vps-svc-type{color:var(--text-dim);background:var(--bg-raised);text-align:center;white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:.72rem}.vps-svc-cpu,.vps-svc-mem{text-align:right;font-size:.78rem;font-weight:600}.vps-svc-uptime{color:var(--text-dim);text-align:right;white-space:nowrap;font-size:.72rem}.vps-svc-pid{color:var(--text-dim);text-align:right;font-size:.72rem}.vps-svc-actions{justify-content:flex-end;gap:4px;display:flex}.vps-svc-actions--ro{color:var(--text-dim);opacity:.5;text-align:right;white-space:nowrap;padding-right:2px;font-size:.7rem}.vps-svc-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-dim);background:0 0;border-radius:4px;align-items:center;padding:4px 7px;font-size:.75rem;transition:all .15s;display:flex}.vps-svc-btn--restart:hover{color:var(--accent);border-color:var(--accent)}.vps-svc-btn--kill:hover{color:var(--error);border-color:var(--error)}.vps-svc-btn--disabled,.vps-svc-btn--disabled:hover{opacity:.3;cursor:not-allowed;pointer-events:none}.vps-action-msg{z-index:9999;border-radius:5px;padding:.4rem .8rem;font-family:JetBrains Mono,monospace;font-size:.72rem;animation:.2s ease-out slideUp;position:fixed;bottom:1.5rem;right:1.5rem}.vps-action-msg--ok{background:var(--success);color:#fff}.vps-action-msg--err{background:var(--error);color:#fff}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.vps-kill-modal-overlay{z-index:10000;background:#0009;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.vps-kill-modal{background:var(--bg-elevated);border:1px solid var(--error);border-radius:8px;width:min(420px,90vw);padding:1.2rem;box-shadow:0 8px 32px #0006}.vps-kill-modal-title{color:var(--error);align-items:center;gap:6px;margin-bottom:.8rem;font-size:.85rem;font-weight:700;display:flex}.vps-kill-modal-body{color:var(--text);font-size:.75rem;line-height:1.6}.vps-kill-modal-body p{margin:0 0 .5rem}.vps-kill-modal-body code{background:var(--bg-raised);color:var(--accent);border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,monospace}.vps-kill-input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);box-sizing:border-box;border-radius:5px;margin-top:.5rem;padding:.45rem .6rem;font-family:JetBrains Mono,monospace;font-size:.75rem}.vps-kill-input:focus{outline:1px solid var(--accent)}.vps-kill-modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.vps-kill-btn{border:1px solid var(--border);cursor:pointer;border-radius:5px;padding:.4rem .9rem;font-size:.75rem;transition:all .15s}.vps-kill-btn--cancel{color:var(--text-dim);background:0 0}.vps-kill-btn--cancel:hover{background:var(--bg-raised)}.vps-kill-btn--confirm{background:var(--error);color:#fff;border-color:var(--error)}.vps-kill-btn--confirm:hover:not(:disabled){filter:brightness(1.1)}.vps-kill-btn--confirm:disabled{opacity:.4;cursor:not-allowed}@media (width<=640px){.app{padding:1rem}.detail-grid,.detail-row-2col{grid-template-columns:1fr}.header{flex-direction:column;align-items:flex-start}.toolbar{flex-direction:column;align-items:stretch}.toolbar-right{flex-wrap:wrap;margin-left:0}.shortcut-modal-body{grid-template-columns:1fr}.detail-health-score{flex-direction:column;align-items:flex-start}}.section-collapse-header{background:var(--bg-raised);border:1px solid var(--border);cursor:pointer;width:100%;color:var(--text);text-align:left;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:.85rem;font-weight:600;display:flex}.section-collapse-header:hover{background:var(--bg-overlay)}.section-collapse-title{flex:1;align-items:center;gap:6px;display:flex}.section-collapse-meta{color:var(--text-dim);font-size:.75rem;font-weight:400}.media-gallery{flex-direction:column;gap:.75rem;min-height:200px;display:flex}.media-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.media-toolbar__left,.media-toolbar__right{align-items:center;gap:.5rem;display:flex}.media-search-wrap{align-items:center;display:flex;position:relative}.media-search-icon{color:var(--text-dim);pointer-events:none;position:absolute;left:8px}.media-search{border:1px solid var(--border);background:var(--bg-raised);color:var(--text);border-radius:6px;width:160px;padding:4px 8px 4px 28px;font-size:.8rem}.media-search:focus{outline:1px solid var(--accent);border-color:var(--accent)}.media-filter-wrap{color:var(--text-dim);align-items:center;gap:4px;display:flex}.media-toolbar select,.media-sort-select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border:1px solid var(--border);background-color:var(--surface);color:var(--text);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 6px center;background-repeat:no-repeat;border-radius:6px;padding:4px 22px 4px 6px;font-size:.78rem}.media-toolbar select option,.media-sort-select option{background:var(--surface);color:var(--text);padding:4px 8px}.media-count{color:var(--text-dim);font-size:.78rem}.media-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;font-size:.8rem;transition:all .15s;display:inline-flex}.media-btn--primary{background:var(--accent);color:#fff}.media-btn--primary:hover{filter:brightness(1.1)}.media-btn--secondary{background:var(--bg-raised);color:var(--text);border-color:var(--border)}.media-btn--secondary:hover{background:var(--bg-overlay)}.media-btn--danger{background:var(--error);color:#fff}.media-btn--danger:hover{filter:brightness(1.1)}.media-btn--sm{padding:3px 8px;font-size:.75rem}.media-btn:disabled{opacity:.5;cursor:not-allowed}.media-list{flex-direction:column;gap:4px;max-height:calc(100vh - 220px);padding-right:4px;display:flex;overflow-y:auto}.media-folder-view{max-height:calc(100vh - 220px);padding-right:4px;overflow-y:auto}.media-folder-view--small{font-size:.72rem}.media-folder-view--small .asset-card{padding:4px 6px}.media-folder-view--large{font-size:.9rem}.media-folder-view--large .asset-card{padding:10px 14px}.media-list--small .media-row{gap:6px;padding:4px 8px}.media-list--small .media-row__thumb{width:32px;height:28px}.media-list--small .media-row__name{font-size:.72rem}.media-list--large .media-row{gap:12px;padding:10px 14px}.media-list--large .media-row__thumb{width:72px;height:52px}.media-list--large .media-row__name{font-size:.9rem}.media-row{background:var(--bg-raised);border:1px solid var(--border);cursor:pointer;border-radius:8px;grid-template-columns:52px 1fr auto;align-items:center;gap:10px;padding:8px 10px;transition:border-color .15s,background .15s;display:grid}.media-row:hover{border-color:var(--accent);background:var(--bg-overlay)}.media-row__thumb{background:var(--bg-base);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:40px;display:flex;overflow:hidden}.media-row__thumb img{object-fit:cover;width:100%;height:100%}.media-row__info{flex-direction:column;gap:4px;min-width:0;display:flex}.media-row__name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:500;overflow:hidden}.media-row__meta{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.media-type-badge{text-transform:capitalize;border:1px solid;border-radius:4px;align-items:center;gap:3px;padding:1px 6px;font-size:.68rem;font-weight:600;display:inline-flex}.media-project-badge{border-radius:4px;padding:1px 6px;font-size:.68rem;font-weight:600}.media-category-tag{background:var(--bg-base);color:var(--text-dim);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:.68rem}.media-size{color:var(--text-dim);font-size:.68rem}.media-row__actions{opacity:0;align-items:center;gap:4px;transition:opacity .15s;display:flex}.media-row:hover .media-row__actions{opacity:1}.media-action-btn{background:var(--bg-base);border:1px solid var(--border);width:26px;height:26px;color:var(--text-dim);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;text-decoration:none;transition:all .15s;display:inline-flex}.media-action-btn:hover{color:var(--accent);border-color:var(--accent)}.media-action-btn--delete:hover{color:var(--error);border-color:var(--error)}.media-modal-overlay{z-index:1000;background:#111827;justify-content:center;align-items:center;padding:1rem;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.media-modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(580px,100%);max-height:90vh;animation:.15s fadeIn;display:flex;overflow-y:auto}.media-modal--sm{width:min(480px,100%)}.media-modal__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.media-modal__title-row{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.media-modal__name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.media-modal__name-input{background:var(--bg-raised);border:1px solid var(--accent);color:var(--text);border-radius:4px;flex:1;min-width:0;padding:2px 6px;font-size:1rem;font-weight:600}.media-modal__close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px;display:flex}.media-modal__close:hover{background:var(--bg-raised);color:var(--text)}.media-modal__preview{background:var(--bg-base);border-bottom:1px solid var(--border);justify-content:center;align-items:center;min-height:180px;max-height:320px;display:flex;overflow:hidden}.media-modal__image{object-fit:contain;max-width:100%;max-height:320px}.media-modal__video{max-width:100%;max-height:320px}.media-modal__audio-wrapper{flex-direction:column;align-items:center;gap:12px;padding:24px;display:flex}.media-modal__audio{width:100%}.media-modal__placeholder{height:180px;color:var(--text-dim);justify-content:center;align-items:center;display:flex}.media-modal__body{flex:1;padding:14px 16px;overflow-y:auto}.media-meta__grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.media-meta__item{flex-direction:column;gap:2px;display:flex}.media-meta__label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem}.media-meta__value{color:var(--text);font-size:.82rem;font-weight:500}.media-meta__tags{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.media-tag{background:var(--bg-raised);border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:2px 8px;font-size:.72rem}.media-meta__notes{color:var(--text-dim);margin:0 0 8px;font-size:.8rem;font-style:italic}.media-meta__url-row{background:var(--bg-base);border:1px solid var(--border);border-radius:6px;align-items:center;gap:6px;padding:6px 8px;display:flex}.media-meta__url{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.72rem;overflow:hidden}.media-copy-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:2px;display:flex}.media-copy-btn:hover{color:var(--accent)}.media-form{flex-direction:column;gap:10px;display:flex}.media-form__row{flex-direction:column;gap:3px;display:flex}.media-form__row label{color:var(--text-dim);font-size:.72rem;font-weight:500}.media-form__row input,.media-form__row select,.media-form__row textarea{border:1px solid var(--border);background:var(--bg-raised);color:var(--text);border-radius:6px;padding:6px 8px;font-family:inherit;font-size:.8rem}.media-form__row input:focus,.media-form__row select:focus,.media-form__row textarea:focus{outline:1px solid var(--accent);border-color:var(--accent)}.media-form__row textarea{resize:vertical}.media-form__actions{justify-content:flex-end;gap:6px;display:flex}.media-form__error{color:var(--error);margin:0;font-size:.78rem}.media-modal__footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.media-scan-modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:min(720px,95vw);max-height:85vh;display:flex;overflow:hidden}.media-scan-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.media-scan-header h2{margin:0;font-size:15px;font-weight:600}.media-scan-body{flex:1;padding:14px 16px;overflow-y:auto}.media-scan-empty{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:32px;font-size:14px;display:flex}.media-scan-hint{color:var(--text-muted);margin:0 0 10px;font-size:13px}.media-scan-list{flex-direction:column;gap:2px;max-height:420px;display:flex;overflow-y:auto}.media-scan-item{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.media-scan-item:hover{background:var(--bg-raised)}.media-scan-item.selected{background:var(--brand)}@supports (color:color-mix(in lab, red, red)){.media-scan-item.selected{background:color-mix(in srgb, var(--brand) 10%, transparent)}}.media-scan-item.selected{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.media-scan-item.selected{border-color:color-mix(in srgb, var(--brand) 30%, transparent)}}.media-scan-item input[type=checkbox]{cursor:pointer;flex-shrink:0;margin-top:3px}.media-scan-item__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.media-scan-item__name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.media-scan-item__meta{color:var(--text-muted);font-size:11px}.media-scan-item__path{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:420px;font-family:monospace;font-size:10px;overflow:hidden}.media-scan-item__size{color:var(--text-muted);flex-shrink:0;font-size:11px}.media-scan-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.media-scan-footer__left{align-items:center;gap:10px;display:flex}.media-scan-count{color:var(--text-muted);font-size:13px}.media-btn--ghost{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:12px}.media-btn--ghost:hover{background:var(--bg-raised);color:var(--text)}.media-folder-view{flex-direction:column;gap:16px;display:flex}.media-folder-group{border:1px solid var(--border);border-radius:10px;overflow:hidden}.media-folder-header{background:var(--bg-raised);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;display:flex}.media-folder-header:hover{background:var(--bg-active)}.media-folder-arrow{color:var(--text-muted);width:12px;font-size:10px}.media-folder-meta{color:var(--text-muted);font-size:12px}.media-folder-types{gap:6px;margin-left:auto;display:flex}.media-type-count{color:var(--text-muted);background:var(--bg);border-radius:4px;padding:2px 6px;font-size:11px}.media-folder-grid{padding:12px}.media-folder-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 10px;transition:background .1s;display:flex}.media-folder-item:hover{background:var(--surface-hover)}.media-folder-item__thumb{background:var(--bg);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:28px;display:flex;overflow:hidden}.media-folder-item__thumb img{object-fit:cover;width:100%;height:100%}.media-folder-item__name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.78rem;overflow:hidden}.media-folder-item__path{color:var(--text-dim);font-size:.68rem;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;flex:2;min-width:0;overflow:hidden}.media-folder-item__size{color:var(--text-muted);font-size:.68rem;font-family:var(--mono);white-space:nowrap;flex-shrink:0}.media-folder-view--small .media-folder-item{gap:5px;padding:3px 6px}.media-folder-view--small .media-folder-item__thumb{width:24px;height:20px}.media-folder-view--small .media-folder-item__name{font-size:.68rem}.media-folder-view--small .media-folder-item__path{font-size:.62rem}.media-folder-view--large .media-folder-item{gap:12px;padding:8px 12px}.media-folder-view--large .media-folder-item__thumb{width:48px;height:36px}.media-folder-view--large .media-folder-item__name{font-size:.9rem}.media-folder-view--large .media-folder-item__path{font-size:.78rem}.media-sort-select{background:var(--bg-raised);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:4px 8px;font-size:12px}.media-sort-select option{background:var(--bg-raised)}.media-loading,.media-empty,.media-error{color:var(--text-dim);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:48px 24px;display:flex}.media-loading{flex-direction:row;padding:24px}.media-error p{color:var(--error);margin:0;font-size:.85rem}.media-empty p{margin:0;font-size:.9rem}.media-empty__hint{font-size:.78rem}@keyframes mediaSpinner{to{transform:rotate(360deg)}}.media-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite mediaSpinner}@keyframes slideInRight{0%{opacity:0;transform:translate(110%)}to{opacity:1;transform:translate(0)}}.media-toast{z-index:2000;border-radius:8px;padding:8px 14px;font-size:.82rem;font-weight:500;animation:.25s slideInRight;position:fixed;bottom:24px;right:24px}.media-toast--success{background:var(--success);color:#fff}.media-toast--error{background:var(--error);color:#fff}.app-layout{min-height:100vh;display:flex}.app-layout--collapsed .app-main{margin-left:64px}.sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:40;flex-direction:column;width:240px;height:100vh;transition:width .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar--collapsed{width:64px}.sidebar-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:60px;padding:1rem .875rem;display:flex}.sidebar-logo{align-items:center;gap:.625rem;display:flex;overflow:hidden}.sidebar-logo-icon{background:var(--accent-dim);width:32px;height:32px;color:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-logo-text{color:var(--text);white-space:nowrap;letter-spacing:-.02em;font-size:1rem;font-weight:700}.sidebar-mobile-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px;display:none}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:.75rem .5rem;display:flex;overflow:hidden auto}.sidebar-nav-item{width:100%;color:var(--text-muted);font-family:var(--font);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:.75rem;padding:.625rem .75rem;font-size:.875rem;font-weight:500;transition:all .15s;display:flex;position:relative}.sidebar-nav-item:hover{background:var(--surface-hover);color:var(--text)}.sidebar-nav-item--active,.sidebar-nav-item--active:hover{background:var(--accent-dim);color:var(--accent)}.sidebar-nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:relative}.sidebar-nav-label{text-overflow:ellipsis;overflow:hidden}.sidebar-nav-badge{letter-spacing:.02em;border-radius:8px;flex-shrink:0;margin-left:auto;padding:2px 6px;font-size:.65rem;font-weight:700}.sidebar-nav-badge--accent{color:#fff;background:linear-gradient(135deg,#06b6d4,#8b5cf6);box-shadow:0 0 8px #06b6d466}.sidebar-alert-badge{background:var(--error);color:#fff;text-align:center;border-radius:10px;min-width:16px;padding:1px 4px;font-size:.6rem;font-weight:700;line-height:1.4;position:absolute;top:-4px;right:-6px}.sidebar-mission-badge{background:var(--warning);color:#1a1a1a;text-align:center;border-radius:10px;min-width:18px;padding:2px 5px;font-size:.65rem;font-weight:700;line-height:1.4;position:absolute;top:-4px;right:-6px}.sidebar-mission-badge--total{color:#fff;background:#8b5cf6;min-width:22px;padding:2px 6px;font-size:.7rem;font-weight:800}.sidebar-mission-badge--high{color:#1a1a1a;background:#f59e0b;box-shadow:0 0 0 1px #f59e0b4d}.sidebar-mission-badge--inline{background:var(--warning);color:#1a1a1a;margin-left:auto;padding:2px 6px;font-size:.7rem;position:static}.sidebar-footer{border-top:1px solid var(--border);padding:.75rem .5rem}.sidebar-collapse-btn{width:100%;color:var(--text-muted);font-family:var(--font);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.8rem;transition:all .15s;display:flex}.sidebar-collapse-btn:hover{background:var(--surface-hover);color:var(--text)}.sidebar-hamburger{z-index:200;background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;display:none;position:fixed;top:.75rem;left:.75rem}.sidebar-mobile-overlay{z-index:99;background:#00000080;display:none;position:fixed;inset:0}@media (width<=768px){.sidebar{width:260px;transform:translate(-100%)}.sidebar--mobile-open{transform:translate(0)}.sidebar--collapsed{width:260px}.sidebar-hamburger,.sidebar-mobile-close{display:flex}.sidebar-mobile-overlay{display:block}.app-main{padding-top:3.5rem;margin-left:0!important}}.app-main{flex:1;min-width:0;margin-left:240px;transition:margin-left .25s cubic-bezier(.4,0,.2,1)}.alerts-overlay{z-index:500;background:#00000073;justify-content:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.alerts-slideout{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;width:420px;max-width:100%;height:100%;animation:.25s slideInRight;display:flex;box-shadow:-8px 0 32px #0000004d}.alerts-slideout-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:60px;padding:1rem 1.25rem;display:flex}.alerts-slideout-title{color:var(--text);font-size:1rem;font-weight:700}.alerts-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:4px;transition:all .15s;display:flex}.alerts-close-btn:hover{background:var(--surface-hover);color:var(--text)}.alerts-slideout-body{flex:1;overflow-y:auto}.media-library{max-width:1400px;margin:0 auto;padding:1.5rem 2rem 3rem}.media-library-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.media-library-title{align-items:center;gap:.75rem;display:flex}.media-library-title h1{color:var(--text);letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.media-library-title svg{color:var(--accent)}.media-library-count{background:var(--accent-dim);color:var(--accent);border-radius:20px;padding:2px 10px;font-size:.8rem;font-weight:600}.media-library-size{background:var(--bg-tertiary,transparent);color:var(--text-secondary);border:1px solid var(--border);cursor:help;border-radius:20px;padding:1px 10px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.8rem;font-weight:500}.masonry-grid{columns:4 220px;column-gap:1rem;margin-top:1rem}.masonry-item{break-inside:avoid;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;margin-bottom:1rem;transition:all .2s;position:relative;overflow:hidden}.masonry-item:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.masonry-thumb{background:var(--bg);justify-content:center;align-items:center;min-height:120px;display:flex;position:relative;overflow:hidden}.masonry-thumb img{object-fit:cover;width:100%;height:auto;transition:transform .3s;display:block}.masonry-item:hover .masonry-thumb img{transform:scale(1.04)}.masonry-placeholder{justify-content:center;align-items:center;width:100%;height:120px;display:flex}.masonry-overlay{opacity:0;background:linear-gradient(#0000 50%,#000000b3 100%);justify-content:flex-end;align-items:flex-end;padding:.5rem;transition:opacity .2s;display:flex;position:absolute;inset:0}.masonry-item:hover .masonry-overlay{opacity:1}.masonry-overlay-btns{gap:4px;display:flex}.masonry-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #fff3;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s;display:flex}.masonry-btn:hover{background:#ffffff4d}.masonry-info{padding:.625rem .75rem}.masonry-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.375rem;font-size:.8rem;font-weight:600;display:block;overflow:hidden}.masonry-meta{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.masonry-size{color:var(--text-muted);font-size:.7rem}.lightbox-overlay{z-index:1000;background:#000000e6;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.lightbox-close{color:#fff;cursor:pointer;z-index:10;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:flex;position:absolute;top:1rem;right:1rem}.lightbox-close:hover{background:#fff3}.lightbox-nav{color:#fff;cursor:pointer;z-index:10;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#fff3}.lightbox-nav--prev{left:1rem}.lightbox-nav--next{right:1rem}.lightbox-content{background:var(--surface);border-radius:14px;width:95vw;max-width:1100px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 80px #0009}.lightbox-preview{background:#000;flex:1;justify-content:center;align-items:center;min-height:400px;display:flex;overflow:hidden}.lightbox-image{object-fit:contain;max-width:100%;max-height:80vh;display:block}.lightbox-video{max-width:100%;max-height:80vh;display:block}.lightbox-audio-wrap{flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;display:flex}.lightbox-audio{width:100%}.lightbox-placeholder{justify-content:center;align-items:center;width:100%;height:300px;display:flex}.lightbox-sidebar{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;width:320px;display:flex;overflow-y:auto}.lightbox-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;padding:1.25rem;display:flex}.lightbox-name{color:var(--text);flex:1;margin:0;font-size:1rem;font-weight:700}.lightbox-name-input{background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--font);border-radius:6px;flex:1;padding:.375rem .5rem;font-size:.875rem}.lightbox-meta,.lightbox-form{flex:1;padding:1.25rem}.lightbox-form-actions{gap:.5rem;margin-top:1rem;display:flex}.lightbox-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem;padding:1rem 1.25rem;display:flex}.lightbox-counter{text-align:center;color:var(--text-muted);padding:0 1.25rem 1rem;font-size:.75rem}.view-toggle{background:var(--surface);border:1px solid var(--border);border-radius:8px;gap:2px;padding:3px;display:flex}.view-toggle-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;padding:.3rem .5rem;transition:all .15s;display:flex}.view-toggle-btn.active{background:var(--accent-dim);color:var(--accent)}@media (width<=1200px){.masonry-grid{columns:3 200px}.lightbox-sidebar{width:280px}}@media (width<=900px){.masonry-grid{columns:2 180px}.lightbox-content{flex-direction:column}.lightbox-preview{min-height:250px}.lightbox-sidebar{border-left:none;border-top:1px solid var(--border);width:100%;max-height:40vh}}@media (width<=600px){.masonry-grid{columns:2 150px}.media-library{padding:1rem 1rem 2rem}.alerts-slideout{width:100%}.lightbox-nav--prev{left:.25rem}.lightbox-nav--next{right:.25rem}}[data-intel-section]{transition:all .2s}.intel-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.intel-scroll::-webkit-scrollbar{width:4px}.intel-scroll::-webkit-scrollbar-track{background:0 0}.intel-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.plan-field{border-left:3px solid;border-radius:8px;margin-bottom:0;padding:10px 14px}.plan-field-label{text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:10px;font-weight:700}input[type=text],select{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);box-sizing:border-box;border-radius:5px;outline:none;width:100%;padding:5px 8px;font-family:inherit;font-size:11px}input[type=text]:focus,select:focus{border-color:#8b5cf6}select option{background:var(--bg-secondary);color:var(--text-primary)}.project-section-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.project-section-header:hover{filter:brightness(1.05)}.stuck-missions-widget{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--error,#ef4444);border-radius:8px;margin:1rem 0;font-size:.875rem;overflow:hidden}.stuck-missions-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:12px 14px;transition:background .15s;display:flex}.stuck-missions-header:hover{background:var(--bg-secondary,#ffffff08)}.stuck-missions-title{color:var(--text);font-size:.95rem;font-weight:600}.stuck-missions-sub{color:var(--text-muted);margin-top:2px;font-size:.75rem}.stuck-missions-refresh{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;display:flex}.stuck-missions-refresh:hover{background:var(--bg-secondary,#ffffff0d);color:var(--text)}.stuck-missions-chevron{color:var(--text-muted);transition:transform .15s}.stuck-missions-chevron.expanded{transform:rotate(180deg)}.stuck-missions-error{background:var(--error-dim,#ef44441a);color:var(--error,#ef4444);border-top:1px solid var(--border);padding:8px 14px;font-size:.75rem}.stuck-missions-list{border-top:1px solid var(--border);max-height:480px;overflow-y:auto}.stuck-mission-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;transition:background .1s;display:flex}.stuck-mission-row:last-child{border-bottom:none}.stuck-mission-row:hover{background:var(--bg-secondary,#ffffff05)}.stuck-mission-project-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.stuck-mission-body{flex:1;min-width:0}.stuck-mission-line1{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.stuck-mission-title-text{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.85rem;font-weight:500;overflow:hidden}.stuck-mission-time{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:.7rem}.stuck-mission-meta{align-items:center;gap:6px;margin-top:4px;font-size:.7rem;display:flex}.stuck-mission-project-tag{letter-spacing:.3px;font-weight:600}.stuck-mission-category{background:var(--bg-secondary,#ffffff0d);color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;border-radius:3px;padding:1px 6px;font-size:.65rem}.stuck-mission-priority{background:var(--error-dim,#ef444426);color:var(--error,#ef4444);border-radius:3px;padding:1px 6px;font-size:.65rem;font-weight:600}.stuck-mission-actions{flex-shrink:0;gap:4px;display:flex}.stuck-mission-btn{background:var(--bg-secondary,#ffffff0d);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:.7rem;transition:all .1s;display:flex}.stuck-mission-btn:hover{background:var(--bg,#ffffff14)}.stuck-mission-btn:disabled{opacity:.5;cursor:not-allowed}.stuck-mission-btn--primary{background:var(--brand,#8b5cf6);border-color:var(--brand,#8b5cf6);color:#fff;font-weight:500}.stuck-mission-btn--primary:hover{background:var(--brand,#7c3aed);filter:brightness(1.1)}.stuck-mission-btn--dismiss{padding:4px 6px}.stuck-mission-overflow{text-align:center;color:var(--text-muted);background:var(--bg-secondary,#ffffff05);border-top:1px solid var(--border);padding:10px 14px;font-size:.75rem}.stuck-mission-overflow a{color:var(--brand,#8b5cf6);text-decoration:none}.stuck-mission-overflow a:hover{text-decoration:underline}.stuck-missions-foot{color:var(--text-muted);text-align:right;border-top:1px solid var(--border);background:var(--bg-secondary,#ffffff05);padding:6px 14px;font-size:.65rem}.stuck-mission-time--stale{color:var(--warning,#f59e0b);font-weight:600}.stuck-mission-stale-tag{background:var(--warning-dim,#f59e0b26);color:var(--warning,#f59e0b);letter-spacing:.5px;border-radius:3px;margin-left:4px;padding:1px 5px;font-size:.6rem;font-weight:700}.stuck-missions-tools{border-top:1px solid var(--border);background:var(--bg-secondary,#ffffff05);justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.stuck-missions-dedup-result{color:var(--text-muted);flex:1;align-items:center;gap:10px;font-size:.75rem;display:flex}.stuck-missions-dedup-found strong,.stuck-missions-dedup-applied strong{color:var(--text)}.stuck-missions-dedup-applied{color:var(--success,#10b981);font-weight:500}.stuck-mission-btn--dedup{background:var(--bg,#ffffff0a);border-color:var(--border);color:var(--text-muted);padding:5px 10px;font-size:.7rem}.stuck-mission-btn--dedup:hover{background:var(--bg-secondary,#ffffff14);color:var(--text)}.projects-table-wrapper{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;margin:1.5rem 1.5rem 0;overflow:hidden}.pt-toolbar{border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1rem;display:flex}.pt-toolbar-left{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.pt-cat-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;font-size:.72rem;font-family:var(--mono,monospace);background:0 0;border-radius:4px;padding:.3rem .6rem;transition:all .15s}.pt-cat-btn:hover{background:var(--bg-surface);color:var(--text)}.pt-cat-btn.active{background:var(--accent,#7c3aed);color:#fff;border-color:var(--accent,#7c3aed)}.pt-toolbar-right{align-items:center;gap:.75rem;display:flex}.pt-result-count{color:var(--text-dim);font-size:.7rem;font-family:var(--mono,monospace)}.pt-search{align-items:center;display:flex;position:relative}.pt-search-icon{color:var(--text-dim);pointer-events:none;position:absolute;left:.5rem}.pt-search input{background:var(--bg-surface);border:1px solid var(--border);color:var(--text);border-radius:4px;outline:none;width:200px;padding:.3rem .5rem .3rem 1.75rem;font-family:inherit;font-size:.75rem}.pt-search input:focus{border-color:var(--accent,#7c3aed)}.pt-search-clear{color:var(--text-dim);cursor:pointer;background:0 0;border:none;align-items:center;display:flex;position:absolute;right:.35rem}.pt-search-clear:hover{color:var(--text)}.pt-scroll{scrollbar-color:var(--accent,#7c3aed) var(--bg-secondary);scrollbar-width:thin;overflow:auto visible}.pt-scroll::-webkit-scrollbar{height:8px}.pt-scroll::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.pt-scroll::-webkit-scrollbar-thumb{background:var(--accent,#7c3aed);border-radius:4px}.pt-scroll::-webkit-scrollbar-thumb:hover{background:var(--accent-hover,#6d28d9)}.pt-scroll-hint{text-align:center;color:var(--text-dim);background:var(--bg-secondary);border-top:1px solid var(--border);padding:.25rem;font-size:.65rem;font-style:italic}.projects-table{border-collapse:collapse;width:100%;font-size:.78rem}.projects-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;background:var(--bg-secondary);z-index:1;padding:.55rem .65rem;font-size:.7rem;font-weight:600;position:sticky;top:0}.projects-table th.pt-sorted{color:var(--accent,#7c3aed)}.pt-th-content{align-items:center;gap:.25rem;display:inline-flex}.pt-sort-icon{opacity:.5;align-items:center;display:inline-flex}.projects-table th:hover .pt-sort-icon,.projects-table th.pt-sorted .pt-sort-icon{opacity:1}.projects-table td{vertical-align:middle;border-bottom:1px solid #7f7f7f1a;padding:.55rem .65rem}.projects-table tr{cursor:pointer;transition:background .1s;animation:.2s ease-out backwards pt-row-in}@keyframes pt-row-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.projects-table tr:hover{background:var(--bg-secondary)}.projects-table tr.pt-row-untracked{opacity:.6}.projects-table tr:last-child td{border-bottom:none}.pt-cell-project{align-items:center;gap:.5rem;min-width:0;display:flex}.pt-emoji{flex-shrink:0;font-size:1.05rem}.pt-project-text{flex-direction:column;min-width:0;display:flex}.pt-project-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.pt-project-path{color:var(--text-dim);font-size:.65rem;font-family:var(--mono,monospace);white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.pt-category{font-size:.7rem;font-family:var(--mono,monospace);border-radius:10px;padding:.15rem .45rem;display:inline-block}.pt-cat-system{color:#d97706;background:#f59e0b26}.pt-cat-app{color:#3b82f6;background:#3b82f626}.pt-cat-other{color:#6b7280;background:#6b728026}[data-theme=light] .pt-cat-system{color:#b45309;background:#f59e0b1f}[data-theme=light] .pt-cat-app{color:#1d4ed8;background:#3b82f61f}.pt-status{text-transform:capitalize;align-items:center;font-size:.72rem;font-weight:500;display:inline-flex}.pt-health{align-items:center;gap:.4rem;display:flex}.pt-health-bar-track{background:var(--border);border-radius:2px;width:40px;height:4px;overflow:hidden}.pt-health-bar-fill{height:100%;transition:width .3s}.pt-health-num{font-family:var(--mono,monospace);text-align:right;min-width:22px;font-size:.72rem;font-weight:600}.pt-count{font-family:var(--mono,monospace);font-size:.78rem}.pt-count-crons{color:var(--accent,#7c3aed)}.pt-count-services{color:var(--text)}.pt-git-cell{font-size:.7rem;font-family:var(--mono,monospace);flex-direction:column;gap:.1rem;display:flex}.pt-git-clean{color:var(--text-dim)}.pt-git-dirty{color:var(--warning)}.pt-git-ahead{color:var(--accent,#7c3aed)}.pt-git-commits{color:var(--success)}.pt-velocity{font-family:var(--mono,monospace);font-size:.78rem}.pt-money{font-family:var(--mono,monospace);font-size:.78rem;font-weight:500}.pt-missions-cell{font-family:var(--mono,monospace);align-items:center;gap:.4rem;font-size:.75rem;display:flex}.pt-missions-total{color:var(--text);font-weight:600}.pt-missions-active{color:var(--accent,#7c3aed)}.pt-missions-stuck{color:var(--error)}.pt-time{color:var(--text-dim);font-size:.72rem;font-family:var(--mono,monospace);white-space:nowrap}.pt-dim{color:var(--text-dim);font-family:var(--mono,monospace);font-size:.78rem}.pt-loading-extras{text-align:center;color:var(--text-dim);background:var(--bg-secondary);border-top:1px solid var(--border);padding:.4rem;font-size:.7rem;font-style:italic}.pt-empty{text-align:center;background:var(--bg-surface);border:1px dashed var(--border);color:var(--text-dim);border-radius:8px;margin:2rem 1.5rem;padding:3rem 2rem}.pt-empty p{color:var(--text);margin:.5rem 0 .25rem;font-size:.9rem}.pt-empty-hint{font-size:.75rem;font-style:italic}.loading-skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.85rem;margin:1.5rem;display:grid}.loading-skeleton-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.6rem;min-height:140px;padding:1rem;animation:1.4s ease-in-out infinite skeleton-fade;display:flex}@keyframes skeleton-fade{0%,to{opacity:.4}50%{opacity:.9}}.skeleton-line{background:linear-gradient(90deg, var(--bg-secondary) 0%, var(--border) 50%, var(--bg-secondary) 100%);background-size:200% 100%;border-radius:4px;height:8px;animation:1.6s linear infinite skeleton-shimmer}.skeleton-line-1{width:60%;height:14px}.skeleton-line-2{width:90%}.skeleton-line-3{width:70%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-row{gap:.4rem;margin-top:auto;padding-top:.5rem;display:flex}.skeleton-badge{background:var(--bg-secondary);border-radius:9px;width:55px;height:18px;animation:1.4s ease-in-out infinite skeleton-fade}.loading-state-label{text-align:center;color:var(--text-dim);margin-top:.5rem;font-size:.8rem;font-style:italic;display:block}.no-projects-state{text-align:center;background:var(--bg-surface);border:1px dashed var(--border);max-width:520px;color:var(--text-dim);border-radius:8px;flex-direction:column;align-items:center;gap:.5rem;margin:3rem auto;padding:2.5rem 2rem;display:flex}.no-projects-state p{color:var(--text);margin:.5rem 0 .25rem;font-size:1rem;font-weight:500}.no-projects-hint{color:var(--text-dim);margin-bottom:.5rem;font-size:.78rem}.no-projects-ctas{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:.5rem;display:flex}.rich-empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 24px;display:flex}.rich-empty-state-hint{color:var(--text-dim);max-width:420px;margin:4px 0 12px;font-size:12px;font-style:italic;line-height:1.5}.rich-empty-state-ctas{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.rich-empty-state-cta{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.rich-empty-state-cta:hover{background:var(--bg-raised);border-color:var(--border-bright);color:var(--text)}.rich-empty-state-cta--primary{background:var(--brand);border-color:var(--brand);color:#fff}.rich-empty-state-cta--primary:hover{background:var(--brand-bright,var(--brand));border-color:var(--brand-bright,var(--brand));color:#fff}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.page{max-width:1400px;margin:0 auto;padding:1.5rem 2rem 3rem}.page-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.page-header-left{flex:1;min-width:240px}.page-title{color:var(--text);align-items:center;gap:.5rem;margin:0 0 .25rem;font-size:1.75rem;font-weight:600;display:flex}.page-subtitle{color:var(--text-muted);margin:0;font-size:.9rem}.repo-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;margin-bottom:1.5rem;padding-bottom:0;display:flex}.repo-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.repo-tab:hover{color:var(--text);background:var(--bg-tertiary)}.repo-tab.active{color:var(--brand);border-bottom-color:var(--brand);background:var(--brand-dim)}.stat-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.stat-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--accent);width:3px;position:absolute;top:0;bottom:0;left:0}.stat-icon{border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.stat-value{color:var(--text);margin-bottom:4px;font-size:1.4rem;font-weight:600;line-height:1}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.filter-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.search-input{background:var(--bg-secondary);border:1px solid var(--border);min-width:200px;color:var(--text-muted);border-radius:8px;flex:1;align-items:center;gap:6px;padding:8px 12px;display:flex}.search-input input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13px}.filter-pills{flex-wrap:wrap;gap:4px;display:flex}.pill{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:16px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.pill:hover{color:var(--text);border-color:var(--border-bright)}.pill.active{background:var(--brand-dim);color:var(--brand);border-color:var(--brand)}.pill[style*=--pill-color]{--pill-color:var(--text-muted)}.pill[style*=--pill-color].active{background:color-mix(in srgb, var(--pill-color) 15%, transparent);color:var(--pill-color);border-color:var(--pill-color)}.owner-pill{align-items:center;gap:5px!important;padding-left:8px!important;display:inline-flex!important}.owner-pill-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.btn{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-bright)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand);filter:brightness(1.15)}.btn-secondary{background:var(--bg-tertiary)}.btn.big{padding:12px 24px;font-size:15px}.btn-icon{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:inline-flex}.btn-icon:hover{color:var(--text);background:var(--bg-tertiary)}.spin{animation:1s linear infinite spin}.loading-state{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:2rem;display:flex}.loading-state.small{padding:1rem;font-size:12px}.error-banner{background:var(--error-dim);color:var(--error);border:1px solid var(--error);border-radius:8px;align-items:center;gap:8px;margin-bottom:1rem;padding:10px 14px;font-size:13px;display:flex}.error-banner.small{margin:.5rem 0;padding:6px 10px;font-size:12px}.empty-state{text-align:center;color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:3rem;display:flex}.repo-groups{flex-direction:column;gap:1.5rem;display:flex}.repo-group{border:1px solid var(--border);border-left:3px solid var(--owner-color,var(--border));border-radius:12px;overflow:hidden}.repo-group-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.repo-owner-tag{border:1px solid;border-radius:6px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.repo-group-count{color:var(--text-muted);font-size:12px;font-weight:500}.repo-group-blurb{color:var(--text-muted);flex:1;min-width:200px;font-size:12px;font-style:italic}.repo-row{background:var(--bg-secondary);border-bottom:1px solid var(--border)}.repo-row:last-child{border-bottom:none}.repo-row-head{cursor:pointer;align-items:center;gap:12px;padding:12px 16px;transition:background .12s;display:flex}.repo-row-head:hover{background:var(--bg-tertiary)}.repo-row-icon{align-items:center;display:flex}.repo-row-name{flex:1;min-width:200px}.repo-row-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.repo-name{color:var(--text);font-size:14px;font-weight:600}.repo-branch{font-size:11px;font-family:var(--mono);background:color-mix(in srgb, currentColor 12%, transparent);border-radius:4px;align-items:center;gap:3px;padding:2px 6px;display:inline-flex}.repo-role-tag{background:var(--bg-tertiary);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:2px 6px;font-size:10px}.repo-description{color:var(--text-muted);margin-top:2px;font-size:12px;font-style:italic}.repo-row-stats{align-items:center;gap:16px;display:flex}.repo-stat{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.repo-stat-value{color:var(--text);font-weight:500}.repo-stat-label{color:var(--text-dim)}.repo-row-chevron{color:var(--text-muted)}.repo-row-body{padding:0 16px 16px}.repo-meta-grid{background:var(--bg-tertiary);border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-bottom:12px;padding:12px;display:grid}.meta-item{flex-direction:column;gap:2px;min-width:0;display:flex}.meta-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);font-size:10px}.meta-value{color:var(--text);word-break:break-all;font-size:12px}.meta-value.mono{font-family:var(--mono);font-size:11px}.repo-tree-and-preview{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=900px){.repo-tree-and-preview{grid-template-columns:1fr}}.repo-tree,.vault-tree{background:var(--bg-tertiary);border:1px solid var(--border);max-height:500px;font-family:var(--mono);border-radius:8px;padding:8px 0;font-size:12px;overflow-y:auto}.tree-dir-head,.tree-file,.vault-dir-head,.vault-file{cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:3px 8px 3px 0;transition:background .1s;display:flex}.tree-dir-head:hover,.tree-file:hover,.vault-dir-head:hover,.vault-file:hover{background:var(--bg-hover,color-mix(in srgb, var(--text) 8%, transparent))}.tree-file.selected,.vault-file.selected{background:var(--brand-dim);color:var(--brand)}.tree-name{color:var(--text);flex:1;font-size:12px}.tree-size{color:var(--text-dim);font-size:10px}.tree-truncated{color:var(--text-dim);font-size:10px;font-style:italic}.recent-files{background:var(--bg-tertiary);border-radius:8px;padding:8px 12px}.recent-files-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:4px;margin-bottom:6px;font-size:11px;display:flex}.recent-file{cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:4px 6px;font-size:12px;display:flex}.recent-file:hover{background:var(--bg-secondary)}.recent-file-path{font-family:var(--mono);color:var(--text);flex:1}.recent-file-meta{color:var(--text-dim);font-size:10px}.file-preview,.vault-preview{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:8px;max-height:500px;padding:12px;display:flex;overflow-y:auto}.file-preview-head,.vault-preview-head-placeholder{color:var(--text-muted);align-items:center;gap:6px;display:flex}.file-preview-path{font-family:var(--mono);color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.file-fm{font-family:var(--mono);background:var(--bg-secondary);color:var(--accent);white-space:pre-wrap;border-radius:4px;margin:0;padding:8px;font-size:11px}.file-body{font-family:var(--mono);background:var(--bg-secondary);color:var(--text);white-space:pre-wrap;word-break:break-all;border-radius:4px;max-height:300px;margin:0;padding:10px;font-size:11px;line-height:1.5;overflow-y:auto}.file-meta-row{color:var(--text-dim);flex-wrap:wrap;gap:12px;font-size:10px;display:flex}.file-meta-row span{align-items:center;gap:3px;display:inline-flex}.graph-tab{position:relative}.graph-legend{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:12px;margin-bottom:1rem;padding:12px 16px;display:flex}.graph-legend-item{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.graph-legend-dot{border-radius:50%;width:10px;height:10px}.graph-container{background:radial-gradient(ellipse at center, var(--bg-secondary) 0%, var(--bg) 100%);border:1px solid var(--border);border-radius:12px;height:600px;position:relative;overflow:hidden}.graph-hover-info{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--brand);z-index:10;border-radius:6px;padding:6px 10px;font-size:12px;position:absolute;top:12px;right:12px}.graph-hint{color:var(--text-dim);z-index:10;background:var(--bg-tertiary);border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:flex;position:absolute;bottom:12px;left:12px}.category-bar{flex-wrap:wrap;gap:8px;margin-bottom:1rem;display:flex}.category-pill{--cat-color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:all .15s;display:inline-flex}.category-pill:hover{border-color:var(--cat-color)}.category-dot{background:var(--cat-color);border-radius:50%;width:8px;height:8px}.category-pill strong{color:var(--text);font-weight:600}.vault-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=900px){.vault-grid{grid-template-columns:1fr}}.vault-file{font-size:12px;position:relative}.vault-file:before{content:"";left:depth * 14 + 18px;background:var(--dot-color,transparent);border-radius:50%;width:4px;height:4px;position:absolute;top:50%;transform:translateY(-50%)}.vault-file-meta{color:var(--text-dim);align-items:center;gap:8px;font-size:10px;display:flex}.vault-file-meta span{align-items:center;gap:2px;display:inline-flex}.wizard-tab{max-width:1100px;margin:0 auto}.wizard-steps{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:1.5rem;padding:16px;display:flex}.wizard-step{opacity:.4;align-items:center;gap:6px;transition:opacity .2s;display:flex}.wizard-step.done,.wizard-step.current{opacity:1}.wizard-step.current .wizard-step-num{background:var(--brand);color:#fff;border-color:var(--brand)}.wizard-step.done .wizard-step-num{background:var(--success-dim);color:var(--success);border-color:var(--success)}.wizard-step-num{background:var(--bg-tertiary);border:1px solid var(--border);width:28px;height:28px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.wizard-step-label{color:var(--text);font-size:13px}.wizard-step-arrow{color:var(--text-dim);margin:0 4px}.wizard-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:24px}.wizard-panel h3{color:var(--text);margin:0 0 4px;font-size:1.15rem}.wizard-hint{color:var(--text-muted);margin:0 0 1.25rem;font-size:13px}.wizard-hint code{background:var(--bg-tertiary);border-radius:3px;padding:1px 5px;font-size:11px}.wizard-actions{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:1.5rem;padding-top:1.25rem;display:flex}.wizard-selected-count{color:var(--text-muted);margin-right:auto;font-size:12px}.wizard-repo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.wizard-repo-card{--accent:var(--text-muted);background:var(--bg-tertiary);border:1.5px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;gap:4px;padding:14px 12px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.wizard-repo-card:hover{border-color:var(--border-bright)}.wizard-repo-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent)}.wizard-repo-name{color:var(--text);font-size:13px;font-weight:600}.wizard-repo-meta{color:var(--text-muted);font-size:11px}.wizard-repo-check{color:var(--accent);position:absolute;top:8px;right:8px}.wizard-destinations{flex-direction:column;gap:8px;display:flex}.wizard-dest-row{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;grid-template-columns:200px 1fr 200px;align-items:center;gap:12px;padding:12px;display:grid}@media (width<=800px){.wizard-dest-row{grid-template-columns:1fr}}.wizard-dest-source{color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.wizard-owner-pills{flex-wrap:wrap;gap:4px;display:flex}.wizard-rename-input{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text);font-size:12px;font-family:var(--mono);border-radius:6px;outline:none;padding:6px 10px;transition:border-color .15s}.wizard-rename-input:focus{border-color:var(--brand)}.wizard-preview{flex-direction:column;gap:6px;display:flex}.wizard-preview-row{background:var(--bg-tertiary);border:1px solid var(--border);border-left-width:3px;border-radius:8px;grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.wizard-preview-row.ok{border-left-color:var(--success)}.wizard-preview-row.conflict{border-left-color:var(--error);background:var(--error-dim)}.wizard-preview-row.missing{border-left-color:var(--warning);background:var(--warning-dim)}.wizard-preview-flow{color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.wizard-preview-source{font-family:var(--mono)}.wizard-preview-target{font-family:var(--mono);color:var(--brand)}.wizard-preview-meta{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;display:flex}.meta-pill{background:color-mix(in srgb, currentColor 12%, transparent);border-radius:4px;padding:2px 6px}.wizard-preview-status{text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:4px;font-size:11px;font-weight:600;display:flex}.wizard-preview-row.ok .wizard-preview-status{color:var(--success)}.wizard-preview-row.conflict .wizard-preview-status{color:var(--error)}.wizard-preview-row.missing .wizard-preview-status{color:var(--warning)}.wizard-warning{background:var(--warning-dim);color:var(--warning);border-radius:8px;align-items:center;gap:8px;margin-top:1rem;padding:10px 14px;font-size:13px;display:flex}.wizard-apply-zone{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:16px;padding:3rem;display:flex}.wizard-applying{color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;padding:3rem;display:flex}.wizard-result{text-align:center;padding:2rem}.wizard-result-head{flex-direction:column;align-items:center;gap:8px;margin-bottom:1.5rem;display:flex}.wizard-batch-id{font-family:var(--mono);color:var(--text-muted);font-size:11px}.wizard-result-grid{justify-content:center;gap:2rem;margin-bottom:1.5rem;display:flex}.wizard-result-stat{text-align:center}.wizard-result-num{color:var(--text);font-size:2.5rem;font-weight:700}.wizard-result-label{color:var(--text-muted);text-transform:uppercase;font-size:12px}.wizard-result-list{text-align:left;flex-direction:column;gap:4px;margin-bottom:1.5rem;display:flex}.wizard-result-row{background:var(--bg-tertiary);border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.wizard-result-row.ok{color:var(--text)}.wizard-result-row.fail{color:var(--error)}.wizard-result-row span:nth-child(2){font-family:var(--mono);flex:1}.wizard-result-error{color:var(--error);font-size:11px;font-style:italic}.log-tab{max-width:1100px}.log-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.log-header h3{color:var(--text);margin:0}.log-list{flex-direction:column;gap:6px;display:flex}.log-row{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.log-status-icon{align-items:center;display:flex}.log-complete .log-status-icon{color:var(--success)}.log-failed .log-status-icon{color:var(--error)}.log-skipped .log-status-icon{color:var(--warning)}.log-action{color:var(--text);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.log-paths{font-family:var(--mono);color:var(--text-muted);margin-top:2px;font-size:11px}.log-error{color:var(--error);margin-top:2px;font-size:11px;font-style:italic}.log-meta{color:var(--text-dim);flex-direction:column;align-items:flex-end;gap:2px;font-size:10px;display:flex}.log-batch{font-family:var(--mono)}
