.gift-page {max-width:1500px;margin:0 auto;padding:36px 28px}.gift-page h1{font-size:40px;margin:12px 0}.gift-page p{color:#74736d;line-height:1.5}.gift-panel{background:#fff;border:1px solid #dedbd4;border-radius:6px;padding:24px;margin-top:24px}.gift-form{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.gift-form label{display:grid;gap:8px}.gift-form input{padding:12px;border:1px solid #d7d4cc;border-radius:4px;font:inherit}.gift-form button,.gift-orders-heading button{padding:12px 20px;border:1px solid #bbb;background:#fff;font:inherit;border-radius:4px;cursor:pointer}.gift-form button[type=submit]{background:#171715;color:#fff;border-color:#171715}.gift-form button:disabled{opacity:.5;cursor:default}.gift-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:24px}.gift-stat{background:white;border:1px solid #dedbd4;border-radius:6px;padding:22px;display:grid;gap:12px}.gift-stat strong{font-size:28px;overflow-wrap:anywhere}.gift-stat span{color:#74736d}.gift-scroll{overflow-x:auto}.gift-table{width:100%;border-collapse:collapse;white-space:nowrap}.gift-table th,.gift-table td{padding:16px;text-align:left;border-bottom:1px solid #e8e5de}.gift-table th{background:#f1efe9;color:#74736d;font-size:12px;text-transform:uppercase}.gift-total{font-weight:700;background:#e7f3ec}.gift-group-link{border:0;background:transparent;text-decoration:underline;font:inherit;cursor:pointer;text-align:left}.gift-orders-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.gift-warning{padding:16px;background:#fff3cd}.gift-error{color:#ac2b20}@media(max-width:700px){.gift-page{padding:20px 12px}.gift-page h1{font-size:30px}.gift-stats{grid-template-columns:repeat(2,1fr)}.gift-panel{padding:16px}.gift-stat{padding:16px}.gift-stat strong{font-size:22px}}

.gift-period{display:grid;gap:10px}.gift-period-label{font-weight:600}.gift-period-fields{display:flex;gap:8px;align-items:center}.gift-period-fields select{min-height:46px;padding:10px 12px;border:1px solid #d7d4cc;border-radius:4px;background:#fff;color:#171715;font:inherit}.gift-period-fields select:first-of-type{min-width:160px}.gift-form .gift-period-arrow{padding:10px 14px;min-height:46px}.gift-period-shortcuts{display:flex;gap:12px;flex-wrap:wrap}.gift-form .gift-period-shortcuts button{padding:0;border:0;background:transparent;color:#595850;font-size:14px;text-decoration:underline;text-underline-offset:3px}.gift-form{align-items:center}.gift-period-notice{padding:12px 16px;background:#fff3cd;border-radius:4px}.gift-period-fields select:focus-visible,.gift-form button:focus-visible{outline:2px solid #171715;outline-offset:3px}@media(max-width:450px){.gift-period{width:100%}.gift-period-fields{gap:6px}.gift-period-fields select{padding:10px 6px;min-width:0}.gift-period-fields select:first-of-type{min-width:0;flex:1}.gift-form .gift-period-arrow{padding:10px}.gift-form>button{flex:1}}

@media(min-width:701px) and (max-width:1100px){.gift-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}

.gift-status-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.gift-status-tag { padding: 7px 12px; border-radius: 4px; background: #f0eee8; color: #302e29; font-size: 13px; }
.gift-settings .gift-orders-heading { align-items: flex-start; gap: 20px; }
.gift-settings .gift-orders-heading p { max-width: 800px; margin-bottom: 0; }
.gift-settings button { min-height: 42px; padding: 0 18px; border: 1px solid #c9c6be; border-radius: 4px; background: #fff; color: #242320; font: inherit; font-size: 13px; cursor: pointer; white-space: nowrap; }
.gift-settings button:disabled { opacity: .5; cursor: default; }
.gift-settings button:focus-visible { outline: 2px solid #555; outline-offset: 3px; }
.gift-settings fieldset { border: 1px solid #dedbd3; padding: 16px; margin: 16px 0; }
.gift-settings legend { padding: 0 8px; font-weight: 600; }
.gift-status-options { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 12px; }
.gift-status-options label { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.gift-status-options input { width: 18px; height: 18px; margin: 0; }
.gift-settings-actions { display: flex; gap: 10px; }
#giftSettingsSave { background: #171715; color: white; }
#giftResults.is-stale { opacity: .65; }
@media(max-width:600px) { .gift-settings .gift-orders-heading { flex-direction: column; } }
