:root{--bg:#071019;--panel:#0d1923;--panel2:#111f2b;--line:#223746;--text:#f5f7f8;--muted:#91a6b4;--gold:#e8b633;--gold2:#ffd266;--danger:#c85757;--shadow:0 18px 55px rgba(0,0,0,.28)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:radial-gradient(circle at 60% -20%,#172534 0,#071019 42%);color:var(--text)}button,input,textarea,select{font:inherit}.app-shell{display:grid;grid-template-columns:285px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;background:#071018;border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 18px}.brand-icon{width:48px;height:48px;border:2px solid var(--gold);border-radius:15px;display:grid;place-items:center;color:var(--gold);font-size:23px}.brand strong{display:block;font-family:Georgia,serif;font-size:25px}.brand span{display:block;color:var(--gold2);font-family:Georgia,serif;font-style:italic;font-size:18px}nav{display:grid;gap:5px}nav button{border:0;background:transparent;color:#b8c7d0;border-radius:10px;padding:10px 13px;text-align:left;cursor:pointer;font-weight:600}nav button span{display:inline-block;width:28px;font-size:18px}nav button:hover,nav button.active{background:linear-gradient(135deg,#7c5917,#d8a82f);color:#fff}.profile-card,.local-status{border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:12px;display:flex;align-items:center;gap:10px}.profile-card{margin-bottom:10px}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#6e4d11;color:var(--gold2);font-weight:900}.profile-card small,.local-status small{display:block;color:var(--muted);margin-top:3px}
.sidebar-premium{margin-top:18px;display:grid;gap:10px}.premium-profile{margin:0;background:linear-gradient(145deg,#111f2b,#0a151e);border-color:#314655}.premium-profile .avatar{width:43px;height:43px;box-shadow:0 0 0 4px rgba(232,182,51,.08)}.premium-profile strong{font-size:15px}.premium-profile small{font-size:11px;line-height:1.25;color:#d5b85d}.sidebar-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px}.sidebar-stats>div{border:1px solid var(--line);background:#0a151e;border-radius:10px;padding:9px 10px}.sidebar-stats strong,.sidebar-stats small{display:block}.sidebar-stats strong{font-size:18px;color:var(--gold2)}.sidebar-stats small{font-size:10px;color:var(--muted);margin-top:2px}.sidebar-feature{width:100%;border:1px solid #68551f;background:linear-gradient(145deg,#1d1a10,#0d1923);color:var(--text);border-radius:12px;padding:12px;text-align:left;cursor:pointer}.sidebar-feature:hover{border-color:var(--gold);transform:translateY(-1px)}.sidebar-feature small,.sidebar-feature strong,.sidebar-feature span{display:block}.sidebar-feature small{color:var(--gold2);font-size:9px;font-weight:900;letter-spacing:.08em}.sidebar-feature strong{margin:6px 0 5px;line-height:1.22;font-size:13px}.sidebar-feature span{font-size:10px;color:var(--muted)}.sidebar-recent{border:1px solid var(--line);background:#0a151e;border-radius:12px;padding:10px}.sidebar-mini-title{color:var(--gold2);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.sidebar-recent button{width:100%;border:0;border-top:1px solid rgba(34,55,70,.7);background:transparent;color:var(--text);padding:8px 2px;text-align:left;cursor:pointer}.sidebar-recent button:first-of-type{border-top:0}.sidebar-recent button:hover span{color:var(--gold2)}.sidebar-recent span,.sidebar-recent small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-recent span{font-size:11px;font-weight:700}.sidebar-recent small{font-size:9px;color:var(--muted);margin-top:2px}.local-status{margin-top:10px;flex-shrink:0}
.status-dot{width:9px;height:9px;border-radius:50%;background:#36d176;box-shadow:0 0 12px #36d176}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:11px 28px;position:sticky;top:0;background:#08131ceF;backdrop-filter:blur(15px);z-index:20}.search-wrap{max-width:760px;flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:0 13px}.search-wrap input{width:100%;border:0;outline:0;background:transparent;color:var(--text);padding:12px 0}.btn{border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:9px;padding:10px 14px;cursor:pointer}.btn:hover{border-color:#6f8491}.btn.primary{border:0;color:#171007;background:linear-gradient(135deg,var(--gold2),var(--gold));font-weight:900}.btn.danger{color:#ffb4b4;border-color:#6c3030}.icon-btn{border:0;background:transparent;color:var(--muted);cursor:pointer}#content{padding:24px 28px 44px}.hero-banner{min-height:145px;border:1px solid var(--line);border-radius:17px;padding:28px 32px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:end;background:linear-gradient(90deg,rgba(5,10,15,.96),rgba(5,10,15,.55)),url('/images/curry.jpg') center/cover;box-shadow:var(--shadow)}.hero-banner h1{font-family:Georgia,serif;font-size:42px;margin:0 0 7px}.hero-banner p{margin:0;color:#c0ccd3}.hero-tag{font-family:Georgia,serif;color:var(--gold2);font-size:24px;font-style:italic}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:22px}.stat{border:1px solid var(--line);background:linear-gradient(145deg,#0d1923,#0b151e);border-radius:14px;padding:17px;display:flex;align-items:center;gap:15px}.stat>span{font-size:29px;color:var(--gold)}.stat strong{display:block;font-size:28px}.stat small{color:var(--muted)}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:18px}.section-head,.page-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:17px 0 12px}.section-head h2,.page-head h1{margin:0}.section-head p,.muted{color:var(--muted);margin:5px 0 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:15px}.card{border:1px solid var(--line);background:var(--panel);border-radius:14px;overflow:hidden;cursor:pointer;transition:.18s;box-shadow:0 8px 25px rgba(0,0,0,.2)}.card:hover{transform:translateY(-3px);border-color:#7b6330}.cover{height:155px;position:relative;background:linear-gradient(135deg,#4b3517,#17232e);overflow:hidden}.cover img{width:100%;height:100%;object-fit:cover}.cover:after{content:"";position:absolute;inset:auto 0 0;height:50%;background:linear-gradient(transparent,rgba(0,0,0,.52))}.cover-fallback{height:100%;display:grid;place-items:center;font-weight:900;font-size:42px}.favorite-btn{position:absolute;right:9px;top:9px;z-index:2;width:34px;height:34px;border-radius:10px;border:1px solid #ffffff2b;background:#071018d9;color:#fff;font-size:19px}.card-body{padding:13px}.eyebrow{display:flex;gap:7px;color:var(--gold2);font-size:12px;font-weight:800;margin-bottom:7px}.card h3{margin:0 0 10px;line-height:1.24;min-height:44px}.meta{display:flex;flex-wrap:wrap;gap:9px;color:var(--muted);font-size:12px}.quick-panel{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:16px;height:max-content;position:sticky;top:90px}.quick-panel h2{margin:0 0 12px}.quick-panel button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);background:#0a151e;color:var(--text);border-radius:10px;padding:12px;margin:9px 0;cursor:pointer}.quick-panel button:hover{border-color:var(--gold)}.quick-panel button>span{display:grid}.quick-panel small{color:var(--muted);margin-top:3px}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.category-card{position:relative;height:130px;border:1px solid var(--line);border-radius:13px;overflow:hidden;padding:0;background:#17212b;color:white;cursor:pointer;text-align:left}.category-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.72)}.category-art{height:100%;display:grid;place-items:center;font-size:45px}.category-overlay{position:absolute;inset:auto 0 0;padding:12px;background:linear-gradient(transparent,#05090cd9)}.category-overlay strong,.category-overlay span{display:block}.category-overlay span{font-size:12px;color:#c2cdd4;margin-top:4px}.category-row{display:flex;gap:8px;overflow:auto;margin-bottom:14px}.chip{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;padding:8px 12px;white-space:nowrap}.chip.active{background:#765518;color:#fff}.detail{max-width:1120px}.back{margin-bottom:14px}.detail-hero{display:grid;grid-template-columns:minmax(280px,420px) 1fr;border:1px solid var(--line);background:var(--panel);border-radius:16px;overflow:hidden}.detail-image{min-height:310px;background:#17130e;overflow:hidden}.detail-image img{width:100%;height:100%;object-fit:cover}.detail-info{padding:27px}.detail-info h1{font-size:38px;line-height:1.08;margin:5px 0 12px}.detail-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:19px}.detail-grid{display:grid;grid-template-columns:.9fr 1.25fr;gap:18px;margin-top:18px}.box{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:20px}.box li{line-height:1.48;margin-bottom:9px}.shopping-add{display:flex;gap:9px}.field,label input,label textarea,label select,.week-day select{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:9px;padding:11px}.shopping-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:11px 3px}.shopping-row button{margin-left:auto}.shopping-row.done span{text-decoration:line-through;opacity:.5}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.week-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.week-day{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:12px;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:13px}.empty{border:1px dashed var(--line);padding:35px;text-align:center;color:var(--muted);border-radius:12px}dialog{width:min(820px,95vw);max-height:94vh;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:16px;padding:0}dialog::backdrop{background:#000b}#recipeForm{padding:22px;overflow:auto;max-height:92vh}.modal-head{display:flex;justify-content:space-between}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:grid;gap:6px;margin:11px 0}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
@media(max-width:1050px){.dashboard-layout{grid-template-columns:1fr}.quick-panel{position:static}.stats{grid-template-columns:1fr 1fr}}
@media(max-width:800px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;overflow:visible}.sidebar-premium,.local-status{display:none}nav{grid-template-columns:repeat(4,1fr)}nav button{font-size:0;text-align:center}nav button span{font-size:20px}.detail-hero,.detail-grid,.settings-grid{grid-template-columns:1fr}.week-grid{grid-template-columns:1fr}.hero-tag{display:none}}
@media(max-width:600px){#content{padding:16px}.topbar{height:auto;flex-wrap:wrap;padding:10px 16px}.search-wrap{min-width:100%}.hero-banner{padding:22px}.hero-banner h1{font-size:31px}.stats{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.week-day{grid-template-columns:1fr}}
@media print{@page{size:A4 portrait;margin:8mm}html,body{width:210mm;height:297mm;background:#fff!important;color:#111!important;overflow:hidden!important}.sidebar,.topbar,.back,.detail-actions,.favorite-btn{display:none!important}.app-shell,.main,#content{display:block!important;margin:0!important;padding:0!important;background:#fff!important}.detail{width:194mm!important;height:281mm!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;position:relative!important;padding-bottom:8mm!important}.detail-hero{flex:0 0 58mm!important;display:grid!important;grid-template-columns:42% 58%!important;gap:6mm!important;border:0!important;border-bottom:.45mm solid #d2a62d!important;background:#fff!important;margin:0 0 5mm!important;padding-bottom:4mm!important}.detail-image{height:54mm!important;min-height:54mm!important;border-radius:3mm!important}.detail-info{padding:1mm 0!important}.detail-info h1{font-size:19pt!important;color:#111!important}.detail-info .muted,.meta{color:#333!important}.detail-grid{flex:1;display:grid!important;grid-template-columns:38% 62%!important;gap:6mm!important;margin:0!important}.detail-grid>.box{height:100%!important;border:.3mm solid #ddd!important;background:#fff!important;color:#111!important;padding:4mm!important;overflow:hidden!important}.box h2{font-size:12pt!important;border-bottom:.35mm solid #d2a62d!important;padding-bottom:1mm!important}.box li{font-size:8.3pt!important;line-height:1.17!important;margin-bottom:1.1mm!important}.detail:after{content:"Wilko's Kitchen  •  Persoonlijk receptenboek";position:absolute;left:0;right:0;bottom:0;border-top:.25mm solid #ddd;padding-top:1.5mm;text-align:center;color:#777;font-size:7.5pt}.detail.print-short .detail-hero{flex-basis:72mm!important}.detail.print-short .detail-image{height:68mm!important;min-height:68mm!important}.detail.print-short .box li{font-size:9.5pt!important;line-height:1.35!important}.detail.print-long .detail-hero{flex-basis:50mm!important}.detail.print-long .detail-image{height:46mm!important;min-height:46mm!important}.detail.print-long .box{padding:3mm!important}.detail.print-long .box li{font-size:7.6pt!important;line-height:1.1!important;margin-bottom:.7mm!important}}

.import-preview{border:1px dashed var(--line);border-radius:10px;padding:14px;min-height:90px}.preview-card h3{margin:0 0 6px}.error-text{color:#ff9b9b}.success-text{color:#69db9b}.audit-list{display:grid;gap:8px}.audit-item{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:10px;border:1px solid var(--line);border-radius:9px}.audit-item.fout{border-color:#7d3434}.audit-item.waarschuwing{border-color:#806c2c}.audit-item.info{border-color:#315d75}.audit-item strong{text-transform:capitalize}.success-box{padding:18px;border:1px solid #286744;border-radius:10px;color:#7fe0a8;background:#0e2a1c}

.import-file-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 14px}.import-file-row input[type=file]{max-width:420px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text)}

.app-notice{position:fixed;right:24px;bottom:24px;z-index:9999;max-width:520px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#132330;color:#fff;box-shadow:0 16px 40px rgba(0,0,0,.38);font-weight:700}
.app-notice.success{border-color:#3a9b68;background:#123526}
.app-notice.warning{border-color:#d5a52c;background:#3b2e10}
.app-notice.error{border-color:#d95b5b;background:#421b1b}

#imageWorkflowModal{width:min(760px,94vw)} .workflow-step{border:1px solid var(--line);border-radius:16px;padding:18px;margin:14px 0;background:var(--panel)} .workflow-step h3{margin-top:0} #imagePrompt{width:100%;resize:vertical} #approvedImage{display:block;margin:12px 0}

.image-search-shell{padding:20px}.image-search-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.stock-candidate{margin-top:14px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#08131b}.stock-candidate img{display:block;width:100%;max-height:430px;object-fit:cover}.stock-candidate.empty{padding:35px;text-align:center;color:var(--muted)}.stock-meta{display:grid;gap:5px;padding:13px}.stock-meta span,.stock-meta small{color:var(--muted)}.stock-meta a,.image-credit a{color:var(--gold2)}.image-credit{position:absolute;left:8px;bottom:8px;z-index:3;background:#000b;color:#ddd;padding:4px 7px;border-radius:6px;font-size:10px}.detail-image{position:relative}

.stock-query-row{display:flex;gap:10px;margin:14px 0}.stock-query-row input{flex:1;min-width:0;background:#0b1721;border:1px solid #29404f;color:#fff;border-radius:10px;padding:11px 13px}.stock-query-row input:focus{outline:2px solid #d7a52a;outline-offset:1px}

.own-image-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.own-image-row input[type=file]{max-width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--text)}

/* v2.0 afbeeldingsworkflow */
.license-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.license-form label{display:flex;flex-direction:column;gap:6px}.license-form .wide{grid-column:1/-1}.license-card{margin-top:18px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.license-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.license-card dl{display:grid;grid-template-columns:150px 1fr;gap:8px 14px;margin:14px 0}.license-card dt{color:var(--muted)}.license-card dd{margin:0;overflow-wrap:anywhere}.license-card.green{border-color:rgba(64,180,110,.5)}.license-card.orange{border-color:rgba(235,168,55,.55)}.license-card.red{border-color:rgba(220,80,80,.55)}.risk-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.risk-badge.green{background:rgba(64,180,110,.16);color:#78d89b}.risk-badge.orange{background:rgba(235,168,55,.16);color:#f0bb62}.risk-badge.red{background:rgba(220,80,80,.16);color:#ef8989}.license-table{display:flex;flex-direction:column}.license-row{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1fr auto;gap:14px;align-items:center;padding:13px 8px;border-bottom:1px solid var(--border)}.license-row.header{font-size:12px;text-transform:uppercase;color:var(--muted);font-weight:700}.btn.small{padding:7px 10px;font-size:12px}@media(max-width:900px){.license-form{grid-template-columns:1fr}.license-form .wide{grid-column:auto}.license-row{grid-template-columns:1fr}.license-row.header{display:none}.license-card dl{grid-template-columns:1fr}}
@media print{.license-card{display:block!important;break-inside:avoid;padding:8mm 0 0;margin-top:auto;border:0;border-top:1px solid #bbb;border-radius:0;background:transparent;color:#222}.license-card>div:first-child{margin-bottom:2mm}.license-card dl{grid-template-columns:30mm 1fr;gap:1mm 3mm;margin:2mm 0;font-size:8pt}.license-card p,.license-card small{font-size:7.5pt}.risk-badge{border:1px solid #999;background:transparent!important;color:#222!important}}

.chatgpt-btn{border-color:#d7a62b;background:linear-gradient(135deg,rgba(215,166,43,.18),rgba(215,166,43,.06));}
.chatgpt-workflow{border-color:rgba(215,166,43,.42);background:linear-gradient(145deg,rgba(215,166,43,.08),rgba(255,255,255,.015));}
#chatGptPrompt{width:100%;resize:vertical;min-height:150px;margin-top:12px;padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);font:inherit;line-height:1.45;}

/* v2.0 Foundation */
.easy-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 14px}.easy-steps span{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.03);font-size:.88rem}.easy-steps b{display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:var(--accent);color:#17120a}.workflow-status{margin:10px 0;padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.03)}.workflow-status.success{border-color:#3f8b64;background:rgba(63,139,100,.12)}.workflow-status.warning{border-color:#b88a3f;background:rgba(184,138,63,.12)}.workflow-status kbd{padding:2px 6px;border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;background:#151515}.small-note{font-size:.86rem}@media(max-width:900px){.easy-steps{grid-template-columns:1fr 1fr}}@media(max-width:560px){.easy-steps{grid-template-columns:1fr}}

/* Module 1B - professionele receptdetailpagina */
.detail-v2{max-width:1380px;margin:0 auto}.detail-v2 .back{margin-bottom:16px}.recipe-hero-v2{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}.recipe-hero-image{height:clamp(360px,48vw,590px);position:relative;overflow:hidden;background:linear-gradient(135deg,#2b2115,#0d1923)}.recipe-hero-image>img{width:100%;height:100%;object-fit:cover;display:block}.recipe-hero-image>.cover-fallback,.recipe-hero-image>div:not(.recipe-hero-shade):not(.recipe-hero-copy):not(.image-credit){height:100%;display:grid;place-items:center;font-family:Georgia,serif;font-size:84px;font-weight:900;color:#fff;background:linear-gradient(135deg,#4c3516,#15222c)}.recipe-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,15,.06) 24%,rgba(5,10,15,.88) 100%)}.recipe-hero-copy{position:absolute;left:clamp(24px,4vw,58px);right:clamp(24px,4vw,58px);bottom:clamp(25px,4vw,48px);max-width:920px;z-index:2}.recipe-kicker{display:flex;gap:9px;align-items:center;color:var(--gold2);font-size:13px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.recipe-kicker span{opacity:.65}.recipe-hero-copy h1{font-family:Georgia,serif;font-size:clamp(38px,5vw,72px);line-height:1.01;margin:10px 0 12px;text-shadow:0 3px 18px #000}.recipe-hero-copy p{max-width:780px;margin:0;color:#d8e0e5;font-size:clamp(15px,1.5vw,19px);line-height:1.55}.recipe-commandbar{position:relative;display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid var(--line);background:linear-gradient(145deg,#0d1923,#09151e);border-radius:16px;padding:15px 17px;margin:16px 0 20px}.recipe-metrics{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));flex:1;max-width:750px}.recipe-metric{display:flex;align-items:center;gap:11px;padding:4px 17px;border-right:1px solid var(--line)}.recipe-metric:first-child{padding-left:3px}.recipe-metric:last-child{border-right:0}.metric-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e8b63317;color:var(--gold2);font-size:19px}.recipe-metric small,.recipe-metric strong{display:block}.recipe-metric small{color:var(--muted);font-size:11px;margin-bottom:2px}.recipe-metric strong{font-size:14px}.recipe-primary-actions{position:relative;display:flex;gap:8px;align-items:center}.favorite-active{color:#ffd266;border-color:#8b6b20;background:#35280e}.recipe-action-menu{position:absolute;right:0;top:calc(100% + 9px);z-index:40;width:315px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#0b1720;box-shadow:0 22px 55px #0009}.recipe-action-menu[hidden]{display:none}.recipe-action-menu button{display:block;width:100%;border:0;border-radius:8px;background:transparent;color:var(--text);padding:11px 12px;text-align:left;cursor:pointer}.recipe-action-menu button:hover{background:#172732}.recipe-action-menu .danger-text{color:#ffaaaa}.recipe-content-v2{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(460px,1.28fr);gap:20px;align-items:start}.ingredients-panel,.steps-panel{border:1px solid var(--line);background:linear-gradient(145deg,#0d1923,#0a161f);border-radius:17px;padding:clamp(20px,2.4vw,32px)}.ingredients-panel{position:sticky;top:92px}.content-heading{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.content-heading>span{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#785718,#d5a62e);color:#fff;font-weight:900}.content-heading h2{font-family:Georgia,serif;font-size:28px;margin:0}.content-heading p{color:var(--muted);font-size:12px;margin:4px 0 0}.ingredient-list-v2{list-style:none;padding:0;margin:0;display:grid}.ingredient-list-v2 li{display:grid;grid-template-columns:31px 1fr;align-items:start;gap:11px;padding:11px 0;border-bottom:1px solid #223746a8;line-height:1.5}.ingredient-list-v2 li:last-child{border-bottom:0}.ingredient-check{width:27px;height:27px;display:grid;place-items:center;border:1px solid #5c7080;border-radius:8px;color:var(--gold2);font-size:11px;font-weight:800}.recipe-note{margin-top:22px;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;background:#e8b6330d;padding:14px 16px}.recipe-note strong{color:var(--gold2)}.recipe-note p{line-height:1.55;margin:7px 0 0}.step-list-v2{list-style:none;padding:0;margin:0;display:grid;gap:12px}.step-list-v2>li{display:grid;grid-template-columns:55px 1fr;gap:15px;border:1px solid #223746;background:#08131b;border-radius:13px;padding:17px;transition:.16s}.step-list-v2>li:hover{border-color:#6d5a2d;transform:translateX(2px)}.step-number{width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:#e8b63314;color:var(--gold2);font-family:Georgia,serif;font-size:18px;font-weight:900}.step-copy h3{font-size:14px;color:var(--gold2);margin:1px 0 7px}.step-copy p{font-size:15px;line-height:1.66;margin:0;color:#e4eaed}.empty-copy{color:var(--muted);padding:20px 0}.detail-v2>.license-card{margin-top:20px}
@media(max-width:1120px){.recipe-commandbar{align-items:flex-start;flex-direction:column}.recipe-metrics{width:100%;max-width:none}.recipe-primary-actions{width:100%;justify-content:flex-end}.recipe-content-v2{grid-template-columns:minmax(270px,.85fr) 1.15fr}}
@media(max-width:800px){.recipe-hero-image{height:430px}.recipe-hero-copy h1{font-size:39px}.recipe-metrics{grid-template-columns:repeat(2,1fr)}.recipe-metric:nth-child(2){border-right:0}.recipe-metric:nth-child(-n+2){border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:8px}.recipe-primary-actions{justify-content:flex-start;flex-wrap:wrap}.recipe-content-v2{grid-template-columns:1fr}.ingredients-panel{position:static}.recipe-action-menu{left:0;right:auto}.step-list-v2>li{grid-template-columns:46px 1fr;padding:14px}.step-number{width:38px;height:38px}}
@media print{.detail-v2 .recipe-commandbar{display:none!important}.detail-v2 .recipe-hero-v2{border:0!important;box-shadow:none!important;border-radius:0!important}.detail-v2 .recipe-hero-image{height:62mm!important}.detail-v2 .recipe-hero-copy{left:6mm!important;right:6mm!important;bottom:5mm!important}.detail-v2 .recipe-hero-copy h1{font-size:21pt!important;color:white!important}.detail-v2 .recipe-hero-copy p{font-size:8pt!important;color:white!important}.detail-v2 .recipe-content-v2{display:grid!important;grid-template-columns:38% 62%!important;gap:5mm!important;margin-top:5mm!important}.detail-v2 .ingredients-panel,.detail-v2 .steps-panel{position:static!important;border:.3mm solid #ddd!important;background:#fff!important;color:#111!important;padding:3.5mm!important;overflow:hidden!important}.detail-v2 .content-heading{padding-bottom:2mm!important;margin-bottom:2mm!important}.detail-v2 .content-heading>span{width:8mm!important;height:8mm!important}.detail-v2 .content-heading h2{font-size:11pt!important;color:#111!important}.detail-v2 .content-heading p{display:none!important}.detail-v2 .ingredient-list-v2 li{grid-template-columns:6mm 1fr!important;padding:1mm 0!important;font-size:7.5pt!important;color:#111!important}.detail-v2 .ingredient-check{width:5mm!important;height:5mm!important}.detail-v2 .step-list-v2{gap:1.5mm!important}.detail-v2 .step-list-v2>li{grid-template-columns:8mm 1fr!important;border:0!important;border-bottom:.2mm solid #ddd!important;border-radius:0!important;background:#fff!important;padding:1.4mm 0!important}.detail-v2 .step-number{width:7mm!important;height:7mm!important;font-size:8pt!important}.detail-v2 .step-copy h3{font-size:8pt!important;margin:0 0 .5mm!important}.detail-v2 .step-copy p{font-size:7.5pt!important;line-height:1.18!important;color:#111!important}.detail-v2>.license-card{display:none!important}}

/* Module 1B.1: slimme ingrediëntgroepen en afvinkbare kookstappen */
.ingredient-groups{display:grid;gap:1.15rem;margin-top:1rem}
.ingredient-group{border-top:1px solid var(--border);padding-top:.9rem}
.ingredient-group:first-child{border-top:0;padding-top:0}
.ingredient-group h3{margin:0 0 .55rem;color:var(--accent);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.ingredient-list-v2 li{padding:.58rem 0}
.ingredient-list-v2 label{display:flex;align-items:flex-start;gap:.7rem;cursor:pointer;width:100%}
.ingredient-list-v2 input,.step-check input{position:absolute;opacity:0;pointer-events:none}
.ingredient-list-v2 label::before{content:'✓';display:grid;place-items:center;flex:0 0 1.35rem;height:1.35rem;border:1px solid var(--border);border-radius:.38rem;color:transparent;font-size:.8rem;transition:.18s ease}
.ingredient-list-v2 label:has(input:checked)::before{background:var(--accent);border-color:var(--accent);color:#111}
.ingredient-list-v2 label:has(input:checked) span{text-decoration:line-through;opacity:.55}
.step-list-v2>li{position:relative;padding-left:3.6rem}
.step-check{position:absolute;left:1rem;top:1.05rem;cursor:pointer}
.step-check span{display:block;width:1.45rem;height:1.45rem;border:1px solid var(--border);border-radius:50%;transition:.18s ease}
.step-check input:checked+span{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 4px var(--panel)}
.step-list-v2>li:has(.step-check input:checked){opacity:.55}
.step-list-v2>li:has(.step-check input:checked) .step-copy p{text-decoration:line-through}
@media(max-width:760px){.step-list-v2>li{padding-left:3.2rem}}

/* Module 1B.2 - correcte regelbreedte en parserweergave */
.ingredient-list-v2 li{display:block!important;grid-template-columns:none!important}
.ingredient-list-v2 label{display:grid!important;grid-template-columns:1.35rem minmax(0,1fr)!important;align-items:start!important;width:100%!important}
.ingredient-list-v2 label::before{grid-column:1}
.ingredient-list-v2 label>span{grid-column:2;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.step-list-v2>li{grid-template-columns:55px minmax(0,1fr)!important;padding:17px!important}
.step-check{position:absolute;right:14px;top:14px;width:24px;height:24px;display:grid;place-items:center;cursor:pointer;z-index:2}
.step-check>span{width:22px;height:22px;border:1px solid #526776;border-radius:7px;display:grid;place-items:center}
.step-check>span::after{content:'✓';color:transparent;font-size:13px;font-weight:900}
.step-check:has(input:checked)>span{background:var(--accent);border-color:var(--accent)}
.step-check:has(input:checked)>span::after{color:#111}
.step-copy{min-width:0;padding-right:32px}
.step-copy p{white-space:normal;overflow-wrap:break-word}
@media(max-width:760px){.step-list-v2>li{grid-template-columns:46px minmax(0,1fr)!important;padding:14px!important}.step-copy{padding-right:28px}}

/* Module 1B.3: één rustige ingrediëntenlijst zonder categorie-indeling */
.ingredient-list-simple{margin-top:.35rem}
.ingredient-list-simple li:first-child{padding-top:.25rem}


/* Module 1B.6 - databaseonderhoud */
.maintenance-box{grid-column:1/-1;border-color:rgba(244,190,45,.34);background:linear-gradient(145deg,rgba(244,190,45,.055),rgba(8,25,35,.96))}
.maintenance-heading{display:flex;gap:22px;align-items:flex-start;justify-content:space-between}
.maintenance-heading h2{margin-top:0}
.maintenance-status{white-space:nowrap;border:1px solid rgba(50,210,125,.35);color:#75e8a8;background:rgba(50,210,125,.09);border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:800}
.maintenance-result{margin:18px 0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.12);line-height:1.55}
@media(max-width:720px){.maintenance-heading{display:block}.maintenance-status{display:inline-block;margin-top:8px}}

/* v2.2.1: expliciete bronvermelding op receptfoto */
.image-credit-explicit{display:grid;gap:2px;max-width:calc(100% - 16px);font-size:10px;line-height:1.35;background:rgba(0,0,0,.78);border:1px solid rgba(255,255,255,.16)}
.image-credit-explicit>div{white-space:normal}
@media print{.detail-v2 .image-credit-explicit{display:grid!important;left:3mm!important;bottom:3mm!important;max-width:calc(100% - 6mm)!important;padding:1.2mm 2mm!important;font-size:6.5pt!important;color:#fff!important;background:rgba(0,0,0,.78)!important;border:.2mm solid rgba(255,255,255,.35)!important}.detail-v2 .image-credit-explicit a{color:#fff!important;text-decoration:none!important}}
.import-quality{display:grid;gap:14px}.quality-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.quality-head h3{margin:2px 0 0}.quality-score{font-size:2rem}.quality-track{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.quality-track span{display:block;height:100%;background:var(--gold,#f5c84c)}.import-quality.good .quality-track span{background:#30c878}.import-quality.blocked .quality-track span{background:#ef6565}.import-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.import-edit-grid label{display:grid;gap:6px}.import-edit-grid .wide{grid-column:1/-1}.import-edit-grid input,.import-edit-grid textarea{width:100%;box-sizing:border-box}.import-problems{padding:12px;border:1px solid currentColor;border-radius:12px}.import-problems ul{margin:8px 0 0;padding-left:20px}.warning-text{color:#f2bd55}@media(max-width:720px){.import-edit-grid{grid-template-columns:1fr}.import-edit-grid .wide{grid-column:auto}}
.import-log{margin-top:18px}.table-wrap{overflow-x:auto}.import-log table{width:100%;border-collapse:collapse}.import-log th,.import-log td{padding:10px 12px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);white-space:nowrap}.score-badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:rgba(242,189,85,.15);color:#f2bd55}.score-badge.good{background:rgba(48,200,120,.15);color:#30c878}.score-badge.blocked{background:rgba(239,101,101,.15);color:#ef6565}

.import-document-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin:12px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:.88rem}.import-document-meta strong{color:var(--text)}

/* Build- en versiecontrole */
.version-status{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer}.version-status:hover{border-color:var(--gold)}
.version-status.version-mismatch{border-color:#d85c5c;background:#241417}.version-status.version-mismatch .status-dot{background:#ff6262;box-shadow:0 0 12px #ff6262}
.version-status.version-ok{border-color:#285b43}.version-status.version-checking .status-dot{background:#e8b633;box-shadow:0 0 12px #e8b633}
.version-info-modal{width:min(680px,94vw)}.version-info-shell{padding:22px}.version-info-content{margin-top:18px}.version-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.version-row{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:12px}.version-row span,.version-row strong{display:block}.version-row span{color:var(--muted);font-size:12px;margin-bottom:5px}.version-row strong{overflow-wrap:anywhere}.version-verdict{border-radius:10px;padding:13px;margin-bottom:14px;font-weight:800}.version-verdict.ok{background:#123524;color:#72e3a8;border:1px solid #285b43}.version-verdict.error{background:#35171a;color:#ff9b9b;border:1px solid #7c343b}.version-copy{margin-top:15px;display:flex;justify-content:flex-end}
@media(max-width:800px){.version-grid{grid-template-columns:1fr}}

/* Wilko's Kitchen v3.0 Development 1 */
.premium-profile{align-items:flex-start}.premium-profile .avatar{flex:0 0 46px;width:46px;height:46px;background:linear-gradient(135deg,#8a641c,#d6a62e);color:#151008}.premium-profile strong{display:block;line-height:1.2}.premium-profile small{display:block;color:#c6d1d8!important;margin-top:4px}.premium-profile em{display:block;color:var(--gold2);font-family:Georgia,serif;font-size:12px;margin-top:5px}.sidebar-premium{margin-top:auto;padding-top:18px}.sidebar-feature{margin-top:0}.hero-v3{min-height:290px;align-items:center;padding:38px 42px;background:linear-gradient(90deg,rgba(5,10,15,.98),rgba(5,10,15,.62)),url('/images/curry.jpg') center/cover}.hero-v3-copy>small{color:var(--gold2);font-weight:900;letter-spacing:.15em}.hero-v3 h1{font-size:clamp(34px,4vw,58px);margin:12px 0 8px}.hero-question{font-size:clamp(18px,2vw,25px);color:#fff!important;font-weight:700}.hero-inspiration{margin-top:10px!important;font-family:Georgia,serif;font-style:italic;color:#d7c17e!important}.hero-actions{display:flex;gap:10px;margin-top:24px}.hero-brandmark{min-width:190px;text-align:center;padding:24px;border:1px solid rgba(232,182,51,.35);border-radius:18px;background:rgba(6,14,20,.66);backdrop-filter:blur(8px)}.hero-brandmark span{width:66px;height:66px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#8a641c,#e2b43a);color:#171108;font-size:24px;font-weight:950}.hero-brandmark strong,.hero-brandmark small{display:block}.hero-brandmark strong{font-family:Georgia,serif;font-size:20px}.hero-brandmark small{color:var(--gold2);margin-top:5px}.daily-highlight{display:grid;grid-template-columns:minmax(260px,38%) 1fr;min-height:245px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:linear-gradient(145deg,#0d1923,#09141c);margin-bottom:22px;box-shadow:0 14px 38px rgba(0,0,0,.2)}.daily-highlight-image{min-height:245px;background:#17212b}.daily-highlight-image img,.daily-highlight-image .cover-fallback{width:100%;height:100%;object-fit:cover}.daily-highlight-copy{padding:30px 34px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.daily-highlight-copy>small{color:var(--gold2);font-weight:900;letter-spacing:.12em}.daily-highlight-copy h2{font-family:Georgia,serif;font-size:34px;margin:9px 0}.daily-highlight-copy p{color:var(--muted);line-height:1.6;max-width:720px}.daily-highlight-copy .meta{margin:5px 0 20px}.stats-bottom{margin:24px 0 0}.settings-grid label input{margin-top:8px}
@media(max-width:1000px){.hero-brandmark{display:none}.hero-v3{min-height:250px}.daily-highlight{grid-template-columns:1fr}.daily-highlight-image{height:220px;min-height:220px}.daily-highlight-copy{padding:24px}}
@media(max-width:700px){.hero-v3{padding:28px 22px}.hero-actions{flex-wrap:wrap}.daily-highlight-copy h2{font-size:27px}.stats-bottom{grid-template-columns:repeat(2,1fr)}}

/* Wilko's Kitchen v3.0 Development 2 */
.hero-tip-card{min-width:250px;max-width:310px;padding:24px;border:1px solid rgba(232,182,51,.38);border-radius:18px;background:linear-gradient(145deg,rgba(16,31,43,.92),rgba(8,19,27,.88));box-shadow:0 18px 45px rgba(0,0,0,.25);backdrop-filter:blur(10px)}.hero-tip-card .hero-tip-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(232,182,51,.13);font-size:24px;margin-bottom:15px}.hero-tip-card small,.hero-tip-card strong{display:block}.hero-tip-card small{color:var(--gold2);font-size:10px;font-weight:900;letter-spacing:.12em}.hero-tip-card strong{font-family:Georgia,serif;font-size:23px;line-height:1.2;margin:9px 0}.hero-tip-card p{color:#c4d0d7;line-height:1.55;margin:0}.daily-badges{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 22px}.daily-badges span{border:1px solid #304656;background:#0a151e;border-radius:999px;padding:7px 11px;color:#c8d3da;font-size:12px;font-weight:700}.daily-actions{display:flex;flex-wrap:wrap;gap:10px}.hero-inspiration{min-height:22px}.hero-v3 .hero-question{margin-bottom:0}.hero-v3 .hero-inspiration{margin-bottom:0}
@media(max-width:960px){.hero-tip-card{max-width:none;width:100%;margin-top:20px}.hero-v3{display:block}.daily-highlight{grid-template-columns:1fr}.daily-highlight-image{min-height:280px}}


/* v3.0 Development 3 - Sprint 1: slimme afbeeldingsweergave zonder opschalen */
.recipe-hero-image,.daily-highlight-image{isolation:isolate}
.recipe-hero-image.image-no-upscale,.daily-highlight-image.image-no-upscale{
  display:flex;align-items:center;justify-content:center;
  background-image:linear-gradient(rgba(5,10,15,.42),rgba(5,10,15,.72)),var(--smart-image-url);
  background-position:center;background-size:cover;background-repeat:no-repeat;
}
.recipe-hero-image.image-no-upscale::before,.daily-highlight-image.image-no-upscale::before{
  content:"";position:absolute;inset:-18px;z-index:-1;
  background-image:var(--smart-image-url);background-position:center;background-size:cover;
  filter:blur(22px) brightness(.48);transform:scale(1.08);
}
.recipe-hero-image.image-no-upscale>img,.daily-highlight-image.image-no-upscale>img{
  width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;
  position:relative;z-index:0;box-shadow:0 0 36px rgba(0,0,0,.45)
}
.recipe-hero-image.image-cover-safe>img,.daily-highlight-image.image-cover-safe>img{
  width:100%;height:100%;object-fit:cover
}
.recipe-hero-image.image-no-upscale::after,.daily-highlight-image.image-no-upscale::after{
  content:"Originele foto • niet uitvergroot";position:absolute;top:12px;right:12px;z-index:4;
  padding:6px 9px;border:1px solid rgba(255,255,255,.2);border-radius:8px;
  background:rgba(5,10,15,.78);color:#dce5ea;font-size:11px;backdrop-filter:blur(8px)
}
.recipe-hero-image.image-load-failed::before,.daily-highlight-image.image-load-failed::before{
  content:"WK";position:absolute;inset:0;display:grid;place-items:center;
  font-family:Georgia,serif;font-size:84px;font-weight:900;color:#fff;
  background:linear-gradient(135deg,#4c3516,#15222c)
}
@media(max-width:700px){
  .recipe-hero-image.image-no-upscale::after,.daily-highlight-image.image-no-upscale::after{font-size:10px;top:8px;right:8px}
}


/* Development 4 - Sprint 2: Premium Media Manager */
.recipe-media-card{margin-top:20px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#0d1923,#0a161f);padding:22px 24px;box-shadow:var(--shadow)}
.recipe-media-card.quality-green{border-color:rgba(64,180,110,.45)}.recipe-media-card.quality-orange{border-color:rgba(235,168,55,.52)}.recipe-media-card.quality-red{border-color:rgba(220,80,80,.52)}
.media-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.media-card-head small{color:var(--gold2);font-weight:900;letter-spacing:.1em}.media-card-head h2{font-family:Georgia,serif;font-size:28px;margin:4px 0 0}
.media-quality-badge{display:inline-flex;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900;background:#20313d;color:#dbe8ef}.media-quality-badge.green{background:rgba(64,180,110,.16);color:#78d89b}.media-quality-badge.orange{background:rgba(235,168,55,.16);color:#f0bb62}.media-quality-badge.red{background:rgba(220,80,80,.16);color:#ef8989}
.media-preview-row{display:grid;grid-template-columns:minmax(420px,1.2fr) minmax(280px,.8fr);gap:20px}.media-facts{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));border:1px solid var(--line);border-radius:13px;overflow:hidden}.media-facts>div{padding:15px;border-right:1px solid var(--line)}.media-facts>div:last-child{border-right:0}.media-facts span,.media-facts strong{display:block}.media-facts span{color:var(--muted);font-size:11px;margin-bottom:5px}.media-facts strong{font-size:14px;overflow-wrap:anywhere}.media-stars{color:var(--gold2);letter-spacing:1px}
.media-advice{border-left:3px solid var(--gold);border-radius:0 10px 10px 0;background:#e8b6330d;padding:14px 16px;display:flex;flex-direction:column;justify-content:center;gap:6px}.media-advice span{color:var(--muted);font-size:12px;line-height:1.5}.media-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
@media(max-width:950px){.media-preview-row{grid-template-columns:1fr}.media-facts{grid-template-columns:repeat(2,1fr)}.media-facts>div:nth-child(2){border-right:0}.media-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:560px){.media-facts{grid-template-columns:1fr}.media-facts>div{border-right:0;border-bottom:1px solid var(--line)}.media-actions{flex-direction:column}.media-actions .btn{width:100%}}
@media print{.recipe-media-card{display:none!important}}


/* Development 5 - Premium receptpagina */
.recipe-hero-shade{background:linear-gradient(90deg,rgba(4,9,13,.78) 0%,rgba(4,9,13,.34) 48%,rgba(4,9,13,.08) 72%),linear-gradient(180deg,rgba(5,10,15,.04) 28%,rgba(5,10,15,.82) 100%)}
.recipe-hero-copy{bottom:clamp(38px,5vw,66px);max-width:860px}
.image-credit-explicit{opacity:.48;transition:opacity .18s ease,transform .18s ease;transform:translateY(2px)}
.recipe-hero-image:hover .image-credit-explicit{opacity:.95;transform:translateY(0)}
.media-manager-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(480px,1.22fr);gap:20px;align-items:stretch}
.hero-preview{border:1px solid var(--line);border-radius:13px;padding:14px;background:#08131b;display:flex;flex-direction:column;gap:9px}.hero-preview>span{font-size:11px;font-weight:900;letter-spacing:.09em;color:var(--gold2)}.hero-preview small{color:var(--muted);line-height:1.45}.hero-preview-frame{aspect-ratio:16/7;border-radius:10px;overflow:hidden;background:#111}.hero-preview-frame img{width:100%;height:100%;object-fit:cover;display:block}.media-facts em{display:block;color:var(--muted);font-size:10px;font-style:normal;margin-top:4px;line-height:1.35}.media-manager-grid .media-facts{grid-template-columns:repeat(2,minmax(140px,1fr));margin-bottom:12px}.media-manager-grid .media-facts>div:nth-child(2){border-right:0}.media-manager-grid .media-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
@media(max-width:1000px){.media-manager-grid{grid-template-columns:1fr}}
@media(max-width:700px){.recipe-hero-copy{bottom:34px}.recipe-hero-shade{background:linear-gradient(180deg,rgba(5,10,15,.08) 18%,rgba(5,10,15,.9) 100%)}}


/* Development 6 - Media Studio */
.recipe-hero-image>img{object-position:var(--focus-x,50%) var(--focus-y,50%)}
.media-studio-step{border-color:rgba(240,190,55,.38);background:linear-gradient(145deg,rgba(240,190,55,.055),rgba(8,19,27,.7))}
.studio-badge{font-size:11px;font-weight:900;letter-spacing:.1em;color:#0b151d;background:var(--gold2);padding:5px 9px;border-radius:999px}
.media-studio-layout{display:grid;grid-template-columns:minmax(420px,1.15fr) minmax(280px,.85fr);gap:22px;align-items:start}
.studio-preview-panel,.studio-controls{border:1px solid var(--line);border-radius:14px;background:#08131b;padding:14px}
.studio-device-tabs{display:flex;gap:7px;margin-bottom:10px}.studio-device-tabs button{border:1px solid var(--line);background:#0b1821;color:var(--muted);padding:7px 11px;border-radius:8px;font-weight:800;cursor:pointer}.studio-device-tabs button.active{background:var(--gold);color:#111;border-color:var(--gold)}
.studio-preview-frame{position:relative;overflow:hidden;border-radius:11px;background:#101820;aspect-ratio:16/7;touch-action:none;cursor:grab}.studio-preview-frame.mobile{aspect-ratio:4/5;max-width:310px;margin-inline:auto}.studio-preview-frame:active{cursor:grabbing}.studio-preview-frame img{width:100%;height:100%;object-fit:cover;display:block;user-select:none;pointer-events:none}.studio-preview-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:20px;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.08) 70%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 60%);pointer-events:none}.studio-preview-overlay small{color:var(--gold2);font-weight:900;letter-spacing:.09em}.studio-preview-overlay strong{font-family:Georgia,serif;font-size:clamp(24px,3vw,42px);line-height:1;color:white;max-width:85%}
.studio-controls{display:flex;flex-direction:column;gap:15px}.studio-controls label{font-weight:800}.studio-controls output{float:right;color:var(--gold2)}.studio-controls input[type=range]{display:block;width:100%;margin-top:10px;accent-color:var(--gold)}.studio-focus-presets{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:900px){.media-studio-layout{grid-template-columns:1fr}}

/* Development 8 - Media Studio responsive polish */
#imageWorkflowModal{
  width:min(1000px,calc(100vw - 32px));
  max-width:1000px;
  overflow:hidden;
}
#imageWorkflowModal .image-search-shell{
  box-sizing:border-box;
  width:100%;
  max-height:92vh;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable;
}
#imageWorkflowModal .workflow-step,
#imageWorkflowModal .media-studio-layout,
#imageWorkflowModal .studio-preview-panel,
#imageWorkflowModal .studio-controls{
  box-sizing:border-box;
  min-width:0;
}
#imageWorkflowModal .media-studio-layout{
  grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);
}
#imageWorkflowModal .studio-preview-frame,
#imageWorkflowModal .studio-preview-frame img{
  max-width:100%;
}
@media(max-width:760px){
  #imageWorkflowModal{width:calc(100vw - 20px)}
  #imageWorkflowModal .image-search-shell{padding:14px}
  #imageWorkflowModal .media-studio-layout{grid-template-columns:1fr;gap:14px}
  #imageWorkflowModal .image-search-head{flex-wrap:wrap}
  #imageWorkflowModal .studio-controls{width:100%}
}
@media(max-width:520px){
  #imageWorkflowModal .workflow-step{padding:13px}
  #imageWorkflowModal .studio-preview-overlay{padding:14px}
  #imageWorkflowModal .studio-preview-overlay strong{font-size:24px}
  #imageWorkflowModal .detail-actions>.btn{flex:1 1 100%}
}

/* Development 9 - Receptfoto's */
.gallery-workflow{border-color:rgba(90,155,205,.28)}
.gallery-upload-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0 8px}
.recipe-gallery-manager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.recipe-gallery-manager.empty{display:block;border:1px dashed var(--line);border-radius:12px;padding:18px;color:var(--muted)}
.gallery-manager-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;border:1px solid var(--line);border-radius:12px;padding:10px;background:#08131b;min-width:0}
.gallery-manager-card img{width:150px;height:110px;object-fit:cover;border-radius:9px;display:block}
.gallery-manager-meta{display:flex;flex-direction:column;gap:6px;min-width:0}.gallery-manager-meta small{color:var(--muted);overflow-wrap:anywhere}.gallery-manager-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}
.recipe-gallery-section{margin-top:20px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#0d1923,#0a161f);padding:22px 24px;box-shadow:var(--shadow)}
.recipe-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.recipe-gallery-grid figure{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#08131b}.recipe-gallery-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.recipe-gallery-grid figcaption{padding:8px 10px;color:var(--muted);font-size:11px}
@media(max-width:800px){.recipe-gallery-manager{grid-template-columns:1fr}.recipe-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.gallery-manager-card{grid-template-columns:1fr}.gallery-manager-card img{width:100%;height:auto;aspect-ratio:4/3}.recipe-gallery-grid{grid-template-columns:1fr}}
@media print{.recipe-gallery-section{break-inside:avoid}.recipe-gallery-grid{grid-template-columns:repeat(2,1fr)}}

/* Development 11 - Wilko's Kitchen Hero Guard modal */
.hero-guard-modal{width:min(940px,94vw);max-height:92vh;padding:0;border:1px solid rgba(240,190,55,.42);border-radius:18px;background:#0b1822;color:var(--text);box-shadow:0 28px 90px rgba(0,0,0,.6)}
.hero-guard-modal::backdrop{background:rgba(2,8,12,.78);backdrop-filter:blur(4px)}
.hero-guard-shell{padding:22px}.hero-guard-grid{display:grid;grid-template-columns:minmax(320px,1.08fr) minmax(280px,.92fr);gap:20px;margin-top:18px}.hero-guard-preview-panel{border:1px solid var(--line);border-radius:14px;padding:13px;background:#07131c;display:grid;gap:9px}.hero-guard-preview-panel small{color:var(--muted);line-height:1.45}.hero-guard-preview-frame{aspect-ratio:16/7;border-radius:11px;overflow:hidden;background:#111}.hero-guard-preview-frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.hero-guard-details{display:flex;flex-direction:column;gap:13px}.hero-guard-details>.media-quality-badge{align-self:flex-start}.hero-guard-facts{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:13px;overflow:hidden}.hero-guard-facts>div{padding:13px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.hero-guard-facts>div:nth-child(2n){border-right:0}.hero-guard-facts>div:nth-last-child(-n+2){border-bottom:0}.hero-guard-facts span,.hero-guard-facts strong{display:block}.hero-guard-facts span{font-size:11px;color:var(--muted);margin-bottom:5px}.hero-guard-facts strong{font-size:14px;line-height:1.35}.hero-guard-advice{border-left:3px solid var(--gold);background:rgba(240,190,55,.06);border-radius:0 10px 10px 0;padding:14px;line-height:1.5;color:#dbe7ed}.hero-guard-warning{display:flex;gap:12px;margin-top:18px;padding:13px 15px;border:1px solid rgba(240,190,55,.28);border-radius:12px;background:rgba(240,190,55,.055)}.hero-guard-warning strong{color:var(--gold2);white-space:nowrap}.hero-guard-warning span{color:var(--muted);line-height:1.45}.hero-guard-modal .modal-actions{margin-top:18px}
@media(max-width:760px){.hero-guard-grid{grid-template-columns:1fr}.hero-guard-facts{grid-template-columns:1fr}.hero-guard-facts>div{border-right:0;border-bottom:1px solid var(--line)}.hero-guard-facts>div:last-child{border-bottom:0}.hero-guard-modal .modal-actions{display:grid;grid-template-columns:1fr}.hero-guard-modal .modal-actions .btn{width:100%}}

/* Development 12 — Smart Hero Focus */
.hero-guard-focus{border:1px solid var(--line);border-radius:13px;padding:13px;background:#07131c;display:grid;gap:11px}.hero-guard-focus-head{display:flex;justify-content:space-between;gap:12px}.hero-guard-focus-head span{color:var(--gold2);font-weight:800}.hero-guard-focus label{display:grid;grid-template-columns:1fr auto;gap:6px 10px;color:var(--muted);font-size:12px}.hero-guard-focus label input{grid-column:1/-1;width:100%;accent-color:var(--gold)}.hero-guard-focus label strong{color:var(--text)}.hero-guard-presets{display:flex;gap:8px;flex-wrap:wrap}


/* Development 12.3 — Credits, provenance & branding */
.brand-tagline{display:block;margin-top:3px;color:var(--gold2);font-size:10px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.wk-footer{margin:34px 0 0;padding:22px 24px 26px;border-top:1px solid var(--line);text-align:center;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px}.wk-footer strong{color:var(--gold2);font-family:Georgia,serif;font-size:15px}.wk-footer small{font-size:10px;opacity:.82}
.card-credits{margin-top:13px;padding-top:11px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:10px}.card-credits span:first-child{color:#cbd6dc}
.recipe-provenance{margin-top:20px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#0d1923,#0a161f);padding:22px 24px;box-shadow:var(--shadow)}.recipe-provenance dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:14px 0}.recipe-provenance dl>div{padding:11px 13px;border:1px solid var(--line);margin:-1px 0 0 -1px}.recipe-provenance dt{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}.recipe-provenance dd{margin:0;color:var(--text);font-weight:700}.recipe-provenance>a{font-size:11px;color:var(--gold2)}
@media(max-width:650px){.recipe-provenance dl{grid-template-columns:1fr}.wk-footer{padding-inline:12px}}
@media print{.wk-footer{display:none}.recipe-provenance{break-inside:avoid}}


/* Development 12.4 — application-wide footer & polish */
.app-shell>main{min-width:0;min-height:100vh;display:flex;flex-direction:column}
.app-shell>main>#content{flex:1 0 auto;width:100%}
.app-shell>main>.wk-footer{flex:0 0 auto;margin-top:auto;width:100%}
@media(max-width:800px){.app-shell>main{min-height:auto}}


/* Development 13 — Weekmenu naar boodschappenlijst */
.week-head-actions{display:flex;gap:9px;flex-wrap:wrap}.week-head-actions .btn:disabled{opacity:.45;cursor:not-allowed}
.week-shopping-summary{display:grid;grid-template-columns:180px 220px minmax(0,1fr);gap:12px;align-items:center;border:1px solid rgba(240,190,55,.28);background:linear-gradient(135deg,rgba(240,190,55,.07),rgba(13,25,35,.92));border-radius:14px;padding:15px 18px;margin:0 0 15px}.week-shopping-summary div{display:grid;gap:3px}.week-shopping-summary small{color:var(--gold2);font-weight:900;font-size:10px;letter-spacing:.09em}.week-shopping-summary strong{font-size:17px}.week-shopping-summary p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.week-day-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;overflow:hidden;min-width:0}.week-day-card .week-day{border:0;border-radius:0;background:rgba(255,255,255,.015);border-bottom:1px solid var(--line)}
.week-recipe-preview{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:12px}.week-recipe-thumb{height:96px;border-radius:10px;overflow:hidden;background:#17212b}.week-recipe-thumb img{width:100%;height:100%;object-fit:cover}.week-recipe-thumb .cover-fallback{font-size:24px}.week-recipe-info{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.week-recipe-info small{color:var(--gold2);font-weight:800}.week-recipe-info strong{margin:3px 0 5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-recipe-info span{color:var(--muted);font-size:11px}.week-open-recipe{margin-top:auto;padding:7px 10px;font-size:11px}.week-preview-empty{min-height:120px;display:flex;align-items:center;gap:12px;padding:18px;color:var(--muted)}.week-preview-empty>span{font-size:25px;color:var(--line)}.week-preview-empty div{display:grid;gap:3px}.week-preview-empty strong{color:var(--text)}.week-preview-empty small{line-height:1.4}
@media(max-width:900px){.week-shopping-summary{grid-template-columns:1fr 1fr}.week-shopping-summary p{grid-column:1/-1}}
@media(max-width:560px){.week-shopping-summary{grid-template-columns:1fr}.week-shopping-summary p{grid-column:auto}.week-recipe-preview{grid-template-columns:90px minmax(0,1fr)}.week-recipe-thumb{height:86px}.week-head-actions{width:100%}.week-head-actions .btn{flex:1}}


/* Development 13.1 — per recept selecteren voor boodschappenlijst */
.week-shopping-summary{grid-template-columns:150px 170px 190px minmax(150px,auto) minmax(0,1fr)}
.week-select-all,.week-shopping-choice{display:flex;align-items:center;gap:8px;cursor:pointer}.week-select-all{font-size:12px;font-weight:800;color:var(--text)}
.week-select-all input,.week-shopping-choice input{width:17px;height:17px;accent-color:var(--gold);cursor:pointer}
.week-shopping-choice{margin:9px 0 8px;padding:7px 10px;border:1px solid rgba(240,190,55,.22);border-radius:9px;background:rgba(240,190,55,.05);font-size:11px;color:#d8e1e6}
.week-shopping-choice span{font-size:11px;color:#d8e1e6}
@media(max-width:1100px){.week-shopping-summary{grid-template-columns:1fr 1fr}.week-shopping-summary p{grid-column:1/-1}}
@media(max-width:560px){.week-shopping-summary{grid-template-columns:1fr}.week-shopping-summary p{grid-column:auto}}


/* Development 13.2 — Smart Shopping List */
.shopping-page-head{align-items:center}.shopping-head-actions,.shopping-bulk{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.shopping-toolbar{display:grid;gap:12px;margin-bottom:14px}.shopping-bulk label{display:flex;align-items:center;gap:8px;margin:0 0 0 auto;color:var(--muted);font-size:12px}.shopping-bulk select{width:auto;min-width:190px;padding:9px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:9px}.shopping-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.shopping-group{border:1px solid var(--line);background:var(--panel);border-radius:14px;overflow:hidden}.shopping-group h3{margin:0;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--gold2);font-size:14px}.shopping-group h3 span{float:right;color:var(--muted);font-size:11px}.shopping-group .shopping-row{padding:10px 13px}.shopping-item-main{display:grid;min-width:0;gap:2px}.shopping-item-main>span{overflow-wrap:anywhere}.shopping-item-main small{color:var(--muted);font-size:9px}.shopping-choice-modal{width:min(640px,94vw)}.shopping-choice-shell{padding:22px}.shopping-choice-shell p{color:var(--muted)}.shopping-choice-options{display:grid;gap:10px;margin-top:16px}.shopping-choice-options .btn{display:grid;text-align:left;gap:4px;padding:14px}.shopping-choice-options .btn span{font-size:11px;color:var(--muted);font-weight:400}.shopping-choice-options .btn.primary span{color:#3a2b08}
@media(max-width:850px){.shopping-groups{grid-template-columns:1fr}.shopping-bulk label{margin-left:0}.shopping-head-actions{width:100%}.shopping-page-head{align-items:flex-start;flex-direction:column}}

/* Development 13.3.1 - persoonlijke basisvoorraad */
.basis-stock-toggle{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:10px;border:1px solid rgba(240,190,55,.22);border-radius:10px;padding:10px 12px;background:rgba(240,190,55,.05)}
.basis-stock-toggle input{width:18px;height:18px;accent-color:var(--gold)}
.basis-stock-box textarea{min-height:145px;resize:vertical}

/* Development 13.3.3 — destructive confirmation modals */
.wk-confirm-modal{width:min(590px,94vw);padding:0;border:1px solid rgba(240,190,55,.38);background:#0b1822;color:var(--text);border-radius:18px;box-shadow:0 28px 90px rgba(0,0,0,.62)}
.wk-confirm-modal::backdrop{background:rgba(2,8,12,.78);backdrop-filter:blur(4px)}
.wk-confirm-shell{padding:22px}.wk-confirm-shell .modal-head small{color:var(--gold2);font-weight:900;letter-spacing:.08em}.wk-confirm-shell .modal-head h2{margin:5px 0 0}.wk-confirm-message{margin-top:18px;padding:15px;border:1px solid var(--line);background:#07131c;border-radius:12px}.wk-confirm-message p{margin:0 0 7px;line-height:1.5}.wk-confirm-message small{display:block;color:var(--muted);line-height:1.45}.wk-confirm-modal .modal-actions{margin-top:18px}.wk-confirm-modal .btn.danger{background:rgba(120,30,30,.2);border-color:#8a3d3d;color:#ffd0d0;font-weight:800}
@media(max-width:620px){.wk-confirm-modal .modal-actions{display:grid;grid-template-columns:1fr}.wk-confirm-modal .modal-actions .btn{width:100%}}
.audit-item{flex-wrap:wrap}.audit-details-toggle{margin-left:auto;font-size:.8rem;padding:.35rem .6rem}.audit-detail-list{flex-basis:100%;margin:.5rem 0 0 6.2rem;padding:.6rem .75rem;border:1px solid var(--line);border-radius:8px;background:rgba(0,0,0,.12);font-size:.85rem;line-height:1.5}.audit-detail-list.hidden{display:none}

/* Development 14 — Receptkwaliteit & Controle */
.recipe-quality-panel{margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);display:grid;gap:10px}.recipe-quality-panel.good{border-color:rgba(48,200,120,.38)}.recipe-quality-panel.review{border-color:rgba(242,189,85,.42)}.recipe-quality-panel.problem{border-color:rgba(239,101,101,.48)}.recipe-quality-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.recipe-quality-head small,.recipe-quality-head strong{display:block}.quality-score-chip{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:8px 10px;border-radius:999px;background:rgba(245,200,76,.12);color:var(--gold2);font-weight:900}.quality-issues{display:grid;gap:6px;font-size:13px}.quality-recipe-list{display:grid;gap:12px}.quality-recipe-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#0a1822}.quality-recipe-card.good{border-left:4px solid #30c878}.quality-recipe-card.review{border-left:4px solid #f2bd55}.quality-recipe-card.problem{border-left:4px solid #ef6565}.quality-recipe-main h3{margin:3px 0}.quality-state{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.quality-recipe-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.quality-detail-list{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px;display:grid;gap:9px;font-size:13px}.quality-detail-list.hidden{display:none}@media(max-width:720px){.quality-recipe-card{grid-template-columns:1fr}.quality-recipe-card>.quality-score-chip{justify-self:start}}
.quality-proposal{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}.quality-proposal.hidden{display:none}.quality-proposal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quality-proposal-grid>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.quality-proposal-grid small{display:block;color:var(--muted);font-weight:900;margin-bottom:7px}@media(max-width:720px){.quality-proposal-grid{grid-template-columns:1fr}}

/* Development 14.1 — veilige receptreparatie */
.quality-head-actions{display:flex;gap:8px;flex-wrap:wrap}

/* Development 14.1.6 - Tagliatelle tail repair */
.quality-diagnostic-panel{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(4,15,24,.45)}
.quality-diagnostic-summary{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:10px;color:var(--muted)}
.quality-diagnostic-summary strong{color:var(--text)}
.quality-diagnostic-table{display:grid;gap:10px}
.quality-diagnostic-row{border:1px solid var(--line);border-left:4px solid #d9a91b;border-radius:12px;padding:12px;background:rgba(255,255,255,.015)}
.quality-diagnostic-row.safe{border-left-color:#30b56b}
.quality-diagnostic-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.quality-duplicate-chip{font-size:.75rem;padding:3px 7px;border-radius:999px;background:rgba(217,169,27,.15);color:#f4c94a;border:1px solid rgba(217,169,27,.35)}
.quality-diagnostic-meta{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;margin-bottom:10px}
.quality-diagnostic-meta span{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:9px}
.quality-diagnostic-meta small,.quality-diagnostic-reason small{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}
.quality-diagnostic-reason{display:grid;gap:3px;color:var(--muted)}
.quality-diagnostic-reason span{color:var(--text)}
.quality-diagnostic-reason em{font-style:normal;font-size:.82rem;color:var(--muted)}
@media(max-width:900px){.quality-diagnostic-meta{grid-template-columns:1fr 1fr}.quality-diagnostic-summary{align-items:flex-start;flex-direction:column}}
