/* V14.2: responsive admin operations workspace + consistent mobile-friendly portal refinements. */
.fwh-supplier{--f14-ink:#133445;--f14-deep:#0b3440;--f14-brand:#16844b;--f14-pale:#f3f8f8;--f14-stroke:#dae7ea;--f14-muted:#647d88;--f14-radius:17px;max-width:1540px;margin:0 auto 40px;color:var(--f14-ink);font-size:.91rem}
.fwh-supplier *, .fwh-supplier *::before,.fwh-supplier *::after{box-sizing:border-box}
.fwh14-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:end;gap:26px;background:linear-gradient(115deg,#082d39 0%,#105c4c 78%,#1b8057 100%);color:#fff;border-radius:20px;margin:5px 0 20px;padding:34px 38px;box-shadow:0 16px 37px rgba(5,50,60,.12)}
.fwh14-hero::after{content:"";position:absolute;pointer-events:none;right:-95px;top:-90px;border:1px solid rgba(225,250,240,.21);border-radius:50%;width:325px;height:325px;box-shadow:0 0 0 56px rgba(248,255,252,.035),0 0 0 130px rgba(248,255,252,.022)}
.fwh14-hero > *{position:relative;z-index:1}.fwh14-hero h1{color:#fff;font-size:clamp(1.85rem,3.5vw,2.65rem);font-weight:840;letter-spacing:-.055em;line-height:1.08;margin:13px 0 13px}.fwh14-hero p{color:#c9e3dc;line-height:1.65;max-width:670px;margin:0;font-size:.94rem}
.fwh14-eyebrow{display:flex;align-items:center;gap:9px;font-size:.66rem;line-height:1.3;letter-spacing:.14em;font-weight:850;text-transform:uppercase;color:#538b86}.fwh14-hero .fwh14-eyebrow{color:#9fd6bd}.fwh14-dot{width:7px;height:7px;border-radius:50%;background:#9de69b;box-shadow:0 0 0 4px rgba(162,238,150,.13)}.fwh14-version{border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:2px 7px;letter-spacing:.03em}
.fwh14-tags{display:flex;flex-wrap:wrap;gap:13px;margin-top:22px}.fwh14-tags span{font-size:.7rem;color:#dbf5e8;display:flex;align-items:center;gap:7px}.fwh14-tags i{color:#92e4ae}.fwh14-hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fwh14-hero-actions .btn{white-space:nowrap;font-size:.77rem}
.fwh14-hero-small{align-items:center;padding-block:30px}
.fwh14-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}.fwh14-stat{position:relative;background:white;border:1px solid var(--f14-stroke);border-radius:var(--f14-radius);padding:19px 20px;min-height:125px;display:flex;flex-direction:column;gap:6px;box-shadow:0 4px 18px rgba(15,51,65,.035)}
.fwh14-stat>span{font-size:.75rem;font-weight:780;color:#5b7280}.fwh14-stat strong{font-size:2rem;letter-spacing:-.065em;line-height:1.15;font-variant-numeric:tabular-nums}.fwh14-stat small{font-size:.7rem;color:#81949b}.fwh14-stat>i{position:absolute;right:18px;top:24px;color:#c5deda;font-size:1.1rem}.fwh14-risk>i{color:#efc27b}
.fwh14-section{border-radius:var(--f14-radius);border:1px solid var(--f14-stroke);background:#fff;box-shadow:0 7px 25px rgba(13,55,64,.045);margin-bottom:18px;overflow:hidden}.fwh14-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;padding:22px 23px 15px}.fwh14-heading h2{font-size:1.12rem;font-weight:830;letter-spacing:-.03em;margin:5px 0 4px;color:#123846}.fwh14-heading p{font-size:.78rem;color:var(--f14-muted);margin:0;max-width:680px}.fwh14-mode{font-size:.72rem;font-weight:800;border-radius:99px;padding:9px 13px;background:#e6f6eb;color:#0d7240}.fwh14-mode-warn{background:#fff0da;color:#925316}
.fwh14-provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 23px 23px}.fwh14-provider{background:#f7faf9;border:1px solid #dfe9e9;border-radius:14px;padding:20px;display:flex;flex-direction:column;align-items:start;min-width:0}.fwh14-provider-top{display:flex;align-items:center;gap:12px;width:100%;flex-wrap:wrap}.fwh14-provider-mark{width:46px;height:46px;display:grid;place-items:center;background:#0e7453;color:#fff;font-size:1.1rem;border-radius:13px;font-weight:900}.fwh14-provider-mark.reseller{background:#173f5c}.fwh14-provider-top h3{font-size:.99rem;font-weight:830;margin:0}.fwh14-provider-top span:not(.fwh14-pill){color:var(--f14-muted);font-size:.71rem}.fwh14-provider-top>.fwh14-pill{margin-left:auto}.fwh14-provider>p{font-size:.79rem;line-height:1.65;color:var(--f14-muted);margin:17px 0;flex:1}.fwh14-provider .btn{font-size:.77rem}
.fwh14-pill{display:inline-flex;align-items:center;white-space:nowrap;background:#eff3f5;border:1px solid #e2ebee;color:#5e7480;border-radius:99px;font-size:.66rem;font-weight:780;padding:5px 9px;text-transform:capitalize}.fwh14-pill.is-ready{background:#e5f7ec;border-color:#caead6;color:#187444}.fwh14-pill.is-off{background:#fff1e8;border-color:#f6deca;color:#98602f}.fwh14-warning{font-size:.62rem;background:#fff0d8;color:#905a1b;padding:3px 5px;border-radius:4px;margin-left:4px}
.fwh14-count{font-size:.73rem;color:#486575;background:#eaf4f4;padding:8px 12px;border-radius:9px;font-weight:800}.fwh14-toolbar{padding:0 23px 18px;display:grid;grid-template-columns:minmax(190px,2fr) minmax(150px,1fr) minmax(160px,1fr) auto;align-items:end;gap:10px}.fwh14-toolbar label{font-size:.69rem;font-weight:750;color:#5e7480;margin-bottom:5px}.fwh14-toolbar .btn{min-height:40px}.fwh14-toolbar .form-control,.fwh14-toolbar .form-select{font-size:.79rem}
.fwh14-table-scroll{overflow-x:auto;overscroll-behavior-x:contain}.fwh14-table{width:100%;min-width:810px;margin:0;font-size:.76rem}.fwh14-table>thead th{font-size:.62rem!important;color:#5a747e!important;background:#f4f8f8!important;padding:12px 16px!important;border-color:#e1ebed!important}.fwh14-table>tbody td{padding:14px 16px!important;vertical-align:middle;border-color:#eef2f3!important}.fwh14-table strong{font-weight:810;color:#1c3b49;font-size:.78rem}.fwh14-table small{display:block;color:#718895;line-height:1.55;font-size:.69rem;max-width:350px;overflow-wrap:anywhere;margin-top:3px}.fwh14-table code{color:#68878c;font-size:.65rem}.fwh14-number{font-variant-numeric:tabular-nums;font-weight:780}.fwh14-actions{display:flex;align-items:center;gap:4px;justify-content:end}.fwh14-actions form{display:inline}.fwh14-actions .btn{white-space:nowrap;font-size:.7rem}.fwh14-supplier-label{font-size:.75rem;font-weight:760}.fwh14-empty{text-align:center;padding:35px 10px;color:#83959b}.fwh14-empty i{display:block;font-size:1.6rem;margin-bottom:13px}.fwh14-empty strong{display:block}.fwh14-empty p{font-size:.75rem;margin:5px 0}
.fwh14-pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 20px;color:#71858d;font-size:.75rem;border-top:1px solid #e6eff0}.fwh14-pagination>div{display:flex;gap:8px}.fwh14-lower-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:18px}.fwh14-stack{display:flex;flex-direction:column;gap:0}.fwh14-map-list{padding:0 18px 18px;max-height:555px;overflow:auto}.fwh14-map-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 6px;border-bottom:1px solid #ecf2f3}.fwh14-map-row>div:first-child{min-width:0}.fwh14-map-row strong{display:block;font-size:.8rem}.fwh14-map-row small{display:block;color:#738a93;font-size:.7rem;overflow-wrap:anywhere}.fwh14-map-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:end}.fwh14-map-meta form{margin:0}.fwh14-queue-item,.fwh14-run{display:flex;align-items:center;justify-content:space-between;gap:8px;text-decoration:none;color:#1d3a48;padding:11px 22px;border-top:1px solid #edf2f2}.fwh14-queue-item:hover{background:#f4faf6}.fwh14-queue-item strong,.fwh14-run span:first-child{font-size:.78rem;font-weight:750}.fwh14-queue-item small,.fwh14-run small{display:block;font-size:.69rem;color:#81939a}.fwh14-stack .fwh14-section{flex:1}
.fwh14-note{border-radius:12px;border:1px solid #d2e5e8;background:#f1f8f8;padding:12px 15px;font-size:.78rem;line-height:1.6;color:#325863}.fwh14-modal{border:1px solid #dce8e8;border-radius:17px;overflow:hidden}.fwh14-modal .modal-header,.fwh14-modal .modal-footer{padding:19px 23px}.fwh14-modal .modal-body{padding:23px}.fwh14-modal-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0 21px}.fwh14-modal-metrics span{background:#f5f9f8;border:1px solid #e2eeec;border-radius:10px;padding:12px;font-size:.7rem;color:#69818a}.fwh14-modal-metrics strong{display:block;font-size:1rem;color:#0b5645;font-variant-numeric:tabular-nums;margin-top:5px}.fwh14-link-form{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.fwh14-link-form select{max-width:225px;font-size:.72rem}.fwh14-link-form button{white-space:nowrap}
/* Shared: keep forms, navigation and button hit areas usable at desktop & mobile sizes. */
body.fwh-admin :is(.fwh-side-link,.fwh-global-tabs a),body.fwh-client :is(.fwh-side-link,.fwh-global-tabs a){text-decoration:none}body.fwh-admin .fwh-main,body.fwh-client .fwh-main{min-width:0}body.fwh-admin :is(.table-responsive,.fwh14-table-scroll),body.fwh-client .table-responsive{-webkit-overflow-scrolling:touch}body.fwh-admin .btn:focus-visible,body.fwh-client .btn:focus-visible{outline:3px solid #47a98c;outline-offset:2px}
@media (max-width:1190px){.fwh14-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fwh14-lower-grid{grid-template-columns:1fr}.fwh14-hero{align-items:start;flex-direction:column}.fwh14-toolbar{grid-template-columns:2fr 1fr 1fr}.fwh14-toolbar button{grid-column:span 3;justify-self:start}}
@media (max-width:790px){.fwh14-provider-grid{grid-template-columns:1fr}.fwh14-hero{padding:27px 23px}.fwh14-heading{padding:19px 16px 14px}.fwh14-provider-grid{padding:0 16px 16px}.fwh14-toolbar{padding-inline:16px;grid-template-columns:1fr 1fr}.fwh14-toolbar>div:first-child{grid-column:1/-1}.fwh14-toolbar button{grid-column:1/-1;width:100%}.fwh14-modal-metrics{grid-template-columns:1fr 1fr 1fr}.fwh14-map-row{align-items:start}}
@media (max-width:520px){.fwh14-stats{gap:9px}.fwh14-stat{padding:14px 13px;min-height:113px}.fwh14-stat strong{font-size:1.6rem}.fwh14-stat>i{font-size:.85rem;right:12px;top:17px}.fwh14-stat small{font-size:.65rem}.fwh14-hero{padding:24px 19px;border-radius:15px}.fwh14-hero h1{font-size:1.85rem}.fwh14-hero-actions{width:100%}.fwh14-hero-actions .btn{flex:1}.fwh14-provider{padding:15px}.fwh14-provider-top>.fwh14-pill{margin:10px 0 0}.fwh14-toolbar{grid-template-columns:1fr}.fwh14-toolbar>div:first-child,.fwh14-toolbar button{grid-column:1}.fwh14-map-row{flex-direction:column}.fwh14-map-meta{justify-content:start}.fwh14-modal-metrics{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.fwh-supplier *, .fwh-supplier *::before,.fwh-supplier *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Client: explicit lifecycle and compact responsive hierarchy. */
.fwh14-client-orders{max-width:1450px;margin:0 auto}.fwh14-client-order-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:23px}.fwh14-client-order-head h1{font-weight:840;font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.04em;color:#143544;margin:8px 0}.fwh14-client-order-head p{color:#6e828b;font-size:.86rem;margin:0;max-width:660px}.fwh14-client-order-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:20px}.fwh14-client-order-stats>div{border:1px solid #dce9e9;border-radius:15px;background:#fff;min-height:97px;display:flex;flex-direction:column;justify-content:center;padding:16px 20px;box-shadow:0 6px 22px rgba(10,45,58,.04)}.fwh14-client-order-stats small{font-weight:740;color:#6e8590}.fwh14-client-order-stats strong{font-size:1.65rem;letter-spacing:-.05em;color:#0b4c40}.fwh14-client-order-stats a{color:#117d49;font-weight:820;font-size:.83rem}.fwh14-client-card{overflow:hidden}.fwh14-client-card .table{min-width:950px}.fwh14-client-card td{padding:15px 13px!important}.fwh14-client-card th{padding:14px 13px!important}.fwh14-client-status{display:inline-block;white-space:nowrap;font-size:.7rem;font-weight:790;color:#7b652e;background:#fff5d8;border:1px solid #f2e6c2;border-radius:99px;padding:5px 10px}.fwh14-client-status.is-ok{color:#127045;border-color:#c7eadd;background:#eaf7ef}.fwh14-client-status.is-bad{color:#a0443d;border-color:#efd2cc;background:#fff0ee}
@media(max-width:600px){.fwh14-client-order-head>.btn{width:100%}.fwh14-client-order-stats{grid-template-columns:1fr 1fr}.fwh14-client-order-stats>div:last-child{grid-column:1/-1}.fwh14-client-order-stats>div{min-height:85px;padding:11px 14px}}
