/* Shared responsive shell: same URLs, permissions and functions on every device. */
[hidden]{display:none!important}
.mobile-nav-close,.mobile-nav-backdrop,.order-mobile-extra{display:none}
.mobile-nav-open{overflow:hidden}
.mobile-nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#12243880;border:0;z-index:19;width:100%;height:100%;padding:0}
.order-filters>summary{font-weight:650;cursor:pointer;padding:12px 0}
@media(min-width:901px){.order-filters>summary{display:none}}
.order-filters:not([open])>summary{display:flex}
@media(max-width:900px),(max-width:1000px) and (pointer:coarse){
 body .portal-sidebar{width:min(320px,88vw);overflow-y:auto;padding-top:10px;transform:translateX(-100%);overscroll-behavior:contain}
 body .portal-sidebar.open{transform:translateX(0)}
 body .main-shell{margin-left:0;width:100%;min-width:0}
 body .topbar .mobile-menu{display:inline-flex;align-items:center;justify-content:center;min-width:56px;min-height:44px;font-size:16px;margin-right:8px}
 body .portal-sidebar .mobile-nav-close{display:block;background:#304c60;color:white;border:0;padding:12px;margin-bottom:12px;min-height:44px;font:inherit}
 body .portal-sidebar .portal-nav>a,body .portal-sidebar .nav-group>summary,body .portal-sidebar .nav-children>a{min-height:44px;font-size:15px}
 body .portal-sidebar .nav-logout,body .portal-sidebar .nav-password{min-height:44px;display:flex;align-items:center;font-size:14px}
}
@media(max-width:1200px){.studio-page .mobile-nav-close{display:block;min-height:44px;background:#304c60;color:white;border:0;padding:12px;margin-bottom:12px}}
@media(max-width:760px),(max-width:1000px) and (pointer:coarse){
 html{scroll-padding-top:70px;-webkit-text-size-adjust:100%}
 body{font-size:16px}
 body .main-shell>main{padding:16px 12px 24px;min-width:0}
 body .topbar{position:sticky;top:0;z-index:10;height:auto;min-height:56px;padding:6px 12px;background:#fff}
 body .topbar-right time,body .topbar-right .version{display:none}
 body .topbar .portal-breadcrumbs{font-size:13px;min-width:0}
 body .portal-breadcrumbs a,body .portal-breadcrumbs>span:not([aria-current]){display:none}
 body h1{font-size:28px;line-height:1.2;overflow-wrap:anywhere;letter-spacing:-.4px}
 body .page-heading{align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:16px}
 body .page-heading .lead{font-size:14px;margin-top:6px}
 body .page-heading>form,body .page-heading>.button{max-width:100%}
 body input:not([type=checkbox]):not([type=radio]),body select,body textarea{font-size:16px;min-height:44px;min-width:0;max-width:100%}
 body .button,body .text-link,body summary{min-height:44px;line-height:1.35}
 body button{min-height:44px;touch-action:manipulation}
 body summary{display:flex;align-items:center;gap:8px;cursor:pointer}
 body summary::before{content:'▸';flex:none}
 body details[open]>summary::before{content:'▾'}
 body .button{white-space:normal;text-align:center}
 body .panel{padding:16px;margin-bottom:14px}
 body .table-panel{padding:0}
 body .two-col,body .form-grid,body .customer-summary-grid,body .customer-form-grid,body .team-grid,body .product-stats,body .hub-grid,body .dashboard-bottom{grid-template-columns:minmax(0,1fr)}
 body .two-col>*,body .form-grid>*,body .customer-summary-grid>*,body .customer-form-grid>*{min-width:0;grid-column:auto}
 body .table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
 body .filterbar{flex-wrap:wrap;gap:8px}
 body .filterbar .search-field{min-width:0;flex-basis:100%;width:100%}
 body .section-tabs{flex-wrap:wrap;gap:6px}
 body .section-tabs a{min-width:0;flex:1;min-height:48px;padding:8px;font-size:13px;text-align:center;white-space:normal}
 body .footer{margin:0 12px;padding-bottom:max(16px,env(safe-area-inset-bottom));font-size:12px}
 body .footer>span{display:none}
 body dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px;overflow:auto}
 body .detail-list{grid-template-columns:minmax(0,1fr)}
 body .detail-list dd{margin:0 0 10px;overflow-wrap:anywhere}
 body .panel-actions{flex-wrap:wrap;gap:8px}
 body .status-legend{flex-wrap:wrap;gap:6px;font-size:12px}
 body .order-overview-tools{gap:8px}
 body.orders-page .automatic-input-note{font-size:12px}
 .orders-page .order-filters{background:#fff;border:1px solid #dce4ea;padding:0 12px;margin:0 0 12px}
 .orders-page .order-filters>summary{font-size:15px;display:flex}
 .orders-page .order-filterbar{margin-top:8px}
 .orders-page .order-table .file-assignment-cell{display:none!important}
 .orders-page .order-mobile-extra{display:block;padding:0 16px 16px;font-size:14px}
 .orders-page .order-table .order-row td:nth-child(3)>small{display:none}
 .orders-page .order-edit-link{display:flex;justify-content:center;width:100%;min-height:48px;background:#0872bd;color:white;font-size:16px}
 .orders-page .order-table .order-toggle{min-height:44px;font-size:17px}
 .orders-page .order-table .order-row td{padding:9px 12px;font-size:15px}
 .orders-page .order-table .order-row td small{font-size:12px}
 .orders-page .order-table .order-row td:nth-child(4){max-height:6.5em;overflow:auto}
 .orders-page .order-table .order-expansion td{padding:0}
 .orders-page .customer-panel{padding:14px}
 .orders-page .order-filterbar>*{width:100%;max-width:none!important}
 .orders-page .order-table table,.orders-page .order-table tbody{display:block;width:100%}
 .orders-page .order-table thead{display:none}
 .orders-page .order-table .order-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-left:6px solid transparent;border-bottom:1px solid var(--line)}
 .orders-page .order-table .order-row.status-released{border-left-color:#137a45}
 .orders-page .order-table .order-row.status-error{border-left-color:#c42c2c}
 .orders-page .order-table .order-row.status-question{border-left-color:#e0ae00}
 .orders-page .order-table .order-row.status-waiting{border-left-color:#d4790d}
 .orders-page .order-table .order-row td{display:block;min-width:0;max-width:none;white-space:normal;overflow-wrap:anywhere;border:0}
 .orders-page .order-table .order-row td:nth-child(6),.orders-page .order-table .order-row td:last-child{grid-column:1/-1}
 .orders-page .order-table .order-row td::before{display:block;font-size:11px;color:#587080;margin-bottom:4px;font-weight:600}
 .orders-page .order-table .order-row td:nth-child(1)::before{content:'Bestelleingang'}
 .orders-page .order-table .order-row td:nth-child(2)::before{content:'Bestellung'}
 .orders-page .order-table .order-row td:nth-child(3)::before{content:'Motiv'}
 .orders-page .order-table .order-row td:nth-child(4)::before{content:'Personalisierung'}
 .orders-page .order-table .order-row td:nth-child(5)::before{content:'Stück'}
 .orders-page .order-table .order-row td:nth-child(6)::before{content:'Status'}
 .orders-page .order-table .order-expansion,.orders-page .order-table .order-expansion>td{display:block;width:100%}
 body .ge-workspace{display:flex;flex-direction:column}
 body .ge-workspace>*{width:100%;min-width:0;box-sizing:border-box}
 body .ge-heading{align-items:start;flex-direction:column}
 body .ge-sample-grid{grid-template-columns:1fr}
 body .ge-canvas-tools{flex-wrap:wrap}
 body .ge-tools button,body .ge .button,body .ge .ge-text-button{min-height:44px;font-size:15px}
 body .ge-properties{position:static;max-height:none}
 body.login-page{padding:0;display:block}
 body .login-shell{grid-template-columns:1fr;min-height:100dvh}
 body .login-art{padding:20px 24px}
 body .login-art>div,body .login-art>small{display:none}
 body .login-form{padding:28px 24px}
 body .login-form .lead,body .login-form label{font-size:16px}
 /* The image studio remains a working editor; all panels follow one another. */
 .studio-page .studio-shell{margin-left:0;min-width:0;width:100%}
 .studio-page .studio-shell>main{display:flex;flex-direction:column;min-width:0;padding:0}
 .studio-page .studio-shell>main>*{width:100%;min-width:0;max-width:100%}
 .studio-page .workarea{padding:12px}
 .studio-page .stage{max-width:100%}
 .studio-page .stage canvas{max-width:100%;touch-action:none}
 .studio-page .head-actions,.studio-page .worktop,.studio-page .export-settings{flex-wrap:wrap}
 .studio-page .studio-portalbar{padding:8px 12px}
 .studio-page .studio-portalbar .mobile-menu{min-height:44px;font-size:16px}
 .studio-page .studio-portalbar .studio-version{display:none}
}
