:root{color:#201a26;background:#faf9fd;font-family:Georgia,serif}*{box-sizing:border-box}body{background:#faf9fd;min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}.login-page,.status-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(100%,620px)}.eyebrow{color:#805ec0;letter-spacing:.12em;font-size:.85rem;font-weight:700}h1{margin:.2rem 0 1rem;font-size:clamp(2rem,5vw,3.5rem)}h2{margin-top:0}form{gap:18px;margin-top:38px;display:grid}label{gap:8px;font-size:1.1rem;display:grid}input{background:#fff;border:1px solid #dacdf0;border-radius:12px;padding:13px 15px}form button,.status-page button{color:#fff;background:#805ec0;border:0;border-radius:12px;padding:14px;font-weight:700}.form-error{color:#a6312e;background:#fff1f0;border-radius:12px;margin:0;padding:14px}.app-shell{grid-template-columns:280px 1fr;min-height:100vh;display:grid}aside{color:#e6d9f7;background:#151119;flex-direction:column;gap:36px;padding:30px 18px;display:flex}.brand{font-size:2rem;line-height:.8}.brand span{color:#d7b867;font-size:1rem}nav{gap:5px;display:grid}nav button{text-align:left;color:inherit;background:0 0;border:0;border-radius:12px;padding:12px 14px}nav button:hover,nav button.selected{color:#17121c;background:#b69be4}.account{border:1px solid #3f3747;border-radius:16px;gap:6px;margin-top:auto;padding:14px;display:grid}.account button{color:#e6d9f7;background:0 0;border:0;justify-self:start;padding:0;text-decoration:underline}.workspace{padding:38px clamp(24px,5vw,76px)}.workspace header{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:34px;display:flex}.workspace header h1{flex-basis:100%;font-size:2.6rem}.connection{color:#166548;background:#effcf5;border:1px solid #95ebc8;border-radius:999px;padding:7px 13px}.connection.server-error{color:#8a4a10;background:#fff7e8;border-color:#f2c27c}.connection.offline{color:#554a61;background:#f7f2fd;border-color:#d8c9ed}.panel{background:#fff;border:1px solid #e8e1f1;border-radius:20px;max-width:1200px;padding:28px;box-shadow:0 2px 8px #2d1f3d0d}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.summary{background:#f4effb;border-radius:14px;gap:5px;padding:20px;display:grid}.summary strong{font-size:2rem}.data-list{columns:2;padding-left:20px}.data-list li{margin:8px 0}.panel-heading{justify-content:space-between;align-items:start;gap:20px;display:flex}.panel-heading h2{margin-bottom:4px}.panel-heading p:not(.eyebrow){color:#70657e;margin:0}.result-count{color:#5c3c98;white-space:nowrap;background:#f4effb;border-radius:999px;padding:7px 10px;font-size:.9rem}.search-field{gap:7px;margin:24px 0 12px;font-size:.95rem;font-weight:700;display:grid}.recipe-list{gap:8px;display:grid}.recipe-row{color:#201a26;text-align:left;background:#fff;border:1px solid #e8e1f1;border-radius:12px;justify-content:space-between;align-items:center;width:100%;padding:13px 16px;display:flex}.recipe-row:hover,.recipe-row.active{background:#f7f2fd;border-color:#b69be4}.recipe-row span:first-child{gap:3px;display:grid}.recipe-row small{color:#70657e}.recipe-meta{color:#5c3c98}.empty-state{color:#70657e;text-align:center;padding:20px}.recipe-preview{background:#f7f2fd;border-radius:16px;grid-template-columns:1fr auto;gap:14px;margin-top:18px;padding:20px;display:grid}.recipe-preview h3{margin:0}.recipe-preview .eyebrow{margin:0 0 4px;font-size:.72rem}.recipe-preview p:last-child{color:#70657e;grid-column:1/-1;margin:0}.recipe-preview dl{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;display:grid}.recipe-preview dl div{background:#fff;border-radius:10px;padding:10px}.recipe-preview dt{color:#70657e;font-size:.8rem}.recipe-preview dd{margin:3px 0 0;font-weight:700}.quiet-button{color:#5c3c98;background:#fff;border:1px solid #d8c9ed;border-radius:8px;align-self:start;padding:7px 10px}.builder-form{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px}.builder-form select,.builder-form textarea{color:#201a26;background:#fff;border:1px solid #dacdf0;border-radius:12px;width:100%;padding:13px 15px}.builder-form .full-width,.builder-actions{grid-column:1/-1}.builder-actions{color:#5c3c98;align-items:center;gap:12px;display:flex}.builder-actions button{color:#fff;background:#17121c;border:0;border-radius:10px;padding:11px 15px;font-weight:700}.ingredient-editor{border:1px solid #e8e1f1;border-radius:14px;gap:10px;margin:0;padding:18px;display:grid}.ingredient-editor legend{padding:0 5px;font-weight:700}.ingredient-editor p{color:#70657e;margin:0 0 6px}.ingredient-row{background:#faf8fd;border-radius:10px;grid-template-columns:minmax(180px,2fr) minmax(100px,.7fr) 50px 90px auto;align-items:end;gap:10px;padding:10px;display:grid}.ingredient-row label{font-size:.85rem}.ingredient-row select{height:47px}.ingredient-unit{color:#70657e;padding-bottom:14px}.ingredient-row strong{color:#5c3c98;padding-bottom:14px}.add-ingredient{color:#5c3c98;background:#fff;border:1px solid #d8c9ed;border-radius:8px;justify-self:start;padding:8px 11px}.cost-summary{color:#554a61;background:#f4effb;border-radius:12px;gap:20px;padding:14px 16px;display:flex}.cost-summary span{gap:3px;display:grid}.cost-summary strong{color:#201a26}.compare-grid{gap:14px;margin-top:24px;display:grid}.compare-grid.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-grid.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.compare-grid.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.compare-column{background:#faf8fd;border:1px solid #e8e1f1;border-radius:14px;min-width:0;padding:16px}.compare-column-header{align-items:end;gap:8px;display:flex}.compare-column label{flex:1;gap:7px;font-weight:700;display:grid}.compare-column select{background:#fff;border:1px solid #dacdf0;border-radius:9px;width:100%;min-width:0;padding:10px}.compare-details{gap:8px;margin:18px 0 0;display:grid}.compare-details div{background:#fff;border-radius:9px;gap:2px;padding:10px;display:grid}.compare-details dt{color:#70657e;font-size:.78rem}.compare-details dd{overflow-wrap:anywhere;margin:0;font-weight:700}.directory-controls{grid-template-columns:minmax(0,1fr) 180px;gap:14px;margin:24px 0 12px;display:grid}.directory-controls label{gap:7px;font-size:.95rem;font-weight:700;display:grid}.directory-controls select{background:#fff;border:1px solid #dacdf0;border-radius:12px;padding:13px 15px}.data-table-wrap{overflow-x:auto}.data-table-wrap table{border-collapse:collapse;width:100%}.data-table-wrap th,.data-table-wrap td{text-align:left;white-space:nowrap;border-bottom:1px solid #eee8f5;padding:12px 10px}.data-table-wrap th{color:#5c3c98;font-size:.85rem}.data-table-wrap td:first-child{white-space:normal}.data-table-wrap td small{color:#70657e;margin-top:3px;display:block}.supplier-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.supplier-card{border:1px solid #e8e1f1;border-radius:14px;padding:16px}.supplier-card h3{margin:0 0 10px}.supplier-card p{color:#70657e;margin:5px 0}.supplier-card span{color:#5c3c98;margin-top:10px;font-size:.9rem;display:inline-block}.report-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.report-list button{color:#5c3c98;text-align:left;background:#fff;border:1px solid #e8e1f1;border-radius:12px;padding:15px;font-weight:700}.report-list button:hover,.report-list button.active{background:#f7f2fd;border-color:#b69be4}.report-result{background:#faf8fd;border:1px solid #e8e1f1;border-radius:14px;margin-top:20px;padding:18px}.report-result h3{margin-top:0}.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1200px;display:grid}.tools-grid .panel{max-width:none}.tools-grid h2{margin:7px 0}.rate-field{gap:7px;margin:26px 0 14px;font-weight:700;display:grid}.rate-field input{max-width:420px}.tool-note{color:#554a61;background:#f7f2fd;border-radius:10px;margin-top:24px;padding:14px}.admin-page h3{margin:28px 0 12px}.admin-form,.customize-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.admin-form h3,.customize-form h3,.customize-form .builder-actions{grid-column:1/-1}.admin-form select{background:#fff;border:1px solid #dacdf0;border-radius:12px;padding:13px 15px}.admin-form button{color:#fff;background:#17121c;border:0;border-radius:10px;align-self:end;padding:13px;font-weight:700}.customize-form label{font-size:.9rem}.customize-form input[type=color]{width:100%;height:44px;padding:4px}@media (width<=760px){.app-shell{grid-template-columns:1fr}aside{gap:18px}.summary-grid,.recipe-preview dl,.builder-form,.ingredient-row,.compare-grid.columns-2,.compare-grid.columns-3,.compare-grid.columns-4,.supplier-grid,.directory-controls,.report-list,.tools-grid,.admin-form,.customize-form{grid-template-columns:1fr}.workspace header h1{font-size:2rem}.data-list{columns:1}.panel-heading{display:grid}.result-count{justify-self:start}.recipe-row{gap:10px}.ingredient-unit,.ingredient-row strong{padding-bottom:0}.cost-summary{flex-direction:column;gap:10px}}:root{--app-background:#faf9fd;--app-menu-background:#151119;--app-menu-text:#e6d9f7;--app-menu-selected:#b69be4;--app-menu-hover:#d3c2ef;--app-theme:#805ec0;--app-sign-in-button:#805ec0}body{background:var(--app-background)}aside{background:var(--app-menu-background);color:var(--app-menu-text)}nav button:hover{background:var(--app-menu-hover);color:#17121c}nav button.selected{background:var(--app-menu-selected);color:#17121c}.account button{color:var(--app-menu-text)}form button,.status-page button{background:var(--app-sign-in-button)}.eyebrow{color:var(--app-theme)}.brand{font-size:1.35rem;font-weight:700;line-height:1.1}.panel-actions,.preview-actions,.table-actions{align-items:start;gap:8px;display:flex}.search-with-action{align-items:end;gap:10px;display:flex}.search-with-action .search-field{flex:1}.supplier-card{color:#201a26;text-align:left;background:#fff}.supplier-card:hover{background:#f7f2fd;border-color:#b69be4}.editor-panel{background:#faf8fd;border:1px solid #b69be4;border-radius:16px;margin-top:22px;padding:20px}.editor-panel h3{margin:0}.editor-panel textarea{color:#201a26;background:#fff;border:1px solid #dacdf0;border-radius:12px;width:100%;padding:13px 15px}.supplied-materials{margin-top:18px}.supplied-materials h4{margin-bottom:6px}.supplied-materials ul{columns:2;margin:0;padding-left:20px}.danger-button{color:#a6312e;background:#fff;border:1px solid #d98c87;border-radius:8px;align-self:start;padding:7px 10px}
