:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f5f7;--bg-elevated:#fff;--bg-sidebar:#fff;--bg-hover:#f0f1f4;--fg:#1b1e24;--muted:#6b7280;--border:#e3e5e9;--accent:#3b63e0;--accent-fg:#fff;--accent-soft:#ebf0fe;--danger:#c8433a;--danger-soft:#fbeceb;--ok:#1f8a5a;--ok-soft:#e9f6f0;--warn:#b5790a;--warn-soft:#fbf2e2;--shadow:0 1px 2px #1018280f, 0 1px 3px #10182814}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1115;--bg-elevated:#171a21;--bg-sidebar:#12141a;--bg-hover:#1c2029;--fg:#e6e8eb;--muted:#9aa1ab;--border:#2a2d34;--accent:#5b8def;--accent-fg:#0b0d11;--accent-soft:#1c2536;--danger:#e25555;--danger-soft:#2c1a1a;--ok:#4caf7d;--ok-soft:#16261f;--warn:#d9a441;--warn-soft:#2b2213;--shadow:0 1px 2px #0000004d, 0 1px 3px #0006}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}.container{max-width:960px;margin:0 auto;padding:2rem 1.25rem}.card{border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow);border-radius:10px;margin-bottom:1.25rem;padding:1.25rem}.field{flex-direction:column;gap:.25rem;margin-bottom:.85rem;display:flex}label{color:var(--muted);font-size:.85rem}input,select,textarea{background:var(--bg);border:1px solid var(--border);color:var(--fg);border-radius:6px;padding:.5rem .65rem;font-family:inherit;font-size:.95rem}textarea{resize:vertical;min-height:90px}button{background:var(--accent);color:var(--accent-fg);cursor:pointer;border:none;border-radius:6px;padding:.55rem 1rem;font-family:inherit;font-size:.95rem}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{border:1px solid var(--border);color:var(--fg);background:0 0}button.danger{background:var(--danger);color:#fff}.icon-btn{color:var(--fg);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.4rem;display:inline-flex}.icon-btn:hover{background:var(--bg-hover)}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.status{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.75rem;display:inline-flex}.status.SUCCEEDED,.status.DONE,.status.REVIEW{color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}.status.FAILED,.status.CANCELLED{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.status.BLOCKED,.status.QUEUED{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}.error{color:var(--danger);font-size:.9rem}.log-line{border-bottom:1px solid var(--border);white-space:pre-wrap;word-break:break-word;padding:.2rem 0;font-family:ui-monospace,monospace;font-size:.85rem}.task-list-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:1.25rem;width:232px;padding:1.25rem .9rem;transition:width .15s;display:flex}.sidebar.collapsed{width:68px}.sidebar-head{justify-content:space-between;align-items:center;padding:0 .15rem;display:flex}.brand{white-space:nowrap;margin:0;font-size:1.2rem;overflow:hidden}.sidebar.collapsed .brand,.sidebar.collapsed .nav-label,.sidebar.collapsed .user-email,.sidebar.collapsed .locale-label{display:none}.nav{flex-direction:column;flex:1;gap:.15rem;display:flex}.nav-link{color:var(--fg);white-space:nowrap;border-radius:8px;align-items:center;gap:.65rem;padding:.55rem .65rem;font-size:.92rem;text-decoration:none;display:flex;overflow:hidden}.nav-link svg{flex-shrink:0}.nav-link:hover{background:var(--bg-hover)}.nav-link.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding-top:1rem;display:flex}.user-email{color:var(--muted);word-break:break-all;font-size:.78rem}.content{flex:1;min-width:0;padding:1.75rem 2.25rem}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:.55rem .6rem;font-size:.9rem}.data-table th{color:var(--muted);font-weight:500}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.summary-card{border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow);border-radius:10px;padding:1rem 1.1rem}.summary-label{color:var(--muted);margin-bottom:.3rem;font-size:.78rem}.summary-value{font-size:1.6rem;font-weight:650;line-height:1.1}.summary-sub{color:var(--muted);margin-top:.2rem;font-size:.75rem}.avatar{border-radius:50%;flex-shrink:0;width:44px;height:44px;display:inline-flex;overflow:hidden}.avatar img,.avatar svg{width:100%;height:100%}.avatar-sm{width:26px;height:26px}.role-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.role-card{border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:.6rem;padding:1.1rem;display:flex}.role-card-head{align-items:center;gap:.75rem;display:flex}.role-card-name{font-weight:600}.role-card-desc{color:var(--muted);min-height:1.2em;font-size:.82rem}.role-card-badges{flex-wrap:wrap;gap:.35rem;display:flex}.role-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.infra-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.infra-card{border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:.6rem;padding:1.1rem;display:flex;position:relative}.infra-card-service{padding-right:1.5rem;font-weight:600}.infra-card-status-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;position:absolute;top:1.1rem;right:1.1rem}.infra-card-status-dot.running{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.infra-card-status-dot.unhealthy{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.infra-card-status-dot.stopped{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.infra-card-status-text{color:var(--muted);font-size:.8rem}.infra-card-image{color:var(--muted);word-break:break-all;font-size:.78rem}.infra-card-actions{gap:.4rem;margin-top:.25rem;display:flex}.board{align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex;overflow-x:auto}.board-column{background:var(--bg);border-radius:10px;flex:1;min-width:260px;padding:.5rem;transition:background-color .1s}.board-column.drag-over{background:var(--accent-soft)}.board-column-header{color:var(--muted);justify-content:space-between;margin-bottom:.5rem;padding:0 .25rem;font-size:.85rem;display:flex}.board-card{border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow);cursor:grab;border-radius:8px;margin-bottom:.6rem;padding:.65rem .75rem;font-size:.85rem}.board-card.dragging{opacity:.4}.board-card a{text-decoration:none}.board-card-title{color:var(--fg);justify-content:space-between;gap:.5rem;margin-bottom:.35rem;display:flex}.board-empty{color:var(--muted);padding:.25rem;font-size:.8rem;font-style:italic}.subtask-toggle{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:.35rem;padding:0;font-size:.75rem}.subtask-list{border-left:2px solid var(--border);flex-direction:column;gap:.35rem;margin-top:.5rem;padding-left:.6rem;display:flex}.badge{border:1px solid var(--border);color:var(--muted);border-radius:4px;padding:.1rem .4rem;font-size:.7rem;display:inline-block}.badge.active{color:var(--ok);border-color:var(--ok);background:var(--ok-soft)}.badge.soon{color:var(--warn);border-color:var(--warn);background:var(--warn-soft)}.form-row{gap:.75rem;display:flex}.form-row .field{flex:1}.checkbox-field{align-items:center;gap:.5rem;display:flex;flex-direction:row!important}.checkbox-field input{width:auto}.integration-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.integration-card{border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow);border-radius:12px;padding:1.25rem}.integration-card-head{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}
