@font-face{font-family:Caudex;src:url('caudex-regular.ttf')}@font-face{font-family:Cinzel;src:url('cinzel.woff2')}*{box-sizing:border-box}body{margin:0;background:#f7f8fa;color:#242325;font:16px/1.6 Caudex,Georgia,serif}header{background:white;display:flex;align-items:center;justify-content:space-between;padding:18px 5%;border-bottom:3px solid #b30000}header img{width:150px;height:65px;object-fit:contain}a{color:#b30000}main{max-width:1200px;margin:40px auto;padding:0 24px}h1{font:clamp(26px,4vw,38px)/1.25 Cinzel,Georgia,serif;margin:8px 0}button{font:inherit;cursor:pointer;background:#b30000;color:white;border:0;border-radius:10px;padding:12px 18px;min-height:44px}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #b30000;outline-offset:4px}.secondary{background:white;color:#b30000;border:1px solid #ddd}.login{max-width:520px;margin:60px auto;background:white;border-radius:20px;padding:32px;box-shadow:0 3px 22px #0001}label{display:block;margin:18px 0}input{display:block;width:100%;border:1px solid #ccc;border-radius:8px;padding:12px;font:inherit}.eyebrow{color:#b30000;font-size:12px;letter-spacing:2px}.muted{color:#666;font-size:14px}.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.tabs button{background:white;color:#333}.tabs button[aria-current=true]{background:#b30000;color:white}.table-wrap{overflow:auto;border-radius:20px;background:white;box-shadow:0 3px 22px #0001}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:16px;border-bottom:1px solid #eee}th{font-weight:normal;background:#f0f0f2}.badge{display:inline-block;border-radius:20px;background:#f1f1f3;padding:4px 12px;font-size:13px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:24px}.dashboard-heading button{flex-shrink:0}@media(max-width:600px){main{padding:0 16px}.dashboard-heading{align-items:flex-start;flex-direction:column}.login{padding:24px}th,td{padding:12px;font-size:14px}}
.document-link{padding:0;min-height:44px;color:#b30000;background:none;text-decoration:underline}dialog{width:min(900px,94vw);max-height:90vh;border:0;border-radius:20px;padding:24px;box-shadow:0 20px 70px #0003}dialog::backdrop{background:#0007}dialog h2{font-family:Cinzel,Georgia,serif}dialog td p{font-size:13px;max-width:420px}

/* Shared corner treatment for actions and text/quantity fields. */
body button,body .button,body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),body textarea{border-radius:10px!important}
.cart-product-image{float:left;width:150px;margin:0 24px 15px 0;text-align:center}.cart-product-image img{width:150px;height:150px;object-fit:contain;border-radius:10px}.cart-row:after{content:"";display:block;clear:both}.cart-product-image small{display:block;font-size:12px}@media(max-width:550px){.cart-product-image{float:none;margin:0 auto 18px}}
.admin-overview{display:grid;gap:28px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-grid button{display:flex;min-height:150px;flex-direction:column;align-items:flex-start;justify-content:space-between;background:#fff;color:#242325;border:1px solid #eee;box-shadow:0 8px 28px #0000000d;text-align:left}.metric-grid strong{font:36px/1 Cinzel,Georgia,serif;color:#b30000}.metric-grid small{color:#666}.admin-panels,.gateway-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.admin-panels article,.gateway-card{background:#fff;border:1px solid #eee;border-radius:20px;padding:26px;box-shadow:0 8px 28px #0000000d}.admin-panels h2,.gateway-card h2{font-family:Cinzel,Georgia,serif;margin-top:0}.integration-ok,.is-live{color:#19733b}.gateway-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.gateway-heading .badge{white-space:nowrap}.webhook{overflow-wrap:anywhere;padding:12px;background:#f6f6f7;border-radius:10px;font-size:13px}@media(max-width:850px){.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.metric-grid,.admin-panels,.gateway-grid{grid-template-columns:1fr}.metric-grid button{min-height:120px}}

.store-settings-card{max-width:720px}
.setting-toggle{display:flex!important;align-items:flex-start;gap:14px;padding:18px;border:1px solid #ddd;border-radius:14px;margin:18px 0;background:#fafafa}
.setting-toggle input{width:22px;height:22px;margin:2px 0 0;accent-color:#b30000;flex:0 0 auto}
.setting-toggle span{display:grid;gap:5px}
.setting-toggle small{color:#666;font-weight:400}
/* Role-based operational workspaces */
.role-workspace{display:grid;gap:1.5rem}.workspace-panel{background:#fff;border:1px solid #e5e7eb;border-radius:1.25rem;padding:1.25rem;box-shadow:0 16px 40px rgba(17,24,39,.06)}
.account-switcher{display:grid;gap:.35rem;min-width:14rem;font-size:.82rem;color:#5b6472}.account-switcher select{min-height:2.75rem;border:1px solid #d8dce3;border-radius:.75rem;background:#fff;padding:.55rem .75rem}
.metric-grid button{text-align:left}.metric-grid button span{display:block}.metric-grid button strong{display:block;font-size:2rem;margin-top:.35rem}.workspace-panel small{display:block;color:#8b1a1a;margin-top:.35rem}
@media(max-width:720px){.dashboard-heading{align-items:stretch}.account-switcher{width:100%}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-panel{padding:1rem}}
.job-card-dialog{width:min(54rem,94vw)}.print-job-card dl{display:grid;grid-template-columns:10rem 1fr;gap:.45rem}.print-job-card dt{font-weight:700}.print-job-card dd{margin:0}.print-job-card pre,.revision-list pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f6f8;border-radius:.75rem;padding:1rem}
@media print{body *{visibility:hidden}.print-job-card,.print-job-card *{visibility:visible}.print-job-card{position:absolute;inset:0;background:#fff}.no-print{display:none!important}}

.client-tabs{position:sticky;top:0;z-index:4;background:#f7f8fa;padding:.75rem 0;border-bottom:1px solid #e0e0e3}.client-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.client-card-grid h2{font-family:Cinzel,Georgia,serif}.client-card-grid dl{display:grid;grid-template-columns:minmax(7rem,.45fr) 1fr;gap:.35rem 1rem}.client-card-grid dt{font-weight:700}.client-card-grid dd{margin:0;overflow-wrap:anywhere}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.profile-grid h2,.profile-grid h3{font-family:Cinzel,Georgia,serif}.client-tabs button{white-space:nowrap}
@media(max-width:720px){.client-tabs{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain}.client-card-grid,.profile-grid{grid-template-columns:1fr}.table-wrap table{min-width:42rem}}

/* Collection and delivery confirmations */
.receipt-card-grid{display:grid;gap:1.25rem;min-width:0}.receipt-card{max-width:72rem;min-width:0}.receipt-summary{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1rem}.receipt-summary dt{font-weight:700}.receipt-summary dd{margin:0}.receipt-form{display:grid;gap:1rem;margin-top:1.25rem;min-width:0}.receipt-line{min-width:0;min-inline-size:0;border:1px solid #dedfe3;border-radius:15px;padding:1rem}.receipt-line legend{max-width:100%;padding:0 .5rem;color:#b30000}.receipt-line label{margin:.5rem 0}.receipt-line textarea,.receipt-form>label textarea{display:block;width:100%;max-width:100%;min-height:5rem;border:1px solid #ccc;padding:.75rem;font:inherit;overflow-wrap:anywhere}.receipt-quantity-grid,.receipt-when{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;min-width:0}.receipt-when{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-declaration{display:flex;align-items:flex-start;gap:.65rem;padding:1rem;border-radius:15px;background:#f7f1f1}.receipt-declaration input{width:1.25rem;height:1.25rem;flex:0 0 auto;margin:.1rem 0;accent-color:#b30000}
@media(max-width:720px){.receipt-quantity-grid,.receipt-when{grid-template-columns:minmax(0,1fr)}.receipt-card-grid{grid-template-columns:minmax(0,1fr)}.receipt-line{padding:.85rem}.receipt-card{overflow:hidden}}
.receipt-history{margin-top:1rem;border-top:1px solid #dedfe3;padding-top:1rem}.receipt-history>summary{cursor:pointer;font-weight:700;color:#b30000}.receipt-history article{margin-top:1rem;padding:1rem;border-radius:15px;background:#f7f8fa}.receipt-history ul{padding-left:1.25rem}.receipt-comment{border-left:3px solid #b30000;padding-left:.75rem}.receipt-comment small{display:inline;color:#666}

/* Assisted ordering, simple customer view and after-sales care */
.assisted-layout,.case-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(18rem,.8fr);gap:1.25rem;align-items:start}.case-grid{display:grid;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.workspace-panel select,.workspace-panel textarea{display:block;width:100%;min-height:48px;border:1px solid #ccc;border-radius:10px;padding:12px;font:inherit;background:#fff}.workspace-panel input[type=checkbox]{display:inline-block;width:1.3rem;height:1.3rem;min-height:1.3rem;vertical-align:middle;margin-right:.5rem;accent-color:#b30000}.workspace-panel textarea{min-height:7rem}.workspace-panel h2{font-family:Cinzel,Georgia,serif}.case-event{border-left:3px solid #b30000;padding-left:.75rem}.client-heading-actions{display:flex;gap:.75rem;flex-wrap:wrap;min-width:0}.client-heading-actions button{min-width:0}.simple-portal .client-tabs button:not([data-tab="client-overview"]):not([data-tab="client-orders"]):not([data-tab="client-deliveries"]):not([data-tab="client-cases"]){display:none}.simple-portal .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.simple-portal button,.simple-portal input,.simple-portal select{min-height:48px}.simple-portal main{max-width:960px;overflow:hidden}
@media(max-width:760px){.assisted-layout,.case-layout,.form-grid{grid-template-columns:minmax(0,1fr)}.client-heading-actions{width:100%}.client-heading-actions button{flex:1}.simple-portal .metric-grid{grid-template-columns:minmax(0,1fr)}}

/* Izipho role workspace shell — adapted from the approved assisted-ordering reference. */
:root{--portal-red:#b30000;--portal-red-dark:#8d0000;--portal-charcoal:#242325;--portal-ink:#292529;--portal-muted:#6d666b;--portal-line:#e6e1e4;--portal-bg:#f7f6f7;--portal-paper:#fff;--portal-soft:#fbefef;--portal-green:#19733b;--portal-radius:16px;--portal-shadow:0 10px 30px rgba(36,35,37,.07)}
body{background:var(--portal-bg);color:var(--portal-ink)}
body>header{position:sticky;top:0;z-index:12;min-height:92px;padding:12px clamp(20px,4vw,58px);border-bottom:3px solid var(--portal-red);box-shadow:0 2px 14px rgba(36,35,37,.05)}
body>header img{width:150px;height:65px;object-fit:contain}
body>header nav{display:flex;align-items:center;gap:22px}
body>header nav a{color:var(--portal-charcoal);text-decoration:none;font-size:14px}
body>header nav a:hover{color:var(--portal-red);text-decoration:underline;text-underline-offset:5px}
.portal-authenticated main{max-width:none;margin:0;padding:0}
.portal-authenticated #portal{display:grid;grid-template-columns:250px minmax(0,1fr);grid-template-rows:auto auto minmax(420px,1fr) auto;min-height:calc(100vh - 92px)}
.portal-authenticated .dashboard-heading{grid-column:2;grid-row:1;padding:24px clamp(22px,3vw,42px);background:var(--portal-paper);border-bottom:1px solid var(--portal-line);align-items:center}
.portal-authenticated .dashboard-heading h1{font-size:clamp(26px,3vw,38px);letter-spacing:-.02em}
.portal-authenticated .dashboard-heading>div:first-child>p:last-child{margin:4px 0 0;color:var(--portal-muted);font-size:13px}
.portal-authenticated .tabs{grid-column:1;grid-row:1/5;align-self:stretch;display:flex;flex-direction:column;align-items:stretch;gap:5px;margin:0;padding:25px 15px;background:var(--portal-charcoal);border:0;overflow-y:auto}
.portal-authenticated .tabs::before{content:'YOUR WORKSPACE';display:block;padding:2px 13px 15px;color:#cfc6cc;font:700 10px/1.2 Caudex,Georgia,serif;letter-spacing:1.8px}
.portal-authenticated .tabs button{position:relative;width:100%;min-height:45px;padding:11px 13px 11px 40px;border:0;border-radius:9px!important;background:transparent;color:#e6dfe3;text-align:left;font-size:13px;justify-content:flex-start;box-shadow:none}
.portal-authenticated .tabs button::before{content:'';position:absolute;left:16px;top:50%;width:9px;height:9px;border:1.5px solid currentColor;border-radius:3px;transform:translateY(-50%) rotate(45deg);opacity:.85}
.portal-authenticated .tabs button:hover{background:#383638;color:#fff}
.portal-authenticated .tabs button[aria-current=true]{background:var(--portal-red);color:#fff;font-weight:700}
.portal-authenticated #status{grid-column:2;grid-row:2;margin:0;padding:11px clamp(22px,3vw,42px);min-height:45px;background:#fffafa;border-bottom:1px solid #eddada;color:#6e5559;font-size:12px}
.portal-authenticated #status:empty{display:none}
.portal-authenticated #content{grid-column:2;grid-row:3;min-width:0;padding:28px clamp(22px,3vw,42px) 38px}
.portal-authenticated .pagination{grid-column:2;grid-row:4;margin:0;padding:0 42px 32px}
.portal-authenticated .client-heading-actions{justify-content:flex-end}
.portal-authenticated .client-heading-actions .secondary{background:#fff;color:var(--portal-red);border-color:#dccfd3}
.account-switcher{min-width:230px;color:var(--portal-muted)}
.account-switcher select{border-radius:10px;background:#fff}
.role-workspace{gap:20px}
.metric-grid{gap:14px}
.metric-grid button{position:relative;min-height:142px;padding:20px;border:1px solid var(--portal-line);border-radius:var(--portal-radius)!important;background:var(--portal-paper);box-shadow:var(--portal-shadow);overflow:hidden}
.metric-grid button::after{content:'→';position:absolute;right:18px;bottom:14px;color:var(--portal-red);font-size:20px}
.metric-grid button:hover{border-color:#dcaeae;background:#fffafa;transform:translateY(-1px)}
.metric-grid button span{font-size:12px;color:var(--portal-muted)}
.metric-grid button strong{font-size:32px;color:var(--portal-red);font-family:Cinzel,Georgia,serif}
.workspace-panel,.admin-panels article,.gateway-card{border-color:var(--portal-line);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow)}
.workspace-panel{padding:22px}
.workspace-panel h2{margin:0 0 12px;font-size:20px;color:var(--portal-charcoal)}
.table-wrap{border:1px solid var(--portal-line);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow)}
th{background:#f5f2f3;color:#6f666b;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
td{background:#fff}
tbody tr:hover td{background:#fffbfb}
.badge{background:#f1edef;color:#4e474b;border:1px solid #e4dce0}
.eyebrow{color:var(--portal-red);font-weight:700}
button{transition:background-color .18s ease,border-color .18s ease,transform .18s ease}
button:not(.secondary){background:var(--portal-red)}
button:not(.secondary):hover{background:var(--portal-red-dark)}
.secondary:hover{background:var(--portal-soft)}
.portal-authenticated .metric-grid button{background:var(--portal-paper);color:var(--portal-ink)}
.portal-authenticated .metric-grid button:hover{background:#fffafa}
.login{border:1px solid var(--portal-line);box-shadow:0 18px 55px rgba(36,35,37,.1)}
.login h1{color:var(--portal-charcoal)}
.login::before{content:'';display:block;width:48px;height:4px;margin-bottom:20px;border-radius:20px;background:var(--portal-red)}
.client-card-grid{gap:16px}
.client-card-grid .workspace-panel{transition:border-color .18s ease,transform .18s ease}
.client-card-grid .workspace-panel:hover{border-color:#dcaeae;transform:translateY(-1px)}
dialog{border:1px solid var(--portal-line);border-radius:var(--portal-radius);box-shadow:0 26px 80px rgba(0,0,0,.28)}
@media(max-width:980px){
 .portal-authenticated #portal{grid-template-columns:215px minmax(0,1fr)}
 .portal-authenticated .dashboard-heading{align-items:flex-start;flex-wrap:wrap}
 .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 body>header{position:relative;min-height:78px;padding:8px 16px}
 body>header img{width:130px;height:56px}
 body>header nav{gap:14px}body>header nav a{font-size:12px}body>header nav a:last-child{display:none}
 .portal-authenticated #portal{display:block;min-height:calc(100vh - 78px)}
 .portal-authenticated .dashboard-heading{padding:22px 16px}
 .portal-authenticated .tabs,.portal-authenticated .client-tabs{position:sticky;top:0;z-index:8;display:flex;flex-direction:row;flex-wrap:nowrap;gap:7px;overflow-x:auto;padding:10px 14px;background:var(--portal-charcoal);border:0;overscroll-behavior-inline:contain}
 .portal-authenticated .tabs::before{display:none}
 .portal-authenticated .tabs button{width:auto;min-width:max-content;min-height:42px;padding:9px 14px;border:1px solid #4b484b!important;border-radius:9px!important}
 .portal-authenticated .tabs button::before{display:none}
 .portal-authenticated #status{padding:10px 16px}
 .portal-authenticated #content{padding:20px 16px 30px}
 .portal-authenticated .pagination{padding:0 16px 24px}
 .portal-authenticated .client-heading-actions{width:100%}.portal-authenticated .client-heading-actions button{flex:1}
 .account-switcher{order:3;width:100%;min-width:0}
 .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .metric-grid button{min-height:118px;padding:16px}.metric-grid button strong{font-size:27px}
 .workspace-panel{padding:18px}.table-wrap{border-radius:12px}
}
@media(max-width:430px){.metric-grid{grid-template-columns:1fr}.portal-authenticated .dashboard-heading h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){button,.client-card-grid .workspace-panel{transition:none!important}}
