/* Partner portal only. Admin and authorization gates keep their own structure. */
body:has(#poppy-local-environment-banner) .portal-modern{padding-top:28px}
body:has(#poppy-local-environment-banner) .portal-modern header{top:28px}
.portal-modern{--cream:#faf8f4;--warm:#f3eee5;--border:#e9e1d7;--dark:#342d29;--mid:#80746a;--orange:#dc5a2b;background:var(--cream);min-height:100vh}
.portal-modern main{max-width:1360px;padding:36px 42px 70px 254px}
.portal-modern header{height:auto;min-height:82px;padding:6px 30px;flex-wrap:wrap}
.portal-modern header .logo img{height:68px!important;width:68px;object-fit:contain}
.portal-modern .header-partner-meta{flex-wrap:wrap}
.portal-modern .producer-badge{background:none;color:var(--dark);padding:4px;font-size:13px}
.portal-modern .producer-code-badge{font-size:11px;color:var(--mid)}
.portal-modern .header-lang button,.portal-modern header .logout-btn{min-height:36px}
.portal-header-status{position:relative;font-size:11px;color:var(--mid)}
.portal-header-status summary{cursor:pointer;padding:10px}
.portal-header-status:has(.is-stale)>summary{color:#a23b2a}.portal-header-status:has(.is-stale)>summary:after{content:' ⚠'}
.portal-header-status[open] #headerSyncStrip{position:absolute;right:0;top:40px;display:flex;flex-direction:column;align-items:flex-start;max-width:min(380px,85vw);padding:14px;background:white;border:1px solid var(--border);box-shadow:0 12px 25px #342d2914;border-radius:12px;overflow:auto;z-index:120}
.portal-primary-nav{position:fixed;left:max(0px,calc((100vw - 1360px)/2));top:116px;bottom:25px;width:210px;display:flex;flex-direction:column;gap:9px;padding:20px 15px;border-right:1px solid var(--border)}
.portal-primary-nav button{display:flex;align-items:center;gap:13px;border:0;border-radius:10px;background:none;color:var(--mid);padding:14px;text-align:left;font:inherit;min-height:48px;cursor:pointer}
.portal-primary-nav button span{font-size:22px;width:24px;text-align:center}.portal-primary-nav button b{font-weight:400;font-size:14px}
.portal-primary-nav button.is-active{background:#f8e9dc;color:#ac421e}.portal-primary-nav button.is-active b{font-weight:600}
.portal-legacy-tabs{display:none!important}.portal-layout-app h1{font-family:'Playfair Display',Georgia,serif;font-size:34px;font-weight:400;margin:8px 0 10px}
.portal-welcome{margin-bottom:26px}.portal-welcome p{color:var(--mid);line-height:1.6}.portal-eyebrow{font-size:10px;letter-spacing:1.5px;color:var(--mid)}
.portal-home-stats{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px;margin-bottom:26px}.portal-home-stat{background:white;border:1px solid var(--border);border-radius:15px;padding:24px;text-align:left;display:flex;flex-direction:column;gap:12px;color:var(--dark);font:inherit;min-width:0}.portal-home-stat small{font-size:11px;color:var(--mid);line-height:1.5}.portal-home-stat strong{font-family:'Playfair Display',Georgia,serif;font-size:27px;font-weight:400}.portal-home-stat span{font-size:11px;color:var(--mid);line-height:1.5}.portal-home-stat.is-featured{background:#344e40;color:white;border:0;cursor:pointer}.portal-home-stat.is-featured small,.portal-home-stat.is-featured span{color:#d4e0d6}
.portal-next-workshop{background:white;border:1px solid var(--border);padding:24px;border-radius:15px;margin-bottom:25px}.portal-next-workshop h2{font-size:22px;margin:10px 0}.portal-next-workshop p{color:var(--mid);margin-bottom:17px}.portal-home-original-summary>.summary-grid{display:none}.portal-home-original-summary{margin-top:0!important}
.portal-section-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}.portal-section-links button{font:inherit;min-height:44px;padding:10px 15px;background:white;border:1px solid var(--border);border-radius:9px;color:var(--mid);cursor:pointer}.portal-section-links button.is-active{color:var(--orange);background:#f8e9dc;border-color:#ebc7b2}
.portal-modern .workshop-subtabs{gap:8px;margin:0 0 25px;padding:0;background:transparent;border:0;border-radius:0}
.portal-modern .workshop-subtabs .workshop-subtab{flex:0 1 auto;min-height:44px;padding:10px 15px;background:white;border:1px solid var(--border);border-radius:9px;color:var(--mid);font:inherit;cursor:pointer}
.portal-modern .workshop-subtabs .workshop-subtab.is-active{color:var(--orange);background:#f8e9dc;border-color:#ebc7b2;box-shadow:none}
.portal-context-help{border:1px solid var(--border);border-radius:10px;padding:12px 16px;background:#fffdf9;margin-bottom:18px;font-size:12px;color:var(--mid)}.portal-context-help summary{cursor:pointer;min-height:24px;line-height:1.7}.portal-context-help[open] .portal-product-notices{margin-top:15px}.portal-product-table{min-width:1000px}.portal-card-expand{display:none}
.portal-card-price{display:none}.portal-modern .portal-product-filter-bar{flex-wrap:wrap}.portal-modern .table-wrap{max-width:100%}.portal-modern :is(button,a,input,select,summary):focus-visible{outline:3px solid #346a54;outline-offset:3px}
.portal-period{border:1px solid var(--border);border-radius:13px;padding:16px 18px;background:#fffdf9;margin-bottom:20px}.portal-period>small{display:block;color:var(--mid);font-size:11px;margin-bottom:12px}.portal-period-years,.portal-period-months{display:flex;flex-wrap:wrap;gap:.4rem}.portal-period-years{margin-bottom:9px}.portal-period button{border:1px solid var(--border);background:transparent;border-radius:8px;font-family:inherit;color:var(--mid);cursor:pointer}.portal-period-years button{padding:.3rem .75rem;font-size:.8rem}.portal-period-months button{padding:.3rem .6rem;font-size:.78rem}.portal-period button.has-data{background:var(--orange-pale);color:var(--orange);border-color:#f5c4a8}.portal-period button.is-active{background:var(--orange);border-color:var(--orange);color:white}.portal-period-mobile{display:none}.portal-period-dialog{border:0;background:var(--cream);border-radius:20px;width:min(460px,100%);padding:25px;color:var(--dark);max-height:90dvh;overflow:auto}.portal-period-dialog::backdrop{background:#342d2966}.portal-period-dialog h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;margin:12px 0 20px}.portal-period-dialog .portal-period{border:0;padding:0;margin:0}.portal-period-dialog .portal-period-mobile{display:none}.portal-period-dialog .portal-period-desktop{display:block}.portal-period-dialog .portal-period-months{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.portal-period-dialog .portal-period button{min-height:44px}.portal-period-close{float:right;border:0;background:none;font-size:25px;min-width:44px;min-height:44px;cursor:pointer;color:var(--mid)}
@media(max-width:1000px){.portal-modern main{padding-left:220px;padding-right:24px}.portal-primary-nav{left:0;width:190px}.portal-home-stats{grid-template-columns:1fr 1fr}.portal-home-stat.is-featured{grid-column:1/-1}.portal-modern .header-right{flex-wrap:wrap}.portal-modern .header-partner-meta{max-width:260px}}
@media(max-width:700px){
 .portal-modern main{padding:25px 18px calc(110px + env(safe-area-inset-bottom));width:100%;overflow:clip}
 .portal-modern header{min-height:72px;padding:4px 14px;gap:6px;flex-wrap:nowrap;align-items:center}
 .portal-modern header .logo{gap:4px!important;min-width:0}.portal-modern header .logo img{height:58px!important;width:58px}
 .portal-modern .header-partner-meta{display:none}.portal-modern .header-right{gap:5px;flex-wrap:wrap;max-width:260px}
 .portal-modern .header-lang button{min-height:32px;padding:5px 7px}.portal-modern #refreshBtn{min-height:32px;padding:4px 9px}.portal-modern #logoutBtn{font-size:11px;min-height:32px;padding:4px 7px}.portal-header-status summary{font-size:10px;padding:5px}.portal-modern #headerSyncStrip{max-width:85vw}
 .portal-primary-nav{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;display:flex;flex-direction:row;justify-content:space-around;gap:0;padding:8px 3px calc(10px + env(safe-area-inset-bottom));background:#fffdf9;border-right:0;border-top:1px solid var(--border);z-index:110}
 .portal-primary-nav button{padding:5px 3px;min-width:0;flex:1;min-height:48px;flex-direction:column;gap:4px;border-radius:7px;text-align:center}.portal-primary-nav button b{font-size:10px;overflow-wrap:anywhere}.portal-primary-nav button span{font-size:21px}.portal-primary-nav button.is-active{background:transparent;color:var(--orange)}
 .portal-layout-app h1{font-size:29px}.portal-home-stats{gap:10px}.portal-home-stat{padding:18px}.portal-home-stat strong{font-size:25px}.portal-home-stat small{font-size:10px}.portal-welcome p{font-size:13px}.portal-next-workshop{padding:19px}
 .portal-modern :is(.portal-heading-actions,.portal-submission-actions,.product-row-actions){flex-wrap:wrap}.portal-modern :is(.portal-row-action,.portal-add-product-trigger,.portal-pdf-button){min-height:44px}.portal-modern .edit-input{font-size:16px;min-height:44px}.portal-modern .portal-product-filter-chips{flex-wrap:wrap;overflow:visible}.portal-modern .portal-product-filter-toolbar{flex-wrap:wrap}
 .portal-period{padding:14px}.portal-period-desktop{display:none}.portal-period-mobile{display:flex;gap:8px}.portal-period-mobile button{min-height:44px;padding:8px 13px}.portal-period-mobile button:nth-child(2){flex:1;min-width:0;font-weight:500}.portal-period-dialog{margin:auto 0 0;width:100%;max-width:none;border-radius:22px 22px 0 0;padding-bottom:calc(25px + env(safe-area-inset-bottom))}
 .portal-modern .portal-product-table-wrap{background:none;border:0;overflow:visible}.portal-modern .portal-product-table{display:block;min-width:0;width:100%;table-layout:auto}.portal-modern .portal-product-table :is(thead,colgroup){display:none}.portal-modern .portal-product-table tbody{display:grid;gap:16px}.portal-modern .portal-product-table tr[data-id]{display:grid;grid-template-columns:1fr 1fr;background:white;border:1px solid var(--border);border-radius:14px;overflow:hidden;padding:7px 0}.portal-modern .portal-product-table td{display:block;text-align:left!important;padding:10px 15px!important;border:0!important;width:auto!important;background:transparent!important;min-width:0}.portal-modern .portal-product-table td:before{display:block;font-size:10px;letter-spacing:.2px;color:var(--mid);margin-bottom:5px;content:attr(data-label)}
 .portal-modern .portal-product-table .product-name-cell{grid-column:1/-1;font-weight:500;font-size:16px;order:-1}.portal-modern .portal-product-table .product-name-cell:before{display:none}.portal-modern .portal-product-table .product-sku-cell{grid-column:1/-1;font-size:11px}.portal-modern .portal-product-table .product-sku-cell:before{display:none}.portal-modern .portal-product-table .inventory-current{display:block}.portal-modern .portal-product-table .product-share-cell{display:block}.portal-modern .portal-product-table .product-actions-cell{grid-column:1/-1;display:block}.portal-modern .portal-product-table .product-actions-cell:before{display:none}
 .portal-card-price{display:block;font-size:12px;font-weight:400;color:var(--mid);margin-top:8px}
 .portal-modern .portal-product-table tr[data-id]:not(.portal-card-expanded) :is(.product-price-cell,.product-commission-cell,.inventory-change,.inventory-final){display:none}.portal-modern .portal-product-table .portal-card-expand{display:inline-flex}.portal-modern .portal-product-table .editable{justify-items:start;justify-content:start;margin:0}.portal-modern .portal-product-table .product-row-actions{justify-content:flex-start}.portal-modern .portal-product-table .portal-auto-save-state{white-space:normal}.portal-modern .portal-product-table tr.pending-row{border-left:4px solid #e4b45e}.portal-modern tr.hidden{display:none!important}
 .portal-modern .portal-mobile-report{display:block;min-width:0;width:100%}.portal-modern .portal-mobile-report thead{display:none}.portal-modern .portal-mobile-report tbody{display:block}.portal-modern .portal-mobile-report tbody tr{display:block;padding:13px 15px;border-bottom:1px solid var(--border)}.portal-modern .portal-mobile-report tbody td{display:flex;text-align:left;justify-content:space-between;gap:18px;white-space:normal;border:0;padding:6px 0;min-width:0}.portal-modern .portal-mobile-report td[data-label]:before{content:attr(data-label);font-size:11px;color:var(--mid);max-width:48%;flex-shrink:0}.portal-modern .portal-mobile-report tfoot{display:table;width:100%;font-size:11px}.portal-modern .portal-mobile-report tfoot td{padding:9px 4px;white-space:normal}
  .portal-modern .section-header{gap:10px}.portal-modern .portal-modal-box{max-width:100%;max-height:90dvh;overflow:auto}.portal-modern .portal-modal-overlay{padding:12px}.portal-modern .portal-workshop-details-modal table{min-width:0}
}
.portal-icon{width:24px;height:24px;flex:none;display:block}
.portal-primary-nav button.is-active .portal-icon{stroke-width:2}
.portal-modern :is(#logoutBtn,#refreshBtn){display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:0}
.portal-modern :is(#logoutBtn,#refreshBtn) .portal-icon{width:21px;height:21px}
.portal-header-language{position:relative;flex:none}.portal-language-trigger{display:none}
.portal-header-status summary{display:flex;align-items:center;gap:7px;list-style:none}.portal-header-status summary::-webkit-details-marker{display:none}
.portal-header-status summary .portal-icon{width:19px;height:19px}
@media(max-width:700px){
  .portal-modern .workshop-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;width:100%;margin-bottom:20px}
  .portal-modern .workshop-subtabs .workshop-subtab{min-width:0;min-height:52px;padding:9px 7px;font-size:12px;line-height:1.3;text-align:center;white-space:normal;overflow-wrap:anywhere}
 .portal-modern header{min-height:76px;gap:8px;padding:5px 12px}
 .portal-modern header .logo{flex:none}.portal-modern header .logo img{width:54px;height:54px!important}
 .portal-modern .header-right{flex-wrap:nowrap;max-width:none;gap:5px;align-items:center}
 .portal-modern .portal-header-status{flex:none}.portal-modern .portal-header-status summary{width:40px;height:44px;padding:0;justify-content:center;position:relative}
 .portal-modern .portal-status-label{display:none}.portal-modern .portal-header-status:has(.is-stale)>summary:after{position:absolute;font-size:10px;top:2px;right:0}
 .portal-modern .portal-header-language .header-lang{display:none;position:absolute;right:0;top:calc(100% + 8px);background:white;border:1px solid var(--border);border-radius:11px;padding:6px;box-shadow:0 12px 25px #342d2914;z-index:130;min-width:84px}
 .portal-modern .portal-header-language.is-open .header-lang{display:flex;flex-direction:column;gap:4px}
 .portal-modern .portal-header-language .header-lang button{min-height:44px;width:100%;font-size:13px}
 .portal-modern .portal-language-trigger{display:block;min-height:44px;padding:0 9px;border:1px solid var(--border);border-radius:8px;background:white;color:var(--dark);font:inherit;font-size:12px;cursor:pointer}
 .portal-primary-nav button{gap:5px}.portal-primary-nav .portal-icon{width:23px;height:23px}.portal-primary-nav button b{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.portal-modern *{scroll-behavior:auto!important;transition:none!important}}
