.client-page{min-height:100svh;display:flex;flex-direction:column;align-items:center;padding:var(--space-6);padding-bottom:var(--client-notice-reserve)}.client-tabs{width:100%;max-width:var(--mobile-content-width)}.client-tabs .MuiTab-root{min-height:var(--control-height-touch);padding:var(--space-3) var(--space-2);text-transform:none;font:inherit;font-size:var(--font-size-body-m);color:var(--color-text-muted)}.client-tabs .MuiTab-root.Mui-selected{color:var(--color-primary)}.client-tabs .MuiTabs-indicator{background:var(--color-primary)}.client-panel{width:100%;flex:1;display:grid;place-items:center;padding-top:var(--space-8)}.client-panel[hidden]{display:none}.client-statistics{width:100%;max-width:var(--mobile-content-width);margin:0;display:grid;gap:var(--space-6)}.client-statistics>div{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6)}.client-statistics dd{margin:var(--space-2) 0 0;color:var(--color-primary)}.client-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-8);width:100%}.client-qr{width:min(100%,var(--client-qr-size));height:auto;background:var(--color-surface);border-radius:var(--radius-lg)}.client-cups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3);color:var(--color-border)}.client-cup{width:var(--coffee-cup-size);height:var(--coffee-cup-size);stroke-width:1.5}.client-cup.filled{color:var(--color-paw-filled);fill:var(--color-paw-filled)}.client-cup:nth-child(n+6){transform:translate(calc(50% + var(--space-3) / 2))}.client-connection-notice{position:fixed;bottom:0;left:0;right:0;padding:var(--space-4) var(--space-6) max(var(--space-4),env(safe-area-inset-bottom));background:var(--color-notice);border-top:var(--border-thin) solid var(--color-border);text-align:center}@media(max-width:360px){.client-cups{gap:var(--space-2)}.client-cup{width:var(--space-10);height:var(--space-10)}.client-cup:nth-child(n+6){transform:translate(calc(50% + var(--space-2) / 2))}}.client-page{height:100dvh;min-height:0;padding:var(--layout-gap);padding-bottom:max(var(--layout-gap),env(safe-area-inset-bottom));gap:var(--layout-gap)}.client-tabs{flex-shrink:0}.client-panel{min-height:0;padding-top:0;container-type:size}.client-card{height:100%;justify-content:center;gap:var(--layout-gap)}.client-qr{width:min(100%,var(--client-qr-size),calc(100cqh - 2 * var(--coffee-cup-size) - var(--space-3) - var(--layout-gap)));max-height:100%}.client-cups{max-width:100%;flex-shrink:0}.client-cup{max-width:100%;min-width:0;height:auto;flex-shrink:1}.client-connection-notice{position:static;flex-shrink:0;width:100%;padding:var(--space-3);border-radius:var(--radius-md)}.client-statistics{gap:var(--layout-gap)}.client-statistics>div{padding:var(--layout-gap)}.client-header{width:100%;max-width:var(--content-width);flex-shrink:0}.client-tabs{padding:var(--space-1);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-subtle)}.client-tabs .MuiTab-root{border-radius:var(--radius-md)}.client-tabs .MuiTab-root.Mui-selected{background:var(--color-primary);color:var(--color-on-primary)}.client-tabs .MuiTabs-indicator{display:none}.client-card{height:auto;max-height:100%;max-width:var(--mobile-content-width);padding:var(--layout-gap);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-card)}.client-card-title{margin:0;color:var(--color-primary);text-align:center;flex-shrink:0}.client-qr{border-radius:var(--radius-md);background:var(--color-qr-background);width:min(100%,var(--client-qr-size),calc(100cqh - 2 * var(--coffee-cup-size) - var(--space-3) - var(--loyalty-caption-height) - 6 * var(--layout-gap)))}.client-cups{color:var(--color-paw-empty)}.client-card-caption{text-align:center;flex-shrink:0}.client-card-caption p{margin:0}.client-card-caption p+p{margin-top:var(--space-1)}.client-statistics>div{border:var(--border-thin) solid var(--color-border)}@media(max-height:600px){.client-card-title,.client-card-help{display:none}}@media(max-height:450px)and (min-width:500px){.client-header{display:none}.client-card{display:grid;grid-template-columns:auto minmax(0,1fr);max-width:var(--notice-width)}.client-qr{grid-row:1 / 3;width:min(var(--client-qr-size),calc(100cqh - 2 * var(--layout-gap)))}.client-cups{max-width:100%}.client-statistics{grid-template-columns:1fr 1fr;max-width:var(--notice-width)}}:root{--color-background: #f7f1e8;--color-surface: #fffcf7;--color-surface-subtle: #f0e7db;--color-input: #fffdfa;--color-text: #14120f;--color-text-muted: #716357;--color-text-subtle: #7b6b5e;--color-placeholder: #8b7d70;--color-border: #d8cabb;--color-primary: #50331e;--color-primary-hover: #3b2516;--color-on-primary: #ffffff;--color-story: #50331e;--color-on-story: #f7f1e8;--color-story-muted: #d8cabb;--color-story-accent: #e8c7a1;--color-story-divider: #ffffff20;--color-focus: #94632f;--color-input-focus: #50331e;--color-notice: #fffcf7;--color-notice-button: #f0e7db;--color-paw-filled: #14120f;--color-paw-empty: #978779;--color-table-hover: #f8f0e4;--color-qr-background: #ffffff;--color-qr-foreground: #000000;--color-disabled: #e6ded4;--color-error-background: #fff1ed;--color-error-border: #edc9bf;--color-error-text: #923f2c;--color-art-ring: #ffffff0e;--color-art-ring-dashed: #ffffff0b;--color-cup-light: #fffcf1;--color-cup-base: #e9e5d8;--color-cup-shade: #dedacc;--color-cup-rim: #efecdf;--color-cup-handle: #e8e3d5;--color-coffee: #5c3c26;--color-saucer: #d8d8c7;--color-steam: #d8dfcb30;--space-half: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 20px;--radius-round: 50%;--radius-cup: 49px;--border-thin: 1px;--border-strong: 2px;--focus-width: 3px;--font-body: Arial, Helvetica, sans-serif;--font-heading: Georgia, "Times New Roman", serif;--font-size-body-s: .6875rem;--font-size-body-m: .8125rem;--font-size-body-l: 1rem;--font-size-header-s: 1.5rem;--font-size-header-m: 1.8125rem;--font-size-header-l: 2.6875rem;--font-weight-regular: 400;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-body: 1.6;--line-height-heading: 1.2;--letter-spacing-body: normal;--letter-spacing-heading: -.025em;--letter-spacing-overline: .18em;--page-width: 1440px;--content-width: 1120px;--mobile-content-width: 460px;--notice-width: 800px;--scanner-button-size: 208px;--coffee-cup-size: 48px;--dialog-width: 460px;--color-overlay: #24180f80;--control-height: 46px;--control-height-touch: 48px;--shadow-card: 0 12px 48px #50331e0c;--shadow-tab: 0 2px 5px #0000000d;--shadow-notice: 0 6px 35px #50331e12;--shadow-pinned: -6px 0 12px -8px #50331e60;--brand-size: 56px;--brand-size-compact: 44px;--control-icon-size: 44px;--table-row-height: 56px;--loyalty-caption-height: 72px;--history-date-range-width: 360px;--shadow-cup: 9px 15px 20px #10241f40;--shadow-saucer: 0 16px 20px #10241f4d;--opacity-disabled: .65;--opacity-art: .85;--duration-fast: .15s;--duration-spin: 1s}@media(max-width:1000px){:root{--font-size-header-l: 2.25rem;--font-size-header-m: 1.625rem}}@media(max-width:700px){:root{--font-size-header-s: 1.375rem;--font-size-header-m: 1.6875rem;--font-size-header-l: 1.875rem}}:root{--client-qr-size: 288px;--client-notice-reserve: 120px}:root{--layout-header-height: clamp(64px, 12dvh, 112px);--layout-gap: clamp(var(--space-2), 2dvh, var(--space-6))}.body-s,.body-m,.body-l{font-family:var(--font-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body)}.body-s{font-size:var(--font-size-body-s)}.body-m{font-size:var(--font-size-body-m)}.body-l{font-size:var(--font-size-body-l)}body .material-table .MuiTableCell-root,body .material-table .MuiTablePagination-root,body .material-table .MuiTablePagination-selectLabel,body .material-table .MuiTablePagination-displayedRows,body .material-table .MuiTablePagination-select,body .material-table .MuiTypography-root,body .material-table .MuiInputBase-root,body .MuiMenuItem-root,body .material-table .MuiInputLabel-root,body .material-table-dialog .MuiInputBase-root,body .material-table-dialog .MuiFormLabel-root,body .material-table-dialog .MuiButton-root,body .material-table-dialog .MuiFormHelperText-root{font-family:var(--font-body);font-size:var(--font-size-body-m);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body)}body .material-table .MuiTableCell-head{font-weight:var(--font-weight-semibold)}.header-s,.header-m,.header-l{font-family:var(--font-heading);font-weight:var(--font-weight-regular);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading)}.header-s{font-family:var(--font-body);font-size:var(--font-size-header-s);font-weight:var(--font-weight-bold)}.header-m{font-size:var(--font-size-header-m)}.header-l{font-size:var(--font-size-header-l)}.text-semibold{font-weight:var(--font-weight-semibold)}.text-bold{font-weight:var(--font-weight-bold)}.text-overline{font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-overline);text-transform:uppercase}.admin-page{max-width:var(--page-width);min-height:100dvh;margin:0 auto;padding:0 var(--space-10) var(--space-8)}.user-details-page{max-width:var(--notice-width)}.user-details-panel{padding-top:var(--space-6)}.coffee-progress-row{display:flex;align-items:center;gap:var(--space-3)}.coffee-cups{display:grid;grid-template-columns:repeat(5,minmax(0,var(--coffee-cup-size)));flex:1;min-width:0;gap:var(--space-2)}.coffee-cup{width:100%;max-width:var(--coffee-cup-size);height:auto;min-width:0;color:var(--color-paw-empty);stroke-width:1.5;flex-shrink:1}.coffee-cup.filled{color:var(--color-paw-filled);fill:var(--color-paw-filled)}.coffee-cup:nth-child(n+6){transform:translate(calc(50% + var(--space-2) / 2))}.coffee-remove.MuiIconButton-root{width:var(--control-height-touch);height:var(--control-height-touch);color:var(--color-primary)}.coffee-remove.Mui-disabled{opacity:var(--opacity-disabled);color:var(--color-text-muted)}.coffee-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.coffee-actions>button{flex:1}.coffee-history{margin-top:var(--space-8)}.user-details-link{color:var(--color-primary);text-underline-offset:var(--space-1);display:inline-flex;align-items:center;min-height:var(--control-height-touch)}.user-details-link:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--space-half)}.user-details-card{padding:var(--space-6);background:var(--color-surface);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg)}.user-details-fields{display:grid;gap:var(--space-6);margin:0}.user-details-fields dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere}.admin-header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.admin-page-table{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.admin-page-table>.admin-header,.admin-page-table>.admin-tabs{flex-shrink:0}.admin-page-table>main,.admin-page-table #users-panel,.admin-page-table .users-module{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.admin-page-table .users-title{flex-shrink:0}.admin-page-table .material-table{flex:1;min-height:0}.admin-page-table .material-table>.MuiPaper-root{height:100%;display:flex;flex-direction:column}.admin-page-table .MuiTableContainer-root{flex:1;min-height:0;overscroll-behavior:contain}.admin-page-table .material-table>.MuiPaper-root>.MuiBox-root{flex-shrink:0}.admin-session{display:flex;align-items:center;gap:var(--space-4)}.admin-tabs{display:flex;border-bottom:var(--border-thin) solid var(--color-border);gap:var(--space-6);overflow-x:auto}.admin-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-1);border:0;border-bottom:var(--border-strong) solid transparent;background:transparent;color:var(--color-text-muted);white-space:nowrap}.admin-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.scan-panel{min-height:calc(100dvh - 200px);display:grid;place-items:center}.scan-button{width:var(--scanner-button-size);aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);border:0;border-radius:var(--radius-round);color:var(--color-on-primary);background:var(--color-primary);box-shadow:var(--shadow-card)}.scan-button:hover{background:var(--color-primary-hover)}.admin-page .button-fit{width:auto;padding:0 var(--space-4)}.muted-text{color:var(--color-text-muted)}.users-module{padding-top:var(--space-8)}.users-title{margin:0 0 var(--space-6)}.material-table .MuiButtonBase-root,.material-table-dialog .MuiButtonBase-root{color:var(--color-primary)}.material-table-dialog .MuiButton-contained{background:var(--color-primary);color:var(--color-on-primary)}.material-table-dialog .MuiPaper-root{background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-lg)}.material-table-dialog .MuiDialogContent-root{padding:var(--space-6)}.material-table-dialog .MuiDialogActions-root{padding:var(--space-4) var(--space-6)}.table-editor-fields fieldset{display:flex;flex-direction:column;gap:var(--space-5)}.table-editor-fields fieldset>.field{margin:0}.table-editor-fields .MuiFormControl-root{width:100%}.material-table .MuiInputLabel-root.Mui-focused,.material-table-dialog .MuiInputLabel-root.Mui-focused{color:var(--color-primary)}.material-table .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline,.material-table-dialog .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--color-primary)}.select{width:100%;min-height:var(--control-height);padding:0 var(--space-3);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-input)}.select:focus-visible{outline:var(--border-strong) solid var(--color-input-focus);outline-offset:var(--space-half)}.select:disabled{opacity:var(--opacity-disabled)}.row-actions{display:flex;gap:var(--space-2)}.icon-button{width:36px;height:36px;padding:var(--space-2);display:inline-grid;place-items:center;background:transparent;border:0;border-radius:var(--radius-md);color:var(--color-primary)}.icon-button:hover{background:var(--color-surface-subtle)}.danger-text{color:var(--color-error-text)}.primary.danger-button,.primary.danger-button:hover{background:var(--color-error-text)}.role-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-surface-subtle);white-space:nowrap}.role-admin{color:var(--color-primary);background:var(--color-story-accent)}.role-filter .remember{margin:0;min-height:var(--control-icon-size);gap:var(--space-2);white-space:nowrap}.coffee-history-toolbar>.MuiBox-root:not(.Mui-ToolbarDropZone){position:relative;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.history-date-filter{display:flex;flex:1;gap:var(--space-3);min-width:0;max-width:var(--history-date-range-width);margin-left:auto}.history-date-filter .MuiFormControl-root{min-width:0}.history-payment-filter{display:flex;gap:var(--space-3);flex-shrink:0}@media(max-width:700px){.history-date-filter{flex-basis:100%;max-width:none}.coffee-history-toolbar>.MuiBox-root:not(.Mui-ToolbarDropZone)>.MuiBox-root{margin-left:auto}}.material-table{border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.material-table .MuiPaper-root{background:var(--color-surface);color:var(--color-text);border-radius:0}.material-table .MuiTableCell-root{color:var(--color-text);border-color:var(--color-border)}.material-table .MuiTableCell-head{background:var(--color-surface-subtle)}.material-table>.MuiPaper-root>.MuiBox-root{background:var(--color-surface)}body .material-table .MuiTableCell-body{height:var(--table-row-height);background:var(--color-surface)}body .material-table .MuiTableRow-root:hover>.MuiTableCell-body{background:var(--color-table-hover)}body .material-table .MuiTableCell-root[data-pinned=true]{box-shadow:var(--shadow-pinned)}body .material-table .MuiIconButton-root{width:var(--control-icon-size);height:var(--control-icon-size)}body .material-table .table-add-user{border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-on-primary)}body .material-table .table-add-user:hover{background:var(--color-primary-hover)}.material-table .MuiOutlinedInput-root,.material-table-dialog .MuiOutlinedInput-root{background:var(--color-input)}.material-table .row-actions{gap:var(--space-1)}.user-clickable-row{cursor:pointer}.user-row-link{text-decoration:none}.user-clickable-row:hover .user-row-link,.user-row-link:focus-visible{text-decoration:underline;text-underline-offset:var(--space-1)}.coffee-kind{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-subtle);white-space:nowrap}.coffee-kind-gift{background:var(--color-story-accent);color:var(--color-primary)}.coffee-kind-deleted{flex-direction:column;align-items:flex-start;gap:0}.coffee-deleted-label{white-space:nowrap}.material-table .MuiTableCell-root[data-pinned=true]{opacity:1;background:var(--color-surface)}.material-table .MuiTableCell-head[data-pinned=true]{background:var(--color-surface-subtle)}.material-table .MuiTableCell-root[data-pinned=true]:before{background:inherit}.material-table .MuiTableSortLabel-root.Mui-active,.material-table .MuiTableSortLabel-icon{color:var(--color-primary)}.material-table .MuiLinearProgress-root{background:var(--color-surface-subtle)}.material-table .MuiLinearProgress-bar{background:var(--color-primary)}.dialog{width:min(var(--dialog-width),calc(100% - var(--space-8)));max-height:calc(100dvh - var(--space-8));overflow-y:auto;padding:var(--space-7);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-card)}.dialog::backdrop{background:var(--color-overlay)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-6)}.dialog-header h2{margin:0}.dialog-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6)}body:has(dialog[open]){overflow:hidden}@media(max-width:700px){.admin-page{padding:0 var(--space-5) var(--space-6)}.admin-header{min-height:90px}.admin-session>span{display:none}.admin-tabs{gap:var(--space-5)}.material-table .MuiTableCell-root{padding-left:var(--space-2);padding-right:var(--space-2)}.users-table-toolbar>.MuiBox-root>span:empty{display:none}.users-table-toolbar>.MuiBox-root>.MuiBox-root{flex:1;min-width:0;flex-wrap:nowrap;gap:var(--space-2)}.users-table-toolbar .MuiCollapse-root{flex:1;min-width:0}.users-table-toolbar .MuiCollapse-wrapper,.users-table-toolbar .MuiCollapse-wrapperInner,.users-table-toolbar .MuiTextField-root{width:100%}.users-table-toolbar .MuiCollapse-root+.MuiBox-root{flex-shrink:0}.material-table .row-actions{gap:var(--space-1)}.material-table .row-actions .MuiIconButton-root{width:var(--control-icon-size);height:var(--control-icon-size);padding:var(--space-2)}.dialog{padding:var(--space-5)}}.admin-page{height:100dvh;min-height:0;display:flex;flex-direction:column;padding-bottom:max(var(--space-2),env(safe-area-inset-bottom))}.admin-header{min-height:var(--layout-header-height);flex-shrink:0}.admin-tabs{flex-shrink:0}.admin-page>main{flex:1;min-height:0}.admin-page>main>#scan-panel{height:100%}.scan-panel{height:100%;min-height:0;padding:var(--space-3) 0}.scan-button{width:min(var(--scanner-button-size),65dvh);max-height:100%}.users-module{padding-top:var(--layout-gap)}.users-title{margin-bottom:var(--layout-gap)}.users-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;flex-shrink:0;gap:var(--space-3);margin-bottom:var(--layout-gap)}.users-heading .users-title{margin:0}.users-role-filter{display:flex;gap:var(--space-3);margin-left:auto;flex-shrink:0}.users-role-filter .remember:has(input:disabled){cursor:default}.user-details-page{display:flex;flex-direction:column;width:100%}.user-details-page>h1{margin:var(--space-2) 0}.user-details-page>[role=tabpanel]:not([hidden]){display:flex;flex-direction:column;flex:1;min-height:0}.user-details-panel{padding-top:var(--layout-gap);min-height:0}#user-bonus-panel{overflow-y:auto}.user-info-accordion.MuiAccordion-root{flex-shrink:0;margin:0;border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.user-info-accordion.MuiAccordion-root:before{display:none}.user-info-accordion .MuiAccordionSummary-root{min-height:var(--control-height-touch);padding-inline:var(--space-4)}.user-info-accordion .MuiAccordionSummary-content{margin-block:var(--space-3)}.user-info-accordion .MuiAccordionDetails-root{padding:0 var(--space-4) var(--space-4)}.user-info-accordion .user-details-card{padding:0;border:0;background:transparent}.user-details-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.user-details-fields dd{font-size:var(--font-size-body-m)}.coffee-history{display:flex;flex-direction:column;flex:1;min-height:0;margin-top:var(--space-2)}.coffee-history h2{margin:var(--space-2) 0;flex-shrink:0}.coffee-history-heading{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-4);flex-shrink:0}.coffee-history .coffee-history-deleted>.MuiTableCell-root,.coffee-history .coffee-history-deleted:hover>.MuiTableCell-root{background-color:var(--color-error-background);color:var(--color-error-text)}.coffee-history-deleted .coffee-kind{color:inherit}.coffee-history .material-table{flex:1;min-height:0}.coffee-history .material-table>.MuiPaper-root{height:100%;display:flex;flex-direction:column}.coffee-history .MuiTableContainer-root{flex:1;min-height:0;overscroll-behavior:contain}.coffee-history .material-table>.MuiPaper-root>.MuiBox-root{flex-shrink:0}@media(max-height:600px){.admin-tab{padding-top:var(--space-2);padding-bottom:var(--space-2);min-height:var(--control-height-touch)}.coffee-actions{margin-top:var(--space-3)}.user-details-card{padding:var(--space-3)}.user-details-fields{gap:var(--space-2)}}@media(max-width:700px){.user-details-fields{grid-template-columns:1fr 1fr}.user-details-fields>:last-child{grid-column:1 / -1;display:flex;gap:var(--space-2);align-items:baseline}}@media(max-height:600px){.admin-page:has(.user-details-page)>.admin-header{display:none}.user-details-page>.user-details-link{min-height:var(--control-height-touch)}.user-details-page>h1{font-size:var(--font-size-header-s);margin:0}.user-details-page:has(#user-info-panel:not([hidden]))>h1{display:none}#user-info-panel .user-details-fields{display:flex;flex-wrap:wrap}#user-info-panel .user-details-fields>div{flex:1}#user-info-panel .user-details-fields>:last-child{display:block}}@media(max-width:700px){.user-details-page:has(#user-info-panel:not([hidden]))>h1{display:none}}@media(max-height:500px)and (min-width:600px){#user-info-panel:not([hidden]){display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:var(--space-3)}#user-info-panel>.user-info-accordion{align-self:start}#user-info-panel .user-details-fields{display:grid;grid-template-columns:1fr}#user-info-panel .coffee-history{height:100%;margin:0}}:root{font-family:var(--font-body);color:var(--color-text);background:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:var(--opacity-disabled)}button:focus-visible,a:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--space-1)}input:focus-visible{outline:var(--border-strong) solid var(--color-input-focus);outline-offset:var(--space-half)}a{color:inherit}.page{max-width:var(--page-width);margin:auto;padding:0 var(--space-16)}.header{height:112px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none}.brand img{width:var(--brand-size);height:var(--brand-size);border-radius:var(--radius-round);flex-shrink:0}.brand-small{display:block;margin-top:var(--space-1)}.header-note{color:var(--color-text-muted)}.main{display:grid;min-height:0;max-width:var(--content-width);margin:var(--space-4) auto var(--space-8);background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-card)}.auth-card{padding:var(--space-10) var(--space-12);display:flex;flex-direction:column;justify-content:center}.tabs{display:flex;background:var(--color-surface-subtle);border-radius:var(--radius-md);padding:var(--space-1);gap:var(--space-1);margin-bottom:var(--space-8)}.tabs button{flex:1;border:0;background:transparent;color:var(--color-text-muted);padding:var(--space-3) var(--space-2);border-radius:var(--radius-sm)}.tabs .active{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-tab)}.form-eyebrow{color:var(--color-text-subtle)}.form-title{margin:var(--space-3) 0}.subheading{color:var(--color-text-muted);margin:0 0 var(--space-7)}fieldset{margin:0;padding:0;border:0;min-width:0}.field{margin-bottom:var(--space-5)}.field label{display:block;margin-bottom:var(--space-2)}.field input{width:100%;height:var(--control-height);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-input);padding:0 var(--space-3);color:var(--color-text);min-width:0;transition:border-color var(--duration-fast)}.field input::placeholder{color:var(--color-placeholder)}.field input:autofill{-webkit-text-fill-color:var(--color-text);box-shadow:0 0 0 var(--space-16) var(--color-input) inset}.field small{display:block;color:var(--color-text-subtle);margin-top:var(--space-1-5)}.password-wrap{position:relative}.password-wrap input{padding-right:var(--space-12)}.eye{position:absolute;right:var(--space-1);top:var(--space-1);height:37px;width:38px;display:grid;place-items:center;border:0;background:none;color:var(--color-text-subtle);border-radius:var(--radius-sm)}.remember{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-6) 0;cursor:pointer}.remember input{width:16px;height:16px;accent-color:var(--color-primary);margin:0}.remember-days{margin-left:auto;color:var(--color-text-subtle)}.primary,.secondary{display:flex;justify-content:center;align-items:center;gap:var(--space-3);min-height:var(--control-height);width:100%;border:0;border-radius:var(--radius-md)}.primary{background:var(--color-primary);color:var(--color-on-primary);transition:background var(--duration-fast)}.primary:hover{background:var(--color-primary-hover)}.primary svg:last-child{margin-left:var(--space-1)}.secondary{border:var(--border-thin) solid var(--color-border);color:var(--color-primary);background:var(--color-surface)}.privacy{display:flex;gap:var(--space-1-5);align-items:center;justify-content:center;color:var(--color-text-subtle);margin:var(--space-5) 0 0}.privacy svg{flex-shrink:0}.footer{display:flex;justify-content:space-between;max-width:var(--content-width);margin:0 auto;color:var(--color-text-subtle);padding-bottom:var(--space-8)}.cookie-notice{position:fixed;bottom:var(--space-5);left:50%;transform:translate(-50%);width:min(var(--notice-width),calc(100% - var(--space-8)));background:var(--color-notice);border:var(--border-thin) solid var(--color-border);box-shadow:var(--shadow-notice);z-index:10;border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);display:flex;align-items:center;gap:var(--space-4)}.cookie-notice>svg{color:var(--color-primary);flex-shrink:0}.cookie-notice p{color:var(--color-text-muted);margin:var(--space-1) 0 0}.cookie-ok{border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-md);background:var(--color-notice-button);color:var(--color-primary);padding:var(--space-3) var(--space-4);flex-shrink:0}.error{background:var(--color-error-background);border:var(--border-thin) solid var(--color-error-border);color:var(--color-error-text);padding:var(--space-3);border-radius:var(--radius-md);margin:var(--space-4) 0;outline:none}.state{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-2)}.state h2{margin:var(--space-3) 0}.state p{color:var(--color-text-muted)}.state>.primary{margin-top:var(--space-3)}.spin{animation:spin var(--duration-spin) linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1500px){.header{height:140px}.main{margin-top:var(--space-7)}}@media(max-width:1000px){.page{padding:0 var(--space-7)}.auth-card{padding:var(--space-8)}}@media(max-width:700px){.page{padding:0 var(--space-5)}.header{height:90px}.brand img{width:var(--brand-size-compact);height:var(--brand-size-compact)}.header-note{display:none}.main{display:flex;flex-direction:column;margin:var(--space-2) auto var(--space-6);min-height:0;max-width:var(--mobile-content-width)}.auth-card{padding:var(--space-6)}.tabs{margin-bottom:var(--space-7)}.field input{height:var(--control-height-touch)}.eye{top:var(--space-1-5)}.footer{max-width:var(--mobile-content-width);padding-bottom:var(--space-8)}.cookie-notice{align-items:flex-start;padding:var(--space-3);gap:var(--space-3);bottom:var(--space-3)}.cookie-notice>svg{display:none}.cookie-ok{padding:var(--space-3);margin-top:var(--space-1)}.state{min-height:270px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.auth-alternate{margin-top:var(--space-3);min-height:var(--control-height-touch)}html,body,#root{height:100%;min-height:0}.page{height:100dvh;display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:max(var(--space-2),env(safe-area-inset-bottom))}.header{height:var(--layout-header-height);flex-shrink:0}.main{flex:1;min-height:0;width:100%;margin:0 auto}.auth-card{min-height:0;overflow-y:visible;overscroll-behavior:contain;justify-content:safe center;padding:var(--layout-gap) var(--space-8)}.footer{width:100%;flex-shrink:0;padding-bottom:0}.page .cookie-notice{position:static;transform:none;width:100%;max-width:var(--notice-width);margin:0 auto;flex-shrink:0}#root>.state{height:100dvh;min-height:0;padding:var(--layout-gap);overflow-y:auto}@media(max-height:850px){.tabs,.subheading,.field{margin-bottom:var(--space-3)}.remember{margin:var(--space-3) 0}.privacy{margin-top:var(--space-2)}.state{min-height:0}}@media(max-width:700px){.main{display:grid;grid-template-rows:auto minmax(0,1fr)}.auth-card{padding:var(--space-4) var(--space-6)}}.page .main{display:flex;align-items:safe center;justify-content:safe center;max-width:var(--mobile-content-width);background:transparent;box-shadow:none;overflow:visible}.page .auth-card{width:100%;max-height:100%;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);border:var(--border-thin) solid var(--color-border)}@media(max-width:700px){.page{gap:var(--space-1);padding-inline:var(--space-3)}.auth-card{overflow:visible;padding:var(--space-3)}.auth-card .form-eyebrow,.auth-card .privacy{display:none}.auth-card .subheading,.tabs,.field{margin-bottom:var(--space-2)}.field label{margin-bottom:var(--space-1)}.remember{margin:var(--space-2) 0;min-height:var(--control-height-touch)}.auth-alternate{margin-top:var(--space-2)}}@media(max-height:900px){.page .header{height:var(--control-height-touch)}.page .footer,.auth-card .form-eyebrow,.auth-card .privacy,.auth-card .form-title,.auth-card .subheading{display:none}.page .auth-card{overflow:visible;padding:var(--space-2) var(--space-3)}.auth-card fieldset{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--space-2)}.auth-card fieldset>*{grid-column:1 / -1}.auth-card fieldset>.field:has(.password-wrap){grid-column:auto}.auth-card fieldset>.field:has(#pin):last-of-type{grid-column:1 / -1}.auth-card .field:has(input[type=tel]) small{display:none}.auth-card .remember{margin-block:0}.auth-card .tabs{margin-bottom:var(--space-2)}.auth-card .tabs button{min-height:var(--control-height-touch);padding-block:var(--space-2)}.auth-card .field{margin-bottom:var(--space-2)}.auth-card .field label{margin-bottom:var(--space-1)}.page .cookie-notice{display:grid;grid-template-columns:1fr auto;padding:var(--space-2);gap:var(--space-1);align-items:center}.page .cookie-notice>div{display:contents}.page .cookie-notice>svg{display:none}.page .cookie-notice strong{grid-column:1;grid-row:1}.page .cookie-notice p{grid-column:1 / -1;grid-row:2;margin:0}.page .cookie-ok{grid-column:2;grid-row:1;margin:0;min-height:var(--control-height-touch);padding-block:var(--space-2)}}@media(max-height:500px)and (min-width:600px){.page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,260px);grid-template-rows:var(--control-height-touch) minmax(0,1fr);gap:var(--space-2);padding-inline:var(--space-3)}.page .header{grid-column:1;grid-row:1}.page .header-note{display:none}.page .main{grid-column:1;grid-row:2;height:100%;max-width:none}.page .cookie-notice{grid-column:2;grid-row:1 / -1;align-self:center}.page:not(:has(.cookie-notice)){grid-template-columns:1fr}.page .auth-card>div:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-2);width:100%}.auth-card .tabs{grid-column:1 / -1}.auth-card form{grid-column:1}.auth-card .auth-alternate{grid-column:2;align-self:end;margin:0}.auth-card .field small,.auth-card .remember-days{display:none}}@media(max-width:700px)and (max-height:600px){.page .header,.auth-card .field small{display:none}}.recovery-help{margin:0 0 var(--space-3);color:var(--color-text-muted)}@media(max-height:500px)and (min-width:600px){.auth-card .recovery-help{grid-column:2;grid-row:1}.auth-card .recovery-help+form{grid-row:1 / 3}}.pin-help{margin:0 0 var(--space-2);color:var(--color-text-muted)}@media(min-height:760px)and (max-height:900px){.page .auth-card .form-title{display:block;margin:var(--space-3) 0}}.page .admin-auth-card>div:not([hidden]){display:block}.admin-login-form fieldset{display:block}.admin-login-form h1{margin:0 0 var(--space-3)}@media(max-height:500px)and (min-width:600px){.auth-card .pin-help{grid-column:2;grid-row:1;align-self:start}.auth-card .pin-help+form{grid-row:1 / 3}}@media(max-width:700px)and (max-height:600px){.auth-card .client-login-form fieldset{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.auth-card .client-login-form fieldset>.field{grid-column:auto}.auth-card .client-login-form .field input{font-size:var(--font-size-body-l)}}@media(max-width:700px)and (max-height:600px){.auth-card .client-login-form fieldset>.field:has(#pin):last-of-type{grid-column:auto}}@media(max-height:500px)and (min-width:600px){.auth-card .tabs{grid-row:1}.auth-card .pin-help{grid-row:2}.auth-card .pin-help+form{grid-row:2 / 4}.auth-card .pin-help~.auth-alternate{grid-row:3}}
