:root { --supplier-green:#173f32; --supplier-green-2:#245d49; --supplier-cream:#f7f4ec; --supplier-line:#d7ddd5; --supplier-red:#9b2c2c; }
.page--procurement-register,.page--procurement-login,.page--procurement-dashboard,.page--procurement-profile,.page--procurement-listing-form,.page--procurement-listing-detail { min-height:100vh; background:var(--supplier-cream); color:#19231f; }
.supplier-header { position:relative; z-index:20; border-bottom:1px solid rgba(255,255,255,.13); background:var(--supplier-green); color:#fff; }
.supplier-header__inner { min-height:5rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.supplier-brand { display:flex; align-items:center; gap:1rem; color:#fff; text-decoration:none; }
.supplier-brand img { width:9.5rem; height:auto; filter:brightness(0) invert(1); }
.supplier-brand span { padding-left:1rem; border-left:1px solid rgba(255,255,255,.3); font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.supplier-header nav { display:flex; align-items:center; flex-wrap:wrap; gap:.35rem 1rem; }
.supplier-header nav a,.supplier-header nav button { border:0; background:none; color:#fff; font:inherit; font-size:.78rem; font-weight:700; text-decoration:none; cursor:pointer; }
.supplier-header nav form { margin:0; }
.supplier-auth { min-height:calc(100vh - 5rem); display:grid; place-items:center; padding:clamp(1.25rem,5vw,5rem); background:radial-gradient(circle at 80% 10%,rgba(36,93,73,.14),transparent 36%),var(--supplier-cream); }
.supplier-auth__panel { width:min(52rem,100%); padding:clamp(1.4rem,4vw,3.5rem); border:1px solid var(--supplier-line); border-radius:1rem; background:#fff; box-shadow:0 1.5rem 4rem rgba(23,63,50,.09); }
.supplier-auth__panel--compact { width:min(34rem,100%); }
.supplier-auth h1,.supplier-page h1 { margin:.25rem 0 1rem; color:var(--supplier-green); font-size:clamp(2.2rem,5vw,4rem); }
.supplier-auth__alternate { margin:1.5rem 0 0; }
.supplier-auth__recovery { margin-top:-.45rem; text-align:right; }
.supplier-auth__recovery a { color:var(--supplier-green-2); font-size:.82rem; font-weight:750; }
.supplier-auth__alternate a,.supplier-page a:not(.button),.supplier-admin a:not(.button) { color:var(--supplier-green-2); font-weight:750; }
.supplier-page { min-height:calc(100vh - 5rem); padding:clamp(2rem,5vw,5rem) 0; }
.supplier-narrow { max-width:58rem; }
.supplier-page__heading { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:2rem; }
.supplier-page__heading p { max-width:48rem; }
.supplier-panel { padding:clamp(1.15rem,2.5vw,2rem); border:1px solid var(--supplier-line); border-radius:.8rem; background:#fff; box-shadow:0 .6rem 2rem rgba(23,63,50,.04); }
.supplier-panel + .supplier-panel { margin-top:1rem; }
.supplier-panel h2 { margin-top:0; color:var(--supplier-green); }
.supplier-panel__heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; }
.supplier-form { display:grid; gap:1.2rem; margin-top:1.7rem; }
.supplier-form label,.supplier-upload label { display:grid; gap:.45rem; color:#27342e; font-size:.82rem; font-weight:760; }
.supplier-form input,.supplier-form select,.supplier-form textarea,.supplier-upload input { width:100%; min-height:3rem; padding:.7rem .8rem; border:1px solid #aebbb3; border-radius:.38rem; background:#fff; color:#111; font:inherit; }
.supplier-form textarea { min-height:7rem; resize:vertical; }
.supplier-form input:focus,.supplier-form select:focus,.supplier-form textarea:focus,.supplier-upload input:focus { outline:3px solid rgba(36,93,73,.2); border-color:var(--supplier-green-2); }
.supplier-form fieldset { display:grid; gap:.8rem; margin:0; padding:1rem; border:1px solid var(--supplier-line); border-radius:.5rem; }
.supplier-form legend { padding:0 .4rem; color:var(--supplier-green); font-weight:800; }
.supplier-form__split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.supplier-form__triple { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.supplier-password-field { display:grid; min-width:0; gap:.45rem; color:#27342e; font-size:.82rem; font-weight:760; }
.supplier-password-field__control { display:flex; min-width:0; align-items:stretch; gap:.45rem; }
.supplier-password-field__control input { flex:1 1 auto; min-width:0; }
.supplier-password-toggle { display:none; min-width:5.5rem; min-height:3rem; align-items:center; justify-content:center; gap:.35rem; padding:.45rem .65rem; border:1px solid #aebbb3; border-radius:.38rem; background:#f8faf9; color:var(--supplier-green); font:inherit; font-size:.76rem; font-weight:800; cursor:pointer; }
html.js .supplier-password-toggle { display:inline-flex; }
.supplier-password-toggle:hover { background:#edf4ef; border-color:var(--supplier-green-2); }
.supplier-password-toggle:focus-visible { outline:3px solid rgba(36,93,73,.3); outline-offset:2px; }
.supplier-password-toggle__eye { width:1.1rem; height:1.1rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.supplier-password-toggle__eye--hide { display:none; }
.supplier-password-toggle[aria-pressed="true"] .supplier-password-toggle__eye--show { display:none; }
.supplier-password-toggle[aria-pressed="true"] .supplier-password-toggle__eye--hide { display:block; }
.supplier-check { grid-template-columns:auto 1fr!important; align-items:start; }
.supplier-check input { width:1.15rem; min-height:1.15rem; margin-top:.18rem; }
.supplier-help,.supplier-label-note { color:#5b6761; font-size:.75rem; font-weight:500; }
.supplier-alert { margin:1rem 0; padding:1rem 1.1rem; border-radius:.45rem; }
.supplier-alert--error { border:1px solid #e3b2b2; background:#fff1f1; color:#7a2020; }
.supplier-alert--success { border:1px solid #a8d2be; background:#edf9f2; color:#174d35; }
.supplier-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.supplier-stats article { padding:1.2rem; border:1px solid var(--supplier-line); border-radius:.7rem; background:#fff; }
.supplier-stats span { display:block; color:#5b6761; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.supplier-stats strong { display:block; margin-top:.35rem; color:var(--supplier-green); font-size:2rem; }
.supplier-table-wrap { max-width:100%; overflow-x:auto; }
.supplier-table { width:100%; border-collapse:collapse; min-width:48rem; }
.supplier-table th,.supplier-table td { padding:.85rem .7rem; border-bottom:1px solid var(--supplier-line); text-align:left; vertical-align:top; }
.supplier-table th { color:#58645e; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
.supplier-status { display:inline-flex; padding:.3rem .55rem; border-radius:999px; background:#e9eeeb; color:#304038; font-size:.66rem; font-weight:850; letter-spacing:.06em; }
.supplier-status--available { background:#d9f0e2; color:#145a35; }.supplier-status--draft { background:#f2ead8;color:#725310}.supplier-status--paused { background:#e8e5f3;color:#514578}.supplier-status--withdrawn { background:#eee;color:#555; }
.supplier-empty { padding:2rem 0; text-align:center; }.supplier-empty h3 { color:var(--supplier-green); }
.supplier-detail-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(18rem,.7fr); gap:1rem; align-items:start; }
.supplier-actions { display:grid; gap:.65rem; }.supplier-actions form,.supplier-actions button { width:100%; margin:0; }
.supplier-declaration { padding:1rem; border-left:3px solid #c88b44; background:#fbf5e9; }.supplier-declaration p { margin:.35rem 0 0; }
.supplier-media-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.supplier-media-grid figure { margin:0; overflow:hidden; border:1px solid var(--supplier-line); border-radius:.5rem; }.supplier-media-grid img { width:100%; height:10rem; object-fit:cover; display:block; }.supplier-media-grid figcaption { padding:.55rem; color:#5b6761; font-size:.7rem; }
.supplier-upload { display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:end; margin-top:1rem; }.supplier-upload .button { margin:0; }
.supplier-detail-list { display:grid; gap:0; margin:0; }.supplier-detail-list div { display:grid; grid-template-columns:minmax(8rem,.4fr) 1fr; gap:1rem; padding:.7rem 0; border-bottom:1px solid var(--supplier-line); }.supplier-detail-list dt { color:#5b6761;font-size:.74rem;font-weight:800;text-transform:uppercase; }.supplier-detail-list dd { margin:0; }
.supplier-timeline { display:grid; gap:.8rem; padding:0; list-style:none; }.supplier-timeline li { display:grid; gap:.15rem; padding-left:.8rem; border-left:2px solid var(--supplier-green-2); }.supplier-timeline span,.supplier-timeline time { color:#5b6761;font-size:.74rem; }
.supplier-account-meta { margin-top:1rem; padding:1rem; border:1px dashed var(--supplier-line); }.supplier-account-meta p { margin:.25rem 0; }
.supplier-admin { padding-block:2rem; }.supplier-admin .supplier-panel { border-radius:.35rem; }
@media (max-width:56rem){.supplier-detail-grid{grid-template-columns:1fr}.supplier-stats{grid-template-columns:repeat(2,1fr)}.supplier-form__triple{grid-template-columns:1fr}.supplier-media-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:48rem){.supplier-header__inner{min-height:4.25rem;align-items:flex-start;flex-wrap:wrap;padding-block:.75rem}.supplier-brand img{width:7.2rem}.supplier-brand span{display:none}.supplier-header nav{box-sizing:border-box;width:100%;max-width:100%;justify-content:flex-start;flex-wrap:nowrap;gap:.35rem .7rem;overflow-x:auto;overscroll-behavior-inline:contain;padding:.15rem .1rem .45rem;scrollbar-width:thin}.supplier-header nav>a,.supplier-header nav button{display:inline-flex;flex:0 0 auto;align-items:center;min-height:44px;padding:.35rem .55rem}.supplier-header nav form{flex:0 0 auto}.supplier-page__heading{align-items:start;flex-direction:column}.supplier-form__split{grid-template-columns:1fr}.supplier-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-upload{grid-template-columns:1fr}.supplier-media-grid{grid-template-columns:1fr}.supplier-detail-list div{grid-template-columns:1fr;gap:.2rem}.supplier-auth{padding:.8rem}.supplier-auth__panel{padding:1.1rem;border-radius:.65rem}.supplier-page{padding:1.5rem 0}.supplier-page h1{overflow-wrap:anywhere}}
@media (max-width:22rem){.supplier-header nav a:nth-child(2){display:none}.supplier-stats{grid-template-columns:1fr}.supplier-panel{padding:1rem}.button{max-width:100%}}
