/* Shared responsive layout. Business logic and role permissions are unchanged. */
.mobile-toolbar,.mobile-navigation-close{display:none}
.mobile-navigation{padding:0;border:0;color:#183f35;background:white}
.mobile-navigation::backdrop{background:#102e2570}
.portal-app .mobile-navigation[open]{display:block}
.portal-app .mobile-navigation-close{display:block;margin:16px 16px 0 auto;min-width:44px;min-height:44px}
.portal-app .mobile-navigation>aside{display:flex;border:0;min-height:calc(100dvh - 76px);padding:16px 20px 28px}
.portal-app .mobile-navigation .partner-brand-frame{max-width:180px}
.portal-app .mobile-navigation nav{margin-top:20px}
.portal-app.navigation-open{overflow:hidden}
@media(max-width:1024px){
  .portal-app .shell{display:block;min-height:calc(100dvh - 64px)}
  .portal-app.mobile-navigation-ready .shell>aside{display:none}
  .portal-app .mobile-toolbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:64px;padding:10px 24px;padding-top:max(10px,env(safe-area-inset-top));background:#fff;border-bottom:1px solid #dce7e1}
  .portal-app .mobile-toolbar>a{font-size:18px;font-weight:750;text-decoration:none}
  .portal-app .mobile-toolbar button{display:flex;align-items:center;gap:9px;min-height:44px}
  .portal-app .mobile-navigation{position:fixed;inset:0 auto 0 0;width:min(360px,88vw);max-width:88vw;height:100dvh;max-height:100dvh;margin:0;overflow:auto;border-radius:0 18px 18px 0;overscroll-behavior:contain}
  .portal-app main{padding:0 24px 90px}
  .portal-app .portal-header{min-height:0;padding:24px 0;gap:16px}
  .portal-app .preview-controls{max-width:100%!important;min-width:0;gap:10px}
  .portal-app .preview-controls select{max-width:100%;min-width:0}
  .portal-app .panel,.portal-app .hero{min-width:0}
  .portal-app .masterdata-heading,.portal-app .actions{flex-wrap:wrap;gap:12px}
  .portal-app .masterdata-heading h2{flex:1 1 160px}
  .portal-app .field-grid{gap:18px}
  .portal-app .table-wrap{max-width:100%;overscroll-behavior-x:contain}
  .portal-app .table-wrap td{overflow-wrap:anywhere}
  .portal-app .shop-products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal-app .shop-product .product-thumbnail{width:110px;height:110px}
  .portal-app .shop-product>h3{padding-right:120px;min-height:80px}
  .portal-app .shop-product>.tag{max-width:calc(100% - 124px)}
  .portal-app .floating-cart{right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom))}
  .portal-app .add-dialog{max-height:calc(100dvh - 32px);width:min(800px,calc(100vw - 32px))}
  .portal-app .portal-action-popover a,.portal-app .portal-action-popover button{min-height:44px}
}
@media(max-width:600px){
  .portal-app main{padding:0 14px 90px}
  .portal-app .mobile-toolbar{padding-left:14px;padding-right:14px}
  .portal-app h1{font-size:25px;overflow-wrap:anywhere}
  .portal-app .portal-header{padding:20px 0;gap:14px}
  .portal-app .preview-controls{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:8px}
  .portal-app .preview-controls select,.portal-app .preview-controls button{width:100%}
  .portal-app .panel,.portal-app .hero{padding:18px;border-radius:14px}
  .portal-app .dashboard-hero h2{font-size:24px}
  .portal-app .dashboard-cards{grid-template-columns:1fr;gap:12px}
  .portal-app .dashboard-cards strong{margin-top:10px}
  .portal-app .field-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .portal-app .filters,.portal-app .shop-tools{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  .portal-app .filters label,.portal-app .shop-tools input,.portal-app .shop-tools select{width:100%;min-width:0;max-width:100%}
  .portal-app input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.portal-app select,.portal-app textarea{font-size:16px;max-width:100%}
  .portal-app .button,.portal-app button{min-height:44px;white-space:normal}
  .portal-app .actions{gap:10px}
  .portal-app .status-filters{gap:8px}
  .portal-app .status-filters .button{flex:1 1 120px;text-align:center}
  .portal-app .shop-products{grid-template-columns:minmax(0,1fr);gap:14px}
  .portal-app .shop-product .product-thumbnail{width:106px;height:106px;right:18px;top:18px}
  .portal-app .shop-product>h3{padding-right:116px;min-height:80px}
  .portal-app .shop-product>.tag{max-width:calc(100% - 122px)}
  .portal-app .shop-product .product-footer{gap:12px;margin-top:14px}
  .portal-app .shop-product .catalog-price-stack{flex-basis:150px}
  .portal-app .shop-product .product-footer>.button{white-space:normal}
  .portal-app .shop-product .catalog-addon-info button{min-height:36px;font-size:12px}
  .portal-app .cart-panel-head,.portal-app .cart-checkout-footer{align-items:stretch;gap:14px}
  .portal-app .cart-panel-head .button,.portal-app .cart-checkout-footer>button{width:100%;text-align:center}
  .portal-app .cart-line-actions{flex-direction:row;flex-wrap:wrap;gap:16px}
  .portal-app .cart-line-actions button{padding:8px 0}
  .portal-app .postal-address{font-size:14px;overflow-wrap:anywhere}
  .portal-app .customer-options label{display:flex;align-items:center;gap:10px}
  .portal-app .customer-options input[type=radio]{width:18px!important;height:18px;flex:0 0 18px;margin:0}
  .portal-app .mobile-card-table,.portal-app .mobile-card-table>tbody{display:block;width:100%}
  .portal-app .mobile-card-table>thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%)}
  .portal-app .mobile-card-table>tbody>tr{display:block;margin:0 0 14px;border:1px solid #dce7e1;border-radius:12px;padding:10px;min-width:0}
  .portal-app .mobile-card-table>tbody>tr[hidden]{display:none}
  .portal-app .mobile-card-table>tbody>tr>td{display:block;width:auto;border:0;padding:8px 4px;min-width:0;white-space:normal;text-align:left}
  .portal-app .mobile-card-table>tbody>tr>td[data-mobile-label]:not([data-mobile-label=""])::before{content:attr(data-mobile-label);display:block;font-size:11px;font-weight:650;color:#718681;margin-bottom:5px}
  .portal-app .mobile-card-table .row-actions{text-align:right}
  .portal-app .mobile-card-table .category-tree-name{padding-left:calc(var(--category-depth,0)*10px)}
  .portal-app .add-dialog{padding:20px 16px;border-radius:16px;max-height:calc(100dvh - 24px);width:calc(100vw - 24px)}
  .portal-app .catalog-addon-item{flex-direction:column;gap:12px}
  .portal-app .catalog-addon-price{text-align:left}
  .portal-app .catalog-addon-heading h2{font-size:19px;overflow-wrap:anywhere}
  .portal-app #product-gallery{padding:16px;max-width:calc(100vw - 24px)}
  .portal-app #product-gallery>img{width:100%;height:55dvh}
  .portal-app .log-sharing{padding:14px;min-width:0}
  .portal-app .log-secret [data-secret-text]{max-width:calc(100vw - 145px)}
  .portal-app .todo-board{grid-template-columns:repeat(4,minmax(250px,85vw));scroll-snap-type:x proximity}
  .portal-app .todo-column{scroll-snap-align:start;padding:14px}
}
@media print{.mobile-toolbar,.mobile-navigation{display:none!important}}
