:root{--bg:#0b1120;--panel:#111827;--panel-2:#162033;--ink:#e5e7eb;--muted:#94a3b8;--line:#263244;--primary:#38bdf8;--primary-dark:#0284c7;--secondary:#334155;--danger:#f87171;--ok:#22c55e;--shadow:0 18px 45px rgba(0,0,0,.35)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top left,#1e3a8a 0,#0b1120 34%,#050816 100%);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;min-height:100vh}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;background:rgba(8,13,25,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(10px);box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:14px}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#38bdf8,#22c55e);color:#031018;font-weight:900;letter-spacing:.5px}.topbar h1{margin:0;font-size:clamp(1.35rem,2.4vw,2.1rem);color:#fff}.topbar p{margin:4px 0 0;color:var(--muted)}.container{width:100%;max-width:1500px;margin:0 auto;padding:22px}.card{background:linear-gradient(180deg,rgba(17,24,39,.96),rgba(15,23,42,.96));border:1px solid var(--line);border-radius:20px;padding:24px;margin-bottom:22px;box-shadow:var(--shadow)}.hidden{display:none!important}.auth-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:28px;align-items:center;min-height:360px}.auth-info{padding:18px}.eyebrow{display:inline-flex;margin-bottom:10px;color:var(--primary);font-size:.76rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.auth-info h2,.checklist-title h2,.module-card h2{margin:0 0 10px;font-size:clamp(1.5rem,3vw,2.2rem);color:#fff}.auth-info p{margin:0;color:var(--muted);font-size:1.05rem;line-height:1.55}.form-box{display:grid;gap:12px}.form-box label,label{font-weight:700;color:#cbd5e1}input,textarea,select{width:100%;border:1px solid #334155;border-radius:12px;background:#020617;color:#e5e7eb;padding:12px 13px;font-size:.98rem;outline:none;transition:.15s}input::placeholder,textarea::placeholder{color:#64748b}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(56,189,248,.16)}button{border:0;border-radius:12px;background:linear-gradient(135deg,#0ea5e9,#2563eb);color:white;padding:12px 16px;font-size:.98rem;font-weight:800;cursor:pointer;transition:.15s;box-shadow:0 12px 25px rgba(14,165,233,.16)}button:hover{filter:brightness(1.08);transform:translateY(-1px)}button.secondary{background:#1f2937;border:1px solid #334155;box-shadow:none;color:#e5e7eb}button.secondary:hover{background:#334155}.actions{display:flex;gap:12px;flex-wrap:wrap}.message{color:var(--danger);font-weight:800}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}.tabs{position:sticky;top:96px;display:flex;flex-direction:column;gap:10px;background:rgba(15,23,42,.94);border:1px solid var(--line);border-radius:20px;padding:14px;box-shadow:var(--shadow)}.tab-btn{width:100%;text-align:left;background:transparent;border:1px solid transparent;box-shadow:none;color:#cbd5e1;padding:14px 16px;border-radius:14px}.tab-btn:hover,.tab-btn.active{background:linear-gradient(135deg,rgba(56,189,248,.18),rgba(37,99,235,.22));border-color:#1d4ed8;color:#fff;transform:none}.tab-content{display:none;min-width:0}.tab-content.active{display:block}.dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:22px}.dashboard article{background:linear-gradient(135deg,#111827,#0f172a);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.dashboard strong{display:block;font-size:2.2rem;color:var(--primary)}.dashboard span{color:var(--muted);font-weight:700}.module-card{overflow:hidden}.grid-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.grid-form.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}.grid-form button{grid-column:1/-1}.list{display:grid;gap:12px;margin-top:18px}.item{border:1px solid var(--line);border-radius:16px;background:#0b1220;padding:16px}.item strong{font-size:1.05rem;color:#fff}.item small{display:inline-block;margin:6px 0 12px;color:var(--muted)}.item button{padding:8px 12px;background:#7f1d1d;font-size:.9rem}.checklist-card{padding:0;overflow:hidden}.checklist-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;background:linear-gradient(135deg,#0f172a,#111827);border-bottom:1px solid var(--line)}.checklist-title h2{margin:0}.checklist-card>.grid-form{padding:22px 24px}.check-section{padding:18px 24px;border-top:1px solid var(--line)}.check-section h3{margin:0 0 12px;padding:10px 14px;border-left:4px solid var(--primary);background:#0b1220;border-radius:10px;color:#e0f2fe;text-transform:uppercase;font-size:1rem;letter-spacing:.03em}.table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:14px}.check-table{width:100%;min-width:760px;border-collapse:collapse;background:#08111f}.check-table th{background:#12304a;color:#e0f2fe;font-size:.85rem;text-transform:uppercase}.check-table th,.check-table td{border:1px solid #263244;padding:8px;vertical-align:middle}.check-table .row-label{min-width:220px;background:#0e1a2b;color:#dbeafe;font-weight:700}.check-table input{border:0;border-radius:8px;background:#020617;min-width:110px;padding:9px}textarea[name="observaciones"]{min-height:130px}#checklistMessage{padding:0 24px 24px}.module-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.muted{color:var(--muted)}.select-row{display:flex;gap:10px;align-items:flex-start}.select-row input{width:auto}
@media(max-width:1100px){.app-shell{grid-template-columns:230px minmax(0,1fr)}.grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}.check-table{min-width:650px}.check-table .row-label{min-width:180px}}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.tabs{position:sticky;top:92px;z-index:15;flex-direction:row;overflow:auto;border-radius:16px}.tab-btn{white-space:nowrap;text-align:center}.auth-layout{grid-template-columns:1fr}.grid-form,.grid-form.compact{grid-template-columns:1fr}.dashboard{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.container{padding:14px}.module-head{flex-direction:column}}
@media(max-width:640px){body{background:#050816}.topbar{position:relative;padding:16px}.brand{align-items:flex-start}.brand-mark{width:44px;height:44px;border-radius:14px;flex:0 0 auto}.topbar h1{font-size:1.35rem;line-height:1.1}.topbar p{font-size:.94rem;line-height:1.35}.container{padding:10px}.card{border-radius:16px;padding:16px}.tabs{top:0;margin:-2px 0 12px;padding:8px}.tab-btn{padding:11px 12px;font-size:.92rem}.checklist-card{border-radius:16px}.checklist-title{position:sticky;top:0;z-index:10;display:block;padding:16px;background:#07101f}.checklist-title button{width:100%;margin-top:12px;min-height:48px}.checklist-card>.grid-form{padding:14px}.check-section{padding:14px;border-top:1px solid #223047}.check-section h3{font-size:.95rem;margin-bottom:14px}.table-wrap{overflow:visible;border:0;border-radius:0}.check-table{display:block;min-width:0;width:100%;background:transparent}.check-table thead{display:none}.check-table tbody{display:grid;gap:12px}.check-table tr{display:block;border:1px solid var(--line);border-radius:14px;background:#0b1220;padding:12px}.check-table td{display:block;border:0;padding:0;background:transparent}.check-table .row-label{display:block;min-width:0;background:transparent;color:#e0f2fe;font-size:1rem;font-weight:900;margin-bottom:10px}.check-table td:not(.row-label){display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:center;margin-top:8px}.check-table td:not(.row-label)::before{content:attr(data-label);display:block;color:#38bdf8;font-size:.82rem;font-weight:900;line-height:1.2;text-transform:none;letter-spacing:0}.check-table td:not(.row-label):not([data-label])::before{content:"Dato"}.check-table input{min-width:0;width:100%;min-height:46px;border:1px solid #334155;background:#020617}.grid-form input,.grid-form select,.grid-form textarea,input,select,textarea{min-height:46px;font-size:1rem}.dashboard strong{font-size:1.8rem}.actions button{width:100%}}
