/* Shared responsive layout; document canvas/PDF dimensions remain unchanged. */
.main-content,main,.topbar-start,.topbar-end,.heading-actions,.field,.details-grid>*{min-width:0}
main,.main-content{max-width:100%}
.page-heading>div:first-child,.related-row>*,.integration-item>div,.task-row>div{min-width:0;overflow-wrap:anywhere}
input,select,textarea,fieldset{min-width:0;max-width:100%}
.table-responsive{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.month-selector,.account-controls,.dialog-actions{flex-wrap:wrap}
.heading-actions{max-width:100%;flex-shrink:1}
.rich-editor{overflow-wrap:anywhere}
.rich-editor img{max-width:100%;height:auto}
.portal-grid{grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr))}
.portal-grid .card{overflow-wrap:anywhere}
.media-grid{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}
body.menu-open{overflow:hidden}
.sidebar .sidebar-body{min-height:0;overscroll-behavior:contain}
@media screen and (max-width:1100px){
 .topbar{height:auto;min-height:80px;flex-wrap:wrap;padding-block:12px}
 .topbar-end{flex-wrap:wrap;gap:8px}
 .page-heading{flex-wrap:wrap}
 .month-selector{gap:8px}
}
@media screen and (max-width:760px){
 .sidebar.sidebar-default{width:min(290px,88vw);max-width:88vw;height:100dvh}
 .sidebar .sidebar-header{padding-block:15px;justify-content:space-between}
 .sidebar .navbar-brand{gap:8px}
 .sidebar-foot{padding-block:12px}
 .topbar{min-height:64px;height:auto;padding:10px 12px;gap:8px}
 .topbar-start{flex:1 1 100%}
 .topbar-end{width:100%;justify-content:flex-end;gap:6px}
 .topbar-end .sample-label{margin-inline-end:auto}
 .account-controls{gap:6px}
 .breadcrumb{overflow-wrap:anywhere}
 main{padding:16px 12px}
 .page-heading{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:18px}
 .heading-actions{width:100%;gap:8px}
 .heading-actions>.btn{flex:1 1 auto}
 .month-selector{width:100%;flex-wrap:wrap}
 .month-selector label{flex:1;min-width:110px}
 .month-selector select{flex:1;min-width:0}
 .month-selector .btn{flex:1 1 auto}
 .metric-value{font-size:clamp(1.05rem,4.5vw,1.5rem);overflow-wrap:anywhere}
 .metric-top{align-items:flex-start;gap:6px}
 .card .card-header,.card-body{padding:16px}
 .card .card-header{padding-bottom:0}
 .toolbar{padding:14px;gap:10px}
 .search-box{flex-basis:100%;max-width:none;min-width:0}
 .toolbar .form-select{flex:1;min-width:0;max-width:100%}
 .related-row,.integration-item,.notice{flex-wrap:wrap;gap:10px}
 .related-row span:first-child{flex-basis:100%}
 .report-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .report-row .progress{grid-row:2;grid-column:1/-1}
 .report-value{overflow-wrap:anywhere}
 .task-row{flex-wrap:wrap;gap:8px}
 .task-row .task-title{overflow-wrap:anywhere}
 .task-row>div{flex:1}
 .monthly-chart{gap:4px}
 .monthly-bar{font-size:11px;padding:0 1px}
 .monthly-track{width:65%}
 .month-tooltip{white-space:normal;min-width:95px;max-width:130px}
 .expense-chart-scroll{max-width:100%}
 .expense-monthly-chart .monthly-bar{font-size:13px}
 dialog,.media-dialog,.portal-document{width:calc(100% - 20px);max-width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:16px;overscroll-behavior:contain}
 .dialog-header{gap:10px;margin-bottom:14px}
 .dialog-header h2{min-width:0;overflow-wrap:anywhere}
 .dialog-actions .btn,.detail-actions .btn{flex:1 1 auto}
 .form-control,.form-select,.calendar-nav select{font-size:16px}
 .btn,.btn-sm,.icon-button,.rich-toolbar button,.rich-toolbar select{min-height:44px}
 .icon-button{min-width:44px}
 .login-card{margin:16px auto;padding:20px}
 .invoice-layout .detail-actions{position:static}
 .invoice-lines{min-width:550px}
 .invoice-preview-panel canvas,#contract-pages canvas{max-width:100%}
 .rich-toolbar{gap:6px;padding:8px}
 .rich-toolbar label{flex-wrap:wrap}
 .rich-editor{padding:12px;max-height:55dvh}
 .contract-builder{padding:12px}
 .jalali-calendar{width:100%;padding:8px}
 .calendar-grid{gap:3px}
 .calendar-nav{gap:3px}
 .calendar-nav button{flex-shrink:0}
 .calendar-grid button{min-height:38px}
 .records-table{min-width:0!important;display:block}
 .records-table thead{display:none}
 .records-table tbody{display:block;padding:0 14px}
 .records-table tr{display:block;padding:12px 0;border-bottom:1px solid var(--wk-line)}
 .records-table tr:last-child{border-bottom:0}
 .records-table td{display:grid;grid-template-columns:minmax(75px,30%) minmax(0,1fr);gap:12px;border:0!important;padding:7px 0;overflow-wrap:anywhere}
 .records-table td::before{content:attr(data-label);color:var(--wk-muted);font-size:12px}
 .records-table td>span,.records-table td>a,.records-table td>bdi{min-width:0}
 .records-table td .badge{justify-self:start}
 .records-table td.actions-cell{display:flex;flex-wrap:wrap;white-space:normal;gap:6px;margin-top:7px}
 .records-table td.actions-cell::before{display:none}
 .records-table td[colspan]{display:block}
 .records-table td[colspan]::before{display:none}
}
@media screen and (max-width:360px){.metrics{grid-template-columns:1fr}.metric-value{font-size:1.5rem}.card-body{padding:12px}.account-controls{width:100%}.account-controls .btn{flex:1}}
