
:root{--bg:#131414;--panel:#1c1d1c;--line:#ffffff12;--gold:#d9b47b;--muted:#999b96;--text:#eeeee8;font-family:Manrope,'Segoe UI',sans-serif;color:var(--text);background:var(--bg);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}.shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}aside{position:sticky;top:0;height:100vh;background:linear-gradient(155deg,#222320,#181919 55%);border-right:1px solid var(--line);padding:35px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;font-size:37px;color:var(--gold);gap:7px;margin:0 8px 56px}.brand>span{font-size:18px;align-self:flex-start}.brand b{color:var(--text);font-size:23px;letter-spacing:-1px}.brand b span{color:var(--gold)}.brand small{display:block;font-size:12px;letter-spacing:2px;color:var(--muted);margin-top:5px}.nav-label,.eyebrow{font-size:13px;letter-spacing:2px;color:var(--gold);font-weight:600}.nav-label{font-size:12px;color:#72756d;margin:0 13px 18px;letter-spacing:1.4px}nav{display:grid;gap:8px}nav button{display:flex;gap:14px;align-items:center;text-align:left;border:1px solid transparent;background:none;border-radius:9px;padding:14px 13px;color:#a2a39d;font-size:20px}nav button span{font-size:16px}nav button.active{background:linear-gradient(105deg,#d9b47b22,#d9b47b08);border-color:#d9b47b28;color:var(--gold)}nav i{font-style:normal;font-size:14px;margin-left:auto;background:#d9b47b18;border-radius:4px;padding:2px 6px}.aside-bottom{margin-top:auto}.system{font-size:14px;color:var(--muted);border:1px solid var(--line);padding:13px;border-radius:8px;margin-bottom:18px}.system i,.live i{display:inline-block;background:#a4b38a;width:5px;height:5px;border-radius:50%;margin-right:7px;box-shadow:0 0 8px #a4b38a44}.aside-bottom>a{font-size:15px;color:#b7b8ae;padding:12px;display:block}.account{border-top:1px solid var(--line);margin-top:20px;padding-top:24px;display:flex;gap:10px;align-items:center}.avatar{width:33px;height:33px;display:grid;place-items:center;border:1px solid #d9b47b55;border-radius:50%;color:var(--gold);background:#d9b47b15}.account strong{font-size:15px}.account small{display:block;font-size:13px;color:var(--muted);margin-top:4px}.account button{margin-left:auto;border:0;background:none;color:var(--muted);font-size:21px}main{min-width:0}header{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;font-size:14px;color:var(--muted)}.breadcrumb span{margin:0 16px;color:#62655e}.breadcrumb b{font-weight:400;color:#ddd}.header-right{display:flex;align-items:center;gap:26px}.live{font-size:12px;letter-spacing:1.5px;color:#b8c1ad}.content{padding:40px 42px 20px;max-width:1580px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:30px}h1{font-weight:450;font-size:32px;letter-spacing:-1.2px;margin:11px 0 10px}h1 span,.gold{color:var(--gold)}.muted{color:var(--muted);font-size:12px;line-height:1.8}.page-heading p{margin:0}.primary,.secondary{padding:11px 17px;border-radius:6px;font-size:15px;display:inline-flex;gap:12px;align-items:center;justify-content:center}.primary{background:linear-gradient(110deg,#e8c895,#c19c62);color:#27241e;border:1px solid #e3c28e;font-weight:600}.secondary{background:#ffffff03;border:1px solid #d9b47b38;color:var(--gold)}.secondary:hover{background:#d9b47b13}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.panel,.stat{border:1px solid var(--line);border-radius:11px;background:linear-gradient(135deg,#232421,#1a1b1a 70%);box-shadow:0 6px 16px #00000012}.stat{padding:21px 23px;position:relative;overflow:hidden}.stat-label{font-size:14px;color:#c2c2b8;display:flex;justify-content:space-between}.stat-label span{color:var(--gold);font-size:19px}.stat-number{font-size:34px;letter-spacing:-1.5px;margin-top:14px}.stat-note{font-size:13px;color:var(--muted);margin-top:7px}.stat svg{position:absolute;right:0;bottom:10px;opacity:.45;width:100px;height:42px}.overview-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.welcome{padding:30px 33px;min-height:270px;position:relative;overflow:hidden}.welcome h2{font-size:25px;font-weight:400;line-height:1.4;position:relative;z-index:1}.welcome p{max-width:280px}.orb{position:absolute;width:185px;height:185px;border-radius:50%;right:-15px;bottom:-25px;background:radial-gradient(circle at 30% 25%,#e7d5b2,#8d795a 40%,#2b2a24 70%);box-shadow:0 0 80px #d9b47b15}.orb:after{content:'';position:absolute;border:1px solid #d9b47b55;border-radius:50%;inset:-22px;transform:rotate(-25deg) scaleX(1.3)}.coverage{padding:25px 28px}.panel-title{font-size:14px;letter-spacing:1.2px;color:#e1c89d;margin:0 0 23px;font-weight:500}.donut{width:132px;height:132px;border-radius:50%;margin:8px auto 17px;display:grid;place-items:center;background:conic-gradient(var(--gold) var(--progress),#30312c 0)}.donut>div{width:108px;height:108px;background:#1d1e1b;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:29px}.donut small{font-size:13px;color:var(--muted);margin-top:4px}.coverage p{text-align:center;font-size:14px}.tasks{grid-column:1/-1;padding:25px 28px}.task{display:flex;gap:16px;align-items:center;padding:17px 0;border-top:1px solid var(--line)}.task-icon{font-size:22px;color:var(--gold);background:#d9b47b0c;border:1px solid #d9b47b1f;border-radius:8px;width:42px;height:42px;display:grid;place-items:center}.task strong{font-size:12px;font-weight:500}.task p{margin:5px 0 0;color:var(--muted);font-size:14px}.task button{margin-left:auto}.catalog{overflow:hidden}.toolbar{display:flex;align-items:center;gap:12px;padding:21px 24px;border-bottom:1px solid var(--line);flex-wrap:wrap}.search{position:relative;flex:1;min-width:180px;max-width:360px}.search input{width:100%;padding-left:34px}.search:before{content:'⌕';position:absolute;left:12px;top:7px;color:var(--muted);font-size:20px}input,select{border:1px solid #ffffff15;border-radius:6px;background:#141514;color:var(--text);padding:10px 12px;outline:none;font-size:15px}input:focus{border-color:#d9b47b88}.filters{display:flex;gap:5px;flex-wrap:wrap}.filters button{background:none;border:1px solid transparent;color:var(--muted);border-radius:5px;padding:9px 12px;font-size:14px}.filters button.selected{background:#d9b47b12;color:var(--gold);border-color:#d9b47b32}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:12px;letter-spacing:1px;color:#8c8e85;font-weight:500;background:#ffffff02;padding:15px 24px}td{font-size:15px;padding:17px 24px;border-top:1px solid var(--line)}td small{display:block;color:var(--muted);font-size:13px;margin-top:5px}.ingredient-cell{display:flex;gap:15px;align-items:center}.food-preview{width:49px;height:49px;flex-shrink:0;border-radius:10px;background:#ffffff04;border:1px solid var(--line);display:grid;place-items:center;color:#717269}.food-preview svg{width:33px;height:33px}.badge{padding:5px 8px;border:1px solid #a4b38a30;border-radius:4px;font-size:13px;color:#b4c5a2;background:#a4b38a08}.badge.missing{border-color:#d9b47b33;color:var(--gold);background:#d9b47b08}.badge.neutral{border-color:#ffffff1a;color:#aaa}.row-action{border:1px solid #d9b47b30;background:#d9b47b05;color:var(--gold);padding:8px 11px;border-radius:5px;font-size:14px}.pagination{display:flex;gap:13px;justify-content:space-between;align-items:center;padding:18px 24px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.pagination>div{display:flex;align-items:center;gap:12px}.pagination button{padding:7px 11px}.empty{padding:65px 25px;text-align:center;color:var(--muted);line-height:1.8}.empty strong{display:block;font-size:17px;color:var(--text);font-weight:400;margin-bottom:10px}.dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;padding:24px}.dish-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#ffffff02}.dish-card img{width:100%;aspect-ratio:1.65;object-fit:cover;background:#161715}.dish-info{padding:17px}.dish-info h3{font-size:14px;font-weight:500;margin:0 0 12px}.dish-info p{color:var(--muted);font-size:14px;line-height:1.8}.dish-info a{font-size:14px;color:var(--gold)}footer{display:flex;justify-content:space-between;font-size:13px;color:#71746b;padding:26px 0 4px}dialog{width:min(900px,94vw);max-height:88vh;border:1px solid #d9b47b40;border-radius:15px;padding:30px;background:#1b1c19;color:var(--text);box-shadow:0 30px 100px #0008}dialog::backdrop{background:#0009;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font-size:25px;font-weight:400;margin:12px 0}.icon-button{border:0;background:none;font-size:20px}.variants{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:25px 0}.variant{border:1px solid #ffffff18;border-radius:9px;padding:20px 12px;background:#ffffff03;text-align:center}.variant.selected{border-color:var(--gold);background:#d9b47b10}.variant svg{width:80px;height:80px;display:block;margin:7px auto 20px}.variant small{display:block;margin-top:9px;color:var(--muted);font-size:13px}.variant .badge{display:inline-block}.dialog-actions{border-top:1px solid var(--line);padding-top:20px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dialog-actions>span{font-size:14px;flex:1}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 15%,#bc94551c,transparent 65%);padding:20px}.login{width:min(410px,100%);padding:38px}.brand-mark{font-size:45px;color:var(--gold);margin-bottom:28px}.brand-mark span{font-size:25px}.login h1{font-size:27px;margin-top:18px}.login label{display:block;color:#c3c3b9;font-size:15px;margin:20px 0}.login input{display:block;width:100%;margin-top:9px;padding:13px}.login .primary{width:100%;justify-content:space-between}.login>small{display:block;text-align:center;font-size:13px;margin-top:22px}#error,#variant-error,#login-error{color:#e7ae91;font-size:12px;line-height:1.7}#error{padding:15px;border:1px solid #e7ae9130;margin-bottom:18px;border-radius:7px}#toast{position:fixed;bottom:25px;right:25px;border:1px solid #d9b47b70;background:#28291f;padding:16px 24px;border-radius:8px;color:#e8d2ae;z-index:5;font-size:12px}@media(min-width:1500px){.content{padding-top:50px}.stats{gap:22px}.stat{padding:26px}.overview-grid{gap:24px}}@media(max-width:1100px){.shell{grid-template-columns:205px 1fr}aside{padding:30px 14px}.content{padding:30px 24px}header{padding:0 24px}.stat{padding:18px 14px}.dish-grid{grid-template-columns:repeat(2,1fr)}.page-heading h1{font-size:27px}}@media(max-width:760px){.shell{display:block}aside{height:auto;position:relative;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0 0 18px;font-size:27px}.brand b{font-size:20px}.brand small,.nav-label,.aside-bottom{display:none}nav{display:flex;gap:4px}nav button{padding:10px;gap:7px;font-size:17px}nav button span{font-size:14px}nav i{display:none}header{height:56px;padding:0 18px}.header-right time{display:none}.content{padding:25px 18px}.page-heading{align-items:flex-start}.page-heading h1{font-size:25px}.page-heading .secondary{padding:10px}.page-heading .secondary span{display:none}.eyebrow{font-size:12px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat-number{font-size:28px}.overview-grid{grid-template-columns:1fr}.welcome{min-height:230px}.coverage{grid-row:2}.tasks{grid-column:1}.task p{max-width:180px;line-height:1.7}.task button{white-space:nowrap;padding:8px}.variants{grid-template-columns:repeat(2,1fr)}.toolbar{padding:16px}.search{max-width:none}td,th{padding:14px 16px}.dish-grid{padding:15px;gap:12px}footer span:last-child{display:none}.dialog-actions{align-items:stretch}.dialog-actions>span{flex-basis:100%}dialog{padding:22px}}
/* User filters live in their table headings, including for empty results. */
.users-table th{vertical-align:top;padding-top:20px;padding-bottom:18px}
.column-filter{display:flex;flex-direction:column;gap:11px;letter-spacing:1px}
.column-filter input,.column-filter select{letter-spacing:normal;font-weight:400;width:100%;height:37px}
.column-filter input{min-width:240px}
.column-filter select{min-width:142px;cursor:pointer;padding-right:25px}
.user-cell{min-width:240px}
.user-login{display:grid;place-items:center;flex-shrink:0;width:29px;height:29px;margin-left:auto;border:1px solid #d9b47b38;background:#d9b47b09;border-radius:5px;color:var(--gold);font-size:18px}
.user-login:hover{background:#d9b47b23;border-color:#d9b47b88}
.users-table th,.users-table td{padding-left:18px;padding-right:18px}
.users-table .column-filter input,.users-table .user-cell{min-width:220px}
.users-table .column-filter select{min-width:130px}
/* Explicit per-variant removal and an app-owned confirmation form. */
.variant-card{display:flex;flex-direction:column;gap:8px;min-width:0}
.variant-card .variant{width:100%;flex:1;min-width:0}
.delete-variant{border:0;background:transparent;color:#d9a58c;font-size:13px;padding:8px;border-radius:5px}
.delete-variant:hover:enabled{background:#d9a58c12}
.delete-variant:disabled{color:var(--muted);cursor:not-allowed}
#delete-variant-dialog{width:min(480px,94vw)}
.delete-variant-preview{display:grid;place-items:center;padding:22px;margin:15px 0;background:#ffffff03;border:1px solid var(--line);border-radius:9px}
.delete-variant-preview svg{width:90px;height:90px}
#delete-variant-dialog .dialog-actions{justify-content:flex-end}
.danger-button{border:1px solid #ce9a7c;background:#be866b;color:#201c19;font-size:15px;border-radius:6px;padding:11px 17px;font-weight:600}
#delete-variant-error{color:#e7ae91;font-size:14px;line-height:1.7;margin-bottom:12px}

.variant small.verified-variant{color:#b4c5a2;font-size:13px}
.variant small.variant-assessment{font-size:13px;line-height:1.5}
.variant .assessment-passed{color:#b4c5a2}
.variant .assessment-review{color:var(--gold)}
.variant small.assessment-note{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.reference-panel{border:1px solid var(--line);border-radius:10px;padding:16px;margin:18px 0}
.reference-panel summary{cursor:pointer;color:var(--gold);font-size:15px}
.reference-panel p,.reference-selection{font-size:13px;line-height:1.7}
.reference-search{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.reference-search label{font-size:13px}.reference-search input{flex:1;min-width:130px;padding:11px;font-size:14px}
.reference-results{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;max-height:270px;overflow:auto}
.reference-option{border:1px solid var(--line);border-radius:8px;padding:10px 6px;background:#ffffff04;min-width:0}
.reference-option.selected{border-color:var(--gold);background:#d9b47b14}
.reference-option img{display:block;object-fit:contain;max-width:100%;border-radius:5px;margin:0 auto 8px;background:#fff}
.reference-search select{padding:11px;font-size:14px}
.reference-option span,.reference-option small{display:block;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.reference-option small{margin-top:5px;color:var(--muted)}.reference-selection{margin-top:14px}
.reference-source{display:block;color:var(--gold);font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.reference-more{margin-top:12px}.reference-more[hidden]{display:none}
.ai-summary,.ai-card-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.ai-summary{margin-bottom:22px;font-size:14px}.ai-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ai-card{padding:24px;min-width:0}.ai-card h2,.ai-app-limits h2{font-size:19px;margin:0}.ai-card p{font-size:14px;line-height:1.7}
.ai-card dl{margin:20px 0;font-size:14px}.ai-card dl>div{display:grid;grid-template-columns:75px minmax(0,1fr);gap:10px;margin:10px 0}
.ai-card dt{color:var(--muted)}.ai-card dd{margin:0;overflow-wrap:anywhere;line-height:1.6}
.ai-limits{padding-left:20px;font-size:14px;line-height:1.8}.ai-limits li+li{margin-top:8px}
.ai-key{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 0;border-top:1px solid var(--line);font-size:14px}
.ai-key>span{white-space:nowrap}.ai-key small{display:block;line-height:1.6;margin-top:5px}.ai-depleted{color:#e7ae91}
.ai-key{display:block}.ai-key-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ai-quota{padding:14px;background:#ffffff03;border:1px solid var(--line);border-radius:7px;margin:12px 0}
.ai-card .ai-quota-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 4px}
.ai-card .ai-quota-values>div{display:block;margin:0;min-width:0}.ai-quota-values dt{font-size:12px;margin-bottom:6px}.ai-quota-values dd{font-size:15px;overflow-wrap:anywhere}
.ai-quota progress{width:100%;height:5px;accent-color:var(--gold);margin:9px 0}
@media(max-width:480px){.ai-card .ai-quota-values{gap:8px}.ai-quota-values dd{font-size:13px}.ai-quota-values dt{font-size:11px}}
.ai-app-limits{padding:24px;margin-top:20px}.ai-app-limits p,.ai-footnote{font-size:13px;line-height:1.7}
@media(max-width:1000px){.ai-grid{grid-template-columns:1fr}}
@media(max-width:480px){.ai-card,.ai-app-limits{padding:18px}.ai-key{flex-wrap:wrap}.ai-summary>span{font-size:12px}nav{flex-wrap:wrap}}
@media(max-width:760px){.reference-results{grid-template-columns:repeat(3,minmax(0,1fr))}.reference-search label{flex-basis:100%}.reference-search button{padding:10px}}
