:root{--forest:#284c3e;--ink:#263c35;--paper:#f7f6f2;--gold:#b29258}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,sans-serif}a{color:var(--forest)}.access{max-width:480px;margin:7vh auto;padding:20px}.brand{font:26px Georgia,serif;letter-spacing:.18em;text-decoration:none}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:#655537}.panel{background:white;border:1px solid #e3e6e1;border-radius:15px;padding:28px;margin:22px 0;box-shadow:0 8px 35px #263c3506}h1{font-size:28px;line-height:1.2;margin:0 0 16px}h2{font-size:21px}p{margin:0 0 18px}label{display:block;margin:14px 0 6px;font-weight:600}input{display:block;min-height:48px;width:100%;padding:10px 12px;border:1px solid #89978c;border-radius:8px;font:inherit}input:focus{outline:3px solid #b2925866;border-color:var(--forest)}button,.button{display:inline-block;min-height:48px;padding:11px 18px;border:0;border-radius:8px;background:var(--forest);color:white;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}form button{width:100%;margin-top:22px}.caption{font-size:13px;color:#5b685f}.alert{padding:12px;background:#fff1ef;color:#8c3026;border-radius:8px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 5%;background:white;border-bottom:1px solid #e3e6e1}.topbar button{margin:0}.secondary{background:#edf1ed;color:var(--forest)}.container{max-width:1100px;margin:36px auto;padding:0 20px}@media(max-width:480px){.access{margin:3vh auto}.panel{padding:22px}.brand{font-size:22px}.topbar{align-items:flex-start}.topbar button{font-size:14px;padding:10px}h1{font-size:25px}}

[hidden]{display:none!important}.workspace{padding:24px 18px;max-width:1700px;margin:auto}.mobile-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:white;border-bottom:1px solid #ddd}.sidebar{display:none;background:#fff;padding:24px}.menu-open .sidebar{display:block}.sidebar nav>a,.sidebar summary{display:block;padding:10px 8px;text-decoration:none;border-radius:8px}.sidebar nav details>a{display:block;padding:8px 12px 8px 24px;text-decoration:none}.sidebar nav a:hover,.sidebar summary:hover{background:#edf1ed}.account{border-top:1px solid #ddd;margin-top:20px;padding-top:20px}.page-heading{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.panel{padding:20px;min-width:0}.form-grid,.filter-grid,.metric-grid,.dashboard-grid{display:grid;gap:14px}.filter-grid{align-items:end}.field{min-width:0;margin-bottom:10px}.field label{font-size:14px;margin-top:4px}.field input,.field select,.field textarea,select,textarea{display:block;width:100%;min-height:48px;border:1px solid #89978c;border-radius:8px;padding:10px 12px;background:white;font:inherit}input[type=hidden]{display:none}input[type=checkbox],input[type=radio]{display:inline-block;width:22px;min-height:22px;height:22px;flex-shrink:0}.check{display:flex;align-items:center;gap:10px;font-weight:400}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions>*{flex:1}.muted,.caption,small{color:#58665e}.notice{background:#e4f3e8;padding:12px;border-radius:8px}.badge{background:#edf1ed;color:#284c3e;padding:7px 10px;white-space:normal}.danger{background:#932c34}.narrow{max-width:640px}.searchable{position:relative}.search-row{display:flex;gap:6px}.search-row .quick-create{width:auto;white-space:nowrap;margin:0;font-size:13px;padding:8px}.search-results{position:absolute;z-index:50;left:0;right:0;max-height:280px;overflow:auto;background:white;border:1px solid #89978c;border-radius:8px;box-shadow:0 10px 30px #0002}.search-results button{display:block;background:white;color:var(--ink);text-align:left;width:100%;margin:0;border-radius:0;font-weight:400}.search-results button:hover,.search-results button.active{background:#e6eee8}.search-message{font-size:12px}.product-item,.payment-item{border:1px solid #d8e0d9;border-radius:12px;padding:16px;margin-bottom:20px;min-width:0}legend{float:none;font-size:16px;font-weight:700;width:auto;padding:0 6px}summary{cursor:pointer;padding:10px 0;font-weight:600}.summary p{display:flex;justify-content:space-between;gap:10px}.summary .total{font-size:22px;border-top:1px solid #ccc;padding-top:15px}.metric strong{display:block;font-size:30px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{margin:0}.metric small{line-height:1.35;display:block}.totals{display:grid;grid-template-columns:1fr auto;gap:12px}.totals dd{font-weight:700}.pagination{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.pagination a,.pagination span{padding:8px 12px;border:1px solid #cdd6cd;border-radius:6px}.empty{padding:20px}.responsive-table{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;vertical-align:top;padding:12px 9px;border-bottom:1px solid #e3e6e1}th{font-size:12px;color:#56665b}td form button{margin-top:5px}.stamps{display:flex;flex-wrap:wrap;gap:10px;max-width:320px;font-size:28px}.stamp{width:44px;height:44px;border:2px solid #b29258;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.stamp.filled{background:#284c3e;color:white}dialog{width:min(94vw,580px);max-height:90vh;border:0;border-radius:15px;padding:24px}dialog::backdrop{background:#142c24aa}.dialog-close{float:right}.gift-print{max-width:650px;margin:35px auto;padding:20px}.gift-art{text-align:center;border:2px solid #b29258;border-radius:22px;padding:35px;background:#284c3e;color:#fff}.gift-art small,.gift-art .caption{color:#e6e6d8}.gift-amount{font:56px Georgia,serif}.gift-code{font-size:26px;letter-spacing:.1em}.no-print{margin-top:25px}.no-print p{margin-top:20px}button:disabled{opacity:.6;cursor:wait}:focus-visible{outline:3px solid #b29258;outline-offset:2px}
@media(min-width:768px){.form-grid,.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:24px}}
@media(min-width:1100px){.mobile-header{display:none}.sidebar{display:block;position:fixed;inset:0 auto 0 0;width:248px;overflow:auto;border-right:1px solid #e3e6e1}.sidebar .brand{font-size:21px}.workspace{margin-left:248px;padding:32px}.operation{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.summary{position:sticky;top:20px}.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){table.responsive,table.responsive tbody,table.responsive tr,table.responsive td,.responsive-table table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}table.responsive thead,.responsive-table thead{display:none}table.responsive tr,.responsive-table tr{border:1px solid #ddd;border-radius:12px;padding:12px;margin:12px 0}table.responsive td,.responsive-table td{padding:6px;border:0;overflow-wrap:anywhere}td[data-label]::before{content:attr(data-label);display:block;font-size:11px;font-weight:600;color:#69776b}.responsive-table{overflow:visible}.metric strong{font-size:25px}.gift-code{font-size:20px}}
@media print{body{background:white}.no-print,.sidebar,.mobile-header,.page-heading>.button{display:none!important}.gift-print{margin:0;max-width:none}.gift-art{print-color-adjust:exact;-webkit-print-color-adjust:exact;break-inside:avoid}.workspace{margin:0;padding:0}}

.rank-item{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #e3e6e1}.rank-item small{display:block}.rank-item>strong{white-space:nowrap}.stats{display:flex;flex-wrap:wrap;gap:24px}.stats strong{display:block;font-size:24px}.tabs{display:flex;flex-wrap:wrap;gap:12px}.tabs a{padding:10px}.tabs .current{background:#e4eee6;border-radius:8px}

.product-modal{width:min(760px,96vw);max-height:90dvh;overflow:auto;border:0;border-radius:16px;padding:1.4rem}.product-modal::backdrop{background:#0008}.product-table td:last-child button{margin:.15rem}.product-modal .product-item{border:0;padding:0}
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:end;gap:12px;margin-bottom:20px}.filters input{width:100%;min-height:48px;border:1px solid #89978c;border-radius:8px;padding:10px}td small{display:block}.delivery-history{border-top:1px solid #ddd;margin-top:20px;padding-top:16px}.badge-state{display:inline-block;background:#e4f3e8;color:#284c3e;padding:4px 9px;border-radius:6px;font-weight:600}
.brand-mark{display:block;position:relative;width:200px;max-width:100%;aspect-ratio:10/1;overflow:hidden}
.brand-mark img{position:absolute;display:block;width:100%;height:auto;top:50%;left:0;transform:translateY(-50%)}
.brand{display:inline-block;max-width:100%}
.access>.brand{display:block;margin:0 auto 18px;width:min(320px,100%)}
.access .brand-mark{width:100%}
.mobile-header .brand-mark{width:180px}
.gift-logo{background:#fff;border-radius:8px;padding:22px 16px;max-width:350px;margin:0 auto 24px}
.gift-logo .brand-mark{width:100%}
.home-dashboard .panel{box-shadow:none;margin:16px 0;padding:20px}
.home-dashboard h2{margin:0 0 12px;font-size:22px}
.home-dashboard .today-panel h2,.home-dashboard .home-costs summary{font-size:18px}
.today-metrics,.period-metrics,.pending-metrics{display:grid;grid-template-columns:1fr;gap:20px}
.today-metrics strong,.period-metrics strong{display:block;font-size:28px;line-height:1.4}
.today-metrics span,.period-metrics span,.pending-metrics span,.pending-metrics strong,.period-metrics small,.pending-metrics small{display:block}
.home-dates{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.home-dates .field{flex:1 1 150px;margin:0}
.home-dates button{width:auto;margin:0;flex:1 1 130px}
.period-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.period-shortcuts a{background:white;border:1px solid #89978c;font-size:13px;font-weight:400}
.period-shortcuts a[aria-current]{background:#edf1ed;border-color:#284c3e}
.home-grid{display:grid;gap:16px}
.home-dashboard .home-grid .panel{margin:0}
.channel-row{margin:0 0 20px}
.channel-row>div{display:flex;justify-content:space-between;gap:12px}
.channel-row progress{display:block;width:100%;height:8px;margin:6px 0 12px;accent-color:#1877f2}
.customer-rank{border-bottom:1px solid #dde2dd;padding:16px 0}
.customer-rank small{display:block}
.home-more{display:inline-block;margin-top:18px}
.home-costs details p:first-of-type{margin-top:18px}
@media(min-width:650px){.today-metrics,.period-metrics,.pending-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.home-dates{max-width:500px}}
@media(min-width:900px){.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pending-metrics,.period-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:649px){.home-dates{display:grid;grid-template-columns:1fr}.home-dates button{width:100%}}
.sidebar nav summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;transition:background-color 180ms ease}
.sidebar nav summary::-webkit-details-marker{display:none}
.sidebar nav summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform 260ms cubic-bezier(.22,1,.36,1);margin-right:5px;flex-shrink:0}
.sidebar nav details[data-expanded="true"]>summary::after,.sidebar nav details[open]:not([data-expanded])>summary::after{transform:rotate(45deg)}
.sidebar nav a{transition:background-color 180ms ease,color 180ms ease}
@media(prefers-reduced-motion:reduce){.sidebar nav summary,.sidebar nav summary::after,.sidebar nav a{transition:none}}
.pickup-notice{display:block;padding:10px 12px;border-radius:8px;background:#eef5f1;color:#284d40}
.pickup-notice p{margin:4px 0}
.pickup-warning{background:#fff4d6;color:#785400}
.pickup-danger{background:#fce9e8;color:#942d26}