:root{--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-3xs:.66rem;--text-2xs:.76rem;--text-xs:.87rem;--text-base:1rem;--text-md:1.15rem;--text-lg:1.32rem;--text-hero-sm:2.66rem;--text-hero:3.52rem;font-family:var(--font-sans);--bg-canvas:#f4f5f8;--surface-1:#fff;--surface-2:#fff;--surface-3:#f7f8fa;--border:#e5e7ef;--border-subtle:#edf0f5;--border-strong:#d3d7e2;--text-primary:#1e2430;--text-secondary:#3d4557;--text-muted:#6b7384;--accent:#714b67;--accent-bright:#5d3d56;--accent-soft:#f2ecf1;--success:#16a34a;--success-soft:#e5f6ec;--warning:#b45309;--warning-soft:#fdf1dd;--danger:#dc2626;--danger-soft:#fceaea;--info:#2563eb;--info-soft:#e8eefc;--accent-border:#d8c4d3;--accent-border-soft:#c9b2c3;--success-border:#b7e3c7;--success-border-strong:#a9dbbc;--warning-border:#f0ce8d;--danger-border:#f2b8b8;--danger-border-strong:#b91c1c;--danger-note-border:#f3bbbb;--info-border:#b8c8f4;--success-on-soft:#16733a;--warning-on-soft:#92500b;--warning-on-soft-muted:#a65b08;--danger-on-soft:#b42318;--danger-note-text:#a61b1b;--info-on-soft:#244a9e;--on-accent:#fff;--on-success:#08281f;--on-warning:#fff;--on-danger:#fff;--code-surface:#1e2430;--code-border:#3d4557;--code-text:#f4f5f8;--code-success-surface:#173e2b;--code-success-border:#27724b;--code-success-text:#ebfff2;--field-surface:var(--surface-1);--elevation-1:0 8px 24px #1e243012;--accent-on-dark:#b58aa6;--rail-surface:#1c2025;--rail-border:#2d333b;--rail-line:#30363d;--rail-field:#16191d;--rail-hover:#2b313a;--rail-selected:#323842;--rail-hero:#282d34;--rail-hero-border:#373e47;--rail-hero-btn:#383f49;--rail-hero-btn-hover:#444c57;--rail-btn-border:#485260;--tabbar-surface:#212529;--rail-text:#c9d1d9;--rail-bright:#e6edf3;--rail-text-strong:#fff;--rail-muted:#94a3b8;--on-accent-on-dark:#1a0f18;color:var(--text-primary);background:var(--bg-canvas);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg-canvas:#09111f;--surface-1:#101d30;--surface-2:#14243a;--surface-3:#1a2d46;--border:#29415f;--border-subtle:#203650;--border-strong:#5d7ca9;--text-primary:#eef5ff;--text-secondary:#b7c8df;--text-muted:#91a6c1;--accent:#b58aa6;--accent-bright:#cfa9c2;--accent-soft:#2b2136;--accent-border:#a3789a;--accent-border-soft:#8f6a86;--success:#59d8af;--success-soft:#12332b;--success-border:#268f6e;--success-border-strong:#2fa580;--warning:#f2bd62;--warning-soft:#33260f;--warning-border:#a87d3f;--danger:#ff8292;--danger-soft:#3a1a22;--danger-border:#d45567;--danger-border-strong:#8f2436;--danger-note-border:#e8697a;--info:#7aa7ff;--info-soft:#152744;--info-border:#4a7ede;--success-on-soft:var(--success);--warning-on-soft:var(--warning);--warning-on-soft-muted:#d9a860;--danger-on-soft:var(--danger);--danger-note-text:var(--danger);--info-on-soft:var(--info);--on-accent:#1a0f18;--on-success:#08281f;--on-warning:#2b1c05;--on-danger:#2e0a12;--code-surface:#0a1424;--code-border:#527bb0;--code-text:#eef5ff;--code-success-surface:#0c2a20;--code-success-border:#2fa580;--code-success-text:#d7f5e6;--field-surface:#081321;--elevation-1:0 8px 24px #00000038;--accent-on-dark:#cfa9c2;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg-canvas);min-width:320px;color:var(--text-primary);margin:0;line-height:1.5}button,input,select{font:inherit}button{border:0}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--accent-bright);outline-offset:3px}.skip-link{z-index:20;background:var(--accent);color:var(--on-accent);border-radius:8px;padding:.65rem .9rem;font-weight:800;text-decoration:none;transition:transform .15s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.login{grid-template-columns:1.3fr .7fr;align-items:center;gap:4rem;max-width:1100px;min-height:100vh;margin:auto;padding:2rem;display:grid}.login h1{font-size:var(--text-hero);max-width:600px;margin-bottom:.75rem}.login p{color:var(--text-secondary);font-size:var(--text-base)}.login form{background:var(--surface-1);border:1px solid var(--border);border-radius:16px;gap:1rem;padding:2rem;display:grid;box-shadow:0 18px 48px #1e24301a}.login label,.creator label,.config-grid label{color:var(--text-primary);gap:.45rem;font-weight:600;display:grid}.login input,.creator input,.creator select,.inline-form input,.quick-form input,.config-grid input,.config-grid select{border:1px solid var(--border-strong);background:var(--field-surface);color:var(--text-primary);border-radius:8px;padding:.8rem}.login input:focus,.creator input:focus,.creator select:focus,.inline-form input:focus,.quick-form input:focus,.config-grid input:focus,.config-grid select:focus{outline:2px solid var(--accent-bright);outline-offset:1px}.login button,.workspace button{cursor:pointer;border-radius:8px;padding:.75rem 1rem;font-weight:800;transition:filter .15s,transform .15s}.login button:hover,.workspace button:hover{filter:brightness(1.08);transform:translateY(-1px)}.workspace button:disabled{opacity:.6;cursor:wait;transform:none}.eyebrow{font-size:var(--text-2xs);letter-spacing:.1em;margin:0 0 .4rem;font-weight:800}.session-note{background:var(--danger-soft);color:var(--danger-note-text);border-radius:8px;padding:.75rem 1rem;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.app{grid-template-columns:215px 1fr;min-height:100vh;display:grid}.app.sidebar-collapsed{grid-template-columns:72px 1fr}aside{background:var(--surface-1);border-right:1px solid var(--border-subtle);flex-direction:column;padding:.85rem .75rem;display:flex}.sidebar-collapse{border:1px solid var(--border);background:var(--surface-3);width:100%;color:var(--text-primary);cursor:pointer;font-size:var(--text-2xs);text-align:left;border-radius:6px;align-items:center;gap:.4rem;margin-top:.6rem;padding:.35rem .5rem;font-weight:700;display:flex}.sidebar-collapse:hover{border-color:var(--accent)}.app.sidebar-collapsed>aside{align-items:center;padding-inline:.7rem}.app.sidebar-collapsed .brand-lockup small,.app.sidebar-collapsed .org-switcher,.app.sidebar-collapsed .nav-label,.app.sidebar-collapsed .nav-group-label,.app.sidebar-collapsed .nav-group-toggle,.app.sidebar-collapsed .panel-navigation a span,.app.sidebar-collapsed .theme-toggle span,.app.sidebar-collapsed .theme-toggle small,.app.sidebar-collapsed .logout,.app.sidebar-collapsed .sidebar-collapse-label{display:none}.app.sidebar-collapsed .panel-navigation{width:100%}.app.sidebar-collapsed .panel-navigation a,.app.sidebar-collapsed .sidebar-collapse,.app.sidebar-collapsed .theme-toggle{justify-content:center;width:100%;padding-inline:.45rem}.brand-lockup{gap:.1rem;display:grid}.brand{color:var(--text-primary);font-size:var(--text-lg);letter-spacing:-.03em;font-weight:800}.brand-lockup small{color:var(--text-muted);font-size:var(--text-2xs)}.org-switcher{border:1px solid var(--border);background:var(--surface-3);border-radius:8px;gap:.15rem;margin-top:.75rem;padding:.5rem .65rem;display:grid}.org-switcher span,.org-switcher small{color:var(--text-muted);font-size:var(--text-2xs)}.org-switcher strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-xs);overflow:hidden}nav{gap:.2rem;margin-top:.85rem;display:grid}.nav-label{color:var(--text-muted);font-size:var(--text-3xs);letter-spacing:.1em;text-transform:uppercase;margin:0 .5rem .25rem;font-weight:800}nav button,.logout{text-align:left;cursor:pointer;font-size:var(--text-xs);background:0 0;border:1px solid #0000;border-radius:6px;padding:.45rem .6rem}.logout{margin-top:auto}.theme-toggle{border:1px solid var(--border);background:var(--surface-3);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;font-size:var(--text-2xs);border-radius:6px;gap:.05rem;margin-top:.75rem;padding:.45rem .6rem;display:grid}.theme-toggle:hover{border-color:var(--accent)}.theme-toggle small{color:var(--text-muted);font-weight:500;font-size:var(--text-2xs)}.workspace{width:100%;max-width:1400px;margin:auto;padding:.85rem 1.25rem}header{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.25rem 1rem;padding-bottom:.65rem;display:grid}.breadcrumbs{color:var(--text-muted);font-size:var(--text-xs);grid-column:1/-1;align-items:center;gap:.45rem;margin-bottom:.15rem;display:flex}.breadcrumbs a{color:var(--accent-bright);font-weight:700;text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs span[aria-current=page]{color:var(--text-primary);font-weight:700}header h1{color:var(--text-primary);font-size:var(--text-lg);margin:0}.header-context{color:var(--text-secondary);overflow-wrap:anywhere;font-size:var(--text-xs);margin:.2rem 0 0}.user{color:var(--text-primary);text-align:right;font-weight:700}.user small{color:var(--text-muted);margin-top:.15rem;font-weight:500;display:block}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-top:.75rem;display:grid}.metrics article,.table,.creator{background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--elevation-1);border-radius:8px}.metrics article{padding:.65rem .85rem}.metrics span{color:var(--text-muted);text-transform:capitalize;font-size:var(--text-2xs);display:block}.metrics strong{color:var(--text-primary);font-size:var(--text-lg);margin-top:.2rem;display:block}.table{margin-top:.75rem;overflow:hidden}.row{border-bottom:1px solid var(--border-subtle);font-size:var(--text-xs);grid-template-columns:1.4fr .8fr 1fr;align-items:center;gap:.65rem;padding:.5rem .75rem;display:grid}.row:last-child{border-bottom:0}.row.head{color:var(--text-muted);font-size:var(--text-2xs);background:var(--surface-3)}.row strong{color:var(--text-primary)}.status{align-items:center;gap:.35rem;font-weight:700;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:.45rem;height:.45rem}.status.success{color:var(--success)}.status.warning{color:var(--warning)}.status.danger{color:var(--danger)}.empty,.muted{color:var(--text-muted);padding:.75rem 0}.creator{flex-wrap:wrap;align-items:end;gap:.75rem;margin-top:.75rem;padding:.75rem;display:flex}.creator label{color:var(--text-secondary)}.creator .full-width{flex-basis:100%;margin:0;padding:0}.config-grid label.check-field,.policy-form label.check-field,label.check-field,.check-field{align-items:center;gap:.55rem;display:flex}.check-field input{width:1.1rem;height:1.1rem;accent-color:var(--accent)}.resource-actions,.actions,.inline-form{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.45rem;display:flex}.resource-actions button,.actions button,.inline-form button{font-size:var(--text-xs);padding:.45rem .65rem}.workspace button.secondary{background:var(--surface-3);color:var(--text-primary);border:1px solid var(--border)}.workspace button.danger{background:var(--danger);color:var(--on-danger);border:1px solid var(--danger-border)}.actions small{width:100%;color:var(--text-muted)}.inline-form small{width:100%}.card{background:var(--surface-1);border:1px solid var(--border);box-shadow:var(--elevation-1);border-radius:8px;margin-top:.65rem;padding:.75rem .95rem}.route-not-found{max-width:620px}.route-not-found h1{color:var(--text-primary);margin:.25rem 0}.detail-stack{grid-template-columns:minmax(0,1fr);gap:.65rem;margin-top:.65rem;display:grid}.detail-stack .card{margin-top:0}.back-row,.section-heading,.server-hero,.token-row,.environment-card{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.back-row{margin-bottom:.2rem}.badge{border:1px solid var(--border);color:var(--text-primary);background:var(--surface-3);font-size:var(--text-2xs);border-radius:999px;align-items:center;padding:.2rem .55rem;font-weight:800;display:inline-flex}.badge.warning{color:var(--warning);background:var(--warning-soft);border-color:var(--warning-border)}.badge.danger{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-border)}.server-hero{align-items:flex-start}.server-hero h1,.server-hero h2,.section-heading h2{color:var(--text-primary);font-size:var(--text-md);margin:.15rem 0}.server-hero p,.section-heading p{color:var(--text-muted);font-size:var(--text-xs);margin:0}.server-facts{flex-wrap:wrap;gap:.5rem;display:flex}.server-facts span{text-align:right;gap:.1rem;min-width:75px;display:grid}.server-facts small,.token-row small,.environment-card small{color:var(--text-muted);font-size:var(--text-3xs);display:block}.server-facts strong{color:var(--text-primary);font-size:var(--text-xs)}.quick-form{flex-wrap:wrap;align-items:end;gap:.75rem;margin-top:.65rem;display:flex}.quick-form label{min-width:min(260px,100%);color:var(--text-primary);gap:.35rem;font-weight:600;display:grid}.command-box{border:1px solid var(--info-border);border-radius:8px;margin-top:.65rem;padding:.75rem}.command-box code{white-space:pre-wrap;border:1px solid var(--code-border);font-size:var(--text-xs);border-radius:6px;padding:.75rem;display:block;overflow:auto}.small{font-size:var(--text-xs);margin:.75rem 0 0;padding:0}.token-list{margin-top:1.5rem}.token-list h3{color:var(--text-primary);margin-bottom:.6rem}.token-row{border-top:1px solid var(--border-subtle);padding:.8rem 0}.token-row strong{color:var(--text-primary);display:block}.token-row small{margin-top:.25rem}.environment-list{grid-template-columns:minmax(0,1fr);gap:.6rem;margin-top:1rem;display:grid}.workspace button.environment-card{border:1px solid var(--border);background:var(--surface-1);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:8px;padding:1rem}.workspace button.environment-card:hover{filter:none;transform:none}.workspace button.environment-card:focus-visible{outline:2px solid var(--accent-bright);outline-offset:2px}.environment-card>span:first-child{flex:1;min-width:0}.branch-panel{gap:1rem;display:grid}.branch-list{gap:.6rem;display:grid}.branch-row{border:1px solid var(--border);background:var(--surface-1);border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.8rem .9rem;display:grid}.branch-row>div{min-width:0}.branch-row strong,.branch-row small{overflow-wrap:anywhere;display:block}.branch-row strong{color:var(--text-primary)}.branch-row small{color:var(--text-muted);margin-top:.2rem}.branch-row.active{box-shadow:inset 3px 0 0 var(--accent)}.branch-current{color:var(--accent);font-size:var(--text-xs);font-weight:800}.log-card pre{white-space:pre-wrap;max-height:300px;color:var(--code-text);background:var(--code-surface);border:1px solid var(--code-border);font:var(--text-xs) var(--font-mono);border-radius:8px;margin:1rem 0 0;padding:1rem;overflow:auto}.config-card p,.readiness-card p{margin-bottom:0}.config-grid{grid-template-columns:repeat(3,minmax(min(150px,30%),1fr));gap:1rem;margin-top:1rem;display:grid}.config-grid label:first-child,.config-grid label:nth-child(7){grid-column:span 2}.config-actions{grid-column:1/-1;align-items:center;gap:.75rem;display:flex}.check-list{gap:.55rem;margin-top:1rem;display:grid}.check-row{border:1px solid var(--border);background:var(--surface-3);border-radius:8px;align-items:flex-start;gap:.7rem;padding:.7rem;display:flex}.check-row strong,.check-row small{display:block}.check-row small{color:var(--text-muted);margin-top:.2rem}.check-row>span{overflow-wrap:anywhere;min-width:0}.check-ok,.check-fail{border-radius:50%;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;font-weight:900;display:inline-flex}.operations-card,.policy-card,.restore-card,.activity-card{gap:1rem;display:grid}.git-history-card,.git-commit-section{gap:.8rem;display:grid}.git-history-card h3{font-size:var(--text-base);margin:.35rem 0 0}.git-build-list,.git-commit-list{gap:.5rem;display:grid}.git-build-row,.git-commit-row{border:1px solid var(--border);background:var(--surface-3);border-radius:8px;align-items:flex-start;gap:.75rem;padding:.7rem;display:flex}.git-build-row>div,.git-commit-row>span{gap:.14rem;min-width:0;display:grid}.git-build-row strong,.git-commit-row strong{overflow-wrap:anywhere}.git-build-row small,.git-commit-row small{color:var(--text-secondary)}.git-commit-row code{color:var(--accent);font-size:var(--text-2xs)}.team-admin{max-width:1100px}.team-list{gap:.5rem;display:grid}.team-row{border:1px solid var(--border);background:var(--surface-3);border-radius:8px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.team-row>div{flex:1;gap:.14rem;min-width:0;display:grid}.team-row small{color:var(--text-secondary);overflow-wrap:anywhere}.team-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.team-form label{gap:.35rem;display:grid}.team-form button{place-self:end start}.odoo-modules-card{gap:.8rem;display:grid}.module-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.45rem;max-height:320px;display:grid;overflow:auto}.module-row{border:1px solid var(--border);background:var(--surface-3);border-radius:7px;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .7rem;display:flex}.module-row strong{overflow-wrap:anywhere}@media (width<=680px){.team-form{grid-template-columns:1fr}.team-row{flex-wrap:wrap;align-items:flex-start}}.operations-card .section-heading,.policy-card .section-heading,.restore-card .section-heading,.activity-card .section-heading{align-items:flex-start}.operations-card h2,.policy-card h2,.restore-card h2,.activity-card h2{color:var(--text-primary)}.backup-list{gap:.55rem;display:grid}.backup-row{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;display:flex}.backup-row strong{color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-xs);display:block}.backup-row small{color:var(--text-muted);margin-top:.25rem;display:block}.policy-form,.restore-form{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.policy-form label,.restore-form label{color:var(--text-primary);gap:.45rem;font-weight:600;display:grid}.policy-form input,.restore-form select{border:1px solid var(--border-strong);background:var(--field-surface);min-width:180px;color:var(--text-primary);border-radius:8px;padding:.8rem}.restore-form select{min-width:min(250px,100%)}.restore-card .command-box code{max-height:180px;overflow:auto}.activity-list{gap:.55rem;max-height:240px;display:grid;overflow:auto}.activity-item{border:1px solid var(--border);background:var(--surface-3);border-radius:8px;align-items:flex-start;gap:.7rem;padding:.7rem;display:flex}.activity-item strong,.activity-item small{display:block}.activity-item small{color:var(--text-muted);margin-top:.2rem}.activity-dot{background:var(--accent);width:.65rem;height:.65rem;box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);border-radius:50%;flex:none;margin-top:.35rem}.bootstrap-card{gap:1rem;display:grid}.bootstrap-card .section-heading{align-items:flex-start}.bootstrap-card h2{color:var(--text-primary)}.bootstrap-card label{color:var(--text-primary);font-weight:600}.bootstrap-disabled{border-color:var(--warning-border)}.bootstrap-warning{border:1px solid var(--warning-border);background:var(--warning-soft);color:var(--warning);border-radius:8px;gap:.25rem;padding:.8rem 1rem;display:grid}.bootstrap-warning span{color:var(--warning);font-size:var(--text-xs)}.bootstrap-modules{gap:.7rem;display:grid}.bootstrap-module-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;display:grid}.bootstrap-module{border:1px solid var(--border);background:var(--surface-3);cursor:pointer;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:.15rem .5rem;padding:.75rem;display:grid}.bootstrap-module input{accent-color:var(--accent)}.bootstrap-module small{color:var(--text-muted);font:var(--text-2xs) var(--font-mono);grid-column:2;font-weight:500}.bootstrap-facts{border:1px solid var(--border);background:var(--surface-3);border-radius:8px;padding:.8rem 1rem}.bootstrap-facts summary,.bootstrap-plan summary{color:var(--text-primary);cursor:pointer;font-weight:700}.bootstrap-fact-grid{grid-template-columns:repeat(3,minmax(min(150px,30%),1fr));gap:.8rem;margin-top:1rem;display:grid}.bootstrap-fact-grid label{gap:.4rem;display:grid}.bootstrap-fact-grid input,.bootstrap-fact-grid select{border:1px solid var(--border-strong);background:var(--field-surface);min-width:0;color:var(--text-primary);border-radius:7px;padding:.7rem}.bootstrap-fact-grid input:focus,.bootstrap-fact-grid select:focus{outline:2px solid var(--accent-bright);outline-offset:1px}.bootstrap-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.bootstrap-job{border-top:1px solid var(--border-subtle);gap:.9rem;padding-top:1rem;display:grid}.bootstrap-job .section-heading small{margin-top:.25rem;display:block}.bootstrap-job code{color:var(--accent);overflow-wrap:anywhere}.bootstrap-plan{border:1px solid var(--border);background:var(--surface-3);border-radius:8px;gap:.8rem;padding:.9rem;display:grid}.bootstrap-plan h4,.bootstrap-events h4{color:var(--text-primary);margin:.2rem 0}.bootstrap-plan-list{gap:.45rem;display:grid}.bootstrap-plan-item{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--border);color:var(--text-primary);background:var(--surface-1);font-size:var(--text-xs);border-radius:6px;padding:.65rem}.bootstrap-plan-item.danger-item{border-color:var(--danger-border);color:var(--danger);background:var(--danger-soft)}.bootstrap-json{white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;color:var(--code-text);background:var(--code-surface);border:1px solid var(--code-border);font:var(--text-2xs) var(--font-mono);border-radius:7px;margin:.8rem 0 0;padding:.8rem;overflow:auto}.bootstrap-token{border:1px solid var(--success-border-strong);border-radius:8px;gap:.45rem;padding:.9rem;display:grid}.bootstrap-token code{border:1px solid var(--code-success-border);overflow-wrap:anywhere;border-radius:6px;padding:.7rem;display:block}.bootstrap-events{gap:.55rem;display:grid}.bootstrap-event{border:1px solid var(--border);background:var(--surface-3);border-radius:7px;align-items:flex-start;gap:.7rem;padding:.65rem;display:flex}.bootstrap-event strong,.bootstrap-event small{display:block}.bootstrap-event small{color:var(--text-muted);overflow-wrap:anywhere;margin-top:.2rem}.discovery{gap:1rem;display:grid}.discovery .section-heading{align-items:flex-start}.discovery h2{color:var(--text-primary)}.discovery code{overflow-wrap:anywhere}.discovery-list{gap:.6rem;display:grid}.discovery-item{border:1px solid var(--border);background:var(--surface-3);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;padding:.85rem 1rem;display:flex}.discovery-item>span:first-child{flex:14rem;min-width:0}.discovery-item strong{color:var(--text-primary);overflow-wrap:anywhere;display:block}.discovery-item small{color:var(--text-muted);overflow-wrap:anywhere;margin-top:.2rem;display:block}.discovery-target{gap:.3rem;min-width:0;display:grid}.discovery-target select{border:1px solid var(--border-strong);background:var(--field-surface);min-width:0;color:var(--text-primary);font:inherit;border-radius:7px;padding:.55rem}.discovery-target select:focus{outline:2px solid var(--accent-bright);outline-offset:1px}.workspace-flow{counter-reset:workspace-step;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.workspace-flow li{border:1px solid var(--border);background:var(--surface-3);counter-increment:workspace-step;border-radius:10px;gap:.4rem;min-width:0;padding:1rem;display:grid}.workspace-flow li:before{content:"0" counter(workspace-step);color:var(--accent);font:800 var(--text-2xs) var(--font-mono);letter-spacing:.08em}.workspace-flow strong{color:var(--text-primary)}.workspace-flow span{color:var(--text-secondary);font-size:var(--text-xs)}.workspace-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.workspace-plan-grid .card{height:100%}@media (width>=701px){aside{height:100vh;position:sticky;top:0}}@media (width<=700px){.login,.app{display:block}.login{padding:2rem 1.25rem}.login h1{font-size:var(--text-hero-sm)}aside{min-height:auto;display:block}.org-switcher{margin-top:1rem}nav{grid-template-columns:repeat(2,1fr);margin:1.5rem 0}.logout{margin:0}.workspace{padding:1.25rem}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}header{grid-template-columns:minmax(0,1fr);gap:1rem}.breadcrumbs{grid-column:auto}.user{text-align:left}.header-context{margin-top:.3rem}.row{grid-template-columns:1fr}.row.head{display:none}.server-hero{display:grid}.server-facts{justify-content:flex-start}.server-facts span{text-align:left}.config-grid{grid-template-columns:1fr}.config-grid label:first-child,.config-grid label:nth-child(7){grid-column:auto}.bootstrap-fact-grid{grid-template-columns:1fr}.backup-row{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--bg-canvas)}.login{max-width:1180px}.login h1,.login h2,header h1{color:var(--text-primary)}.login p{color:var(--text-secondary)}.login form{background:var(--surface-1);border-color:var(--border);box-shadow:0 18px 48px #1e24301a}.login label,.creator label,.config-grid label,.quick-form label,.policy-form label,.restore-form label,.bootstrap-card label{color:var(--text-primary)}.login input,.creator input,.creator select,.inline-form input,.quick-form input,.config-grid input,.config-grid select,.policy-form input,.restore-form select,.bootstrap-fact-grid input,.bootstrap-fact-grid select{background:var(--surface-1);border-color:var(--border-strong);color:var(--text-primary)}.login input:focus,.creator input:focus,.creator select:focus,.inline-form input:focus,.quick-form input:focus,.config-grid input:focus,.config-grid select:focus,.bootstrap-fact-grid input:focus,.bootstrap-fact-grid select:focus{outline-color:var(--accent-bright);border-color:var(--accent-bright)}.login button,.workspace button{background:var(--accent);color:var(--on-accent)}.login button:hover,.workspace button:hover{background:var(--accent-bright);filter:none}.eyebrow{color:var(--accent)}.error{color:var(--danger)}.session-note{background:var(--danger-soft);color:var(--danger-note-text);border:1px solid var(--danger-note-border)}aside{background:var(--surface-1);border-right-color:var(--border);box-shadow:2px 0 12px #1e24300a}.brand{color:var(--text-primary)}.brand span{color:var(--accent)}.brand-lockup small,.org-switcher span,.org-switcher small,.nav-label{color:var(--text-muted)}.org-switcher{background:var(--surface-3);border-color:var(--border)}.org-switcher strong{color:var(--text-primary)}nav button,.logout{color:var(--text-secondary)}nav button:hover,.logout:hover{background:var(--surface-3);color:var(--text-primary)}nav button.active,button.active,.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.workspace{max-width:1440px}header{border-bottom-color:var(--border)}.breadcrumbs{color:var(--text-muted)}.breadcrumbs a{color:var(--accent)}.breadcrumbs span[aria-current=page]{color:var(--text-primary)}.header-context,.server-hero p,.section-heading p{color:var(--text-secondary)}.user{color:var(--text-primary)}.user small{color:var(--text-muted)}.metrics article,.table,.creator,.card{background:var(--surface-1);border-color:var(--border);box-shadow:var(--elevation-1)}.metrics article{border-top:3px solid var(--accent)}.metrics article.metric-card,:root[data-theme=dark] .metrics article.metric-card{border-top-color:var(--accent)}.metrics span,.empty,.muted{color:var(--text-muted)}.metrics strong,.row strong,.server-hero h1,.server-hero h2,.section-heading h2,.route-not-found h1{color:var(--text-primary)}.row{border-bottom-color:var(--border-subtle)}.row.head{background:var(--surface-3);color:var(--text-secondary)}.status{color:var(--text-muted)}.workspace button.secondary{background:var(--surface-1);color:var(--text-secondary);border-color:var(--border-strong)}.workspace button.secondary:hover{background:var(--surface-3);color:var(--text-primary)}.workspace button.danger{background:var(--danger);border-color:var(--danger-border-strong);color:var(--on-danger)}.badge{background:var(--surface-3);border-color:var(--border-strong);color:var(--text-secondary)}.badge.success{background:var(--success-soft);border-color:var(--success-border);color:var(--success-on-soft)}.badge.warning{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning-on-soft)}.badge.danger{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger-on-soft)}.server-facts small,.token-row small,.environment-card small,.backup-row small{color:var(--text-muted)}.quick-connect,.readiness-card{border-top:3px solid var(--accent)}.command-box{background:var(--info-soft);border-color:var(--info-border)}.command-box p{color:var(--info-on-soft)}.command-box code,.log-card pre,.bootstrap-json{background:var(--code-surface);border-color:var(--code-border);color:var(--code-text)}.token-list h3,.token-row strong,.operations-card h2,.policy-card h2,.restore-card h2,.activity-card h2,.bootstrap-card h2,.discovery h2{color:var(--text-primary)}.token-row,.backup-row,.bootstrap-job{border-top-color:var(--border-subtle)}.discovery code,.discovery-item strong{color:var(--text-primary)}.discovery-item small{color:var(--text-secondary)}.discovery-target select{background:var(--surface-1);border-color:var(--border-strong);color:var(--text-primary)}.discovery-target select:focus{outline-color:var(--accent-bright);border-color:var(--accent-bright)}.workspace button.environment-card{background:var(--surface-1);border-color:var(--border-strong);color:var(--text-primary)}.workspace button.environment-card:hover{background:var(--surface-3);border-color:var(--accent)}.environment-card strong{color:var(--text-primary)}.readiness-card{border-color:var(--accent-border-soft)}.check-row,.activity-item,.bootstrap-module,.bootstrap-facts,.bootstrap-plan,.bootstrap-event,.discovery-item{background:var(--surface-3);border-color:var(--border)}.check-row small,.activity-item small,.bootstrap-facts summary,.bootstrap-plan summary{color:var(--text-secondary)}.check-ok{color:var(--on-success);background:var(--success)}.check-fail{color:var(--on-warning);background:var(--warning)}.bootstrap-warning{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning-on-soft)}.bootstrap-warning span{color:var(--warning-on-soft-muted)}.bootstrap-plan-item{background:var(--surface-3);border-color:var(--border-strong);color:var(--text-secondary)}.bootstrap-plan-item.danger-item{background:var(--danger-soft);border-color:var(--danger-border);color:var(--danger-on-soft)}.bootstrap-token{background:var(--success-soft);border-color:var(--success-border-strong)}.bootstrap-token code{background:var(--code-success-surface);border-color:var(--code-success-border);color:var(--code-success-text)}.success-text{color:var(--success-on-soft)}@media (width<=700px){.login h1{color:var(--text-primary)}.metrics{gap:.75rem}.metrics article{padding:1rem}.workspace{padding:1.25rem}}.metrics article{min-width:0}.metrics strong,.row{overflow-wrap:anywhere}.row>*{min-width:0}.user{overflow-wrap:anywhere}.server-hero>div:first-child,.section-heading>div:first-child{overflow-wrap:anywhere;min-width:0}.token-row>span:first-child{min-width:0}.token-row strong,.backup-row strong,.environment-card small,.command-box code,.log-card pre{overflow-wrap:anywhere}.detail-stack>*,.card>*{min-width:0}.server-facts strong{color:var(--text-primary);overflow-wrap:anywhere}@media (width<=700px){.back-row,.section-heading,.environment-card{flex-wrap:wrap}.policy-form label,.restore-form label{min-width:0;max-width:100%}.policy-form input,.restore-form select{width:100%;min-width:0;max-width:100%}.branch-row{grid-template-columns:1fr;align-items:start}.resource-actions button,.actions button,.inline-form button{padding:.75rem .9rem}.check-field{min-height:44px}.breadcrumbs a{margin:-.75rem -.45rem;padding:.75rem .45rem;display:inline-block}.bootstrap-facts summary,.bootstrap-plan summary{padding:.7rem 0}.discovery-item{flex-direction:column;align-items:stretch}.discovery-item button{padding:.75rem .9rem}.discovery-target select{width:100%}.workspace-flow,.workspace-plan-grid{grid-template-columns:1fr}.theme-toggle{margin-bottom:1rem}}:root[data-theme=dark] .login form,:root[data-theme=dark] .metrics article,:root[data-theme=dark] .table,:root[data-theme=dark] .creator,:root[data-theme=dark] .card,:root[data-theme=dark] .kpi-card,:root[data-theme=dark] .lista-fila,:root[data-theme=dark] .switch-row,:root[data-theme=dark] .workspace button.kpi-card,:root[data-theme=dark] .workspace button.option-card,:root[data-theme=dark] .workspace button.environment-card{background:var(--surface-1);border-color:var(--border);box-shadow:var(--elevation-1);color:var(--text-primary)}:root[data-theme=dark] .brand,:root[data-theme=dark] header h1,:root[data-theme=dark] .metrics strong,:root[data-theme=dark] .row strong,:root[data-theme=dark] .server-hero h1,:root[data-theme=dark] .server-hero h2,:root[data-theme=dark] .section-heading h2,:root[data-theme=dark] .operations-card h2,:root[data-theme=dark] .policy-card h2,:root[data-theme=dark] .restore-card h2,:root[data-theme=dark] .activity-card h2,:root[data-theme=dark] .bootstrap-card h2,:root[data-theme=dark] .discovery h2{color:var(--text-primary)}:root[data-theme=dark] .header-context,:root[data-theme=dark] .login p,:root[data-theme=dark] .muted,:root[data-theme=dark] .empty,:root[data-theme=dark] .server-hero p,:root[data-theme=dark] .section-heading p,:root[data-theme=dark] .metrics span{color:var(--text-secondary)}:root[data-theme=dark] .org-switcher,:root[data-theme=dark] .row.head,:root[data-theme=dark] .check-row,:root[data-theme=dark] .activity-item,:root[data-theme=dark] .bootstrap-module,:root[data-theme=dark] .bootstrap-facts,:root[data-theme=dark] .bootstrap-plan,:root[data-theme=dark] .bootstrap-event,:root[data-theme=dark] .discovery-item{background:var(--surface-3);border-color:var(--border)}:root[data-theme=dark] .login input,:root[data-theme=dark] .creator input,:root[data-theme=dark] .creator select,:root[data-theme=dark] .inline-form input,:root[data-theme=dark] .quick-form input,:root[data-theme=dark] .config-grid input,:root[data-theme=dark] .config-grid select,:root[data-theme=dark] .policy-form input,:root[data-theme=dark] .restore-form select,:root[data-theme=dark] .discovery-target select,:root[data-theme=dark] .buscador,:root[data-theme=dark] .filter-row select,:root[data-theme=dark] .section-extra select,:root[data-theme=dark] .quick-form select,:root[data-theme=dark] .quick-form textarea{background:var(--field-surface);border-color:var(--border-strong);color:var(--text-primary)}:root[data-theme=dark] .workspace button.secondary{background:var(--surface-3);border-color:var(--border-strong);color:var(--text-primary)}.aviso-banner{border:1px solid var(--warning-border);background:var(--warning-soft);color:var(--warning-on-soft);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.9rem 1.1rem;display:flex}.aviso-banner strong,.aviso-banner small{display:block}.aviso-banner small{color:var(--warning-on-soft-muted);overflow-wrap:anywhere;margin-top:.2rem}.aviso-fallo{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger-on-soft)}.aviso-fallo small{color:var(--danger-note-text)}.aviso-meta{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.aviso-spec{opacity:.85;font-size:.85em}.branch-group{gap:.25rem;margin-top:1rem;display:grid}.branch-group>p{color:var(--text-muted);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;margin:0 .35rem .2rem;font-weight:800}.branch-group button{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .7rem;display:flex}.branch-group button:hover{background:var(--surface-3);filter:none;transform:none}.branch-group button.active{background:var(--surface-3);border-color:var(--accent);color:var(--text-primary);box-shadow:inset 3px 0 0 var(--accent)}.branch-group button span{min-width:0}.branch-group button strong,.branch-group button small{overflow-wrap:anywhere;display:block}.branch-group button small{color:var(--text-muted);font-size:var(--text-2xs)}.branch-dot{background:var(--text-muted);border-radius:50%;flex:none;width:.55rem;height:.55rem}.branch-dot.success{background:var(--success)}.branch-dot.warning{background:var(--warning)}.branch-dot.danger{background:var(--danger)}.odoo-app-container{background:var(--bg-canvas);flex-direction:column;min-height:100vh;display:flex}.odoo-topbar{color:#fff;z-index:100;background:#714b67;border-bottom:1px solid #00000026;flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 .85rem;display:flex}.odoo-topbar__left{align-items:center;gap:.85rem;height:100%;display:flex}.odoo-topbar__brand{color:#fff;font-size:var(--text-md);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;font-weight:800;display:flex}.odoo-topbar__brand span{color:#f59e0b}.odoo-topbar__nav{align-items:center;gap:.15rem;height:100%;display:flex}.odoo-topbar__nav button{color:#fffc;font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.35rem .65rem;font-weight:600;transition:background .15s}.odoo-topbar__nav button:hover{color:#fff;filter:none;background:#ffffff24;transform:none}.odoo-topbar__nav button.active{color:#fff;background:#00000040;font-weight:700}.odoo-topbar__right{align-items:center;gap:.65rem;display:flex}.odoo-topbar__project-selector select{color:#fff;font-size:var(--text-base);cursor:pointer;background:#00000040;border:1px solid #ffffff40;border-radius:4px;padding:.25rem .55rem}.odoo-topbar__icon-btn{font-size:var(--text-base);cursor:pointer;color:#fff;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:.25rem;transition:background .15s;display:inline-flex}.odoo-topbar__icon-btn:hover{filter:none;background:#ffffff26;transform:none}.odoo-topbar__user{align-items:center;gap:.4rem;display:flex}.odoo-user-avatar{color:#714b67;width:26px;height:26px;font-weight:800;font-size:var(--text-2xs);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.odoo-user-name{color:#fff;font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-weight:600;overflow:hidden}.odoo-topbar__logout-btn{color:#fff;font-size:var(--text-2xs);cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:4px;padding:.25rem .5rem;transition:background .15s}.odoo-topbar__logout-btn:hover{filter:none;background:#ffffff26;transform:none}.odoo-topbar__badge-simulated{color:#fbbf24;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#f59e0b33;border:1px solid #f59e0b73;border-radius:4px;padding:.15rem .45rem;font-weight:700;line-height:1.2}@media (width<=900px){.odoo-topbar{flex-wrap:wrap;row-gap:.3rem;height:auto;min-height:44px;padding-top:.4rem;padding-bottom:.4rem}.odoo-topbar__left{flex-wrap:wrap;flex:100%;min-width:0;height:auto}.odoo-topbar__nav{flex-wrap:wrap;min-width:0;height:auto;margin:0}.odoo-topbar__nav button{white-space:nowrap}.odoo-topbar__right{flex-wrap:wrap;flex:100%;justify-content:flex-end;row-gap:.3rem;min-width:0}.odoo-topbar__project-selector{flex:8.5rem;min-width:0}.odoo-topbar__project-selector select{width:100%;min-width:0;max-width:100%}.odoo-user-name{max-width:7rem}}.app--project-mode{grid-template-columns:1fr}.app--project-mode aside{display:none}.workspace--full{max-width:none;padding:0}.project-console{background:var(--surface-1);box-shadow:none;border:0;border-radius:0;grid-template-rows:auto minmax(0,1fr);gap:0;min-height:calc(100vh - 44px);margin:0;display:grid}.project-console__body{grid-template-columns:minmax(195px,240px) minmax(0,1fr);min-height:0;display:grid}.project-console__header{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;align-items:baseline;gap:.1rem .65rem;padding:.45rem .85rem;display:flex}.project-console__header .eyebrow{margin:0}.project-console__header h1{font-size:var(--text-md);color:var(--text-primary);margin:0}.project-console__branches{background:var(--rail-surface);border-right:1px solid var(--rail-border);color:var(--rail-text);margin:0;padding:0 0 .35rem;display:block}.odoo-branch-search{border-bottom:1px solid var(--rail-border);align-items:center;padding:.45rem .55rem;display:flex;position:relative}.odoo-branch-search__icon{color:var(--rail-muted);pointer-events:none;position:absolute;left:1rem}.odoo-branch-search input{background:var(--rail-field);border:1px solid var(--rail-line);width:100%;color:var(--rail-bright);font-size:var(--text-base);border-radius:4px;outline:none;padding:.35rem .55rem .35rem 2.1rem;transition:border-color .15s,box-shadow .15s}.odoo-branch-search input:focus-visible{border-color:var(--accent-on-dark);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-on-dark) 25%, transparent)}.odoo-branch-header{justify-content:space-between;align-items:center;gap:.35rem;padding:.35rem .65rem .1rem;display:flex}.odoo-branch-header h2{color:var(--rail-muted);font-size:var(--text-2xs);letter-spacing:.02em;text-transform:uppercase;margin:0;font-weight:700}.odoo-branch-band{border:1px solid var(--accent-on-dark);background:color-mix(in srgb, var(--accent-on-dark) 14%, var(--rail-surface));color:var(--rail-bright);font-size:var(--text-2xs);border-radius:4px;gap:.15rem;margin:.45rem .55rem 0;padding:.45rem .6rem;transition:border-color .15s,background .15s;display:grid}.odoo-branch-band strong{font-size:var(--text-2xs);color:var(--rail-text-strong)}.odoo-branch-band small{color:var(--rail-muted)}.odoo-branch-band--invalid{border-color:var(--danger-border);background:color-mix(in srgb, var(--danger) 12%, var(--rail-surface))}.odoo-branch-band--invalid strong{color:var(--rail-bright)}.odoo-branch-add-wrap{display:block}.odoo-branch-add{border:1px solid var(--rail-line);width:1.25rem;height:1.25rem;color:var(--rail-text);font-size:var(--text-xs);cursor:pointer;background:0 0;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .12s,color .12s,border-color .12s;display:flex}.odoo-branch-add:hover{background:var(--rail-hover);color:var(--accent-on-dark);border-color:var(--accent-on-dark);filter:none;transform:none}.odoo-branch-add:disabled{opacity:.45;cursor:not-allowed}.odoo-branch-add-msg{font-size:var(--text-3xs);padding:.15rem .25rem;display:block}.project-branch-card-wrapper{align-items:center;width:100%;padding:0 .25rem;display:flex}.workspace button.project-branch-card{width:100%;height:32px;color:var(--rail-text);font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:space-between;align-items:center;padding:0 .5rem;transition:background .12s,color .12s;display:flex}.workspace button.project-branch-card:hover{background:var(--rail-hover);color:var(--rail-text-strong);filter:none;transform:none}.workspace button.project-branch-card.selected{background:var(--rail-selected);color:var(--rail-text-strong);box-shadow:inset 3px 0 0 var(--accent-on-dark);font-weight:700}.workspace button.project-branch-card:focus-visible{outline:2px solid var(--accent-on-dark);outline-offset:1px}.workspace button.project-branch-card--forbidden{cursor:not-allowed}.branch-card-left{align-items:center;gap:.4rem;min-width:0;display:inline-flex}.branch-prefix-icon{color:var(--rail-muted);font-weight:700;font-family:var(--font-mono);font-size:var(--text-xs)}.branch-card-left strong{font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.branch-card-right{flex-shrink:0;align-items:center;gap:.4rem;display:inline-flex}.branch-card-right small{color:var(--rail-muted);font-size:var(--text-2xs)}.odoo-promote-btn{background:var(--accent-on-dark);color:var(--on-accent-on-dark);font-size:var(--text-3xs);cursor:pointer;border:none;border-radius:3px;justify-content:center;align-items:center;margin-left:.2rem;padding:.2rem .35rem;font-weight:700;line-height:1;transition:background .15s;display:inline-flex}.odoo-promote-btn:hover{background:color-mix(in srgb, var(--accent-on-dark) 89%, #000);filter:none;transform:none}.odoo-promote-btn:disabled{opacity:.45;cursor:not-allowed}.odoo-empty-branch{color:var(--rail-muted);font-size:var(--text-2xs);margin:0;padding:.2rem .75rem}.project-console__workbench{background:var(--surface-1);flex-direction:column;min-width:0;padding:0;display:flex}.environment-detail--embedded{flex-direction:column;flex:1;gap:0;min-height:0;margin:0;display:flex}.environment-detail--embedded .environment-detail__hero{box-shadow:none;background:var(--rail-hero);border:0;border-radius:0;margin:0;padding:0}.odoo-branch-hero-bar{background:var(--rail-hero);border-bottom:1px solid var(--rail-hero-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;width:100%;padding:.45rem .85rem;display:flex}.odoo-branch-hero-title{align-items:center;gap:.5rem;display:flex}.odoo-branch-hero-title h1,.odoo-branch-hero-title h2{color:var(--rail-text-strong);font-size:var(--text-md);margin:0;font-weight:700}.copy-branch-btn{border:1px solid var(--rail-btn-border);color:var(--rail-text);font-size:var(--text-2xs);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:.25rem;padding:.2rem .45rem;transition:background .12s,color .12s;display:inline-flex}.copy-branch-btn:hover{background:var(--rail-hero-btn);color:var(--rail-text-strong)}.odoo-branch-hero-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.odoo-hero-action-btn{background:var(--rail-hero-btn);border:1px solid var(--rail-btn-border);color:var(--rail-bright);font-size:var(--text-2xs);cursor:pointer;border-radius:4px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-weight:600;text-decoration:none;transition:background .12s;display:inline-flex}.odoo-hero-action-btn:hover{background:var(--rail-hero-btn-hover);color:var(--rail-text-strong);filter:none;transform:none}.odoo-hero-action-btn.connect-btn{background:var(--accent-on-dark);border-color:color-mix(in srgb, var(--accent-on-dark) 89%, #000);color:var(--on-accent-on-dark);font-weight:700}.odoo-hero-action-btn.connect-btn:hover{background:color-mix(in srgb, var(--accent-on-dark) 89%, #000)}.odoo-hero-action-btn.active{background:var(--accent-on-dark);border-color:color-mix(in srgb, var(--accent-on-dark) 89%, #000);color:var(--on-accent-on-dark)}.copy-branch-btn:focus-visible,.odoo-hero-action-btn:focus-visible,.odoo-promote-btn:focus-visible,.odoo-topbar__icon-btn:focus-visible,.odoo-topbar__logout-btn:focus-visible{outline:2px solid var(--accent-on-dark);outline-offset:2px}.environment-detail--embedded .tabbar{background:var(--tabbar-surface);border:none;border-bottom:1px solid var(--rail-line);gap:.15rem;padding:0 .85rem;display:flex;overflow-x:auto}.environment-detail--embedded .tabbar button{color:var(--rail-muted);font-size:var(--text-2xs);text-transform:uppercase;cursor:pointer;letter-spacing:.04em;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;padding:.5rem .75rem;font-weight:700;transition:color .12s}.environment-detail--embedded .tabbar button:hover{color:var(--rail-bright);background:0 0}.environment-detail--embedded .tabbar button.active{color:var(--rail-text-strong);border-bottom-color:var(--accent-on-dark);background:0 0}.environment-detail--embedded .tabbar button:focus-visible{outline:2px solid var(--accent-on-dark);outline-offset:-2px}.environment-detail--embedded .tab-panel{flex-direction:column;flex:1;min-height:0;padding:.65rem .85rem;display:flex}.environment-detail--embedded #env-panel-editor{padding:0}.environment-detail--embedded #env-panel-editor .code-editor-layout{border:0;border-radius:0;flex:1;min-height:calc(100vh - 180px)}.environment-detail--embedded #env-panel-editor .code-editor-main{flex:1}.environment-detail--embedded #env-panel-editor .code-editor-textarea{flex:1;min-height:calc(100vh - 260px)}.odoo-history-view{background:var(--surface-1);min-height:480px;padding:.85rem 1.25rem}.odoo-history-pagination{justify-content:center;align-items:center;gap:.35rem;margin-bottom:1rem;display:flex}.odoo-page-btn{font-size:var(--text-2xs);padding:.25rem .65rem}.odoo-page-badge.active{color:#fff;font-weight:700;font-size:var(--text-2xs);background:#714b67;border-radius:4px;padding:.25rem .6rem}.odoo-timeline{border-left:2px solid var(--border);margin-left:18px;padding-left:20px;position:relative}.odoo-timeline-date{font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:.4rem;margin:1rem 0 .65rem -29px;font-weight:700;display:flex}.odoo-timeline-item{margin-bottom:.85rem;position:relative}.odoo-timeline-node{background:var(--surface-1);border:2px solid var(--text-muted);border-radius:50%;width:10px;height:10px;position:absolute;top:14px;left:-26px}.odoo-build-card{background:var(--surface-1);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:.4rem;padding:.65rem .85rem;display:flex;box-shadow:0 1px 3px #0000000a}.odoo-build-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem;display:flex}.odoo-build-author{align-items:center;gap:.45rem;display:flex}.odoo-build-avatar{font-size:var(--text-base)}.odoo-build-author strong{font-size:var(--text-xs);color:var(--text-primary)}.odoo-build-author small{font-size:var(--text-2xs);color:var(--text-muted);margin-left:.35rem}.odoo-test-badge{font-size:var(--text-2xs);background:var(--surface-3);color:var(--text-secondary);border-radius:4px;padding:.15rem .45rem;font-weight:700}.odoo-test-badge.success{color:var(--success-on-soft);background:var(--success-soft)}.odoo-test-badge.warning{color:var(--warning-on-soft);background:var(--warning-soft)}.odoo-test-badge.danger{color:var(--danger-on-soft);background:var(--danger-soft)}.odoo-build-commit-row{background:var(--surface-2);border:1px solid var(--border-subtle);font-size:var(--text-2xs);border-radius:4px;justify-content:space-between;align-items:center;gap:.45rem;padding:.35rem .65rem;display:flex}.odoo-commit-bullet{color:var(--text-muted);margin-right:.3rem}.odoo-commit-msg{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.odoo-commit-sha{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-muted);background:var(--surface-3);border-radius:3px;flex-shrink:0;padding:.1rem .35rem}.odoo-build-card--empty{text-align:center;padding:1rem}.odoo-timeline-more{margin-top:.75rem}.environment-detail--embedded .server-facts{flex-wrap:wrap;gap:.35rem;display:flex}.environment-detail--embedded .server-facts span{border:1px solid var(--border-subtle);background:var(--surface-1);font-size:var(--text-2xs);border-radius:4px;align-items:center;gap:.3rem;padding:.2rem .45rem;display:inline-flex}.environment-detail--embedded .server-facts small{color:var(--text-muted)}.environment-detail--embedded .server-facts strong{color:var(--text-primary)}.project-console__empty{border:1px dashed var(--border);min-height:280px;color:var(--text-secondary);border-radius:8px;align-content:center;place-items:start;padding:1.25rem;display:grid}.project-console__empty h2{color:var(--text-primary);font-size:var(--text-md);margin:0}.project-console__empty p{max-width:52ch;font-size:var(--text-xs);margin:0}.odoo-projects-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1rem;margin-top:1rem;display:grid}.odoo-project-card{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.75rem;min-width:0;padding:1rem;transition:border-color .15s,box-shadow .15s;display:flex}.odoo-project-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #00000014}.odoo-project-card__header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.odoo-project-card__title{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.workspace .odoo-project-title-btn{color:var(--text-primary);font-size:var(--text-base);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;box-shadow:none;background:0 0;border:none;padding:0;font-weight:700;overflow:hidden}.workspace .odoo-project-title-btn:hover{color:var(--accent);filter:none;text-decoration:underline;transform:none}.odoo-project-repo{font-size:var(--text-2xs);color:var(--text-muted);font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.odoo-project-card__badges{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.odoo-version-badge{font-size:var(--text-2xs);background:var(--surface-3);color:var(--text-secondary);border-radius:4px;padding:.15rem .4rem;font-weight:700}.odoo-project-card__tiers{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:6px;flex-direction:column;gap:.35rem;padding:.5rem .65rem;display:flex}.odoo-tier-chip{font-size:var(--text-2xs);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:.5rem;display:flex}.odoo-tier-chip-left{align-items:center;gap:.4rem;display:inline-flex}.odoo-tier-chip strong{font-size:var(--text-2xs);color:var(--text-primary);font-family:var(--font-mono)}.odoo-project-card__footer{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;padding-top:.5rem;display:flex}.odoo-server-host{color:var(--text-secondary);align-items:center;gap:.35rem;display:inline-flex}.odoo-server-icon{color:var(--text-muted);flex-shrink:0}.workspace:has(.project-console) .project-console{min-height:100vh;box-shadow:none;border:0;border-radius:0;margin:0}.panel-navigation{gap:.2rem;margin-top:.65rem;display:grid}.panel-navigation .nav-group{gap:.15rem}.panel-navigation .nav-group:first-child{margin-bottom:.25rem}.panel-navigation .nav-group-items{gap:.15rem}.panel-navigation .nav-group-toggle{min-height:28px}.panel-navigation a{color:var(--text-secondary);font-weight:600;font-size:var(--text-xs);border:1px solid #0000;border-radius:6px;align-items:center;gap:.5rem;padding:.4rem .55rem;text-decoration:none;display:flex}.panel-navigation a:hover{background:var(--surface-3);color:var(--text-primary)}.panel-navigation a svg{flex:none}.panel-navigation a span{overflow-wrap:anywhere;min-width:0}.nav-group{gap:.15rem;display:grid}.nav-group-label{color:var(--text-muted);font-size:var(--text-3xs);letter-spacing:.1em;text-transform:uppercase;margin:.5rem 0 .15rem .55rem;font-weight:800}.nav-group-toggle{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:.15rem .35rem .15rem 0;display:flex}.nav-group-toggle .nav-group-label{margin:0;padding-left:.55rem}.nav-group-toggle:hover .nav-group-label{color:var(--text-primary)}.nav-group-chevron{font-size:var(--text-2xs);color:var(--text-muted);margin-right:.4rem;transition:transform .2s}.nav-group-chevron.collapsed{transform:rotate(-90deg)}.nav-group-items{gap:.15rem;display:grid}.header-actions,.section-extra{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.section-extra{justify-content:flex-end}a.button{background:var(--accent);color:var(--on-accent);font-weight:800;font-size:var(--text-xs);border-radius:6px;align-items:center;gap:.35rem;padding:.55rem .85rem;text-decoration:none;display:inline-flex}a.button:hover{background:var(--accent-bright)}a.button.secondary{background:var(--surface-1);color:var(--text-secondary);border:1px solid var(--border-strong)}a.button.secondary:hover{background:var(--surface-3);color:var(--text-primary)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:.5rem;margin-top:.65rem;display:grid}.kpi-card{border:1px solid var(--border);background:var(--surface-1);border-radius:8px;gap:.15rem;min-width:0;padding:.55rem .75rem;display:grid;box-shadow:0 4px 12px #1e24300d}.kpi-card span{color:var(--text-muted);font-size:var(--text-2xs);font-weight:700}.kpi-card strong{color:var(--text-primary);font-size:var(--text-lg);overflow-wrap:anywhere}.kpi-card .kpi-nota{color:var(--text-secondary);font-size:var(--text-2xs)}.kpi-card.success{border-top:3px solid var(--success)}.kpi-card.warning{border-top:3px solid var(--warning)}.kpi-card.danger{border-top:3px solid var(--danger)}.workspace button.kpi-card{background:var(--surface-1);min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;gap:.25rem;padding:1.1rem;display:grid}.workspace button.kpi-card:hover{background:var(--surface-3);filter:none;transform:none}.progress{background:var(--border-subtle);border-radius:999px;height:.55rem;overflow:hidden}.progress-fill{background:var(--accent);border-radius:999px;height:100%;display:block}.medicion{gap:.3rem;min-width:0;display:grid}.w-0{width:0}.w-5{width:5%}.w-10{width:10%}.w-15{width:15%}.w-20{width:20%}.w-25{width:25%}.w-30{width:30%}.w-35{width:35%}.w-40{width:40%}.w-45{width:45%}.w-50{width:50%}.w-55{width:55%}.w-60{width:60%}.w-65{width:65%}.w-70{width:70%}.w-75{width:75%}.w-80{width:80%}.w-85{width:85%}.w-90{width:90%}.w-95{width:95%}.w-100{width:100%}.tabbar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.25rem;margin-top:.45rem;margin-bottom:.25rem;display:flex}.tabbar button{color:var(--text-secondary);cursor:pointer;font-size:var(--text-xs);background:0 0;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;padding:.35rem .65rem;font-weight:700;transition:color .15s,border-color .15s,background-color .15s}.tabbar button:hover{background:var(--surface-3);color:var(--text-primary);filter:none;transform:none}.tabbar button.active,.tabbar button[aria-selected=true]{background:var(--surface-1);color:var(--accent);border-color:var(--border) var(--border) transparent var(--border);box-shadow:0 2px 0 var(--accent)}.tabbar .contador{background:var(--border-subtle);min-width:1.2rem;color:var(--text-secondary);font-size:var(--text-3xs);border-radius:999px;justify-content:center;align-items:center;margin-left:.35rem;padding:0 .25rem;display:inline-flex}.tab-panel{grid-template-columns:minmax(0,1fr);gap:.5rem;margin-top:.35rem;display:grid}.environment-open-link{border:1px solid var(--accent);background:var(--accent);width:fit-content;color:var(--on-accent);font-size:var(--text-xs);border-radius:6px;align-items:center;margin-top:.45rem;padding:.4rem .65rem;font-weight:800;text-decoration:none;display:inline-flex}.environment-open-link:hover{text-decoration:underline}.environment-actions{align-items:stretch;gap:.5rem;display:grid}.environment-actions__primary,.environment-actions__secondary{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.environment-actions__secondary{border-top:1px solid var(--border-subtle);padding-top:.5rem}.environment-actions__secondary small{width:auto;color:var(--text-muted);font-size:var(--text-2xs)}.operation-details{border:1px solid var(--border);background:var(--surface-3);border-radius:8px;margin-top:.6rem}.operation-details summary{min-height:44px;color:var(--text-primary);cursor:pointer;font-weight:800;font-size:var(--text-xs);padding:.5rem .75rem}.operation-details>.card{border:0;border-top:1px solid var(--border);box-shadow:none;border-radius:0;margin:0}.monitor-stack{gap:.65rem;margin-top:.65rem;display:grid}.monitor-summary,.monitor-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.45rem;margin-top:.5rem;display:grid}.monitor-summary>div,.monitor-metrics>div{border:1px solid var(--border-subtle);background:var(--surface-3);border-radius:6px;min-width:0;padding:.55rem .65rem}.monitor-summary small,.monitor-metrics small{color:var(--text-muted);font-size:var(--text-3xs);text-transform:uppercase;overflow-wrap:anywhere;font-weight:700;display:block}.monitor-summary strong,.monitor-metrics strong{color:var(--text-primary);overflow-wrap:anywhere;font-size:var(--text-base);margin-top:.15rem;display:block}.monitor-stack p.muted{overflow-wrap:anywhere}.chip-row{flex-wrap:wrap;gap:.35rem;display:flex}.chip{border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);font-size:var(--text-2xs);border-radius:999px;align-items:center;padding:.3rem .6rem;font-weight:700;display:inline-flex}.workspace button.chip{background:var(--surface-1);color:var(--text-secondary);font-size:var(--text-2xs);cursor:pointer;padding:.3rem .6rem}.workspace button.chip:hover{background:var(--surface-3);filter:none;transform:none}.workspace button.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.empty-state{border:1px dashed var(--border);background:var(--surface-3);border-radius:8px;justify-items:start;gap:.35rem;margin-top:.65rem;padding:1rem;display:grid}.empty-state h3{color:var(--text-primary);font-size:var(--text-base);margin:0}.empty-state .resource-actions{margin-top:.15rem}.filter-row{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.65rem;display:flex}.buscador{border:1px solid var(--border-strong);background:var(--surface-1);min-width:0;color:var(--text-primary);border-radius:6px;flex:min(220px,100%);padding:.45rem .65rem}.filter-row select,.section-extra select{border:1px solid var(--border-strong);background:var(--surface-1);max-width:100%;color:var(--text-primary);border-radius:6px;padding:.45rem .65rem}.lista-grid{grid-template-columns:minmax(0,1fr);gap:.35rem;margin-top:.65rem;display:grid}.lista-fila{border:1px solid var(--border-subtle);background:var(--surface-1);overflow-wrap:anywhere;font-size:var(--text-xs);border-radius:6px;align-items:center;gap:.5rem;padding:.55rem .75rem;display:grid}.lista-fila>*{min-width:0}.lista-fila.head{background:var(--surface-3);color:var(--text-secondary);font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;padding:.35rem .75rem;font-weight:800}.lista-fila strong{color:var(--text-primary);display:block}.lista-fila small{font-size:var(--text-2xs);margin-top:.1rem;display:block}.lista-acciones{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.cols-1 .lista-fila{grid-template-columns:minmax(0,1fr)}.cols-2 .lista-fila{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3 .lista-fila{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4 .lista-fila{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-5 .lista-fila{grid-template-columns:repeat(5,minmax(0,1fr))}.cols-6 .lista-fila{grid-template-columns:repeat(6,minmax(0,1fr))}.dato-row{flex-wrap:wrap;gap:.65rem;margin-top:.5rem;display:flex}.dato{gap:.1rem;min-width:min(140px,100%);display:grid}.dato small{color:var(--text-muted);font-size:var(--text-3xs);letter-spacing:.05em;text-transform:uppercase;font-weight:700}.dato strong{color:var(--text-primary);overflow-wrap:anywhere;font-size:var(--text-xs)}.settings-layout{grid-template-columns:minmax(min(180px,100%),220px) minmax(0,1fr);align-items:start;gap:1rem;margin-top:.85rem;display:grid}.settings-nav{gap:.65rem;margin-top:0;display:grid}.settings-group{gap:.15rem;display:grid}.settings-group h3{color:var(--text-muted);font-size:var(--text-3xs);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .2rem .55rem;font-weight:800}.settings-nav button{color:var(--text-secondary);text-align:left;cursor:pointer;overflow-wrap:anywhere;font-size:var(--text-xs);background:0 0;border:1px solid #0000;border-radius:6px;padding:.45rem .6rem}.settings-nav button:hover{background:var(--surface-3);color:var(--text-primary);filter:none;transform:none}.settings-content{grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.settings-content .card{margin-top:0}.settings-content .card+.card{margin-top:.85rem}.switch-list{gap:.35rem;margin-top:.65rem;display:grid}.switch-row{border:1px solid var(--border-subtle);background:var(--surface-1);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;padding:.55rem .75rem;display:flex}.switch-row strong,.switch-row small{display:block}.switch-row small{color:var(--text-secondary);overflow-wrap:anywhere;font-size:var(--text-2xs);margin-top:.15rem}.switch-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.capacity-list{gap:.55rem;margin-top:.65rem;display:grid}.capacity-row{gap:.25rem;min-width:0;display:grid}.capacity-head{color:var(--text-primary);font-weight:700;font-size:var(--text-xs);flex-wrap:wrap;justify-content:space-between;gap:.4rem;display:flex}.capacity-head small{font-weight:500;font-size:var(--text-2xs)}.steps{gap:.7rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.steps li{border:1px solid var(--border-subtle);background:var(--surface-3);border-radius:10px;align-items:flex-start;gap:.75rem;padding:.8rem;display:flex}.step-num{background:var(--accent);width:1.6rem;height:1.6rem;color:var(--on-accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.steps strong,.steps small{display:block}.steps small{color:var(--text-secondary);overflow-wrap:anywhere;margin-top:.2rem}.bullet-list{color:var(--text-secondary);margin:.75rem 0 0;padding-left:1.15rem}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.quick-form select,.quick-form textarea{border:1px solid var(--border-strong);background:var(--surface-1);color:var(--text-primary);border-radius:8px;min-width:0;max-width:100%;padding:.8rem}.quick-form textarea{font:inherit;resize:vertical}.quick-form>button{align-self:end}.icono{vertical-align:middle;flex:none}.hero-card{border-color:var(--accent-border);background:var(--accent-soft)}.split-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:.75rem;margin-top:.75rem;display:grid}.split-grid .card{margin-top:0}.card-grid{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:.65rem;margin-top:.75rem;display:grid}.card-grid .card{margin-top:0}.tile-card{align-content:start;gap:.55rem;display:grid}.tile-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.55rem;display:flex}.tile-head>span:first-child{min-width:0}.tile-head strong{color:var(--text-primary);display:block}.tile-head small{overflow-wrap:anywhere;font-size:var(--text-2xs);margin-top:.15rem;display:block}.tile-foot{border-top:1px solid var(--border-subtle);font-size:var(--text-2xs);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;padding-top:.55rem;display:flex}.tile-foot small{overflow-wrap:anywhere;min-width:0}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(min(110px,100%),1fr));gap:.45rem;margin-top:.65rem;display:grid}.stat-tile{border:1px solid var(--border-subtle);background:var(--surface-3);border-radius:8px;justify-items:start;gap:.25rem;padding:.55rem .75rem;display:grid}.stat-tile strong{color:var(--text-primary);font-size:var(--text-md)}.option-grid{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:.5rem;margin-top:.65rem;display:grid}.workspace button.option-card{text-align:left;border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);cursor:pointer;border-radius:8px;gap:.3rem;padding:.65rem .85rem;display:grid}.workspace button.option-card:hover{border-color:var(--accent);background:var(--surface-3);filter:none;transform:none}.workspace button.option-card[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--accent)}.option-card small{color:var(--text-secondary);overflow-wrap:anywhere;font-size:var(--text-2xs)}.option-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;display:flex}.option-head strong{overflow-wrap:anywhere;min-width:0}.wizard-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;margin-top:.75rem;display:flex}@media (width<=700px){.workspace{padding:.5rem .75rem}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.kpi-card{padding:.55rem .75rem}.settings-layout{grid-template-columns:minmax(0,1fr);gap:.75rem}.settings-nav,.panel-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}.lista-grid .lista-fila{grid-template-columns:minmax(0,1fr)}.lista-fila.head{display:none}.lista-fila{padding:.55rem .75rem}.tabbar button{padding:.45rem .6rem}.environment-actions__primary,.environment-actions__secondary{align-items:stretch}.environment-actions__primary button{flex:min(130px,100%)}.workspace button.chip{min-height:44px}.project-workspace-shell{grid-template-columns:1fr;min-height:0}.project-workspace-shell .branch-sidebar{border-right:0;border-bottom:1px solid var(--border)}.project-console__header{grid-template-columns:minmax(0,1fr)}.project-console__header>.badge{justify-self:start}.project-console__body{grid-template-columns:1fr;min-height:0}.project-console__branches{border-right:0;border-bottom:1px solid var(--border)}.project-console__workbench{padding:0}.workspace:has(.project-console) .project-console{min-height:auto}.branch-workbench{padding:.75rem}.prototype-facts{grid-template-columns:1fr}.switch-row{align-items:flex-start}.dato{min-width:min(140px,100%)}.settings-content .card+.card{margin-top:.75rem}.odoo-projects-grid{grid-template-columns:minmax(0,1fr)}.odoo-project-card__footer{flex-direction:column;align-items:stretch;gap:.5rem}}.terminal-card{gap:.9rem;display:grid}.terminal-card .section-heading{align-items:flex-start}.terminal-modes{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.terminal-modes button{min-height:44px}.terminal-modes button[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--accent);font-weight:600}.terminal-commands{flex-wrap:wrap;gap:.5rem;display:flex}.terminal-commands button{min-height:44px}.terminal-box{overflow-wrap:anywhere;border:1px solid var(--border);background:var(--code-surface);border-radius:8px;min-height:220px;max-height:min(420px,60vh);padding:.35rem;overflow:auto}.terminal-box .xterm{overflow-wrap:normal}.odoo-terminal-output{color:#4ade80;font-family:var(--font-mono);font-size:var(--text-xs);margin:0;padding:.5rem}.odoo-logs-output{color:#c9d1d9;font-family:var(--font-mono);font-size:var(--text-xs);margin:0;padding:.5rem}.security-row{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.security-panel{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:1rem}.security-panel h3{color:var(--text-primary);font-size:var(--text-base);margin:0 0 .5rem}.security-form{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.security-form input,.security-panel>input{border:1px solid var(--border-strong);background:var(--field-surface);color:var(--text-primary);font:inherit;border-radius:8px;padding:.8rem}.security-form input:focus,.security-panel>input:focus{outline:2px solid var(--accent-on-dark);outline-offset:1px;border-color:var(--accent-on-dark)}.secret-box{flex-direction:column;gap:.5rem;display:flex}.secret-box code{overflow-wrap:anywhere;background:var(--code-surface);border:1px solid var(--code-border);color:var(--code-text);border-radius:6px;padding:.5rem}.security-actions{flex-wrap:wrap;gap:.75rem;display:flex}.security-panel>button{margin-top:.75rem}@media (width<=700px){.security-row{grid-template-columns:1fr}}.env-tiers-container{flex-direction:column;gap:.65rem;margin-top:.65rem;display:flex}.env-tier{border:1px solid var(--border);border-radius:8px;overflow:hidden}.env-tier__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.env-tier__title{font-size:var(--text-xs);align-items:center;gap:.45rem;display:flex}.env-tier__body{flex-direction:column;gap:.45rem;min-height:2.5rem;padding:.5rem .75rem;display:flex}.env-tier__empty{font-size:var(--text-xs);margin:0;padding:.35rem 0}.tier-production .env-tier__header{background:#0ec36814}.tier-staging .env-tier__header{background:#f5b92814}.tier-development .env-tier__header{background:#378cff14}.tier-production{border-color:#0ec36840}.tier-staging{border-color:#f5b92840}.tier-development{border-color:#378cff40}.env-tier-card{border:1px solid var(--border);background:#ffffff05;border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;gap:.65rem;padding:.45rem .65rem;display:grid}.env-tier-card__info{flex-direction:column;gap:.1rem;min-width:0;display:flex}.env-tier-card__info strong{font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.env-tier-card__info code{font-size:var(--text-2xs);background:#ffffff0f;border-radius:4px;padding:.05em .35em}.env-tier-card__info a{color:var(--accent);font-size:var(--text-2xs);text-decoration:none}.env-tier-card__info a:hover{text-decoration:underline}.env-tier-card__meta{flex-direction:column;align-items:flex-end;gap:.2rem;display:flex}button.small{font-size:var(--text-2xs);min-height:28px;padding:.25rem .55rem}.link-btn{color:var(--accent);cursor:pointer;font:inherit;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.env-nuevo-form{border:1px solid var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 8%, transparent)}@media (width<=640px){.env-tier-card{grid-template-columns:1fr}.env-tier-card__meta{align-items:flex-start}}.inline-branch-form{align-items:center;gap:.25rem;display:inline-flex}.inline-branch-input{font-size:var(--text-base);width:120px;padding:.1rem .35rem}.branch-action-btn{font-size:var(--text-2xs);min-height:unset;padding:.1rem .4rem}.edit-branch-btn{font-size:var(--text-2xs);margin-left:.3rem}.env-tier-card__actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.env-tier-card__workspace{color:var(--accent);font-size:var(--text-2xs);font-weight:700;text-decoration:none}.env-tier-card__workspace:hover,.env-tier-card__workspace:focus-visible{text-decoration:underline}.environment-quick-actions{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.4rem;display:flex}.quick-action-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text-primary);font-size:var(--text-2xs);cursor:pointer;border-radius:6px;align-items:center;gap:.25rem;padding:.28rem .6rem;font-weight:700;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.quick-action-btn:hover{background:var(--surface-3);border-color:var(--accent)}.quick-action-btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.quick-action-btn.primary:hover{background:var(--accent-bright)}.branch-meta-badge{font-size:var(--text-3xs);letter-spacing:.03em;text-transform:uppercase;background:var(--surface-3);color:var(--text-secondary);border-radius:4px;align-items:center;gap:.25rem;padding:.1rem .35rem;font-weight:800;display:inline-flex}.branch-meta-badge.prod{color:var(--success);background:#0ec36826}.branch-meta-badge.stage{color:var(--warning);background:#f5b92826}.branch-meta-badge.dev{color:#4db8ff;background:#378cff26}.jupyter-panel{gap:.65rem;display:grid}.jupyter-hero-card{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;padding:.75rem .95rem}.jupyter-sandbox-box{border:1px solid var(--border);background:var(--code-surface);color:var(--code-text);text-align:center;border-radius:6px;align-content:center;justify-items:center;gap:.5rem;min-height:140px;padding:.75rem;display:grid}.jupyter-sandbox-box p{max-width:55ch;color:var(--text-muted);font-size:var(--text-xs);margin:0}.jupyter-info-grid{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:.45rem;margin-top:.45rem;display:grid}.jupyter-info-grid>div{border:1px solid var(--border-subtle);background:var(--surface-1);border-radius:6px;padding:.55rem .75rem}.jupyter-info-grid strong{color:var(--text-primary);font-size:var(--text-xs);margin-bottom:.15rem;display:block}.jupyter-info-grid small{color:var(--text-muted);font-size:var(--text-2xs)}@media (width<=700px){.quick-action-btn,.jupyter-sandbox-box button{min-height:44px}}.project-branch-card[draggable=true]{cursor:grab}.project-branch-card[draggable=true]:active{cursor:grabbing}.project-branch-card.is-dragging{opacity:.45;transform:scale(.98)}.workspace button.project-branch-card.project-branch-card--drop-target{outline:2px dashed var(--accent-on-dark);outline-offset:4px;background:color-mix(in srgb, var(--accent-on-dark) 14%, var(--rail-surface));border-radius:8px;transition:outline .15s,background .15s}.promotion-modal-backdrop{z-index:1000;background:#000000a6;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.promotion-modal{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;gap:.85rem;width:100%;max-width:520px;padding:1.15rem;display:grid;box-shadow:0 16px 40px #00000059}.promotion-modal__header{justify-content:space-between;align-items:center;display:flex}.promotion-modal__title{font-size:var(--text-md);color:var(--text-primary);margin:0;font-weight:700}.promotion-preflight-box{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;gap:.5rem;padding:.75rem;display:grid}.promotion-preflight-item{font-size:var(--text-xs);align-items:flex-start;gap:.6rem;display:flex}.promotion-preflight-item>div{min-width:0}.promotion-preflight-item__icon{text-align:center;width:18px;color:var(--text-muted);flex:none;font-weight:800}.promotion-preflight-item__icon.success{color:var(--success)}.promotion-preflight-item__icon.warning{color:var(--warning)}.promotion-preflight-item__icon.danger{color:var(--danger)}.promotion-preflight-item__detail{gap:.15rem;margin:.2rem 0 0;padding:0;list-style:none;display:grid}.promotion-preflight-item__detail li{color:var(--text-muted);font-size:var(--text-2xs)}.promotion-actions{justify-content:flex-end;gap:.5rem;display:flex}.promotion-actions button{min-height:44px;font-size:var(--text-xs);padding:0 1rem;font-weight:600}.code-editor-layout{border:1px solid var(--border);background:var(--surface-1);border-radius:8px;grid-template-columns:220px 1fr;min-height:440px;display:grid;overflow:hidden}@media (width<=800px){.code-editor-layout{grid-template-columns:1fr}}.code-editor-sidebar{border-right:1px solid var(--border);background:var(--surface-2);flex-direction:column;display:flex}.code-editor-sidebar__header{font-size:var(--text-2xs);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);padding:.5rem .75rem;font-weight:700}.code-editor-tree{flex-direction:column;gap:.1rem;padding:.35rem;display:flex;overflow-y:auto}.code-editor-tree__item{width:100%;min-height:34px;color:var(--text-primary);text-align:left;font-size:var(--text-xs);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:.4rem;padding:.35rem .55rem;font-family:inherit;display:flex}.code-editor-tree__item:hover{background:var(--surface-3)}.code-editor-tree__item.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-bright);font-weight:600}.code-editor-tree__depth-0{padding-left:0}.code-editor-tree__depth-1{padding-left:.65rem}.code-editor-tree__depth-2{padding-left:1.25rem}.code-editor-tree__depth-3{padding-left:1.85rem}.code-editor-tree__item--dir{color:var(--text-secondary);font-weight:600}.code-editor-main{background:var(--surface-1);flex-direction:column;display:flex}.code-editor-toolbar{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;padding:.4rem .75rem;display:flex}.code-editor-file-info{font-size:var(--text-xs);color:var(--text-primary);align-items:center;gap:.5rem;font-weight:600;display:flex}.code-editor-unsaved-dot{background:var(--warning);border-radius:50%;width:7px;height:7px;display:inline-block}.code-editor-toolbar__actions{gap:.4rem;display:flex}.code-editor-toolbar__actions button{min-height:36px;font-size:var(--text-xs);padding:0 .75rem}.code-editor-textarea{background:var(--code-surface);width:100%;min-height:380px;color:var(--code-text);font-family:var(--font-mono);font-size:var(--text-2xs);tab-size:4;resize:vertical;box-sizing:border-box;border:none;outline:none;flex:1;padding:.65rem .75rem;line-height:1.5}.code-editor-textarea:focus{background:var(--code-surface)}.code-editor-status{font-size:var(--text-2xs);color:var(--text-muted);border-top:1px solid var(--border);background:var(--surface-2);justify-content:space-between;padding:.25rem .75rem;display:flex}.code-editor-blocked{text-align:center;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;place-items:center;gap:.65rem;padding:1.5rem 1rem;display:grid}.code-editor-blocked p{max-width:55ch;color:var(--text-secondary);font-size:var(--text-xs);margin:0}.cicd-config-card{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;gap:.65rem;padding:.85rem 1rem;display:grid}.cicd-webhook-url-box{align-items:stretch;gap:.45rem;display:flex}.cicd-webhook-url-box input{min-height:40px;font-family:var(--font-mono);font-size:var(--text-base);background:var(--surface-1);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;flex:1;padding:.4rem .65rem}.cicd-webhook-url-box button{min-height:40px;font-size:var(--text-xs);white-space:nowrap;padding:0 .85rem}.branch-meta-badge.cicd{color:var(--accent-bright);background:#6366f126}.cicd-toggle-row{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.cicd-toggle-row label{cursor:pointer;min-height:38px;font-size:var(--text-xs);align-items:center;gap:.65rem;display:flex}.cicd-instructions{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}.check-row-split{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.check-row-col{flex-direction:column;flex:auto;gap:.25rem;min-width:240px;display:flex}.row-inline-tags,.row-actions-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.secret-box-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:.5rem 0;padding:.75rem 1rem;display:flex}.secret-code-text{font-size:var(--text-xs);word-break:break-all}.checkbox-options-group{flex-wrap:wrap;gap:1.5rem;margin-top:.5rem;display:flex}.checkbox-inline-label{cursor:pointer;align-items:center;gap:.4rem;display:inline-flex}.form-actions-bar{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.text-bold{font-weight:600}.text-zero-margin{margin:0}.mt-space{margin-top:.75rem}
