/* Shared rhythm for catalog, diary and staff tools. */
:root{--rating-green:#467a4e;--space-field:16px}
.filters{padding:24px;margin:24px 0 32px;display:flex;flex-direction:column;gap:16px}
.filters .filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;align-items:end;margin:0}
.filters label:not(.checkbox){display:block;margin:0 0 8px}.filters .filter-row>label{margin:0}.filters .filter-row>label select{margin-top:8px}
.filters input:not([type=checkbox]),.filters select{width:100%;margin:0}.filters .checkbox{margin:0;gap:10px}
.filters .back{align-self:flex-start;margin:0}.diary-actions{gap:12px;margin:20px 0}.sale-row{gap:20px;padding:24px;margin:24px 0}.sale-row>div{min-width:0}.sale-row label{display:block;margin-bottom:8px}
select{appearance:none;padding-right:48px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234c6655' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}
.tea-grid{align-items:stretch;gap:24px}.tea-card{display:flex;flex-direction:column;padding:24px;min-width:0;height:100%}.tea-card .tea-photo-link{margin:0 0 20px;flex-shrink:0}.tea-card .tea-photo{width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff}.tea-card .tea-title h3{margin:0 0 8px}.tea-card .origin{margin:0 0 14px}.tea-card .card-description{margin:0 0 20px}.tea-card .card-bottom{margin-top:auto;padding-top:24px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.tea-card .card-bottom .availability{margin-bottom:0}.tea-card .circle-link{flex-shrink:0}.tea-card .comparable-price{margin:8px 0}.tea-card .price{white-space:nowrap}
.personal-tea{padding:14px 0;margin:0 0 8px;border-top:1px solid var(--line)}.personal-rating,.community-score{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 10px}.rating-label{font-size:12px;color:var(--muted);font-weight:600}.rating-empty{font-size:12px;color:var(--muted)}.rating-display{display:inline-flex;line-height:1}.star-track{position:relative;display:inline-block;font-family:Arial,sans-serif;font-size:24px;letter-spacing:2px;color:#dce5d7;white-space:nowrap;line-height:1.2}.star-fill{position:absolute;left:0;top:0;overflow:hidden;color:var(--rating-green)}.community-score .star-track{font-size:18px}.selected-marks{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.selected-marks:empty{display:none}.mark-chip{display:inline-flex;align-items:center;padding:7px 10px;border-radius:9px;background:#e1ecd9;color:#2c5636;font-size:12px;font-weight:600}.card-mark-details summary{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:var(--card);font-size:13px;color:var(--ink);cursor:pointer;list-style:none}.card-mark-details summary::after{content:'+';font-size:18px}.card-mark-details[open] summary::after{content:'−'}.card-mark-details summary::-webkit-details-marker{display:none}.inline-marks{gap:8px;padding-top:12px}.inline-marks button{min-height:40px;border-radius:9px;padding:8px 12px}.inline-marks button[aria-pressed=true]{background:#467a4e;color:white;border-color:#467a4e}.inline-marks .marks-help{font-size:11px;line-height:1.5}.rating-stars button,.rating-star{--gold:var(--rating-green)}[data-star]{background-image:linear-gradient(90deg,var(--rating-green) var(--star-fill),#dce5d7 var(--star-fill))!important}
.price-hint{background:var(--soft);padding:12px 14px;border-radius:10px;margin:10px 0;line-height:1.6;font-size:13px;color:var(--ink)}.line-live-total{font-weight:600}.cart-row{padding:24px 0}.cart-row h2{margin-top:0}.quantity-control{max-width:320px;gap:8px}.quick-weights{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.catalog-editor>p{margin:0 0 24px}.catalog-editor label{display:block;margin-bottom:8px}.catalog-editor .helptext{display:block;margin-top:8px;font-size:13px;line-height:1.6;color:var(--muted)}[hidden]{display:none!important}
.button,button,.circle-link,.card-mark-details summary{transition:background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease}.button:active,button:active{transform:translateY(1px)}.tea-card{transition:box-shadow 180ms ease}.tea-card:hover{box-shadow:0 6px 24px #203e3209}:is(button,a,input,select,summary):focus-visible{outline:3px solid #638c59;outline-offset:3px}.mark-status{color:#32613b}.filters[aria-busy=true]{opacity:.75;transition:opacity 160ms}
@media(max-width:620px){.filters,.sale-row,.tea-card{padding:18px}.filters .filter-row{grid-template-columns:1fr;gap:16px}.tea-grid{gap:18px}.tea-card .card-bottom{padding-top:20px}select{background-position:right 14px center;padding-right:40px!important}.personal-rating{gap:8px}.star-track{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Stable single-row ratings and a quieter account area. */
.single-stars{display:inline-block;font:24px/1.2 Arial,sans-serif;letter-spacing:2px;white-space:nowrap;background:linear-gradient(90deg,#467a4e var(--rating-fill),#cdd8c8 var(--rating-fill));background-clip:text;-webkit-background-clip:text;color:transparent}.community-score .single-stars{font-size:18px}
.account-actions{display:flex;gap:14px;align-items:center;margin-left:auto}.profile-button{display:flex;align-items:center;gap:12px;padding:8px 14px 8px 8px;border:1px solid var(--line);border-radius:16px;background:var(--card);min-height:56px;max-width:300px}.profile-button small{display:block;font-size:10px;color:var(--muted);letter-spacing:.5px}.profile-button strong{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.profile-avatar,.avatar-placeholder{width:40px;height:40px;min-width:40px;object-fit:cover;border-radius:50%;background:var(--soft)}.avatar-placeholder{display:inline-flex;align-items:center;justify-content:center;font:22px Georgia,serif;color:var(--ink)}.profile-avatar.large,.avatar-placeholder.large{width:96px;height:96px;min-width:96px;font-size:40px}.notification-button{position:relative;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:var(--card)}.notification-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px;border-radius:12px;background:var(--ink);color:white;font-size:10px}.profile-overview{display:flex;align-items:center;gap:24px;margin:28px 0;max-width:760px}.profile-overview p{margin-bottom:14px}.profile-editor{max-width:640px}.profile-editor>p{margin:22px 0}.profile-editor label{display:block;margin-bottom:8px}.profile-editor input:not([type=checkbox]){width:100%}.profile-editor .helptext{display:block;font-size:13px;color:var(--muted);margin-top:8px;line-height:1.6}.inbox-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}.inbox-list{max-width:820px;display:grid;gap:16px;margin:28px 0}.inbox-entry{padding:24px}.inbox-entry.unread{border-left:4px solid #467a4e}.inbox-meta{display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);margin-bottom:16px}.inbox-entry .text-link{display:inline-block;margin-top:16px}.stock-notice{background:#edf0e3;border:1px solid #cbd6bc;border-left:3px solid #6c8350;border-radius:12px;padding:16px;margin:16px 0;line-height:1.65;font-size:14px}.stock-notice p{margin:8px 0}.stock-notice strong{display:block}.stock-notice .text-link{font-size:13px}
.tea-card{padding:20px}.tea-card .tea-photo{height:auto;aspect-ratio:4/3}.tea-card .tea-photo-link{margin-bottom:16px}.tea-card .card-description{font-size:14px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:16px}.tea-card .personal-tea{padding:12px 0 0;border-top:1px solid var(--line)}.tea-card .card-bottom{padding-top:16px}.tea-card .comparable-price{min-height:20px;margin:6px 0}.personal-rating{gap:8px}.card-mark-details summary{background:transparent}.filters{padding:20px;gap:12px}.filters .filter-row{gap:16px}.topline{min-height:96px;height:auto;padding-top:16px;padding-bottom:16px}
@media(max-width:800px){.navigation{grid-template-columns:repeat(4,minmax(0,1fr))}.navigation:has(.admin-nav){grid-template-columns:repeat(5,minmax(0,1fr))}.topline{min-height:82px;gap:12px}.profile-button{padding:5px;min-height:44px;border-radius:50%;max-width:none}.profile-button>span:last-child{display:none}.profile-avatar,.avatar-placeholder{width:34px;height:34px;min-width:34px}.account-actions{gap:10px}.notification-button{width:40px;height:40px}.profile-overview{gap:16px;align-items:flex-start}.profile-avatar.large,.avatar-placeholder.large{width:72px;height:72px;min-width:72px}.profile-overview .button{padding:10px 14px}.inbox-entry{padding:18px}}
.topline .profile-button{padding:8px 14px 8px 8px}.topline .notification-button{padding:0}
@media(max-width:800px){.topline .profile-button{padding:4px;width:44px;height:44px;min-height:44px;flex-shrink:0;justify-content:center}.topline .notification-button{width:40px;height:40px;flex-shrink:0}}
/* Compact controls retain a generous clickable label on touch screens. */
input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;padding:0!important;vertical-align:middle;accent-color:var(--ink)}
.profile-editor p:has(input[type=checkbox]),.catalog-editor p:has(input[type=checkbox]){display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-height:44px}.profile-editor p:has(input[type=checkbox]) label,.catalog-editor p:has(input[type=checkbox]) label{margin:0;cursor:pointer}.catalog-editor p:has(input[type=checkbox]) .helptext{flex-basis:100%;margin:0}
.availability-filters{display:flex;gap:12px 28px;align-items:center;flex-wrap:wrap}.availability-filters .checkbox{min-height:44px;margin:0}
.order-search-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:start}.order-search-row>div:first-child{grid-column:span 2}.order-search-row>div:nth-child(2){grid-column:span 2}.order-search-row>div{min-width:0}.filters .order-search-row label{display:block;margin-bottom:8px}.filters>button[type=submit]{align-self:flex-start}
.customer-picker{position:relative;min-width:0}.customer-picker input{width:100%;padding-right:44px!important}.customer-clear{position:absolute;right:3px;top:3px;width:38px;height:38px;min-height:38px;border:0;background:transparent;color:var(--muted);font-size:22px}.customer-options{position:absolute;z-index:15;left:0;right:0;top:48px;max-height:min(300px,40dvh);overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:0 12px 30px #203e3218;padding:6px}.customer-options button{display:block;width:100%;min-height:48px;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:8px;white-space:normal;overflow-wrap:anywhere}.customer-options button:hover,.customer-options button.selected{background:var(--soft)}.customer-options small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.picker-status{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:6px;overflow-wrap:anywhere}.client-list-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:16px 0;padding:24px}.client-list-row>div{min-width:0}.client-list-row h3{font-size:24px;overflow-wrap:anywhere}.client-list-row p{margin:8px 0;overflow-wrap:anywhere}.client-list-stats{display:flex;gap:18px;flex-shrink:0;font-size:12px;color:var(--muted)}.client-list-stats strong{display:block;color:var(--ink);font-size:22px}.client-note-preview{font-size:14px;color:var(--ink)}.client-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:24px 0}.client-stat-grid a{background:var(--soft);padding:16px;border-radius:12px;font-size:13px}.client-stat-grid strong{display:block;font:30px Georgia,serif;margin-bottom:8px}.client-note-form{max-width:820px;margin:24px 0}.client-note-form textarea{width:100%;resize:vertical;min-height:130px;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit;background:var(--card);color:var(--ink)}.client-note-form label{display:block;margin-bottom:8px}.client-note-form .helptext{display:block;font-size:13px;color:var(--muted);margin-top:8px}.diary-actions{gap:12px;row-gap:12px}
@media(max-width:800px){.order-search-row{grid-template-columns:repeat(2,minmax(0,1fr))}.order-search-row>div:first-child,.order-search-row>div:nth-child(2){grid-column:1/-1}.client-list-row{align-items:flex-start;flex-direction:column;gap:16px;padding:18px}.client-list-stats{width:100%;justify-content:space-between;gap:12px}.client-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-stat-grid a:first-child{grid-column:1/-1}.customer-picker input{font-size:16px}.customer-clear{width:44px;height:44px;top:0;right:0}.availability-filters{gap:4px 20px}.availability-filters .checkbox{font-size:13px}.diary-actions>.button{min-height:44px}.workspace{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.navigation{padding-bottom:env(safe-area-inset-bottom,0px)}}
@media(max-width:360px){.order-search-row{grid-template-columns:1fr}.client-list-stats{flex-wrap:wrap}}
.profile-editor p:has(input[type=checkbox]) label,.catalog-editor p:has(input[type=checkbox]) label{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:800px){input:not([type=checkbox]):not([type=hidden]),select,textarea{font-size:16px}}
.customer-picker input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}

/* Receiving stock: stable rows, clear quantities, touch-friendly confirmation. */
.warehouse-table {margin-block:24px;}
.warehouse-table table {width:100%;border-collapse:collapse;font-size:14px;}
.warehouse-table th,.warehouse-table td {padding:18px 12px;text-align:left;border-bottom:1px solid var(--line,#dddcd3);vertical-align:middle;}
.warehouse-table thead th {font-weight:600;color:var(--muted,#696f63);white-space:nowrap;}
.warehouse-table tbody th {min-width:150px;max-width:250px;}
.warehouse-table small {display:block;font-weight:400;color:var(--muted,#696f63);margin-top:6px;}
.warehouse-table [data-balance] {font-variant-numeric:tabular-nums;white-space:nowrap;}
.receipt-input {display:flex;gap:8px;align-items:center;}
.receipt-input input {width:125px;min-width:0;margin:0;}
.receipt-input .button {margin:0;min-height:44px;padding:10px 14px;}
.receipt-status {font-size:13px;margin:6px 0 0;max-width:280px;}
.receipt-status:empty {display:none;}
.stock-edit {display:inline-flex;padding:10px 0;min-height:44px;align-items:center;}
.receipt-dialog {width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);box-sizing:border-box;padding:28px;border:1px solid #d5d8cc;border-radius:20px;background:#faf9f4;color:#29372b;box-shadow:0 20px 80px #17261933;}
.receipt-dialog::backdrop {background:#17261966;}
.receipt-dialog h2 {margin-top:0;}
.receipt-dialog [role=alert]:empty {display:none;}
.receipt-dialog [role=alert] {color:#974727;}
.warehouse-table tr[hidden] {display:none!important;}
@media(max-width:1100px) {
 .warehouse-table table,.warehouse-table tbody {display:block;}
 .warehouse-table thead {display:none;}
 .warehouse-table tr {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px;margin-bottom:16px;border:1px solid #dedfd5;border-radius:16px;background:#fffef9;}
 .warehouse-table th,.warehouse-table td {padding:0;border:0;min-width:0;max-width:none;}
 .warehouse-table tbody th {grid-column:1/-1;min-width:0;max-width:none;}
 .warehouse-table td[data-label]::before {content:attr(data-label);display:block;color:#697061;font-size:12px;margin-bottom:6px;}
 .warehouse-table .receipt-cell,.warehouse-table td:last-child {grid-column:1/-1;}
 .receipt-input input {flex:1;width:auto;}
 .receipt-cell {margin-top:4px;}
 .receipt-status {max-width:none;}
}

.warehouse-table .sr-only {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
.filters .checkline {display:flex;flex-direction:row;align-items:center;gap:10px;margin-top:14px;}
.filters .checkline input[type=checkbox] {width:18px;height:18px;margin:0;flex:0 0 18px;}
