:root{--color-bg:#f6f3ee;--color-surface:#fff;--color-text:#2a2521;--color-text-muted:#746b60;--color-border:#e4ddd2;--color-border-strong:#d3c9b9;--color-accent:#1b4b4c;--color-accent-dark:#2d6a6b;--color-accent-soft:#e8f0f0;--color-danger:#ac3327;--color-danger-dark:#8a281e;--color-danger-soft:#fbe7e3;--radius-sm:6px;--radius:10px;--shadow-sm:0 1px 2px #2a25210f, 0 2px 6px #2a25210f;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--header-height:120px;--sidebar-width:232px}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,h4{letter-spacing:-.01em;color:var(--color-text);margin:0 0 .5rem;font-weight:700}h1{font-size:1.625rem}h2{font-size:1.1875rem;font-weight:600}h3{font-size:.9375rem;font-weight:600}p{margin:0 0 .75rem}small,.text-small{font-size:.8125rem}.text-muted{color:var(--color-text-muted)}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}code{background:var(--color-accent-soft);border-radius:4px;padding:1px 5px;font-size:.875em}input,select,textarea,button{color:var(--color-text);font-family:inherit;font-size:.9375rem}input[type=text],input[type=email],input[type=password],input[type=number],input[type=file],select,textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);padding:9px 11px;line-height:1.4}textarea{resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}label{overflow-wrap:break-word;word-break:break-word;font-size:.875rem}fieldset{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow-wrap:break-word;min-width:0;padding:10px 12px}legend{color:var(--color-text-muted);padding:0 4px;font-size:.8125rem}.field-label{color:var(--color-text-muted);margin-bottom:4px;font-size:.8125rem;font-weight:600;display:block}button,.btn{border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:.875rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}button:hover,.btn:hover{background:var(--color-accent-dark);text-decoration:none}button:disabled,.btn:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn-secondary:hover{background:var(--color-bg)}.btn-danger{background:var(--color-danger)}.btn-danger:hover{background:var(--color-danger-dark)}.btn-sm{padding:5px 11px;font-size:.8125rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px}.callout{background:var(--color-accent-soft);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 16px;font-size:.875rem}.callout p:last-child{margin-bottom:0}.alert-error{background:var(--color-danger-soft);border:1px solid var(--color-danger);color:var(--color-danger-dark);border-radius:var(--radius-sm);margin-bottom:16px;padding:10px 14px;font-size:.875rem}.badge{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600;line-height:1.4;display:inline-block}.table-wrap{-webkit-overflow-scrolling:touch;border-radius:var(--radius);overflow-x:auto}.table-clean{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.875rem}.table-clean th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-strong);overflow-wrap:break-word;word-wrap:break-word;padding:10px 14px;font-size:.6875rem;font-weight:700}.table-clean td{border-bottom:1px solid var(--color-border);vertical-align:middle;overflow-wrap:break-word;word-wrap:break-word;padding:10px 14px}.table-clean tbody tr:hover{background:var(--color-bg)}.table-clean tbody tr:last-child td{border-bottom:none}.table-clean.cumplimiento{min-width:820px}.table-clean.cumplimiento th:first-child,.table-clean.cumplimiento td:first-child{width:90px}.table-clean.cumplimiento th:nth-child(2),.table-clean.cumplimiento td:nth-child(2){overflow-wrap:break-word;word-break:normal;width:auto}.table-clean.cumplimiento th:nth-child(3),.table-clean.cumplimiento td:nth-child(3){width:140px}.table-clean.cumplimiento th:nth-child(4),.table-clean.cumplimiento td:nth-child(4){width:120px}.table-clean.cumplimiento th:nth-child(5),.table-clean.cumplimiento td:nth-child(5){width:140px}.table-clean.cumplimiento th:nth-child(6),.table-clean.cumplimiento td:nth-child(6){width:110px}.table-clean.usuarios th:nth-child(3),.table-clean.usuarios td:nth-child(3){width:180px}.table-clean.usuarios td:nth-child(3) select{width:100%;max-width:180px}.table-clean.catalogo-cursos{min-width:1100px}.table-clean.catalogo-cursos th:first-child,.table-clean.catalogo-cursos td:first-child{width:160px}.table-clean.catalogo-cursos th:nth-child(2),.table-clean.catalogo-cursos td:nth-child(2){overflow-wrap:break-word;word-break:normal;width:auto}.table-clean.catalogo-cursos th:nth-child(3),.table-clean.catalogo-cursos td:nth-child(3){width:110px}.table-clean.catalogo-cursos th:nth-child(4),.table-clean.catalogo-cursos td:nth-child(4){width:140px}.table-clean.catalogo-cursos th:nth-child(5),.table-clean.catalogo-cursos td:nth-child(5){width:110px}.table-clean.catalogo-cursos th:nth-child(6),.table-clean.catalogo-cursos td:nth-child(6){width:80px}.table-clean.catalogo-cursos th:nth-child(7),.table-clean.catalogo-cursos td:nth-child(7){width:110px}.table-clean.catalogo-cursos th:nth-child(8),.table-clean.catalogo-cursos td:nth-child(8),.table-clean.catalogo-cursos th:nth-child(9),.table-clean.catalogo-cursos td:nth-child(9){width:70px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-narrow{max-width:440px}.section{margin-top:28px}.form-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.form-grid textarea{width:100%;min-width:0;max-width:100%}.app-shell{flex-direction:column;min-height:100%;display:flex}.dashboard-header{z-index:30;height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:12px;display:flex}.brand{letter-spacing:-.01em;font-size:.9375rem;font-weight:700}.header-right{align-items:center;gap:12px;display:flex}.header-user{color:var(--color-text-muted);font-size:.8125rem;display:none}.sidebar-toggle{color:var(--color-text);border:1px solid var(--color-border-strong);background:0 0;padding:6px 10px;font-size:1rem;line-height:1}.sidebar-toggle:hover{background:var(--color-bg)}.dashboard-shell{flex:1;align-items:flex-start;display:flex}.sidebar{top:var(--header-height);background:var(--color-surface);border-right:1px solid var(--color-border);z-index:25;width:250px;max-width:82vw;padding:16px 12px;transition:transform .2s;position:fixed;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar--open{transform:translate(0)}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-section+.sidebar-section{margin-top:26px}.sidebar-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:0 12px 4px;font-size:.6875rem;font-weight:700}.sidebar-item-disabled{border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:default;opacity:.55;flex-direction:column;gap:1px;padding:5px 12px;font-size:.9375rem;font-weight:500;display:flex}.sidebar-item-disabled .badge{color:inherit;text-transform:none;letter-spacing:normal;background:0 0;align-self:flex-start;padding:0;font-size:.6875rem;font-weight:500}.sidebar-nav a{border-radius:var(--radius-sm);color:var(--color-text);padding:5px 12px;font-size:.9375rem;font-weight:500;display:block}.sidebar-nav a:hover{background:var(--color-bg);text-decoration:none}.sidebar-nav a.active{background:var(--color-accent-soft);color:var(--color-accent-dark);font-weight:600}.sidebar-backdrop{inset:var(--header-height) 0 0 0;z-index:20;background:#14100c59;position:fixed}.dashboard-content{flex:1;min-width:0}.dashboard-main{max-width:1120px;margin:0 auto;padding:24px 16px 64px}@media (min-width:768px){.sidebar-toggle,.sidebar-backdrop{display:none}.header-user{display:inline}.dashboard-shell{padding-left:var(--sidebar-width)}.sidebar{width:var(--sidebar-width);max-width:var(--sidebar-width);position:fixed;transform:none}.dashboard-main{padding:32px 32px 64px}}.stat-summary{color:var(--color-text-muted);margin-bottom:20px;font-size:.9375rem}.stat-summary strong{color:var(--color-text)}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.area-card-number{color:var(--color-accent);margin:4px 0 2px;font-size:2.25rem;font-weight:700;line-height:1}.area-card-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:.75rem;font-weight:600}.progress-track{background:var(--color-bg);border-radius:999px;height:6px;margin:10px 0 12px;overflow:hidden}.progress-fill{background:var(--color-accent);border-radius:999px;height:100%}.stat-row{justify-content:space-between;align-items:center;padding:4px 0;font-size:.8125rem;display:flex}.card-priority{border-color:var(--color-danger);border-width:2px}.action-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}
