@import url(https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Fraunces:opsz,wght@9..144,600&display=swap);.driver-active *,.driver-active .driver-overlay{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,Apple Color Emoji,Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:focus,.driver-popover-close-btn:hover{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:focus,.driver-popover-footer button:hover{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start,.driver-popover-arrow-side-top.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end,.driver-popover-arrow-side-top.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center,.driver-popover-arrow-side-top.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}:root{--bg:radial-gradient(circle at 20% 10%,#ffe8c9 0%,#f4f7ff 35%,#e5f3ef 100%);--panel:hsla(0,0%,100%,.84);--line:#d4deea;--text:#1e2a31;--muted:#54656f;--accent:#13795b;--accent-soft:#e8f8f2}*{box-sizing:border-box}body{margin:0;font-family:Space Grotesk,sans-serif;color:var(--text);background:var(--bg)}.app-shell{max-width:1280px;margin:0 auto;padding:1.25rem}.menu-overlay{position:fixed;inset:0;z-index:15}.top-nav-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.top-nav-link{display:inline-flex;align-items:center;justify-content:center;padding:.45rem .8rem;border:1px solid var(--line);border-radius:999px;background:hsla(0,0%,100%,.92);color:#0b5a85;font-weight:600;text-decoration:none}.top-nav-link:focus-visible,.top-nav-link:hover{background:#fff;color:#084766}.site-banner{justify-content:space-between;gap:.75rem;margin-bottom:.75rem;padding:.7rem .9rem;border:1px solid #f0c780;border-radius:14px;background:linear-gradient(135deg,rgba(255,247,221,.97),hsla(0,0%,100%,.94));box-shadow:0 10px 24px rgba(63,46,15,.08)}.site-banner,.site-banner-copy{display:flex;align-items:center}.site-banner-copy{gap:.55rem;flex-wrap:wrap;min-width:0}.site-banner-copy strong{color:#8a5a00}.site-banner-dismiss{border:none;background:transparent;color:#8a5a00;font-size:1.2rem;line-height:1;padding:.1rem .25rem}.info-bar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:.5rem;margin-bottom:.9rem;padding:.55rem;border:1px solid var(--line);border-radius:14px;background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.info-chip{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.45rem .6rem;display:flex;flex-direction:column;gap:.15rem;min-width:0}.info-chip .label{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.info-chip strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero{margin-bottom:1rem}.my-bar-inline-hint{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:-.15rem 0 .7rem;padding:0 .15rem;color:var(--muted);font-size:.92rem}.inline-hint-text{white-space:pre-wrap;margin-right:.8rem}.inline-link-button{border:none;background:transparent;padding:0;color:#0b5a85;text-decoration:underline;text-underline-offset:2px;border-radius:0}.secondary-link{color:var(--accent)}.hero-top{display:block}.hero h1{font-family:Fraunces,serif;margin:0;font-size:2rem}.hero p{margin:.35rem 0 0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:1rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:1rem}.wide{grid-column:1/-1}.panel-title{font-weight:700;margin-bottom:.6rem}.subheading{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.4rem}.toolbar,.user-row{display:flex;gap:.5rem;flex-wrap:wrap}.toolbar-checkbox{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .15rem;color:var(--muted);white-space:nowrap}.toolbar-checkbox-cluster{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.toolbar .toolbar-checkbox+.toolbar-checkbox{margin-left:.5rem}.toolbar-checkbox input[type=checkbox]{margin:0}.search-input-wrap{position:relative;display:inline-flex;align-items:center}.search-input-wrap input{padding-right:2rem}.search-clear-btn{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;padding:.2rem .3rem}.search-clear-btn:hover{color:var(--text)}.advanced-filters-overlay{position:fixed;inset:0;background:rgba(16,26,34,.3);z-index:4000}.advanced-filters-drawer{position:fixed;top:0;left:0;width:min(32rem,94vw);height:100dvh;background:hsla(0,0%,100%,.98);border-right:1px solid var(--line);box-shadow:8px 0 24px rgba(16,26,34,.16);z-index:4001;transform:translateX(-100%);transition:transform .18s ease;display:flex;flex-direction:column;overflow-y:auto}.advanced-filters-drawer.open{transform:translateX(0)}.advanced-filters-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2;background:hsla(0,0%,100%,.98)}.advanced-collapse-button{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;font-weight:700;line-height:1}.advanced-collapse-hitarea{display:inline-flex;align-items:center;gap:.45rem;border:none;background:transparent;padding:0;cursor:pointer}.advanced-collapse-hitarea strong{font:inherit}.advanced-filters-body{padding:.75rem;overflow-y:visible;display:flex;flex-direction:column;gap:.75rem}.advanced-group{border:1px solid var(--line);border-radius:10px;padding:.55rem;background:#fff}.advanced-group .toolbar-checkbox{width:100%;white-space:normal;align-items:flex-start;line-height:1.25;padding-top:.3rem;padding-bottom:.3rem}.advanced-group .toolbar-checkbox input[type=checkbox]{margin-top:.15rem;flex-shrink:0}.advanced-tag-group{margin-top:.55rem;display:flex;flex-direction:column;gap:.18rem}.advanced-tag-group strong{margin-bottom:.2rem}.advanced-header-actions{justify-content:flex-end}.advanced-ingredient-search{width:100%;margin-bottom:.4rem}.advanced-ingredient-search input{width:100%}.advanced-ingredient-mode-select{margin-bottom:.4rem}.advanced-ingredient-expand{margin-top:.55rem}.advanced-unlock-summary{border:1px solid var(--line);border-radius:10px;background:#fffaf4;padding:.6rem}.advanced-unlock-summary-header{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin-bottom:.45rem}.advanced-unlock-table{width:100%;border-collapse:collapse;font-size:.82rem}.advanced-unlock-table td,.advanced-unlock-table th{padding:.3rem .15rem;border-top:1px solid #f0e0ca;text-align:left}.advanced-unlock-table td:last-child,.advanced-unlock-table th:last-child{text-align:right}.advanced-unlock-toggle-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:0 0 .45rem}.advanced-selected-ingredient{background:#eef8f3;border-radius:8px;border:1px solid #d6ece0;padding-left:.35rem}.advanced-ingredient-divider{margin:.45rem 0 .2rem;padding-top:.45rem;border-top:1px dashed var(--line);color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}button,input,select,textarea{border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem;font:inherit}button{background:var(--accent-soft);cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.floating-message{margin:-.35rem 0 .85rem}.app-menu{position:relative;flex-shrink:0}.menu-trigger{display:inline-flex;align-items:center;gap:.5rem;background:hsla(0,0%,100%,.92);border-radius:999px;padding:.4rem .65rem}.menu-trigger-text{font-weight:600}.user-icon{width:1.8rem;height:1.8rem;border-radius:999px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);font-weight:700;color:var(--accent)}.hamburger-icon{width:1.15rem;display:inline-flex;flex-direction:column;gap:.18rem}.hamburger-icon span{display:block;width:100%;height:2px;border-radius:999px;background:#27424f}.app-menu-dropdown{position:absolute;left:0;right:auto;top:calc(100% + .4rem);width:min(24rem,92vw);background:hsla(0,0%,100%,.96);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px rgba(21,37,48,.12);padding:.75rem;z-index:20}.menu-user-summary{display:flex;align-items:center;gap:.55rem;margin-bottom:.65rem}.account-summary{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.6rem}.menu-actions{display:flex;gap:.4rem;flex-wrap:wrap}.menu-button{background:#fff}.advanced-toggle-button{display:inline-flex;align-items:center;gap:.35rem;font-weight:700}.advanced-toggle-chevron{letter-spacing:-.03em;min-width:1.5rem;text-align:center}.advanced-toggle-icon{width:.95rem;height:.95rem;fill:currentColor}.menu-button.active{background:var(--accent);color:#fff;border-color:#0f6048;font-weight:700;box-shadow:0 0 0 2px rgba(19,121,91,.2)}.account-pane{margin-top:.6rem;padding-top:.55rem;border-top:1px solid var(--line)}.auth-stack,.structured-list{display:flex;flex-direction:column;gap:.45rem}.structured-row{display:grid;grid-template-columns:minmax(8rem,11rem) minmax(0,1fr) auto;gap:.45rem;align-items:center}.structured-step-row{grid-template-columns:minmax(0,1fr) auto}.add-row-button{justify-self:flex-start}.row-remove{white-space:nowrap}.account-help{margin:.6rem 0 0;font-size:.82rem}.modal-backdrop{position:fixed;inset:0;background:rgba(18,28,36,.42);display:flex;justify-content:center;align-items:flex-start;padding:.75rem 1rem;z-index:40;overflow-y:auto}.modal-card{width:min(28rem,100%);background:hsla(0,0%,100%,.98);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 42px rgba(21,37,48,.18);padding:1rem;max-height:calc(100dvh - 1.5rem);overflow-y:auto;margin-top:0}.modal-card-wide{width:min(34rem,100%)}.modal-card-xl{width:min(44rem,100%)}.modal-card h2{margin:0 0 .4rem;font-family:Fraunces,serif;font-size:1.25rem}.modal-card p{margin:.35rem 0}.driver-active-element{border-radius:18px;box-shadow:0 0 0 8px hsla(0,0%,100%,.08),0 0 24px 10px rgba(121,167,196,.3)}.cc-tour-popover{border:1px solid rgba(158,188,208,.55);border-radius:18px;background:hsla(0,0%,100%,.97);box-shadow:0 18px 40px rgba(24,45,64,.18)}.cc-tour-popover .driver-popover-title{font-family:Fraunces,serif;font-size:1.15rem;color:#18344b}.cc-tour-popover .driver-popover-description{color:#34546b;font-size:.98rem;line-height:1.55}.cc-tour-popover .driver-popover-progress-text{color:#567188}.cc-tour-popover .driver-popover-close-btn,.cc-tour-popover .driver-popover-footer button{border-radius:12px}.cc-tour-popover .driver-popover-footer button{border:1px solid #c9dbe7;background:#f6fbfd;color:#18344b;padding:.42rem .78rem;text-shadow:none}.cc-tour-popover .driver-popover-footer button:focus,.cc-tour-popover .driver-popover-footer button:hover{background:#edf6fb}.cc-tour-popover .driver-popover-close-btn{color:#8aa2b5}.cc-tour-popover .driver-popover-close-btn:focus,.cc-tour-popover .driver-popover-close-btn:hover{color:#34546b}.whats-new-list{margin:.75rem 0 0;padding-left:1.2rem}.whats-new-list li+li{margin-top:.35rem}.modal-actions{display:flex;justify-content:flex-end;margin-top:.75rem}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.modal-header h2{margin:0}.add-cocktail-modal{display:flex;flex-direction:column}.add-cocktail-modal .auth-stack{min-height:0}.add-cocktail-actions{position:sticky;bottom:0;background:hsla(0,0%,100%,.98);padding-top:.35rem;padding-bottom:.2rem;border-top:1px solid var(--line);z-index:2}.modal-inventory{max-height:min(65vh,34rem)}.inventory,.list{margin-top:.75rem;max-height:360px;overflow:auto;display:flex;flex-direction:column;gap:.4rem}.list-item{display:flex;justify-content:space-between;background:#fff}.list-item.active{border-color:var(--accent)}.pill{background:#d6f4e8;color:#0d5a42;border-radius:999px;padding:.1rem .5rem;font-size:.75rem}.pill.status-approved{background:#d9f6e7;color:#0d5a42}.pill.status-pending{background:#fff2cf;color:#8a5a00}.pill.status-rejected{background:#ffe4e6;color:#9f1239}.tried-pill{background:#eef2ff;color:#2f3ea8;border:1px solid #cfd7ff;border-radius:999px}.almost-unlocked-pill,.tried-pill{margin-left:.4rem;padding:.05rem .45rem;font-size:.72rem}.almost-unlocked-pill{background:#fff1e3;color:#8a4c12;border:1px solid #efc08a;border-radius:999px}.virgin-pill{margin-left:.4rem;background:#f4e9ff;color:#5c2f93;border:1px solid #d9b8ff;border-radius:999px;padding:.05rem .45rem;font-size:.72rem}.inventory-row{display:flex;gap:.5rem;align-items:center}.inventory-row small,.subtle{color:var(--muted)}.match-list{margin:.75rem 0 0;padding:0;list-style:none;-moz-column-width:18rem;column-width:18rem;-moz-column-gap:1rem;column-gap:1rem}.match-list li{-moz-column-break-inside:avoid;break-inside:avoid;display:flex;align-items:center;margin-bottom:.35rem}.match-list button{border:none;background:transparent;color:#0b5a85;padding:0;text-align:left}.detail{margin-top:1rem}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.detail-header .panel-title{margin-bottom:0}.missing-panel{background:#fff;border:1px dashed var(--line);border-radius:10px;padding:.7rem;margin:.75rem 0 1rem}.missing-panel ul{margin:.4rem 0 0;padding-left:1.1rem}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.recipe-modal-grid{margin-top:.3rem}.admin-block{background:#fff;padding:.75rem}.admin-block,.admin-selection-list{border:1px solid var(--line);border-radius:10px}.admin-selection-list{margin-top:.45rem;max-height:min(38vh,20rem);overflow-y:auto;background:#fbfcfd}.admin-selection-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.45rem .6rem;border-bottom:1px solid #e8edf3;cursor:pointer}.admin-selection-row:last-child{border-bottom:none}.admin-selection-row:hover{background:#f4f8fb}.admin-selection-row input[type=checkbox]{margin:0}.admin-selection-row span:nth-child(2){min-width:0;overflow-wrap:anywhere}.pill-assigned{background:#e8f8f2;border:1px solid #9cd4bc;color:#10694f}.pill-unassigned{background:#f6edf9;border:1px solid #d8c1e7;color:#6f3f88}.tag-pill-row{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0 .8rem}.admin-tab-row{margin-bottom:.5rem}.menu-link-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.admin-duplicate-groups{display:flex;flex-direction:column;gap:.7rem;max-height:min(40vh,22rem);overflow-y:auto}.admin-duplicate-group{border:1px solid var(--line);border-radius:10px;padding:.55rem;background:#fcfefe}.admin-duplicate-table{width:100%;border-collapse:collapse;font-size:.76rem}.admin-duplicate-table td,.admin-duplicate-table th{border:1px solid var(--line);padding:.25rem .3rem;text-align:left;vertical-align:top}.admin-duplicate-row{cursor:pointer}.admin-duplicate-row:hover{background:#f3faf7}.admin-preview,.admin-result{margin:.55rem 0 0;border:1px solid var(--line);border-radius:10px;background:#f7fafc;padding:.55rem;max-height:10rem;overflow:auto;font-size:.74rem;white-space:pre-wrap;word-break:break-word}.admin-result{background:#edf8f2}.admin-hidden-file-input{display:none}.admin-export-panel textarea{width:100%}.admin-export-actions{justify-content:center}.admin-import-results{margin-top:.8rem}.admin-import-results h4{margin:0 0 .35rem;font-size:.95rem}.admin-import-table{width:100%;border-collapse:collapse;font-size:.78rem}.admin-import-table td,.admin-import-table th{border:1px solid var(--line);padding:.3rem .35rem;text-align:left;vertical-align:top}.admin-import-row-created{background:#ecf8f2}.admin-import-row-updated{background:#eef4ff}.admin-import-row-failed{background:#fff0f1}.admin-import-error{color:#8c1028;max-width:16rem;word-break:break-word}.recipe-print-content h3{margin:0 0 .35rem}.log-form{display:flex;flex-direction:column;gap:.4rem}.selected-cocktail-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem;padding:.75rem .9rem;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,rgba(214,234,247,.96),rgba(244,250,254,.98))}.selected-cocktail-copy{display:flex;flex-direction:column;gap:.1rem}.selected-cocktail-actions{display:flex;flex-wrap:wrap;gap:.5rem}.empty{color:var(--muted)}.error{color:#8c1028;margin-top:1rem;font-weight:600}.success{color:#0d5a42;margin-top:.4rem;font-weight:600}@media (max-width:900px){.advanced-filters-drawer{width:100vw;max-width:100vw;border-right:none;box-shadow:none}.info-bar{display:none}.detail-grid,.grid,.structured-row{grid-template-columns:1fr}.hero-top{display:block}.my-bar-inline-hint,.site-banner{align-items:flex-start}.selected-cocktail-row{align-items:flex-start;flex-direction:column}.menu-trigger{justify-content:flex-start}.app-menu-dropdown{left:0;right:auto;width:min(24rem,calc(100vw - 2rem));max-width:calc(100vw - 2rem)}.app-menu-dropdown .menu-actions{flex-direction:column;align-items:stretch}.app-menu-dropdown .menu-actions .menu-button,.app-menu-dropdown .menu-actions .menu-link-button{width:100%;justify-content:center}.match-list{-moz-column-width:auto;column-width:auto;-moz-column-count:1;column-count:1}.toolbar-checkbox-cluster{width:100%}.admin-import-table{font-size:.72rem}}