:root{
  --green:#0f6b3f;--green-dark:#074427;--green-soft:#eaf5ee;--gold:#f4b400;--text:#17202a;--muted:#4e5f67;--line:#e4e9e6;--bg:#f8fbf8;--white:#fff;--shadow:0 12px 30px rgba(7,68,39,.10);--radius:16px;--container:1180px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(var(--container),calc(100% - 28px));margin:0 auto}.site-nav{position:sticky;top:0;z-index:1000;background:var(--green-dark);color:var(--white);box-shadow:0 2px 18px rgba(0,0,0,.12)}.nav-wrap{height:68px;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:10px;padding:3px}.brand span{display:flex;flex-direction:column;line-height:1.05}.brand small{font-size:.72rem;font-weight:500;color:#d9efe2}.nav-links{display:flex;align-items:center;gap:2px;list-style:none;padding:0;margin:0 auto}.nav-links a{display:block;padding:9px 10px;border-radius:999px;font-weight:700;font-size:.86rem;color:#fff}.nav-links a:hover,.nav-links a.active{background:var(--gold);color:var(--green-dark)}.nav-actions{display:flex;align-items:center;gap:9px}.basket-pill,.login-link{font-weight:800;font-size:.82rem;border-radius:999px;padding:9px 12px}.basket-pill{background:#fff;color:var(--green-dark)}.basket-pill span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 5px;border-radius:999px;background:var(--gold)}.login-link{border:1px solid rgba(255,255,255,.28);color:#fff}.menu-toggle{display:none;margin-left:auto;background:transparent;border:0;width:42px;height:42px}.menu-toggle span{display:block;height:2px;background:#fff;margin:7px;border-radius:999px}.hero{background:linear-gradient(135deg,rgba(15,107,63,.95),rgba(7,68,39,.95)),url('images/hero-produce.jpg') center/cover;color:#fff}.hero-grid{min-height:520px;display:grid;grid-template-columns:1.35fr .8fr;align-items:center;gap:32px}.hero-copy h1{font-size:clamp(2rem,5vw,4rem);line-height:1.04;margin:8px 0 16px;max-width:850px}.hero-copy p{font-size:1.12rem;max-width:760px;color:#eefaf2}.eyebrow{font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-size:.8rem;margin:0 0 8px}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 18px;font-weight:900;cursor:pointer}.btn.primary{background:var(--gold);color:var(--green-dark)}.btn.secondary{background:var(--green);color:#fff}.btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45)}.page-main{padding:34px 0 56px}.page-hero{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px;box-shadow:var(--shadow);margin-bottom:24px}.page-hero h1,.section-heading h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.12;margin:0 0 10px;color:var(--green-dark)}.page-hero p,.section-heading p{color:var(--muted);font-size:1.05rem;max-width:850px}.section{padding:58px 0}.section-heading{text-align:center;max-width:820px;margin:0 auto 26px}.muted{background:var(--green-soft)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.align-start{align-items:start}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-grid.small{grid-template-columns:repeat(2,1fr)}.feature-card,.content-card,.market-card,.category-card,.product-card,.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 5px 18px rgba(7,68,39,.06)}.feature-card h3,.market-card h3,.product-card h3{color:var(--green-dark);margin:0 0 8px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.category-card{display:flex;flex-direction:column;min-height:130px;transition:.2s}.category-card:hover,.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.category-card strong{font-size:1.2rem;color:var(--green-dark)}.category-card span{color:var(--muted);margin-top:8px}.number-list{list-style:none;padding:0;margin:12px 0 0}.number-list li{display:flex;gap:10px;align-items:center;margin:10px 0;color:#eefaf2}.number-list span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--gold);color:var(--green-dark);font-weight:900}.hero-panel{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:var(--radius);padding:24px;backdrop-filter:blur(5px)}.hero-panel h2{margin:0;color:#fff}.cta-band{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;display:flex;justify-content:space-between;gap:20px;align-items:center}.cta-band h2{margin:0 0 4px;color:var(--green-dark)}.catalogue-tools{display:flex;gap:16px;justify-content:space-between;align-items:end;margin:24px 0}.search-box{flex:1}.search-box label{display:block;font-weight:900;margin-bottom:6px}.search-box input{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:999px;font-size:1rem}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:900;color:var(--green-dark)}.filter.active{background:var(--green);color:#fff}.catalogue-note,.notice-box{background:#fff8e1;border:1px solid #f5d36a;color:#5f4700;border-radius:14px;padding:14px 16px;margin:14px 0 20px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{overflow:hidden;padding:0}.product-image{height:190px;background:linear-gradient(135deg,var(--green-soft),#fff);display:grid;place-items:center;color:var(--green-dark);font-weight:900;text-align:center;padding:18px}.product-image img{width:100%;height:100%;object-fit:cover}.product-body{padding:18px}.product-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.tag{display:inline-block;background:var(--green-soft);color:var(--green-dark);padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:900}.product-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.product-actions .btn{padding:9px 12px;font-size:.84rem}.market-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.check-list{padding:0;margin:12px 0 0;list-style:none}.check-list li{position:relative;padding-left:28px;margin:10px 0;color:var(--muted)}.check-list li:before{content:'✓';position:absolute;left:0;top:0;color:var(--green);font-weight:900}.contact-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:24px;align-items:start}.public-enquiry-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:var(--green-dark)}input,textarea{border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;background:#fff}textarea{resize:vertical}.form-note{color:var(--muted);font-size:.9rem}.site-footer{background:var(--green-dark);color:#e8f7ee;margin-top:56px;padding:42px 0 18px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .9fr;gap:28px}.site-footer a{display:block;color:#fff;margin:6px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:24px;padding-top:16px;color:#cfe8d9}.whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:900;background:#25d366;color:#fff;border-radius:999px;padding:12px 15px;font-weight:900;box-shadow:var(--shadow)}.back-to-top{position:fixed;right:18px;bottom:72px;width:42px;height:42px;border-radius:50%;border:0;background:var(--green);color:#fff;font-size:1.2rem;display:none}.back-to-top.show{display:block}@media(max-width:980px){.nav-wrap{height:auto;min-height:64px;flex-wrap:wrap}.menu-toggle{display:block}.nav-links,.nav-actions{display:none;width:100%;flex-direction:column;align-items:stretch;padding:0 0 14px}.nav-links.open,.nav-actions.open{display:flex}.nav-links a,.basket-pill,.login-link{text-align:center}.hero-grid,.two-col,.contact-layout{grid-template-columns:1fr}.hero-grid{min-height:auto;padding:58px 0}.category-grid,.feature-grid,.feature-grid.small,.market-grid,.product-grid{grid-template-columns:1fr 1fr}.catalogue-tools{flex-direction:column;align-items:stretch}.cta-band{flex-direction:column;align-items:flex-start}}@media(max-width:620px){.category-grid,.feature-grid,.feature-grid.small,.market-grid,.product-grid,.form-grid,.footer-grid{grid-template-columns:1fr}.page-hero{padding:24px}.button-row{flex-direction:column}.btn{width:100%}.hero-copy h1{font-size:2.2rem}.whatsapp-float{left:14px;right:14px;text-align:center}.back-to-top{bottom:72px}}


/* Phase B1.1 public hotfix */
.login-link.dashboard-link{background:#fff;color:var(--green-dark);border:0}.product-grid{align-items:stretch}.product-card{display:flex;flex-direction:column}.product-body{display:flex;flex-direction:column;flex:1}.product-actions{margin-top:auto}.spec-text{min-height:3.1em}.product-image{position:relative;overflow:hidden;min-height:190px}.product-image .image-fallback{display:none;position:absolute;inset:0;place-items:center;text-align:center;padding:16px;color:var(--green-dark);background:linear-gradient(135deg,var(--green-soft),#fff);font-weight:900}.product-image .image-fallback small{display:block;margin-top:6px;font-size:.78rem;color:var(--muted);font-weight:800}.product-image.missing-img .image-fallback{display:grid}.product-image.missing-img img{display:none}.public-toast-wrap{position:fixed;right:18px;top:82px;z-index:2000;display:grid;gap:8px}.public-toast{background:var(--green-dark);color:#fff;border-radius:14px;padding:12px 14px;box-shadow:var(--shadow);font-weight:800;max-width:320px}.basket-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 18px rgba(7,68,39,.06)}.basket-table{width:100%;border-collapse:collapse;min-width:900px}.basket-table th,.basket-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.basket-table th{background:var(--green-soft);color:var(--green-dark);font-size:.86rem;text-transform:uppercase;letter-spacing:.04em}.basket-table td small{display:block;color:var(--muted);margin-top:3px}.basket-table input,.basket-table select{width:100%;min-width:95px}.remove-item{border:0;background:#ffe8e8;color:#8a1c1c;border-radius:999px;padding:8px 10px;font-weight:900;cursor:pointer}.cart-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}.btn.ghost-dark{background:#fff;color:var(--green-dark);border:1px solid var(--line)}@media(max-width:620px){.public-toast-wrap{left:14px;right:14px;top:76px}.public-toast{max-width:none}.spec-text{min-height:auto}.cart-actions .btn{width:100%}}

/* Phase B1.2 product/contact refinement */
.product-grid{align-items:start !important;}
.product-card{height:auto !important;display:block !important;}
.product-body{display:block !important;flex:none !important;padding:16px 16px 18px !important;}
.product-card h3{margin:0 0 8px !important;font-size:1.05rem;}
.spec-text{min-height:0 !important;margin:0 0 10px !important;color:var(--muted);font-size:.95rem;line-height:1.55;}
.product-meta{margin:8px 0 10px !important;gap:6px !important;}
.product-line{margin:6px 0 !important;font-size:.94rem;line-height:1.45;}
.product-actions{margin-top:12px !important;}
.product-image{height:170px !important;min-height:170px !important;padding:0 !important;}
.product-image img{width:100%;height:100%;object-fit:cover;}
.product-image .image-fallback{font-size:.95rem;}
.tag.availability{background:#fff7d6;color:#594100;}
.full-span{grid-column:1/-1;}
.form-grid textarea{min-height:90px;}
.basket-table td input,.basket-table td select{font-size:.9rem;}
@media(max-width:620px){.product-image{height:165px !important;min-height:165px !important}.full-span{grid-column:auto}}

/* Phase B2 product catalogue management */
.off-season-card{opacity:.92;border-color:#f1c96b;background:#fffdf5}.tag.availability.off{background:#ffe7d1;color:#743500}.tag.search-only{background:#eef1f5;color:#4b5563}.admin-product-layout{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(520px,1.4fr);gap:22px;align-items:start}.admin-product-form-card,.admin-product-list-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.admin-product-form-card h2,.admin-product-list-card h2{margin:0 0 14px;color:var(--green-dark)}.admin-list-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.admin-list-header input{max-width:340px;width:100%}.mini-summary{background:var(--green-soft);border-radius:12px;padding:10px 12px;color:var(--green-dark);font-size:.9rem;margin-bottom:12px}.inline-check{flex-direction:row;align-items:center;gap:8px;margin-top:12px}.inline-check input{width:auto}.admin-products-table{width:100%;border-collapse:collapse;min-width:940px;background:#fff}.admin-products-table th,.admin-products-table td{border-bottom:1px solid var(--line);padding:10px;vertical-align:top;text-align:left}.admin-products-table th{background:var(--green-soft);color:var(--green-dark);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.admin-products-table td small{display:block;color:var(--muted);font-size:.78rem;margin-top:4px;max-width:300px}.product-status{display:inline-block;border-radius:999px;padding:5px 8px;font-size:.76rem;font-weight:900}.product-status.available{background:#dff7e8;color:#07572d}.product-status.limited_season{background:#fff1c5;color:#6f4d00}.product-status.on_request{background:#e8f1ff;color:#164e88}.product-status.off_season{background:#ffe3d7;color:#842d08}.product-status.hidden{background:#eceff3;color:#555}.action-stack{display:flex;flex-wrap:wrap;gap:6px}.small-action{border:0;border-radius:999px;padding:7px 9px;font-size:.78rem;font-weight:900;cursor:pointer}.small-action.edit{background:var(--green);color:#fff}.small-action.available{background:#dff7e8;color:#07572d}.small-action.off{background:#ffe3d7;color:#842d08}.small-action.hide{background:#eceff3;color:#333}.form-note.ok{color:#0d6b3d;font-weight:800}.form-note.bad{color:#9b1c1c;font-weight:800}.table-scroll{overflow-x:auto}@media(max-width:1050px){.admin-product-layout{grid-template-columns:1fr}.admin-list-header{flex-direction:column;align-items:stretch}.admin-list-header input{max-width:none}}

/* Phase B2.2 admin catalogue usability */
.admin-products-page .site-nav { position: sticky; top: 0; z-index: 50; }
.admin-products-shell { width: min(100% - 1.2rem, 1480px); margin: 0 auto; padding: 0.85rem 0 1.2rem; }
.admin-products-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0.65rem 0 0.75rem; }
.admin-products-toolbar h1 { margin:0; font-size:clamp(1.3rem, 2.2vw, 2rem); color:var(--green-dark); }
.admin-products-toolbar .eyebrow { margin-bottom:0.1rem; }
.admin-table-panel, .admin-collapse-panel { background:#fff; border:1px solid rgba(28,74,45,.12); box-shadow:0 12px 30px rgba(16,45,28,.06); border-radius:18px; }
.product-table-panel { padding:0.75rem; }
.compact-admin-list-header { display:flex; align-items:flex-start; justify-content:space-between; gap:0.75rem; margin-bottom:0.55rem; }
.compact-admin-list-header h2 { margin:0 0 .2rem; color:var(--green-dark); font-size:1.05rem; }
.admin-list-tools { display:flex; gap:.45rem; flex-wrap:wrap; justify-content:flex-end; }
.admin-list-tools input, .admin-list-tools select { min-height:36px; border:1px solid rgba(28,74,45,.18); border-radius:10px; padding:.45rem .55rem; background:#fff; font-size:.84rem; }
.admin-list-tools input { min-width:270px; }
.admin-products-full-table { max-height:calc(100vh - 235px); overflow:auto; border:1px solid rgba(28,74,45,.12); border-radius:14px; background:#fff; }
.admin-products-wide-table { min-width:1500px; width:100%; border-collapse:separate; border-spacing:0; font-size:.78rem; }
.admin-products-wide-table th { position:sticky; top:0; z-index:4; background:#f2f7ef; color:var(--green-dark); text-align:left; padding:.55rem .45rem; border-bottom:1px solid rgba(28,74,45,.16); white-space:nowrap; }
.admin-products-wide-table td { padding:.42rem; border-bottom:1px solid rgba(28,74,45,.08); vertical-align:top; background:#fff; }
.admin-products-wide-table tr:hover td { background:#fbfdf9; }
.admin-products-wide-table .actions-col { position:sticky; right:0; z-index:3; background:#fff; min-width:128px; box-shadow:-8px 0 12px rgba(16,45,28,.04); }
.admin-products-wide-table th.actions-col { z-index:5; background:#f2f7ef; }
.admin-products-wide-table .col-id { width:52px; text-align:center; color:var(--muted); }
.admin-products-wide-table .row-field { width:100%; min-height:32px; border:1px solid rgba(28,74,45,.16); border-radius:8px; padding:.35rem .4rem; background:#fff; font-size:.78rem; }
.admin-products-wide-table textarea.row-field { min-height:54px; resize:vertical; }
.admin-products-wide-table .field-name { min-width:170px; font-weight:700; color:var(--green-dark); }
.admin-products-wide-table .field-packaging, .admin-products-wide-table .field-image { min-width:210px; }
.admin-products-wide-table .field-spec { min-width:260px; }
.admin-products-wide-table .field-sort { max-width:70px; }
.admin-products-wide-table .field-origin { max-width:105px; }
.admin-products-wide-table .dirty { border-color:#c68400; box-shadow:0 0 0 2px rgba(198,132,0,.12); }
.muted-line { display:block; color:var(--muted); margin-top:.25rem; font-size:.7rem; }
.admin-products-wide-table .product-status { display:block; margin-top:.28rem; font-size:.7rem; line-height:1.2; }
.admin-products-wide-table .small-action { width:100%; border:0; border-radius:9px; padding:.38rem .45rem; font-size:.73rem; font-weight:800; cursor:pointer; margin-bottom:.28rem; }
.admin-products-wide-table .save-row { background:var(--green-dark); color:#fff; }
.admin-products-wide-table .edit-row { background:#eef5e9; color:var(--green-dark); border:1px solid rgba(28,74,45,.16); }
.admin-collapse-panel { margin-top:.8rem; padding:0; overflow:hidden; }
.admin-collapse-panel summary { cursor:pointer; padding:.8rem 1rem; font-weight:900; color:var(--green-dark); background:#f7fbf4; border-bottom:1px solid rgba(28,74,45,.08); }
.full-width-form-card { box-shadow:none; border:0; border-radius:0; padding:1rem; }
.slim-footer { margin-top:.8rem; }
@media (max-width: 820px) {
  .admin-products-shell { width:min(100% - .6rem, 1480px); }
  .admin-products-toolbar, .compact-admin-list-header { align-items:stretch; flex-direction:column; }
  .admin-list-tools { justify-content:stretch; }
  .admin-list-tools input, .admin-list-tools select { width:100%; min-width:0; }
  .admin-products-full-table { max-height:calc(100vh - 285px); }
}

/* Phase B2.3 admin table usability */
.clean-toolbar { padding-top:.55rem; }
.clean-toolbar h1 { margin-bottom:.35rem; }
.compact-summary { margin:0; display:inline-block; }
.product-tools-wide { width:100%; justify-content:flex-start; }
.product-tools-wide input { flex:1 1 420px; max-width:none; }
.b23-inline-edit-table { min-width:1780px; }
.b23-inline-edit-table th.sortable { cursor:pointer; user-select:none; }
.b23-inline-edit-table th.sortable:hover { background:#e7f1df; }
.b23-inline-edit-table td { vertical-align:middle; }
.b23-inline-edit-table .row-field { min-height:34px; width:100%; }
.b23-inline-edit-table textarea.row-field { min-height:38px; resize:vertical; overflow:hidden; }
.b23-inline-edit-table .row-field:disabled { background:#f7faf4; color:#22352a; border-color:transparent; opacity:1; }
.b23-inline-edit-table .field-name { min-width:220px; }
.b23-inline-edit-table .field-category { min-width:135px; }
.b23-inline-edit-table .field-status { min-width:230px; }
.b23-inline-edit-table .field-visibility { min-width:108px; }
.b23-inline-edit-table .field-packaging { min-width:230px; }
.b23-inline-edit-table .field-moq { min-width:155px; }
.b23-inline-edit-table .field-origin { min-width:120px; max-width:none; }
.b23-inline-edit-table .field-sort { min-width:96px; max-width:none; text-align:center; font-weight:800; }
.b23-inline-edit-table .field-image { min-width:260px; }
.b23-inline-edit-table .field-spec { min-width:340px; }
.b23-inline-edit-table tr.is-editing td { background:#fff8df !important; }
.b23-inline-edit-table tr.new-product-row td { background:#eaf6ff !important; }
.b23-inline-edit-table tr.attention-row:not(.is-editing):not(.new-product-row) td:first-child { box-shadow:inset 5px 0 #d98900; }
.b23-inline-edit-table .edit-save-row { width:90px; }
.b23-inline-edit-table .edit-save-row.edit-mode { background:#eef5e9; color:var(--green-dark); border:1px solid rgba(28,74,45,.16); }
.b23-inline-edit-table .edit-save-row.save-mode { background:var(--green-dark); color:#fff; }
.admin-products-wide-table .actions-col { min-width:112px; }

/* Shared admin dashboard table format */
.admin-quick-actions { margin:.2rem 0 1rem; }
.dashboard-card.admin-collapsible { border:1px solid rgba(28,74,45,.12); border-radius:16px; box-shadow:0 10px 24px rgba(16,45,28,.05); overflow:hidden; }
.admin-card-titlebar { cursor:pointer; }
.admin-card-titlebar.needs-attention { background:#fff8df !important; }
.admin-title-left { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; }
.admin-attention-badge { display:none; min-width:26px; height:24px; padding:0 .45rem; border-radius:999px; align-items:center; justify-content:center; background:#d98900; color:#fff; font-size:.78rem; font-weight:900; }
.admin-card-titlebar.needs-attention .admin-attention-badge { display:inline-flex; }
.admin-section-count { color:var(--muted); font-size:.78rem; font-weight:800; }
.admin-card-content .table-scroll { max-height:calc(100vh - 260px); overflow:auto; border:1px solid rgba(28,74,45,.12); border-radius:12px; background:#fff; }
.admin-card-content table { width:100%; min-width:1180px; border-collapse:separate; border-spacing:0; font-size:.82rem; }
.admin-card-content th { position:sticky; top:0; z-index:2; background:#f2f7ef; color:var(--green-dark); text-align:left; white-space:nowrap; cursor:pointer; }
.admin-card-content th,.admin-card-content td { padding:.55rem .6rem; border-bottom:1px solid rgba(28,74,45,.08); vertical-align:top; }
.admin-card-content tr.admin-attention-row td { background:#fff8df !important; }
.admin-card-content tr.admin-attention-row td:first-child { box-shadow:inset 5px 0 #d98900; }
.admin-card-content form.smart-form { border:1px solid rgba(28,74,45,.12); border-radius:12px; padding:1rem; background:#fff; }
@media(max-width:800px){.b23-inline-edit-table{min-width:1600px}.admin-products-full-table{max-height:calc(100vh - 310px)}}

/* Phase B2.4 - cleaner row editing and admin table usability */
.b24-inline-edit-table tr.is-editing td,
.b23-inline-edit-table tr.is-editing td { background:#fff5d6 !important; }
.b24-inline-edit-table tr.new-product-row td,
.b23-inline-edit-table tr.new-product-row td { background:#eef8ed !important; }
.admin-products-wide-table .field-sort { min-width:96px; max-width:118px; text-align:center; }
.admin-products-wide-table .field-status { min-width:190px; }
.admin-products-wide-table .field-visibility { min-width:110px; }
.admin-products-wide-table .field-name { min-width:185px; }
.admin-products-wide-table .field-spec { min-width:260px; }
.admin-products-wide-table .actions-col { min-width:150px; }
.admin-products-wide-table input.row-field,
.admin-products-wide-table select.row-field { height:34px; line-height:1.1; }
.admin-products-wide-table input.row-field:disabled,
.admin-products-wide-table select.row-field:disabled { background:#f8faf7; color:#23352a; opacity:1; border-color:transparent; }
.admin-products-wide-table .edit-save-row.save-mode { background:#14532d; color:#fff; }
.admin-products-wide-table .edit-save-row.edit-mode { background:#eef5e9; color:#14532d; border:1px solid rgba(20,83,45,.18); }
.admin-products-wide-table .cancel-row { background:#f2f3f4; color:#394036; border:1px solid rgba(30,45,34,.14); }
.admin-products-wide-table .delete-row { background:#ffe5df; color:#8a1c08; border:1px solid rgba(138,28,8,.18); }
.admin-products-wide-table .small-action { width:100%; margin-bottom:.3rem; }
.admin-products-toolbar.clean-toolbar { padding-top:.45rem; }
.admin-products-toolbar h1 { font-size:clamp(1.2rem,1.8vw,1.65rem); }
.admin-table-panel.product-table-panel { margin-top:.4rem; }
.admin-products-full-table { max-height:calc(100vh - 210px); }
.permission-hint { font-size:.8rem; color:var(--muted); margin:.25rem 0 0; }

/* shared dashboard pattern */
.admin-card-titlebar { min-height:48px; }
.admin-card-titlebar.needs-attention { border-left:5px solid #d98900; }
.admin-card-content .table-scroll { max-height:calc(100vh - 250px); }
.admin-card-content form.smart-form { max-height:calc(100vh - 260px); overflow:auto; }
.admin-card-content table th { user-select:none; }

/* Phase B2.5 admin governance refinements */
.b25-inline-edit-table tr.is-editing td,
.b25-inline-edit-table tr.new-product-row td{background:#fff8df !important;box-shadow:inset 0 1px rgba(217,137,0,.18), inset 0 -1px rgba(217,137,0,.18)}
.b25-inline-edit-table tr.is-editing td:first-child,
.b25-inline-edit-table tr.new-product-row td:first-child{box-shadow:inset 5px 0 #d98900}
.b25-inline-edit-table tr.attention-row:not(.is-editing):not(.new-product-row) td{background:#fffdf5}
.admin-products-wide-table .field-sort{min-width:112px;max-width:132px;text-align:center;font-weight:900}
.admin-products-wide-table .actions-col{min-width:116px;max-width:126px;text-align:center}
.row-action-stack{display:flex;flex-direction:column;gap:.28rem;align-items:stretch}
.row-more-action{width:100%;border:1px solid rgba(31,90,51,.18);border-radius:9px;padding:.35rem .38rem;font-size:.72rem;font-weight:800;background:#fff;color:#1f5a33}
.admin-products-wide-table .small-action{width:100%;margin-bottom:0;border-radius:9px;padding:.38rem .42rem;font-size:.73rem;font-weight:900;line-height:1.1}
.admin-products-wide-table .cancel-row{background:#eef1f5;color:#374151}
.admin-products-wide-table .save-mode{background:#1f5a33;color:#fff}
.admin-products-wide-table .edit-mode{background:#e8f1ff;color:#164e88}
.admin-products-wide-table .edit-save-row:disabled{opacity:.48;cursor:not-allowed}


/* ==========================
   PHASE C1 — Buyer Account UI
   ========================== */
.auth-shell {
  display:grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap:1.25rem;
  align-items:start;
}
.auth-card, .buyer-card, .buyer-section {
  background:#fff;
  border:1px solid var(--line, #e5e7eb);
  border-radius:18px;
  box-shadow:0 8px 25px rgba(8,75,43,.06);
}
.auth-card { padding:1.25rem; }
.auth-card h2, .buyer-section h2 { color:var(--green-dark, #084b2b); margin:0 0 .45rem; }
.auth-card p, .buyer-card p { color:var(--muted, #6b7280); }
.form-grid.two, .buyer-form-grid.two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.form-grid.three, .buyer-form-grid.three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.auth-card label, .buyer-section label { font-weight:700; color:#244034; font-size:.82rem; margin-bottom:.25rem; display:block; }
.auth-card input, .auth-card select, .auth-card textarea,
.buyer-section input, .buyer-section select, .buyer-section textarea {
  width:100%; border:1px solid #d8e3dc; border-radius:10px; padding:.65rem .75rem; min-height:42px; background:#fff; font:inherit;
}
.auth-card textarea, .buyer-section textarea { min-height:88px; resize:vertical; }
.form-note { font-size:.82rem; color:var(--muted, #6b7280); margin:.55rem 0 0; }
.auth-side { display:grid; gap:.85rem; }
.auth-benefit { padding:1rem; background:#f6fbf7; border:1px solid #d7eadc; border-radius:16px; }
.auth-benefit h3 { margin:0 0 .3rem; color:var(--green-dark, #084b2b); }
.account-status-bar { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; margin:.75rem 0 0; }
.status-pill { display:inline-flex; align-items:center; gap:.35rem; border-radius:999px; padding:.3rem .65rem; font-size:.78rem; font-weight:800; border:1px solid #d8e3dc; background:#fff; }
.status-pill.pending { background:#fff8e1; border-color:#f6cf57; color:#755400; }
.status-pill.approved { background:#e8f7ee; border-color:#a8dfba; color:#0b6338; }
.status-pill.disabled, .status-pill.suspended, .status-pill.rejected { background:#feecec; border-color:#f6b9b9; color:#982020; }
.buyer-hero {
  background:linear-gradient(135deg, #084b2b, #0f6b3f);
  color:#fff; border-radius:20px; padding:1.2rem; margin:1rem 0;
}
.buyer-hero h1 { margin:.15rem 0 .35rem; font-size:clamp(1.3rem, 3vw, 2rem); }
.buyer-hero p { color:rgba(255,255,255,.84); max-width:780px; }
.buyer-grid { display:grid; grid-template-columns:280px minmax(0, 1fr); gap:1rem; align-items:start; }
.buyer-sidebar { position:sticky; top:74px; display:grid; gap:.65rem; }
.buyer-card { padding:1rem; }
.buyer-mini-nav { display:grid; gap:.35rem; }
.buyer-mini-nav a, .buyer-mini-nav button { display:flex; justify-content:space-between; align-items:center; border:1px solid #dbe7df; background:#fff; border-radius:10px; padding:.65rem .75rem; font-weight:800; color:#123524; }
.buyer-mini-nav a:hover, .buyer-mini-nav button:hover { background:#f0f8f3; }
.buyer-main { display:grid; gap:.85rem; }
.buyer-section summary { list-style:none; cursor:pointer; padding:.85rem 1rem; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid transparent; font-weight:900; color:var(--green-dark, #084b2b); }
.buyer-section summary::-webkit-details-marker { display:none; }
.buyer-section[open] summary { border-bottom-color:var(--line, #e5e7eb); }
.buyer-section summary::after { content:'+'; background:#edf7f0; border-radius:999px; width:26px; height:26px; display:grid; place-items:center; color:var(--green-dark, #084b2b); }
.buyer-section[open] summary::after { content:'−'; }
.buyer-section-body { padding:1rem; }
.buyer-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; margin:.8rem 0; }
.buyer-stat { background:#fff; border:1px solid #d8e3dc; border-radius:14px; padding:.8rem; }
.buyer-stat strong { display:block; font-size:1.25rem; color:var(--green-dark, #084b2b); }
.buyer-table-wrap { max-height:52vh; overflow:auto; border:1px solid #dfe8e2; border-radius:14px; background:#fff; }
.buyer-table { width:100%; border-collapse:separate; border-spacing:0; min-width:760px; }
.buyer-table th { position:sticky; top:0; background:#f4faf6; color:#0b4428; z-index:1; }
.buyer-table th, .buyer-table td { padding:.65rem .75rem; border-bottom:1px solid #e6efe9; text-align:left; font-size:.86rem; }
.buyer-empty { padding:1rem; background:#f8fbf9; border:1px dashed #bcd3c4; border-radius:14px; color:#53625b; }
.auth-message { margin-top:.75rem; padding:.65rem .75rem; border-radius:10px; display:none; }
.auth-message.show { display:block; }
.auth-message.error { background:#feecec; color:#941f1f; border:1px solid #f6b9b9; }
.auth-message.success { background:#e8f7ee; color:#0a5d35; border:1px solid #a8dfba; }
.password-line { display:flex; gap:.5rem; align-items:center; }
.password-line input { flex:1; }
.password-toggle { min-height:42px; border:1px solid #d8e3dc; background:#f7fbf8; border-radius:10px; padding:0 .7rem; font-weight:800; color:#0f6b3f; }
@media (max-width: 900px){
  .auth-shell, .buyer-grid { grid-template-columns:1fr; }
  .buyer-sidebar { position:static; }
  .form-grid.two, .form-grid.three, .buyer-form-grid.two, .buyer-form-grid.three, .buyer-stats { grid-template-columns:1fr; }
}


/* ==========================
   PHASE C1.1 — Finish Buyer Account Foundation
   ========================== */
.buyer-top-ribbon .nav-links button.link-button,
.link-button {
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  padding:.55rem .65rem;
  border-radius:10px;
}
.buyer-top-ribbon .nav-links button.link-button:hover { background:rgba(255,255,255,.08); }
.buyer-hero.compact { margin-top:.65rem; padding:1rem 1.1rem; }
.profile-panel { margin:.85rem 0 1rem; }
.profile-panel[hidden] { display:none !important; }
.profile-panel-title { padding:.85rem 1rem; display:block; font-weight:900; color:var(--green-dark, #084b2b); border-bottom:1px solid var(--line, #e5e7eb); }
.buyer-main.full-width { display:grid; gap:.85rem; }
.btn.mini { padding:.32rem .55rem; font-size:.78rem; border-radius:999px; border:1px solid #d8e3dc; background:#fff; color:#0b6338; font-weight:900; }
.local-dev-link { margin-top:.65rem; padding:.65rem; border-radius:10px; background:#fffdf0; border:1px solid #f2d47a; color:#544000; overflow-wrap:anywhere; }
.buyer-section input:disabled,
.buyer-section select:disabled,
.buyer-section textarea:disabled { background:#f5f7f6; color:#4b5563; cursor:not-allowed; }
@media (max-width: 900px){
  .buyer-top-ribbon .nav-links { align-items:flex-start; }
}

/* Phase C2 — buyer basket persistence and prefill */
.basket-sync-note{background:#eefaf2;border:1px solid #bfe5cd;color:#0b4428;border-radius:14px;padding:.75rem 1rem;margin:.8rem 0;font-weight:800}.basket-table-wrap{max-height:58vh;overflow:auto}.basket-table th{position:sticky;top:0;z-index:2}.basket-table td:last-child,.basket-table th:last-child{position:sticky;right:0;background:#fff;z-index:1}.basket-table th:last-child{background:var(--green-soft);z-index:3}.basket-table .remove-item{white-space:nowrap}.basket-table input,.basket-table select{min-width:110px}.basket-table td:first-child{min-width:210px}.local-dev-link{margin-top:.7rem;padding:.65rem .8rem;border-radius:12px;background:#fff8e1;border:1px solid #f5d36a;font-size:.88rem;word-break:break-word}.buyer-section[open] .buyer-section-body{animation:fadeIn .15s ease}@keyframes fadeIn{from{opacity:.55}to{opacity:1}}@media(max-width:720px){.basket-table-wrap{max-height:65vh}.basket-table{min-width:980px}}

/* Phase C2.1 direct basket enquiry */
.phone-entry { display:flex; gap:.5rem; align-items:center; }
.phone-entry .phone-code { flex:0 0 82px; background:#f2f5f2; font-weight:800; text-align:center; color:#134e2a; }
.phone-entry input:not(.phone-code) { flex:1 1 auto; }
.field-hint { margin:.35rem 0 0; font-size:.82rem; color:#64736b; }
.guest-submit-panel, .basket-submit-panel, .success-panel { background:#fff; border:1px solid #dcebdd; border-radius:16px; padding:1rem; margin:1rem 0; box-shadow:0 10px 22px rgba(14,91,50,.06); }
.guest-submit-panel { border-left:5px solid #f0b429; }
.basket-submit-panel { border-left:5px solid #177245; }
.success-panel { border-left:5px solid #177245; text-align:left; }
.basket-submit-panel h2, .guest-submit-panel h2 { margin-top:0; }
.basket-submit-panel textarea, .basket-submit-panel input, .basket-submit-panel select { width:100%; }
.wide-card { width:100%; }
.clean-steps { margin-left:1.2rem; line-height:1.7; }
@media (max-width: 720px) { .phone-entry { flex-direction:row; } .phone-entry .phone-code { flex-basis:70px; } }


/* H3.0 rendering and image performance helpers */
.product-grid{content-visibility:auto;contain-intrinsic-size:auto 760px}
.product-card{content-visibility:auto;contain-intrinsic-size:auto 420px}
.product-image{aspect-ratio:4 / 3;height:auto;min-height:0}
.product-image img{width:100%;height:100%;object-fit:cover}
.category-card,.feature-card,.market-card{content-visibility:auto;contain-intrinsic-size:auto 150px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* WCAG 2 AA contrast fixes — QA Sprint 2026-07-15
   --gold (#f4b400) on light backgrounds (#fff, #eaf5ee) fails 4.5:1.
   Override eyebrow colour to --green-dark in light-background contexts.
   Hero eyebrow retains --gold (dark gradient background passes 14:1). */
.section .eyebrow,
.page-hero .eyebrow,
.section-heading .eyebrow,
.cta-band .eyebrow { color: var(--green-dark); }
