*{box-sizing:border-box}:root{--ink: #1b2a41;--paper: #eef2f8;--card: #ffffff;--line: #dbe3ee;--line-strong: #b6c4d8;--accent: #1f4e79;--accent-dark: #16395c;--accent-soft: #e3edf7;--accent-bright: #2f6fae;--gold: #3b6ea5;--danger: #b34034;--danger-soft: #f9e8e5;--muted: #64748f;--sidebar: #0d1b2e;--sidebar-line: #1c3150;--sidebar-text: #b9c8de;--radius: 6px;--shadow: 0 1px 2px rgba(13, 27, 46, .06), 0 2px 10px rgba(13, 27, 46, .05)}html,body,#root{height:100%}body{margin:0;font-family:Segoe UI,Avenir Next,system-ui,-apple-system,Roboto,sans-serif;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.5}h1,h2,h3,h4{font-family:Segoe UI,system-ui,sans-serif;font-weight:650;letter-spacing:.01em;color:var(--ink)}.eyebrow{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-weight:700;margin-bottom:6px}.app-layout{display:flex;min-height:100vh}.sidebar{width:236px;background:var(--sidebar);color:var(--sidebar-text);display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh;border-right:1px solid var(--sidebar-line)}.sidebar .brand{padding:22px 20px 18px;border-bottom:1px solid var(--sidebar-line)}.sidebar .brand .mark{font-family:Georgia,serif;font-size:17px;font-weight:600;color:#f2f6fc;line-height:1.25}.sidebar .brand small{display:block;color:#7fa7d0;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-top:5px}.sidebar nav{flex:1;padding:14px 0}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:9px 20px;color:var(--sidebar-text);text-decoration:none;font-size:13px;border-left:3px solid transparent}.sidebar nav a:hover{background:#132544;color:#f2f6fc}.sidebar nav a.active{background:#132544;color:#f2f6fc;border-left-color:var(--accent-bright)}.main{flex:1;padding:30px 38px 60px;min-width:0}.report-preview{position:fixed;top:0;right:0;bottom:0;left:0;background:#dfe6ef;overflow-y:auto;z-index:300;padding:24px 16px 48px}.report-preview-toolbar{display:flex;justify-content:flex-end;gap:10px;max-width:820px;margin:0 auto 14px}.report-preview-page{background:#fff;color:#111;max-width:820px;margin:0 auto;padding:40px 44px;box-shadow:0 4px 22px #00000029;border-top:4px solid #1f4e79;font-size:12.5px}.report-head{border-bottom:2px solid #1f4e79;padding-bottom:12px;margin-bottom:14px}.report-inst{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#5b6b83;margin-bottom:6px}.report-inst span{display:block;text-transform:none;letter-spacing:.02em;font-size:12px}.report-head h2{margin:0 0 8px;font-size:19px;color:#1b2a41}.report-meta{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:12px;color:#333}.report-title{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:#1f4e79}.report-empty{color:#666}.report-items{display:flex;flex-direction:column;gap:8px}.report-item{display:flex;gap:12px;border:1px solid #d8e0ea;border-left:3px solid #1f4e79;padding:9px 12px;break-inside:avoid}.report-num{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:#1f4e79;color:#fff;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.report-item-body{flex:1;min-width:0}.report-item-name{font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.report-tag{font-size:10px;padding:1px 8px;border-radius:999px;text-transform:uppercase}.report-tag-inst{background:#e3edf7;color:#1f4e79}.report-tag-prop{background:#ece8f7;color:#5b3fa0}.report-tag-ok{background:#e3f2ea;color:#1f6e44}.report-tag-pend{background:#fdf1d7;color:#8a6110}.report-item-sol{border-left-color:#9a7326}.report-item-detail{color:#555;margin-top:2px}.report-item-fecha{margin-top:4px;color:#1b2a41}@media print{#root{display:none!important}body{margin:0!important}.report-preview{position:static!important;inset:auto!important;overflow:visible!important;padding:0!important;background:#fff!important;z-index:auto}.report-preview-toolbar{display:none!important}.report-preview-page{max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important;border:none!important}.report-head{border-bottom-color:#1f4e79}.no-print{display:none!important}@page{size:letter portrait;margin:20mm}}.toast-container{position:fixed;top:16px;right:16px;z-index:200;display:flex;flex-direction:column;gap:8px;max-width:340px}.toast{background:var(--ink);color:#fff;border-radius:var(--radius);padding:11px 16px;font-size:13px;box-shadow:0 6px 20px #0d1b2e40;cursor:pointer;animation:toast-in .18s ease-out}.toast-success{background:#1f6e44}.toast-error{background:var(--danger)}.toast-info{background:var(--accent)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.imp-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fdf3d7;border:1px solid #e0cfa0;color:#7a5713;border-radius:var(--radius);padding:9px 14px;margin-bottom:14px;font-size:13px}.imp-banner strong{color:#5b3f0c}.topbar{position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:18px;margin-bottom:8px;border-bottom:1px solid var(--line)}.topbar-clock{position:absolute;left:50%;transform:translate(-50%);text-align:center;line-height:1.3}.topbar-clock .clock-time{display:block;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:.02em}.topbar-clock .clock-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.topbar-user{display:flex;align-items:center;gap:10px;margin-left:auto}.topbar-name{font-size:13px;font-weight:600;color:var(--muted)}.topbar-role{font-size:11px;color:var(--muted);opacity:.75;text-transform:uppercase;letter-spacing:.06em}.topbar-empresa{font-size:12px;color:var(--muted)}.logout-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--muted);box-shadow:none}.logout-btn:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.fullscreen-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--muted);box-shadow:none}.fullscreen-btn:hover{background:var(--accent-soft, rgba(41, 170, 255, .12));border-color:var(--accent);color:var(--accent)}.page-title{margin:0 0 2px;font-size:26px;font-weight:650}.page-sub{color:var(--muted);margin:0 0 22px;font-size:13.5px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:var(--shadow)}.card h3{margin:0 0 14px;font-size:15.5px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}button,.btn{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:var(--radius);padding:8px 16px;font-size:12.5px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s,transform .05s;text-decoration:none;display:inline-block;line-height:1.2;box-shadow:0 1px 2px #0d1b2e2e}button:hover,.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);box-shadow:0 2px 6px #0d1b2e38}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-secondary{background:#fff;color:var(--ink);border-color:var(--line-strong);box-shadow:none}.btn-secondary:hover{background:#f1f5fb;border-color:var(--line-strong);color:var(--ink);box-shadow:none}.btn-danger{background:#fff;color:var(--danger);border-color:#e4bfba;box-shadow:none}.btn-danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}.btn-gold{background:#fff;color:var(--gold);border-color:#b9cfe6;box-shadow:none}.btn-gold:hover{background:var(--gold);border-color:var(--gold);color:#fff}.btn-success{background:#2f7d4f;border-color:#2f7d4f}.btn-success:hover{background:#25663f;border-color:#25663f}.btn-sm{padding:5px 10px;font-size:11px}.btn-block{width:100%}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:.02em;text-transform:none;line-height:1.4;vertical-align:middle}.badge-green{background:#e3f2ea;color:#1f6e44}.badge-red{background:#fae7e4;color:#b34034}.badge-amber{background:#fdf1d7;color:#8a6110}.badge-gray{background:#eef1f6;color:#5b6b83}.badge-purple{background:#ece8f7;color:#5b3fa0}.badge-blue{background:#e3edf7;color:#1f4e79}label{display:block;font-weight:600;font-size:12.5px;margin:12px 0 5px;letter-spacing:.01em}input[type=text],input[type=email],input[type=password],input[type=number],input[type=file],select,textarea{width:100%;padding:8px 11px;border:1px solid var(--line-strong);border-radius:var(--radius);font-size:13.5px;background:#fff;color:var(--ink);font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2f6fae29}textarea{resize:vertical;min-height:72px}.form-row{display:flex;gap:14px;flex-wrap:wrap}.form-row>div{flex:1;min-width:190px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.table th{text-align:left;padding:10px 14px;background:#f3f6fb;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--line);font-weight:700}.table td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:#f6f9fd}.timeline{position:relative;padding-left:22px}.timeline:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;border-radius:2px;background:#cdd8e8}.tl-stage{position:relative;margin-bottom:14px}.tl-stage:last-child{margin-bottom:0}.tl-stage-head{display:flex;align-items:center;gap:10px;margin:0 0 8px}.tl-stage-num{flex-shrink:0;width:24px;height:24px;margin-left:-28px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:11px;display:inline-flex;align-items:center;justify-content:center;border:3px solid #fff;box-shadow:0 0 0 2px var(--accent)}.tl-stage-title{font-size:13px;font-weight:700;color:var(--accent);line-height:1.3}.timeline-item{position:relative;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-left-width:3px;border-radius:var(--radius);padding:5px 10px;margin-bottom:4px}.timeline-item:before{content:"";position:absolute;left:-20px;top:14px;width:9px;height:9px;border-radius:50%;background:var(--accent-bright);border:2px solid #fff;box-shadow:0 0 0 1px var(--accent-bright)}.tl-detalle{flex:1;min-width:160px;font-size:12.5px}.tl-quien{font-size:11px;color:var(--muted);white-space:nowrap}.tl-fecha{font-size:11px;color:var(--muted);white-space:nowrap;margin-left:auto}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line-strong);margin-bottom:18px;flex-wrap:wrap}.tab{padding:9px 16px;cursor:pointer;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--ink)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.etapas{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.etapa-step{flex:1;min-width:120px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;text-align:center;box-shadow:var(--shadow)}.etapa-step .num{width:22px;height:22px;border-radius:50%;background:#e6ebf3;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:11px}.etapa-step.done .num{background:var(--accent-bright);color:#fff}.etapa-step.active{border-color:var(--accent-bright);box-shadow:inset 0 0 0 1px var(--accent-bright)}.etapa-step.active .num{background:var(--accent);color:#fff}.etapa-step .nombre{font-size:11px;font-weight:700;margin-top:6px;display:block}.etapa-step .estado{font-size:10.5px;color:var(--muted);display:block}.etapa-step.clickable{font:inherit;color:inherit;cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .05s}.etapa-step.clickable:hover{border-color:var(--accent-bright);box-shadow:0 3px 10px #0d1b2e24}.etapa-step.clickable:active{transform:translateY(1px)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#0d1b2e,#142a4a);padding:24px}.login-card{width:380px;background:var(--card);border-radius:var(--radius);padding:34px 34px 26px;border-top:4px solid var(--accent-bright);box-shadow:0 24px 60px #0006}.login-card h1{font-size:20px;margin:0 0 4px}.login-card p{color:var(--muted);margin:0 0 20px;font-size:13px}.login-accounts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.login-accounts button{padding:4px 9px;font-size:10px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d1b2e8c;display:flex;align-items:flex-start;justify-content:center;padding:60px 16px 16px;z-index:100;overflow-y:auto}.modal{width:100%;max-width:520px;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);border-top:4px solid var(--accent);box-shadow:0 18px 50px #00000059;animation:modal-in .14s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 22px 0}.modal-head h3{margin:0;font-size:18px}.modal-close{background:transparent;border:none;color:var(--muted);font-size:24px;line-height:1;padding:0 4px;cursor:pointer;text-transform:none;letter-spacing:0;box-shadow:none}.modal-close:hover{background:transparent;color:var(--ink)}.modal-body{padding:6px 22px 22px}.alert{padding:10px 14px;border-radius:var(--radius);margin:10px 0 16px;font-size:13px;border:1px solid transparent}.alert-error{background:var(--danger-soft);color:var(--danger);border-color:#eecfc9}.alert-success{background:#e3f2ea;color:#1f6e44;border-color:#c6e6d4}.alert-info{background:#e3edf7;color:#1f4e79;border-color:#c4d9ee}.muted{color:var(--muted)}.small{font-size:12px}.mt{margin-top:14px}.mb{margin-bottom:14px}.flex{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.divider{border:none;border-top:1px solid var(--line);margin:16px 0}.doc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.doc-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:14px;box-shadow:var(--shadow)}.doc-card .name{font-weight:650;font-size:13.5px}.doc-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.empty{text-align:center;color:var(--muted);padding:34px;border:1px dashed var(--line-strong);background:var(--card);border-radius:var(--radius)}.checkbox-line{display:flex;align-items:center;gap:8px;font-weight:500;margin:4px 0;font-size:13px}.checkbox-line input{width:15px;height:15px}.welcome{max-width:620px;background:var(--card);border:1px solid var(--line);padding:40px;border-radius:var(--radius);box-shadow:var(--shadow)}.welcome h1{font-size:30px;margin:0 0 10px}.welcome p{color:var(--muted);margin:0 0 24px}.participantes-seccion h4{color:var(--accent)}.participantes-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:900px){.participantes-grid{grid-template-columns:1fr}}.grupo-participante{border:1px solid var(--line);border-top-width:3px;border-radius:var(--radius);padding:14px;background:var(--card);transition:opacity .15s,box-shadow .15s}.grupo-internos{border-top-color:var(--accent-bright)}.grupo-proponentes{border-top-color:#7a5fb0}.grupo-participante.active{box-shadow:var(--shadow)}.grupo-participante.inactive{opacity:.45;filter:saturate(.4)}.grupo-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.grupo-titulo{font-weight:700;font-size:13px;letter-spacing:.02em}.grupo-internos .grupo-titulo{color:var(--accent)}.grupo-proponentes .grupo-titulo{color:#6b4fa8}.segmented{display:inline-flex;background:#eef1f6;border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}.segmented .seg{border:none;background:transparent;color:var(--muted);font-size:12px;font-weight:700;text-transform:none;letter-spacing:.02em;padding:6px 16px;border-radius:999px;box-shadow:none}.segmented .seg:hover{background:#e3e8f0;color:var(--ink);box-shadow:none}.segmented .seg.active{background:var(--accent);color:#fff;box-shadow:0 1px 3px #0d1b2e40}.participantes-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line-strong);border-radius:999px;padding:5px 6px 5px 12px;font-size:12.5px}.chip-text{display:flex;flex-direction:column;line-height:1.15}.chip-text strong{font-weight:600;color:var(--ink)}.chip-sub{font-size:10.5px;color:var(--muted)}.chip-x{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--muted);font-size:16px;line-height:1;box-shadow:none;cursor:pointer}.chip-x:hover{background:var(--danger-soft);color:var(--danger)}
