:root{--re-bg:#0d0f1e;--re-bg2:#1a1b3a;--re-ink:#e2e4f6;--re-muted:#8b8fc4;--re-copper:#6366f1;--re-ok:#10b981;--re-warn:#f59e0b;--re-late:#ef4444;--re-line:rgba(99,102,241,.22);--re-sand:#1a1b3a;--re-sand2:#20214a}html,body,#root{background:#0d0f1e}.re-wrap{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;overflow:auto;padding:12px;font-family:system-ui,Segoe UI,sans-serif;color:var(--re-ink)}.re-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.re-head h2{margin:0;font-size:1.25rem;color:#e2e4f6}.re-head .re-sub{color:#8b8fc4;font-size:.85rem}.re-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-content:start}.re-card{background:#1a1b3af7;border:1px solid var(--re-line);border-radius:12px;padding:12px 14px;box-shadow:0 6px 22px -10px #000000b3}.re-card h3{margin:0 0 6px;font-size:.95rem;color:#818cf8;letter-spacing:.02em}.re-card p{margin:4px 0;font-size:.88rem;line-height:1.45;color:#c7caf0}.re-muted{color:#8b8fc4;font-size:.8rem}.re-chip{display:inline-block;border-radius:99px;padding:1px 10px;font-size:.74rem;font-weight:700;background:#6366f12e;border:1px solid rgba(99,102,241,.3);color:#a5b4fc;margin-right:6px}.re-chip.ok{background:#10b9812e;color:#34d399;border-color:#10b9814d}.re-chip.warn{background:#f59e0b2e;color:#fbbf24;border-color:#f59e0b4d}.re-chip.late{background:#ef44442e;color:#f87171;border-color:#ef44444d}.re-btn{background:#6366f1;color:#fff;border:none;border-radius:8px;padding:7px 14px;font-weight:700;cursor:pointer;font-size:.86rem}.re-btn.ghost{background:transparent;color:#818cf8;border:1px solid #6366f1}.re-btn:disabled{opacity:.5;cursor:not-allowed}.re-form{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.re-form label{display:flex;flex-direction:column;gap:3px;font-size:.78rem;color:var(--re-muted)}.re-form input,.re-form select,.re-form textarea{border:1px solid var(--re-line);border-radius:7px;padding:6px 8px;background:#20214a;color:#e2e4f6;font:inherit}.re-err{color:#f87171;font-size:.82rem}.re-okmsg{color:#34d399;font-size:.82rem}.re-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--re-line);padding:5px 0;font-size:.86rem}.re-row:last-child{border-bottom:none}.re-tree{font-size:.88rem}.re-tree .re-node{padding:3px 0}.re-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:18px;background:linear-gradient(145deg,#0d0f1e,#1a1b3a);font-family:system-ui,sans-serif}.re-login .re-card{width:min(760px,96vw)}.re-person{display:flex;flex-direction:column;gap:2px;text-align:left;background:#20214a;border:1px solid var(--re-line);border-radius:10px;padding:8px 10px;cursor:pointer;font:inherit;color:#e2e4f6}.re-person:hover{border-color:#6366f1}.re-kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.re-kpi{display:flex;flex-direction:column;gap:2px;background:#6366f11a;border:1px solid rgba(99,102,241,.25);border-left:6px solid #6366f1;border-radius:12px;padding:12px 14px;box-shadow:0 8px 20px -14px #000000b3}.re-kpi.ok{border-left-color:#10b981}.re-kpi.late{border-left-color:#ef4444}.re-kpi-l{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:#8b8fc4}.re-kpi-v{font-size:1.55rem;color:#818cf8}.re-kpi-s{font-size:.78rem;color:#8b8fc4}.re-stat{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--re-line);padding:4px 0;font-size:.86rem}.re-stat:last-child{border-bottom:none}.re-bar{display:grid;grid-template-columns:150px 1fr auto;gap:8px;align-items:center;font-size:.8rem;margin:5px 0}.re-bar i{display:block;height:10px;border-radius:6px;background:linear-gradient(90deg,#6366f1,#818cf8)}.re-ex{background:#6366f11a;border:1px dashed #6366f1;color:#a5b4fc;border-radius:8px;padding:5px 10px;font-size:.78rem}.re-table{width:100%;border-collapse:collapse;font-size:.86rem}.re-table th{text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:#8b8fc4;border-bottom:1px solid var(--re-line);padding:4px 6px}.re-table td{border-bottom:1px solid var(--re-line);padding:4px 6px;vertical-align:middle}.re-tabs{display:flex;gap:6px;flex-wrap:wrap}.re-tabs button{background:#20214a;border:1px solid var(--re-line);border-radius:8px;padding:5px 12px;cursor:pointer;font:inherit;color:#e2e4f6}.re-tabs button.on{background:#6366f1;color:#fff;border-color:#6366f1}.re-doc{background:#1a1b3af7;border:1px solid var(--re-line);border-radius:12px;padding:12px 16px;overflow:auto;color:#e2e4f6}.re-doc table{border-collapse:collapse;margin:8px 0;font-size:.84rem}.re-doc th,.re-doc td{border:1px solid var(--re-line);padding:3px 8px;text-align:left;vertical-align:top}.re-doc th{background:#20214a}.re-svg svg{max-width:100%;height:auto}.re-list{display:flex;flex-direction:column;gap:4px}.re-list button{text-align:left;background:#20214a;border:1px solid var(--re-line);border-radius:8px;padding:6px 9px;cursor:pointer;font:inherit;color:#e2e4f6}.re-list button.on{border-color:#6366f1;background:#6366f12e}.re-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}.dp-hero{background:linear-gradient(135deg,#6366f12e,#1a1b3afa);border:1px solid rgba(99,102,241,.3);border-radius:16px;padding:24px 20px;text-align:center}.dp-stat-row{display:flex;gap:12px;flex-wrap:wrap}.dp-stat{display:flex;flex-direction:column;align-items:center;gap:3px;background:#6366f11a;border:1px solid rgba(99,102,241,.22);border-radius:12px;padding:14px 20px;flex:1;min-width:90px}.dp-company-card{background:#1a1b3af7;border:1px solid var(--re-line);border-radius:12px;padding:14px 16px;box-shadow:0 6px 22px -10px #000000b3}.dp-dev-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-content:start}.dp-tag{display:inline-block;background:#6366f124;border:1px solid rgba(99,102,241,.28);color:#a5b4fc;border-radius:99px;padding:1px 9px;font-size:.72rem;font-weight:600;margin-right:4px;margin-bottom:4px}.dp-course-card{background:#1a1b3af7;border:1px solid var(--re-line);border-radius:12px;padding:14px 16px}.dp-topic-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
