@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_eb41fe{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_eb41fe{--font-display:"Fraunces","Fraunces Fallback"}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_73ee6c{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_73ee6c{--font-body:"Manrope","Manrope Fallback"}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial}}}@layer theme{:host,:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.25;--leading-relaxed:1.625;--radius-2xl:1rem;--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono);--font-display:var(--font-display)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.relative{position:relative}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-flex{display:inline-flex}.h-\[220px\]{height:220px}.w-\[220px\]{width:220px}.w-full{width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-rotate-90{rotate:-90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--line\)\]{border-color:var(--line)}.bg-\[var\(--bad-bg\)\]{background-color:var(--bad-bg)}.bg-\[var\(--bg\)\]{background-color:var(--bg)}.bg-\[var\(--ok-bg\)\]{background-color:var(--ok-bg)}.bg-\[var\(--warn-bg\)\]{background-color:var(--warn-bg)}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black) 90%,transparent)}}.p-4{padding:calc(var(--spacing) * 4)}.p-8{padding:calc(var(--spacing) * 8)}.px-5{padding-inline:calc(var(--spacing) * 5)}.\!py-2\.5{padding-block:calc(var(--spacing) * 2.5)!important}.\!py-4{padding-block:calc(var(--spacing) * 4)!important}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.text-center{text-align:center}.font-display{font-family:var(--font-display)}.\!text-sm{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.\!text-xl{font-size:var(--text-xl)!important;line-height:var(--tw-leading,var(--text-xl--line-height))!important}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[\#2a2018\]{color:#2a2018}.text-\[var\(--accent-deep\)\]{color:var(--accent-deep)}.text-\[var\(--bad\)\]{color:var(--bad)}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-\[var\(--ok\)\]{color:var(--ok)}.text-\[var\(--warn\)\]{color:var(--warn)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-80{opacity:.8}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}}:root{--bg:#f6eee4;--bg-deep:#efe4d6;--ink:#3f291c;--muted:#8a7060;--card:#fff;--line:#e4d5c4;--accent:#b8733b;--accent-deep:#7a4a28;--coffee:#4a2f1c;--ok:#1f7a4d;--ok-bg:#e7f6ee;--bad:#b42318;--bad-bg:#fdeceb;--warn:#9a6700;--warn-bg:#fff4d6}*{box-sizing:border-box}body,html{min-height:100%}body{color:var(--ink);font-family:var(--font-body),system-ui,sans-serif;background:radial-gradient(1200px 500px at 10% -10%,#fff8e8 0,#0000 55%),radial-gradient(900px 400px at 100% 0,#e8d9c4 0,#0000 45%),linear-gradient(#f7f3ec,#efe9e0);margin:0}body:has(.page-auth){background:#1a100a}body:has(.login-v2),body:has(.page-app){background:#f6eee4}.font-display,h1,h2,h3{font-family:var(--font-display),Georgia,serif;letter-spacing:-.02em}.card,.surface-card{background:#fff;border:1px solid #fffffff2;border-radius:1.85rem;padding:1.25rem;box-shadow:0 22px 48px #48301c1f,inset 0 2px #fffc}.surface-card-center{text-align:center}.btn-coffee,.btn-primary{color:#fff8ef;background:linear-gradient(90deg,#7a4a28,#b8733b 48%,#d9924a);border:0;box-shadow:0 12px 24px #7a461e3d}.btn-soft{border:1.5px solid var(--line);color:var(--muted);background:#faf6f0}.btn-accent{color:#fff8ef;background:linear-gradient(90deg,#7a4a28,#b8733b 48%,#d9924a);border:0;box-shadow:0 12px 24px #7a461e3d}.btn{cursor:pointer;border:1px solid #0000;border-radius:1rem;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.1rem;font-weight:700;transition:transform .18s cubic-bezier(.22,1,.36,1),opacity .18s,background .22s,box-shadow .22s,border-color .22s,color .18s;display:inline-flex;position:relative;overflow:hidden}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #3d28182e}.btn:active:not(:disabled){transform:scale(.96)translateY(0);box-shadow:0 2px 8px #3d281824}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{border-color:var(--line);color:var(--ink);background:0 0}.input{border:1.5px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:1rem;outline:none;padding:.95rem 1rem;font-size:.98rem;font-weight:600;transition:border-color .2s,box-shadow .2s,transform .2s,background .2s}.input:hover{border-color:#cbb59a}.input:focus{border-color:#b88955;transform:translateY(-1px);box-shadow:0 0 0 3px #b8895524}.badge{border-radius:999px;align-items:center;padding:.35rem .75rem;font-size:.85rem;font-weight:700;display:inline-flex}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-bad{background:var(--bad-bg);color:var(--bad)}.badge-warn{background:var(--warn-bg);color:var(--warn)}.badge-muted{background:var(--bg-deep);color:var(--muted)}.page-auth{isolation:isolate;justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem 1.15rem 2rem;display:flex;position:relative}.page-auth,.page-auth-bg{background:#1a100a;overflow:hidden}.page-auth-bg{z-index:-1;position:fixed;inset:0}.page-auth-bg-beans{filter:saturate(1.12)contrast(1.04)brightness(.92);background:url(/login-bg-beans.jpg) 50%/cover no-repeat;position:absolute;inset:-8%;transform:scale(1.06)}.page-auth-bg-overlay{background:linear-gradient(#0a06046b,#0a060447 45%,#0a060485);position:absolute;inset:0}.page-auth-inner{z-index:1;width:100%;max-width:22.5rem;position:relative}.login-header{text-align:center;margin-bottom:1.35rem}.logo-square{background:#1c1410e0;border:1.5px solid #c9a24d;border-radius:.75rem;justify-content:center;align-items:center;width:3.1rem;height:3.1rem;margin:0 auto .85rem;display:flex;box-shadow:0 6px 18px #00000047}.login-brand{color:#f3e6cf;text-shadow:0 2px 16px #00000059;margin:0;font-size:clamp(2rem,8vw,2.35rem);line-height:1.05}.login-subtitle{color:#fff8efeb;text-shadow:0 1px 8px #00000040;margin:.55rem 0 0;font-size:.82rem}.auth-card{background:#f7f2ea;border:1px solid #ffffffa6;border-radius:1.35rem;box-shadow:0 18px 42px #00000038}.login-card{flex-direction:column;gap:1.1rem;padding:1.35rem 1.2rem 1.15rem;display:flex}.login-input{background:#fff;border-color:#ddd4c8;border-radius:.85rem;padding-top:.82rem;padding-bottom:.82rem}.login-input::placeholder{color:#a89b90}.login-submit{background:linear-gradient(#5a3d24,#3d2818);border:1px solid #6b4a2e;border-radius:999px;margin-top:.15rem;padding:.95rem 1.1rem;font-size:1rem}.login-card-note{text-align:center;color:#8a7d72;margin:.15rem 0 0;font-size:.72rem;line-height:1.45}.login-v2{isolation:isolate;background:#f6eee4;min-height:100dvh;position:relative;overflow-x:hidden}.login-v2-loading{text-align:center;color:#6b4a2e;padding:3rem 1rem;font-weight:600}.login-v2-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-v2-bg-photo{filter:saturate(.98)brightness(1.03);transform-origin:top;background:url(/app-bg-coffee.jpg) top/cover no-repeat;position:absolute;inset:0;transform:scale(1.04)}.login-v2-bg-fade{background:linear-gradient(#f6eee41a,#f6eee438 22%,#f6eee47a 42%,#f6eee4c7 62%,#f6eee4f0 78%,#f6eee4 92% 100%);position:absolute;inset:0}.login-v2-shell{z-index:1;flex-direction:column;width:min(100%,26.5rem);min-height:100dvh;margin:0 auto;padding:1.35rem 1.15rem 7.5rem;display:flex;position:relative}.login-v2-header{padding:.15rem .2rem 0}.login-v2-brand{letter-spacing:.16em;color:#6b4226;margin:0;font-size:.7rem;font-weight:800}.login-v2-title{color:#3f291c;letter-spacing:-.02em;margin:0;font-size:clamp(2.35rem,9vw,2.85rem);line-height:1.05}.login-v2-sub{color:#7d634d;margin:.4rem 0 0;font-size:.8rem;font-weight:500}.login-v2-card{background:#fff;border-radius:1.85rem;width:100%;margin-top:auto;margin-bottom:.9rem;padding:2.55rem 1.25rem 1.35rem;position:relative;box-shadow:0 22px 48px #48301c24,inset 0 2px #fffc}.login-v2-badge{background:#fff8ef;border:3px solid #fff;border-radius:999px;place-items:center;width:3.55rem;height:3.55rem;display:grid;position:absolute;top:0;left:50%;transform:translate(-50%,-52%);box-shadow:0 10px 22px #48301c29}.login-v2-welcome{text-align:center;margin-bottom:1.35rem}.login-v2-welcome h2{letter-spacing:-.01em;color:#4a2f1c;margin:0;font-size:1.55rem;font-weight:800}.login-v2-welcome p{color:#8d7766;margin:.35rem 0 0;font-size:.9rem}.login-v2-pin-hint{text-align:center;color:#8a7060;margin:0 0 .85rem;font-size:.82rem}.login-v2-form{gap:.95rem}.login-v2-field,.login-v2-form{flex-direction:column;display:flex}.login-v2-field{gap:.42rem}.login-v2-label{color:#5a3d24;font-size:.86rem;font-weight:700}.login-v2-input-wrap{align-items:center;display:flex;position:relative}.login-v2-input-icon{color:#a08972;pointer-events:none;display:flex;position:absolute;left:.95rem}.login-v2-input-wrap input{color:#3d2818;background:#fff;border:1.5px solid #e4d5c4;border-radius:1rem;outline:none;width:100%;padding:.95rem 2.75rem;font-size:.98rem;font-weight:600;transition:border-color .15s,box-shadow .15s}.login-v2-input-wrap input:focus{border-color:#b88955;box-shadow:0 0 0 3px #b8895524}.login-v2-input-wrap input::placeholder{color:#b5a190;font-weight:500}.login-v2-eye{color:#a08972;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.45rem;position:absolute;right:.55rem}.login-v2-error{color:#b2473a;text-align:center;background:#fbeceb;border-radius:.9rem;margin:0;padding:.7rem .85rem;font-size:.86rem;font-weight:700}.login-v2-submit{color:#fff8ef;cursor:pointer;background:linear-gradient(90deg,#7a4a28,#b8733b 48%,#d9924a);border:0;border-radius:1rem;justify-content:center;align-items:center;gap:.55rem;width:100%;margin-top:.2rem;padding:1rem 1.15rem;font-size:1.05rem;font-weight:800;transition:transform .15s,filter .15s;display:inline-flex;box-shadow:0 14px 28px #7a461e47}.login-v2-submit:hover:not(:disabled){filter:brightness(1.04)}.login-v2-submit:active:not(:disabled){transform:scale(.985)}.login-v2-submit:disabled{opacity:.75;cursor:default}.login-v2-or{color:#a89078;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin:1.15rem 0 .95rem;font-size:.84rem;font-weight:600;display:grid}.login-v2-or:after,.login-v2-or:before{content:"";background:#eadfce;height:1px}.login-v2-bio{color:#5a3d24;cursor:pointer;background:#fff;border:1.5px solid #dfd0bc;border-radius:1rem;justify-content:center;align-items:center;gap:.55rem;width:100%;padding:.9rem 1rem;font-size:.94rem;font-weight:700;transition:background .15s,border-color .15s;display:inline-flex}.login-v2-bio:hover{background:#faf6f0;border-color:#cbb59a}.login-v2-help{color:#8a7060;gap:.4rem;margin-top:.9rem;margin-bottom:.35rem;padding-top:0;font-size:.84rem;font-weight:600}.login-v2-help,.login-v2-install-btn{justify-content:center;align-items:center;width:100%;display:inline-flex}.login-v2-install-btn{color:#5a3d24;background:linear-gradient(#fffdf9,#f6eee4);border:1.5px solid #d4b896;border-radius:1rem;gap:.55rem;margin:.55rem 0 .35rem;padding:.95rem 1.1rem;font-size:.95rem;font-weight:800;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s;box-shadow:inset 0 1px #ffffffb3,0 10px 22px #5a3d241a}.login-v2-install-btn:hover{background:linear-gradient(#fff,#f3e6d6);border-color:#c49a6c;box-shadow:inset 0 1px #fffc,0 12px 26px #5a3d2424}.login-v2-install-btn:active{transform:scale(.985)}.login-v2-install-btn svg{opacity:.9;flex-shrink:0}.install-card{flex-direction:column;align-items:stretch;gap:.85rem;display:flex}.install-icon-wrap{border-radius:18px;width:72px;height:72px;margin:.15rem auto .25rem;overflow:hidden;box-shadow:0 10px 28px #1c141038}.install-icon-wrap img{object-fit:cover;width:100%;height:100%;display:block}.install-steps{color:#5a3d24;background:#faf6f0;border:1px solid #e8dccb;border-radius:14px;margin:0;padding:.85rem .95rem .85rem 1.45rem;font-size:.9rem;font-weight:600;line-height:1.55}.install-steps li+li{margin-top:.45rem}.install-hint{color:#5a3d24;text-align:center;background:#faf6f0;border:1px solid #e8dccb;border-radius:12px;margin:0;padding:.75rem .9rem;font-size:.86rem;font-weight:650;line-height:1.45}.install-actions{flex-direction:column;gap:.65rem;display:flex}.install-login-link{text-align:center;color:#6b4226;text-underline-offset:.18em;font-size:.88rem;font-weight:700;text-decoration:underline}.install-note{text-align:center;color:#8a7060;margin:.15rem 0 0;font-size:.78rem;font-weight:600;line-height:1.45}.install-note code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8em}.alert-popup{z-index:120;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.alert-popup-backdrop{cursor:pointer;background:#1c14108c;border:0;position:absolute;inset:0}.alert-popup-card{z-index:1;text-align:center;background:#fffdf9;border-radius:1.25rem;width:min(100%,22rem);padding:1.35rem 1.25rem 1.2rem;position:relative;box-shadow:0 24px 48px #1c141047}.alert-popup-title{color:#3f291c;margin:0;font-size:1.45rem;line-height:1.25}.alert-popup-detail{color:#7d634d;margin:.55rem 0 0;font-size:.95rem;font-weight:650}.alert-popup-btn{margin-top:1.15rem}.thank-sticker-layer{z-index:130;pointer-events:none;background:#1c141047;place-items:center;padding:1.25rem;animation:motion-fade-in .25s both;display:grid;position:fixed;inset:0}.thank-sticker-layer.is-leaving{animation:thank-sticker-out .55s forwards}.thank-sticker{text-align:center;background:radial-gradient(circle at 20% 15%,#fff8ef 0,#0000 42%),linear-gradient(155deg,#fffdf8,#f4e6d2 55%,#ecd7bc);border:2px solid #c9a06a;border-radius:1.35rem;width:min(100%,17.5rem);padding:1.55rem 1.25rem 1.35rem;position:relative;transform:rotate(-2.5deg);box-shadow:0 18px 40px #1c141047,inset 0 1px #ffffffb3}.thank-sticker-seal{background:#1c1410;border-radius:999px;place-items:center;width:3.6rem;height:3.6rem;margin:0 auto .65rem;display:grid;box-shadow:0 8px 18px #1c141047}.thank-sticker-title{color:#3f291c;margin:0;font-size:1.55rem;line-height:1.2}.thank-sticker-detail{color:#7a5538;margin:.45rem 0 0;font-size:1rem;font-weight:700}.thank-sticker-thanks{letter-spacing:.04em;color:#6b4226;margin:.85rem 0 0;font-size:.92rem;font-weight:800}@keyframes thank-sticker-out{to{opacity:0;transform:translateY(-10px)scale(.94)}}.login-v2-card-pin{padding-bottom:1.5rem}.login-v2-back{color:#5a3d24;cursor:pointer;background:#faf6f0;border:1.5px solid #e4d5c4;gap:.4rem;margin:0 0 .85rem;padding:.55rem .9rem .55rem .75rem;font-size:.84rem;font-weight:700;transition:background .15s,border-color .15s,transform .12s,box-shadow .15s;box-shadow:0 4px 12px #48301c0f}.login-v2-back,.login-v2-back-icon{border-radius:999px;align-items:center;display:inline-flex}.login-v2-back-icon{color:#6b4226;background:#fff;justify-content:center;width:1.35rem;height:1.35rem;font-size:.85rem;line-height:1;box-shadow:0 1px 3px #48301c14}.login-v2-back:hover{color:#3d2818;background:#fff;border-color:#cbb59a;box-shadow:0 6px 16px #48301c1a}.login-v2-back:active{transform:scale(.97)}.login-v2-error-spacer{visibility:hidden;background:0 0;min-height:1.15rem;margin:.7rem 0 0;padding:0}.login-v2-card-pin .pin-boxes{margin-top:.35rem}.login-v2-card-pin .pin-box{color:#4a2f1c;background:#fff;border-color:#e4d5c4}.login-v2-card-pin .pin-box.is-filled{border-color:#4a2f1c}.login-v2-card-pin .pin-boxes-ok .pin-box{color:#5f8f4f;background:#eef6ea;border-color:#5f8f4f}.login-v2-card-pin .pin-boxes-bad .pin-box{color:#c45c4a;background:#fbeceb;border-color:#c45c4a}.login-v2-card-pin .pin-pad{max-width:19rem;margin-top:.35rem}.login-v2-card-pin .pin-key{color:#4a2f1c}.login-v2-card-pin .pin-key:hover:not(:disabled):not(.pin-key-spacer){background:#4a2f1c0f}@media (min-width:768px){.login-v2-shell{padding-top:2rem;padding-bottom:2rem}.login-v2-card{margin-top:auto}}.login-alt-link{text-align:center;color:#6b4a2e;text-underline-offset:.18em;margin-top:.15rem;font-size:.8rem;font-weight:600;text-decoration:underline;display:block}.login-alt-link:hover{color:#3d2818}.page-pin .page-auth-inner,.pin-inner{max-width:24rem}.pin-card{text-align:center;padding:1.25rem 1.15rem 1.35rem}.pin-back{color:#8a7d72;cursor:pointer;background:0 0;border:0;margin:0 0 .85rem;padding:0;font-size:.78rem;font-weight:600;display:inline-flex}.pin-back:hover{color:#3d2818}.pin-step-label{letter-spacing:.06em;text-transform:uppercase;color:#a08972;margin:0 0 .35rem;font-size:.72rem;font-weight:700}.pin-title{font-family:var(--font-display),serif;color:#3d2818;margin:0;font-size:1.55rem;font-weight:700}.pin-code-label{letter-spacing:.04em;color:#8a7d72;margin:.35rem 0 0;font-size:.85rem;font-weight:700}.pin-code-field{margin-top:1.25rem;display:block}.pin-code-input{text-align:center;letter-spacing:.08em;color:#3d2818;background:#fff;border:1.5px solid #ddd4c8;border-radius:.95rem;outline:none;width:100%;padding:.95rem 1rem;font-size:1.15rem;font-weight:800}.pin-code-input:focus{border-color:#3d2818;box-shadow:0 0 0 3px #3d281814}.pin-code-input::placeholder{letter-spacing:.02em;color:#a89b90;font-weight:600}.pin-continue{margin-top:.35rem}.pin-boxes{gap:.65rem;margin-top:1.35rem}.pin-box,.pin-boxes{justify-content:center;display:flex}.pin-box{color:#3d2818;background:#fff;border:1.5px solid #ddd4c8;border-radius:.85rem;align-items:center;width:3.15rem;height:3.15rem;font-size:1.55rem;font-weight:800;transition:border-color .18s,color .18s,background .18s,box-shadow .18s}.pin-box.is-filled{border-color:#3d2818}.pin-boxes-ok .pin-box{color:#5f8f4f;background:#eef6ea;border-color:#5f8f4f}.pin-boxes-bad .pin-box{color:#c45c4a;background:#fbeceb;border-color:#c45c4a}.pin-error{color:#c45c4a;min-height:1.25rem;margin:.7rem 0 0;font-size:.88rem;font-weight:700}.pin-error-spacer{visibility:hidden}.pin-pad{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;max-width:18rem;margin-top:.55rem;margin-left:auto;margin-right:auto;display:grid}.pin-key{color:#3d2818;cursor:pointer;background:0 0;border:0;border-radius:1rem;justify-content:center;align-items:center;min-height:3.4rem;font-size:1.45rem;font-weight:700;transition:background .15s,transform .12s;display:flex}.pin-key:hover:not(:disabled):not(.pin-key-spacer){background:#3d28180f}.pin-key:active:not(:disabled):not(.pin-key-spacer){background:#3d28181a;transform:scale(.94)}.pin-key:disabled{opacity:.45;cursor:default}.pin-key-spacer{pointer-events:none}.pin-key-action{color:#5a3d24}.pin-forgot{color:#8a7d72;text-underline-offset:.16em;margin:1rem 0 0;font-size:.78rem;font-weight:600;text-decoration:underline}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-app{isolation:isolate;width:100%;max-width:100vw;min-height:100dvh;position:relative;overflow-x:hidden}.page-app-centered .page-app-inner{flex-direction:column;justify-content:center;min-height:calc(100dvh - 2.5rem);display:flex}.page-app-bg{z-index:-1;position:fixed;inset:0;overflow:hidden}.page-app-bg-photo{filter:saturate(.98)brightness(1.03);transform-origin:top;background:url(/app-bg-coffee.jpg) top/cover no-repeat;position:absolute;inset:0;transform:scale(1.03)}.page-app-bg-overlay{background:linear-gradient(#f6eee41f,#f6eee447 24%,#f6eee48c 44%,#f6eee4d1 64%,#f6eee4f2 80%,#f6eee4 92% 100%);position:absolute;inset:0}.page-app-inner{z-index:1;box-sizing:border-box;width:100%;max-width:100%;margin:0 auto;padding:1.25rem 1.1rem 2rem;position:relative;overflow-x:hidden}.app-inner-sm{max-width:28rem}.app-inner-md{max-width:36rem}.app-inner-lg{max-width:48rem}.app-inner-xl{max-width:64rem}.app-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.app-header-text{flex:1;min-width:0}.app-meta{color:#5c4332;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:.35rem 0 0;font-size:.8rem;font-weight:600;overflow:hidden}.app-logout{color:#5a3d24;cursor:pointer;background:#fff;border:1.5px solid #e4d5c4;border-radius:999px;flex-shrink:0;align-items:center;gap:.35rem;padding:.55rem .9rem;font-size:.78rem;font-weight:700;display:inline-flex;box-shadow:0 6px 16px #48301c14}@media (max-width:420px){.app-logout{padding:.6rem}.app-logout-text{display:none}.app-title{font-size:clamp(1.45rem,7vw,1.9rem)}}.app-brand{letter-spacing:.16em;color:#3b2416;border-bottom:1px solid #3c241647;margin:0;padding-bottom:.4rem;font-size:.72rem;font-weight:800;display:inline-block}.app-title{color:#24160f;margin:.12rem 0 0;font-size:clamp(1.75rem,6vw,2.15rem);font-weight:700;line-height:1.05}.app-subtitle{color:#5a3f2c;margin:.4rem 0 0;font-size:.88rem;font-weight:600}.app-nav{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.app-content{flex-direction:column;gap:1rem;display:flex}.app-footer-divider{opacity:.85;margin-top:1.25rem}.logo-square-light{background:#1c1410e0}.surface-badge{color:#8a6a45;background:#f3ebe0;border-radius:999px;align-items:center;gap:.35rem;margin:0 auto .85rem;padding:.4rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex}.surface-title{color:var(--ink);margin:0;font-size:1.55rem;line-height:1.15}.surface-code{letter-spacing:.06em;color:#9a6b3a;margin:.35rem 0 0;font-size:.95rem;font-weight:700}.surface-dotted{border-top:1px dashed #ddd0c0;margin:.85rem 0 .75rem}.qr-box{background:#fff;border:1px solid #ece3d7;border-radius:1rem;justify-content:center;padding:.85rem;display:inline-flex}.today-status-box{text-align:center;background:#faf7f2;border:1px solid #ece3d7;border-radius:.85rem;margin-top:1rem;padding:.85rem 1rem}.today-status-label{letter-spacing:.02em;color:var(--muted);margin:0;font-size:.78rem;font-weight:600}.today-status-value{justify-content:center;align-items:center;gap:.45rem;margin:.35rem 0 0;font-size:1rem;font-weight:800;display:inline-flex}.today-status-dot{border-radius:999px;flex-shrink:0;width:.55rem;height:.55rem}.today-status-loading{color:var(--muted)}.today-status-available{color:#3d2818}.today-status-available .today-status-dot{background:#c07840}.today-status-used{color:#5a3d24}.today-status-used .today-status-dot{background:#7a9a5c}.today-status-inactive{color:#7a6f65}.today-status-inactive .today-status-dot{background:#b5aa9f}.meta-line{color:#8a7d72;justify-content:center;align-items:center;gap:.35rem;width:100%;margin:.75rem 0 0;font-size:.72rem;display:inline-flex}.alert{border-radius:.9rem;padding:.65rem .85rem;font-size:.88rem;font-weight:600}.alert-bad{background:var(--bad-bg);color:var(--bad)}.alert-ok{background:var(--ok-bg);color:var(--ok)}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.85rem;display:grid}.stat-card{padding:1.1rem 1rem}.stat-card p:last-child{margin:0;font-size:clamp(1.75rem,5vw,2.25rem);line-height:1.1}.stat-label{color:var(--muted);margin:0 0 .35rem;font-size:.82rem}.data-table-wrap{padding:0;overflow:hidden}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.data-table td,.data-table th,.history-table td,.history-table th{padding:.85rem 1rem}.data-table thead,.history-table thead{color:var(--muted);background:#f3ebe0;font-size:.82rem}.data-table tbody tr,.history-table tbody tr{border-top:1px solid var(--line)}.data-table tbody tr:nth-child(2n),.history-table tbody tr:nth-child(2n){background:#ffffff80}.coffee-divider{align-items:center;gap:.65rem;display:flex}.coffee-divider-line{background:linear-gradient(90deg,#0000,#dbcbb5 20% 80%,#0000);flex:1;height:1px}.coffee-divider-bean{color:#b8893d;display:inline-flex}.input-with-icon{position:relative}.input-icon{pointer-events:none;left:.95rem}.input-icon,.input-toggle{color:var(--muted);position:absolute;top:50%;transform:translateY(-50%)}.input-toggle{cursor:pointer;background:0 0;border:none;padding:.25rem;display:inline-flex;right:.75rem}.input-icon-left{padding-left:2.6rem}.input-icon-right{padding-right:2.6rem}.btn-login{color:#fff8ef;background:linear-gradient(#6b4a2e,#4a3018);border:1px solid #8f6828;box-shadow:0 8px 20px #0003}.nav-pill{color:#6b4a2e;background:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;padding:.72rem 1.15rem;font-size:.94rem;font-weight:700;transition:transform .18s cubic-bezier(.22,1,.36,1),background .22s,color .18s,box-shadow .22s;display:inline-flex;box-shadow:0 6px 16px #48301c0f}.nav-pill:hover{color:#3f291c;transform:translateY(-1px)}.nav-pill:active{transform:scale(.96)}.nav-pill-active{color:#fff8ef;background:#4a2f1c;border-color:#0000;box-shadow:0 8px 18px #3d281838}.nav-pill-active:hover{color:#fff8ef}.stats-card{background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex;box-shadow:0 22px 48px #48301c1f}.scan-panel,.stats-card{border:0;border-radius:1.85rem}.scan-panel{color:#fff8ef;background:linear-gradient(#5a3d24,#4a2f1c 55%,#3d2818);padding:1.35rem 1.25rem;box-shadow:0 22px 48px #48301c2e}.scan-panel .btn-scan{color:#fff8ef;cursor:pointer;background:#ffffff1f;border:1px solid #fff8ef38;border-radius:999px;width:100%;margin-top:.75rem;padding:.85rem 1rem;font-weight:700;transition:transform .18s cubic-bezier(.22,1,.36,1),background .2s,border-color .2s}.scan-panel .btn-scan:hover{background:#ffffff2e}.scan-panel .btn-scan:active{transform:scale(.97)}.staff-tabbar{left:0;right:0;bottom:max(1.65rem,calc(env(safe-area-inset-bottom) + .85rem));z-index:60;pointer-events:none;justify-content:center;padding:0 1rem;display:flex;position:fixed}.staff-tabbar-inner{pointer-events:auto;background:#c4a484;border-radius:999px;grid-template-columns:1fr auto 1fr;align-items:center;gap:.85rem;width:min(100%,20.5rem);margin:0;padding:.55rem 1.15rem;display:grid;position:relative;box-shadow:0 12px 28px #48301c38,inset 0 2px #ffffff38}.staff-shell-body{padding-top:1.75rem;padding-bottom:1rem}.staff-tab{color:#fff8ef;justify-content:center;align-items:center;min-height:2.8rem;text-decoration:none;display:flex}.staff-tab-side:first-child{justify-content:flex-start;padding-left:.35rem}.staff-tab-side:last-child{justify-content:flex-end;padding-right:.35rem}.staff-tab-bubble{border-radius:999px;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;transition:background .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex}.staff-tab-side.is-active .staff-tab-bubble{color:#c4a484;background:#fff}.staff-tab-scan{z-index:1;cursor:pointer;background:0 0;border:0;min-height:0;margin-top:-1.15rem;margin-bottom:-1.15rem;padding:0;position:relative}.staff-tab-scan .staff-tab-bubble{color:#c4a484;background:#fff;width:4.15rem;height:4.15rem;box-shadow:0 10px 22px #48301c33,inset 0 2px #ffffffe6}.staff-tab-scan.is-active .staff-tab-bubble,.staff-tab-scan:hover .staff-tab-bubble{color:#a88462;transform:translateY(-1px)scale(1.03);box-shadow:0 14px 26px #48301c42,inset 0 2px #fffffff2}.staff-tab-scan:active .staff-tab-bubble{transform:scale(.96)}.staff-tab-side:not(.is-active):active .staff-tab-bubble{transform:scale(.94)}.scan-modal{z-index:50;padding:1rem 1rem calc(6.25rem + env(safe-area-inset-bottom));place-items:end center;display:grid;position:fixed;inset:0}.scan-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#28180e73;position:absolute;inset:0}.scan-modal-card{z-index:1;color:#fff8ef;background:linear-gradient(#5a3d24,#4a2f1c 55%,#3d2818);border-radius:1.85rem;width:min(100%,26rem);padding:1.2rem 1.15rem 1.35rem;position:relative;box-shadow:0 24px 48px #28180e59}.scan-modal-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.qr-reader-host{min-height:280px;position:relative}.qr-scanner-stage{position:relative;overflow:hidden}.qr-scanner-stage,.qr-scanner-stage .qr-reader-host{border-radius:1rem}.qr-scan-frame{pointer-events:none;z-index:5;place-items:center;display:grid;position:absolute;inset:0}.qr-scan-frame:before{content:"";-webkit-mask-composite:xor;box-sizing:border-box;background:linear-gradient(#0c080673,#0c080673);padding:18% 16%;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)}.qr-scan-corner{border:3px solid #f0c987;border-radius:4px;width:2rem;height:2rem;position:absolute;box-shadow:0 0 0 1px #1c141059}.qr-scan-tl{border-bottom:0;border-right:0;border-top-left-radius:10px;top:18%;left:16%}.qr-scan-tr{border-bottom:0;border-left:0;border-top-right-radius:10px;top:18%;right:16%}.qr-scan-bl{border-top:0;border-right:0;border-bottom-left-radius:10px;bottom:18%;left:16%}.qr-scan-br{border-top:0;border-left:0;border-bottom-right-radius:10px;bottom:18%;right:16%}.qr-scan-line{background:linear-gradient(90deg,#0000,#f0c987,#0000);border-radius:999px;height:2px;animation:qr-scan-sweep 2.2s ease-in-out infinite;position:absolute;top:22%;left:20%;right:20%;box-shadow:0 0 12px #f0c987a6}@keyframes qr-scan-sweep{0%,to{opacity:.35;top:22%}50%{opacity:1;top:72%}}.qr-reader-host video~video{display:none!important}.scan-modal-card-light{color:var(--ink);background:#fff;padding:1rem}.staff-scan-flash{z-index:70;pointer-events:none;width:min(100% - 2rem,26rem);position:fixed;top:1rem;left:50%;transform:translate(-50%)}.emp-tab-side{color:#fff8ef}.emp-shell-body{padding-top:.85rem;padding-bottom:.5rem}.emp-qr-card{gap:.35rem}.emp-pin-card{padding-bottom:1.25rem}.redeem-cat-btn{color:#5a3d24;cursor:pointer;background:#fff;border:1.5px solid #e4d5c4;border-radius:1rem;padding:.85rem .75rem;font-size:.95rem;font-weight:800;transition:transform .18s,background .18s,border-color .18s,color .18s}.redeem-cat-btn.is-active{color:#fff8ef;background:linear-gradient(#6b4a2e,#4a2f1c);border-color:#0000;box-shadow:0 10px 22px #48301c2e}.redeem-cat-btn:active{transform:scale(.97)}.admin-shell-body{padding-top:.5rem;padding-bottom:.5rem}.admin-tabbar-inner{grid-template-columns:repeat(4,1fr);gap:.15rem;width:min(100%,22.5rem);padding:.45rem .45rem .55rem;display:grid}.admin-tab{color:#fff8efb8;flex-direction:column;gap:.15rem;min-height:3.15rem}.admin-tab .staff-tab-bubble{width:2.15rem;height:2.15rem}.admin-tab.is-active{color:#fff8ef}.admin-tab.is-active .staff-tab-bubble{background:#ffffff38}.emp-tab-label{letter-spacing:.01em;text-align:center;max-width:4.8rem;font-size:.62rem;font-weight:700;line-height:1.1}.admin-toolbar{flex-direction:column;gap:.55rem;display:flex}.admin-toolbar-row{gap:.5rem;display:flex}.admin-toolbar .input,.admin-toolbar-row .input{width:100%;max-width:none}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-mobile-card{padding:1rem}.admin-card-title{color:var(--ink);margin:0;font-size:1.05rem;font-weight:800;line-height:1.25}.admin-card-meta{color:var(--muted);margin:.2rem 0 0;font-size:.82rem;line-height:1.35}.admin-card-actions{gap:.5rem;margin-top:.85rem;display:flex}.admin-history-item{align-items:flex-start}.admin-pin-sheet{z-index:9999;padding:.75rem .75rem max(.75rem,env(safe-area-inset-bottom));box-sizing:border-box;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.admin-pin-backdrop{z-index:0;cursor:pointer;background:#24160f80;border:0;position:absolute;inset:0}.admin-pin-panel{z-index:1;-webkit-overflow-scrolling:touch;color:#3f291c;text-align:center;pointer-events:auto;background:#fffdf9;border-radius:1.6rem 1.6rem 1.35rem 1.35rem;width:min(100%,24rem);max-height:min(88dvh,42rem);padding:1.1rem 1rem 1.25rem;position:relative;overflow:auto;box-shadow:0 -16px 48px #28180e47}.admin-pin-head{text-align:left;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.35rem;display:flex}.admin-pin-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#8a7060;margin:0;font-size:.72rem;font-weight:800}.admin-pin-title{color:#24160f;margin:.2rem 0 0;font-size:1.45rem;line-height:1.15}.admin-pin-sub{color:#8a7060;margin:.3rem 0 0;font-size:.86rem}.admin-pin-close{color:#5a3d24;cursor:pointer;background:#fff;border:1px solid #e4d5c4;border-radius:999px;flex-shrink:0;padding:.45rem .85rem;font-size:.78rem;font-weight:700}.admin-pin-hint{color:#5c4332;margin:.75rem 0 .85rem;font-size:.84rem;font-weight:600}.admin-pin-error{min-height:1.25rem;color:var(--bad);margin:.55rem 0 .35rem;font-size:.84rem;font-weight:700}.admin-pin-error-spacer{visibility:hidden}.admin-pin-note{color:#8a7060;margin:.85rem 0 0;font-size:.78rem;line-height:1.45}.admin-pin-panel .pin-boxes{justify-content:center;margin:0 auto}.admin-pin-panel .pin-pad{max-width:20rem;margin:.5rem auto 0}.m-date{flex-direction:column;gap:.35rem;width:100%;display:flex}.m-date-label{color:#5c4332;font-size:.78rem;font-weight:700}.m-date-trigger{color:#8a7060;cursor:pointer;text-align:left;background:#fff;border:1.5px solid #e4d5c4;border-radius:1rem;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.85rem 1rem;font-size:.95rem;font-weight:600;display:flex}.m-date-trigger.has-value{color:#3f291c}.m-date-icon{color:#8a7060;display:inline-flex}.m-date-sheet{z-index:9999;padding:.75rem .75rem max(.75rem,env(safe-area-inset-bottom));box-sizing:border-box;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.m-date-backdrop{z-index:0;cursor:pointer;background:#24160f6b;border:0;position:absolute;inset:0}.m-date-panel{z-index:1;pointer-events:auto;background:#fffdf9;border-radius:1.5rem 1.5rem 1.25rem 1.25rem;width:min(100%,24rem);max-height:min(78dvh,34rem);padding:1rem 1rem 1.1rem;position:relative;overflow:auto;box-shadow:0 -12px 40px #28180e38}.m-date-panel-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.m-date-panel-title{color:#3f291c;margin:0;font-size:1rem;font-weight:800}.m-date-nav{color:#5a3d24;cursor:pointer;background:#fff;border:1px solid #e4d5c4;border-radius:999px;width:2.4rem;height:2.4rem;font-size:1.35rem;line-height:1}.m-date-week{text-align:center;color:#8a7060;gap:.15rem;margin-bottom:.35rem;font-size:.72rem;font-weight:700}.m-date-grid,.m-date-week{grid-template-columns:repeat(7,1fr);display:grid}.m-date-grid{gap:.25rem}.m-date-cell{aspect-ratio:1;color:#3f291c;cursor:pointer;background:0 0;border:0;border-radius:.85rem;font-size:.9rem;font-weight:700}.m-date-cell.is-empty{pointer-events:none}.m-date-cell.is-selected{color:#fff8ef;background:linear-gradient(#6b4a2e,#4a2f1c)}.m-date-cell:not(.is-empty):not(.is-selected):active{background:#f3ebe0}.m-date-actions{gap:.5rem;margin-top:.9rem;display:flex}.qr-reveal-wrap{width:100%;max-width:260px;margin:1rem auto .75rem}.qr-reveal{touch-action:none;-webkit-user-select:none;user-select:none;border-radius:1.35rem;position:relative;overflow:hidden}.qr-reveal-stage{border:1px solid var(--line);background:#fff;border-radius:1.35rem;justify-content:center;padding:.75rem;display:flex}.qr-reveal-stage .qr-box{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.qr-reveal-stage .qr-box:hover{box-shadow:none;transform:none}.qr-reveal-shutter{z-index:2;cursor:grab;will-change:transform;background:linear-gradient(#4a2f1ceb,#5a3d24f5 55%,#5a3d24);justify-content:center;align-items:flex-end;transition:transform .28s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;inset:0}.qr-reveal.is-dragging .qr-reveal-shutter{cursor:grabbing;transition:none}.qr-reveal.is-open .qr-reveal-shutter{pointer-events:none}.qr-reveal-shutter-inner{text-align:center;color:#fff8ef;width:100%;padding:1.1rem 1rem 1.25rem}.qr-reveal-handle{background:#fff8ef73;border-radius:999px;width:2.6rem;height:.28rem;margin:0 auto .85rem}.qr-reveal-hint{letter-spacing:.01em;margin:0;font-size:.92rem;font-weight:700}.qr-reveal-chevrons{opacity:.85;flex-direction:column;align-items:center;gap:.12rem;margin-top:.65rem;animation:qr-chevron-bounce 1.4s ease-in-out infinite;display:flex}.qr-reveal-chevrons span{opacity:.55;border-top:2px solid #fff8ef;border-left:2px solid #fff8ef;width:.55rem;height:.55rem;transform:rotate(45deg)}.qr-reveal-chevrons span:last-child{opacity:.95;margin-top:-.2rem}@keyframes qr-chevron-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.qr-reveal-close{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;margin-top:.65rem;padding:.55rem 1rem;font-size:.82rem;font-weight:700;display:block}.emp-history-list{margin:0;padding:0;list-style:none}.emp-history-item{border-bottom:1px solid #5a3c281a;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem .15rem;display:flex}.emp-history-item:last-child{border-bottom:0}.emp-history-date{color:var(--ink);margin:0;font-size:.95rem;font-weight:700}.emp-history-meta{color:var(--muted);margin:.2rem 0 0;font-size:.8rem}.emp-history-badge{background:var(--ok-bg);color:var(--ok);border-radius:999px;flex-shrink:0;padding:.35rem .7rem;font-size:.72rem;font-weight:700}.staff-scan-flash .flash-panel{pointer-events:auto}.page-app-with-tabbar .page-app-inner{padding-bottom:calc(6.25rem + env(safe-area-inset-bottom))}@keyframes motion-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes motion-fade-in{0%{opacity:0}to{opacity:1}}@keyframes motion-pop{0%{opacity:0;transform:scale(.92)}70%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes motion-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes motion-pulse-soft{0%,to{box-shadow:0 8px 18px #a45f2d38}50%{box-shadow:0 10px 28px #a45f2d5c}}.motion-page{animation:motion-fade-up .42s cubic-bezier(.22,1,.36,1) both}.motion-in{opacity:0;transition:opacity .38s cubic-bezier(.22,1,.36,1),transform .38s cubic-bezier(.22,1,.36,1);transition-delay:var(--motion-delay,0s);transform:translateY(12px)}.motion-in-active{opacity:1;transform:translateY(0)}.anim-pop{animation:motion-pop .38s cubic-bezier(.22,1,.36,1) both}.anim-shake{animation:motion-shake .42s both}.anim-fade{animation:motion-fade-in .28s both}.auth-card,.card,.scan-panel,.stats-card,.surface-card{transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s,border-color .22s}.card:hover,.surface-card:hover{box-shadow:0 18px 42px #48301c1f}.alert,.app-header,.app-logout,.app-nav,.badge,.employee-logout,.logo-square,.surface-badge,.today-status-box{transition:transform .18s cubic-bezier(.22,1,.36,1),opacity .2s,background .22s,color .18s,border-color .22s,box-shadow .22s}.app-logout,.employee-logout,.input-toggle{cursor:pointer}.app-logout:hover,.employee-logout:hover{color:var(--ink);background:#ffffffeb;transform:translateY(-1px)}.app-logout:active,.employee-logout:active,.input-toggle:active{transform:scale(.96)}.alert{animation:motion-pop .34s cubic-bezier(.22,1,.36,1) both}.alert-bad{animation:motion-shake .42s both}.flash-panel{animation:motion-pop .4s cubic-bezier(.22,1,.36,1) both}.app-title,.employee-title,.login-brand{animation:motion-fade-up .5s cubic-bezier(.22,1,.36,1) both}.logo-square{transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s}.logo-square:hover{transform:scale(1.05)rotate(-2deg)}.data-table tbody tr{transition:background .18s,transform .18s}.data-table tbody tr:hover{background:#f3ebe0d9}.qr-box{transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s}.qr-box:hover{transform:scale(1.02);box-shadow:0 12px 28px #48301c1f}.page-auth-inner{animation:motion-fade-up .5s cubic-bezier(.22,1,.36,1) both}.page-app-bg-photo{animation:motion-fade-in .8s both}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}