/* Responsive screen layouts. Print geometry and business rules remain separate. */
@media screen and (max-width:1100px){
 #app>main{min-width:0;max-width:100%;margin-left:0}
 #main-navigation{padding-bottom:max(16px,env(safe-area-inset-bottom));height:100dvh}
 #main-navigation nav{overscroll-behavior:contain;scrollbar-gutter:stable}
 body:has(#main-navigation.open){overflow:hidden}
 #app>main>header{height:auto;align-items:center;flex-wrap:wrap}
 #app>main>header>.profile{min-width:0;flex-wrap:wrap}
 .panel-title{flex-wrap:wrap;gap:10px}
 .panel-title h2{min-width:0;overflow-wrap:anywhere}
 .panel-title>.toolbar{margin-bottom:0;max-width:100%}
 .heading{flex-wrap:wrap}
 .toolbar>button{white-space:normal;overflow-wrap:normal;line-height:1.4}
 button,a,input,select,textarea{touch-action:manipulation}
 .cell-value{min-width:0;overflow-wrap:anywhere}
 .cell-value>details{min-width:0;max-width:100%}
 details>summary{min-height:44px;padding-top:10px;padding-bottom:10px}
 .chat-layout,.chat-layout>.panel{min-width:0}
 .chat-message header{min-width:0;gap:6px}
 .chat-message time{overflow-wrap:anywhere}
}
@media screen and (max-width:600px){
 #app>main>header{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;height:auto;padding:10px 12px}
 #app>main>header>.profile{display:grid;grid-template-columns:32px minmax(0,1fr) repeat(3,minmax(0,auto));width:100%;gap:6px;align-items:center}
 #app>main>header>.profile>.role-switch{grid-column:1/-1;min-width:0;width:100%;display:flex;flex-direction:row;align-items:center;gap:10px}
 #app>main>header .role-switch select{flex:1;min-width:0;font-size:16px;min-height:44px}
 #app>main>header .profile>div{min-width:0;max-width:none;overflow-wrap:anywhere}
 #app>main>header .profile strong{font-size:12px;line-height:1.35}
 #app>main>header .profile button{min-width:0;min-height:44px;font-size:12px;padding:8px 6px;white-space:normal}
 #app>main>header .avatar{width:30px;height:30px}
 .content{padding:12px 10px max(20px,env(safe-area-inset-bottom))}
 .heading{gap:10px;margin-bottom:16px}
 .heading>div{width:100%;min-width:0}
 .heading>button{flex:1 1 140px;min-height:44px}
 h1{font-size:21px;line-height:1.25}
 .muted{line-height:1.55}
 .panel,.card{min-width:0}
 .panel-title,.panel-body{padding:12px}
 .panel-title>button,.panel-title>.toolbar{flex:1 1 100%}
 .panel-title>button{min-height:44px}
 .toolbar{gap:8px}
 .toolbar>button{flex:1 1 135px;min-height:44px}
 .toolbar>input,.toolbar>select{width:100%;flex:1 1 100%}
 .responsive-table,.responsive-table tbody{min-width:0;max-width:100%}
 .responsive-table tr{padding:12px;border-bottom:1px solid #dbe2e8}
 .responsive-table td{border:0;grid-template-columns:minmax(75px,30%) minmax(0,1fr);gap:10px;padding:7px 0;line-height:1.5;color:#273b4b}
 .responsive-table td::before{text-transform:none;letter-spacing:0;font-size:12px;color:#617481}
 .responsive-table td .cell-value{overflow-wrap:anywhere;word-break:normal}
 .responsive-table td[data-label="Veiksmai"],.responsive-table td:has(details),.responsive-table td:has(.responsive-table){grid-template-columns:minmax(0,1fr)}
 .responsive-table td[data-label="Veiksmai"] .cell-value{display:flex;flex-wrap:wrap;gap:6px}
 .responsive-table td[data-label="Veiksmai"] button{flex:1 1 125px;margin:0}
 .responsive-table .responsive-table tr{padding:10px;background:#f7f9fa;border:1px solid #e0e6eb;border-radius:4px;margin:8px 0}
 .responsive-table .responsive-table td{font-size:13px}
 .responsive-table .responsive-table td::before{font-size:11px}
 .formgrid{grid-template-columns:minmax(0,1fr);gap:14px}
 .formgrid label{line-height:1.45}
 input,select,textarea{font-size:16px;min-height:44px}
 input[type=checkbox],input[type=radio]{width:22px;min-width:22px;height:22px;min-height:22px;margin:0;flex:0 0 22px}
 label.check{align-items:flex-start;gap:10px;padding:5px 0}
 input[type=file]{padding:8px;font-size:14px}
 dialog[open]:not(.file-preview):not(#training-coach):not(#training-spotlight){display:flex;flex-direction:column;width:calc(100vw - 12px);max-width:650px;max-height:calc(100dvh - 12px);margin:auto;padding:0;overflow:hidden;border-radius:8px}
 dialog:not(.file-preview):not(#training-coach):not(#training-spotlight)>.panel-title{flex-shrink:0;flex-wrap:nowrap;align-items:flex-start;padding:10px 12px}
 dialog:not(.file-preview):not(#training-coach):not(#training-spotlight)>.panel-title>h2{flex:1;line-height:1.4}
 dialog:not(.file-preview):not(#training-coach):not(#training-spotlight)>.panel-title>button{flex:0 0 44px;min-height:44px;width:44px;padding:8px}
 dialog:not(.file-preview):not(#training-coach):not(#training-spotlight)>.panel-body{min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;padding:14px;scroll-padding-bottom:90px}
 dialog .actions{bottom:-14px;margin:16px -14px -14px;padding:12px 14px max(12px,env(safe-area-inset-bottom));flex-wrap:wrap;background:#fff;box-shadow:0 -3px 8px #2030400a}
 dialog .actions button{flex:1 1 120px;min-height:44px}
 dialog .paper{width:100%;padding:16px 10px;font-size:11pt;overflow-wrap:anywhere}
 dialog .paper table{max-width:100%;white-space:normal;table-layout:fixed}
 dialog .paper th,dialog .paper td{padding:8px;overflow-wrap:anywhere}
 dialog pre,dialog code{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
 .chat-topics{max-height:180px}
 .chat-messages{max-height:55dvh}
 .salary-breakdown{table-layout:fixed}
 .workbook-scroll{scrollbar-gutter:stable;max-height:60dvh}
 .workbook th:first-child{min-width:116px;max-width:116px}
 .workbook-note,.workbook-legend{padding-left:12px;padding-right:12px}
 .calendar{min-width:560px}
 .calendar .day{min-width:0}
 .request-document-frame,.receipt-image,video{max-width:100%}
}
@media screen and (max-width:380px){
 #app>main>header>.profile{grid-template-columns:30px minmax(0,1fr) repeat(3,minmax(0,auto));gap:4px}
 #app>main>header .profile button{font-size:11px;padding:8px 4px}
 #app>main>header .profile strong{font-size:11px}
 .responsive-table td{grid-template-columns:minmax(70px,32%) minmax(0,1fr);gap:7px}
 .cards{gap:6px}.card{padding:10px}.number{font-size:21px}
}
@media screen and (max-width:900px) and (max-height:500px){dialog[open]:not(.file-preview):not(#training-coach):not(#training-spotlight){max-height:calc(100dvh - 8px);margin:4px auto}dialog .panel-body{max-height:calc(100dvh - 70px);overflow:auto}}

@media screen and (max-width:600px){dialog .paper .transport-report-table{min-width:680px;table-layout:auto}dialog .paper:has(.transport-report-table){padding:12px 0}}
/* Shared screen layout: preserve paper/PDF geometry in print. */
@media screen{
 #app>main{min-width:0}
 #app>main>header>div:first-of-type{min-width:0;overflow-wrap:anywhere}
 #app>main>header>.profile{min-width:0;max-width:100%}
 .heading>div,.grid>div,.formgrid>*,.cards>*{min-width:0}
 .heading h1,.panel-title h2{overflow-wrap:anywhere}
 .content{width:100%;box-sizing:border-box}
 .panel{max-width:100%}
 .tablewrap,.workbook-scroll{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
 .responsive-table .cell-value{overflow-wrap:anywhere;white-space:normal}
 .responsive-table .cell-value>button{margin:3px 4px 3px 0;line-height:1.4}
 :is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #087bb9;outline-offset:3px}
 dialog:not(.file-preview):not(#training-coach):not(#training-spotlight)[open]{display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 32px)}
 dialog:not(.file-preview):not(#training-coach):not(#training-spotlight)>.panel-title{flex-shrink:0;gap:12px}
 dialog:not(.file-preview):not(#training-coach):not(#training-spotlight)>.panel-body{min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;scroll-padding-block:20px 90px}
 dialog .actions{position:sticky;bottom:0;background:#fff;z-index:2;border-top:1px solid #dbe2e8}
 .login-form form{min-width:0;max-width:100%}
}
@media screen and (min-width:1101px){
 #app>main>header{height:auto;min-height:66px;flex-wrap:wrap;padding-block:10px}
 #app>main>header>.profile{flex-wrap:wrap;justify-content:flex-end;margin-left:auto;row-gap:8px}
 #app>main>header .profile>div{max-width:240px;overflow-wrap:anywhere}
 .content{max-width:1920px;margin-inline:auto;padding:24px clamp(20px,2vw,40px)}
 .heading{align-items:flex-start;gap:16px}
 .heading>div{flex:1}
 .heading>button{flex-shrink:0}
 .toolbar{flex-wrap:wrap;align-items:center}
 .responsive-table td{vertical-align:top}
}
@media screen and (min-width:601px) and (max-width:1100px){
 #app>main>header{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:14px 20px}
 #app>main>header>.profile{grid-column:1/-1;display:flex;justify-content:flex-end;border-top:1px solid #e5e9ed;padding-top:10px;gap:10px}
 #app>main>header .profile>div{flex:1;min-width:100px;overflow-wrap:anywhere}
 #app>main>header .role-switch{min-width:150px;max-width:240px}
 #app>main>header .role-switch select{width:100%}
 .content{padding:20px}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .grid{grid-template-columns:minmax(0,1fr)}
 .toolbar{flex-wrap:wrap;gap:10px}
 .toolbar>button{min-height:44px}
 .toolbar>input,.toolbar>select{min-width:160px;max-width:100%}
 .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .formgrid input,.formgrid select,.formgrid textarea{min-width:0;width:100%}
 dialog:not(.file-preview):not(#training-coach):not(#training-spotlight){width:min(900px,calc(100vw - 32px));max-width:calc(100vw - 32px)}
 .chat-layout{grid-template-columns:minmax(190px,30%) minmax(0,1fr);gap:14px}
 .chat-topics{max-height:55dvh}
}
@media screen and (min-width:601px) and (max-width:760px){
 .tablewrap:has(>.responsive-table){overflow:visible}
 .responsive-table,.responsive-table tbody{display:block;width:100%;white-space:normal}
 .responsive-table thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}
 .responsive-table tr{display:block;padding:14px 18px;border-bottom:1px solid #dbe2e8}
 .responsive-table td{display:grid;grid-template-columns:minmax(110px,28%) minmax(0,1fr);gap:14px;width:100%;padding:8px 0;border:0;white-space:normal}
 .responsive-table td::before{content:attr(data-label);font-size:12px;font-weight:600;color:#617481}
 .responsive-table td:has(details){grid-template-columns:minmax(0,1fr)}
 .chat-layout{grid-template-columns:minmax(0,1fr)}
 .chat-topics{max-height:180px}
}
@media screen and (max-width:600px){
 #app>main>header>.profile{grid-template-columns:32px minmax(0,1fr) auto auto auto}
 #app>main>header .profile>div{overflow-wrap:normal;word-break:normal}
 #app>main>header .profile>div strong{display:block}
 .responsive-table td:has(>.cell-value>button):is([data-label=""],[data-label="Veiksmas"],[data-label="Veiksmai"]){grid-template-columns:minmax(0,1fr)}
 .responsive-table td:has(>.cell-value>button):is([data-label=""],[data-label="Veiksmas"],[data-label="Veiksmai"]) .cell-value{display:flex;flex-wrap:wrap;gap:8px}
 .responsive-table .cell-value>button{margin:0;min-height:44px}
 dialog:not(.file-preview):not(#training-coach):not(#training-spotlight)[open]{max-height:calc(100dvh - 12px)}
 dialog .actions{bottom:-14px}
 .month-flow{padding:12px}
}
@media screen and (pointer:coarse){
 :is(button,.external-system-link){min-height:44px}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;min-height:44px}
 .nav-group>summary{min-height:44px}
}
/* Keep the training dock's reserved area when a form is open. */
@media screen{
 body.training-mobile dialog[open]:not(.file-preview):not(#training-coach):not(#training-spotlight){top:var(--training-reserve,220px);bottom:auto;margin:8px auto;max-height:calc(100dvh - var(--training-reserve,220px) - 16px)}
}
@media screen{
 #training-coach .training-step-kind{display:block;margin-top:10px;color:#526d80;font-size:12px;font-weight:600}
 #training-coach:focus-visible{outline:3px solid #087bb9;outline-offset:3px}
 #training-coach .guide-actions{position:sticky;bottom:-20px;background:white;padding-block:10px;margin-bottom:-10px;border-top:1px solid #dbe2e8}
 body.training-mobile #training-coach,body.training-mobile #training-coach.training-top{max-height:min(38dvh,calc(var(--training-viewport-height,100dvh)*.38));padding:10px 12px}
 body.training-mobile #training-coach .training-step-kind{margin:4px 0 0;font-size:11px}
 body.training-mobile #training-coach h2{font-size:14px;margin:4px 0;line-height:1.35}
 body.training-mobile #training-coach .guide-actions{bottom:-10px;padding:6px 0;margin:4px 0 -4px}
 body.training-mobile #training-coach:not(.training-expanded) .training-step-kind{display:none}
 body.training-mobile dialog[open]:not(.file-preview):not(#training-coach):not(#training-spotlight){max-height:calc(var(--training-viewport-height,100dvh) - var(--training-reserve,220px) - 16px)}
}
@media screen{
 body.training-mobile #main-navigation.open{top:var(--training-reserve,220px);height:calc(var(--training-viewport-height,100dvh) - var(--training-reserve,220px));padding-top:44px;padding-bottom:8px}
 body.training-mobile #main-navigation.open>.brand,body.training-mobile #main-navigation.open>.sidefoot{display:none}
 body.training-mobile #main-navigation.open nav{min-height:0;overflow:auto}
}
@media screen{#statement-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#statement-columns label{min-width:0}#statement-columns select{width:100%;min-width:0}}
@media screen and (max-width:600px){#statement-columns{grid-template-columns:minmax(0,1fr)}}
@media screen{.control-deadline-label{display:block;font-size:11px;line-height:1.4;overflow-wrap:anywhere;margin:5px 0}.calendar .day>button[data-action="cc-day"]{max-width:100%;white-space:normal;font-size:12px;padding:6px 8px}}
/* Touch-friendly disclosure panels, action cells and compact landscape dialogs. */
@media screen {
 .panel>summary{display:list-item;padding:14px 16px;cursor:pointer;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
 .panel>summary:focus-visible{outline:3px solid #087bb9;outline-offset:-3px}
 .panel[open]>summary{border-bottom:1px solid #dbe2e8}
 .formgrid>*,.panel-body>*,.heading>*{min-width:0}
 .formgrid input[type=file]{max-width:100%;white-space:normal}
 dialog .panel-title h2{overflow-wrap:anywhere}
}
@media screen and (max-width:1100px){
 .responsive-table td[data-label="Veiksmai"] .cell-value,.responsive-table td[data-label="Veiksmas"] .cell-value{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
 .responsive-table td[data-label="Veiksmai"] button,.responsive-table td[data-label="Veiksmas"] button{min-height:44px;margin:0;white-space:normal;line-height:1.4}
 .responsive-table td[data-label="Veiksmai"] .cell-value>p{flex-basis:100%;margin-block:4px;overflow-wrap:anywhere}
 .panel>summary{min-height:48px;padding:12px}
 dialog .actions{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 dialog .actions>button{min-height:44px}
 .panel-body img,.panel-body video{max-width:100%;height:auto}
}
@media screen and (max-width:600px){
 .content{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
 .panel> .panel-body:has(>.tablewrap){padding:0}
 .panel>.panel-body>.mini{padding-inline:12px}
 .responsive-table td[data-label="Veiksmas"]{grid-template-columns:minmax(0,1fr)}
 .responsive-table td[data-label="Veiksmas"] button{flex:1 1 125px}
 dialog .actions>button{flex:1 1 110px}
}
@media screen and (max-height:500px) and (max-width:1100px){
 dialog:not(.file-preview):not(#training-coach):not(#training-spotlight)[open]{max-height:calc(100dvh - 12px);margin:6px auto}
 dialog:not(.file-preview):not(#training-coach):not(#training-spotlight)>.panel-title{padding:8px 12px}
 dialog:not(.file-preview):not(#training-coach):not(#training-spotlight)>.panel-body{scroll-padding-bottom:76px}
}
@media screen{
 .formgrid label.check{display:flex;align-items:flex-start;justify-content:flex-start;gap:10px;line-height:1.5}
 .formgrid label.check input[type=checkbox],.formgrid label.check input[type=radio]{width:20px;height:20px;min-width:20px;min-height:20px;flex:0 0 20px;margin:1px 0 0;padding:0}
}
/* Readable data dialogs and a quieter shared visual treatment. */
@media screen{
 .panel,.card{border-color:#d7e1e8;border-radius:6px}
 .panel-title{background:#f6f8fa}
 .responsive-table td{color:#304b5e;line-height:1.5}
 .responsive-table th{color:#526b7d;background:#f3f6f9;font-weight:600}
 .responsive-table .cell-value{line-height:1.5}
 button{border-radius:4px;transition:background-color .12s,border-color .12s}
 button:focus-visible,summary:focus-visible{outline:3px solid #087bb9;outline-offset:2px}
 dialog:not(.file-preview):not(#training-coach):not(#training-spotlight){box-shadow:0 18px 60px #16344b26;border-color:#cad6df;border-radius:8px}
 dialog::backdrop{background:#23374b70}
 dialog.table-dialog .responsive-table{overflow-wrap:normal;word-break:normal;table-layout:auto}
 dialog.table-dialog .responsive-table td,dialog.table-dialog .responsive-table th{vertical-align:top}
 dialog.table-dialog .mini{color:#60788a}
}
@media screen and (min-width:761px){
 dialog.table-dialog{width:min(1480px,calc(100vw - 48px));max-width:calc(100vw - 48px)}
 dialog.payroll-work-dialog{width:min(1120px,calc(100vw - 48px))}
 dialog.table-dialog .tablewrap{border:1px solid #dbe3e9;border-radius:5px;max-height:62dvh;overflow:auto;scrollbar-gutter:stable}
 dialog.table-dialog .responsive-table{min-width:880px;white-space:normal}
 dialog.table-dialog .responsive-table thead th{position:sticky;top:0;z-index:1;background:#f0f5f9}
 dialog.table-dialog .responsive-table td,dialog.table-dialog .responsive-table th{padding:12px 14px}
 dialog.table-dialog .responsive-table td:first-child{min-width:155px;font-weight:600}
 dialog.table-dialog .responsive-table td:last-child{min-width:140px}
 dialog.table-dialog .responsive-table td button{white-space:nowrap;min-width:100px;min-height:38px;overflow-wrap:normal;word-break:normal}
 dialog.payroll-work-dialog .responsive-table td:nth-child(2){min-width:125px}
 dialog.payroll-work-dialog .responsive-table td:nth-child(3){min-width:320px}
 dialog.payroll-calculation-dialog .responsive-table{min-width:1460px}
 dialog.payroll-calculation-dialog .responsive-table td:nth-child(n+2):nth-child(-n+8){white-space:nowrap;font-variant-numeric:tabular-nums}
 dialog.payroll-calculation-dialog .responsive-table td:nth-child(9){min-width:280px;max-width:360px;white-space:normal}
}
@media screen and (max-width:760px){
 dialog.table-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px)}
 dialog.table-dialog .responsive-table td .cell-value{overflow-wrap:anywhere}
 dialog.table-dialog .responsive-table td button{min-height:44px;white-space:normal}
 dialog.table-dialog .responsive-table tr{margin:8px;border:1px solid #dce5ec;border-radius:5px;background:#fff}
 dialog.table-dialog .responsive-table tr:nth-child(even){background:#f7f9fb}
}
@media(prefers-reduced-motion:reduce){button{transition:none}}
@media screen and (min-width:761px){
 dialog.table-dialog .responsive-table td:last-child,dialog.table-dialog .responsive-table th:last-child{position:sticky;right:0;min-width:174px;background:#f7fafc;box-shadow:-4px 0 8px #173c5010}
 dialog.table-dialog .responsive-table td:last-child{z-index:1}
 dialog.table-dialog .responsive-table th:last-child{z-index:3;background:#f0f5f9}
 dialog.payroll-calculation-dialog .responsive-table td:first-child{position:sticky;left:0;z-index:1;background:#f7fafc;box-shadow:3px 0 8px #173c500a}
 dialog.payroll-calculation-dialog .responsive-table th:first-child{position:sticky;left:0;z-index:3}
}

/* File viewers have their own three-row layout, separate from form dialogs. */
@media screen{
 dialog.file-preview[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0;width:min(1280px,calc(100vw - 24px));max-width:calc(100vw - 24px);height:min(960px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:0;overflow:hidden;border-radius:8px}
 dialog.file-preview>.panel-title{padding:12px 16px;min-height:56px;flex-shrink:0}
 dialog.file-preview>.file-preview-content{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;min-height:0;min-width:0;width:100%;height:100%;overflow:hidden;background:#e9eef2}
 dialog.file-preview .file-preview-content iframe{display:block;width:100%;height:100%;min-height:0;border:0}
 dialog.file-preview .file-preview-content img,dialog.file-preview .file-preview-content video{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
 dialog.file-preview>.file-preview-actions{padding:8px 16px;min-height:48px;background:white;border-top:1px solid #dbe3e9}
 dialog.file-preview .file-preview-download{min-height:36px;padding:8px 10px;text-decoration:none;border:1px solid #cbd9e3;border-radius:4px;line-height:1.4}
 body.training-mobile dialog.file-preview[open]{top:var(--training-reserve,220px);bottom:auto;margin:8px auto;height:calc(var(--training-viewport-height,100dvh) - var(--training-reserve,220px) - 16px);max-height:calc(var(--training-viewport-height,100dvh) - var(--training-reserve,220px) - 16px)}
}
@media screen and (max-width:600px){dialog.file-preview[open]{width:calc(100vw - 8px);max-width:calc(100vw - 8px);height:calc(100dvh - 8px);max-height:calc(100dvh - 8px)}dialog.file-preview>.panel-title{padding:8px 10px}dialog.file-preview>.file-preview-actions{padding:6px 10px}dialog.file-preview .file-preview-download{min-height:44px}}
@media screen{
 dialog.file-preview>.panel-title{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:12px;height:auto}
 dialog.file-preview>.panel-title h2{min-width:0;margin:0;line-height:1.4;overflow-wrap:anywhere}
 dialog.file-preview>.panel-title>button{width:44px;height:44px;min-width:44px;min-height:44px;padding:8px;justify-self:end}
}
/* Work sequence: compact cards on desktop, one column on phones. */
.work-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:16px 0 0}
.work-steps>li{min-width:0;padding:16px;border:1px solid #d9e3e9;background:#f8fafb;border-radius:6px;display:flex;flex-direction:column;gap:10px}
.work-step-heading{display:flex;align-items:center;gap:10px}.work-step-heading h3{margin:0;font-size:15px;line-height:1.4}
.work-step-number{display:grid;place-items:center;flex:0 0 28px;height:28px;background:#e0eef6;color:#075c8b;border-radius:50%;font-weight:700}
.work-steps p{margin:0;color:#455d70;font-size:13px;line-height:1.6}.work-steps small{font-weight:600;color:#26465e}
.work-step-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px}.work-step-actions button{white-space:normal;min-height:40px;line-height:1.4;max-width:100%}
@media(max-width:1100px){.work-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.work-steps{grid-template-columns:minmax(0,1fr)}.work-steps>li{padding:13px}.work-step-actions button{flex:1 1 140px;min-height:44px}}
@media print{.work-sequence{display:none}}

/* Local PDF canvas viewer, including Android/iOS installed apps. */
.file-preview .pdf-preview{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;width:100%;min-width:0;min-height:0}
.pdf-preview-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;background:#fff;border-bottom:1px solid #dbe3e9;flex-wrap:wrap}
.pdf-preview-toolbar button{min-width:44px;min-height:44px;margin:0;font-size:20px;padding:6px 12px}
.pdf-page-status{min-width:64px;text-align:center;font-size:14px}
.pdf-preview-pages{overflow:auto;overscroll-behavior:contain;min-height:0;min-width:0;width:100%;padding:12px;background:#dce2e7;touch-action:pan-x pan-y pinch-zoom}
.pdf-preview-pages canvas{display:block;margin:0 auto;background:#fff;box-shadow:0 1px 5px #24364b33;max-width:none}
