/* Local review only: Tizapp's original markup and controllers remain intact. */
@font-face{font-family:PulsoJakarta;src:url('/assets/plus-jakarta-sans.ttf') format('truetype');font-weight:400 800;font-display:swap}
body.registro-pulso-local{
 --ui-accent:#6756bd!important;--ui-soft:#ede9fa!important;--ui-background:#f4f3f6!important;
 --ui-text:#28233b!important;--ui-muted:#665f77!important;--ui-border:#e9e6ef!important;
 --ui-dock:#7160c6!important;--ui-dock-ink:#fff!important;
 --ui-shadow:0 2px 4px #2b214811,0 8px 22px #2b21480d!important;
 font-family:PulsoJakarta,system-ui,sans-serif;color:var(--ui-text);background:var(--ui-background);padding:0;
}
/* Local QA badge is excluded from published assets. */
body.registro-pulso-local :is(button,input,select,textarea,table){font-family:inherit}
body.registro-pulso-local .content{min-width:0;background:var(--ui-background)!important;padding:24px 28px;overflow:visible}
body.registro-pulso-local .topbar{background:transparent;border:0;padding:0 0 20px;min-height:72px;gap:12px}
body.registro-pulso-local .topbar h2{font-size:27px;line-height:34px;letter-spacing:-.7px;font-weight:650;color:var(--ui-text)}
body.registro-pulso-local .sidebar{background:#7160c6!important;border-radius:0;box-shadow:none;box-sizing:border-box}
body.registro-pulso-local .sidebar :is(.nav-btn,.ui-nav-label){font-size:12px}
body.registro-pulso-local .sidebar .nav-btn[aria-current=page]{background:#f1edff;color:#493798;box-shadow:none}
body.registro-pulso-local .sidebar nav{scrollbar-width:thin;scrollbar-color:#c9bff0 transparent}
body.registro-pulso-local .sidebar nav::-webkit-scrollbar{width:6px;height:6px}
body.registro-pulso-local .sidebar nav::-webkit-scrollbar-track{background:transparent}
body.registro-pulso-local .sidebar nav::-webkit-scrollbar-thumb{background:#c9bff0;border-radius:20px}
body.registro-pulso-local .sidebar nav::-webkit-scrollbar-button{display:none}
@supports selector(::-webkit-scrollbar){body.registro-pulso-local .sidebar nav{scrollbar-width:auto;scrollbar-color:auto}}
@media(min-width:1001px){body.registro-pulso-local .app{grid-template-columns:210px minmax(0,1fr);width:100%;max-width:none;margin:0;min-height:100dvh}body.registro-pulso-local .sidebar{top:0;height:100dvh;padding:20px 10px}body.registro-pulso-local .sidebar .nav-btn{min-height:40px;padding:7px 9px;margin:3px 0;gap:8px;border-radius:10px}body.registro-pulso-local .sidebar .ui-nav-group h3{font-size:10px;line-height:16px}}
body.registro-pulso-local :is(#registryView>.panel,#yearRecordEditor){min-width:0;padding:20px;border:1px solid var(--ui-border);border-radius:17px;background:#fff;box-shadow:var(--ui-shadow)}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) :is(h3,h4){font-size:16px;line-height:24px;font-weight:650;color:var(--ui-text);margin:0}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) .muted{font-size:12px;line-height:19px;color:var(--ui-muted)}
body.registro-pulso-local #registryView .panel-head{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;margin:0}
body.registro-pulso-local #registryView .panel-head>div:first-child{max-width:960px}
body.registro-pulso-local #registryView .panel-head>div:first-child::after{content:'El registro de esta pantalla corresponde al año activo configurado. Los años históricos se editan desde Administración → Años académicos.';display:block;margin-top:8px;font-size:12px;line-height:19px;color:var(--ui-muted)}
body.registro-pulso-local :is(#registryView .toolbar-actions,#yearRecordEditor .record-editor-tools){display:flex;align-items:end;justify-content:flex-start;flex-wrap:wrap;gap:8px;margin:0;padding:0;background:transparent;border:0;border-radius:0;width:100%}
body.registro-pulso-local #yearRecordEditor>.panel-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:16px}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) :is(button,input:not([type=checkbox]),select){min-height:40px;height:40px;margin:0;border:1px solid var(--ui-border);border-radius:9px;padding:8px 11px;background:#fff;color:var(--ui-text);font-size:13px;line-height:20px;font-weight:500;box-sizing:border-box}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) button.tz-action{min-height:40px!important;height:40px!important;font-size:13px!important;font-weight:550!important;line-height:20px!important;padding:8px 11px!important;border-radius:9px!important;white-space:nowrap;gap:6px}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) .primary{background:var(--ui-accent)!important;border-color:var(--ui-accent)!important;color:#fff!important;box-shadow:none}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) .danger{background:#fff7f8!important;border-color:#eecbd2!important;color:#9c2847!important}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) button:disabled{opacity:.5;cursor:not-allowed}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) :is(.hidden,[hidden]){display:none!important}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) label.field{margin:0;min-width:0;font-size:12px;line-height:18px;color:var(--ui-muted);gap:6px}
body.registro-pulso-local #yearRecordCourse{width:190px;max-width:100%}
body.registro-pulso-local :is(#registrySearch,#yearRecordSearch){width:245px;max-width:100%;flex:0 1 245px}
body.registro-pulso-local :is(#registryStatus,#yearRecordStatus,#yearRecordPageInfo){font-size:12px;line-height:19px;color:var(--ui-muted);margin:12px 0}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) .registry-grid-scroll{max-width:100%;width:100%;max-height:62dvh;overflow:auto;position:relative;margin-top:14px;border:1px solid var(--ui-border);border-radius:10px;overscroll-behavior:contain}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) .registry-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:12px;line-height:18px}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) .registry-grid :is(td,th){min-width:150px;max-width:280px;padding:9px 10px;border-color:var(--ui-border);font-size:12px;line-height:18px;background:#fff;color:var(--ui-text)}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) .registry-grid th{position:sticky;top:0;z-index:4;background:#f1eef7;color:#665f77;font-size:10px;font-weight:650;letter-spacing:.02em}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) .registry-grid .registry-select-col{position:sticky;left:0;min-width:42px!important;width:42px!important;max-width:42px!important;z-index:5;background:#fff}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) .registry-grid th.registry-select-col{z-index:7;background:#f1eef7}
body.registro-pulso-local #yearRecordEditor .registry-name-pin{position:sticky;left:42px;z-index:3;min-width:245px;max-width:245px;width:245px;white-space:normal;overflow-wrap:anywhere;background:#fff}
body.registro-pulso-local #yearRecordEditor th.registry-name-pin{z-index:6;background:#f1eef7}
body.registro-pulso-local #yearRecordEditor .registry-name-pin strong{display:block;font-size:12px;line-height:18px;font-weight:600;margin-bottom:5px}
body.registro-pulso-local #yearRecordEditor .registry-name-pin button{font-size:11px;min-height:32px;height:32px;padding:5px 8px;white-space:nowrap}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) .registry-grid input[type=checkbox]{appearance:none;width:17px;height:17px;padding:0;margin:0;border:1px solid #a49bb2;border-radius:50%;background:#fff;vertical-align:middle;cursor:pointer}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) .registry-grid input[type=checkbox]:checked{background:var(--ui-accent);border-color:var(--ui-accent);box-shadow:inset 0 0 0 3px #fff}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) .registry-highlight>td{background:#eee9fb}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) .registry-grid td.read-only-cell{background:#f5f3f8;color:#81798c}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) .registry-grid td.edited-cell{background:#fff1c8!important;box-shadow:inset 0 0 0 1px #cfa644}
body.registro-pulso-local :is(#registryView,#yearRecordEditor) .registry-grid td[contenteditable=true]:focus{background:#fff;box-shadow:inset 0 0 0 2px var(--ui-accent);outline:0;overflow:visible}
body.registro-pulso-local :is(button,input,select,[tabindex]):focus-visible{outline:2px solid #493798;outline-offset:2px}
body.registro-pulso-local #recordFormDialog{width:min(980px,calc(100% - 32px));max-height:90dvh;padding:20px;border:1px solid var(--ui-border);border-radius:17px;background:white;color:var(--ui-text);font-size:13px;box-shadow:var(--ui-shadow)}
body.registro-pulso-local #recordFormDialog::backdrop{background:#28233b80}
body.registro-pulso-local #recordFormDialog :is(input,select,button){min-height:40px;font-size:13px;line-height:20px;border-radius:9px}
body.registro-pulso-local #recordFormDialog h2{font-size:20px;line-height:28px}
body.registro-pulso-local #recordFormDialog .primary{background:var(--ui-accent);color:#fff}
body.registro-pulso-local #registryView.hidden{display:none!important}
body.registro-pulso-local #registryView{padding:0!important}
body.registro-pulso-local .topbar{background:transparent!important}
@media(max-width:600px){body.registro-pulso-local .content{padding:14px 12px 35px}body.registro-pulso-local :is(#registryView>.panel,#yearRecordEditor){padding:14px}body.registro-pulso-local .topbar h2{font-size:23px;line-height:30px}body.registro-pulso-local :is(#registryView .toolbar-actions,#yearRecordEditor .record-editor-tools)>*{max-width:100%;min-width:0}body.registro-pulso-local :is(#registrySearch,#yearRecordSearch){width:100%;flex-basis:100%}body.registro-pulso-local #yearRecordEditor .registry-name-pin{min-width:165px;max-width:165px;width:165px}body.registro-pulso-local :is(#registryView,#yearRecordEditor) .registry-grid-scroll{max-height:58dvh}}

