:root{--bg: #f5f6f8;--panel: #ffffff;--panel-2: #eef0f3;--field-bg: #ffffff;--border: #e2e5ea;--border-hover: #c7ccd6;--hover: #fafbfc;--text: #1f2430;--muted: #6b7280;--primary: #2563eb;--primary-dark: #1d4ed8;--info-bg: #eff6ff;--info-border: #bfdbfe;--warn-bg: #fffbeb;--warn-border: #fde68a;--danger-bg: #fef2f2;--danger-border: #fecaca;--hotfix-bg: rgba(220,38,38,.12);--hotfix-fg: #b91c1c;--p1: #dc2626;--p2: #ea580c;--p3: #ca8a04;--p4: #16a34a;--error: #dc2626;--mejora: #7c3aed;--radius: 8px;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{--bg: #0e1420;--panel: #182031;--panel-2: #212b3e;--field-bg: #0e1420;--border: #2c3648;--border-hover: #3d4a60;--hover: #1f2836;--text: #e6e9ef;--muted: #9aa4b4;--primary: #4f8bf5;--primary-dark: #3b78e0;--info-bg: #14243d;--info-border: #2c456b;--warn-bg: #2c2611;--warn-border: #554a1f;--danger-bg: #2e1717;--danger-border: #582a2a;--hotfix-bg: rgba(248,113,113,.16);--hotfix-fg: #fca5a5;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.nav{display:flex;align-items:center;gap:18px;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.nav .brand{font-weight:700;font-size:16px}.nav a{color:var(--muted);font-weight:500}.nav a.active{color:var(--text)}.nav .spacer{flex:1}.nav .userbox{color:var(--muted);font-size:13px}.container{max-width:1200px;margin:0 auto;padding:20px}button,.btn{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);padding:7px 12px;border-radius:6px;cursor:pointer}button:hover{border-color:var(--border-hover)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-sm{padding:4px 8px;font-size:13px}.btn-danger{color:var(--error);border-color:#f1c4c4}.btn-hotfix-on{background:var(--hotfix-bg);border-color:#dc2626;color:var(--hotfix-fg);font-weight:600}input,select,textarea{font:inherit;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--field-bg);color:var(--text)}textarea{min-height:90px;resize:vertical}label{display:block;font-weight:600;margin-bottom:5px}.field{margin-bottom:16px}.hint{color:var(--muted);font-weight:400;font-size:12.5px;margin-top:3px}.err{color:var(--error);font-size:12.5px;margin-top:3px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.panel+.panel{margin-top:16px}.callout-info{background:var(--info-bg);border-color:var(--info-border)}.callout-warn{background:var(--warn-bg);border-color:var(--warn-border)}.callout-danger{background:var(--danger-bg);border-color:var(--danger-border)}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.between{justify-content:space-between}h1{font-size:22px;margin:0 0 16px}h2{font-size:17px;margin:0 0 12px}h3{font-size:14px;margin:0 0 8px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border);font-size:13px}th{color:var(--muted);font-weight:600;white-space:nowrap}tbody tr:hover{background:var(--hover);cursor:pointer}.table-wrap{overflow-x:auto}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.b-P1{background:#fee2e2;color:var(--p1)}.b-P2{background:#ffedd5;color:var(--p2)}.b-P3{background:#fef9c3;color:#a16207}.b-P4{background:#dcfce7;color:var(--p4)}.b-error{background:#fee2e2;color:var(--error)}.b-mejora{background:#ede9fe;color:var(--mejora)}.b-status{background:#eef2ff;color:#3730a3}.b-st-por_hacer{background:#eef0f3;color:#475569}.b-st-en_curso{background:#dbeafe;color:#1d4ed8}.b-st-en_validacion{background:#fef3c7;color:#b45309}.b-st-cerrada{background:#dcfce7;color:#15803d}.b-unclassified{background:#fef3c7;color:#92400e}.b-hotfix{background:#7f1d1d;color:#fff;font-weight:700;letter-spacing:.02em}.b-shared{background:#cffafe;color:#0e7490}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kanban .col{background:var(--panel-2);border-radius:var(--radius);padding:10px;min-height:120px}.kanban .col h3{margin-bottom:10px}.kcard{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:10px;margin-bottom:8px;cursor:pointer}.kcard:hover{border-color:var(--border-hover)}.tag{color:var(--muted);font-size:12px}.center{min-height:60vh;display:flex;align-items:center;justify-content:center}.stack{display:flex;flex-direction:column;gap:10px}.steps{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.step-dot{padding:5px 12px;border-radius:999px;background:var(--panel-2);color:var(--muted);font-size:13px}.step-dot.active{background:var(--primary);color:#fff}.cards-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{border:2px solid var(--border);border-radius:var(--radius);padding:18px;cursor:pointer;text-align:center}.choice.sel{border-color:var(--primary);background:var(--info-bg)}.choice .big{font-size:28px}.log-entry{padding:8px 0;border-bottom:1px dashed var(--border);font-size:13px}.toast{position:fixed;bottom:20px;right:20px;background:#111827;color:#fff;padding:12px 16px;border-radius:8px;z-index:50}.grid2{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start}table.matrix th{text-align:center;color:var(--muted);font-weight:600}table.matrix tbody th{text-align:right;padding-right:14px}.mcell{text-align:center;cursor:pointer;border:2px solid transparent;transition:box-shadow .08s;color:#1f2430}.mcell:hover{box-shadow:inset 0 0 0 2px var(--primary)}.mcell.m-P1{background:#fee2e2}.mcell.m-P2{background:#ffedd5}.mcell.m-P3{background:#fef9c3}.mcell.m-P4{background:#dcfce7}.mcell.sel{outline:3px solid var(--primary);outline-offset:-3px}.chat .chat-log{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:4px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.chat .bubble{max-width:85%;padding:8px 11px;border-radius:12px;font-size:13.5px;white-space:pre-wrap;line-height:1.4}.chat .bubble.assistant{align-self:flex-start;background:var(--panel);border:1px solid var(--border);border-bottom-left-radius:3px}.chat .bubble.user{align-self:flex-end;background:var(--primary);color:#fff;border-bottom-right-radius:3px}.chat .bubble.waiting{color:var(--muted);font-style:italic}@media (max-width: 800px){.grid2,.kanban,.cards-choice{grid-template-columns:1fr}}
