/* Responsive interaction layer. Print layouts are deliberately outside this media query. */
.mobile-nav-toggle{display:none}
.table-scroll-hint{display:none;font-size:12px;color:#52677a;margin:8px 0;align-items:center;gap:8px}
.table-scroll-hint.is-needed{display:flex}
.responsive-table-region{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.responsive-table-region:focus-visible{outline:2px solid #245c9c;outline-offset:2px}
@media screen and (max-width:900px){
 html{scroll-padding-top:80px;-webkit-text-size-adjust:100%}
 body{overflow-wrap:break-word}
 .workspace{display:block;min-height:100svh}
 .workspace>.sidebar{display:none}
 .dashboard{margin-left:0;min-width:0}
 .demo-bar{position:relative;top:auto;min-height:52px;flex-wrap:wrap;padding:8px 16px;gap:8px}
 .demo-bar .digital-logo{font-size:18px;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .demo-bar .digital-logo b,.demo-bar .digital-logo span,.demo-label{display:none}
 .demo-bar nav{gap:4px;margin-left:auto}
 .demo-bar nav button{min-height:44px;padding:10px 12px;font-size:13px}
 .shared-bar{position:static;height:auto;min-height:0;display:flex;flex-wrap:wrap;padding:8px 16px;gap:4px 12px}
 .shared-bar>span:first-child{width:100%;font-size:12px;overflow-wrap:anywhere}
 .shared-bar #shared-status{order:0;flex:1 1 100%;font-size:12px}
 .shared-bar button{min-height:44px;font-size:13px;padding:8px 0;text-underline-offset:3px}
 .shared-bar [data-logout]{margin-left:auto}
 .dashboard-header{position:sticky;top:0;z-index:35;height:auto;min-height:64px;padding:10px 16px;gap:12px;background:#fff;border-bottom:1px solid #dce4eb}
 .mobile-nav-toggle{display:inline-flex;align-items:center;gap:8px;flex:none;min-height:44px;padding:10px 12px;background:#eef3f7;border:1px solid #d4dfe8;border-radius:9px;color:#233b4e;font:inherit;font-size:14px;font-weight:600}
 .dashboard-header>div:first-of-type{min-width:0;flex:1;font-size:12px;line-height:1.5}
 .dashboard-header>div:first-of-type>.muted{display:none}
 .dashboard-header .breadcrumb{display:block;font-size:12px;overflow-wrap:anywhere}
 .dashboard-header .header-right{flex:none;gap:0}
 .dashboard-header .date,.dashboard-header .avatar{display:none}
 .dashboard-content{padding:24px 16px 40px;padding-bottom:max(40px,env(safe-area-inset-bottom))}
 .dashboard-content>*{min-width:0;max-width:100%}
 .page-title{flex-wrap:wrap;gap:14px}.page-title>div{min-width:0}
 .page-title h1{font-size:clamp(26px,5.5vw,34px);line-height:1.15;overflow-wrap:anywhere}
 .page-title p:not(.eyebrow){font-size:14px;line-height:1.65}
 .workspace :is(button,.btn),dialog :is(button,.btn),.access-panel button{touch-action:manipulation;min-height:44px}
 .workspace :is(input,select,textarea),dialog :is(input,select,textarea),.access-panel input,.inreg :is(input,select,textarea){font-size:16px!important;max-width:100%;min-width:0}
 .workspace :is(input,select):not([type=checkbox]):not([type=radio]),dialog :is(input,select):not([type=checkbox]):not([type=radio]){min-height:44px}
 .workspace select,dialog select,.inreg select{appearance:none;-webkit-appearance:none;border:1px solid #c7d3dd;border-radius:7px;padding:12px 34px 12px 12px;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#52697a 50%),linear-gradient(135deg,#52697a 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px;background-repeat:no-repeat;line-height:1.4;width:100%}
 .workspace label,.workspace fieldset{min-width:0}
 .workspace select,dialog select,.inreg select{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .workspace input:is([type=checkbox],[type=radio]),dialog input:is([type=checkbox],[type=radio]){width:20px;height:20px;flex:none;accent-color:#bd3428}
 .workspace :is(.consent,.check-row,.dv-check){min-height:44px;line-height:1.6}
 .workspace .btn{white-space:normal;line-height:1.45;justify-content:center}
 .panel-heading,.visit-bottom,.camera-detail.row{flex-wrap:wrap;gap:12px}
 .panel-heading>div,.panel-heading h2{min-width:0}
 .record-bar{flex-wrap:wrap;gap:14px;padding:18px}
 .record-controls{max-width:100%;width:100%;flex-basis:100%}
 .record-controls label{flex-basis:100%}
 .record-controls .btn{flex:1 1 150px}
 .modal-fields,.dv-grid,.settings-row{grid-template-columns:1fr}
 .workspace :is(.management-filters,.table-controls) label{min-width:0;flex-basis:180px}
 .workspace .table-wrap,.dv-table-wrap,.accounts-table-wrap,.platform-table-wrap{max-width:100%;overscroll-behavior-x:contain}
 .table-scroll-hint{padding-inline:12px}
 dialog{box-sizing:border-box;max-width:calc(100vw - 24px);width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:52px 20px 24px;overflow:auto;overscroll-behavior:contain;border-radius:16px}
 dialog .modal-close{top:8px;right:8px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#f1f5f8;z-index:2}
 dialog h2{font-size:26px;line-height:1.2}
 dialog .actions{flex-wrap:wrap;gap:10px}
 dialog .actions .btn{flex:1 1 180px;margin:0}
 body:has(dialog[open]){overflow:hidden}
 dialog.mobile-menu{position:fixed;inset:0 auto 0 0;margin:0;width:min(360px,calc(100vw - 28px));max-width:none;height:100dvh;max-height:none;padding:26px 18px max(24px,env(safe-area-inset-bottom));border:0;border-radius:0 18px 18px 0}
 dialog.mobile-menu::backdrop{background:rgb(12 25 38 / 48%);backdrop-filter:blur(3px)}
 .mobile-menu h2{margin:0 48px 4px 0;font-size:24px}.mobile-menu .menu-account{font-size:13px;color:#617587;margin:0 40px 22px 0}
 .mobile-menu .nav-group{display:block;margin:22px 0 0}
 .mobile-menu .nav-group-label{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:0 10px;margin:0 0 8px;color:#667a8b}
 .mobile-menu nav button{display:flex;width:100%;min-height:48px;align-items:center;gap:12px;text-align:left;padding:12px 10px;margin:3px 0;border-radius:8px;background:transparent;color:#304b60;font-size:14px;line-height:1.4}
 .mobile-menu nav button.selected{background:#fcefeb;color:#a92e24;font-weight:650}
 .mobile-menu nav .nav-label{flex:1}.mobile-menu nav i{font-style:normal;font-size:12px}
 .mobile-menu .menu-footer{border-top:1px solid #e1e7ed;margin-top:20px;padding-top:16px;display:flex;flex-wrap:wrap;gap:16px}
 .mobile-menu .menu-footer button{background:none;text-decoration:underline;color:#425c70;font-size:14px}
 .mobile-menu button:focus-visible,.mobile-nav-toggle:focus-visible{outline:2px solid #245c9c;outline-offset:2px}
 /* Deviz editor: every row becomes one operation, with its fields kept in place. */
 .workspace .dv-table{display:block;min-width:0;width:100%}
 .dv-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
 .dv-table tbody{display:grid;gap:16px}
 .dv-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;background:#f8fafc;border:1px solid #dae3eb;border-radius:10px;padding:14px}
 .workspace .dv-table td{display:block;min-width:0;width:auto!important;border:0!important;padding:0;white-space:normal}
 .dv-table td:nth-child(-n+3),.dv-table td:last-child{grid-column:1/-1}
 .dv-table td::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;color:#52697a;margin-bottom:6px}
 .dv-table td:first-child{display:flex;gap:5px;font-weight:700;color:#a42d24}.dv-table td:first-child::before{content:'Operația';color:inherit;margin:0}
 .dv-table td:last-child{border-top:1px solid #dce5ec!important;padding-top:10px;display:flex;justify-content:space-between;gap:8px;font-weight:650}
 .dv-table td:last-child::before{margin:0}
 .dv-table input{width:100%;min-width:0}
 .dv-table tr.mobile-empty-line:not(.mobile-line-open){display:none}
 .dv-actions{padding:14px;gap:10px}.dv-actions .btn{flex:1 1 100%;margin:0}
 /* A4 remains unchanged when printed. Screen documents have readable operation cards. */
 .deviz-document{padding:20px 16px;min-width:0;overflow-wrap:anywhere;font-size:14px}
 .dvp-cap{display:block}.dvp-marca{margin-top:10px}
 .dvp-date,.dvp-doua,.dvp-final{grid-template-columns:1fr;gap:12px}
 .dvp-banda{display:block}.dvp-banda>div{margin-bottom:1px}
 .deviz-document :is(p,.dvp-text,.dvp-bifa){font-size:13px;line-height:1.6}
 .dvp-sectiune{font-size:12px;padding:8px 10px;line-height:1.4}
 .workspace .dvp-tabel{display:block;min-width:0;width:100%;font-size:14px}
 .dvp-tabel thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .dvp-tabel tbody{display:grid;gap:12px}
 .dvp-tabel tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid #dae3eb;border-radius:8px;padding:12px;gap:12px}
 .workspace .dvp-tabel td{display:block;width:auto!important;min-width:0;padding:0;border:0;text-align:left;white-space:normal;font-size:14px}
 .dvp-tabel tbody td:nth-child(-n+3){grid-column:1/-1}
 .dvp-tabel tbody td::before{content:attr(data-label);display:block;font-size:11px;color:#617487;margin-bottom:3px}
 .dvp-tabel tbody td:first-child{font-weight:700;color:#a42d24;display:flex;gap:5px}.dvp-tabel tbody td:first-child::before{content:'Operația';color:inherit}
 .dvp-tabel .dvp-gol,.dvp-tabel .dvp-manopera{display:none}
 .dvp-tabel tfoot{display:block;margin-top:16px}.dvp-tabel tfoot tr{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px;background:#f1f5f8}
 .dvp-tabel tfoot td{background:transparent!important}.dvp-tabel tfoot .dvp-total{background:#16202a;color:#fff}.dvp-tabel tfoot .dvp-total td{color:#fff}
 .truck-topline{flex-wrap:wrap;gap:12px}.truck-topline h2{font-size:24px}
 .truck-viewport{height:360px;max-height:65svh}.truck-toolbar button,.truck-zoom button{min-width:44px;min-height:44px}
 .truck-zone-grid button{min-height:48px}.truck-zone-grid{max-height:300px}
 .truck-inspection{display:block}.truck-summary{padding:18px 10px}
 .truck-viewport .truck-marker{min-height:32px;width:32px;height:32px}
 .onboarding-coach{max-height:calc(100dvh - 24px)}.onboarding-coach button{min-height:44px}.onboarding-top button{width:44px;height:44px}
 #toast{max-width:calc(100vw - 24px);width:max-content;white-space:normal;overflow-wrap:anywhere;bottom:max(16px,env(safe-area-inset-bottom))}
 .access-panel{margin:28px auto;padding:26px 22px;width:calc(100% - 32px)}
 .legal-header{flex-wrap:wrap}.legal-header nav{flex:1 0 100%;overflow:auto}.legal-header a,.legal-links a{min-height:44px;display:inline-flex;align-items:center}
}
@media screen and (max-width:480px){
 .dashboard-content{padding-inline:12px}.dashboard-header{padding-inline:12px;gap:8px}
 .dashboard-header .breadcrumb{font-size:11px}.mobile-nav-toggle{padding-inline:10px}
 .demo-bar .digital-logo{display:block}.demo-bar nav{width:auto;flex:0 1 auto}
 .workspace .actions{flex-wrap:wrap;gap:10px}.workspace .actions .btn{flex:1 1 100%}
 .page-title>.btn{width:100%}.workspace .panel-heading>.text-btn{font-size:13px}
 .workspace .estimate-line-form{display:grid;grid-template-columns:1fr 1fr}.estimate-line-form label:first-child,.estimate-line-form button{grid-column:1/-1}
 .pasi-lista li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px}.pasi-lista li>.btn{grid-column:2;width:100%}
 .pasi-progres{min-width:0;flex-basis:100%;text-align:left;margin:12px 0 0}
 .workspace .planning-summary,.workspace .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .truck-zone-grid{grid-template-columns:1fr}.truck-focus-label{max-width:52%}
 .settings-ramps,.inreg-rand,.inreg-rampe{grid-template-columns:1fr}
 .inreg form{padding:20px 16px}.inreg-pasi{flex-wrap:wrap}
 .platform-summary--mic{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media print{.mobile-nav-toggle,.table-scroll-hint{display:none!important}.responsive-table-region{overflow:visible}}
