.lv-dates{align-items:flex-end;gap:calc(var(--u) * 10);padding-bottom:calc(var(--u) * 12);flex-direction:column;display:flex}.lv-dates>div{align-items:center;gap:calc(var(--u) * 12);display:flex}.lv-dates small{color:var(--ink-2);font-size:var(--fs-small)}.lv-note{padding-bottom:calc(var(--u) * 14);font-size:var(--fs-small);color:var(--ink-2);margin:0}.lv-stat{grid-template-columns:repeat(3,1fr)}.lv-sub{margin:0 0 calc(var(--u) * 21);text-align:center;color:var(--navy);font-weight:600}.frow input.text:disabled{color:var(--ink-2);opacity:1;-webkit-text-fill-color:var(--ink-2)}.lv-choices{width:min(100%, max(230px, calc(var(--u) * 234)));margin-left:auto}.ot-record{align-items:center;gap:calc(var(--u) * 14);display:flex}.ot-record .record-grid{grid-template-columns:minmax(0,1fr)}.ot-actual{gap:calc(var(--u) * 10);flex:none;display:flex}.ot-actual label{font-size:var(--fs-small);color:var(--navy);flex-direction:column;align-items:center;gap:2px;font-weight:500;display:flex}.ot-actual input{width:max(64px, calc(var(--u) * 84));border-radius:var(--radius-s);background:var(--field);height:48px;color:var(--navy);text-align:center;font-variant-numeric:tabular-nums;border:2px solid #0000;font-size:18px;font-weight:700}.ot-actual input:disabled{color:var(--ink-3);background:#eef1f6}.ot-actual input[aria-invalid=true]{border-color:var(--bad);color:var(--bad)}.ot-summary{border-collapse:separate;width:100%;border-spacing:0 calc(var(--u) * 6);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.ot-summary th,.ot-summary td{text-align:center;padding:8px 6px;font-weight:500}.ot-summary thead th{color:var(--navy);vertical-align:bottom}.ot-summary tbody th{text-align:left;color:var(--navy)}.ot-summary tbody td{background:var(--field)}.ot-summary tbody td:first-of-type{border-radius:var(--radius-s) 0 0 var(--radius-s)}.ot-summary tbody td:last-child{border-radius:0 var(--radius-s) var(--radius-s) 0;color:var(--bad);font-weight:700}.ot-part{align-items:center;gap:calc(var(--u) * 12);padding-bottom:calc(var(--u) * 14);flex-wrap:wrap;display:flex}.ot-part .option{font-size:var(--fs-label);flex:120px}.ot-part .sel select{min-width:84px}.ot-part .when{color:var(--ink-2);font-size:var(--fs-small);font-variant-numeric:tabular-nums;flex:100%}.wfh-pager{align-items:center;gap:calc(var(--u) * 12);display:flex}.wfh-pager strong{text-align:center;min-width:0;color:var(--navy);font-size:var(--fs-label);flex:1;font-weight:600}.wfh-pager small{color:var(--ink-3);font-weight:400;display:block}.wfh-pager .btn{min-width:48px;padding:0 12px}.wfh-group-head{min-height:48px;color:var(--navy);font-size:var(--fs-label);justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.wfh-people{padding:0 0 calc(var(--u) * 14);gap:calc(var(--u) * 8);flex-direction:column;margin:0;list-style:none;display:flex}.wfh-people li{min-height:44px;padding:4px calc(var(--u) * 14);border-radius:var(--radius-s);background:var(--field);font-size:var(--fs-small);justify-content:space-between;align-items:center;gap:8px;display:flex}.wfh-people li span{overflow-wrap:anywhere;min-width:0}.wfh-switch{min-width:96px;min-height:40px;font-size:var(--fs-small);cursor:pointer;background:var(--bad-bg);color:var(--bad);border:0;border-radius:99px;flex:none;padding:0 12px;font-weight:700}.wfh-switch[aria-checked=true]{background:var(--navy);color:#fff}.wfh-link{text-align:right;margin:0 0 calc(var(--u) * 14);display:block}.pr-state{margin:0 0 calc(var(--u) * 16);font-size:var(--fs-label);color:var(--navy);font-weight:500}.pr-wd{min-width:5.2em;color:var(--navy);font-weight:500;display:inline-block}.pr-totals{margin-bottom:calc(var(--u) * 21);font-size:var(--fs-label)}.pr-totals>div{grid-template-columns:1fr auto}.pr-totals>div:first-child{border-top:0}.pr-totals dd{text-align:right;font-variant-numeric:tabular-nums}.pr-bold td,.pr-bold dt,.pr-bold dd,.pr-b{font-weight:700}.pr-slip td.num,.pr-slip th.num{white-space:nowrap}.pr-slip th{white-space:normal;vertical-align:bottom}.pr-slip td:first-child{overflow-wrap:anywhere}.pr-off td{background:#dbdbdb}.pr-line{display:block}.pr-type{flex:0 1 calc(var(--u) * 250);min-width:0}.pr-type .sel select{width:100%}.pr-actions{margin-top:calc(var(--u) * 21)}.pr-actions .btn{text-align:center;place-items:center;width:100%;min-height:44px;display:grid}.pr-pdf{gap:calc(var(--u) * 14);margin-top:calc(var(--u) * 21);flex-direction:column;display:flex}.pr-pdf a{align-items:center;min-height:44px;display:flex}.pr-pdf object{border-radius:var(--radius-s);background:var(--field);border:0;width:100%;height:70vh}.pr-ask-label{padding:0 0 calc(var(--u) * 10);color:var(--navy);font-weight:500;display:block}.pr-question{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;border:0}.pr-text{overflow-wrap:anywhere;white-space:pre-wrap}.pr-clip{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pr-answer{margin-top:calc(var(--u) * 8);padding-top:calc(var(--u) * 8);border-top:1px solid var(--line)}.pr-dept tr.tap td{min-height:44px;padding-top:13px;padding-bottom:13px}.pr-dept tr.pr-sel td{background:#dbdbdb}.pr-dept tr.pr-day td{background:var(--field);font-size:var(--fs-small)}.pr-dept tr.pr-day td:first-child{padding-left:calc(var(--u) * 40)}.tp-when{justify-content:space-between;gap:calc(var(--u) * 12) calc(var(--u) * 16);padding-bottom:calc(var(--u) * 16);flex-wrap:wrap;display:flex}.panel textarea:disabled,.frow input.text:disabled{color:var(--ink-2);opacity:1;-webkit-text-fill-color:var(--ink-2)}.as-band{padding-top:calc(var(--u) * 12);padding-bottom:calc(var(--u) * 12);padding-left:var(--gutter);padding-right:var(--gutter)}.as-scan{flex:1 1 calc(var(--u) * 250);min-width:0;display:flex}.as-name{padding:0 0 calc(var(--u) * 12);min-height:1.4em;color:var(--navy);overflow-wrap:anywhere;margin:0;font-weight:600}.as-bar{align-items:center;gap:calc(var(--u) * 16);margin:0 0 calc(var(--u) * 14);font-size:var(--fs-small);color:var(--ink-2);flex-wrap:wrap;display:flex}.as-bar>span:first-child{flex:1;min-width:0}.as-bar .link{min-height:44px}.as-photo{max-width:100%;max-height:220px;margin:0 auto calc(var(--u) * 10);border-radius:var(--radius-s);object-fit:contain;display:block}.as-thumb{border-radius:var(--radius-s);object-fit:cover;flex:none;width:56px;height:56px}.as-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;border:0}.as-row>img:last-child{width:calc(var(--u) * 27);flex:none;min-width:24px;height:auto}.as-confirm{bottom:calc(var(--u) * 100);margin-top:calc(var(--u) * 21);position:sticky}.as-confirm .btn{width:100%}.as-bill{align-items:stretch;gap:calc(var(--u) * 10);display:flex}.as-bill .record{flex:1;min-width:0}.as-instead{outline-offset:-2px;outline:2px solid #e0a100}.as-check{cursor:pointer;background:0 0;border:0;flex:none;place-items:center;width:44px;min-height:44px;padding:0;display:grid}.as-check img{width:calc(var(--u) * 27);min-width:24px;height:auto}.as-steps{text-align:center;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:6px 0 0;padding:0;font-size:11.5px;line-height:1.25;list-style:none;display:grid}.as-steps li{background:var(--bg);color:var(--ink-3);overflow-wrap:anywhere;border-radius:8px;padding:6px 2px}.as-steps li.done{background:var(--ok-bg);color:var(--ok)}.as-steps li.now{background:var(--wait-bg);color:var(--wait);font-weight:700}.as-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.as-progress{color:var(--navy);margin:0;font-weight:600}.as-bulk{margin-top:calc(var(--u) * 21)}.as-bulk .actions,.as-next{width:100%}.as-code{display:flex}.as-head{margin:0 0 calc(var(--u) * 10);font-size:var(--fs-small);color:var(--navy);font-style:italic;text-decoration:underline}.as-upload{gap:calc(var(--u) * 12);margin-top:calc(var(--u) * 12);flex-wrap:wrap;display:flex}.as-upload .btn{cursor:pointer;flex:140px;justify-content:center;align-items:center;min-height:44px;display:inline-flex}.as-upload input[type=file]{opacity:0;width:1px;height:1px;position:absolute}.ps-head{align-items:center;gap:calc(var(--u) * 6);margin-bottom:calc(var(--u) * 21);text-align:center;flex-direction:column;display:flex}.ps-head b{font-size:var(--fs-name);overflow-wrap:anywhere;font-weight:700}.ps-head span{font-size:var(--fs-member);color:var(--ink-2)}.ps-avatar{width:calc(var(--u) * 190);height:calc(var(--u) * 190);min-width:110px;min-height:110px;margin-bottom:calc(var(--u) * 8)}.ps-avatar.photo{border:3px solid var(--red);object-fit:cover;background:var(--tint);border-radius:50%}.ps-kv{margin-top:0}.ps-kv>div:first-child{border-top:0}.ps-kv dd{font-variant-numeric:tabular-nums}.ps-qr{align-items:center;gap:calc(var(--u) * 10);text-align:center;flex-direction:column;display:flex}.ps-qr svg{border-radius:var(--radius-s);width:min(100%,420px);height:auto}.ps-qr b{font-size:max(24px, calc(var(--u) * 40));font-variant-numeric:tabular-nums;font-weight:700}.ps-qr span{font-size:var(--fs-member);color:var(--ink-2)}.ps-contact span{overflow-wrap:anywhere;font-weight:700}.ps-contact small{font-size:var(--fs-small);color:var(--ink-3);font-weight:500;display:block}.ps-form{padding-top:calc(var(--u) * 27);padding-bottom:calc(var(--u) * 20)}.ps-form .field>label{color:var(--navy);font-size:13.5px;font-weight:600}.ps-form .field input{border:0}.ps-form .field input[readonly]{background:0 0;min-height:0;padding-left:0;font-weight:600}.ps-form .pw{border:0}.ps-form .pw input{flex:1;min-width:0}.ps-hint{color:var(--bad);text-align:center;margin:0 0 14px;font-size:14px;font-weight:600}.ps-place{padding-bottom:calc(var(--u) * 18)}.ps-place .frow{min-height:calc(var(--u) * 46)}.ps-was{margin:0 0 calc(var(--u) * 8);font-size:var(--fs-small);color:var(--ink-2);overflow-wrap:anywhere}.ps-place .sel select{height:max(44px, calc(var(--u) * 40));text-overflow:ellipsis}.pj-below{padding-bottom:calc(var(--u) * 16)}.pj-name{text-align:right;overflow-wrap:anywhere;flex:0 60%;min-width:0}.pj-tile{cursor:default}.pj-tabs{flex-direction:column;padding-bottom:0;display:flex}.pj-tabs .options{padding-bottom:0}.pj-tabs .link{align-self:flex-end;padding-right:0}.pj-record{text-align:left;width:100%;font:inherit;color:inherit;gap:calc(var(--u) * 20);border:0}button.pj-record{cursor:pointer}.pj-thumb{width:max(64px, calc(var(--u) * 110));aspect-ratio:1;border-radius:var(--radius-s);background:var(--field);flex:none;place-items:center;display:grid;overflow:hidden}.pj-thumb img{object-fit:cover;width:100%;height:100%}.pj-del{border-radius:var(--radius-s);background:var(--field);cursor:pointer;border:0;flex:none;place-items:center;width:44px;height:44px;display:grid}.pj-del img{width:20px;height:20px}.pj-confirm{color:var(--bad)}.pj-photo{gap:calc(var(--u) * 14);padding-bottom:calc(var(--u) * 16);flex-direction:column;display:flex}.pj-photo-view{aspect-ratio:4/3;border-radius:var(--radius-s);background:var(--field);place-items:center;width:min(100%,320px);margin:0 auto;display:grid;overflow:hidden}.pj-photo-view img{object-fit:contain;max-width:100%;max-height:100%}.pj-photo-actions{gap:calc(var(--u) * 16);grid-template-columns:1fr 1fr;display:grid}button.record.qc-rec{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;border:0}button.record.qc-rec:disabled{cursor:default}.qc-rec .record-grid{font-size:var(--fs-label)}.qc-rec b{color:var(--navy)}.qc-bad{color:var(--bad);font-weight:600}.qc-ok{color:var(--ok);font-weight:600}.qc-details{margin:calc(var(--u) * -10) 0 0;padding:0 calc(var(--u) * 27) calc(var(--u) * 14);border-radius:0 0 var(--radius) var(--radius);background:var(--tint);list-style:none}.qc-details li{overflow-wrap:anywhere;border-top:1px solid #223c911f;padding:10px 0;font-size:14px;line-height:1.5}.qc-details b{color:var(--navy)}.qc-actions .btn{min-height:52px}.qc-line{align-items:center;gap:8px;min-width:0;display:flex}.qc-line b{overflow-wrap:anywhere}.qc-path{font-size:var(--fs-small);color:var(--ink-2);margin:0 0 calc(var(--u) * 14);overflow-wrap:anywhere}.qc-when{flex-wrap:wrap;justify-content:flex-end;display:flex}.ln-head{margin-bottom:calc(var(--u) * 8);justify-content:space-between;align-items:center;gap:10px;display:flex}.ln-head p{margin:0}.ln-card{color:inherit;text-decoration:none;display:block}.ln-card .record-grid{font-size:var(--fs-small)}.ln-card .actions{margin:calc(var(--u) * 14) 0 0}.ln-card .btn,.ln-actions .btn{min-height:44px}.actions>a.btn{text-align:center}.ln-clock{gap:calc(var(--u) * 14);margin-bottom:calc(var(--u) * 21);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ln-clock>div{background:var(--tint);border-radius:var(--radius);padding:calc(var(--u) * 16) calc(var(--u) * 14);text-align:center}.ln-clock b{font-size:var(--fs-name);color:var(--navy);font-variant-numeric:tabular-nums;display:block}.ln-clock span{font-size:var(--fs-small);color:var(--ink-2)}.ln-clock .on{box-shadow:inset 0 0 0 2px var(--navy)}.ln-clock .on.paused{box-shadow:inset 0 0 0 2px var(--wait)}.ln-found{padding-bottom:calc(var(--u) * 16);font-size:var(--fs-small);color:var(--ink-2);overflow-wrap:anywhere;margin:0}.ln-pick{padding-bottom:calc(var(--u) * 16)}.ln-pick .sel,.ln-pick select{width:100%}.ln-when{padding-bottom:calc(var(--u) * 16);flex-wrap:wrap;justify-content:flex-end;display:flex}.ln-sub{justify-content:space-between;align-items:center;gap:10px;display:flex}.ln-sub .link{padding-right:0}.bd-filter .frow{padding:calc(var(--u) * 8) 0;flex-wrap:wrap}.bd-filter .frow+.frow{border-top:1px solid #223c911f}.bd-filter .sel select{max-width:58vw;min-height:44px}.bd-filter input.text{min-height:44px}.bd-filter input[type=date]{border-radius:var(--radius-s);background:var(--field);min-height:44px;color:var(--text);border:0;padding:0 10px;font-size:16px}.bd-seg{margin-bottom:calc(var(--u) * 21);border-radius:var(--radius-s);border:1px solid var(--navy);grid-auto-columns:1fr;grid-auto-flow:column;gap:0;display:grid;overflow:hidden}.bd-seg button{min-height:48px;color:var(--navy);font:inherit;background:#fff;border:0;font-weight:500}.bd-seg button[aria-pressed=true]{background:var(--navy);color:#fff}.bd-big{min-height:56px;font-size:var(--fs-label)}.bd-warn{color:var(--bad);font-weight:500}.bd-head{margin:0 0 calc(var(--u) * 10);color:var(--navy);font-size:var(--fs-label);font-weight:700}.bd-sub{margin:0 0 calc(var(--u) * 14);font-size:var(--fs-small);color:var(--ink-2);overflow-wrap:anywhere}.bd-checks{margin:0 0 calc(var(--u) * 21);gap:calc(var(--u) * 10);flex-direction:column;padding:0;list-style:none;display:flex}.bd-check{align-items:center;gap:calc(var(--u) * 14);min-height:56px;padding:calc(var(--u) * 8) calc(var(--u) * 20);border-radius:var(--radius-s);background:var(--tint);display:flex}.bd-check>label{align-items:center;gap:calc(var(--u) * 14);flex:1;min-width:0;min-height:44px;display:flex}.bd-check input[type=checkbox]{width:28px;height:28px;accent-color:var(--navy);flex:none}.bd-check .t{overflow-wrap:anywhere;flex:1;min-width:0}.bd-check small{color:var(--ink-2);display:block}.bd-check input.qty{border-radius:var(--radius-s);text-align:right;font-variant-numeric:tabular-nums;background:#fff;border:0;width:84px;height:44px;padding:0 10px;font-size:16px}.bd-check input.qty:disabled{color:var(--text);opacity:1;-webkit-text-fill-color:var(--text);background:0 0}.bd-checks.off{opacity:.55;pointer-events:none}.bd-stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.bd-left{align-items:center;gap:calc(var(--u) * 14);flex-wrap:wrap;display:flex}.bd-left input{border-radius:var(--radius-s);background:var(--field);text-align:right;width:110px;height:48px;color:var(--navy);border:0;padding:0 12px;font-size:18px;font-weight:700}.bd-chart{align-items:flex-end;gap:10px;height:180px;padding:8px 0 0;display:flex;overflow-x:auto}.bd-chart>div{font-variant-numeric:tabular-nums;flex-direction:column;flex:0 0 46px;justify-content:flex-end;align-items:center;height:100%;font-size:12px;display:flex}.bd-chart i{background:var(--navy);border-radius:4px 4px 0 0;width:100%;min-height:2px;display:block}.bd-chart b{color:var(--ink-2);font-weight:500}.bd-tap{min-width:44px;min-height:36px;color:var(--navy);font:inherit;text-align:right;background:0 0;border:0;padding:6px 4px;font-weight:700;text-decoration:underline}.bd-note{font-size:var(--fs-small);color:var(--ink-2);margin:0 0 calc(var(--u) * 21)}.bd-pick{width:100%;font:inherit;color:inherit;text-align:left;border:0}.bd-pick .chev{flex:none;width:auto;height:14px}.bd-ops{gap:calc(var(--u) * 10);margin-bottom:calc(var(--u) * 21);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.bd-ops button{border-radius:var(--radius-s);background:var(--tint);min-height:88px;color:var(--navy);font:inherit;overflow-wrap:anywhere;border:0;padding:8px 6px;font-weight:500}.bd-ops button:disabled{opacity:.55}.pd-member{min-height:max(44px, calc(var(--u) * 59));font-size:var(--fs-label);color:var(--navy);overflow-wrap:anywhere;align-items:center;font-weight:500;display:flex}.pd-member b{margin-right:6px;font-weight:700}.pd-name{font-size:var(--fs-small);color:var(--navy);padding-bottom:calc(var(--u) * 12);overflow-wrap:anywhere;flex:100%;font-weight:600}.pd-name.bad{color:var(--bad)}.pd-wrap{flex-wrap:wrap}.pd-bar{margin:0 0 calc(var(--u) * 21);font-size:var(--fs-small);color:var(--navy);justify-content:space-between;align-items:center;gap:12px;font-weight:600;display:flex}.pd-row{align-items:stretch;gap:calc(var(--u) * 10);display:flex}.pd-row>.record{flex:1;min-width:0}.pd-tap{border-radius:var(--radius);background:var(--tint);cursor:pointer;border:0;flex:none;place-items:center;width:48px;min-height:48px;display:grid}.pd-tap img{width:24px;height:24px}.pd-tap.pd-all{width:auto;min-height:44px;color:var(--navy);font-weight:600;font-size:var(--fs-small);grid-auto-flow:column;gap:8px;padding:0 12px}.pd-dates{flex-direction:column;display:flex}.approvals-how{margin:calc(var(--u) * 20) var(--gutter)}.approvals-links{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:10px;display:flex}.approvals-links .btn{min-height:40px;padding:8px 16px;text-decoration:none}.approvals-filter{margin:0 var(--gutter) calc(var(--u) * 16);flex-wrap:wrap;gap:8px;display:flex}.approvals-filter .chip{border:1px solid var(--line);background:var(--bg);color:var(--navy);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500}.approvals-filter .chip.on{background:var(--navy);border-color:var(--navy);color:#fff}.rp-filter{margin:calc(var(--u) * 16) var(--gutter);flex-wrap:wrap;gap:8px;display:flex}.rp-filter .chip{border:1px solid var(--line);background:var(--bg);color:var(--navy);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:500}.rp-filter .chip.on{background:var(--navy);border-color:var(--navy);color:#fff}.rp-stat{margin:0 var(--gutter) calc(var(--u) * 21)}.rp-stat>div{flex-direction:column;gap:2px;display:flex}.rp-stat b{color:var(--navy);font-variant-numeric:tabular-nums;font-size:26px}.rp-stat span{color:var(--ink-3);font-size:12.5px}.rp-stat .bad b{color:#c90019}.rp-stat .warn b{color:#b86e00}.rp-chart{margin:0 var(--gutter) calc(var(--u) * 21);background:var(--tint);border-radius:var(--radius);padding:10px 6px 6px}.rp-chart svg{touch-action:pan-y;width:100%;height:auto;display:block}.rp-grid{stroke:#223c911f;stroke-width:1px}.rp-tick{fill:var(--ink-3);font-size:13px}.rp-today{stroke:var(--ink-3);stroke-width:1px;stroke-dasharray:4 4}.rp-cross{stroke:var(--ink-2);stroke-width:1px}.rp-line{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.rp-line.plan,.rp-dot.plan,.rp-legend i.plan{stroke:#2a78d6;fill:#fff;background:#2a78d6}.rp-line.actual,.rp-dot.actual,.rp-legend i.actual{stroke:#eb6834;fill:#fff;background:#eb6834}.rp-dot{stroke-width:2.5px}.rp-legend{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:6px 8px 2px;font-size:13px;display:flex}.rp-legend i{vertical-align:middle;border-radius:2px;width:14px;height:3px;margin-right:6px;display:inline-block}.rp-legend b{color:var(--navy);font-variant-numeric:tabular-nums;flex-basis:100%;font-weight:600}.rp-bars{margin:0 var(--gutter) calc(var(--u) * 21);flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.rp-bars li{background:var(--tint);border-radius:var(--radius);padding:10px 14px}.rp-bars li.tap{cursor:pointer}.rp-bar-head{color:var(--ink);justify-content:space-between;font-size:14px;display:flex}.rp-bar-head b{color:var(--navy);font-variant-numeric:tabular-nums}.rp-bar{background:#223c911f;border-radius:4px;height:10px;margin:6px 0 4px;overflow:hidden}.rp-bar>div{background:var(--navy);border-radius:4px;height:100%}.rp-bar-sub{color:var(--ink-3);justify-content:space-between;font-size:12px;display:flex}.rp-late{color:#c90019;font-weight:600}.section .link{float:right;font-size:14px}@font-face{font-family:Be Vietnam Pro;font-weight:400;font-display:swap;src:url(/fonts/BeVietnamPro-Regular.ttf)format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:500;font-display:swap;src:url(/fonts/BeVietnamPro-Medium.ttf)format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:600;font-display:swap;src:url(/fonts/BeVietnamPro-SemiBold.ttf)format("truetype")}@font-face{font-family:Be Vietnam Pro;font-weight:700;font-display:swap;src:url(/fonts/BeVietnamPro-Bold.ttf)format("truetype")}:root{--frame:min(100vw, 500px);--u:calc(var(--frame) / 640);--navy:#223c91;--navy-2:#17409e;--red:#c90019;--tint:#e0f4fc;--field:#fff;--placeholder:#9db9dd;--tab:#7c8199;--bg:#fff;--text:#000;--ink:#1c2938;--ink-2:#45566b;--ink-3:#61758b;--line:#d5e4ee;--in:#1e8e3e;--out:#c90019;--ok:#127a4a;--ok-bg:#e5f6ee;--wait:#8a5600;--wait-bg:#fff4dc;--bad:#b42318;--bad-bg:#fdeceb;--fs-title:max(18px, calc(var(--u) * 26.7));--fs-menu:max(15px, calc(var(--u) * 21.3));--fs-name:max(16px, calc(var(--u) * 24));--fs-member:max(14px, calc(var(--u) * 18.7));--fs-label:max(14px, calc(var(--u) * 16));--fs-small:max(12px, calc(var(--u) * 13.3));--radius:calc(var(--u) * 20);--radius-s:calc(var(--u) * 8);--gutter:calc(var(--u) * 27);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);-webkit-tap-highlight-color:transparent;background:#eef1f6;font-family:Be Vietnam Pro,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}img{display:block}:focus-visible{outline:2px solid var(--navy-2);outline-offset:2px}.splash{height:100dvh;color:var(--navy);background:var(--bg);place-items:center;font-size:32px;font-weight:700;display:grid}.shell{width:var(--frame);background:var(--bg);flex-direction:column;min-height:100dvh;margin:0 auto;display:flex;position:relative}.topbar{z-index:5;min-height:calc(var(--u) * 120);padding:max(env(safe-area-inset-top), calc(var(--u) * 58)) calc(var(--u) * 20) calc(var(--u) * 6) var(--gutter);align-items:flex-end;gap:calc(var(--u) * 6);background:var(--navy);color:#fff;display:flex;position:sticky;top:0}.topbar h1{min-width:0;font-size:var(--fs-title);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-weight:500;line-height:1.5;overflow:hidden}.icon-btn{color:#fff;cursor:pointer;min-width:30px;height:calc(var(--fs-title) * 1.5);background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid;position:relative}.icon-btn:before{content:"";width:44px;height:44px;position:absolute;top:50%;left:50%;translate:-50% -50%}.icon-btn.back{min-width:0;margin-right:calc(var(--u) * 8)}.icon-btn img{height:calc(var(--u) * 28);width:auto;min-height:20px}.icon-btn.back img{height:calc(var(--u) * 17);min-height:13px}.icon-btn:disabled{opacity:.45;cursor:default}.icon-btn:focus-visible{outline-offset:-6px;outline-color:#fff}.demo-tag{color:#3b2a00;background:#ffd24d;border-radius:99px;align-self:center;margin-bottom:6px;padding:2px 7px;font-size:10px;font-weight:700}.content{padding:calc(var(--u) * 21) var(--gutter) calc(var(--u) * 120);flex:1}.content>.band:first-child,.content>form>.band:first-child{margin-top:calc(var(--u) * -21)}.tabbar{z-index:5;width:var(--frame);padding:0 calc(var(--u) * 10) env(safe-area-inset-bottom);background:var(--bg);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;translate:-50%}.tabbar a{height:calc(var(--u) * 92);border-radius:12px;place-items:center;min-height:52px;display:grid;position:relative}.tabbar img{height:calc(var(--u) * 42);width:auto;min-height:26px}.tabbar a:focus-visible{outline-offset:-6px}.tab-badge{translate:calc(var(--u) * 4) calc(var(--u) * -34);min-width:max(18px, calc(var(--u) * 30));height:max(18px, calc(var(--u) * 30));background:var(--red);color:#fff;font-size:max(10px, calc(var(--u) * 16));border-radius:99px;place-items:center;padding:0 3px;font-weight:700;display:grid;position:absolute;top:50%;left:50%}.home-brand{height:calc(var(--u) * 172);padding-top:calc(var(--u) * 28);background:var(--bg);place-items:center;display:grid}.home-brand img{width:calc(var(--u) * 580);height:auto}.home-bar{align-items:center;gap:calc(var(--u) * 6);height:calc(var(--u) * 85);padding:0 calc(var(--u) * 26) 0 calc(var(--u) * 22);background:var(--navy);color:#fff;z-index:5;display:flex;position:sticky;top:0}.home-bar img.mark{height:calc(var(--u) * 54);width:auto}.home-bar strong{font-size:var(--fs-title);margin-top:calc(var(--u) * -14);flex:1;font-weight:400}.home-bar .globe{height:calc(var(--u) * 36);width:auto}.section{margin:calc(var(--u) * 16) 0 calc(var(--u) * 14);font-size:var(--fs-menu);color:var(--navy);font-weight:700;line-height:1.5}.section:first-child{margin-top:0}.menu{gap:calc(var(--u) * 22);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.menu-row{align-items:center;gap:calc(var(--u) * 20);width:100%;min-height:calc(var(--u) * 117);padding:calc(var(--u) * 10) calc(var(--u) * 27);border-radius:var(--radius);background:var(--tint);color:var(--navy);font-size:var(--fs-menu);text-align:left;cursor:pointer;border:0;font-weight:500;display:flex}.menu-row .ic{width:calc(var(--u) * 64);height:calc(var(--u) * 64);flex:none;min-width:40px;min-height:40px}.menu-row span{flex:1;min-width:0}.menu-row .chev,.record .chev{height:calc(var(--u) * 17);flex:none;width:auto;min-height:12px}.menu-row em{font-style:normal;font-size:var(--fs-small);color:var(--ink-3);font-weight:500}.banner{border-radius:var(--radius);aspect-ratio:587/250;display:block;position:relative;overflow:hidden}.banner img.pic{object-fit:cover;width:100%;height:100%}.banner .chev{right:calc(var(--u) * 27);height:calc(var(--u) * 17);min-height:12px;position:absolute;top:50%;translate:0 -50%}.profile-head{align-items:center;gap:calc(var(--u) * 22);margin-bottom:calc(var(--u) * 22);display:flex}.avatar{width:calc(var(--u) * 106);height:calc(var(--u) * 106);flex:none}.avatar.photo{border:3px solid var(--red);object-fit:cover;background:var(--tint);border-radius:50%}.profile-head .who{flex:1;min-width:0;line-height:1.45}.profile-head .who b{font-size:var(--fs-name);text-transform:uppercase;overflow-wrap:anywhere;font-weight:700;display:block}.profile-head .who span{font-size:var(--fs-name);font-weight:500;display:block}.chip-link{margin-top:calc(var(--u) * 8);padding:calc(var(--u) * 3) calc(var(--u) * 10);border-radius:calc(var(--u) * 12);background:var(--tint);color:var(--navy);font-size:var(--fs-menu);font-weight:500;display:inline-block;box-shadow:0 1px 3px #223c912e}.qr{width:calc(var(--u) * 62);height:calc(var(--u) * 62);border-radius:calc(var(--u) * 6);background:var(--navy);color:#fff;min-width:44px;min-height:44px;font-size:var(--fs-name);border:0;flex:none;place-items:center;font-weight:500;display:grid}.tiles{gap:calc(var(--u) * 22);grid-template-columns:1fr 1fr;display:grid}.tile{justify-content:center;align-items:center;gap:calc(var(--u) * 16);min-height:calc(var(--u) * 160);padding:calc(var(--u) * 12) calc(var(--u) * 8);border-radius:var(--radius);background:var(--tint);color:var(--navy);font-size:var(--fs-menu);text-align:center;cursor:pointer;border:0;flex-direction:column;font-weight:500;display:flex}.tile img{width:calc(var(--u) * 64);height:calc(var(--u) * 64);min-width:40px;min-height:40px}.list{gap:calc(var(--u) * 21);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.panel{background:var(--tint);border-radius:var(--radius);padding:calc(var(--u) * 14) calc(var(--u) * 27);margin-bottom:calc(var(--u) * 21)}.band{background:var(--tint);margin:0 calc(var(--gutter) * -1) calc(var(--u) * 21);padding:0 var(--gutter)}.search{align-items:center;gap:calc(var(--u) * 8);min-height:max(44px, calc(var(--u) * 59));color:var(--navy);display:flex}.search img{height:calc(var(--u) * 30);flex:none;width:auto;min-height:20px}.search input{min-width:0;min-height:44px;font-size:max(16px, var(--fs-menu));color:var(--navy);background:0 0;border:0;border-radius:8px;flex:1;font-weight:500}.search input::placeholder{color:var(--navy);opacity:1}.record{align-items:center;gap:calc(var(--u) * 10);min-height:calc(var(--u) * 160);padding:calc(var(--u) * 12) calc(var(--u) * 27);border-radius:var(--radius);background:var(--tint);display:flex}.record-grid{column-gap:calc(var(--u) * 12);min-width:0;font-size:var(--fs-small);flex:1;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);line-height:1.62;display:grid}.record-grid .wide{overflow-wrap:anywhere;grid-column:1/-1}.note{min-height:calc(var(--u) * 117);padding:calc(var(--u) * 16) calc(var(--u) * 27) calc(var(--u) * 14) calc(var(--u) * 40);border-radius:var(--radius);background:var(--tint);grid-template-columns:1fr auto;align-content:center;column-gap:8px;display:grid;position:relative}.note.unread{cursor:pointer}.note.unread:before{content:"";left:calc(var(--u) * 22);top:calc(var(--u) * 28);width:calc(var(--u) * 11);height:calc(var(--u) * 11);background:var(--navy);border-radius:50%;min-width:7px;min-height:7px;position:absolute}.note strong{font-size:max(15px, calc(var(--u) * 18.6));color:var(--ink);overflow-wrap:anywhere;font-weight:600}.note time{font-size:max(12px, calc(var(--u) * 14.7));color:var(--ink-3);padding-top:3px}.note p{font-size:max(13px, calc(var(--u) * 16));color:var(--ink-2);overflow-wrap:anywhere;grid-column:1/-1;margin:0;line-height:1.45}.note .when{align-items:center;gap:calc(var(--u) * 7);font-variant-numeric:tabular-nums;display:flex}.note .when img{height:calc(var(--u) * 14);width:auto;min-height:11px}.note .when span+span{margin-left:calc(var(--u) * 14)}.more{height:44px;margin:calc(var(--u) * 24) auto 0;place-items:center;display:grid}.more img{height:calc(var(--u) * 16);min-height:12px}.member{align-items:center;gap:calc(var(--u) * 20);min-height:calc(var(--u) * 139);padding-top:calc(var(--u) * 14);padding-bottom:calc(var(--u) * 14);display:flex}.member p{min-width:0;font-size:var(--fs-member);overflow-wrap:anywhere;margin:0;font-weight:500;line-height:1.42}.member b{font-weight:700}.frow{align-items:center;gap:calc(var(--u) * 14);min-height:calc(var(--u) * 59);color:var(--navy);font-size:var(--fs-label);font-weight:500;display:flex}.panel.tight{padding-top:0;padding-bottom:0}.frow .fi{width:calc(var(--u) * 29);flex:none;min-width:20px;height:auto}.frow .lbl{flex:1;min-width:0}.frow .value{color:var(--text);font-variant-numeric:tabular-nums}.selects{gap:calc(var(--u) * 16);display:flex}.sel{min-width:0;max-width:100%;display:block;position:relative}.frow>.sel{flex:0 1 calc(var(--u) * 300)}.frow>.sel select{text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.sel select{appearance:none;min-width:max(58px, calc(var(--u) * 68));height:max(40px, calc(var(--u) * 40));padding:0 calc(var(--u) * 26) 0 calc(var(--u) * 10);border-radius:var(--radius-s);background:var(--field);color:var(--navy);font-size:max(16px, var(--fs-small));text-align:center;font-variant-numeric:tabular-nums;border:0;font-weight:500}.sel select.empty{color:var(--placeholder);font-size:var(--fs-small)}.sel:after{content:"";right:calc(var(--u) * 9);width:calc(var(--u) * 13);aspect-ratio:15/10;pointer-events:none;background:url(/design/caret.svg) 50%/contain no-repeat;min-width:9px;position:absolute;top:50%;translate:0 -50%}.sel.wide select{text-align:left;width:100%;padding-left:calc(var(--u) * 18)}.options{gap:calc(var(--u) * 8);padding-bottom:calc(var(--u) * 16);flex-direction:column;display:flex}.options.right{width:min(100%, max(230px, calc(var(--u) * 234)));margin-left:auto}.options.row{gap:calc(var(--u) * 21);flex-flow:wrap}.options.row .option{flex:1 1 calc(var(--u) * 209)}.option{text-align:left;cursor:pointer;min-height:max(40px, calc(var(--u) * 40));padding:4px calc(var(--u) * 14) 4px calc(var(--u) * 17);border-radius:var(--radius-s);background:var(--field);color:var(--navy);font-size:var(--fs-small);border:0;justify-content:space-between;align-items:center;gap:8px;font-weight:500;display:flex}.options.row .option{font-size:var(--fs-label)}.option[aria-disabled=true]{cursor:default}.option img{width:calc(var(--u) * 27);flex:none;min-width:20px;height:auto}.panel textarea,.panel input.text{border-radius:var(--radius-s);background:var(--field);width:100%;color:var(--text);resize:vertical;border:0;padding:10px 12px;font-size:16px}.panel textarea{min-height:calc(var(--u) * 93);margin-bottom:calc(var(--u) * 10)}.frow input.text{flex:0 1 calc(var(--u) * 250);min-width:0;height:max(40px, calc(var(--u) * 40));border-radius:var(--radius-s);background:var(--field);color:var(--text);border:0;padding:0 10px;font-size:16px}.err{color:var(--bad);padding-bottom:8px;font-size:12.5px;display:block}.pledge{font-size:var(--fs-small);color:var(--ink-2);margin:0 2px calc(var(--u) * 21);line-height:1.55}.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.page-title{margin:4px 0 12px;font-size:20px}.section-title{font-size:var(--fs-menu);color:var(--navy);margin:calc(var(--u) * 24) 0 calc(var(--u) * 12);font-weight:700}.muted{color:var(--ink-3)}.small{font-size:12.5px}.hint{color:var(--ink-3);text-align:center;margin:10px 0;font-size:13px}.hint.demo{background:var(--wait-bg);color:var(--wait);border-radius:10px;padding:8px}.inline-link{color:var(--navy-2);font-weight:600;text-decoration:underline}.btn{border-radius:calc(var(--u) * 14);border:1px solid var(--line);background:var(--bg);min-height:48px;color:var(--navy);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.danger{color:var(--bad)}.btn.ms{width:100%}.btn.block{width:100%;margin:4px 0 14px}.link{color:var(--navy-2);cursor:pointer;background:0 0;border:0;min-height:44px;padding:0 12px;font-weight:600}.grid2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.alert{background:var(--bad-bg);color:var(--bad);border-radius:calc(var(--u) * 14);margin:0 0 calc(var(--u) * 21);padding:10px 14px;font-size:14px}.alert.ok{background:var(--ok-bg);color:var(--ok)}.empty{text-align:center;color:var(--ink-3);padding:32px 12px;font-size:14px}.badge{white-space:nowrap;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:700}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.wait{background:var(--wait-bg);color:var(--wait)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.skeleton-list{gap:calc(var(--u) * 21);flex-direction:column;display:flex}.skeleton-list div{height:calc(var(--u) * 117);border-radius:var(--radius);background:linear-gradient(90deg, var(--tint), #f2fafe, var(--tint));background-size:200% 100%;animation:1.2s infinite sk}@keyframes sk{to{background-position:-200% 0}}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field>span{color:var(--navy);font-size:13.5px;font-weight:600}.field input,.field select{border:1px solid var(--line);background:var(--bg);border-radius:10px;width:100%;min-height:46px;padding:10px 12px;font-size:16px}.pw{border:1px solid var(--line);background:var(--bg);border-radius:10px;align-items:center;display:flex}.pw input{border:0}.pw:focus-within{outline:2px solid var(--navy-2)}.pw input:focus{outline:none}.detail-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.detail-head p{margin:0}.detail-head .page-title{margin:2px 0}.kv{flex-direction:column;margin:10px 0 0;display:flex}.kv>div{border-top:1px solid #223c911f;grid-template-columns:minmax(96px,38%) 1fr;gap:8px;padding:8px 0;font-size:14px;display:grid}.kv dt{color:var(--navy);font-weight:500}.kv dd{overflow-wrap:anywhere;margin:0}.card.kv>div:first-child{border-top:0}.timeline{margin:0 0 calc(var(--u) * 21);background:var(--tint);border:0;padding:14px 14px 14px 36px;list-style:none;position:relative}.timeline li{flex-direction:column;gap:2px;padding-bottom:16px;font-size:14px;display:flex;position:relative}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";width:12px;height:12px;box-shadow:0 0 0 2px var(--placeholder);background:#fff;border-radius:50%;position:absolute;top:4px;left:-22px}.timeline li:after{content:"";background:var(--placeholder);width:2px;position:absolute;top:20px;bottom:0;left:-17px}.timeline li:last-child:after{display:none}.timeline li.done:before{background:var(--ok);box-shadow:0 0 0 2px var(--ok)}.timeline li.now:before{background:#e0a100;box-shadow:0 0 0 2px #e0a100}.timeline li.bad:before{background:var(--bad);box-shadow:0 0 0 2px var(--bad)}.comment{font-style:italic}.demo-box{border:1px dashed var(--wait);border-radius:var(--radius);margin-top:16px;padding:10px 12px}.demo-box p{color:var(--wait);margin:0 0 8px}.tk-date{text-align:center;color:var(--navy);font-weight:700;font-size:var(--fs-menu);margin:0 0 calc(var(--u) * 24)}.tk-date:first-letter{text-transform:uppercase}.punch-row{gap:calc(var(--u) * 22);text-align:center;margin-bottom:calc(var(--u) * 21);grid-template-columns:1fr 1fr;display:grid}.punch-row>div{background:var(--tint);border-radius:var(--radius);padding:calc(var(--u) * 24) calc(var(--u) * 12) calc(var(--u) * 16)}.punch{width:min(100%, calc(var(--u) * 200));aspect-ratio:1;color:#fff;font-weight:700;font-size:var(--fs-label);cursor:pointer;border:3px solid #0000;border-radius:50%;padding:6px}.punch.in{background:var(--in)}.punch.out{background:var(--out)}.punch:disabled{background:var(--field);cursor:default}.punch.in:disabled{border-color:var(--in);color:var(--in)}.punch.out:disabled{color:#b65561;border-color:#e4a0a8}.punch:not(:disabled):active{scale:.97}.punch-time{margin:calc(var(--u) * 14) 0 0;font-size:var(--fs-label);font-variant-numeric:tabular-nums;font-weight:500}.punch-time.in{color:var(--in)}.punch-time.out{color:var(--out)}.sheet{border-collapse:separate;width:100%;border-spacing:0 calc(var(--u) * 8);font-variant-numeric:tabular-nums;font-size:var(--fs-label)}.sheet thead th{background:var(--navy);color:#fff;padding:calc(var(--u) * 14) 6px;font-weight:500}.sheet thead th:first-child{border-radius:var(--radius-s) 0 0 var(--radius-s);text-align:left;padding-left:calc(var(--u) * 27)}.sheet thead th:last-child{border-radius:0 var(--radius-s) var(--radius-s) 0}.sheet tbody th,.sheet tbody td{background:var(--tint);height:max(46px, calc(var(--u) * 59));text-align:center;padding:2px 6px;font-weight:400}.sheet tbody th{text-align:left;padding-left:calc(var(--u) * 27);border-radius:calc(var(--u) * 14) 0 0 calc(var(--u) * 14)}.sheet tbody th span{min-width:5.2em;color:var(--navy);font-weight:500;display:inline-block}.sheet tbody td{width:26%}.sheet tbody td:last-child{border-radius:0 calc(var(--u) * 14) calc(var(--u) * 14) 0}.sheet tr.off th,.sheet tr.off td{color:var(--ink-3);background:#eef1f6}.sheet tr.off th span{color:var(--ink-3)}.sheet tr.today th,.sheet tr.today td{box-shadow:inset 0 2px 0 var(--navy), inset 0 -2px 0 var(--navy)}.cell-add{background:var(--field);border-radius:50%;place-items:center;width:40px;height:40px;display:inline-grid}.cell-add img{filter:brightness(0)saturate()invert(19%)sepia(60%)saturate(2400%)hue-rotate(215deg)brightness(88%);width:16px;height:16px}.cell-state{border-radius:99px;padding:5px 8px;font-size:12px;font-weight:700;display:inline-block}.cell-state.wait{background:var(--wait-bg);color:var(--wait)}.cell-state.bad{background:var(--bad-bg);color:var(--bad)}.table-wrap{margin:0 calc(var(--gutter) * -1) calc(var(--u) * 21);padding:0 var(--gutter);overflow-x:auto}.grid{border-collapse:separate;width:100%;border-spacing:0 calc(var(--u) * 6);font-size:var(--fs-small);font-variant-numeric:tabular-nums}.grid th{background:var(--navy);color:#fff;text-align:left;white-space:nowrap;padding:9px 8px;font-weight:500}.grid td{background:var(--tint);vertical-align:top;padding:9px 8px}.grid th:first-child,.grid td:first-child{border-radius:var(--radius-s) 0 0 var(--radius-s);padding-left:12px}.grid th:last-child,.grid td:last-child{border-radius:0 var(--radius-s) var(--radius-s) 0;padding-right:12px}.grid .num{text-align:right;white-space:nowrap}.grid tr.tap{cursor:pointer}.grid tfoot td{color:var(--navy);background:0 0;font-weight:700}.scan-field{gap:calc(var(--u) * 10);flex:1 1 calc(var(--u) * 250);min-width:0;display:flex}.scan-field input.text{min-width:0;height:max(44px, calc(var(--u) * 40));border-radius:var(--radius-s);background:var(--field);border:0;flex:1;padding:0 10px;font-size:16px}.scan-btn{width:44px;height:max(44px, calc(var(--u) * 40));border-radius:var(--radius-s);background:var(--navy);color:#fff;cursor:pointer;border:0;flex:none;place-items:center;display:grid}.scan-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.scan{z-index:20;background:#000;place-items:center;display:grid;position:fixed;inset:0}.scan video{object-fit:cover;width:100%;height:100%}.scan-frame{aspect-ratio:1;border:3px solid #fff;border-radius:18px;width:min(72vw,320px);position:absolute;box-shadow:0 0 0 100vmax #00000073}.scan-msg{color:var(--bad);text-align:center;background:#fff;border-radius:12px;margin:0;padding:12px;font-size:14px;position:absolute;top:18%;left:24px;right:24px}.scan .btn{bottom:max(24px, env(safe-area-inset-bottom));min-width:140px;position:absolute}.stack{gap:calc(var(--u) * 21);flex-direction:column;display:flex}.actions{gap:calc(var(--u) * 21);margin-bottom:calc(var(--u) * 21);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.stat{gap:calc(var(--u) * 21);margin-bottom:calc(var(--u) * 21);grid-template-columns:1fr 1fr;display:grid}.stat>div{background:var(--tint);border-radius:var(--radius);padding:calc(var(--u) * 18) calc(var(--u) * 22)}.stat b{font-size:var(--fs-name);color:var(--navy);font-variant-numeric:tabular-nums;display:block}.stat span{font-size:var(--fs-small);color:var(--ink-2)}.login{width:var(--frame);background:var(--bg);min-height:100dvh;margin:0 auto}.login-hero{height:calc(var(--u) * 172);padding-top:calc(var(--u) * 28);place-items:center;display:grid}.login-hero img{width:calc(var(--u) * 580);height:auto}.login-bar{align-items:center;gap:calc(var(--u) * 6);height:calc(var(--u) * 85);padding:0 calc(var(--u) * 22);background:var(--navy);color:#fff;font-size:var(--fs-title);display:flex}.login-bar img{height:calc(var(--u) * 54);width:auto}.login-bar span{margin-top:calc(var(--u) * -14)}.login-card{margin:calc(var(--u) * 27) var(--gutter);padding:calc(var(--u) * 27);background:var(--tint);border:0}.login-card .btn.primary{width:100%}.login-swap{animation:.28s ease-out login-swap}@keyframes login-swap{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.login-swap{animation:none}}.divider{color:var(--ink-3);align-items:center;gap:10px;margin:16px 0;font-size:13px;display:flex}.divider:before,.divider:after{content:"";background:var(--placeholder);flex:1;height:1px}@media (prefers-reduced-motion:reduce){.skeleton-list div{animation:none}.punch:active{scale:1}}.punch-address{color:var(--navy);margin-bottom:2px;font-weight:600;display:block}.profile-logout{margin:calc(var(--u) * 32) var(--gutter) calc(var(--u) * 24);width:auto}.remember{color:var(--navy);align-items:center;gap:10px;margin:2px 0 14px;font-size:14px;font-weight:500;display:flex}.remember input{width:20px;height:20px;accent-color:var(--navy);margin:0}.btn:active:not(:disabled),.icon-btn:active:not(:disabled),.menu-row:active,.tile:active,.note.unread:active,.record a:active{opacity:.85;transition:transform 60ms,opacity 60ms;transform:scale(.97)}.busy-bar{z-index:60;background:linear-gradient(90deg, transparent, var(--red), transparent);pointer-events:none;background-size:50% 100%;height:3px;animation:1s linear infinite busy-bar;position:fixed;top:0;left:0;right:0}@keyframes busy-bar{0%{background-position:-50% 0}to{background-position:150% 0}}.busy-veil{z-index:50;cursor:progress;background:#fff0;place-items:center;display:grid;position:fixed;inset:0}.busy-veil.show{background:#ffffff8c}.busy-box{background:var(--navy);color:#fff;border-radius:12px;align-items:center;gap:10px;padding:12px 18px;font-weight:600;display:none;box-shadow:0 6px 20px #223c914d}.busy-veil.show .busy-box{display:flex}.busy-spin{border:2.5px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite busy-spin}@keyframes busy-spin{to{transform:rotate(360deg)}}body.is-writing button,body.is-writing a,body.is-writing input,body.is-writing select{pointer-events:none}@media (prefers-reduced-motion:reduce){.busy-bar,.busy-spin{animation:none}}
