@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-ext-wght-normal-EocZY2iu.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-ui:"Inter Variable", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, monospace;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;--space-6:48px;--radius-control:6px;--radius-sheet:12px;--touch:44px;--sidebar-width:240px;--tabbar-height:56px;--primary:var(--lightningcss-light,#101b3a)var(--lightningcss-dark,#86a0ea);--primary-hover:var(--lightningcss-light,#1f2f5c)var(--lightningcss-dark,#a3b8f0);--on-primary:var(--lightningcss-light,#fff)var(--lightningcss-dark,#101b3a);--bg:var(--lightningcss-light,#fbf8f1)var(--lightningcss-dark,#0d1426);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#141c33);--text:var(--lightningcss-light,#151b30)var(--lightningcss-dark,#e9ecf5);--text-muted:var(--lightningcss-light,#5b6278)var(--lightningcss-dark,#98a0b8);--border:var(--lightningcss-light,#d9d4c6)var(--lightningcss-dark,#28314d);--border-control:var(--lightningcss-light,#7d8396)var(--lightningcss-dark,#66749a);--skeleton:var(--lightningcss-light,#ece8dd)var(--lightningcss-dark,#1b243e);--skeleton-shine:var(--lightningcss-light,#f6f3ea)var(--lightningcss-dark,#25304f);--danger:var(--lightningcss-light,#9b3b3b)var(--lightningcss-dark,#d08a8a);--scrim:#14181a66}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root{--pos-slate:var(--lightningcss-light,#6b757b)var(--lightningcss-dark,#8d979d);--pos-teal:var(--lightningcss-light,#3f7f84)var(--lightningcss-dark,#6fa8ad);--pos-clay:var(--lightningcss-light,#a8715a)var(--lightningcss-dark,#c99580);--pos-sand:var(--lightningcss-light,#8f7c4c)var(--lightningcss-dark,#c2ae7e);--pos-plum:var(--lightningcss-light,#85658a)var(--lightningcss-dark,#a78bac);--pos-moss:var(--lightningcss-light,#6a8660)var(--lightningcss-dark,#8fae85)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font:16px/1.5 var(--font-ui);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}h1{margin:0 0 var(--space-3);font-size:24px;font-weight:600;line-height:32px}h2{margin:0 0 var(--space-2);font-size:18px;font-weight:600;line-height:24px}p{margin:0 0 var(--space-3)}.mono,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn{min-height:var(--touch);padding:0 var(--space-3);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-control);border:1px solid var(--primary);font:inherit;cursor:pointer;background:var(--primary);color:var(--on-primary);font-weight:500;display:inline-flex}.btn:hover{background:var(--primary-hover)}.btn--secondary{color:var(--primary);background:0 0}.btn--secondary:hover{border-color:var(--primary-hover);color:var(--primary-hover);background:0 0}.btn[aria-busy=true]{pointer-events:none;opacity:.7}.btn:disabled{opacity:.5;cursor:not-allowed}.split{display:inline-flex;position:relative}.split__main{border-top-right-radius:0;border-bottom-right-radius:0}.split__toggle{padding:0 var(--space-2);border-left-color:var(--on-primary);border-top-left-radius:0;border-bottom-left-radius:0}.split__menu{z-index:20;min-width:200px;margin-top:var(--space-1);padding:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);flex-direction:column;display:flex;position:absolute;top:100%;right:0;box-shadow:0 4px 16px #0003}.split__menu button{min-height:var(--touch);padding:0 var(--space-3);text-align:left;font:inherit;color:var(--text);border-radius:var(--radius-control);cursor:pointer;background:0 0;border:0}.split__menu button:hover:not(:disabled),.split__menu button:focus-visible{background:var(--border)}.split__menu button:disabled{opacity:.5;cursor:not-allowed}.skeleton{border-radius:var(--radius-control);background:linear-gradient(90deg, var(--skeleton) 25%, var(--skeleton-shine) 50%, var(--skeleton) 75%);background-size:200% 100%;animation:1.4s linear infinite shine;display:block}@keyframes shine{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.state{padding:var(--space-6) var(--space-3);text-align:center;color:var(--text-muted)}.state h2{color:var(--text)}.list{margin:0;padding:0;list-style:none}.list-row{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);min-height:56px;display:flex}.sheet-scrim{z-index:10;background:var(--scrim);display:flex;position:fixed;inset:0}.sheet{background:var(--surface);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;max-height:90%;padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0;overflow:auto}.shell{flex-direction:column;min-height:100%;display:flex}.shell__main{min-width:0;padding:var(--space-3);padding-bottom:calc(var(--tabbar-height) + var(--space-3) + env(safe-area-inset-bottom));flex:1}.nav{display:flex}.nav a{color:var(--text-muted);text-decoration:none}.nav a[aria-current=page]{color:var(--primary);font-weight:600}@media (hover:hover){.nav a:hover:not([aria-current=page]),.nav button.nav__signout:hover{color:var(--text);background:var(--border)}}.brand{font-size:18px;font-weight:600;display:none}.nav{height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--surface);border-top:1px solid var(--border);justify-content:space-around;position:fixed;bottom:0;left:0;right:0}.nav a{min-height:var(--touch);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:12px;line-height:16px;display:flex}@media (width>=640px){.shell__main{padding:var(--space-4);padding-bottom:var(--space-4)}.sheet{border-radius:var(--radius-sheet) 0 0 var(--radius-sheet);width:420px;max-height:none;padding-bottom:var(--space-4);top:0;left:auto}}@media (width>=1024px){.shell{flex-direction:row}.nav{justify-content:flex-start;align-self:flex-start;gap:var(--space-1);width:var(--sidebar-width);height:100dvh;padding:var(--space-3);border-top:0;border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;position:sticky;top:0;overflow-y:auto}.nav a{justify-content:flex-start;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-control);flex-direction:row;flex:none;font-size:16px;line-height:24px}.brand{padding:var(--space-2) var(--space-3) var(--space-3);display:block}.shell__main{padding:var(--space-5)}}.field{margin-bottom:var(--space-3)}.field label{margin-bottom:var(--space-1);font-weight:500;display:block}.input{width:100%;min-height:var(--touch);padding:0 var(--space-2);font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-control);border-radius:var(--radius-control)}.input:focus-visible{outline-offset:0;border-color:var(--primary)}.hint,.muted{color:var(--text-muted)}.hint{margin:var(--space-1) 0 0;font-size:14px;line-height:20px}.hint--spaced{margin-bottom:var(--space-3)}.form-actions{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.form-actions .btn{width:100%}.link{color:var(--primary)}button.link{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.auth{min-height:100%;padding:var(--space-5) var(--space-3);justify-content:center;display:flex}.auth__column{width:100%;max-width:400px}.logo{align-items:center;display:inline-flex}.logo img{width:auto;display:block}.logo__dark{display:none!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .logo__light{display:none}:root:not([data-theme=light]) .logo__dark{display:block!important}}:root[data-theme=dark] .logo__light{display:none}:root[data-theme=dark] .logo__dark{display:block!important}.shell__main h1:before{content:"";width:26px;height:22px;margin-right:var(--space-2);vertical-align:-2px;background:url(/assets/mark-BsvP9jj4.svg) 50%/contain no-repeat;display:inline-block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .shell__main h1:before{background-image:url(/assets/mark-on-dark-N0wgKGDU.svg)}}:root[data-theme=dark] .shell__main h1:before{background-image:url(/assets/mark-on-dark-N0wgKGDU.svg)}@media (width>=1024px){.shell__main h1:before{display:none}}.brand--visible{margin:0 0 var(--space-4);padding:0;display:block}.nav__spacer{display:none}@media (width>=1024px){.nav__spacer{flex:1;display:block}}.nav button.nav__signout{align-items:center;gap:var(--space-2);width:100%;font:inherit;color:var(--text-muted);min-height:var(--touch);padding:0 var(--space-3);text-align:left;cursor:pointer;border-radius:var(--radius-control);background:0 0;border:0;display:none}@media (width>=1024px){.nav button.nav__signout{display:flex}.mobile-only{display:none}}form+p{margin-top:var(--space-3)}.toasts{z-index:20;left:var(--space-3);right:var(--space-3);bottom:calc(var(--tabbar-height) + var(--space-3) + env(safe-area-inset-bottom));gap:var(--space-2);pointer-events:none;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:fixed}.toast{pointer-events:auto;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-control);border-left-width:4px;animation:.16s ease-out toast-in;display:flex}.toast--success{border-left-color:var(--primary)}.toast--error{border-left-color:var(--danger)}.toast--info{border-left-color:var(--text-muted)}.toast svg{flex:none;margin-top:2px}.toast--success svg{color:var(--primary)}.toast--error svg{color:var(--danger)}.toast__message{flex:1;padding-top:2px}.toast__close{width:var(--touch);height:32px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-control);background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin:-4px 0;display:inline-flex}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}@media (width>=640px){.toasts{width:380px;left:auto;right:var(--space-4);bottom:var(--space-4)}}.page{max-width:720px}.page-section{padding:var(--space-4) 0;border-bottom:1px solid var(--border)}.page-section:last-child{border-bottom:0}.button-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.grow{flex:1;min-width:0}.role{text-transform:capitalize}.tag{margin-left:var(--space-1);padding:0 var(--space-1);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--text-muted);font-size:12px;line-height:20px;display:inline-block}.qr{margin:var(--space-3) 0;border:1px solid var(--border);border-radius:var(--radius-control);display:block}.codes{margin:0 0 var(--space-3);padding:var(--space-3);gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-control);grid-template-columns:repeat(2,1fr);list-style:none;display:grid}.sheet__head{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.sheet__head h2{margin:0}.icon-button{width:var(--touch);height:var(--touch);margin-right:calc(var(--space-2) * -1);color:var(--text-muted);cursor:pointer;border-radius:var(--radius-control);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.icon-button:hover{color:var(--primary);background:var(--border)}}.sheet:focus{outline:none}.btn svg{flex:none}.hint--block{margin-bottom:var(--space-3)}.list+.btn{margin-top:var(--space-3)}.field label.check{align-items:center;gap:var(--space-2);min-height:var(--touch);cursor:pointer;margin-bottom:0;font-weight:500;display:flex}.check input{width:20px;height:20px;accent-color:var(--primary);flex:none;margin:0}.hint--indented{margin-left:calc(20px + var(--space-2))}select.input{appearance:auto}.input:disabled{opacity:.6;cursor:not-allowed}.page-section>h2{margin-bottom:var(--space-3)}.page-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.page-head h1,.page-head h2{margin:0}.sheet__subhead{margin:var(--space-5) 0 var(--space-2);font-size:16px;font-weight:600;line-height:24px}.avatar{background:var(--skeleton);color:var(--text-muted);letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.photo-row{align-items:center;gap:var(--space-4);display:flex}.photo-row .muted{margin-bottom:var(--space-2)}@media (width<=639px){.photo-row{align-items:flex-start;gap:var(--space-3);flex-direction:column}}a.btn{text-decoration:none}.filters{gap:0 var(--space-3);margin-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.row-button{align-items:center;gap:var(--space-3);min-width:0;min-height:56px;padding:var(--space-1) 0;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-control);background:0 0;border:0;flex:1;display:flex}.row-button:hover .row-button__title{text-decoration:underline}.row-button__title{overflow-wrap:anywhere;display:block}.row-button .hint{display:block}.details dt{color:var(--text-muted);font-size:14px;line-height:20px}.details dd{margin:0 0 var(--space-3);overflow-wrap:anywhere}.details__json{padding:var(--space-2);white-space:pre-wrap;word-break:break-word;border:1px solid var(--border);border-radius:var(--radius-control);margin:0;font-size:13px}.tabs{gap:var(--space-1);box-shadow:inset 0 -1px 0 var(--border);margin-bottom:var(--space-3);scrollbar-width:none;display:flex;overflow:auto hidden}.tabs::-webkit-scrollbar{display:none}@property --fade-start{syntax:"<length>";inherits:false;initial-value:0}@property --fade-end{syntax:"<length>";inherits:false;initial-value:0}@keyframes tabs-fade-start{to{--fade-start:40px}}@keyframes tabs-fade-end{0%{--fade-end:40px}to{--fade-end:0px}}@supports (animation-timeline:scroll()){.tabs{-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--fade-start), #000 calc(100% - var(--fade-end)), transparent);mask-image:linear-gradient(to right, transparent, #000 var(--fade-start), #000 calc(100% - var(--fade-end)), transparent);animation:linear both tabs-fade-start,linear both tabs-fade-end;animation-timeline:scroll(self inline),scroll(self inline);animation-range:0 40px,calc(100% - 40px) 100%}}.tabs a,.tabs button{font:inherit;cursor:pointer;min-height:var(--touch);padding:0 var(--space-3);white-space:nowrap;color:var(--text-muted);background:0 0;border-style:solid;border-width:0 0 2px;border-bottom-color:#0000;align-items:center;text-decoration:none;display:inline-flex}.tabs button{border-color:#0000}.tabs a[aria-current=page],.tabs button[aria-pressed=true]{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.chip{align-items:center;gap:var(--space-1);margin:0 var(--space-1) var(--space-1) 0;padding:0 var(--space-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-control);font-size:13px;line-height:22px;display:inline-flex}.chip__dot{background:var(--pos-slate);border-radius:50%;width:8px;height:8px}.chip__dot--teal{background:var(--pos-teal)}.chip__dot--clay{background:var(--pos-clay)}.chip__dot--sand{background:var(--pos-sand)}.chip__dot--plum{background:var(--pos-plum)}.chip__dot--moss{background:var(--pos-moss)}.input--area{min-height:96px;padding:var(--space-2);resize:vertical;line-height:24px}@media (width>=640px){.sheet--wide{width:min(760px,92vw)}}.sheet__section{margin:var(--space-4) 0 var(--space-2);font-size:16px;font-weight:600;line-height:24px}.toolbar{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;align-items:center;display:flex}.toolbar .field{flex:180px;margin:0}.toolbar__actions,.swatches{gap:var(--space-2);flex-wrap:wrap;display:flex}.swatch{width:var(--touch);height:var(--touch);border-radius:var(--radius-control);border:1px solid var(--border-control);background:var(--surface);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.swatch[aria-checked=true]{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.swatch .chip__dot{width:16px;height:16px}.presets{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.masked{letter-spacing:.15em;color:var(--text-muted)}.diff{color:var(--text-muted);font-size:14px;line-height:20px;display:block}.diff s{color:var(--text-muted)}.diff strong{color:var(--text);font-weight:500}.table-scroll{overflow-x:auto}.mapping{border-collapse:collapse;width:100%}.mapping th,.mapping td{text-align:left;padding:var(--space-1) var(--space-2) var(--space-1) 0;vertical-align:middle}.mapping th{color:var(--text-muted);font-size:14px;font-weight:500}.mapping .input{min-width:160px}.tag--ok{color:var(--primary);border-color:var(--primary)}.tag--bad{color:var(--danger);border-color:var(--danger)}fieldset.checks{margin:0 0 var(--space-3);border:0;padding:0}fieldset.checks legend{margin-bottom:var(--space-1);padding:0;font-weight:500}fieldset.checks .check{font-weight:400}.check-row{column-gap:var(--space-5);flex-wrap:wrap;display:flex}.field__label{margin-bottom:var(--space-1);font-weight:500;display:block}.mono{font-family:var(--font-mono)}fieldset.checks .check{align-items:center;gap:var(--space-2);min-height:var(--touch);cursor:pointer;display:flex}.details-block{margin-top:var(--space-4)}.details-block summary{min-height:var(--touch);cursor:pointer;align-items:center;font-weight:600;display:flex}.sheet__footer{bottom:calc(var(--space-4) * -1);margin-top:var(--space-4);padding:var(--space-3) 0 var(--space-4);margin-bottom:calc(var(--space-4) * -1);background:var(--surface);border-top:1px solid var(--border);position:sticky}.sheet__footer .btn{width:100%}.limit-row{border:0;border-top:1px solid var(--border);margin:var(--space-3) 0 0;padding:var(--space-3) 0 0}.limit-row legend{padding:0;font-weight:600}.limit-row .field{margin-top:var(--space-2)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.page--wide{max-width:none}.toolbar{justify-content:space-between;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.toolbar__nav{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.toolbar__range{margin:0 0 0 var(--space-2)}.toolbar__filters{gap:var(--space-3);flex:320px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));max-width:480px;display:grid}.toolbar__filters .field{margin:0}.grid-scroll{border-top:1px solid var(--border);overflow-x:auto}.grid{min-width:960px}.grid__row{grid-template-columns:subgrid;border-bottom:1px solid var(--border);grid-column:1/-1;display:grid}.grid{display:grid}.grid__row--head{background:var(--surface);z-index:1;position:sticky;top:0}.grid__corner,.grid__day{padding:var(--space-2);color:var(--text-muted);font-weight:600}.grid__day--today{color:var(--primary)}.grid__who{align-items:center;gap:var(--space-2);padding:var(--space-2);display:flex}.grid__name{font-weight:600}.grid__roles{gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.grid__cell{gap:var(--space-1);min-height:64px;padding:var(--space-1);border-left:1px solid var(--border);flex-direction:column;display:flex;position:relative}.grid__row--ineligible .grid__who,.grid__row--ineligible .grid__cell{opacity:.55}.grid__cell--over{background:color-mix(in srgb, var(--primary) 10%, transparent)}.grid__add{right:var(--space-1);bottom:var(--space-1);width:32px;height:32px;color:var(--text-muted);border-radius:var(--radius-control);cursor:pointer;opacity:0;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex;position:absolute}.grid__cell:hover .grid__add,.grid__add:focus-visible{opacity:1}.grid__add:hover{color:var(--primary);background:var(--border)}@media (hover:none){.grid__add{opacity:.6}}.shift{gap:var(--space-1);width:100%;padding:var(--space-1) var(--space-2);text-align:left;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;touch-action:none;border-left-width:4px;flex-direction:column;align-items:flex-start;display:flex}.shift--draft{border-style:dashed dashed dashed solid}.away{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-control);background:repeating-linear-gradient(135deg, transparent 0 6px, color-mix(in srgb, var(--text-muted) 14%, transparent) 6px 8px);font-size:13px;line-height:18px;display:flex}.away svg{flex:none}.away--pending{background:0 0;border-style:dashed}.daylist__day .away{margin-bottom:var(--space-2)}.shift-cont{gap:var(--space-1);width:100%;padding:var(--space-1) var(--space-2);text-align:left;font:inherit;color:var(--text-muted);border:1px dashed var(--border);border-left:4px dotted var(--border);border-radius:var(--radius-control);cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;font-size:12px;font-style:italic;line-height:16px;display:flex}.daylist__day .shift-cont{margin-bottom:var(--space-2)}.shift--dragging{opacity:.4}.shift--overlay{width:176px;box-shadow:0 4px 16px #0003}.shift__time,.shift__who{font-weight:600}.shift__meta{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.shift__warn{color:var(--danger,#b3402a);display:inline-flex}.shift-check{margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);gap:var(--space-1);border:1px solid var(--border);border-left:4px solid var(--danger,#b3402a);border-radius:var(--radius-control);background:var(--surface);font-size:14px;line-height:20px;list-style:none;display:grid}.shift-check__item--block{color:var(--danger,#b3402a);font-weight:600}.grid-skel{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border);grid-template-columns:200px 1fr;display:grid}.daylist__day{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.daylist__day .shift{margin-bottom:var(--space-2);touch-action:auto}.daylist__head{justify-content:space-between;align-items:center;display:flex}.range-toggle{border:1px solid var(--border);border-radius:var(--radius-control);display:inline-flex;overflow:hidden}.range-toggle button{font:inherit;padding:var(--space-2) var(--space-3);color:var(--text-muted);background:var(--surface);border:0;border-left:1px solid var(--border);cursor:pointer;min-height:40px}.range-toggle button:first-child{border-left:0}.range-toggle button[aria-pressed=true]{color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, var(--surface));font-weight:600}.month__dow,.month__grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month__dow{color:var(--text-muted);text-align:center;padding-bottom:var(--space-1);font-size:12px}.month__grid{border-top:1px solid var(--border);border-left:1px solid var(--border)}.month__day{min-width:0;min-height:56px;padding:var(--space-1);font:inherit;color:inherit;text-align:left;background:var(--surface);border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:2px;display:flex}.month__day--out{background:color-mix(in srgb, var(--border) 35%, var(--surface))}.month__day--out .month__num,.month__day--out .month__dots{opacity:.55}.month__num{min-width:24px;height:24px;padding:0 var(--space-1);font:inherit;text-align:center;color:var(--text);background:0 0;border:0;border-radius:12px;align-self:flex-start;font-size:13px;line-height:24px}button.month__num{cursor:pointer}button.month__num:hover{background:var(--border)}.month__day--today .month__num{color:#fff;background:var(--primary);font-weight:600}button.month__day{cursor:pointer;align-items:center}button.month__day .month__num{align-self:center}.month__day--selected{box-shadow:inset 0 0 0 2px var(--primary)}.month__dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;min-height:12px;display:flex}.month__count{color:var(--text-muted);font-size:11px;line-height:8px}.chip__dot--open{border:1.5px solid var(--text-muted);box-sizing:border-box;background:0 0}.month__chip{align-items:flex-start;gap:var(--space-1);width:100%;padding:2px var(--space-1);font:inherit;text-align:left;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);cursor:pointer;font-size:12px;line-height:16px;display:flex}.month__chip .chip__dot{flex:none;margin-top:4px}.month__chip--cont .month__chip-text>strong{font-weight:500}.month__chip-text{flex-direction:column;min-width:0;display:flex}.month__chip-text>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.month__chip-text>span{color:var(--text-muted)}.month__chip--draft{border-style:dashed}.month__chip--cont{color:var(--text-muted);border-style:dotted;font-style:italic}.month__more{padding:0 var(--space-1);font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;align-self:flex-start;font-size:12px}@media (width>=768px){.month__day{min-height:120px}}@media (hover:hover){.month__chip:hover,.month__more:hover{background:var(--border)}}.tl__tools{margin-bottom:var(--space-1);justify-content:flex-end;display:flex}.tl-scroll{border-top:1px solid var(--border);overflow-x:auto}.tl{grid-template-columns:220px minmax(var(--tl-min), 1fr);min-width:calc(220px + var(--tl-min));display:grid}.tl__row{grid-template-columns:subgrid;border-bottom:1px solid var(--border);grid-column:1/-1;display:grid}.tl__row--head{z-index:2;background:var(--surface);position:sticky;top:0}.tl__row--head .grid__corner,.tl__who{z-index:1;background:var(--surface);border-right:1px solid var(--border);position:sticky;left:0}.tl__row--head .grid__corner{z-index:3}.tl__who{align-items:center;gap:var(--space-2);padding:var(--space-2);display:flex}.tl__name{flex:1;min-width:0}.tl__name>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tl__who>.avatar{flex:none}.tl__who.hint{margin:0}.tl__row--count .tl__who{padding:var(--space-1) var(--space-2)}.tl__track{background-image:linear-gradient(to right, var(--border) 1px, transparent 1px);background-size:calc(100% / var(--tl-hours)) 100%;min-height:56px;position:relative}.tl__track--head,.tl__track--count{min-height:32px}.tl__row--head .grid__corner{padding-block:var(--space-1);white-space:nowrap;text-overflow:ellipsis;align-items:center;display:flex;overflow:hidden}.tl__track--addable{cursor:cell}.tl__hour{color:var(--text-muted);white-space:nowrap;padding:7px 0 0 4px;font-size:12px;line-height:16px;position:absolute;top:0}.tl__count{justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex;position:absolute;top:0;bottom:0}.tl__count--none{color:var(--text-muted);font-weight:400}.tl__away{white-space:nowrap;pointer-events:none;position:absolute;top:4px;bottom:4px;overflow:hidden}.tl__bar{box-sizing:border-box;min-width:0;height:44px;padding:2px var(--space-2);font:inherit;text-align:left;color:inherit;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--pos-slate);border-radius:var(--radius-control);cursor:pointer;flex-direction:column;justify-content:center;align-items:flex-start;font-size:12px;line-height:16px;display:flex;position:absolute;overflow:hidden}.tl__bar--teal{border-left-color:var(--pos-teal)}.tl__bar--clay{border-left-color:var(--pos-clay)}.tl__bar--sand{border-left-color:var(--pos-sand)}.tl__bar--plum{border-left-color:var(--pos-plum)}.tl__bar--moss{border-left-color:var(--pos-moss)}.tl__bar>*{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tl__time{font-weight:600}.tl__meta{color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.tl__bar--draft{border-style:dashed dashed dashed solid}.tl__bar--before{border-top-left-radius:0;border-bottom-left-radius:0}.tl__bar--after{border-right-style:dotted;border-top-right-radius:0;border-bottom-right-radius:0}.tl__track:hover .grid__add{opacity:1}@media (width<=767px){.tl{grid-template-columns:148px minmax(var(--tl-min), 1fr);min-width:calc(148px + var(--tl-min))}}@media (hover:hover){.tl__bar:hover{background:var(--border)}}.field-row{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.availability-day{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);align-items:flex-start;display:flex}.availability-day>strong{padding-top:var(--space-2);flex:0 0 96px}.availability-day .field{margin-bottom:var(--space-2)}.availability-range{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.availability-range .input{flex:1;width:auto;min-width:0}.field-error{color:var(--danger);margin:var(--space-2) 0}@media (width<=480px){.availability-day{gap:var(--space-1);flex-direction:column}.availability-day>strong{padding-top:0}}.clock{max-width:520px;padding:var(--space-4) 0;border-bottom:1px solid var(--border);text-align:center;margin:0 auto}.clock__time{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:0;font-size:56px;font-weight:600;line-height:64px}.clock__seconds{color:var(--text-muted);letter-spacing:0;font-size:20px;font-weight:500}.clock__date{margin:0 0 var(--space-3);color:var(--text-muted)}.clock__state{margin:0;font-size:18px;font-weight:600;line-height:24px}.clock__meta{margin:var(--space-1) 0 0;color:var(--text-muted)}.clock__where{margin-top:var(--space-3);text-align:left}.clock__note{margin:var(--space-3) 0 0;font-size:14px;line-height:20px}.clock__note--ok{color:var(--primary)}.clock__note--warn{color:var(--danger)}.clock__note--muted{color:var(--text-muted)}.clock__actions{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.clock__button{width:100%;min-height:64px;font-size:20px}.clock__recent{margin-top:var(--space-5)}@media (width>=640px){.clock__time{font-size:72px;line-height:80px}.clock__actions{flex-direction:row}.clock__button{flex:1}}.punch-row{gap:var(--space-1) var(--space-3);width:100%;min-height:56px;padding:var(--space-3) 0;border:0;border-bottom:1px solid var(--border);font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:1fr auto;display:grid}.punch-row:hover .punch-row__day{color:var(--primary)}.punch-row__day,.punch-row__total{font-weight:600}.punch-row__total{font-variant-numeric:tabular-nums}.punch-row__range,.punch-row__tags{grid-column:1/-1}.punch-row__tags{gap:var(--space-1);flex-wrap:wrap;display:flex}.punch-row__tags .tag{margin-left:0}.week-nav{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.bulk-bar{gap:var(--space-2);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.sheet-person{margin-top:var(--space-4)}.sheet-person__head{justify-content:space-between;gap:var(--space-1) var(--space-3);flex-wrap:wrap;margin:0;font-size:1.0625rem;display:flex}.ts-row{align-items:center;gap:var(--space-2);display:flex}.ts-row input[type=checkbox]{flex:none;width:24px;height:24px}.facts{gap:var(--space-2) var(--space-3);grid-template-columns:max-content 1fr;margin:0;display:grid}.facts dt{color:var(--text-muted)}.facts dd{margin:0}.facts .tag{margin:0 var(--space-1) var(--space-1) 0}.punch-edit{padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.break-group{margin-bottom:var(--space-3)}.break-fields{margin:0 0 var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-control)}.break-fields legend{padding:0 var(--space-1);font-weight:600}.break-add{margin-bottom:var(--space-3)}.requests{margin:0 0 var(--space-4);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface)}.requests h2{margin:0 0 var(--space-2);font-size:16px;line-height:24px}.requests ul{margin:0;padding:0;list-style:none}.requests__item{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.requests__item:first-child{border-top:0}.coverage-badge{font-size:var(--text-sm,.8125rem);color:var(--text-muted);font-weight:500}.coverage-badge--short{color:var(--danger)}
