/* Polish the established glass UI; no changes to its palette, font or module structure. */
.card.empty-state{padding:24px 22px;text-align:left;min-width:0}
.card.empty-state h3{font-size:18px;line-height:1.35;margin:0 0 9px;overflow-wrap:anywhere}
.card.empty-state .subtle{margin:0 0 16px;max-width:48ch}
.card.empty-state .quick-button,.card.empty-state .primary-button{margin-top:2px}
.empty-state-symbol{display:grid;place-items:center;width:44px;height:44px;margin-bottom:15px;border-radius:14px;background:var(--sage-soft);color:var(--sage-dark);font-size:27px}
.photo-grid>.card.empty-state,.reference-grid>.card.empty-state{grid-column:1/-1}
.wish-screen>.card:not(.wish-filters){padding:22px}
.empty-state:not(.card){padding:20px 0}
.section-heading{gap:12px;flex-wrap:wrap}
.section-heading>h2{min-width:0;overflow-wrap:anywhere}
.card>.section-heading:first-child{margin-top:0}
.hero-actions{gap:10px;flex-wrap:wrap}
.quick-button,.primary-button{min-height:42px;line-height:1.35}
.row-actions{gap:14px;flex-wrap:wrap;align-items:center}
.row-actions>.text-button{min-height:30px}
.entry-dialog .cloud-form>label{min-width:0;gap:7px;line-height:1.4}
.entry-dialog input:not([type="checkbox"]):not([type="radio"]),.entry-dialog select,.entry-dialog textarea{min-width:0;max-width:100%;font:inherit;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--paper);color:var(--ink)}
.entry-dialog input.toggle-switch{padding:0;border-radius:99px}
.reference-form-pair,.goal-form-grid,.shopping-amount-fields{gap:14px}
.reference-form-pair>label,.goal-form-grid>label{min-width:0}
.library-card h3,.mini-card h3,.wish-card h3,.file-copy,.player-heading h2{overflow-wrap:anywhere}
.notification-row{gap:16px}
.notification-copy small{line-height:1.5}
.grocery-shortcuts{margin-bottom:20px;gap:10px}
.pantry-toolbar{margin:18px 0 10px}
.pantry-tabs{margin-bottom:8px}
.pantry-date-copy{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:10px 0 0 32px}
.pantry-date-copy time{font-size:11px;color:var(--muted)}
.pantry-date-badge{display:inline-block;padding:6px 9px;border-radius:99px;background:var(--sage-soft);color:var(--sage-dark);font-size:11px;line-height:1.4}
.pantry-date-past{background:var(--apricot-soft);color:#925c37}
:root[data-mode="dark"] .pantry-date-past{color:#edba92}
.pantry-date-out,.pantry-date-undated{background:color-mix(in srgb,var(--muted) 10%,transparent);color:var(--muted)}
.pantry-soon-summary{display:flex;align-items:center;gap:14px;padding:17px;margin-bottom:20px}
.pantry-summary-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:12px;background:var(--sage-soft);color:var(--sage-dark);flex-shrink:0;font-size:23px}
.pantry-soon-summary>div{flex:1;min-width:0}
.pantry-soon-summary h3{font-size:14px;line-height:1.4;overflow-wrap:anywhere;margin:0 0 4px}
.pantry-soon-summary p{font-size:12px;line-height:1.4;color:var(--muted);margin:0;overflow-wrap:anywhere}
.pantry-soon-summary>.text-button{font-size:11px;white-space:nowrap}
.backup-options{display:grid;gap:10px;margin:20px 0}
.backup-options>.quick-button{display:flex;align-items:center;gap:14px;text-align:left;padding:14px;background:var(--glass);border-color:var(--line)}
.backup-options>.quick-button>span:first-child{font-size:25px;min-width:28px;text-align:center}
.backup-options strong{display:block;font-size:13px;line-height:1.4}
.backup-options small{display:block;font-size:11px;font-weight:400;color:var(--muted);line-height:1.5;margin-top:4px}
.backup-warning{padding:15px;border-radius:15px;background:var(--apricot-soft);font-size:12px;line-height:1.6}
.backup-warning p{margin:7px 0 0;color:var(--muted)}
.backup-progress{font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.backup-download{display:inline-flex;align-items:center;text-decoration:none;margin-top:10px}
.backup-file-choice{display:grid;gap:12px;margin:20px 0;font-size:13px}
.backup-inspection{padding-top:12px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.backup-inspection p{margin:0 0 7px}
.haven-loading{padding:36px 22px;text-align:center}
.haven-loading h1{font-size:29px;line-height:1.15;margin-top:20px}
.haven-loader-mark{position:relative;width:86px;height:86px;margin:0 auto;display:grid;place-items:center}
.haven-loader-mark img{width:52px;height:52px;border-radius:16px;box-shadow:0 5px 16px #0825421a;animation:haven-mark-breathe 1.8s ease-in-out infinite}
.haven-loader-orbit{position:absolute;inset:0;border:2px solid var(--line);border-top-color:var(--sage-dark);border-right-color:var(--sage);border-radius:50%;animation:haven-orbit 1.5s linear infinite}
.haven-loading-slow .haven-loader-orbit,.haven-loading-slow .haven-loader-mark img{animation:none}
@keyframes haven-orbit{to{transform:rotate(360deg)}}
@keyframes haven-mark-breathe{50%{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.haven-loader-orbit,.haven-loader-mark img{animation:none}}
@media(max-width:360px){.card.empty-state{padding:20px 17px}.pantry-soon-summary{padding:14px;gap:10px;flex-wrap:wrap}.pantry-soon-summary>.text-button{margin-left:45px}.pantry-date-copy{margin-left:0}.reference-form-pair,.goal-form-grid{grid-template-columns:1fr}.backup-options>.quick-button{padding:12px}.settings-panel{padding:18px}.notification-row{gap:12px}}
