:root{--bg:#0d1117;--panel:#161b22;--panel-2:#1c2330;--border:#2a3240;--text:#e6edf3;--muted:#8b96a5;--accent:#f5c518;--accent-2:#4da3ff;--ok:#3fb950;--warn:#d29922;--bad:#f85149;--radius:10px;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent-2);text-decoration:none}main{max-width:1000px;margin:0 auto;padding:16px}.topbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand{font-weight:700;color:var(--accent);letter-spacing:.5px}.brand span{color:var(--text);font-weight:400}.topbar nav{display:flex;gap:14px;flex:1 1}.topbar nav a{color:var(--muted)}.topbar nav a:hover{color:var(--text)}.userbox{display:flex;align-items:center;gap:8px}.userbox button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px}.avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:700;font-size:13px;color:#0d1117}.avatar.guillermo{background:var(--accent)}.avatar.miguel{background:var(--accent-2)}.fase h2{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin:24px 0 10px}.grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card{container-type:inline-size;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:block;color:var(--text)}a.card:hover{border-color:var(--accent-2)}.card h3{margin:0 0 4px;font-size:16px}.card .tipo{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.card .contadores{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.card .contadores b{color:var(--text)}.badge{display:inline-block;padding:1px 9px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid var(--border);color:var(--muted)}.badge.P0{background:#3d1114;color:#ff7b72;border-color:#6e2026}.badge.P1{background:#3b2300;color:#e3b341;border-color:#6e4a00}.badge.P2{background:#0d2438;color:#79c0ff;border-color:#1f4f7a}.badge.P3{background:#1c2330;color:var(--muted)}.badge.abierto{color:#79c0ff;border-color:#1f4f7a}.badge.en-curso{color:var(--accent);border-color:#6e4a00}.badge.bloqueado{color:var(--bad);border-color:#6e2026}.badge.hecho{color:var(--ok);border-color:#1e4c2b}.badge.resp{color:var(--text)}.plist{display:flex;flex-direction:column;gap:8px;margin-top:12px}.prow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;color:var(--text)}.prow:hover{border-color:var(--accent-2)}.prow .t{flex:1 1;min-width:180px;font-weight:550}.prow.hecho .t{color:var(--muted);text-decoration:line-through}.detalle-box,form.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:14px}.field{margin-bottom:14px}.field>label,fieldset legend{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}fieldset{border:none;margin:0 0 14px;padding:0}.segmented{display:flex;flex-wrap:wrap;gap:6px}.segmented label{border:1px solid var(--border);border-radius:999px;padding:4px 14px;cursor:pointer;font-size:13px;color:var(--muted);-webkit-user-select:none;-moz-user-select:none;user-select:none}.segmented label:has(input:checked){background:var(--accent);color:#0d1117;border-color:var(--accent);font-weight:700}.segmented input{position:absolute;opacity:0;pointer-events:none}input[type=password],input[type=text],select,textarea{width:100%;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:9px 12px;font:inherit}textarea{min-height:90px;resize:vertical}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}input:user-invalid{border-color:var(--bad)}button.primary{background:var(--accent);color:#0d1117;font-weight:700;border:none;border-radius:8px;padding:9px 18px;cursor:pointer;font:inherit}button.primary:hover{filter:brightness(1.1)}.timeline{list-style:none;margin:14px 0 0;padding:0}.timeline li{border-left:2px solid var(--border);padding:0 0 14px 14px;margin-left:6px;position:relative}.timeline li:before{content:"";position:absolute;left:-5px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--accent-2)}.timeline .meta{font-size:12px;color:var(--muted)}.timeline .meta b{color:var(--text)}.head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:8px}.head h1{font-size:22px;margin:0;flex:1 1;min-width:220px}.crumbs{font-size:13px;color:var(--muted);margin-top:12px}.detalle-box p{margin:.4em 0}.login-wrap{min-height:80dvh;display:grid;place-items:center}.login-wrap form{width:min(360px,92vw)}.login-brand{text-align:center;font-size:26px;font-weight:700;color:var(--accent);margin-bottom:18px}.login-brand span{color:var(--text);font-weight:400}.error{color:var(--bad);font-size:14px;margin-top:8px}@media (max-width:640px){.topbar{gap:10px}.topbar nav{order:3;flex-basis:100%}}