:root{color:#162235;font-synthesis:none;--navy:#14203c;--blue:#001e6b;--cyan:#01c4b3;--line:#dbe4ef;--muted:#69707a;--direct:#01c4b3;--transversal:#2563eb;--expansion:#ea580c;--pool:#475569;background:#f3f6fa;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Segoe UI,Arial,sans-serif}.muted{color:var(--muted)}.eyebrow{letter-spacing:.13em;color:#16718a;margin-bottom:.5rem;font-size:.72rem;font-weight:700}.primary,.ghost{border:0;border-radius:10px;padding:.72rem 1rem;font-weight:700}.primary{background:var(--blue);color:#fff;box-shadow:0 5px 14px #1565d833}.primary:hover{background:#0f57bd}.primary:disabled{opacity:.55;cursor:not-allowed}.ghost{border:1px solid var(--line);color:#30435e;background:#fff}.full{width:100%}.brand-mark{background:linear-gradient(145deg, var(--blue), var(--cyan));color:#fff;border-radius:15px;place-items:center;width:52px;height:52px;font:700 1.1rem Segoe UI;display:grid;box-shadow:0 8px 24px #1565d83b}.brand-mark.small{border-radius:11px;width:38px;height:38px;font-size:.8rem}.login-shell,.loading-screen,.empty-state{background:radial-gradient(circle at 15% 10%,#dff6fb,#0000 35%),linear-gradient(145deg,#f6f9fc,#e9eff7);place-items:center;min-height:100vh;display:grid}.login-card{background:#ffffffed;border:1px solid #fff;border-radius:24px;width:min(430px,100vw - 2rem);padding:2.7rem;box-shadow:0 30px 80px #263b591c}.login-card .brand-mark{margin-bottom:1.8rem}.login-card h1{margin-bottom:.65rem;font-size:2rem}.login-card form{gap:1rem;margin:1.8rem 0;display:grid}.login-card label,.toolbar label{color:#53637a;gap:.42rem;font-size:.78rem;font-weight:700;display:grid}.login-card input,.toolbar select{color:#17243a;background:#fff;border:1px solid #cfd9e6;border-radius:10px;width:100%;padding:.8rem .9rem}.login-card input:focus,.toolbar select:focus{border-color:var(--blue);outline:3px solid #1565d820}.login-card small{text-align:center;color:#8290a2;display:block}.error{color:#ad2d3f}.app-shell{background:#f8fafc;flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--navy);color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 1.5rem;display:flex}.brand{align-items:center;gap:.75rem;display:flex}.brand>div:last-child{display:grid}.brand span{color:#aab8ca;letter-spacing:.09em;text-transform:uppercase;font-size:.67rem}.top-actions{align-items:center;gap:.8rem;display:flex}.role-badge{letter-spacing:.08em;background:#ffffff16;border:1px solid #ffffff20;border-radius:999px;padding:.42rem .62rem;font-size:.67rem}.small-button{color:#fff;background:#ffffff0f;border-color:#ffffff20;padding:.45rem .65rem}.toolbar{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:.9rem 1.4rem;min-height:auto;padding:.85rem 1.5rem;display:flex}.toolbar-header-block{flex-direction:column;display:flex}.toolbar-header-block h1{color:var(--navy);margin:0;font-size:1.35rem}.toolbar-header-block p{margin:0}.toolbar-controls-grid{flex-wrap:wrap;flex:1;align-items:center;gap:.8rem;display:flex}.toolbar-controls-grid label{color:#53637a;flex-direction:column;gap:.25rem;min-width:140px;font-size:.72rem;font-weight:700;display:flex}.toolbar-controls-grid select,.toolbar-controls-grid input{background:#fff;border:1px solid #cfd9e6;border-radius:8px;padding:.42rem .65rem;font-size:.8rem}.role-select-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.plan-status-legend{white-space:nowrap;gap:.55rem;font-size:.62rem;font-weight:600;display:flex}.plan-status-legend span{align-items:center;gap:.2rem;display:inline-flex}.plan-status-dot{border-radius:50%;width:7px;height:7px}.plan-status-dot.ready{background:#22c55e}.plan-status-dot.pending{background:#eab308}.toolbar-controls-grid select.plan-ready,.toolbar-controls-grid option.plan-ready{background-color:#dcfce7}.toolbar-controls-grid select.plan-pending,.toolbar-controls-grid option.plan-pending{background-color:#fef9c3}.toolbar-actions-block{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.action-btn{white-space:nowrap;padding:.42rem .75rem;font-size:.78rem;font-weight:700}.workspace{background-color:#f5f8fb;background-image:linear-gradient(#dbe4ef55 1px,#0000 1px),linear-gradient(90deg,#dbe4ef55 1px,#0000 1px);background-size:30px 30px;flex-direction:column;flex:1;align-items:stretch;padding:1rem 1.5rem;display:flex;position:relative;overflow-y:auto}.lattice-legend-ribbon{background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;padding:.65rem 1.2rem;display:flex;box-shadow:0 2px 8px #0f172a0a}.legend-items-wrap{flex-wrap:wrap;align-items:center;gap:1.2rem;display:flex}.legend-title{color:#64748b;letter-spacing:.06em;font-size:.66rem;font-weight:800}.legend-item{color:#334155;align-items:center;gap:.4rem;font-size:.74rem;display:flex}.legend-item b{color:#0f172a}.dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.dot.direct{background:var(--direct)}.dot.transversal{background:var(--transversal)}.dot.expansion{background:var(--expansion)}.dot.strategic_pool{background:var(--pool)}.cartesian-lattice-board{flex-direction:column;gap:1.5rem;width:100%;padding:.5rem 0 2rem;display:flex}.destination-hero-card{color:#fff;background:linear-gradient(135deg,#0b2545 0%,#134074 60%,#1e5287 100%);border:1px solid #ffffff26;border-radius:16px;flex-direction:column;gap:.8rem;padding:1.4rem 1.8rem;display:flex;box-shadow:0 12px 30px #0b254538}.dest-hero-badge-wrap{align-items:center;gap:.6rem;display:flex}.dest-hero-tag{letter-spacing:.1em;color:#93c5fd;background:#93c5fd33;border:1px solid #93c5fd59;border-radius:99px;padding:.25rem .6rem;font-size:.64rem;font-weight:800}.dest-hero-rank{color:#fef08a;background:#fef08a26;border-radius:99px;padding:.2rem .5rem;font-size:.68rem;font-weight:700}.dest-hero-body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2rem;display:flex}.dest-hero-main{flex-direction:column;gap:.25rem;display:flex}.dest-hero-job-id{color:#bfdbfe;letter-spacing:.05em;font-size:.78rem;font-weight:700}.dest-hero-title{color:#fff;margin:0;font-size:1.25rem;font-weight:800;line-height:1.25}.dest-hero-meta-tags{flex-wrap:wrap;gap:.6rem;display:flex}.meta-pill{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff2e;border-radius:10px;flex-direction:column;gap:1px;padding:.4rem .8rem;display:flex}.meta-pill-label{text-transform:uppercase;color:#93c5fd;letter-spacing:.06em;font-size:.58rem;font-weight:700}.meta-pill strong{color:#fff;font-size:.82rem}.cartesian-container{background:#fff;border:1px solid #e2e8f0;border-radius:16px;align-items:stretch;gap:1.2rem;min-height:520px;max-height:calc(100vh - 290px);padding:1.2rem 1.5rem;display:flex;overflow:hidden auto;box-shadow:0 4px 18px #0f172a0a}.scroll-ascensor::-webkit-scrollbar{width:10px;height:10px}.scroll-ascensor::-webkit-scrollbar-track{background:#f1f5f9;border-radius:6px}.scroll-ascensor::-webkit-scrollbar-thumb{background:#94a3b8;border:2px solid #f1f5f9;border-radius:6px}.scroll-ascensor::-webkit-scrollbar-thumb:hover{background:#64748b}.score-legend-sidebar{z-index:10;background:#fff;border-right:2px dashed #cbd5e1;flex-direction:column;flex-shrink:0;align-self:flex-start;gap:.8rem;width:175px;min-width:175px;padding-right:.9rem;display:flex;position:sticky;top:0}.score-legend-header{border-bottom:1px solid #e2e8f0;flex-direction:column;gap:3px;padding:.4rem 0 .6rem;display:flex}.score-legend-header-row{justify-content:space-between;align-items:center;gap:.3rem;display:flex}.score-legend-title{color:var(--blue);letter-spacing:.05em;font-size:.68rem;font-weight:800}.score-legend-reset-link{color:#2563eb;cursor:pointer;background:#eff6ff;border:none;border-radius:4px;padding:.1rem .3rem;font-size:.62rem;font-weight:700;transition:all .15s}.score-legend-reset-link:hover{color:#1d4ed8;background:#dbeafe}.score-legend-subtitle{color:#64748b;font-size:.62rem;font-weight:500}.score-legend-list{flex-direction:column;gap:.6rem;display:flex}.score-legend-card{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.2rem;padding:.55rem .65rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.score-legend-card:hover{background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px);box-shadow:0 4px 12px #0f172a0f}.score-legend-card.is-active{border-left:3.5px solid #2563eb}.score-legend-card.is-excluded{opacity:.42;filter:grayscale(.85);box-shadow:none;background:#f1f5f9;border:1.5px dashed #cbd5e1}.score-legend-card.is-excluded:hover{opacity:.75;filter:grayscale(.2);background:#fff}.score-legend-card.is-excluded .score-legend-desc{color:#94a3b8;text-decoration:line-through}.score-legend-card-top{align-items:center;gap:.45rem;display:flex}.score-legend-card-top strong{color:#0f172a;font-size:.82rem}.score-filter-status{color:#16a34a;background:#dcfce7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:17px;height:17px;margin-left:auto;font-size:.72rem;font-weight:800;line-height:1;display:inline-flex}.score-legend-card.is-excluded .score-filter-status{color:#64748b;background:#e2e8f0;font-size:.65rem}.score-legend-desc{color:#64748b;padding-left:1.1rem;font-size:.64rem;font-weight:600}.score-dot-icon{border-radius:50%;flex-shrink:0;width:10px;height:10px}.score-dot-mini{border-radius:50%;flex-shrink:0;width:7px;height:7px}.dot-score-emerald{background:#10b981;box-shadow:0 0 0 2px #ecfdf5}.dot-score-blue{background:#0284c7;box-shadow:0 0 0 2px #f0f9ff}.dot-score-amber{background:#f59e0b;box-shadow:0 0 0 2px #fffbeb}.dot-score-purple{background:#8b5cf6;box-shadow:0 0 0 2px #f5f3ff}.fcard-score-pill{border:1px solid;border-radius:8px;align-items:center;gap:.35rem;padding:.18rem .5rem;font-size:.82rem;font-weight:800;display:flex}.score-pill-emerald{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.score-pill-blue{color:#0369a1;background:#f0f9ff;border-color:#bae6fd}.score-pill-amber{color:#92400e;background:#fffbeb;border-color:#fde68a}.score-pill-purple{color:#5b21b6;background:#f5f3ff;border-color:#ddd6fe}.fcard-progress-bar.score-pill-emerald{background:#10b981}.fcard-progress-bar.score-pill-blue{background:#0284c7}.fcard-progress-bar.score-pill-amber{background:#f59e0b}.fcard-progress-bar.score-pill-purple{background:#8b5cf6}.cartesian-grid-wrapper{flex-direction:column;flex:1;gap:.6rem;min-width:0;display:flex}.cartesian-top-scroll-container{z-index:20;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:.6rem;padding:.4rem .75rem;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0f172a0d}.top-scroll-hint{color:#475569;white-space:nowrap;letter-spacing:.02em;align-items:center;gap:.35rem;font-size:.68rem;font-weight:700;display:flex}.top-scroll-hint-icon{color:#2563eb;font-size:.85rem;font-weight:800}.top-scroll-btn{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding-bottom:2px;font-size:1.15rem;font-weight:800;line-height:1;transition:all .15s;display:flex}.top-scroll-btn:hover{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 2px 6px #2563eb33}.top-horizontal-scrollbar{scrollbar-width:thin;scrollbar-color:#3b82f6 #e2e8f0;flex:1;height:14px;overflow:auto hidden}.top-horizontal-scrollbar::-webkit-scrollbar{height:8px}.top-horizontal-scrollbar::-webkit-scrollbar-track{background:#e2e8f0;border-radius:99px}.top-horizontal-scrollbar::-webkit-scrollbar-thumb{background:#3b82f6;border:1px solid #e2e8f0;border-radius:99px}.top-horizontal-scrollbar::-webkit-scrollbar-thumb:hover{background:#1d4ed8}.cartesian-columns-scroll-area{flex:1;padding-bottom:.6rem;overflow:auto visible}.cartesian-columns-grid{align-items:flex-start;gap:1.25rem;width:max-content;min-width:100%;display:flex}.family-column{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;flex:1;gap:.6rem;min-width:280px;max-width:360px;padding:.9rem;transition:all .2s;display:flex}.family-column.is-target-family{background:#f0f7ff;border:2px solid #3b82f666;box-shadow:0 6px 20px #3b82f614}.family-col-header{border-bottom:1px solid #e2e8f0;flex-direction:column;gap:.3rem;padding-bottom:.5rem;display:flex}.family-col-tag-row{justify-content:space-between;align-items:center;display:flex}.family-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:99px;padding:.15rem .45rem;font-size:.58rem;font-weight:800}.badge-target{color:#1d4ed8;background:#2563eb18}.badge-external{color:#475569;background:#e2e8f0}.family-count-badge{color:#64748b;font-size:.64rem;font-weight:700}.family-col-name{color:#1e293b;margin:0;font-size:.88rem;font-weight:700;line-height:1.25}.family-cards-compact-stack{flex-direction:column;gap:.75rem;padding-top:.2rem;display:flex}.doc-status-select{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.25rem .5rem;font-size:.76rem;font-weight:700}.workspace-loading-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:30;background:#f8fafce0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;animation:.15s ease-out fadeIn;display:flex;position:absolute;inset:0}.workspace-spinner{border:4px solid #e2e8f0;border-top:4px solid var(--blue);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.workspace-loading-text{text-align:center;flex-direction:column;align-items:center;gap:.25rem;display:flex}.workspace-loading-text strong{color:var(--navy);font-size:1rem}.workspace-loading-text span{color:#64748b;max-width:400px;font-size:.82rem}.feeder-cartesian-card{cursor:pointer;text-align:left;background:#fff;border:2px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:.45rem;padding:.8rem .9rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 3px 10px #0f172a0a}.feeder-cartesian-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0f172a1a}.feeder-cartesian-card.selected{border-color:#2563eb;transform:translateY(-2px);box-shadow:0 0 0 3px #2563eb33}.feeder-cartesian-card.direct{border-left:5px solid var(--direct)}.feeder-cartesian-card.transversal{border-left:5px solid var(--transversal)}.feeder-cartesian-card.expansion{border-left:5px solid var(--expansion)}.feeder-cartesian-card.strategic_pool{border-left:5px solid var(--pool)}.fcard-header{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.fcard-level-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:99px;padding:.12rem .45rem;font-size:.58rem;font-weight:800}.fcard-level-pill.direct{color:#007a6f;background:#d7f0ee;border:1px solid #01c4b388}.fcard-level-pill.transversal{color:#1d4ed8;background:#eff6ff;border:1px solid #93c5fd}.fcard-level-pill.expansion{color:#c2410c;background:#fff7ed;border:1px solid #fdba74}.fcard-level-pill.strategic_pool{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1}.fcard-job-id{color:#64748b;font-size:.68rem;font-weight:700}.fcard-score-badge{color:#0b2545;font-size:.88rem;font-weight:800}.fcard-title{color:#1e293b;margin:0;font-size:.8rem;font-weight:700;line-height:1.25}.fcard-organ-line{align-items:center;max-width:100%;margin:.05rem 0 .1rem;display:flex}.fcard-badges-row{flex-wrap:wrap;align-items:center;gap:.35rem;max-width:100%;margin:.08rem 0 .12rem;display:flex}.fcard-organ-badge{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;align-items:center;gap:.3rem;max-width:100%;padding:.12rem .4rem;font-size:.64rem;font-weight:600;display:inline-flex}.fcard-risk-pill{white-space:nowrap;letter-spacing:.02em;border:1px solid #0000;border-radius:99px;align-items:center;gap:.3rem;padding:.12rem .48rem;font-size:.62rem;font-weight:700;line-height:1.2;display:inline-flex}.fcard-risk-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.fcard-risk-pill.risk-low,.fcard-risk-pill.risk-bajo{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.fcard-risk-dot.risk-low,.fcard-risk-dot.risk-bajo{background:#10b981;box-shadow:0 0 0 2px #10b98140}.fcard-risk-pill.risk-medium,.fcard-risk-pill.risk-medio{color:#854d0e;background:#fefce8;border-color:#fef08a}.fcard-risk-dot.risk-medium,.fcard-risk-dot.risk-medio{background:#eab308;box-shadow:0 0 0 2px #eab30840}.fcard-risk-pill.risk-medium_high,.fcard-risk-pill.risk-medio_alto,.fcard-risk-pill.risk-medio-alto{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.fcard-risk-dot.risk-medium_high,.fcard-risk-dot.risk-medio_alto,.fcard-risk-dot.risk-medio-alto{background:#f97316;box-shadow:0 0 0 2px #f9731640}.fcard-risk-pill.risk-high,.fcard-risk-pill.risk-alto{color:#991b1b;background:#fef2f2;border-color:#fecaca}.fcard-risk-dot.risk-high,.fcard-risk-dot.risk-alto{background:#ef4444;box-shadow:0 0 0 2px #ef444440}.fcard-organ-badge.same-organ{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.fcard-organ-icon{flex-shrink:0;font-size:.65rem;line-height:1}.fcard-organ-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fcard-meta-line{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.66rem;overflow:hidden}.fcard-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:.6rem;padding-top:.35rem;display:flex}.fcard-hay{color:#64748b;white-space:nowrap;font-size:.66rem}.fcard-hay i{color:#94a3b8;font-style:normal}.fcard-progress-mini{background:#e2e8f0;border-radius:99px;flex:1;max-width:90px;height:5px;overflow:hidden}.fcard-progress-bar{border-radius:99px;height:100%}.fcard-progress-bar.direct{background:var(--direct)}.fcard-progress-bar.transversal{background:var(--transversal)}.fcard-progress-bar.expansion{background:var(--expansion)}.fcard-progress-bar.strategic_pool{background:var(--pool)}.axis-x-indicator{border-top:2px solid #cbd5e1;flex-direction:column;gap:.4rem;padding-top:.5rem;display:flex}.axis-x-labels{color:#64748b;justify-content:space-between;font-size:.68rem;font-weight:700;display:flex}.axis-x-label-center{color:var(--blue);letter-spacing:.05em;font-weight:800}.empty-family-column{text-align:center;color:#94a3b8;padding:1.5rem .5rem;font-size:.75rem}.empty-lattice-msg{text-align:center;color:var(--muted);padding:2rem}.feeder-meta-grid{grid-template-columns:1fr;gap:.5rem;margin:1.2rem 0;display:grid}.meta-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:2px;padding:.55rem .8rem;display:flex}.meta-card-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.62rem;font-weight:700}.meta-card-value{color:#1e293b;font-size:.8rem;font-weight:600}.badge-intra-organ{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge-inter-organ{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.drawer{z-index:20;border-left:1px solid var(--line);background:#fff;width:min(440px,94vw);padding:2rem;animation:.2s slide;position:fixed;top:64px;bottom:0;right:0;overflow-y:auto;box-shadow:-18px 0 50px #14294224}.drawer-close{position:absolute;top:1rem;right:1rem}.icon-button{border:1px solid var(--line);color:#607089;background:#fff;border-radius:50%;width:34px;height:34px;font-size:1.35rem}.drawer h2{padding-right:2rem}.drawer h3{margin-top:1.6rem;font-size:.82rem}.code-line{color:var(--muted);font-size:.78rem}.score-hero{color:#174f91;background:#eff6ff;border-radius:14px;align-items:baseline;gap:.6rem;margin:1.3rem 0;padding:1.1rem;display:flex}.score-hero strong{font:700 2.2rem Segoe UI}.score-list{gap:.85rem;display:grid}.score-list label{justify-content:space-between;font-size:.73rem;display:flex}.score-list progress{width:100%;height:7px;accent-color:var(--blue)}.risk{background:#edf2f7;border-radius:99px;margin-top:1.2rem;padding:.4rem .65rem;font-size:.68rem;font-weight:700;display:inline-block}.risk-low,.risk-bajo{color:#087a55;background:#e5f7ef}.risk-medium,.risk-medio{color:#8a5a05;background:#fff3d9}.risk-medium_high,.risk-medio_alto,.risk-medio-alto{color:#c2410c;background:#ffedd5}.risk-high,.risk-alto{color:#a12c48;background:#fde7ed}.rationale{color:#334155;font-size:.85rem;line-height:1.6}.markdown-box{background:linear-gradient(#f8fafc 0%,#fff 100%);border:1px solid #e2e8f0;border-left:3.5px solid #2563eb;border-radius:10px;margin-top:.4rem;margin-bottom:1rem;padding:.9rem 1.1rem;box-shadow:0 1px 3px #00000008}.markdown-box .md-paragraph{color:#334155;margin:0 0 .65rem;font-size:.84rem;line-height:1.62}.markdown-box .md-paragraph:last-child{margin-bottom:0}.markdown-box .md-bold{color:#0f172a;font-weight:700}.markdown-box .md-italic{color:#475569;font-style:italic}.markdown-box .md-heading{margin:.85rem 0 .35rem;font-weight:700;line-height:1.35}.markdown-box .md-heading.md-h2{color:#0f172a;border-bottom:1px solid #e2e8f0;padding-bottom:.25rem;font-size:.92rem}.markdown-box .md-heading.md-h3{color:#1d4ed8;letter-spacing:.02em;text-transform:uppercase;font-size:.82rem}.markdown-box .md-heading.md-h4{color:#475569;font-size:.8rem}.markdown-box .md-list-item{color:#334155;align-items:flex-start;gap:.45rem;margin-bottom:.35rem;font-size:.83rem;line-height:1.5;display:flex}.markdown-box .md-list-item:last-child{margin-bottom:0}.markdown-box .md-bullet{color:#2563eb;-webkit-user-select:none;user-select:none;font-weight:700;line-height:1.3}.markdown-box .md-list-content{flex:1}.markdown-box .md-divider{border:none;border-top:1px solid #e2e8f0;margin:.75rem 0}.pills{flex-wrap:wrap;gap:.4rem;display:flex}.pills span{color:#245a96;background:#e9f3ff;border-radius:99px;padding:.35rem .55rem;font-size:.67rem}.pills.gaps span{color:#8b5c12;background:#fff1dc}.alerts{color:#9f3448;padding-left:1.2rem;font-size:.75rem}.modal-backdrop{z-index:30;background:#07111f99;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.config-panel{background:#fff;border-radius:20px;width:min(600px,96vw);padding:2rem;position:relative;box-shadow:0 30px 90px #0005}.slider{gap:.5rem;margin:1.1rem 0;display:grid}.slider span{justify-content:space-between;font-size:.8rem;display:flex}.slider input{width:100%;accent-color:var(--blue)}.weight-ok{color:#087a55}.modal-actions{justify-content:flex-end;gap:.7rem;margin-top:1.5rem;display:flex}.empty-state{text-align:center;flex-direction:column;padding:2rem;display:flex}.empty-state .brand-mark{margin-bottom:1.5rem}.empty-state p{max-width:540px;color:var(--muted)}.link-button{color:var(--blue);background:0 0;border:0;margin-top:1rem}.empty-canvas{text-align:center;color:var(--muted)}.toast{z-index:50;background:#fff;border-radius:10px;padding:.8rem 1rem;position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 12px 35px #0002}.toast button{background:0 0;border:0;margin-left:1rem}.admin-screen{background:#f3f6fa;min-height:100vh;padding-bottom:3rem}.admin-header{color:#fff;background:var(--navy);justify-content:space-between;align-items:center;gap:1rem;min-height:96px;padding:1.35rem clamp(1rem,4vw,3.5rem);display:flex}.admin-header h1,.admin-header p{margin:0}.admin-tabs{border-bottom:1px solid var(--line);background:#fff;gap:.25rem;padding:0 clamp(1rem,4vw,3.5rem);display:flex}.admin-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:1rem 1.15rem;font-weight:700}.admin-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.company-picker{width:min(520px,100% - 2rem);color:var(--muted);gap:.4rem;margin:1.25rem clamp(1rem,4vw,3.5rem) 0;font-size:.78rem;font-weight:700;display:grid}.company-picker select,.form-grid input,.form-grid select,.form-grid textarea{color:#17243a;background:#fff;border:1px solid #cfd9e6;border-radius:9px;width:100%;padding:.72rem .8rem}.form-grid textarea{resize:vertical;min-height:78px}.admin-grid,.admin-stack{width:min(1480px,100% - 2rem);margin:1.25rem auto}.admin-grid{grid-template-columns:minmax(300px,.72fr) minmax(540px,1.7fr);align-items:start;gap:1.25rem;display:grid}.admin-grid.compact{grid-template-columns:repeat(2,minmax(320px,1fr))}.admin-stack{gap:1.25rem;display:grid}.admin-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:1.35rem;box-shadow:0 10px 32px #18314c0b}.admin-card h2{margin-bottom:1rem;font-size:1.05rem}.form-grid{gap:.9rem;display:grid}.form-grid label{color:#53637a;gap:.35rem;font-size:.76rem;font-weight:700;display:grid}.form-grid label.check,.check{color:#53637a;align-items:center;gap:.45rem;font-size:.75rem;display:flex}.form-grid label.check input,.check input{width:auto}.form-actions{justify-content:flex-end;gap:.65rem;display:flex}.table-card{min-width:0}.table-scroll{overflow:auto}.table-card table{border-collapse:collapse;width:100%;font-size:.78rem}.table-card th,.table-card td{text-align:left;vertical-align:top;border-bottom:1px solid #e9eef4;padding:.72rem}.table-card th{color:#607089;letter-spacing:.04em;text-transform:uppercase;background:#f7f9fc;font-size:.68rem}.table-card td small{color:var(--muted);margin-top:.2rem;display:block}.table-action{color:var(--blue);background:0 0;border:0;margin:0 .35rem .25rem 0;padding:0;font-size:.72rem;font-weight:700;text-decoration:none;display:inline-block}.table-action.danger{color:#ad2d3f}.status{border-radius:99px;padding:.25rem .48rem;font-size:.68rem;font-weight:700}.status.active{color:#087a55;background:#e5f7ef}.status.inactive{color:#7c4b55;background:#f4e8eb}.admin-message{background:#fff;border-radius:10px;width:min(1480px,100% - 2rem);margin:1rem auto 0;padding:.8rem 1rem}.admin-message.success{color:#087a55;background:#effbf6;border:1px solid #bce8d5}.type-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;display:grid}.type-list>div{border:1px solid var(--line);border-radius:10px;grid-template-columns:auto 1fr;gap:.45rem .7rem;padding:.8rem;display:grid}.type-list span{color:var(--muted);font-size:.78rem}.download-button{text-align:center;text-decoration:none;display:inline-block}.template-downloads{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.import-report{color:#40536c;background:#f2f7fd;border-radius:10px;gap:.35rem;padding:.85rem;font-size:.75rem;display:grid}.import-progress{color:#40536c;background:#f2f7fd;border:1px solid #c8dcf5;border-radius:10px;gap:.45rem;padding:.85rem;font-size:.75rem;display:grid}.import-progress>div{justify-content:space-between;gap:1rem;display:flex}.import-progress progress{width:100%;height:.65rem;accent-color:var(--blue)}.import-warning{color:#7a4b00;background:#fff3d9;border-radius:8px;padding:.55rem}.count{color:var(--muted);font-weight:500}@keyframes slide{0%{transform:translate(100%)}to{transform:none}}@media (width<=1000px){.admin-grid,.admin-grid.compact{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr 1fr}.toolbar>div,.role-search{grid-column:span 2}.workspace{height:auto;min-height:760px}.orbit-stage{width:82vw}.legend{top:auto;bottom:1rem}.feeder-node{width:105px}.drawer{top:0}}@media (width<=700px){.template-downloads{grid-template-columns:1fr}}@media (width<=640px){.admin-header{flex-direction:column;align-items:flex-start}.admin-tabs{overflow-x:auto}.topbar{padding:0 .8rem}.role-badge{display:none}.toolbar{flex-direction:column;align-items:stretch;display:flex}.workspace{min-height:680px}.orbit-stage{width:98vw}.destination-node{width:125px;min-height:105px}.feeder-node{width:88px;padding:.35rem}.feeder-node strong{font-size:.58rem}.legend{display:none}.login-card{padding:1.6rem}.drawer{padding:1.4rem}}.role-search-group{flex-direction:column;gap:.35rem;display:flex}.role-filter-input,.cargo-search-input{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:8px;outline:none;padding:.45rem .75rem;font-size:.85rem;transition:border-color .2s,box-shadow .2s}.role-filter-input:focus,.cargo-search-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1565d826}.table-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.table-header-row h2{margin:0}.cargo-search-input{min-width:280px}.pagination-controls{color:var(--muted);justify-content:space-between;align-items:center;padding:.6rem .2rem;font-size:.85rem;display:flex}.pagination-buttons{gap:.4rem;display:flex}.pagination-buttons button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:.3rem .65rem;font-size:.8rem}.pagination-buttons button:disabled{opacity:.4;cursor:not-allowed}.engine-progress-panel{border-bottom:1px solid var(--line);background:#fff;padding:.75rem 2rem;animation:.25s ease-out fadeIn;box-shadow:0 2px 8px #0b172a0d}.engine-progress-info{color:var(--navy);justify-content:space-between;align-items:center;margin-bottom:.4rem;font-size:.88rem;display:flex}.engine-progress-label{align-items:center;gap:.5rem;display:flex}.spinner-dot{background:var(--blue);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse-dot;box-shadow:0 0 #1565d8b3}@keyframes pulse-dot{0%{transform:scale(.95);box-shadow:0 0 #1565d8b3}70%{transform:scale(1.1);box-shadow:0 0 0 8px #1565d800}to{transform:scale(.95);box-shadow:0 0 #1565d800}}.engine-progress-pct{color:var(--blue);font-size:.92rem;font-weight:700}.engine-progress-bar{background:#e8eef6;border-radius:999px;width:100%;height:8px;overflow:hidden}.engine-progress-fill{background:linear-gradient(90deg, var(--blue), var(--cyan));border-radius:999px;height:100%;transition:width .35s ease-in-out}.batch-running-panel{background:#f0f7ff;border-bottom:2px solid #3b82f6}.batch-completed-panel{background:#f0fdf4;border-bottom:2px solid #22c55e}.batch-warning-panel{color:#92400e!important;background:#fffbeb!important;border-bottom:2px solid #f59e0b!important}.batch-sublabel{color:#475569;margin-top:.15rem;font-size:.8rem;font-weight:400}.batch-safe-note{color:#0369a1;margin-top:.45rem;font-size:.78rem}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#0b172aa6;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-card.diagnostic-modal{background:#fff;border-radius:16px;flex-direction:column;width:min(820px,96vw);max-height:90vh;animation:.2s ease-out fadeIn;display:flex;overflow:hidden;box-shadow:0 20px 48px #0b172a47}.modal-header{border-bottom:1px solid var(--line);background:#f8fafc;justify-content:space-between;align-items:flex-start;padding:1.2rem 1.6rem;display:flex}.modal-header h3{color:var(--navy);margin:0 0 .25rem;font-size:1.15rem}.modal-subtitle{color:var(--muted);margin:0;font-size:.82rem;line-height:1.35}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.2rem .5rem;font-size:1.4rem;line-height:1}.modal-body{flex-direction:column;gap:1.4rem;padding:1.5rem 1.6rem;display:flex;overflow-y:auto}.diagnostic-search-section{flex-direction:column;gap:.5rem;display:flex}.candidate-quick-list{flex-wrap:wrap;gap:.45rem;max-height:120px;padding:.3rem 0;display:flex;overflow-y:auto}.candidate-chip{cursor:pointer;text-align:left;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:.5rem;padding:.35rem .65rem;font-size:.78rem;transition:all .15s;display:flex}.candidate-chip:hover{border-color:var(--blue);background:#e2e8f0}.candidate-chip.active{border-color:var(--blue);color:var(--navy);background:#e0edff;font-weight:600}.chip-id{color:var(--blue);font-weight:700}.chip-name{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}.verdict-hero{border-radius:12px;align-items:flex-start;gap:1.2rem;padding:1.2rem;display:flex}.verdict-pass{background:#ecfdf5;border:1px solid #10b981}.verdict-fail{background:#fffbeb;border:1px solid #f59e0b}.verdict-icon{border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:1.3rem;font-weight:800;display:grid}.verdict-pass .verdict-icon{color:#fff;background:#10b981}.verdict-fail .verdict-icon{color:#fff;background:#f59e0b}.verdict-content{flex:1}.verdict-badge{letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem;font-size:.66rem;font-weight:800}.verdict-pass .verdict-badge{color:#065f46}.verdict-fail .verdict-badge{color:#92400e}.verdict-title{color:var(--navy);margin:0 0 .5rem;font-size:.95rem;line-height:1.35}.verdict-details{color:#475569;margin:0;padding-left:1.2rem;font-size:.8rem}.verdict-score{text-align:center;background:#fff9;border-radius:10px;flex-direction:column;min-width:85px;padding:.5rem .8rem;display:flex}.verdict-score strong{color:var(--navy);font-size:1.4rem}.verdict-score span{color:var(--muted);font-size:.65rem;font-weight:600}.meta-comparison-grid{border:1px solid var(--line);background:#f8fafc;border-radius:10px;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.9rem 1.2rem;display:grid}.comp-box{flex-direction:column;gap:.2rem;display:flex}.comp-label{color:var(--muted);text-transform:uppercase;font-size:.65rem;font-weight:700}.comp-tags{color:#64748b;flex-wrap:wrap;gap:.4rem;margin-top:.2rem;font-size:.72rem;display:flex}.comp-tags span{background:#e2e8f0;border-radius:4px;padding:.1rem .4rem}.comp-arrow{text-align:center;background:#e0edff;border:1px solid #bfdbfe;border-radius:8px;padding:.4rem .8rem}.comp-arrow span{color:var(--blue);font-size:.9rem;font-weight:800;display:block}.comp-arrow small{color:#3b82f6;font-size:.62rem;font-weight:600}.scores-breakdown h5,.skills-gap-grid h5,.diagnostic-alerts h5{color:var(--navy);margin:0 0 .6rem;font-size:.85rem}.score-bars-grid{grid-template-columns:1fr 1fr;gap:.8rem 1.2rem;display:grid}.score-bar-item{flex-direction:column;gap:.25rem;display:flex}.score-bar-header{color:#334155;justify-content:space-between;font-size:.76rem;display:flex}.progress-track{background:#e2e8f0;border-radius:99px;width:100%;height:7px;overflow:hidden}.progress-fill{border-radius:99px;height:100%;transition:width .3s}.progress-fill.good{background:#10b981}.progress-fill.mid{background:#3b82f6}.progress-fill.low{background:#f59e0b}.skills-gap-grid{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.skills-column{flex-direction:column;gap:.4rem;display:flex}.modal-card.prompts-modal-card{flex-direction:column;width:min(880px,96vw);max-height:90vh;display:flex}.prompts-modal-body{flex-direction:column;gap:1.3rem;padding:1.4rem 1.6rem;display:flex;overflow-y:auto}.prompt-section{flex-direction:column;gap:.5rem;display:flex}.prompt-label{flex-direction:column;gap:.15rem;display:flex}.prompt-label strong{color:var(--navy);font-size:.92rem}.prompt-label small{color:var(--muted);font-size:.74rem}.prompt-textarea{color:#1e293b;resize:vertical;background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:.8rem .95rem;font-family:inherit;font-size:.82rem;line-height:1.5;transition:all .15s}.prompt-textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #1565d826}.variables-palette{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;flex-direction:column;gap:.45rem;padding:.75rem .9rem;display:flex}.palette-title{color:#64748b;text-transform:uppercase;font-size:.68rem;font-weight:700}.variables-tags-list{flex-wrap:wrap;gap:.4rem;display:flex}.var-tag-chip{cursor:pointer;background:#e0edff;border:1px solid #bfdbfe;border-radius:6px;align-items:center;padding:.2rem .45rem;transition:all .15s;display:inline-flex}.var-tag-chip:hover{border-color:var(--blue);background:#bfdbfe}.var-tag-chip code{color:var(--blue);font-family:monospace;font-size:.72rem;font-weight:700}.prompts-modal-footer{border-top:1px solid var(--line);background:#f8fafc;justify-content:space-between;align-items:center;padding:1rem 1.6rem;display:flex}.footer-right-actions{align-items:center;gap:.6rem;display:flex}.family-cards-compact-stack{padding-bottom:3.8rem}@media (width<=1100px){.toolbar{flex-direction:column;align-items:stretch}.toolbar-controls-grid{width:100%}.toolbar-actions-block{justify-content:flex-start}.destination-hero-card{padding:1.1rem 1.3rem}.dest-hero-title{font-size:1.1rem}}@media (width<=768px){.topbar{padding:0 1rem}.toolbar,.workspace{padding:.75rem 1rem}.toolbar-controls-grid label{min-width:100%}.cartesian-container{flex-direction:column;max-height:none}.score-legend-sidebar{border-bottom:2px dashed #cbd5e1;border-right:none;width:100%;min-width:100%;padding-bottom:.8rem}.score-legend-list{flex-flow:wrap}.score-legend-card{flex:1;min-width:135px}.lattice-legend-ribbon{flex-direction:column;align-items:flex-start;gap:.6rem}}.top-nav-tabs{background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .4rem;display:flex}.nav-tab-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.78rem;font-weight:700;transition:all .15s;display:flex}.nav-tab-btn:hover{color:#fff;background:#ffffff1f}.nav-tab-btn.active{color:var(--navy);background:#fff;box-shadow:0 2px 8px #00000026}.criteria-loading-view{min-height:400px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.criteria-mapping-container{background:#f8fafc;flex-direction:column;flex:1;gap:1.2rem;min-height:calc(100vh - 64px);padding:1.2rem 1.6rem;display:flex}.criteria-header{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:1rem;padding:1.2rem 1.6rem;display:flex;box-shadow:0 2px 10px #0f172a08}.criteria-header-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.criteria-header-main h2{color:var(--navy);margin:0;font-size:1.35rem}.criteria-top-actions{align-items:center;gap:.6rem;display:flex}.criteria-coverage-bar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex}.coverage-info-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;font-size:.8rem;display:flex}.coverage-stat strong{color:var(--navy);margin-right:.35rem}.coverage-stat span{color:#475569;font-weight:600}.coverage-alert{color:#b45309;background:#fef3c7;border-radius:99px;padding:.2rem .55rem;font-size:.74rem;font-weight:700}.coverage-complete{color:#065f46;background:#d1fae5;border-radius:99px;padding:.2rem .55rem;font-size:.74rem;font-weight:700}.weight-stat{border-radius:99px;padding:.2rem .6rem;font-size:.78rem;font-weight:700}.weight-valid{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.weight-invalid{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.coverage-track{background:#e2e8f0;border-radius:99px;width:100%;height:8px;overflow:hidden}.coverage-fill{background:linear-gradient(90deg, var(--blue), #38bdf8);border-radius:99px;height:100%;transition:width .35s}.coverage-fill.full{background:linear-gradient(90deg,#10b981,#059669)}.criteria-3col-layout{flex:1;grid-template-columns:minmax(320px,1.15fr) minmax(380px,1.45fr) minmax(320px,1.15fr);align-items:start;gap:1.2rem;display:grid}.col-explorer,.col-criteria-dropzones,.col-tags-manager{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:.9rem;height:calc(100vh - 280px);min-height:520px;padding:1.1rem;display:flex;box-shadow:0 2px 10px #0f172a08}.col-header{border-bottom:1px solid #e2e8f0;flex-direction:column;gap:.2rem;padding-bottom:.6rem;display:flex}.col-title-wrap{align-items:center;gap:.5rem;display:flex}.col-number{background:var(--blue);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.72rem;font-weight:800;display:flex}.col-title-wrap h3{color:var(--navy);margin:0;font-size:1rem}.col-subtitle{color:#64748b;margin:0;font-size:.72rem}.explorer-filters-block{flex-direction:column;gap:.5rem;display:flex}.explorer-search-input{background:#f8fafc;border:1px solid #cfd9e6;border-radius:8px;width:100%;padding:.45rem .7rem;font-size:.78rem}.filter-segmented-buttons{background:#f1f5f9;border-radius:8px;gap:.25rem;padding:.2rem;display:flex}.segment-btn{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;flex:1;padding:.3rem .2rem;font-size:.68rem;font-weight:700;transition:all .15s}.segment-btn.active{color:var(--navy);background:#fff;box-shadow:0 1px 4px #00000014}.explorer-tree-scroll{flex-direction:column;flex:1;gap:.2rem;padding-right:.4rem;display:flex;overflow-y:auto}.tree-node-wrapper{flex-direction:column;display:flex}.tree-node-row{cursor:grab;border:1px solid #0000;border-radius:8px;align-items:center;gap:.4rem;padding:.35rem .5rem;transition:all .15s;display:flex}.tree-node-row:hover{background:#f1f5f9;border-color:#cbd5e1}.tree-node-row.node-assigned{background:#f8fafc}.tree-node-row.node-pending{background:#fffbeb;border-color:#fde68a}.tree-expand-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:.2rem .3rem;font-size:.65rem}.tree-leaf-dot{color:#cbd5e1;padding:0 .3rem;font-size:.8rem}.tree-node-content{flex-direction:column;flex:1;min-width:0;display:flex}.tree-node-title-row{align-items:center;gap:.35rem;display:flex}.tree-source-badge{text-transform:uppercase;border-radius:4px;padding:.1rem .35rem;font-size:.58rem;font-weight:800}.badge-jsonb{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.badge-doc{color:#5b21b6;background:#ede9fe;border:1px solid #ddd6fe}.badge-catalog{color:#0369a1;background:#e0f2fe;border:1px solid #bae6fd}.tree-node-code{color:#0f172a;font-family:monospace;font-size:.78rem}.tree-node-name{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.tree-node-desc{color:#94a3b8;font-size:.64rem}.tree-node-actions{align-items:center;gap:.3rem;display:flex}.status-pill{white-space:nowrap;border-radius:99px;padding:.15rem .45rem;font-size:.62rem;font-weight:800}.status-pill.pill-pending{color:#b45309;background:#fef3c7}.quick-assign-wrapper{position:relative}.quick-assign-btn{width:22px;height:22px;color:var(--blue);cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;transition:all .15s;display:flex}.quick-assign-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue)}.quick-assign-dropdown{z-index:100;background:#fff;border:1px solid #cbd5e1;border-radius:10px;flex-direction:column;gap:.2rem;min-width:240px;padding:.4rem;display:flex;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0f172a26}.dropdown-header{color:#64748b;text-transform:uppercase;padding:.2rem .4rem;font-size:.65rem;font-weight:800}.dropdown-option{color:#1e293b;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .6rem;font-size:.74rem;font-weight:600;display:flex}.dropdown-option:hover{color:var(--blue);background:#f1f5f9}.dropzones-scroll-list{flex-direction:column;flex:1;gap:.8rem;padding-right:.4rem;display:flex;overflow-y:auto}.criterion-card{background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:12px;flex-direction:column;gap:.6rem;padding:.85rem;transition:all .2s;display:flex}.criterion-card.drop-active{border-color:var(--blue);background:#eff6ff;transform:scale(1.01);box-shadow:0 4px 16px #3b82f626}.criterion-card.criterion-affinity{background:#f8fbff;border-color:#93c5fd}.criterion-card.criterion-hay{background:#f6fdf9;border-color:#86efac}.criterion-card.criterion-capabilities{background:#faf8ff;border-color:#c4b5fd}.criterion-card.criterion-viability{background:#fff8f8;border-color:#fca5a5}.criterion-card.criterion-info{background:#fffdf5;border-color:#fde68a}.criterion-card-header{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.crit-title-row{align-items:flex-start;gap:.45rem;display:flex}.crit-icon{font-size:1rem}.crit-label{color:var(--navy);font-size:.85rem;display:block}.crit-desc{color:#64748b;font-size:.65rem}.crit-weight-control{flex-direction:column;align-items:flex-end;gap:.2rem;min-width:110px;display:flex}.crit-weight-control label{color:#475569;gap:.3rem;font-size:.72rem;display:flex}.crit-weight-control label b{color:var(--navy)}.crit-weight-control input[type=range]{width:100px;height:4px}.criterion-items-dropzone{background:#ffffffbf;border:1px dashed #cbd5e1;border-radius:8px;align-items:center;min-height:48px;padding:.45rem;display:flex}.empty-dropzone-hint{text-align:center;color:#94a3b8;width:100%;font-size:.68rem;font-style:italic}.assigned-chips-wrap{flex-wrap:wrap;gap:.35rem;width:100%;display:flex}.assigned-chip{background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:.3rem;padding:.2rem .45rem;font-size:.72rem;display:flex;box-shadow:0 1px 3px #0000000a}.chip-badge{font-size:.65rem}.chip-code{color:#1e293b;font-weight:700}.chip-remove-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:0 .15rem;font-size:.8rem;font-weight:800;line-height:1}.chip-remove-btn:hover{color:#ef4444}.tags-manager-scroll{flex-direction:column;flex:1;gap:.75rem;padding-right:.4rem;display:flex;overflow-y:auto}.empty-tags-state{text-align:center;color:#94a3b8;padding:2rem 1rem;font-size:.78rem}.tags-cards-list{flex-direction:column;gap:.65rem;display:flex}.tag-editor-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.5rem;padding:.75rem;transition:all .15s;display:flex}.tag-editor-card:hover{background:#f1f5f9;border-color:#cbd5e1}.tag-card-top{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.tag-source-info{align-items:center;gap:.35rem;display:flex}.source-mini-badge{color:#475569;background:#e2e8f0;border-radius:4px;padding:.1rem .3rem;font-size:.55rem;font-weight:800}.tag-orig-code{color:#0f172a;font-size:.78rem}.tag-orig-name{color:#64748b;font-size:.68rem}.tag-criterion-badge{background:#fff;border:1px solid #cbd5e1;border-radius:99px;padding:.15rem .45rem;font-size:.62rem;font-weight:800}.tag-input-row label,.rag-directive-row label{flex-direction:column;gap:.2rem;display:flex}.tag-input-row span,.rag-directive-row span{color:#475569;font-size:.66rem;font-weight:700}.tag-text-input{width:100%;color:var(--blue);background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.35rem .6rem;font-size:.76rem;font-weight:700}.rag-directive-input{color:#1e293b;resize:vertical;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:.4rem .6rem;font-size:.72rem;line-height:1.4}.tag-card-footer{justify-content:flex-end;display:flex}.tag-delete-link{color:#ef4444;cursor:pointer;background:0 0;border:none;padding:0;font-size:.68rem;font-weight:600}.prompts-modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:10000;background:#0f172ab8;justify-content:center;align-items:center;padding:1.25rem;animation:.2s ease-out promptsFadeIn;display:flex;position:fixed;inset:0}@keyframes promptsFadeIn{0%{opacity:0}to{opacity:1}}@keyframes promptsSlideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.prompts-modal-window{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:960px;max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) promptsSlideUp;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #0f172a59,0 0 0 1px #e2e8f0e6}.prompts-modal-header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.75rem 1.25rem;display:flex}.prompts-modal-header-content{flex:1;padding-right:1.5rem}.prompts-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#0284c7;margin-bottom:.25rem;font-size:.72rem;font-weight:700;display:inline-block}.prompts-modal-title{color:#0f172a;margin:0 0 .35rem;font-size:1.35rem;font-weight:700}.prompts-modal-subtitle{color:#64748b;margin:0;font-size:.85rem;line-height:1.45}.prompts-close-button{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:1.1rem;transition:all .15s;display:grid}.prompts-close-button:hover{color:#0f172a;background:#e2e8f0}.prompts-modal-body{background:#fff;flex-direction:column;gap:1.5rem;padding:1.5rem 1.75rem;display:flex;overflow-y:auto}.prompts-notice-banner{color:#166534;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:.75rem 1rem;font-size:.88rem;font-weight:500}.prompt-field-group{flex-direction:column;gap:.5rem;display:flex}.prompt-field-header{flex-direction:column;gap:.2rem;display:flex}.prompt-field-label{color:#1e293b;align-items:center;gap:.5rem;font-size:.95rem;display:flex}.prompt-num-badge{color:#0369a1;background:#e0f2fe;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:inline-grid}.prompt-field-desc{color:#64748b;margin-left:1.85rem;font-size:.78rem}.prompts-styled-textarea{color:#1e293b;resize:vertical;background:#f8fafc;border:1.5px solid #cbd5e1;border-radius:10px;width:100%;padding:.85rem 1rem;font-family:inherit;font-size:.88rem;line-height:1.55;transition:all .15s}.prompts-styled-textarea:focus{background:#fff;border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.prompts-palette-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:.75rem;margin-top:.6rem;padding:1rem 1.15rem;display:flex}.palette-header-row{justify-content:space-between;align-items:center;display:flex}.palette-main-title{text-transform:uppercase;letter-spacing:.04em;color:#334155;font-size:.82rem;font-weight:700}.palette-tabs-bar{border-bottom:1px solid #e2e8f0;gap:.4rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.palette-tab-btn{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:.35rem;padding:.4rem .65rem;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.palette-tab-btn:hover{color:#0f172a;background:#e2e8f0}.palette-tab-btn.active{color:#fff;background:#0284c7}.palette-chips-container{max-height:180px;padding-right:.25rem;overflow-y:auto}.palette-empty-hint{color:#94a3b8;text-align:center;padding:.75rem;font-size:.8rem;font-style:italic}.palette-chips-grid{flex-wrap:wrap;gap:.45rem;display:flex}.palette-var-chip{cursor:pointer;text-align:left;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:.45rem;padding:.3rem .6rem;transition:all .15s;display:inline-flex}.palette-var-chip:hover{background:#f0f9ff;border-color:#0284c7;transform:translateY(-1px);box-shadow:0 2px 5px #0284c726}.chip-tag-code{color:#0284c7;background:#e0f2fe;border-radius:4px;padding:.1rem .35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.76rem;font-weight:700}.chip-tag-name{color:#475569;font-size:.74rem}.prompts-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.15rem 1.75rem;display:flex}.prompts-footer-right{align-items:center;gap:.75rem;display:flex}.prompts-btn-ghost{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.65rem 1rem;font-size:.85rem;font-weight:600;transition:all .15s}.prompts-btn-ghost:hover{color:#0f172a;background:#f1f5f9}.prompts-btn-cancel{color:#475569;cursor:pointer;background:0 0;border:1px solid #cbd5e1;border-radius:8px;padding:.65rem 1.1rem;font-size:.85rem;font-weight:600;transition:all .15s}.prompts-btn-cancel:hover{color:#0f172a;background:#f1f5f9}.prompts-btn-save{color:#fff;cursor:pointer;background:#1565d8;border:none;border-radius:8px;padding:.65rem 1.35rem;font-size:.88rem;font-weight:700;transition:all .15s;box-shadow:0 4px 12px #1565d840}.prompts-btn-save:hover{background:#0f57bd;box-shadow:0 6px 16px #1565d859}.prompts-btn-save:disabled{opacity:.55;cursor:not-allowed}.diagnostic-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1200;background:#0f172aa6;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.diagnostic-modal-window{background:#fff;border-radius:16px;flex-direction:column;width:1140px;max-width:95vw;height:88vh;max-height:860px;animation:.2s ease-out modalFadeIn;display:flex;overflow:hidden;box-shadow:0 25px 60px -15px #0000004d,0 0 0 1px #e2e8f0cc}.diagnostic-modal-header{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.diagnostic-header-content{flex-direction:column;gap:.2rem;display:flex}.diagnostic-eyebrow{letter-spacing:.08em;color:#0284c7;text-transform:uppercase;font-size:.72rem;font-weight:800}.diagnostic-modal-title{color:#0f172a;margin:0;font-size:1.35rem;font-weight:700;line-height:1.25}.diagnostic-modal-subtitle{color:#64748b;margin:0;font-size:.85rem}.diagnostic-modal-subtitle strong{color:#1e293b}.diagnostic-close-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:all .15s;display:flex}.diagnostic-close-btn:hover{color:#0f172a;background:#e2e8f0}.diagnostic-modal-body{background:#fff;flex:1;min-height:0;display:flex}.diagnostic-left-col{background:#f8fafc;border-right:1px solid #e2e8f0;flex-direction:column;flex-shrink:0;gap:.85rem;width:350px;padding:1.25rem 1rem;display:flex}.diag-search-box{flex-direction:column;gap:.35rem;display:flex}.diag-search-label{color:#334155;font-size:.82rem;font-weight:700}.diag-search-input{color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:.65rem .85rem;font-size:.88rem}.diag-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.diag-candidate-list{flex-direction:column;flex:1;gap:.45rem;padding-right:.25rem;display:flex;overflow-y:auto}.diag-candidate-item{text-align:left;cursor:pointer;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:.75rem .85rem;transition:all .15s;display:flex}.diag-candidate-item:hover{background:#f0f7ff;border-color:#93c5fd;transform:translateY(-1px)}.diag-candidate-item.active{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}.diag-cand-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.diag-cand-name{color:#0f172a;word-break:break-word;font-size:.84rem;font-weight:700;line-height:1.25}.diag-cand-sub{color:#64748b;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.75rem;display:flex}.diag-badge-kf{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:.1rem .45rem;font-weight:700}.diag-badge-crit{color:#b45309;background:#fef3c7;border-radius:4px;padding:.1rem .45rem;font-weight:700}.diag-check{color:#2563eb;margin-left:.5rem;font-size:1.1rem;font-weight:800}.diag-no-results{text-align:center;color:#94a3b8;padding:2rem 1rem;font-size:.85rem}.diagnostic-right-col{background:#fff;flex-direction:column;flex:1;gap:1.5rem;padding:1.75rem 2rem;display:flex;overflow-y:auto}.diag-empty-prompt{text-align:center;color:#64748b;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:2rem;display:flex}.diag-empty-icon{margin-bottom:.75rem;font-size:3rem}.diag-empty-prompt h3{color:#1e293b;margin:0 0 .5rem;font-size:1.2rem}.diag-empty-prompt p{max-width:480px;margin:0;font-size:.9rem;line-height:1.5}.diag-loading-state{color:#475569;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;display:flex}.diag-spinner{border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.diag-report-content{flex-direction:column;gap:1.5rem;display:flex}.diag-verdict-card{border-radius:12px;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;display:flex}.diag-verdict-card.pass{background:#f0fdf4;border:1px solid #bbf7d0}.diag-verdict-card.fail{background:#fefce8;border:1px solid #fef08a}.diag-verdict-left{flex-direction:column;flex:1;gap:.35rem;display:flex}.diag-verdict-pill{letter-spacing:.04em;border-radius:999px;width:fit-content;padding:.2rem .65rem;font-size:.75rem;font-weight:800;display:inline-block}.diag-verdict-pill.pass{color:#fff;background:#16a34a}.diag-verdict-pill.fail{color:#fff;background:#ca8a04}.diag-verdict-title{color:#0f172a;margin:0;font-size:1.15rem;font-weight:700}.diag-verdict-desc{color:#334155;margin:0;font-size:.85rem;line-height:1.4}.diag-reasons-list{color:#475569;margin:.35rem 0 0;padding-left:1.25rem;font-size:.8rem}.diag-verdict-right{flex-direction:column;align-items:center;gap:.5rem;display:flex}.diag-score-circle{background:#fff;border:3px solid #2563eb;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:90px;height:90px;display:flex;box-shadow:0 4px 12px #2563eb1f}.diag-score-circle strong{color:#1e3a8a;font-size:1.45rem;font-weight:800;line-height:1}.diag-score-circle span{color:#64748b;text-transform:uppercase;margin-top:.15rem;font-size:.65rem;font-weight:700}.diag-risk-tag{border-radius:999px;padding:.2rem .75rem;font-size:.75rem;font-weight:700}.diag-risk-tag.low,.diag-risk-tag.bajo{color:#15803d;background:#dcfce7}.diag-risk-tag.medium,.diag-risk-tag.medio{color:#a16207;background:#fef9c3}.diag-risk-tag.medium_high,.diag-risk-tag.medio_alto,.diag-risk-tag.medio-alto{color:#c2410c;background:#ffedd5}.diag-risk-tag.high,.diag-risk-tag.alto{color:#b91c1c;background:#fee2e2}.diag-level-banner{border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:1rem;padding:.95rem 1.25rem;transition:all .2s;display:flex}.diag-level-banner.unclassified{background:#f8fafc;border-color:#e2e8f0}.diag-level-banner-icon{flex-shrink:0;font-size:1.6rem;line-height:1}.diag-level-banner-info{flex-direction:column;flex:1;gap:.2rem;display:flex}.diag-level-banner-header{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.diag-level-banner-eyebrow{text-transform:uppercase;letter-spacing:.05em;color:#475569;font-size:.72rem;font-weight:800}.diag-level-banner-badge{border-radius:999px;align-items:center;padding:.15rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex}.diag-level-banner-badge.unclassified{color:#334155;background:#cbd5e1}.diag-level-banner-desc{color:#334155;margin:0;font-size:.82rem;line-height:1.35}.diag-comparison-grid{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:1rem 1.25rem;display:grid}.diag-comp-card{flex-direction:column;gap:.25rem;display:flex}.diag-comp-label{text-transform:uppercase;color:#64748b;letter-spacing:.05em;font-size:.72rem;font-weight:800}.diag-comp-name{color:#0f172a;font-size:.95rem}.diag-comp-meta{color:#475569;flex-wrap:wrap;gap:.65rem;font-size:.78rem;display:flex}.diag-delta-box{background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex-direction:column;align-items:center;padding:.5rem .85rem;display:flex}.diag-delta-val{color:#0284c7;font-size:1.15rem;font-weight:800}.diag-delta-box small{color:#64748b;font-size:.68rem;font-weight:600}.diag-section-title{color:#1e293b;margin:0 0 .85rem;font-size:.92rem;font-weight:700}.diag-scores-grid{grid-template-columns:1fr 1fr;gap:.85rem 1.25rem;display:grid}.diag-score-item{flex-direction:column;gap:.35rem;display:flex}.diag-score-header{color:#334155;justify-content:space-between;font-size:.82rem;display:flex}.diag-score-header strong{color:#0f172a;font-weight:700}.diag-progress-bar{background:#e2e8f0;border-radius:999px;height:7px;overflow:hidden}.diag-progress-fill{border-radius:999px;height:100%;transition:width .3s}.diag-progress-fill.good{background:#2563eb}.diag-progress-fill.mid{background:#0284c7}.diag-progress-fill.low{background:#94a3b8}.diag-skills-gaps-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.diag-skills-box,.diag-gaps-box,.diag-alerts-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:1rem 1.15rem}.diag-tags-list{flex-wrap:wrap;gap:.4rem;display:flex}.diag-skill-chip{color:#1e40af;background:#dbeafe;border-radius:6px;padding:.25rem .6rem;font-size:.78rem;font-weight:600}.diag-gap-chip{color:#991b1b;background:#fee2e2;border-radius:6px;padding:.25rem .6rem;font-size:.78rem;font-weight:600}.diag-muted-note{color:#94a3b8;font-size:.8rem;font-style:italic}.diag-alerts-cards-list,.drawer-alerts-list{flex-direction:column;gap:.65rem;margin-top:.5rem;display:flex}.diag-alert-card,.drawer-alert-card{background:#fff5f5;border:1px solid #fed7d7;border-left:4px solid #e53e3e;border-radius:8px;flex-direction:column;gap:.3rem;padding:.75rem .9rem;display:flex}.diag-alert-card-header,.drawer-alert-header{align-items:center;gap:.5rem;display:flex}.diag-alert-icon,.drawer-alert-icon{font-size:1.1rem}.diag-alert-names,.drawer-alert-names{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.diag-alert-title,.drawer-alert-title{color:#9b2c2c;font-size:.88rem;font-weight:700}.diag-alert-code,.drawer-alert-code{color:#9b2c2c;letter-spacing:.03em;background:#fed7d7;border-radius:4px;padding:.15rem .45rem;font-size:.72rem;font-weight:700}.diag-alert-desc,.drawer-alert-desc{color:#742a2a;margin:0;font-size:.8rem;line-height:1.35}.diag-alert-desc strong,.drawer-alert-desc strong{color:#4a5568}.batch-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1200;background:#0f172aa6;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.batch-modal-window{background:#fff;border-radius:16px;flex-direction:column;width:860px;max-width:95vw;height:80vh;max-height:780px;animation:.2s ease-out modalFadeIn;display:flex;overflow:hidden;box-shadow:0 25px 60px -15px #0000004d,0 0 0 1px #e2e8f0cc}.batch-modal-header{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.batch-eyebrow{letter-spacing:.08em;color:#2563eb;text-transform:uppercase;font-size:.72rem;font-weight:800}.batch-modal-title{color:#0f172a;margin:.15rem 0;font-size:1.3rem;font-weight:700}.batch-modal-subtitle{color:#64748b;margin:0;font-size:.85rem}.batch-close-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:all .15s;display:flex}.batch-close-btn:hover{color:#0f172a;background:#e2e8f0}.batch-modal-toolbar{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.75rem;display:flex}.batch-search-wrap{flex:1;max-width:420px}.batch-search-input{box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;width:100%;padding:.55rem .85rem;font-size:.85rem}.batch-search-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.batch-actions-wrap{gap:.5rem;display:flex}.batch-quick-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.45rem .75rem;font-size:.78rem;font-weight:600;transition:all .15s}.batch-quick-btn:hover{background:#f1f5f9;border-color:#94a3b8}.batch-modal-body{background:#fff;flex:1;padding:1.25rem 1.75rem;overflow-y:auto}.batch-roles-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.batch-role-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;transition:all .15s;display:flex}.batch-role-card:hover{background:#f8faff;border-color:#93c5fd;transform:translateY(-1px)}.batch-role-card.selected{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}.batch-checkbox{accent-color:#2563eb;cursor:pointer;width:18px;height:18px;margin-top:.2rem}.batch-role-details{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.batch-role-name{color:#0f172a;font-size:.88rem;font-weight:700;line-height:1.25}.batch-role-tags{flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.75rem;display:flex}.batch-tag-id{color:#64748b}.batch-tag-kf{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:.1rem .45rem;font-weight:700}.batch-tag-rank{color:#b45309;background:#fef3c7;border-radius:4px;padding:.1rem .45rem;font-weight:700}.batch-empty-state{text-align:center;color:#94a3b8;grid-column:1/-1;padding:3rem 1rem;font-size:.9rem}.batch-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.75rem;display:flex}.batch-selected-counter{color:#475569;font-size:.88rem}.batch-selected-counter strong{color:#2563eb;font-size:1.05rem}.batch-footer-right{align-items:center;gap:.75rem;display:flex}.batch-btn-cancel{color:#475569;cursor:pointer;background:0 0;border:1px solid #cbd5e1;border-radius:8px;padding:.6rem 1.1rem;font-size:.85rem;font-weight:600;transition:all .15s}.batch-btn-cancel:hover{color:#0f172a;background:#f1f5f9}.batch-btn-run{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:.65rem 1.35rem;font-size:.88rem;font-weight:700;transition:all .15s;box-shadow:0 4px 12px #2563eb40}.batch-btn-run:hover{background:#1d4ed8;box-shadow:0 6px 16px #2563eb59}.batch-btn-run:disabled{opacity:.5;cursor:not-allowed}.cargo-explorer-container{box-sizing:border-box;flex-direction:column;gap:1.5rem;max-width:1600px;margin:0 auto;padding:1.5rem 2rem;display:flex}.cargo-explorer-header{background:#fff;border:1px solid #e2e8f0;border-radius:14px;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem 1.75rem;display:flex;box-shadow:0 2px 8px #0000000a}.explorer-eyebrow{letter-spacing:.08em;color:#0284c7;text-transform:uppercase;font-size:.72rem;font-weight:800}.explorer-title{color:#0f172a;margin:.2rem 0;font-size:1.5rem;font-weight:800}.explorer-subtitle{color:#64748b;margin:0;font-size:.88rem}.explorer-btn-export{color:#fff;cursor:pointer;white-space:nowrap;background:#107c41;border:none;border-radius:9px;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-size:.9rem;font-weight:700;transition:all .15s;display:flex;box-shadow:0 4px 12px #107c4140}.explorer-btn-export:hover{background:#0d6334;transform:translateY(-1px);box-shadow:0 6px 16px #107c4159}.explorer-kpi-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.explorer-kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:1rem;padding:1.15rem 1.35rem;display:flex;box-shadow:0 2px 6px #00000005}.kpi-icon-wrap{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.3rem;display:flex}.kpi-icon-wrap.blue{color:#2563eb;background:#eff6ff}.kpi-icon-wrap.amber{color:#d97706;background:#fef3c7}.kpi-icon-wrap.purple{color:#9333ea;background:#f3e8ff}.kpi-icon-wrap.green{color:#16a34a;background:#f0fdf4}.kpi-info{flex-direction:column;display:flex}.kpi-label{color:#64748b;text-transform:uppercase;font-size:.75rem;font-weight:600}.kpi-value{color:#0f172a;font-size:1.4rem;font-weight:800;line-height:1.1}.explorer-filter-bar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex;box-shadow:0 2px 6px #00000005}.explorer-search-box{width:100%;position:relative}.explorer-search-input{box-sizing:border-box;background:#f8fafc;border:1px solid #cbd5e1;border-radius:9px;outline:none;width:100%;padding:.75rem 2.5rem .75rem 1rem;font-size:.92rem}.explorer-search-input:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.explorer-clear-search{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1rem;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.explorer-clear-search:hover{color:#0f172a}.explorer-filters-row{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.filter-item{color:#475569;align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;display:flex}.filter-item select{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;padding:.5rem .85rem;font-size:.82rem}.filter-item select:focus{border-color:#2563eb}.explorer-reset-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:.5rem .85rem;font-size:.78rem;font-weight:700;transition:all .15s}.explorer-reset-btn:hover{color:#0f172a;background:#e2e8f0}.explorer-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px #00000008}.explorer-table-info{color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.85rem 1.5rem;font-size:.82rem}.explorer-table-info strong{color:#0f172a}.explorer-table-wrapper{max-height:600px;overflow-x:auto}.explorer-table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}.explorer-table thead{z-index:10;background:#f1f5f9;position:sticky;top:0}.explorer-table th{color:#334155;white-space:nowrap;border-bottom:1px solid #cbd5e1;padding:.85rem 1rem;font-weight:700}.explorer-table th.center,.explorer-table td.center{text-align:center}.explorer-row{cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .12s}.explorer-row:hover{background:#f0f7ff}.explorer-row.critical-row{background:#fffdf5}.explorer-row.critical-row:hover{background:#fef9e7}.explorer-table td{color:#334155;vertical-align:middle;padding:.85rem 1rem}.job-id-cell{color:#0f172a;font-family:monospace;font-size:.84rem}.job-code-cell{color:#64748b;font-size:.82rem}.job-name-cell .name-wrapper{flex-direction:column;gap:.15rem;display:flex}.cargo-main-name{color:#0f172a;font-weight:700}.cargo-sub-family{color:#64748b;font-size:.75rem}.badge-kf-pill{color:#0369a1;background:#e0f2fe;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:800}.badge-crit-pill{color:#b45309;background:#fef3c7;border-radius:999px;padding:.2rem .65rem;font-size:.75rem;font-weight:800}.badge-regular-pill{color:#64748b;background:#f1f5f9;border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:600}.explorer-view-btn{color:#2563eb;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.35rem .75rem;font-size:.78rem;font-weight:700;transition:all .15s}.explorer-view-btn:hover{background:#eff6ff;border-color:#2563eb}.explorer-loading-box{color:#64748b;flex-direction:column;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.explorer-empty-row{text-align:center;color:#94a3b8;padding:3rem 1rem;font-style:italic}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.97)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.cargo-detail-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1200;background:#0f172aa6;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.cargo-detail-window{background:#fff;border-radius:16px;flex-direction:column;width:1040px;max-width:95vw;height:86vh;max-height:840px;animation:.2s ease-out modalFadeIn;display:flex;overflow:hidden;box-shadow:0 25px 60px -15px #0000004d,0 0 0 1px #e2e8f0cc}.cargo-detail-header{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.75rem;display:flex}.cargo-header-badges{flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.35rem;display:flex}.cargo-badge-id{color:#334155;background:#f1f5f9;border-radius:4px;padding:.15rem .55rem;font-size:.75rem;font-weight:700}.cargo-badge-code{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;padding:.15rem .55rem;font-size:.75rem}.cargo-badge-kf{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:.15rem .55rem;font-size:.75rem;font-weight:800}.cargo-badge-points{color:#047857;background:#ecfdf5;border-radius:4px;padding:.15rem .55rem;font-size:.75rem;font-weight:800}.cargo-badge-crit{color:#b45309;background:#fef3c7;border-radius:4px;padding:.15rem .55rem;font-size:.75rem;font-weight:800}.cargo-detail-title{color:#0f172a;margin:0;font-size:1.4rem;font-weight:800}.cargo-detail-subtitle{color:#64748b;margin:.2rem 0 0;font-size:.88rem}.cargo-detail-close-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:all .15s;display:flex}.cargo-detail-close-btn:hover{color:#0f172a;background:#e2e8f0}.cargo-detail-tabs{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0;align-items:center;gap:.5rem;padding:0 1.5rem;display:flex;overflow-x:auto}.detail-tab-btn{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:.85rem 1rem;font-size:.85rem;font-weight:600;transition:all .15s}.detail-tab-btn:hover{color:#0f172a}.detail-tab-btn.active{color:#2563eb;border-bottom-color:#2563eb;font-weight:700}.cargo-detail-body{background:#fff;flex:1;padding:1.75rem 2rem;overflow-y:auto}.detail-tab-pane{flex-direction:column;gap:1.5rem;display:flex}.detail-section-title{color:#1e293b;margin:0;font-size:1.05rem;font-weight:700}.detail-cards-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.detail-info-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.25rem;padding:.85rem 1rem;display:flex}.detail-info-card.full-width{grid-column:1/-1}.info-card-label{text-transform:uppercase;color:#64748b;letter-spacing:.05em;font-size:.72rem;font-weight:700}.info-card-val{color:#0f172a;word-break:break-word;font-size:.92rem}.detail-text-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:1.15rem 1.25rem}.detail-text-block h4{color:#1e293b;margin:0 0 .5rem;font-size:.9rem}.detail-text-block p{color:#334155;margin:0;font-size:.88rem;line-height:1.5}.competencies-catalog-list{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.competency-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;padding:.85rem 1rem;display:flex}.comp-card-header{align-items:center;gap:.65rem;display:flex}.comp-name{color:#0f172a;font-size:.88rem}.requirements-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.req-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.65rem;padding:1.15rem 1.25rem;display:flex}.req-section.full-width{grid-column:1/-1}.req-section h4{color:#1e293b;margin:0;font-size:.9rem}.req-tags-wrap{flex-wrap:wrap;gap:.45rem;display:flex}.req-skill-chip{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:.25rem .65rem;font-size:.8rem;font-weight:600}.req-bullet-list{color:#334155;flex-direction:column;gap:.35rem;margin:0;padding-left:1.25rem;font-size:.85rem;display:flex}.req-empty-note{color:#94a3b8;margin:0;font-size:.82rem;font-style:italic}.custom-attributes-group{flex-direction:column;gap:.75rem;display:flex}.custom-attributes-group h4{color:#1e293b;margin:0;font-size:.92rem}.detail-empty-box{text-align:center;color:#94a3b8;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:3rem 1rem}.feeder-cartesian-card{animation:.35s cubic-bezier(.16,1,.3,1) forwards cardAppear}@keyframes cardAppear{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.config-modal-window{background:#fff;border-radius:16px;flex-direction:column;width:min(780px,96vw);max-height:90vh;animation:.2s ease-out modalFadeIn;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 60px #0f172a40}.config-modal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.75rem 1rem;display:flex}.config-modal-eyebrow{text-transform:uppercase;color:#1565d8;letter-spacing:.06em;font-size:.72rem;font-weight:700;display:block}.config-modal-title{color:#0f172a;margin:.2rem 0 .35rem;font-size:1.35rem;font-weight:800}.config-modal-subtitle{color:#64748b;margin:0;font-size:.85rem}.config-modal-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;transition:all .15s;display:flex}.config-modal-close:hover{color:#0f172a;background:#e2e8f0}.config-modal-tabs{background:#f8fafc;border-bottom:1px solid #e2e8f0;gap:.5rem;padding:.5rem 1.75rem 0;display:flex}.config-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:.65rem 1.25rem;font-size:.88rem;font-weight:600;transition:all .15s}.config-tab-btn:hover{color:#0f172a}.config-tab-btn.active{color:#1565d8;border-bottom-color:#1565d8}.config-modal-body{flex:1;padding:1.5rem 1.75rem;overflow-y:auto}.config-tab-content{flex-direction:column;gap:1.25rem;display:flex}.config-intro-box{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;padding:.85rem 1.1rem;font-size:.85rem;line-height:1.45}.config-intro-box p{margin:0}.config-criteria-list,.config-thresholds-grid{flex-direction:column;gap:.85rem;display:flex}.config-item-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.5rem;padding:1rem 1.25rem;display:flex;box-shadow:0 1px 3px #00000005}.config-item-header{justify-content:space-between;align-items:center;display:flex}.config-item-title-row{align-items:center;gap:.5rem;display:flex}.config-item-icon{font-size:1rem}.config-item-name{color:#0f172a;font-size:.95rem}.config-pct-badge{border:1px solid;border-radius:20px;padding:.25rem .65rem;font-size:.85rem;font-weight:800}.config-range-badge{border-radius:20px;padding:.25rem .65rem;font-size:.82rem;font-weight:800}.config-range-badge.emerald{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.config-range-badge.blue{color:#1565d8;background:#eff6ff;border:1px solid #bfdbfe}.config-range-badge.amber{color:#d97706;background:#fffbeb;border:1px solid #fde68a}.config-range-badge.purple{color:#7c3aed;background:#f5f3ff;border:1px solid #ddd6fe}.config-item-desc{color:#64748b;margin:0;font-size:.8rem;line-height:1.4}.config-slider-wrap{margin-top:.25rem}.config-slider-wrap input[type=range]{cursor:pointer;width:100%;height:6px}.config-threshold-slider-row{justify-content:space-between;align-items:center;gap:1rem;margin-top:.35rem;display:flex}.config-threshold-slider-row label{color:#475569;font-size:.8rem;font-weight:600}.slider-control{flex:1;align-items:center;gap:.75rem;max-width:340px;display:flex}.slider-control input[type=range]{cursor:pointer;flex:1;height:6px}.slider-val{color:#0f172a;text-align:right;min-width:40px;font-size:.9rem;font-weight:800}.config-weight-bar-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:.9rem 1.1rem}.config-bar-label-row{color:#475569;justify-content:space-between;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:flex}.config-multi-progress-bar{background:#e2e8f0;border-radius:6px;height:12px;display:flex;overflow:hidden}.config-progress-segment{height:100%;transition:width .2s}.config-warning-box{color:#e11d48;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;padding:.75rem 1rem;font-size:.85rem;font-weight:600}.config-modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1.2rem 1.75rem;display:flex}.config-footer-right{gap:.75rem;display:flex}.text-success{color:#059669}.text-danger{color:#dc2626}.competencies-catalog-list{flex-direction:column;gap:.75rem;margin-top:.75rem;display:flex}.competency-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #3b82f6;border-radius:8px;flex-direction:column;gap:.4rem;padding:.85rem 1.1rem;display:flex;box-shadow:0 1px 3px #0000000a}.comp-card-header{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.comp-number{color:#64748b;background:#f1f5f9;border-radius:4px;padding:.15rem .45rem;font-size:.75rem;font-weight:700}.comp-name{color:#0f172a;font-size:.92rem;font-weight:700}.comp-code-badge{color:#475569;background:#f8fafc;border:1px solid #cbd5e1;border-radius:4px;padding:.1rem .4rem;font-size:.72rem;font-weight:600}.comp-rank-badge{color:#7c3aed;background:#ede9fe;border-radius:4px;padding:.12rem .45rem;font-size:.72rem;font-weight:700}.comp-level-badge{color:#0284c7;background:#e0f2fe;border-radius:4px;padding:.12rem .45rem;font-size:.72rem;font-weight:700}.comp-definition-text{color:#475569;background:#f8fafc;border-left:2px solid #cbd5e1;border-radius:6px;margin:0;padding:.5rem .75rem;font-size:.82rem;line-height:1.45}.config-capacity-summary-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:.6rem;margin-top:.8rem;padding:.9rem 1.1rem;display:flex}.capacity-summary-header{justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.capacity-summary-header strong{color:var(--blue)}.capacity-pills-row{flex-wrap:wrap;gap:.6rem;display:flex}.capacity-pill{border:1px solid;border-radius:8px;padding:.25rem .65rem;font-size:.74rem;font-weight:700}
