:root{
  --bg:#f5f4f0;--card:#ffffff;--ink:#303030;--muted:#6d6a63;--soft:#ebe8df;--line:#ded9cf;--orange:#f79d20;--charcoal:#333333;--green:#207d52;--red:#9c2f2f;
  --radius:24px;--shadow:0 18px 50px rgba(35,35,35,.08);
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:24px;margin:18px auto 0;padding:14px 18px;max-width:1240px;border:1px solid rgba(255,255,255,.75);border-radius:28px;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(40,40,40,.05)}.brand,.admin-brand{display:flex;align-items:center;gap:12px}.brand-mark{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:18px;background:var(--charcoal);color:var(--orange);font-weight:800;letter-spacing:.04em}.brand small,.admin-brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.main-nav{display:flex;gap:18px;align-items:center;font-size:14px;color:var(--muted)}.main-nav a:hover{color:var(--orange)}.site-main{max-width:1240px;margin:0 auto;padding:28px 18px 60px}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:stretch;margin-top:12px}.hero-panel{background:var(--charcoal);color:white;border-radius:36px;padding:46px;box-shadow:var(--shadow);min-height:460px;display:flex;flex-direction:column;justify-content:center}.eyebrow{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);border-radius:999px;padding:8px 14px;color:#eee;font-size:13px;margin-bottom:20px}.hero h1{font-size:clamp(40px,6vw,72px);line-height:.98;margin:0;letter-spacing:-.055em}.hero p{max-width:660px;color:#eee;font-size:18px;margin:22px 0 0}.hero-card{background:white;border-radius:36px;overflow:hidden;box-shadow:var(--shadow)}.hero-card img{height:330px;width:100%;object-fit:cover}.hero-card .body{padding:26px}.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:11px 18px;background:white;color:var(--ink);font-weight:700;font-size:14px;cursor:pointer}.btn.primary{background:var(--orange);border-color:var(--orange);color:var(--charcoal)}.btn.dark{background:var(--charcoal);border-color:var(--charcoal);color:white}.btn.warning{background:#fff3df;border-color:#ffd6a2;color:#884c00}.grid{display:grid;gap:20px}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.card{background:white;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.9)}.card.compact{padding:18px}.card h2,.card h3{margin-top:0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:42px 0 16px}.section-title h2{font-size:32px;letter-spacing:-.03em;margin:0}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.recipe-card{background:white;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.recipe-card img{width:100%;height:210px;object-fit:cover;background:#dedbd2}.recipe-card .body{padding:20px}.recipe-card h3{margin:10px 0 6px;font-size:21px;line-height:1.18}.meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:13px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--line);padding:5px 10px;font-size:12px;font-weight:700;background:#fafafa;color:var(--muted)}.badge.good{background:#eaf7ef;border-color:#c8ead6;color:#207d52}.badge.warm{background:#fff4e4;border-color:#ffd7a3;color:#985b00}.badge.neutral{background:#efeee9;color:#6d6a63}.recipe-detail{display:grid;grid-template-columns:.85fr 1.15fr;gap:26px}.recipe-photo{background:white;border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}.recipe-photo img{width:100%;height:520px;object-fit:cover;background:#ddd}.recipe-photo .body{padding:25px}.content-stack{display:grid;gap:18px}.list{display:grid;gap:10px;padding:0;margin:0;list-style:none}.list li{background:#f8f7f3;border:1px solid #ece8df;border-radius:16px;padding:12px 14px}.steps{counter-reset:step;display:grid;gap:12px}.step{position:relative;background:#f8f7f3;border:1px solid #ece8df;border-radius:18px;padding:14px 16px 14px 52px}.step:before{counter-increment:step;content:counter(step);position:absolute;left:14px;top:13px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--orange);font-size:12px;font-weight:800}.site-footer{max-width:1240px;margin:0 auto 26px;padding:24px 18px;border-radius:28px;background:white;display:flex;justify-content:space-between;gap:20px;color:var(--muted);box-shadow:var(--shadow)}.footer-note{text-align:right}.form{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field label{display:block;font-size:13px;font-weight:800;color:#5e5a52;margin:0 0 6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fbfaf7;border-radius:16px;padding:12px 13px;font:inherit;color:var(--ink)}.field textarea{min-height:120px;resize:vertical}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:20px;background:white}table{width:100%;border-collapse:collapse}th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f7f5ef;color:#6e6a62;font-size:12px;text-transform:uppercase;letter-spacing:.08em}tr:last-child td{border-bottom:0}.admin-body{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.admin-sidebar{background:var(--charcoal);color:white;padding:26px;position:sticky;top:0;height:100vh}.admin-sidebar .brand-mark{background:var(--orange);color:var(--charcoal)}.admin-sidebar nav{display:grid;gap:8px;margin-top:34px}.admin-sidebar nav a{padding:12px 14px;border-radius:16px;color:#e9e5dc}.admin-sidebar nav a:hover{background:rgba(255,255,255,.09);color:white}.admin-main{padding:34px;max-width:1500px;width:100%}.admin-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px}.admin-top h1{font-size:42px;margin:0;letter-spacing:-.04em}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.stat{background:white;border-radius:24px;padding:22px;box-shadow:var(--shadow)}.stat b{display:block;font-size:34px;letter-spacing:-.04em}.stat span{color:var(--muted);font-size:13px}.warning-card{border-left:5px solid var(--orange)}.warning-card.high{border-left-color:var(--red)}.warning-card.low{border-left-color:#8c8c8c}.mini-note{color:var(--muted);font-size:13px}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.login-wrap{max-width:520px;margin:70px auto}.media-box{display:grid;place-items:center;min-height:160px;border:1px dashed #cfc8bc;border-radius:22px;background:#faf8f1;color:var(--muted);text-align:center;padding:16px}.report-header{background:white;border-radius:28px;padding:28px;box-shadow:var(--shadow);margin-bottom:20px}.report-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.print-only{display:none}@media(max-width:900px){.hero,.recipe-detail{grid-template-columns:1fr}.recipe-grid,.grid.three,.grid.four,.stat-grid,.form-row{grid-template-columns:1fr}.site-header,.site-footer{flex-direction:column;align-items:flex-start}.footer-note{text-align:left}.admin-body{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-main{padding:22px}.main-nav{flex-wrap:wrap}}@media print{body{background:white}.site-header,.site-footer,.admin-sidebar,.btn,.report-tools{display:none!important}.site-main,.admin-main{max-width:none;padding:0}.card,.report-header{box-shadow:none;border:1px solid #ccc}.print-only{display:block}.admin-body{display:block}}
.two-col{grid-template-columns:1fr 1fr}
@media(max-width:900px){.two-col{grid-template-columns:1fr}}

