:root{color:#1f2933;background:#edf2f7;font-family:Segoe UI,Arial,Helvetica,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font-family:inherit}#root{min-height:100vh}.admin-shell{background:#eef2f6;color:#1f2933;display:flex;min-height:100vh}.admin-sidebar{background:#17202a;color:#fff;flex:0 0 260px;padding:20px}.sidebar-brand{align-items:center;border-bottom:1px solid rgba(255,255,255,.12);display:flex;gap:12px;padding-bottom:18px}.sidebar-brand small{color:#a7b0bd;display:block}.brand-mark{align-items:center;background:#0f766e;border-radius:8px;color:#fff;display:inline-flex;font-weight:700;height:42px;justify-content:center;width:42px}.brand-logo{background:#fff;border-radius:10px;box-shadow:0 10px 24px #0f766e38;height:42px;object-fit:contain;padding:4px;width:42px}.sidebar-nav{display:grid;gap:6px;margin-top:20px}.sidebar-nav button{background:transparent;border:0;border-radius:6px;color:#d1d5db;cursor:pointer;font:inherit;padding:10px 12px;text-align:left}.sidebar-nav button.active,.sidebar-nav button:hover:not(:disabled){background:#243241;color:#fff}.sidebar-nav button:disabled{color:#6b7280;cursor:default}.sidebar-group{display:grid;gap:4px}.sidebar-group summary{border-radius:6px;color:#f8fafc;cursor:pointer;font-weight:700;list-style-position:inside;padding:10px 12px}.sidebar-group summary:hover{background:#243241}.sidebar-group button{margin-left:14px}.admin-main{flex:1;min-width:0;padding:24px}.notification-center{display:grid;gap:10px;position:fixed;right:22px;top:22px;width:min(390px,calc(100vw - 32px));z-index:40}.notification-card{align-items:start;background:#fff;border:1px solid #dbe4ee;border-left:5px solid #64748b;border-radius:8px;box-shadow:0 18px 48px #0f172a29;display:grid;gap:10px;grid-template-columns:38px minmax(0,1fr) 24px;padding:12px}.notification-success{border-left-color:#0f766e}.notification-error{border-left-color:#b91c1c}.notification-warning{border-left-color:#b45309}.notification-info{border-left-color:#2563eb}.notification-icon{align-items:center;background:#f1f5f9;border-radius:999px;color:#0f172a;display:inline-flex;font-size:12px;font-weight:800;height:32px;justify-content:center;width:32px}.notification-copy{display:grid;gap:4px;line-height:1.35}.notification-copy strong{color:#0f172a;font-size:14px}.notification-copy span{color:#1f2933;font-size:13px}.notification-copy small{color:#64748b;font-size:12px}.notification-close{background:transparent;border:0;color:#64748b;cursor:pointer;font:inherit;font-size:18px;line-height:1}.admin-topbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:22px}.topbar-actions{align-items:center;display:inline-flex;gap:12px}.user-chip{align-items:center;background:#fff;border:1px solid #dde5ee;border-radius:8px;display:inline-flex;gap:10px;min-height:46px;padding:6px 10px}.user-avatar{align-items:center;background:#0f766e;border-radius:999px;color:#fff;display:inline-flex;font-size:13px;font-weight:800;height:34px;justify-content:center;object-fit:cover;width:34px}.user-chip strong,.user-chip span{display:block;line-height:1.2}.user-chip span{color:#64748b;font-size:12px;margin-top:2px}.admin-topbar h1,.panel-heading h2,.detail-panel h2{margin:0}.admin-topbar p,.panel-heading p,.admin-table small,.selected-summary span,.selected-summary p{color:#64748b;margin:0}.icon-button,.primary-button,.secondary-button,.danger-button{border-radius:6px;cursor:pointer;font-family:inherit;font-weight:700;min-height:38px}.icon-button{background:#fff;border:1px solid #cbd5e1;color:#334155;width:38px}.action-icon{display:inline-block;height:16px;position:relative;width:16px}.action-icon-print:before{background:#fff;border:1.6px solid #0f4f61;border-radius:2px;content:"";height:8px;left:2px;position:absolute;top:1px;width:12px}.action-icon-print:after{background:linear-gradient(#0f4f61,#0f4f61) 4px 8px / 8px 1.5px no-repeat,linear-gradient(#0f4f61,#0f4f61) 11px 5px / 2px 2px no-repeat,#f8fafc;border:1.6px solid #0f4f61;border-radius:3px;content:"";height:8px;left:1px;position:absolute;top:6px;width:14px}.action-icon-excel{border:1.6px solid #167a3f;border-radius:2px}.action-icon-excel:before{background:#167a3f;content:"";height:100%;left:0;position:absolute;top:0;width:5px}.action-icon-excel:after{color:#167a3f;content:"X";font-size:9px;font-weight:800;left:7px;line-height:1;position:absolute;top:3px}.action-icon-edit:before{background:#0f4f61;border-radius:2px;content:"";height:4px;left:3px;position:absolute;top:10px;transform:rotate(-38deg);width:12px}.action-icon-edit:after{border-bottom:4px solid #0f4f61;border-left:3px solid transparent;border-right:3px solid transparent;content:"";left:1px;position:absolute;top:11px;transform:rotate(-38deg)}.action-icon-users:before,.action-icon-users:after{background:#0f4f61;border-radius:999px 999px 3px 3px;content:"";position:absolute}.action-icon-users:before{box-shadow:0 -5px 0 -1px #0f4f61;height:8px;left:2px;top:8px;width:7px}.action-icon-users:after{box-shadow:0 -5px 0 -1px #0f4f61;height:8px;right:1px;top:8px;width:7px}.action-icon-phases:before{background:linear-gradient(#0f4f61,#0f4f61) 0 0 / 7px 2px no-repeat,linear-gradient(#0f4f61,#0f4f61) 9px 0 / 7px 2px no-repeat,linear-gradient(#0f4f61,#0f4f61) 0 7px / 7px 2px no-repeat,linear-gradient(#0f4f61,#0f4f61) 9px 7px / 7px 2px no-repeat,linear-gradient(#0f4f61,#0f4f61) 0 14px / 7px 2px no-repeat,linear-gradient(#0f4f61,#0f4f61) 9px 14px / 7px 2px no-repeat;content:"";height:16px;left:0;position:absolute;top:0;width:16px}.action-icon-archive:before{border:1.6px solid #0f4f61;border-radius:2px;content:"";height:10px;left:2px;position:absolute;top:5px;width:12px}.action-icon-archive:after{background:linear-gradient(#0f4f61,#0f4f61) 5px 5px / 6px 1.5px no-repeat,#0f4f61;border-radius:2px 2px 0 0;content:"";height:4px;left:1px;position:absolute;top:2px;width:14px}.action-icon-refresh:before{border:2px solid #0f4f61;border-right-color:transparent;border-radius:999px;content:"";height:11px;left:2px;position:absolute;top:2px;width:11px}.action-icon-refresh:after{border-bottom:4px solid transparent;border-left:5px solid #0f4f61;border-top:4px solid transparent;content:"";position:absolute;right:0;top:1px}.action-icon-project:before{border:1.6px solid #0f4f61;border-radius:2px;content:"";height:13px;left:3px;position:absolute;top:1px;width:10px}.action-icon-project:after{background:linear-gradient(#0f4f61,#0f4f61) 0 0 / 7px 1.5px no-repeat,linear-gradient(#0f4f61,#0f4f61) 0 4px / 7px 1.5px no-repeat,linear-gradient(#0f4f61,#0f4f61) 0 8px / 5px 1.5px no-repeat;content:"";height:10px;left:5px;position:absolute;top:4px;width:7px}.action-icon-remove:before,.action-icon-remove:after{background:#b91c1c;border-radius:2px;content:"";height:2px;left:2px;position:absolute;top:7px;width:12px}.action-icon-remove:before{transform:rotate(45deg)}.action-icon-remove:after{transform:rotate(-45deg)}.action-icon-copy:before,.action-icon-copy:after{border:1.6px solid #0f4f61;border-radius:2px;content:"";position:absolute}.action-icon-copy:before{height:10px;left:5px;top:2px;width:8px}.action-icon-copy:after{background:#fff;height:10px;left:2px;top:5px;width:8px}.sr-only{height:1px;margin:-1px;overflow:hidden;position:absolute;width:1px}.table-actions,.col-simple-actions{align-items:center;display:flex;gap:8px}.table-actions{justify-content:flex-end}.btn-transparent{background:transparent;border-color:transparent}.btn-transparent:hover{background:#f1f5f9;border-color:#cbd5e1}.link-button,.table-sort-button{background:transparent;border:0;color:#075985;cursor:pointer;font:inherit;padding:0;text-align:left}.link-button{display:block;font-weight:700}.table-sort-button{font-weight:700}.link-button:hover,.table-sort-button:hover{text-decoration:underline}.metric-grid{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.token-panel{align-items:center;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(420px,720px);margin-bottom:18px;padding:16px}.token-panel p{color:#64748b;margin:4px 0 0}.token-actions{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto}.session-row{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-bottom:18px}.login-form{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.session-badge{background:#dcfce7;border-radius:999px;color:#166534;display:inline-flex;font-weight:700;justify-self:end;padding:8px 12px}.registro-panel{margin-bottom:18px}.registro-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 18px 18px}.auth-panel{margin-bottom:18px}.auth-tabs{background:#eef2f7;border-radius:6px;display:inline-flex;gap:4px;padding:4px}.auth-tabs button{background:transparent;border:0;border-radius:5px;color:#475569;cursor:pointer;font:inherit;font-weight:700;padding:8px 12px}.auth-tabs button.active{background:#fff;color:#0f172a;box-shadow:0 1px 4px #0f172a1f}.auth-provider-row{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:12px;padding:0 18px 16px}.auth-provider-row span{color:#64748b;font-size:13px}.metric-card,.content-panel{background:#fff;border:1px solid #dde5ee;border-radius:8px;box-shadow:0 8px 20px #0f172a0d}.metric-card{display:grid;gap:4px;padding:16px}.metric-card span{color:#64748b;font-size:13px}.metric-card strong{font-size:28px;line-height:1}.workspace-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) minmax(320px,380px)}.single-workspace{display:block}.section-gap{margin-top:18px}.content-panel{overflow:hidden}.panel-heading,.detail-panel{padding:18px}.list-container{margin:0}.table-title{color:#0f172a;font-size:19px;letter-spacing:0;margin:0;padding:16px 14px 4px;text-transform:uppercase}.list-container-header{align-items:center;display:flex;justify-content:space-between;padding:8px 14px}.top-actions{padding-top:0}.list-tools{align-items:end;padding-bottom:14px}.left-buttons,.right-buttons{align-items:center;display:inline-flex;gap:8px}.table-wrap{overflow-x:auto}.search-control{align-items:center;border:1px solid #d6dee8;border-radius:4px;display:inline-grid;grid-template-columns:28px minmax(120px,180px);min-height:24px}.search-control span{color:#475569;text-align:center}.search-control input{border:0;border-left:1px solid #d6dee8;border-radius:0;font-size:12px;min-height:22px;padding:3px 8px}.search-control input:focus{box-shadow:none}.new-record-button{background:#fff;border:1px solid #dc2626;border-radius:8px;color:#dc2626;cursor:pointer;font-family:inherit;font-size:12px;font-weight:700;min-height:32px;padding:0 12px}.new-record-button:hover{background:#fff1f2}.list-status{color:#64748b;font-size:13px;margin:0;padding:0 14px 10px}.admin-table{border-collapse:collapse;min-width:720px;width:100%}.admin-table th{background:#fff;color:#000;font-size:12px;letter-spacing:0;text-align:center;text-transform:none}.admin-table td,.admin-table th{border:1px solid #d9e1ea;padding:5px 8px;vertical-align:middle}.admin-table td{font-size:12px}.admin-table .col-index{width:40px}.admin-table .col-simple-actions{width:122px}.admin-table tbody tr{cursor:pointer}.admin-table tbody tr:hover,.selected-row{background:#f0fdfa}.status-badge{border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;padding:5px 10px}.status-active{background:#dcfce7;color:#166534}.status-muted{background:#e2e8f0;color:#475569}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.form-wide{grid-column:1 / -1}.form-field{display:grid;gap:7px}.campo-label{align-items:center;color:#334155;display:flex;font-size:13px;font-weight:700;justify-content:space-between}.campo-label strong{color:#b91c1c}.ayuda-campo{align-items:center;background:#e0f2fe;border-radius:999px;color:#0369a1;display:inline-flex;font-size:12px;height:20px;justify-content:center;position:relative;width:20px}.ayuda-texto{background:#111827;border-radius:6px;bottom:calc(100% + 8px);color:#fff;display:none;font-size:12px;font-weight:400;line-height:1.35;padding:8px 10px;position:absolute;right:0;width:220px;z-index:4}.ayuda-campo:hover .ayuda-texto,.ayuda-campo:focus .ayuda-texto{display:block}input,select,textarea{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#1f2933;font:inherit;min-height:40px;padding:8px 10px}input:focus,select:focus,textarea:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e24;outline:none}textarea{min-height:auto;resize:vertical}input[type=checkbox]{min-height:auto;padding:0}.form-actions{display:flex;gap:10px;justify-content:flex-end}.primary-button{background:#0f766e;border:1px solid #0f766e;color:#fff;padding:0 16px}.secondary-button{background:#fff;border:1px solid #cbd5e1;color:#334155;padding:0 16px}.danger-button{background:#fff;border:1px solid #fecaca;color:#b91c1c;padding:0 16px}.compact-button{font-size:13px;min-height:24px;padding:0 6px}.tech-action-button{align-items:center;background:linear-gradient(135deg,#10253a,#0f766e);border:1px solid rgba(15,118,110,.45);border-radius:7px;color:#fff;cursor:pointer;display:inline-flex;font:inherit;font-size:12px;font-weight:800;gap:7px;min-height:30px;padding:0 10px}.tech-action-button .action-icon:before,.tech-action-button .action-icon:after{border-color:#fff}.tech-action-button .action-icon-edit:before,.tech-action-button .action-icon-users:before,.tech-action-button .action-icon-users:after{background:#fff}.tech-action-button.danger{background:linear-gradient(135deg,#431407,#b91c1c);border-color:#b91c1c59}.button-icon{display:inline-flex;font-size:16px;justify-content:center;min-width:16px}.row-actions{display:inline-flex;gap:6px;white-space:nowrap}.inline-admin-form{align-items:end;background:#f8fafc;border:1px solid #dbe4ee;border-radius:8px;display:grid;gap:8px;grid-template-columns:repeat(8,minmax(80px,1fr)) auto;margin:12px 0 16px;padding:12px}.inline-admin-form input,.inline-admin-form select{min-height:34px}.table-thumb{aspect-ratio:1;border:1px solid #e2e8f0;border-radius:6px;height:42px;object-fit:cover;width:42px}.image-preview{aspect-ratio:1;border:1px solid #cbd5e1;border-radius:8px;display:block;margin-top:10px;max-width:120px;object-fit:cover;width:100%}.detail-heading{align-items:center;display:flex;gap:12px;justify-content:space-between}.selected-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:18px;padding:14px}.selected-summary strong{display:block;margin-top:4px}.profile-preview{display:block;width:76px;height:76px;object-fit:cover;border:1px solid #d5dee8;border-radius:6px;margin-top:6px}.context-summary-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 14px 12px}.context-summary-grid .selected-summary{margin-top:0}.phase-strip{align-items:flex-start;border-top:1px solid #e2e8f0;display:flex;gap:8px;overflow-x:auto;padding:10px 14px}.phase-item{display:grid;flex:0 0 150px;gap:5px;width:150px}.phase-pill{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;display:inline-grid;font:inherit;font-size:12px;font-weight:700;gap:2px;min-width:150px;padding:8px 10px;text-align:left;width:150px}.phase-pill span{color:#64748b;font-size:11px;font-weight:600}.phase-pill.active{border-color:#0f766e;color:#0f766e}.phase-pill.selected{border-color:#facc15;box-shadow:0 0 0 2px #facc1538}.phase-grade-inline{align-items:center;background:#fffdf2;border:1px solid #fde68a;border-radius:6px;display:flex;gap:4px;padding:4px;width:150px}.phase-grade-inline input{flex:1 1 auto;min-height:26px;min-width:0;padding:2px 5px;width:0}.phase-grade-inline .compact-button{flex:0 0 auto;font-size:11px;min-height:26px;padding:0 5px}.modal-backdrop{align-items:center;background:#0f172a8c;bottom:0;display:flex;justify-content:center;left:0;padding:24px;position:fixed;right:0;top:0;z-index:20}.modal-panel{background:#fff;border-radius:6px;box-shadow:0 24px 70px #0f172a59;max-height:calc(100vh - 48px);max-width:860px;overflow:auto;width:min(860px,100%)}.modal-panel-wide{max-width:980px;width:min(980px,100%)}.phase-document-modal{max-width:1280px;width:min(1280px,100%)}.print-preview-modal{max-width:1120px;width:min(1120px,100%)}.print-preview-body{background:#e5edf5;padding:12px}.print-preview-body iframe{background:#fff;border:1px solid #cbd5e1;border-radius:6px;height:min(68vh,760px);width:100%}.report-builder-modal{max-width:980px;width:min(980px,100%)}.report-builder-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.4fr) minmax(260px,.7fr);padding:16px}.report-phase-list{display:grid;gap:10px}.report-phase-list h3{font-size:15px;margin:0}.report-phase-item{align-items:center;background:#f8fafc;border:1px solid #dbe4ee;border-radius:8px;display:grid;gap:8px;grid-template-columns:minmax(180px,1fr) 140px 110px;padding:10px}.report-phase-item input[type=number],.report-phase-item select{min-height:32px}.modal-header{align-items:center;background:#254159;color:#fff;display:flex;justify-content:space-between;padding:14px 12px}.modal-header h2{font-size:18px;margin:0}.modal-header p{color:#dbeafe;font-size:12px;font-weight:600;margin:4px 0 0}.modal-close{background:transparent;border:0;color:#fff;cursor:pointer;font:inherit;font-size:22px;line-height:1}.modal-form-grid{display:grid;gap:14px 18px;grid-template-columns:repeat(4,minmax(0,1fr));padding:16px 12px 12px}.modal-wide{grid-column:1 / -1}.modal-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.embedded-header{border-top:1px solid #e2e8f0;margin-top:4px;padding-top:12px}.modal-table-wrap{margin:0 12px 16px}.phase-actions-grid{padding-bottom:0;padding-top:0}.confirm-panel{background:#fff;border-radius:6px;box-shadow:0 24px 70px #0f172a59;max-width:460px;overflow:hidden;width:min(460px,100%)}.confirm-header{align-items:center;color:#fff;display:flex;justify-content:space-between;padding:14px 16px}.confirm-header h2{font-size:18px;margin:0}.confirm-header p{color:#ffffffd6;font-size:12px;font-weight:600;margin:4px 0 0}.confirm-danger{background:#7f1d1d}.confirm-primary{background:#254159}.confirm-body{padding:18px 16px 8px}.confirm-body p{color:#1f2933;font-weight:700;margin:0}.confirm-body span{color:#64748b;display:block;font-size:13px;margin-top:8px}.confirm-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end;padding:14px 16px 16px}.subform-heading,.fase-editor-head{align-items:center;display:flex;justify-content:space-between}.modelo-fases{display:grid;gap:12px}.fase-editor{border:1px solid #d9e1ea;border-radius:6px;padding:12px}.fase-editor-head{border-bottom:1px solid #e5edf5;margin-bottom:12px;padding-bottom:8px}.fase-editor-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.check-field{align-items:center;color:#334155;display:inline-flex;font-size:13px;font-weight:700;gap:8px;min-height:34px}@media (max-width: 1040px){.admin-shell{display:block}.metric-grid,.context-summary-grid,.registro-grid,.workspace-grid,.token-panel{grid-template-columns:1fr}}@media (max-width: 640px){.admin-main,.admin-sidebar{padding:16px}.admin-topbar{align-items:flex-start;display:grid;gap:12px}.form-grid,.token-actions,.login-form{grid-template-columns:1fr}.session-badge{justify-self:start}}.public-shell{background:linear-gradient(rgba(120,210,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(120,210,255,.035) 1px,transparent 1px),radial-gradient(circle at 72% 18%,rgba(45,156,143,.24),transparent 28%),radial-gradient(circle at 18% 28%,rgba(245,197,66,.2),transparent 24%),linear-gradient(180deg,#06101d,#0d1d31 720px,#edf2f7 720px,#edf2f7);background-size:42px 42px,42px 42px,auto,auto,auto;display:block}.public-shell .admin-sidebar,.public-shell .admin-topbar{display:none}.public-shell .admin-main{padding:0}.public-landing{color:#fff;min-height:100vh;overflow:hidden;position:relative}.public-landing:before,.public-landing:after{content:"";pointer-events:none;position:absolute;z-index:0}.public-landing:before{background:radial-gradient(circle,rgba(255,255,255,.24) 0 1px,transparent 2px),radial-gradient(circle,rgba(45,156,143,.34) 0 1px,transparent 2px);background-position:0 0,24px 28px;background-size:92px 92px,118px 118px;height:680px;left:0;opacity:.38;right:0;top:72px}.public-landing:after{background:linear-gradient(120deg,transparent 0 18%,rgba(45,156,143,.18) 18% 18.3%,transparent 18.3% 100%),linear-gradient(32deg,transparent 0 42%,rgba(242,183,5,.16) 42% 42.25%,transparent 42.25% 100%);height:640px;inset:72px 0 auto;opacity:.8}.public-nav,.public-hero,.public-feature-grid,.public-access-grid{position:relative;z-index:1}.public-nav{align-items:center;background:#06101df0;border-bottom:1px solid rgba(255,255,255,.08);display:flex;gap:28px;justify-content:space-between;min-height:72px;padding:0 clamp(22px,5vw,76px)}.public-brand{align-items:center;display:inline-flex;gap:12px;font-size:22px;font-weight:900;letter-spacing:.04em}.public-nav nav{align-items:center;display:inline-flex;gap:28px}.public-nav a{color:#ffffffc7;font-size:14px;font-weight:700;text-decoration:none}.public-nav a:hover{color:#fff}.public-dashboard-button{background:#f2b705;border:0;border-radius:8px;color:#162032;cursor:pointer;font:inherit;font-weight:800;min-height:38px;padding:0 18px}.public-hero{align-items:center;background:linear-gradient(rgba(120,210,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(120,210,255,.045) 1px,transparent 1px),radial-gradient(circle at 74% 34%,rgba(45,156,143,.18),transparent 30%),radial-gradient(circle at 17% 20%,rgba(242,183,5,.16),transparent 24%),linear-gradient(180deg,#06101d,#0d1d31);background-size:46px 46px,46px 46px,auto,auto,auto;display:grid;gap:44px;grid-template-columns:minmax(0,1.05fr) minmax(340px,.8fr);min-height:610px;padding:72px clamp(22px,7vw,112px) 86px}.public-hero-copy{display:grid;gap:20px;max-width:760px}.public-kicker{align-items:center;background:#f2b7051f;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#ffd25a;display:inline-flex;font-size:13px;font-weight:800;justify-self:start;padding:8px 12px}.public-hero h1{color:#fff;font-size:clamp(42px,6vw,78px);letter-spacing:-.02em;line-height:.98;margin:0;max-width:850px}.public-hero-copy,.public-hero-copy h1,.public-hero-copy p,.public-stats,.public-stats strong{color:#fff}.public-hero h1:first-line{color:#fff}.public-hero p,.public-access-copy p{color:#d7e4f1;font-size:18px;line-height:1.55;margin:0;max-width:690px}.public-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.public-actions .primary-button,.public-actions .secondary-button{min-height:48px}.public-actions .secondary-button{background:#ffffff1a;border-color:#ffffff47;color:#fff}.public-stats{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:18px}.public-stats strong{color:#fff;font-size:18px}.public-stats span{color:#a9bdd3;margin-right:18px}.public-preview{justify-self:center;position:relative;width:min(440px,100%)}.public-preview:before{border:1px solid rgba(45,156,143,.34);border-radius:24px;content:"";top:-24px;right:-24px;bottom:-24px;left:-24px;position:absolute;transform:rotate(-3deg)}.public-preview:after{background:linear-gradient(90deg,transparent,rgba(242,183,5,.48),transparent);content:"";height:1px;left:-52px;position:absolute;right:-52px;top:50%}.preview-window{background:#081220d1;border:1px solid rgba(255,255,255,.14);border-radius:14px;box-shadow:0 32px 90px #00000057;overflow:hidden;position:relative;z-index:1}.preview-head{align-items:center;background:#070d16c2;display:flex;gap:7px;height:42px;padding:0 14px}.preview-head span{background:#f5c542;border-radius:999px;height:9px;width:9px}.preview-head span:nth-child(2){background:#2d9c8f}.preview-head span:nth-child(3){background:#60a5fa}.preview-body{display:grid;gap:14px;padding:22px}.preview-line{background:#d7e4f13d;border-radius:999px;height:12px;width:56%}.preview-line.wide{width:82%}.preview-phase{align-items:center;background:#ffffff1f;border:1px solid rgba(255,255,255,.16);border-radius:8px;display:grid;gap:4px;grid-template-columns:1fr auto;padding:14px}.preview-phase.active{border-color:#2d9c8f}.preview-phase strong,.preview-phase small{grid-column:1}.preview-phase em{background:#f2b705;border-radius:6px;color:#162032;font-style:normal;font-weight:900;grid-row:1 / span 2;padding:8px 10px}.preview-table{display:grid;gap:8px}.preview-table span{background:#d7e4f12e;border-radius:6px;height:22px}.public-feature-grid{color:#132136;display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));margin:-34px clamp(22px,7vw,112px) 0;position:relative;z-index:1}.public-feature-grid article{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #dbe5ef;border-radius:10px;box-shadow:var(--seg-shadow-sm);display:grid;gap:8px;padding:18px}.public-feature-grid strong{font-size:17px}.public-feature-grid span{color:#627089;line-height:1.45}.public-access-grid{align-items:start;color:#162032;display:grid;gap:34px;grid-template-columns:minmax(0,.8fr) minmax(420px,1fr);padding:64px clamp(22px,7vw,112px) 80px}.public-access-copy{display:grid;gap:14px;padding-top:18px}.public-access-copy .public-kicker{background:#fff3bf;border-color:#f3d66f;color:#8a6400}.public-access-copy h2{font-size:clamp(30px,4vw,48px);line-height:1.05;margin:0}.public-access-copy p{color:#627089}.public-auth-card{border-radius:12px;color:#162032}.public-auth-card h2,.public-auth-card p,.public-auth-card .campo-label{color:#162032}.public-auth-card .auth-provider-row span,.public-auth-card .panel-heading p{color:#627089}.public-auth-card:before{border-radius:12px 12px 0 0}.public-auth-card .login-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;padding:0 18px 18px}.public-footer{align-items:start;background:#101827;border-top:10px solid #1f2937;color:#d7e4f1;display:grid;gap:42px;grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(160px,.75fr));padding:68px clamp(22px,8vw,148px) 42px;position:relative}.public-footer-brand{align-items:center;display:flex;gap:14px}.footer-logo{background:#fff;border-radius:12px;height:58px;object-fit:contain;padding:6px;width:58px}.public-footer strong{color:#ff7a1a;font-size:28px;font-weight:900;letter-spacing:0}.public-footer p{color:#9fb0c6;font-size:15px;margin:18px 0 0}.public-footer-column{display:grid;gap:14px}.public-footer-column h3{color:#fff;font-size:14px;font-weight:900;margin:0 0 8px;text-transform:uppercase;text-shadow:0 2px 0 rgba(0,0,0,.32)}.public-footer a{color:#b9d0ec;font-size:15px;font-weight:500;text-decoration:none}.public-footer a:hover{color:#f5c542}.public-footer-bottom{border-top:1px solid rgba(185,208,236,.22);color:#8fb1d6;display:flex;font-size:13px;grid-column:1 / -1;justify-content:space-between;margin-top:36px;padding-top:28px}@media (max-width: 980px){.public-nav nav{display:none}.public-hero,.public-access-grid,.public-feature-grid{grid-template-columns:1fr}.public-hero{min-height:auto}.public-feature-grid{margin-top:0}.public-auth-card .login-form,.public-footer{grid-template-columns:1fr}.public-footer-bottom{display:grid;gap:8px}}:root{--seg-ink: #162032;--seg-muted: #627089;--seg-line: #d7e0ea;--seg-panel: #ffffff;--seg-page: #edf2f7;--seg-sidebar: #17283b;--seg-sidebar-2: #213850;--seg-brand: #0f766e;--seg-navy: #24445f;--seg-gold: #f5c542;--seg-shadow-sm: 0 8px 22px rgba(19, 35, 54, .07);--seg-shadow-md: 0 18px 48px rgba(19, 35, 54, .16);--seg-shadow-lg: 0 28px 80px rgba(15, 23, 42, .34)}.admin-shell{background:linear-gradient(180deg,#ffffffc7,#edf2f7f5 240px),var(--seg-page);color:var(--seg-ink)}.admin-sidebar{background:linear-gradient(180deg,#0f766e24,#0f766e00 220px),var(--seg-sidebar);box-shadow:8px 0 28px #0f172a1f}.sidebar-brand strong{letter-spacing:.02em}.brand-mark{background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.32),transparent 28%),linear-gradient(135deg,#0f766e,#2d9c8f);box-shadow:0 10px 24px #0f766e52}.sidebar-nav button{transition:background .14s ease,color .14s ease,transform .14s ease}.sidebar-nav button.active,.sidebar-nav button:hover:not(:disabled),.sidebar-group summary:hover{background:var(--seg-sidebar-2)}.sidebar-nav button:hover:not(:disabled){transform:translate(2px)}.admin-main{padding:22px 26px 28px}.admin-topbar{background:#ffffffc7;border:1px solid rgba(215,224,234,.95);border-radius:8px;box-shadow:var(--seg-shadow-sm);padding:14px 16px}.admin-topbar h1{color:var(--seg-ink);font-size:24px}.admin-sidebar{background:radial-gradient(circle at 18% 6%,rgba(245,197,66,.18),transparent 26%),radial-gradient(circle at 88% 18%,rgba(45,156,143,.28),transparent 24%),linear-gradient(180deg,#081421,#14263a 52%,#101d2b);border-right:1px solid rgba(255,255,255,.08);padding:18px 14px}.sidebar-brand{background:#ffffff0e;border:1px solid rgba(255,255,255,.09);border-radius:10px;margin-bottom:18px;padding:12px}.sidebar-brand small{color:#9fb0c6;font-size:11px;font-weight:700}.brand-mark{border-radius:10px;height:40px;width:40px}.sidebar-section-label{color:#7f95ad;font-size:10px;font-weight:900;letter-spacing:.12em;padding:2px 10px 6px;text-transform:uppercase}.sidebar-nav{gap:7px;margin-top:0}.sidebar-nav button{align-items:center;border:1px solid transparent;display:flex;justify-content:space-between;min-height:40px;padding:8px 10px}.menu-button-copy{align-items:center;display:inline-flex;gap:10px;min-width:0}.menu-icon{align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#d7e4f1;display:inline-flex;flex:0 0 26px;font-size:11px;font-weight:900;height:26px;justify-content:center;position:relative;width:26px}.menu-icon:before,.menu-icon:after{content:"";position:absolute}.menu-icon-usuarios:before,.menu-icon-tutor:before,.menu-icon-asesor:before,.menu-icon-tribunal:before,.menu-icon-estudiante:before,.menu-icon-docente:before,.menu-icon-perfil:before{border:2px solid currentColor;border-radius:999px;height:6px;top:5px;width:6px}.menu-icon-usuarios:after,.menu-icon-tutor:after,.menu-icon-asesor:after,.menu-icon-tribunal:after,.menu-icon-estudiante:after,.menu-icon-docente:after,.menu-icon-perfil:after{border:2px solid currentColor;border-radius:8px 8px 3px 3px;bottom:5px;height:6px;width:12px}.menu-icon-usuarios:before{box-shadow:7px 1px 0 -2px currentColor;left:5px}.menu-icon-usuarios:after{box-shadow:7px 0 0 -2px currentColor;left:4px}.menu-icon-docente:before,.menu-icon-estudiante:before,.menu-icon-tutor:before,.menu-icon-asesor:before,.menu-icon-tribunal:before,.menu-icon-perfil:before{left:8px}.menu-icon-docente:after,.menu-icon-estudiante:after,.menu-icon-tutor:after,.menu-icon-asesor:after,.menu-icon-tribunal:after,.menu-icon-perfil:after{left:5px}.menu-icon-docente{box-shadow:inset 0 -3px #f5c54252}.menu-icon-tribunal{box-shadow:inset 0 3px #f5c54252}.menu-icon-centro:before,.menu-icon-facultad:before{border:2px solid currentColor;border-radius:2px;height:11px;left:5px;top:8px;width:12px}.menu-icon-centro:after,.menu-icon-facultad:after{border-bottom:5px solid currentColor;border-left:8px solid transparent;border-right:8px solid transparent;left:4px;top:4px}.menu-icon-carrera:before,.menu-icon-modelos:before,.menu-icon-planes:before{border:2px solid currentColor;border-radius:2px;height:13px;left:6px;top:5px;width:11px}.menu-icon-carrera:after,.menu-icon-modelos:after,.menu-icon-planes:after{background:linear-gradient(currentColor,currentColor) 0 0 / 8px 1.5px no-repeat,linear-gradient(currentColor,currentColor) 0 4px / 8px 1.5px no-repeat,linear-gradient(currentColor,currentColor) 0 8px / 6px 1.5px no-repeat;height:10px;left:8px;top:8px;width:8px}.menu-icon-modalidad:before,.menu-icon-area:before,.menu-icon-linea:before{border:2px solid currentColor;border-radius:999px;height:12px;left:5px;top:5px;width:12px}.menu-icon-area:after{background:currentColor;height:2px;left:7px;top:12px;transform:rotate(-35deg);width:12px}.menu-icon-linea:after{background:radial-gradient(circle,currentColor 0 2px,transparent 2px),radial-gradient(circle,currentColor 0 2px,transparent 2px),linear-gradient(currentColor,currentColor);background-position:1px 7px,14px 4px,4px 8px;background-repeat:no-repeat;background-size:4px 4px,4px 4px,12px 2px;height:16px;left:4px;top:4px;transform:rotate(-12deg);width:18px}.menu-count{background:#f5c54229;border:1px solid rgba(245,197,66,.28);border-radius:999px;color:#ffe08a;font-size:11px;font-weight:900;min-width:26px;padding:2px 7px;text-align:center}.sidebar-nav button.active,.sidebar-nav button:hover:not(:disabled){background:#ffffff17;border-color:#2d9c8f61;box-shadow:inset 3px 0 #2d9c8f,0 10px 22px #00000024;color:#fff}.sidebar-nav button.active .menu-icon,.sidebar-nav button:hover:not(:disabled) .menu-icon{background:linear-gradient(135deg,#0f766e,#3b82f6);border-color:#ffffff38;color:#fff}.primary-menu-button{background:linear-gradient(135deg,#0f766e57,#3b82f629);border-color:#2d9c8f47!important}.sidebar-group{background:#ffffff09;border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:6px}.sidebar-group summary{align-items:center;display:flex;justify-content:space-between;list-style:none;min-height:34px;padding:6px 8px}.sidebar-group summary::-webkit-details-marker{display:none}.sidebar-group summary:after{color:#8ea3bb;content:"v";font-size:14px;font-weight:900}.sidebar-group[open] summary:after{transform:rotate(180deg)}.sidebar-group .nested-menu-button{margin-left:0;min-height:36px;padding-left:8px}.user-chip{box-shadow:0 6px 16px #0f172a0f}.notification-card,.metric-card,.content-panel{box-shadow:var(--seg-shadow-sm)}.content-panel{position:relative}.content-panel:before{background:linear-gradient(90deg,var(--seg-brand),#3b82f6,var(--seg-gold));content:"";display:block;height:3px;left:0;position:absolute;right:0;top:0}.icon-button,.primary-button,.secondary-button,.danger-button{transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.icon-button{align-items:center;display:inline-flex;justify-content:center}.icon-button:hover:not(:disabled),.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.danger-button:hover:not(:disabled){box-shadow:0 8px 18px #0f172a1a;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.55}.primary-button{background:linear-gradient(135deg,var(--seg-brand),#138b82)}.secondary-button{background:linear-gradient(180deg,#fff,#f8fafc)}.secondary-button:hover:not(:disabled){border-color:#8fa4ba}.danger-button{background:linear-gradient(180deg,#fff,#fff7f7)}.primary-button:focus-visible,.secondary-button:focus-visible,.danger-button:focus-visible,.icon-button:focus-visible{outline:3px solid rgba(245,197,66,.42);outline-offset:2px}.table-title{color:var(--seg-ink);font-size:18px;padding:18px 16px 4px}.list-container-header{padding:10px 16px}.admin-table th{background:#f8fafc;color:#26364d;font-weight:800}.admin-table td,.admin-table th{padding:7px 9px}.admin-table tbody tr{transition:background .12s ease}.admin-table tbody tr:nth-child(2n){background:#fbfdff}.admin-table tbody tr:hover,.admin-table tbody tr:nth-child(2n):hover,.selected-row{background:#eefdf9}input,select,textarea{transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.selected-summary{background:linear-gradient(180deg,#fff,#f8fafc);border-color:#dbe5ef;box-shadow:0 8px 18px #0f172a0a}.selected-summary strong{color:#1d2b3f}.phase-strip{background:linear-gradient(180deg,#fff,#f8fafc);border-bottom:1px solid #e2e8f0}.phase-item{flex-basis:158px;width:158px}.phase-pill{border-color:#d3dee9;box-shadow:0 4px 10px #0f172a0a;min-height:54px;min-width:158px;width:158px}.phase-pill:hover{border-color:#8fa4ba;box-shadow:0 8px 18px #0f172a17}.phase-pill.active{background:#f0fdfa;border-color:var(--seg-brand)}.phase-pill.selected{background:#fffdf2;border-color:var(--seg-gold);box-shadow:0 0 0 2px #f5c5423d,0 8px 18px #0f172a14}.phase-grade-inline{background:#fff8df;border-color:#efd47a;width:158px}.phase-grade-inline input{background:#fffef7;font-size:12px;font-weight:700;text-align:center}.phase-grade-inline .compact-button{background:#26364d;border-color:#26364d;color:#fff}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-panel,.confirm-panel{border:1px solid rgba(255,255,255,.5);box-shadow:var(--seg-shadow-lg)}.modal-header,.confirm-primary{background:linear-gradient(135deg,rgba(15,118,110,.22),transparent 34%),var(--seg-navy)}.confirm-danger{background:linear-gradient(135deg,rgba(245,197,66,.18),transparent 34%),#7f1d1d}.modal-close:hover{color:#fde68a}.fase-editor,.modelo-fases{background:#fbfdff}.fase-editor{border-color:#dbe5ef;box-shadow:0 4px 12px #0f172a09}@media (max-width: 640px){.admin-topbar{padding:12px}.phase-item,.phase-pill,.phase-grade-inline{flex-basis:150px;width:150px}}
