.esc-display{font-family:var(--font-havren-display),var(--font-display)}.esc-hero{font-family:var(--font-havren-hero),var(--font-havren-display),var(--font-hero)}.esc-shell{position:relative;display:flex;flex-direction:column;height:100vh;height:100dvh;color:var(--canvas-ink);font-family:var(--font-havren-sans),var(--font-sans);background:radial-gradient(70% 60% at 78% -8%,var(--light-a),transparent 62%),radial-gradient(40% 40% at 40% 40%,var(--light-c),transparent 70%),var(--canvas-1);background-attachment:fixed}.esc-body{display:flex;min-width:0;min-height:0;flex:1;flex-direction:column;overflow-y:auto;overflow-x:hidden;overflow-anchor:none}.esc-content{min-width:0;flex:1;padding:0 var(--r-lg)}.esc-sheet{min-width:0;flex:1;margin:var(--r-lg) var(--r-lg) calc(var(--r-lg) + var(--dock-clear));background:var(--background);color:var(--foreground);border-radius:var(--r-2xl);box-shadow:var(--shadow-float);overflow:hidden}.esc-shell aside[aria-label="Navegación del colegio"]{background:var(--canvas-1);border-right:1px solid var(--canvas-line)}.esc-shell [data-havren-surface=app-top-bar]{margin:var(--r-lg) var(--r-lg) 0;border:0;border-radius:var(--r-xl);background:var(--porcelain);box-shadow:var(--shadow-float);position:sticky;top:0;z-index:40;transition:transform var(--dur-base) var(--ease-out);will-change:transform}.esc-shell [data-havren-surface=app-top-bar][data-esc-topbar-hidden=true]{transform:translateY(calc(-100% - var(--r-lg)))}@media (prefers-reduced-motion:reduce){.esc-shell [data-havren-surface=app-top-bar]{transition:none}}.esc-dock-slot{position:fixed;left:0;right:0;bottom:calc(var(--dock-bottom) + var(--safe-b));z-index:20;display:flex;justify-content:center;height:auto;padding:0 var(--dock-slot-x);background:none;border:0;box-shadow:none;pointer-events:none}.esc-dock-slot>*{pointer-events:auto}.esc-dock{position:relative;box-sizing:border-box;display:flex;align-items:stretch;gap:var(--dock-gap-in);width:auto;max-width:min(100%,var(--dock-w-m));height:var(--dock-h-m);padding:var(--dock-pad);border-radius:var(--r-full);border:var(--dock-bw) solid var(--glass-edge);background:var(--canvas-0);box-shadow:none}.esc-dock-item{display:flex;flex:none}.esc-dock a,.esc-dock button{box-sizing:border-box;display:flex;flex:none;width:auto;flex-direction:column;align-items:center;justify-content:center;gap:var(--dock-item-gap);min-width:0;height:100%;padding:var(--dock-item-pad-y) var(--dock-item-pad-x-m);border:var(--dock-bw) solid transparent;border-radius:var(--r-full);background:transparent;color:var(--canvas-ink);font:inherit;font-size:var(--fs-caps);font-weight:600;line-height:1.1;cursor:pointer;transition:color var(--dur-fast),border-color var(--dur-fast),background-color var(--dur-fast)}.esc-dock a:hover:not(.is-active):not([aria-current=page]),.esc-dock button:hover:not(.is-active):not([aria-current=page]){border-color:var(--dock-hover-edge)}.esc-dock a.is-active,.esc-dock a[aria-current=page],.esc-dock button.is-active{border-color:var(--now);color:var(--now);background:var(--now-soft)}.esc-dock svg{width:var(--dock-icon);height:var(--dock-icon);stroke-width:var(--dock-icon-stroke);flex-shrink:0}.esc-dock .esc-dock-label{display:block;max-width:100%;white-space:nowrap}.esc-dock .esc-dock-label-short{display:none}.esc-dock a:focus-visible,.esc-dock button:focus-visible{outline:var(--dock-focus-bw) solid var(--dock-focus-ring);outline-offset:var(--dock-focus-off)}.esc-cmdk-row:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}@media (max-width:1023px){.esc-dock .esc-dock-label-full.has-short{display:none}.esc-dock .esc-dock-label-short{display:block}.esc-dock-slot{padding-left:var(--dock-slot-x-m);padding-right:var(--dock-slot-x-m)}.esc-dock{width:min(100% - var(--dock-inset-m),var(--dock-w-m));max-width:none;gap:var(--dock-gap-in-m);padding:var(--dock-pad-m)}.esc-dock-item{flex:1 1 0;min-width:0}.esc-dock a,.esc-dock button{width:100%}}@media (min-width:1024px){.esc-dock{width:auto;max-width:100%;gap:var(--dock-item-gap-d)}.esc-dock-item{flex:none}.esc-dock-item:last-child{margin-left:var(--dock-sep);padding-left:var(--dock-sep);border-left:var(--dock-bw) solid var(--glass-edge)}.esc-dock a,.esc-dock button{flex-direction:row;gap:var(--dock-item-gap-d);padding:var(--dock-item-pad-y) var(--dock-item-pad-x);font-size:var(--fs-sm)}}.esc-msg-lift .esc-msg-launcher{display:none}.esc-msg-lift>.esc-msg-root{bottom:var(--dock-clear)}html[data-esc-overlay] .esc-msg-lift{display:none}.esc-kbd{border:1px solid var(--glass-edge);border-radius:var(--r-xs);padding:1px 6px;font-size:var(--fs-2xs);font-weight:700;color:var(--canvas-mist)}.esc-scrim{position:fixed;inset:0;z-index:80;background:var(--scrim-deep)}.esc-cmdk-wrap{position:fixed;inset:0;z-index:81;display:flex;justify-content:center;align-items:flex-start;padding:12vh var(--r-lg) 0;pointer-events:none}.esc-cmdk{pointer-events:auto;width:min(100%,560px);overflow:hidden;background:var(--solid-1);color:var(--canvas-ink);border:1px solid var(--glass-edge);border-radius:var(--r-2xl);box-shadow:var(--shadow-float)}.esc-cmdk-in{display:flex;align-items:center;gap:12px;height:56px;padding:0 18px;border-bottom:1px solid var(--canvas-line);color:var(--canvas-mist)}.esc-cmdk-in svg{width:18px;height:18px;flex-shrink:0}.esc-cmdk-in input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--canvas-ink);font:inherit;font-size:var(--fs-body)}.esc-cmdk-in input::-moz-placeholder{color:var(--canvas-faint)}.esc-cmdk-in input::placeholder{color:var(--canvas-faint)}.esc-cmdk-list{max-height:min(52vh,380px);overflow-y:auto;padding:6px 0;margin:0;list-style:none}.esc-cmdk-row{display:flex;width:100%;align-items:center;gap:12px;padding:10px 18px;border:0;background:transparent;color:var(--canvas-mist);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer}.esc-cmdk-row svg{width:16px;height:16px;flex-shrink:0}.esc-cmdk-row span:first-of-type{flex:1}.esc-cmdk-row small{font-size:var(--fs-2xs);color:var(--canvas-faint)}.esc-cmdk-row.is-on{background:var(--glass-2);color:var(--canvas-ink)}.esc-cmdk-empty{padding:22px 18px;font-size:var(--fs-sm);color:var(--canvas-faint)}.esc-home{max-width:1200px;margin:0 auto;padding:var(--r-xl) 0 var(--dock-clear)}.esc-swatch{display:inline-block;flex-shrink:0;border-radius:2px}.esc-hello{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--r-xl);padding:var(--r-xl) 4px var(--r-xl)}.esc-caps{font-size:var(--fs-caps);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--canvas-faint)}.esc-hello h1{margin:6px 0 0;font-weight:400;font-size:var(--fs-d3);line-height:1.05;letter-spacing:-.02em;color:var(--canvas-ink)}.esc-hello p{margin:8px 0 0;font-size:var(--fs-body);color:var(--canvas-mist)}@media (min-width:1024px){.esc-hello h1{font-size:var(--fs-d1)}}.esc-grid{display:grid;align-items:stretch;gap:var(--space-card);grid-template-columns:repeat(1,minmax(0,1fr))}.esc-home>*+*{margin-top:var(--space-section)}@media (min-width:640px){.esc-grid.cols-2,.esc-grid.cols-3,.esc-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1023px){.esc-grid.cols-3,.esc-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kpi-gap-m)}.esc-grid.cols-3>:last-child:nth-child(odd){grid-column:1/-1}.esc-kpi.esc-glass{padding:var(--kpi-pad-y-m) var(--kpi-pad-x-m)}.esc-kpi svg{margin-bottom:var(--kpi-icon-gap-m)}.esc-kpi b{font-size:var(--fs-num-m)}.esc-kpi .esc-caps,.esc-kpi small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.esc-kpi small{font-size:var(--fs-2xs)}}@media (min-width:1024px){.esc-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.esc-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.esc-grid.split{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}.esc-panel{background:var(--porcelain);color:var(--porcelain-ink);border-radius:var(--r-2xl);box-shadow:var(--shadow-float);padding:var(--space-panel);min-width:0;height:100%;display:flex;flex-direction:column}.esc-grid.split.is-natural{align-items:start}.esc-grid.split.is-natural>.esc-panel{height:auto}.esc-panel>.overflow-x-auto{flex:1 1 auto}.esc-panel>h2{margin:0 0 var(--r-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--r-lg);font-weight:400;font-size:var(--fs-h2);color:var(--porcelain-ink)}.esc-panel>h2 a{font-family:var(--font-havren-sans),var(--font-sans);font-size:var(--fs-xs);font-weight:600;color:var(--gold-ink)}.esc-glass{background:var(--glass-1);border:1px solid var(--glass-edge);border-radius:var(--r-xl);color:var(--canvas-ink);padding:var(--r-lg) var(--r-xl);min-width:0}.esc-kpi{display:flex;flex-direction:column;gap:2px}.esc-kpi .esc-caps{color:var(--canvas-mist)}.esc-kpi b{font-family:var(--font-havren-display),var(--font-display);font-weight:400;font-size:var(--fs-num-l);line-height:1.1;letter-spacing:-.02em}.esc-kpi small{font-size:var(--fs-xs);color:var(--canvas-faint)}.esc-kpi svg{width:16px;height:16px;color:var(--now);margin-bottom:6px}.esc-link{display:flex;align-items:center;gap:var(--r-lg);padding:var(--r-md) var(--r-lg);margin:0 calc(var(--r-lg) * -1);border-radius:var(--r-lg);color:inherit;text-decoration:none}.esc-link:focus-visible,.esc-link:hover{background:var(--muted)}.esc-link .esc-ico{display:flex;width:36px;height:36px;flex-shrink:0;align-items:center;justify-content:center;border-radius:var(--r-lg);background:var(--primary-soft);color:var(--primary)}.esc-link .esc-ico svg{width:17px;height:17px}.esc-link strong{display:block;font-size:var(--fs-sm);font-weight:600}.esc-link small{display:block;font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-link>div{min-width:0;flex:1}.esc-link>.esc-go{width:15px;height:15px;color:var(--subtle)}.esc-dot{width:8px;height:8px;flex-shrink:0;border-radius:var(--r-full);background:var(--gold)}.esc-dot.is-late{background:var(--danger)}.esc-score{font-family:var(--font-havren-display),var(--font-display);font-size:var(--fs-d4);line-height:1;color:var(--primary)}.esc-shortcuts{display:grid;gap:var(--r-sm);grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:640px){.esc-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.esc-shortcuts.wide{grid-template-columns:repeat(3,minmax(0,1fr))}}.esc-shortcuts .esc-link{margin:0}.esc-empty{padding:var(--r-xl) 0;text-align:center;font-size:var(--fs-sm);color:var(--muted-foreground)}.esc-notice{border:1px solid var(--arch-line);border-radius:var(--r-xl);background:var(--now-soft);color:var(--now);padding:var(--r-md) var(--r-lg);font-size:var(--fs-sm)}.esc-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.esc-table th{text-align:left;font-size:var(--fs-caps);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--subtle)}.esc-table td,.esc-table th{padding:var(--r-md) var(--r-lg);border-bottom:1px solid var(--border)}.esc-table td{color:var(--muted-foreground)}.esc-table td:first-child{color:var(--porcelain-ink);font-weight:600}.esc-table td:last-child{font-weight:700;color:var(--primary);text-align:right}.esc-table th:last-child{text-align:right}.esc-table tr:last-child td{border-bottom:0}.esc-loading{display:flex;height:12rem;align-items:center;justify-content:center;font-size:var(--fs-sm);color:var(--muted-foreground)}.esc-loading.is-error{color:var(--danger)}.esc-void{display:flex;min-height:12rem;flex-direction:column;align-items:center;justify-content:center;gap:var(--r-md);text-align:center;font-size:var(--fs-sm);color:var(--muted-foreground)}.esc-void svg{width:64px;height:64px;fill:none;stroke:var(--border);stroke-width:2;stroke-dasharray:4 6;stroke-linecap:round}.esc-review{display:flex;flex-direction:column}.esc-review-row{display:flex;align-items:center;gap:var(--r-lg);padding:var(--r-md) 0;border-top:1px solid var(--border)}.esc-review-row:first-of-type{border-top:0;padding-top:0}.esc-review-row .esc-score{min-width:2.5ch}.esc-review-row>div{min-width:0;flex:1}.esc-review-row strong{display:block;font-size:var(--fs-sm);font-weight:600}.esc-review-row small{display:block;font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-pill{flex-shrink:0;padding:6px 14px;border-radius:var(--r-full);background:var(--primary-soft);color:var(--primary);font-size:var(--fs-xs);font-weight:700;text-decoration:none}.esc-login{position:relative;isolation:isolate;display:grid;min-height:100vh;overflow:hidden;align-items:center;padding:var(--r-2xl) var(--r-lg);color:var(--canvas-ink);font-family:var(--font-havren-sans),var(--font-sans);background:radial-gradient(70% 60% at 78% -8%,var(--light-a),transparent 62%),radial-gradient(55% 50% at 6% 108%,var(--light-b),transparent 64%),linear-gradient(180deg,var(--canvas-1),var(--canvas-0))}.esc-aurora{inset:-10%;background:radial-gradient(40% 40% at 70% 30%,var(--light-a),transparent 70%),radial-gradient(30% 30% at 20% 80%,var(--light-b),transparent 70%)}.esc-arch,.esc-aurora{position:absolute;z-index:0;pointer-events:none}.esc-arch{right:-6%;bottom:-8%;width:min(78vw,720px);color:var(--arch-line)}.esc-arch svg{display:block;width:100%;height:auto;fill:none;stroke:currentColor;stroke-width:1.5}.esc-login-grid{position:relative;z-index:1;display:grid;width:100%;max-width:1120px;margin:0 auto;gap:var(--r-2xl);align-items:center}@media (min-width:1024px){.esc-login-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}.esc-login h1.esc-hero{margin:var(--r-lg) 0 0;font-weight:400;font-size:var(--fs-hero-m);line-height:.95;letter-spacing:-.025em}@media (min-width:1024px){.esc-login h1.esc-hero{font-size:var(--fs-hero)}}.esc-accent{font-style:italic;color:var(--now)}.esc-line{overflow:hidden;padding-bottom:.08em}.esc-line,.esc-line>span{display:block}.esc-login-lead{max-width:30rem;margin:var(--r-xl) 0 0;font-size:var(--fs-h3);line-height:1.55;color:var(--canvas-mist)}.esc-login-brand{display:flex;align-items:center;gap:var(--r-md)}.esc-card{position:relative;padding:var(--r-2xl);background:var(--glass-2);border:1px solid var(--glass-edge);border-radius:var(--r-2xl);box-shadow:var(--shadow-float);backdrop-filter:blur(var(--blur-2)) saturate(1.3)}.esc-card h2{margin:6px 0 0;font-weight:400;font-size:var(--fs-d4);font-family:var(--font-havren-display),var(--font-display)}.esc-card p.esc-sub{margin:6px 0 var(--r-xl);font-size:var(--fs-sm);color:var(--canvas-mist)}.esc-form{display:grid;gap:var(--r-lg)}.esc-field{display:grid;gap:6px;font-size:var(--fs-xs);font-weight:600;color:var(--canvas-mist)}.esc-input{width:100%;height:46px;padding:0 var(--r-xl);border:1px solid var(--glass-edge);border-radius:var(--r-lg);background:var(--glass-input);color:var(--canvas-ink);font:inherit;font-size:var(--fs-body)}.esc-input::-moz-placeholder{color:var(--canvas-faint)}.esc-input::placeholder{color:var(--canvas-faint)}.esc-input:focus{outline:0;border-color:var(--deep-foreground);box-shadow:var(--shadow-focus)}.esc-row{display:flex;justify-content:space-between;gap:var(--r-lg);font-size:var(--fs-xs)}.esc-back,.esc-row a{color:var(--canvas-mist);text-decoration:underline;text-underline-offset:3px}.esc-back{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);text-decoration:none}.esc-back svg{width:14px;height:14px}.esc-submit{height:48px;border:0;border-radius:var(--r-full);background:var(--canvas-ink);color:var(--canvas-0);font:inherit;font-size:var(--fs-sm);font-weight:700;cursor:pointer}.esc-submit:disabled{opacity:.6;cursor:not-allowed}.esc-submit:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.esc-alert{padding:var(--r-md) var(--r-lg);border:1px solid var(--danger-bright);border-radius:var(--r-lg);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm)}.esc-foot{margin-top:var(--r-xl);display:flex;justify-content:center;font-size:var(--fs-2xs);color:var(--canvas-faint)}html.lite .esc-card{backdrop-filter:none;background:var(--solid-1);box-shadow:none}@media (prefers-reduced-motion:reduce){.esc-card{backdrop-filter:none;background:var(--solid-1)}}.esc-tl-head{align-items:flex-end;gap:var(--r-lg)}.esc-tl-status{display:flex;align-items:center;gap:var(--r-md);margin:var(--r-md) 0 0;font-size:var(--fs-body);color:var(--canvas-mist)}.esc-tl-status b{font-weight:700;color:var(--now)}.esc-tl-bar{justify-content:space-between;margin-bottom:var(--r-lg)}.esc-tl-bar,.esc-tl-tools{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--r-lg)}.esc-tl-filter{display:grid;gap:var(--r-xs);font-size:var(--fs-xs);font-weight:600;color:var(--muted-foreground)}.esc-tl-filter select{min-width:0;padding:var(--r-sm) var(--r-md);border:var(--tl-bw) solid var(--border-strong);border-radius:var(--r-md);background:var(--card);color:var(--porcelain-ink);font:inherit;font-size:var(--fs-sm)}.esc-tl-block:focus-visible,.esc-tl-daybtn:focus-visible,.esc-tl-detail button:focus-visible,.esc-tl-filter select:focus-visible,.esc-tl-seg button:focus-visible{outline:var(--dock-focus-bw) solid var(--ring);outline-offset:var(--dock-focus-off)}.esc-tl-actions{display:flex;flex-wrap:wrap;gap:var(--r-md)}.esc-tl-btn{padding:var(--r-sm) var(--r-xl);border:var(--tl-bw) solid var(--border-strong);border-radius:var(--r-full);background:transparent;color:var(--porcelain-ink);font:inherit;font-size:var(--fs-sm);font-weight:700;cursor:pointer}.esc-tl-btn:hover{background:var(--card)}.esc-tl-btn.is-filled{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.esc-tl-btn.is-filled:hover{background:var(--primary);box-shadow:var(--shadow-sm)}.esc-tl-btn:focus-visible{outline:var(--dock-focus-bw) solid var(--ring);outline-offset:var(--dock-focus-off)}.esc-tl-seg{display:inline-flex;padding:var(--dock-gap-in);border:var(--tl-bw) solid var(--border-strong);border-radius:var(--r-full);background:var(--card)}.esc-tl-seg button{min-width:0;padding:var(--r-sm) var(--r-xl);border:0;border-radius:var(--r-full);background:transparent;color:var(--muted-foreground);font:inherit;font-size:var(--fs-sm);font-weight:700;cursor:pointer}.esc-tl-seg button[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground)}.esc-tl-seg button:not([aria-pressed=true]):hover{background:var(--muted);color:var(--porcelain-ink)}.esc-tl-days{display:flex;flex-wrap:wrap;gap:var(--r-sm);margin:0 0 var(--r-lg);padding:0;list-style:none}.esc-grid+.esc-tl-days,.esc-panel+.esc-tl-days{margin-top:var(--r-lg)}.esc-tl-daybtn{display:flex;align-items:baseline;gap:var(--r-sm);padding:var(--r-sm) var(--r-lg);border:var(--tl-bw) solid var(--border);border-radius:var(--r-full);background:var(--card);color:var(--porcelain-ink);font:inherit;font-size:var(--fs-xs);font-weight:600;cursor:pointer}.esc-tl-daybtn small{font-size:var(--fs-2xs);color:inherit}.esc-tl-daybtn.is-other{opacity:var(--tl-dim)}.esc-tl-daybtn.is-today{font-size:var(--fs-sm);font-weight:700;border-color:var(--gold-ink)}.esc-tl-daybtn[aria-pressed=true]{opacity:1;border-color:var(--primary);background:var(--primary-soft)}.esc-tl{display:flex;flex-direction:column;gap:var(--r-md);min-width:0}.esc-tl-row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--r-sm);min-width:0}.esc-tl-row.is-other{opacity:var(--tl-dim)}.esc-tl-label{display:flex;align-items:baseline;gap:var(--r-sm);margin:0;color:var(--porcelain-ink);font-size:var(--fs-xs);font-weight:700}.esc-tl-label small{font-size:var(--fs-2xs);font-weight:600}.esc-tl-row.is-today .esc-tl-label{font-family:var(--font-havren-display),var(--font-display);font-weight:400;font-size:var(--fs-h2)}.esc-tl-axis,.esc-tl-bands,.esc-tl-row.is-axis,.esc-tl-row.is-day .esc-tl-label{display:none}.esc-tl-breakdiv{order:var(--tl-ord);display:flex;align-items:center;gap:var(--r-md);font-size:var(--fs-xs);font-weight:600;color:var(--porcelain-ink)}.esc-tl-breakdiv:after,.esc-tl-breakdiv:before{content:"";flex:1;height:0;border-top:var(--tl-bw) dashed var(--border-strong)}.esc-tl-break{display:none}.esc-tl-track{position:relative;isolation:isolate;min-width:0}.esc-tl-list{display:flex;flex-direction:column;gap:var(--r-sm);margin:0;padding:0;list-style:none}.esc-tl-item{order:var(--tl-ord);min-width:0}.esc-tl-none{margin:0;padding:var(--r-sm) 0;font-size:var(--fs-xs);color:var(--porcelain-ink)}.esc-tl-block{--ar:var(--area-for);--ar-bg:var(--area-for-bg);position:relative;display:flex;flex-direction:column;gap:var(--dock-gap-in);width:100%;min-width:0;min-height:var(--tl-min-block);padding:var(--tl-pad) var(--r-md) var(--tl-pad) var(--r-lg);border:var(--tl-bw) solid var(--border);border-left:var(--tl-accent-w) solid var(--ar);border-radius:var(--r-md);background:var(--ar-bg);color:var(--porcelain-ink);font:inherit;text-align:left;cursor:pointer;overflow:hidden;overflow-wrap:anywhere}.esc-tl-block:hover{border-color:var(--ar)}.esc-tl-block[aria-pressed=true]{border-color:var(--primary);border-left-color:var(--ar);box-shadow:var(--shadow-sm)}.esc-tl-block.is-solape{border-color:var(--solape)}.esc-tl-block.is-now{background:var(--surface-now);border-color:var(--now-edge);box-shadow:var(--shadow-glow)}.esc-tl-block.is-now .esc-tl-meta,.esc-tl-block.is-now .esc-tl-name,.esc-tl-block.is-now .esc-tl-time{color:var(--canvas-ink)}.esc-tl-block.area-mat{--ar:var(--area-mat);--ar-bg:var(--area-mat-bg)}.esc-tl-block.area-comp{--ar:var(--area-comp);--ar-bg:var(--area-comp-bg)}.esc-tl-block.area-idi{--ar:var(--area-idi);--ar-bg:var(--area-idi-bg)}.esc-tl-block.area-com{--ar:var(--area-com);--ar-bg:var(--area-com-bg)}.esc-tl-block.area-soc{--ar:var(--area-soc);--ar-bg:var(--area-soc-bg)}.esc-tl-block.area-cie{--ar:var(--area-cie);--ar-bg:var(--area-cie-bg)}.esc-tl-block.area-edf{--ar:var(--area-edf);--ar-bg:var(--area-edf-bg)}.esc-tl-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--dock-gap-in) var(--r-sm);min-width:0}.esc-tl-time{font-size:var(--fs-xs)}.esc-tl-name,.esc-tl-time{font-weight:700;color:var(--porcelain-ink)}.esc-tl-name{font-size:var(--fs-sm);line-height:1.2}.esc-tl-meta{color:var(--porcelain-ink)}.esc-tl-meta,.esc-tl-row.is-other .esc-tl-name{font-size:var(--fs-xs)}.esc-tl-row.is-other .esc-tl-meta{display:none}.esc-tl-solape{display:inline-flex;align-items:center;gap:var(--r-xs);flex-shrink:0;line-height:1.2;white-space:nowrap;padding:var(--tl-bw) var(--r-sm);border:var(--tl-bw) solid var(--solape);border-radius:var(--r-full);background:var(--solape-soft);color:var(--solape);font-size:var(--fs-2xs);font-weight:700}.esc-tl-row.is-other .esc-tl-solape{color:var(--porcelain-ink)}.esc-tl-solape svg{width:var(--fs-2xs);height:var(--fs-2xs);flex-shrink:0}.esc-tl-prog{height:var(--tl-prog-h);margin-top:var(--r-xs);background:var(--card)}.esc-tl-prog,.esc-tl-prog i{display:block;border-radius:var(--r-full)}.esc-tl-prog i{height:100%;background:var(--primary)}.esc-tl-now{display:none}.esc-tl-nowchip{display:inline-flex;align-items:center;flex-shrink:0;padding:var(--tl-bw) var(--r-md);border-radius:var(--r-full);background:var(--deep);color:var(--now);font-size:var(--fs-2xs);font-weight:700;white-space:nowrap}.esc-tl-ndiv{order:var(--tl-ord);display:flex;align-items:center;gap:var(--r-md)}.esc-tl-ndiv:after,.esc-tl-ndiv:before{content:"";flex:1;height:0;border-top:var(--tl-bw) solid var(--deep)}.esc-tl-ndiv:before{flex:0 0 var(--r-lg)}.esc-tl-nowlabel{display:inline-flex;align-items:center;gap:var(--r-xs);padding:var(--tl-bw) var(--r-md);border-radius:var(--r-full);background:var(--deep);color:var(--now);font-size:var(--fs-2xs);font-weight:700;white-space:nowrap}.esc-tl-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--r-md);margin-top:var(--r-lg);padding-top:var(--r-lg);border-top:var(--tl-bw) solid var(--border);font-size:var(--fs-sm);color:var(--porcelain-ink)}.esc-tl-foot b{font-weight:700}.esc-tl-detail{display:grid;gap:var(--r-sm);max-width:var(--tl-sheet-max);margin-top:var(--r-lg);padding:var(--r-lg) var(--r-xl);border:var(--tl-bw) solid var(--border-strong);border-radius:var(--r-xl);background:var(--card);color:var(--porcelain-ink)}.esc-tl-detail h3{margin:0;font-weight:400;font-size:var(--fs-d4);line-height:1.1;font-family:var(--font-havren-display),var(--font-display)}.esc-tl-detail dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--r-xs) var(--r-lg);margin:0;font-size:var(--fs-sm)}.esc-tl-detail dt{font-weight:700;color:var(--muted-foreground)}.esc-tl-detail dd{margin:0;min-width:0;overflow-wrap:anywhere}.esc-tl-detail-actions{display:flex;flex-wrap:wrap;gap:var(--r-md);margin-top:var(--r-sm)}@media (min-width:768px){.esc-tl-row{grid-template-columns:var(--tl-label-w) minmax(0,1fr);align-items:start;-moz-column-gap:var(--r-lg);column-gap:var(--r-lg)}.esc-tl-row.is-day{grid-template-columns:minmax(0,1fr)}.esc-tl-row.is-axis{display:grid}.esc-tl-axis{display:block;position:relative;height:var(--tl-axis-h);border:var(--tl-bw) solid transparent}.esc-tl-tick{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--tl-pad);border-left:var(--tl-bw) solid var(--tl-track-line);overflow:hidden;overflow-wrap:anywhere;font-size:var(--fs-2xs);color:var(--muted-foreground)}.esc-tl-tick b{font-size:var(--fs-xs);color:var(--porcelain-ink)}.esc-tl-bands{display:block}.esc-tl-breakdiv{display:none}.esc-tl-axisbreak{writing-mode:vertical-rl;font-size:var(--fs-2xs);font-weight:700;color:var(--muted-foreground)}.esc-tl-axisbreak,.esc-tl-break{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--tl-band)}.esc-tl-break{left:var(--tl-l);width:var(--tl-w);border-left:var(--tl-bw) dashed var(--border-strong);border-right:var(--tl-bw) dashed var(--border-strong)}.esc-tl-breaklabel{writing-mode:vertical-rl;font-size:var(--fs-2xs);font-weight:700;white-space:nowrap;color:var(--porcelain-ink)}.esc-tl-band{position:absolute;top:0;bottom:0;left:var(--tl-l);width:var(--tl-w);background:var(--tl-band);opacity:.5}.esc-tl-band:nth-child(2n),.esc-tl-track{background:var(--tl-track)}.esc-tl-track{border-radius:var(--r-md);border:var(--tl-bw) solid var(--tl-track-line)}.esc-tl-track.has-now{padding-top:var(--tl-now-h)}.esc-tl-list{display:block;position:relative;height:calc(var(--tl-lanes,1) * (var(--tl-lane-h) + var(--tl-lane-gap)) + var(--tl-lane-gap))}.esc-tl-row.is-week .esc-tl-list{height:calc(var(--tl-lanes,1) * (var(--tl-lane-h-w) + var(--tl-lane-gap)) + var(--tl-lane-gap))}.esc-tl-item{position:absolute;z-index:3;left:var(--tl-l);width:var(--tl-w);top:calc(var(--tl-lane,0) * (var(--tl-lane-h) + var(--tl-lane-gap)) + var(--tl-lane-gap));height:var(--tl-lane-h);padding:0 var(--r-xs)}.esc-tl-row.is-week .esc-tl-item{top:calc(var(--tl-lane,0) * (var(--tl-lane-h-w) + var(--tl-lane-gap)) + var(--tl-lane-gap));height:var(--tl-lane-h-w)}.esc-tl-block{height:100%;min-height:0;padding:var(--r-xs) var(--r-sm) var(--r-xs) var(--r-md)}.esc-tl-meta,.esc-tl-ndiv,.esc-tl-nowchip,.esc-tl-prog{display:none}.esc-tl-block{gap:0}.esc-tl-none{position:absolute;left:var(--r-lg);top:var(--r-md);margin:0;padding:0}.esc-tl-now{display:block;position:absolute;z-index:1;top:0;bottom:0;left:var(--tl-l);width:var(--tl-now-w);margin-left:calc(var(--tl-now-w) / -2);background:var(--now);box-shadow:0 0 0 var(--tl-bw) var(--deep);pointer-events:none}.esc-tl-now .esc-tl-nowlabel{position:absolute;top:var(--tl-bw);left:var(--r-xs)}.esc-tl-now.is-flip .esc-tl-nowlabel{left:auto;right:var(--r-xs)}}.esc-page .esc-hello{flex-wrap:wrap}.esc-page-actions{display:flex;flex-wrap:wrap;gap:var(--r-md)}.esc-page-back{display:inline-flex;align-items:center;margin-bottom:var(--r-sm);color:var(--canvas-mist);font-size:var(--fs-xs);font-weight:600;text-decoration:none}.esc-page-back svg{width:var(--fs-sm);height:var(--fs-sm)}.esc-page-back:focus-visible,.esc-page-back:hover{color:var(--canvas-ink)}.esc-page-msg{display:grid;gap:var(--r-sm)}.esc-panel>.esc-panel-h{margin:0 0 var(--r-lg);font-weight:400;font-size:var(--fs-h2);color:var(--porcelain-ink)}.esc-panel-sub{margin:calc(var(--r-sm) * -1) 0 var(--r-lg);font-size:var(--fs-sm);color:var(--muted-foreground)}.esc-panel.is-auto{height:auto}.esc-panel>.esc-row-main{flex:0 1 auto}.esc-stack{display:grid;gap:var(--space-card);min-width:0}.esc-sec{display:grid;gap:var(--r-md);padding-top:var(--space-card);border-top:var(--tl-bw) solid var(--border)}.esc-sec:first-child{padding-top:0;border-top:0}.esc-sec h3{margin:0;font-size:var(--fs-sm);font-weight:700;color:var(--porcelain-ink)}.esc-sec p{margin:0;font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-sec p.is-msg{font-size:var(--fs-sm);color:var(--porcelain-ink)}.esc-ctl-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-card)}.esc-ctl-row>.esc-lbl{flex:1 1 calc(var(--tl-sheet-max) / 2.5);max-width:100%}.esc-ctl-row>.esc-lbl.is-narrow{flex:0 0 var(--space-section-lg)}.esc-ctl-row.is-filters{display:grid;align-items:end;gap:var(--space-card);grid-template-columns:minmax(0,1fr)}.esc-ctl-row.is-filters>.esc-lbl{flex:none;max-width:none;width:auto}.esc-ctl-row.is-filters>.esc-btns{grid-column:1/-1;align-items:center}@media (min-width:640px){.esc-ctl-row.is-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.esc-ctl-row.is-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}.esc-lbl{display:grid;gap:var(--r-xs);min-width:0;font-size:var(--fs-xs);font-weight:600;color:var(--muted-foreground)}.esc-ctl{width:100%;min-width:0;padding:var(--r-sm) var(--r-md);border:var(--tl-bw) solid var(--border-strong);border-radius:var(--r-md);background:var(--card);color:var(--porcelain-ink);font:inherit;font-size:var(--fs-sm)}.esc-ctl:focus-visible{outline:var(--dock-focus-bw) solid var(--ring);outline-offset:var(--dock-focus-off)}.esc-ctl:disabled{background:var(--muted-2);color:var(--muted-foreground);cursor:not-allowed}textarea.esc-ctl{resize:vertical}.esc-ctl-static{padding:var(--r-sm) var(--r-md);border:var(--tl-bw) solid var(--border);border-radius:var(--r-md);background:var(--muted-2);font-size:var(--fs-sm);color:var(--porcelain-ink)}.esc-hint{margin:0;font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--r-sm);padding:var(--r-sm) var(--r-xl);border:var(--tl-bw) solid var(--border-strong);border-radius:var(--r-full);background:transparent;color:var(--porcelain-ink);font:inherit;font-size:var(--fs-sm);font-weight:700;text-decoration:none;cursor:pointer}.esc-btn:hover{background:var(--card)}.esc-btn.is-sm{padding:var(--r-xs) var(--r-lg);font-size:var(--fs-xs)}.esc-btn.is-filled{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.esc-btn.is-filled:hover{background:var(--primary-hover)}.esc-btn.is-cta{border-color:var(--canvas-ink);background:var(--canvas-ink);color:var(--canvas-0)}.esc-btn.is-cta:hover{background:var(--canvas-ink);box-shadow:var(--shadow-sm)}.esc-btn.is-ok{border-color:var(--success);color:var(--success)}.esc-btn.is-ok:hover{background:var(--success-soft)}.esc-btn.is-bad{border-color:var(--danger);color:var(--danger)}.esc-btn.is-bad:hover{background:var(--danger-soft)}.esc-btn:disabled{opacity:.5;cursor:not-allowed}.esc-acc:focus-visible,.esc-act:focus-visible,.esc-btn:focus-visible{outline:var(--dock-focus-bw) solid var(--ring);outline-offset:var(--dock-focus-off)}.esc-btns{display:flex;flex-wrap:wrap;align-items:center;gap:var(--r-md)}.esc-btns.is-end{justify-content:flex-end}.esc-act{padding:0;border:0;background:none;color:var(--primary);font:inherit;font-size:var(--fs-sm);font-weight:700;text-decoration:none;cursor:pointer}.esc-act:hover{text-decoration:underline}.esc-act-sep{margin:0 var(--r-sm);color:var(--subtle)}.esc-chip{display:inline-flex;align-items:center;padding:var(--tl-bw) var(--r-md);border-radius:var(--r-full);background:var(--muted);color:var(--porcelain-ink);font-size:var(--fs-2xs);font-weight:700;white-space:nowrap}.esc-chip.is-ok{background:var(--success-soft);color:var(--success)}.esc-chip.is-warn{background:var(--warning-soft);color:var(--warning)}.esc-chip.is-bad{background:var(--danger-soft);color:var(--danger)}.esc-chip.is-info{background:var(--primary-soft);color:var(--primary)}.esc-st{font-weight:700}.esc-st.is-present{color:var(--success)}.esc-st.is-late{color:var(--warning)}.esc-st.is-absent{color:var(--danger)}.esc-st.is-permiso{color:var(--info)}.esc-rows{margin:0;padding:0;list-style:none}.esc-row-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--r-md) var(--space-card);padding:var(--r-md) 0;border-top:var(--tl-bw) solid var(--border)}.esc-row-item:first-child{border-top:0}.esc-row-item.is-col{display:grid;justify-content:stretch}.esc-row-main{min-width:0;flex:1 1 calc(var(--tl-sheet-max) / 2)}.esc-row-main strong{display:block;font-size:var(--fs-sm);font-weight:600;overflow-wrap:anywhere}.esc-row-main small{display:block;font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-row-main small.is-warn{color:var(--warning)}.esc-row-item .esc-ctl{width:auto}.esc-note{margin:0;padding:var(--r-sm) var(--r-md);border-radius:var(--r-md);background:var(--muted-2);font-size:var(--fs-sm);overflow-wrap:anywhere}.esc-data-wrap{position:relative;min-width:0;max-width:100%}.esc-data{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.esc-data th{text-align:left;font-size:var(--fs-caps);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--subtle);white-space:nowrap}.esc-data td,.esc-data th{padding:var(--r-md) var(--r-lg);border-bottom:var(--tl-bw) solid var(--border)}.esc-data td{color:var(--porcelain-ink);vertical-align:top}.esc-data tbody tr:last-child td{border-bottom:0}.esc-data tbody tr:hover{background:var(--muted-2)}.esc-data .is-num{text-align:right;font-variant-numeric:tabular-nums}.esc-data .is-nowrap,.esc-data .is-num{white-space:nowrap}.esc-data .is-strong{font-weight:700;color:var(--primary)}.esc-data .is-sub{display:block;font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-acc{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--r-lg);padding:var(--r-md) 0;border:0;border-top:var(--tl-bw) solid var(--border);background:none;color:var(--porcelain-ink);font:inherit;text-align:left;cursor:pointer}.esc-acc strong{display:block;font-size:var(--fs-sm);font-weight:600}.esc-acc small{display:block;font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-acc>span:last-child{flex-shrink:0;color:var(--subtle)}.esc-unit-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--r-md);margin-bottom:var(--r-md)}.esc-unit-head h2{margin:0;font-weight:400;font-size:var(--fs-h2);color:var(--porcelain-ink)}.esc-unit-head p{margin:var(--r-xs) 0 0;font-size:var(--fs-sm);color:var(--muted-foreground)}.esc-req-grid{display:grid;gap:var(--r-xs) var(--space-card);grid-template-columns:repeat(1,minmax(0,1fr));margin:0 0 var(--r-lg);font-size:var(--fs-sm)}@media (min-width:768px){.esc-req-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.esc-req-grid p{margin:0;color:var(--muted-foreground);overflow-wrap:anywhere}.esc-req-grid b{color:var(--porcelain-ink)}.esc-req-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--r-md);margin-top:var(--r-lg);font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-req-foot p{margin:0}.esc-modal-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:var(--r-lg);background:var(--scrim-deep)}.esc-modal{display:grid;gap:var(--space-card);width:min(100%,var(--tl-sheet-max));max-height:calc(100dvh - var(--r-lg) * 2);overflow-y:auto;padding:var(--space-panel);border-radius:var(--r-2xl);background:var(--porcelain);color:var(--porcelain-ink);box-shadow:var(--shadow-float)}.esc-modal h3{margin:0;font-weight:400;font-size:var(--fs-h2);font-family:var(--font-havren-display),var(--font-display)}.esc-modal p{margin:0;font-size:var(--fs-sm);color:var(--muted-foreground)}.esc-modal .esc-alert{margin:0}.esc-two{display:grid;gap:var(--space-card);grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:640px){.esc-two{grid-template-columns:repeat(2,minmax(0,1fr))}}.esc-page .esc-panel>*+*{margin-top:var(--r-lg)}.esc-page .esc-panel>.esc-panel-sub+*,.esc-page .esc-panel>h2+*{margin-top:0}.esc-unit-head.is-start{justify-content:flex-start;-moz-column-gap:var(--r-lg);column-gap:var(--r-lg)}.esc-seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--tl-bw);min-width:0;padding:var(--tl-bw);border:var(--tl-bw) solid var(--border-strong);border-radius:var(--r-md);background:var(--card)}.esc-seg-opt{box-sizing:border-box;min-width:var(--tl-min-block);min-height:var(--tl-min-block);padding:0 var(--r-sm);border:var(--tl-bw) solid transparent;border-radius:var(--r-sm);background:none;color:var(--porcelain-ink);font:inherit;font-size:var(--fs-xs);font-weight:600;cursor:pointer}.esc-seg-opt:hover{background:var(--muted-2)}.esc-seg-opt[aria-checked=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:700}.esc-seg-opt:focus-visible{outline:var(--dock-focus-bw) solid var(--ring);outline-offset:var(--dock-focus-off)}.esc-row-item>.esc-seg{flex:1 1 100%}@media (min-width:768px){.esc-row-item>.esc-seg{flex:0 0 calc(var(--tl-sheet-max) * .7)}}@media (max-width:767px){.esc-data-wrap{overflow:visible}.esc-data.is-cards,.esc-data.is-cards tbody,.esc-data.is-cards td,.esc-data.is-cards tr{display:block;width:100%;box-sizing:border-box}.esc-data.is-cards thead{position:absolute;width:var(--tl-bw);height:var(--tl-bw);overflow:hidden;clip:rect(0 0 0 0)}.esc-data.is-cards tr{padding:var(--r-md) 0;border-bottom:var(--tl-bw) solid var(--border)}.esc-data.is-cards tbody tr:last-child{border-bottom:0}.esc-data.is-cards td{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--r-md);padding:var(--r-xs) 0;border:0;text-align:right;min-width:0;overflow-wrap:anywhere}.esc-data.is-cards td:before{content:attr(data-label);flex:none;font-size:var(--fs-caps);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--subtle);text-align:left}.esc-data.is-cards td.is-lead{display:block;text-align:left;font-weight:600}.esc-data.is-cards td.is-lead:before{content:none}.esc-data.is-cards td.is-sub-cell{display:block}.esc-data.is-cards .is-sub{flex:1 1 100%;text-align:right}.esc-data.is-cards td.is-nowrap{white-space:normal}.esc-data.is-cards td.is-blank,.esc-data.is-cards td[data-blank]{display:none}}.esc-msg{display:grid;gap:var(--space-card);min-width:0;align-items:start}.esc-msg>.esc-panel{display:flex;flex-direction:column;height:auto;min-width:0;overflow:visible}@media (min-width:1024px){.esc-msg{grid-template-columns:minmax(0,calc(var(--tl-sheet-max) * .7)) minmax(0,1fr);align-items:start}.esc-msg-back{display:none}}@media (max-width:1023px){.esc-msg.is-detail>.esc-msg-list,.esc-msg:not(.is-detail)>.esc-msg-detail{display:none}}.esc-msg-scroll{min-height:0;overflow:visible}.esc-msg-list .esc-msg-scroll{margin:0 calc(var(--r-md) * -1)}.esc-msg-empty{display:grid;gap:var(--r-md);padding:var(--r-xl) var(--r-lg);justify-items:center;text-align:center}.esc-msg-empty-title{margin:0;font-size:var(--fs-body);font-weight:600;color:var(--porcelain-ink)}.esc-msg-empty-tip{margin:0;font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-msg-empty p{margin:0;max-width:calc(var(--tl-sheet-max) * .7)}.esc-msg-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--r-lg);width:100%;min-height:var(--tl-min-block);padding:var(--r-md);border:0;border-top:var(--tl-bw) solid var(--border);border-radius:var(--r-lg);background:none;color:var(--porcelain-ink);font:inherit;text-align:left;cursor:pointer}.esc-msg-list li:first-child .esc-msg-row{border-top-color:transparent}.esc-msg-row:hover{background:var(--muted-2)}.esc-msg-row[aria-current=true]{background:var(--primary-soft)}.esc-msg-row:focus-visible{outline:var(--dock-focus-bw) solid var(--ring);outline-offset:var(--dock-focus-off)}.esc-msg-av{display:flex;width:var(--tl-min-block);height:var(--tl-min-block);flex-shrink:0;align-items:center;justify-content:center;border-radius:var(--r-full);background:var(--primary-soft);color:var(--primary);font-size:var(--fs-sm);font-weight:700}.esc-msg-sub,.esc-msg-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--r-md);min-width:0}.esc-msg-top strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);font-weight:500}.esc-msg-row.is-unread .esc-msg-top strong{font-weight:700}.esc-msg-top time{flex-shrink:0;font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-msg-sub{margin-top:var(--r-xs);align-items:center}.esc-msg-sub span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-msg-row.is-unread .esc-msg-sub span:first-child{color:var(--porcelain-ink)}.esc-msg-head{display:flex;align-items:center;gap:var(--r-lg);margin-bottom:var(--r-lg);padding-bottom:var(--r-lg);border-bottom:var(--tl-bw) solid var(--border)}.esc-msg-head>div{min-width:0}.esc-msg-head strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-body);font-weight:600}.esc-msg-head small{display:block;font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-msg-back{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tl-min-block);min-height:var(--tl-min-block);margin-left:calc(var(--r-md) * -1);border:0;background:none;color:var(--primary);cursor:pointer}.esc-msg-back svg{width:var(--fs-h3);height:var(--fs-h3)}.esc-msg-flow{display:grid;gap:var(--r-md);align-content:start}.esc-bubble{max-width:min(85%,calc(var(--tl-sheet-max) * .85));padding:var(--r-md) var(--r-lg);border-radius:var(--r-lg);background:var(--muted-2);color:var(--porcelain-ink);overflow-wrap:anywhere}.esc-bubble.is-mine{justify-self:end;background:var(--primary-soft)}.esc-bubble p{margin:0;font-size:var(--fs-sm);white-space:pre-wrap}.esc-bubble time{display:block;margin-top:var(--r-xs);font-size:var(--fs-2xs);color:var(--muted-foreground)}.esc-bubble.is-mine time{text-align:right}.esc-msg-send{display:flex;align-items:flex-end;gap:var(--r-md);margin-top:var(--r-lg)}.esc-msg-send .esc-ctl{flex:1 1 auto;resize:none}.esc-msg-form .esc-btn,.esc-msg-send .esc-btn,.esc-msg-send .esc-ctl{min-height:var(--tl-min-block)}.esc-msg-form{display:grid;gap:var(--r-md)}.esc-msg-form-body{display:grid;gap:var(--space-card)}.esc-msg-form>.esc-btns{padding-top:var(--r-sm)}.esc-msg-form .esc-ctl{min-height:var(--tl-min-block)}.esc-msg-detail .esc-empty,.esc-msg-list .esc-empty{margin:auto 0}.esc-msg-detail .esc-loading,.esc-msg-list .esc-loading{height:auto;min-height:12rem;text-align:center;padding:0 var(--r-lg)}.esc-page-actions .esc-btn[data-esc=msg-new]{min-height:var(--tl-min-block)}.esc-page-actions .esc-btn.is-quiet{border-color:var(--canvas-mist);color:var(--canvas-ink)}.esc-page-actions .esc-btn.is-quiet:hover{background:var(--glass-1)}.esc-modal .esc-btn,.esc-modal .esc-ctl,.esc-page .esc-btn,.esc-page .esc-ctl{min-height:var(--tl-min-block)}.esc-modal textarea.esc-ctl,.esc-page textarea.esc-ctl{min-height:calc(var(--tl-min-block) * 2)}.esc-btn.is-quiet{border-color:var(--border);color:var(--porcelain-ink)}.esc-btn.is-quiet:hover{background:var(--muted-2)}.esc-btn.is-link{border-color:transparent;padding-inline:var(--r-md);color:var(--primary)}.esc-btn.is-link:hover{background:var(--primary-soft)}.esc-check{display:flex;align-items:center;gap:var(--r-md);min-height:var(--tl-min-block);font-size:var(--fs-sm);color:var(--porcelain-ink);cursor:pointer}.esc-check input{width:var(--fs-h3);height:var(--fs-h3);flex:none;accent-color:var(--primary)}.esc-code{display:flex;align-items:center;justify-content:space-between;gap:var(--r-md);padding:var(--r-md) var(--r-lg);border-radius:var(--r-md);background:var(--muted-2);font-family:var(--font-mono,monospace);font-size:var(--fs-h2);letter-spacing:.04em;overflow-wrap:anywhere}.esc-seg.is-auto{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.esc-seg.is-auto .esc-seg-opt{padding:0 var(--r-md)}.esc-three{display:grid;gap:var(--space-card);grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:768px){.esc-three{grid-template-columns:repeat(3,minmax(0,1fr))}}.esc-thumb{display:block;width:100%;aspect-ratio:16/10;-o-object-fit:cover;object-fit:cover;border-radius:var(--r-md);background:var(--muted-2)}.esc-swatch-in{width:var(--tl-min-block);height:var(--tl-min-block);padding:0;border:var(--tl-bw) solid var(--border-strong);border-radius:var(--r-md);background:var(--card);cursor:pointer}.esc-modal-backdrop .esc-modal{position:relative}.esc-panel .esc-btns+.esc-data-wrap,.esc-panel .esc-ctl-row+.esc-data-wrap{margin-top:var(--r-lg)}.esc-void strong{font-size:var(--fs-body);font-weight:700;color:var(--porcelain-ink)}.esc-void p{margin:0}.esc-modal-body{display:grid;gap:var(--r-md);font-size:var(--fs-sm);color:var(--muted-foreground)}.esc-modal-body p{margin:0}.esc-note{white-space:pre-wrap}.esc-data details summary{display:inline-flex;align-items:center;min-height:var(--tl-min-block);cursor:pointer}.esc-data pre.esc-note{max-height:calc(var(--tl-sheet-max) / 2);overflow:auto;font-size:var(--fs-xs)}.esc-opt{display:flex;align-items:flex-start;gap:var(--r-md);padding:var(--r-md) var(--r-lg);border:var(--tl-bw) solid var(--border);border-radius:var(--r-lg);cursor:pointer;min-height:var(--tl-min-block)}.esc-opt.is-on{border-color:var(--primary);background:var(--primary-soft)}.esc-opt input{margin-top:var(--r-xs);accent-color:var(--primary)}.esc-opt strong{display:block;font-size:var(--fs-sm)}.esc-opt small{display:block;font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-fieldset{margin:0;padding:0;border:0;display:grid;gap:var(--r-md);min-width:0}.esc-fieldset legend{padding:0;margin-bottom:var(--r-sm);font-size:var(--fs-xs);font-weight:600;color:var(--muted-foreground)}.esc-seg.is-auto{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.esc-seg.is-auto::-webkit-scrollbar{display:none;width:0;height:0}.esc-seg.is-auto .esc-seg-opt{flex:1 0 auto;white-space:nowrap}.esc-seg-opt[aria-selected=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:700}.esc-panel>.esc-seg+*{margin-top:var(--r-lg)}.esc-sec>.esc-ctl-row,.esc-sec>.esc-lbl,.esc-sec>.esc-two{margin-top:var(--r-xs)}.esc-mono{font-family:var(--font-mono,monospace)}.esc-quill .ql-container.ql-snow,.esc-quill .ql-toolbar.ql-snow{border-color:var(--border-strong);font-family:inherit}.esc-quill .ql-toolbar.ql-snow{border-radius:var(--r-md) var(--r-md) 0 0}.esc-quill .ql-container.ql-snow{border-radius:0 0 var(--r-md) var(--r-md);background:var(--card)}.esc-quill .ql-container.ql-snow,.esc-quill .ql-editor{min-height:calc(var(--tl-sheet-max) / 3)}.esc-panel .prose{overflow-wrap:anywhere;font-size:var(--fs-sm)}.esc-kpi.is-btn{width:100%;min-height:var(--tl-min-block);font:inherit;text-align:left;cursor:pointer}.esc-kpi.is-btn.is-on{border-color:var(--canvas-mist)}.esc-kpi.is-btn:focus-visible{outline:var(--dock-focus-bw) solid var(--ring);outline-offset:var(--dock-focus-off)}.esc-person{gap:var(--r-md);min-width:0}.esc-av,.esc-person{display:inline-flex;align-items:center}.esc-av{flex:none;justify-content:center;width:var(--tl-min-block);height:var(--tl-min-block);border-radius:var(--r-full);background:var(--muted);color:var(--porcelain-ink);font-size:var(--fs-xs);font-weight:700}.esc-grow{flex:1 1 calc(var(--tl-sheet-max) / 3);width:auto}.esc-sec-h{margin:0;display:flex;align-items:center;gap:var(--r-md);font-size:var(--fs-sm);font-weight:700;color:var(--porcelain-ink)}.esc-panel .esc-acc+.esc-data-wrap,.esc-panel .esc-acc+.esc-stack{margin-top:var(--r-sm);margin-bottom:var(--r-md)}.esc-grid.cols-6{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.esc-grid.cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.esc-grid.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}.esc-grid.is-cards{align-items:start;grid-template-columns:repeat(1,minmax(0,1fr))}.esc-grid.is-cards>.esc-panel{height:auto;align-self:start}@media (min-width:640px){.esc-grid.is-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.esc-grid.is-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:767px){.esc-data.is-cards td.is-actions{align-items:center}.esc-data.is-cards td.is-actions .esc-btn{flex:0 1 auto;max-width:min(100%,12rem);white-space:nowrap}}.esc-data [data-label] .is-sub.esc-mono,.esc-data td .is-sub.esc-mono{display:block;margin-top:var(--r-xs);font-size:var(--fs-xs);opacity:.65}a.esc-panel.is-link{color:var(--porcelain-ink);text-decoration:none}a.esc-panel.is-link:hover{box-shadow:var(--shadow-float),0 0 0 var(--tl-bw) var(--border-strong)}a.esc-panel.is-link:focus-visible{outline:var(--dock-focus-bw) solid var(--ring);outline-offset:var(--dock-focus-off)}a.esc-panel.is-link .esc-unit-head h2{font-size:var(--fs-h3)}.esc-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.esc-ico-sm{width:var(--fs-body);height:var(--fs-body);flex:none;color:var(--muted-foreground)}.esc-btn .esc-ico-sm{color:currentColor}.esc-avatar-btn{display:inline-flex;flex:none;align-items:center;justify-content:center;overflow:hidden;width:calc(var(--tl-min-block) * 2);height:calc(var(--tl-min-block) * 2);padding:0;border:var(--tl-bw) solid var(--border-strong);border-radius:var(--r-full);background:var(--muted);color:var(--porcelain-ink);font:inherit;font-size:var(--fs-h2);font-weight:700;cursor:pointer}.esc-avatar-btn img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.esc-avatar-btn:focus-visible{outline:var(--dock-focus-bw) solid var(--ring);outline-offset:var(--dock-focus-off)}.esc-avatar-btn:disabled{opacity:.6;cursor:not-allowed}.esc-file-hidden{position:absolute;width:var(--tl-bw);height:var(--tl-bw);overflow:hidden;clip:rect(0 0 0 0);opacity:0}.esc-signature{display:block;max-width:100%;max-height:calc(var(--tl-sheet-max) / 3);-o-object-fit:contain;object-fit:contain}.esc-canvas-wrap,.esc-signature{border:var(--tl-bw) solid var(--border);border-radius:var(--r-md);background:var(--card)}.esc-canvas-wrap{padding:var(--r-md)}.esc-canvas{display:block;width:100%;height:auto;max-width:100%;cursor:crosshair;touch-action:none}.esc-public{min-height:100vh;min-height:100dvh;padding:0 var(--r-lg) var(--r-2xl);color:var(--canvas-ink);font-family:var(--font-havren-sans),var(--font-sans);background:radial-gradient(70% 60% at 78% -8%,var(--light-a),transparent 62%),var(--canvas-1)}.esc-public-bar{justify-content:space-between;gap:var(--r-lg);padding:var(--r-lg) 0}.esc-public-bar,a.esc-submit{display:flex;align-items:center}a.esc-submit{justify-content:center;text-decoration:none}.esc-card .esc-notice{margin:0}.esc-seg.is-auto[role=tablist]{max-width:100%;width:100%;min-width:0;box-sizing:border-box}.esc-page>.esc-seg.is-auto{max-width:100%;width:100%;min-width:0;background:var(--porcelain);border-color:var(--border-strong)}body,html{background:var(--canvas-1);min-height:100%}.esc-shell,body,html{min-height:100dvh}.esc-body{background:transparent}.esc-content,.esc-home,.esc-page{min-width:0;max-width:100%;background:transparent}.esc-print-only{display:none}@media print{.esc-print-only{display:block}}.esc-notif{position:fixed;z-index:80;left:auto;display:flex;flex-direction:column;box-sizing:border-box;width:min(24rem,calc(100vw - var(--r-lg) * 2));max-width:calc(100vw - var(--r-lg) * 2);overflow:hidden;border:var(--tl-bw) solid var(--border-strong);border-radius:var(--r-lg);background:var(--card);color:var(--porcelain-ink);box-shadow:var(--shadow-float);opacity:0;transform:scale(.98);pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.esc-notif.is-open{opacity:1;transform:scale(1);pointer-events:auto}.esc-notif-head{display:flex;align-items:center;justify-content:space-between;gap:var(--r-sm);padding:var(--r-md) var(--r-lg);border-bottom:var(--tl-bw) solid var(--border)}.esc-notif-head h2{margin:0;font-size:var(--fs-sm);font-weight:700}.esc-notif-body{min-height:0;flex:1;overflow-y:auto}.esc-notif-item{display:grid;gap:var(--r-xs);padding:var(--r-md) var(--r-lg);border-top:var(--tl-bw) solid var(--border);cursor:pointer;background:transparent}.esc-notif-item:first-child{border-top:0}.esc-notif-item.is-unread{background:var(--primary-soft)}.esc-notif-item strong{font-size:var(--fs-sm);font-weight:600}.esc-notif-item p{margin:0;font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-notif-item time{font-size:var(--fs-2xs);color:var(--muted-foreground)}.esc-notif-dot{width:var(--r-sm);height:var(--r-sm);border-radius:var(--r-full);background:var(--now);flex-shrink:0;margin-top:var(--r-xs)}.esc-top-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:var(--tl-min-block);min-height:var(--tl-min-block);padding:var(--r-sm);border:0;border-radius:var(--r-md);background:transparent;color:var(--muted-foreground);cursor:pointer}.esc-top-bell:hover{background:var(--muted-2);color:var(--porcelain-ink)}.esc-top-bell .esc-chip{position:absolute;top:0;right:0;min-width:var(--r-lg);height:var(--r-lg);padding:0 var(--r-xs);font-size:var(--fs-2xs);line-height:var(--r-lg)}.esc-file-pick{display:flex;flex-wrap:wrap;align-items:center;gap:var(--r-md);min-width:0}.esc-file-pick .esc-file-name{flex:1 1 8rem;min-width:0;font-size:var(--fs-sm);color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.esc-rank{margin:0;padding:0;list-style:none;display:grid;gap:var(--r-sm)}.esc-rank-row>.esc-score{flex:none;white-space:nowrap;text-align:right}.esc-rank-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:var(--r-md);min-height:var(--tl-min-block);padding:var(--r-sm) var(--r-md);border-radius:var(--r-lg);background:var(--muted-2)}.esc-rank-who{display:block;min-width:0}.esc-rank-who small,.esc-rank-who strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.esc-rank-who small{font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-rank-av{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:var(--primary-soft);color:var(--primary);font-size:var(--fs-sm);font-weight:700;letter-spacing:.04em;text-align:center}.esc-rank-av img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.esc-rank-av.is-ring-gold{box-shadow:0 0 0 3px var(--gold)}.esc-rank-av.is-ring-silver{box-shadow:0 0 0 3px var(--silver)}.esc-rank-av.is-ring-bronze{box-shadow:0 0 0 3px var(--bronze)}.esc-rank-av.is-lg{width:calc(var(--tl-min-block) * 1.5);height:calc(var(--tl-min-block) * 1.5);font-size:var(--fs-h2)}.esc-rank-pos{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:var(--r-xs);min-width:var(--tl-min-block);height:var(--tl-min-block);border-radius:var(--r-full);color:var(--muted-foreground);font-size:var(--fs-sm);font-weight:700}.esc-rank-pos.is-podium{padding:0 var(--r-md)}.esc-rank-pos.is-gold{background:var(--gold-soft);color:var(--gold-ink)}.esc-rank-pos.is-silver{background:var(--silver-soft);color:var(--silver-ink)}.esc-rank-pos.is-bronze{background:var(--bronze-soft);color:var(--bronze-ink)}.esc-rank-pos svg{width:var(--r-xl);height:var(--r-xl)}.esc-rank-card{display:flex;flex-direction:column;gap:var(--r-md);align-items:stretch}.esc-rank-card-head{display:flex;align-items:center;gap:var(--r-md);min-width:0}.esc-rank-card-meta{display:flex;flex-direction:column;align-items:flex-start;gap:var(--r-xs);min-width:0}.esc-rank-card-meta small,.esc-rank-card-meta strong{overflow-wrap:anywhere}.esc-rank-card-meta small,.esc-rank-card-score small{font-size:var(--fs-xs);color:var(--muted-foreground)}.esc-rank-card-score{display:flex;flex-direction:column;gap:var(--r-xs)}@media (max-width:480px){.esc-rank-row{gap:var(--r-sm);padding:var(--r-sm)}}@media (max-width:767px){.esc-three.is-podium .esc-rank-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--r-md);padding:var(--r-md)}.esc-three.is-podium .esc-rank-card-head{min-width:0;gap:var(--r-sm)}.esc-three.is-podium .esc-rank-card-meta{min-width:0}.esc-three.is-podium .esc-rank-card-meta small,.esc-three.is-podium .esc-rank-card-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.esc-three.is-podium .esc-rank-card-score{align-items:flex-end;text-align:right}.esc-three.is-podium .esc-rank-card-score .esc-score{font-size:var(--fs-h2)}}@media (min-width:768px){.esc-three.is-podium{align-items:end}.esc-three.is-podium .is-p1{order:2}.esc-three.is-podium .is-p2{order:1}.esc-three.is-podium .is-p3{order:3}.esc-three.is-podium .esc-rank-card{align-items:center;text-align:center;gap:var(--r-sm)}.esc-three.is-podium .esc-rank-card-head{flex-direction:column;text-align:center}.esc-three.is-podium .esc-rank-card-meta,.esc-three.is-podium .esc-rank-card-score{align-items:center}.esc-three.is-podium .esc-rank-av.is-lg{width:calc(var(--tl-min-block) * 2.25);height:calc(var(--tl-min-block) * 2.25);font-size:var(--fs-d3)}.esc-three.is-podium .is-p1 .esc-rank-av.is-lg{width:calc(var(--tl-min-block) * 2.65);height:calc(var(--tl-min-block) * 2.65)}}@media (max-width:480px){.esc-grid.is-strip{display:flex;gap:var(--r-sm);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.esc-grid.is-strip::-webkit-scrollbar{display:none}.esc-grid.is-strip>.esc-kpi.esc-glass{flex:none;display:grid;grid-template-columns:auto auto;grid-template-areas:"i b" "i c";align-items:center;-moz-column-gap:var(--r-sm);column-gap:var(--r-sm);row-gap:0;padding:var(--r-sm) var(--r-md);scroll-snap-align:start}.esc-grid.is-strip>.esc-kpi svg{grid-area:i;margin:0}.esc-grid.is-strip>.esc-kpi b{grid-area:b;font-size:var(--fs-h2)}.esc-grid.is-strip>.esc-kpi .esc-caps{grid-area:c;font-size:var(--fs-2xs)}.esc-grid.is-strip>.esc-kpi small{display:none}}[data-esc-fade-right=true]{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - var(--scroll-fade-edge)),transparent);mask-image:linear-gradient(to right,#000 calc(100% - var(--scroll-fade-edge)),transparent)}