/* CRM COMPACT ADMIN UPGRADE - 2026-05-24 */
body.admin-body{background:#f1f2f4;color:#24272b;line-height:1.38;font-size:13px}
.admin-body{display:grid;grid-template-columns:224px 1fr;min-height:100vh}
.admin-sidebar{background:#25272b;color:#fff;padding:14px 12px;position:sticky;top:0;height:100vh;border-right:1px solid #181a1d}
.admin-sidebar .admin-brand{height:50px;gap:9px;padding:0 6px;color:#fff}
.admin-sidebar .brand-mark{width:34px;height:34px;border-radius:8px;font-size:12px;background:#f79d20;color:#24272b}
.admin-brand small{font-size:9px;letter-spacing:.15em;color:#aeb4bc}.admin-sidebar nav{gap:3px;margin-top:14px}
.admin-sidebar nav a{padding:9px 10px;border-radius:8px;color:#d9dde3;font-size:13px;line-height:1.15;border:1px solid transparent}
.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:#34383f;border-color:#444a53;color:#fff}
.admin-main{padding:16px;max-width:none;width:100%;overflow-x:hidden}.admin-top{margin-bottom:12px;padding:0;align-items:center}
.admin-top h1{font-size:25px;letter-spacing:-.025em;margin:0}.admin-top p{margin:4px 0 0}.mini-note{font-size:12px;color:#68717c}
.card{border-radius:10px;padding:14px;box-shadow:none;border:1px solid #dfe3e8;background:#fff}.card.compact{padding:10px}.card h2{font-size:17px;margin:0 0 10px}.card h3{font-size:14px;margin:12px 0 8px}
.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.stat{border-radius:10px;padding:12px;box-shadow:none;border:1px solid #dfe3e8}.stat b{font-size:25px}.stat span{font-size:12px}
.grid{gap:10px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.two-col{grid-template-columns:260px minmax(0,1fr)}
.form{gap:9px}.form-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.field label{font-size:11px;margin-bottom:3px;color:#4c5663;text-transform:uppercase;letter-spacing:.035em}.field input,.field select,.field textarea{border-radius:7px;padding:8px 9px;font-size:13px;background:#fff}.field textarea{min-height:82px}
.btn{border-radius:7px;padding:8px 11px;font-size:12px;font-weight:700}.btn-row{gap:8px;margin-top:12px}.badge{border-radius:6px;padding:4px 7px;font-size:11px}
.table-wrap{border-radius:8px;max-width:100%;background:#fff}th,td{padding:8px 9px;font-size:12px}th{font-size:10px;letter-spacing:.06em;background:#f4f6f8;color:#5c6672}tr:hover td{background:#fbfcfd}
.crm-shell{display:grid;grid-template-columns:218px minmax(0,1fr);gap:12px;align-items:start}.crm-subnav{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;background:#fff;border:1px solid #dfe3e8;border-radius:10px;padding:8px}.crm-subnav-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#68717c;font-weight:800;padding:7px 8px}.crm-subnav a{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:7px 8px;border-radius:7px;color:#374151;font-size:12px}.crm-subnav a:hover,.crm-subnav a.active{background:#f2f4f7;color:#111827}.crm-subnav .count{font-size:10px;border:1px solid #d8dde5;border-radius:20px;padding:1px 6px;color:#68717c;background:#fff}.crm-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.crm-toolbar .filters{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.crm-toolbar input,.crm-toolbar select{border:1px solid #dfe3e8;border-radius:7px;padding:8px 9px;background:#fff;font:inherit}.crm-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.crm-title-row h2{margin:0;font-size:18px}.crm-panel{min-width:0}.crm-actions{display:flex;gap:5px;flex-wrap:wrap}.crm-actions .btn{padding:6px 8px}.crm-kpi{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:10px}.crm-kpi div{background:#fff;border:1px solid #dfe3e8;border-radius:8px;padding:9px}.crm-kpi b{display:block;font-size:18px}.crm-kpi span{font-size:11px;color:#68717c}.admin-page-note{background:#fff7eb;border:1px solid #ffd7a3;color:#6c4600;border-radius:8px;padding:8px 10px;margin-bottom:10px;font-size:12px}
@media(max-width:1000px){.admin-body{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.crm-shell{grid-template-columns:1fr}.crm-subnav{position:relative;top:auto;max-height:none}.form-row{grid-template-columns:1fr 1fr}.stat-grid,.crm-kpi{grid-template-columns:1fr 1fr}.admin-main{padding:12px}}

/* MEMBER REPORT PROFESSIONAL LAYOUT UPDATE - 2026-05-24 */
.report-document{display:grid;gap:14px;max-width:1220px;margin:0 auto}.report-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:stretch;background:#fff;border:1px solid #dfe3e8;border-radius:12px;padding:16px}.report-hero h1{font-size:31px;letter-spacing:-.035em;line-height:1.05;margin:14px 0 8px}.report-hero p{max-width:760px;margin:0;color:#59616c;font-size:13px}.report-photo{height:170px;border-radius:10px;overflow:hidden;background:#f2f3f5;border:1px solid #e1e5ea;display:grid;place-items:center;color:#79818d;font-size:12px}.report-photo img{width:100%;height:100%;object-fit:cover}.report-tools{display:flex;gap:8px;align-items:end;flex-wrap:wrap;background:#fff;border:1px solid #dfe3e8;border-radius:10px;padding:10px}.production-banner{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;background:#2b2e33;color:#fff;border-radius:10px;padding:10px}.production-banner div{border-right:1px solid rgba(255,255,255,.12);padding:3px 10px;min-height:48px}.production-banner div:last-child{border-right:0}.production-banner strong{display:block;font-size:18px;line-height:1.05;color:#f79d20;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.production-banner span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#c8ced6;margin-top:5px}.report-card{background:#fff;border:1px solid #dfe3e8;border-radius:10px;padding:14px}.report-card h2{font-size:17px;margin:0 0 9px;letter-spacing:-.02em}.report-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.report-section-title p{margin:0 0 10px;color:#68717c;font-size:12px}.report-table{width:100%;border-collapse:collapse;table-layout:fixed;border:1px solid #dfe3e8;border-radius:8px;overflow:hidden}.report-table th,.report-table td{padding:8px 9px;border-bottom:1px solid #e6e9ee;vertical-align:top;font-size:11.5px;line-height:1.35;overflow-wrap:anywhere}.report-table th{background:#f4f6f8;color:#4d5662;font-size:9.5px;text-transform:uppercase;letter-spacing:.07em}.report-table tr:last-child td{border-bottom:0}.material-section{overflow:visible}.report-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compact-notes{display:grid;gap:7px}.compact-notes div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:10px;border-bottom:1px solid #edf0f3;padding-bottom:7px;font-size:12px}.compact-notes div:last-child{border-bottom:0}.compact-notes span{color:#68717c}.summary-lines{display:grid;gap:8px}.summary-lines div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:10px;background:#f8f9fb;border:1px solid #edf0f3;border-radius:8px;padding:8px 10px;font-size:12px}.summary-lines span{color:#5d6672}.report-steps-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.step-block{border:1px solid #e4e8ee;border-radius:10px;background:#fbfcfd;padding:12px}.step-block h3{font-size:14px;margin:0 0 8px;color:#252a31}.step-block ol{margin:0;padding-left:19px}.step-block li{font-size:12px;line-height:1.45;margin-bottom:7px}.step-block li:last-child{margin-bottom:0}.report-warning{border-left:4px solid #f79d20;background:#fff8ee;border-radius:8px;padding:9px 11px;margin-bottom:8px;font-size:12px}.report-warning span{display:block;color:#68717c;margin-top:3px}.report-warning.high{border-left-color:#9c2f2f}.report-warning.low{border-left-color:#8c8c8c}
@media(max-width:900px){.report-hero{grid-template-columns:1fr}.report-photo{height:240px}.production-banner{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid-2,.report-steps-grid{grid-template-columns:1fr}.compact-notes div,.summary-lines div{grid-template-columns:1fr}}
@media print{@page{size:A4 landscape;margin:10mm}body{font-size:10.5px}.site-header,.site-footer,.report-tools{display:none!important}.site-main{max-width:none!important;padding:0!important}.report-document{gap:7px;max-width:none}.report-hero{grid-template-columns:minmax(0,1fr) 210px;padding:9px;break-inside:avoid}.report-hero h1{font-size:22px;margin:6px 0}.report-photo{height:115px}.production-banner{grid-template-columns:repeat(6,minmax(0,1fr));padding:6px;break-inside:avoid}.production-banner div{min-height:34px;padding:2px 6px}.production-banner strong{font-size:13px}.production-banner span{font-size:8px}.report-card{padding:8px;border-radius:6px;break-inside:auto}.report-card h2{font-size:13px;margin-bottom:5px}.report-section-title p{font-size:9px;margin-bottom:5px}.report-table{table-layout:fixed}.report-table th,.report-table td{font-size:8.5px;padding:4px 5px;line-height:1.25}.report-table th{font-size:7.3px}.report-grid-2{grid-template-columns:1fr 1fr;gap:7px}.compact-notes{gap:4px}.compact-notes div{grid-template-columns:120px minmax(0,1fr);gap:6px;font-size:8.8px;padding-bottom:4px}.summary-lines{gap:4px}.summary-lines div{grid-template-columns:90px minmax(0,1fr);font-size:8.8px;padding:4px 5px}.report-steps-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.step-block{padding:6px}.step-block h3{font-size:10px;margin-bottom:4px}.step-block li{font-size:8.8px;line-height:1.3;margin-bottom:3px}.report-warning{font-size:8.8px;padding:5px 6px;margin-bottom:4px}.badge{font-size:8px;padding:2px 5px}}
