/* Corporate pilot: shared controls, comfortable touch targets and bounded layouts. */
:root{--pilot-focus:#0077a8;--pilot-paper:#fff;--pilot-canvas:#f3f6fa}
body{background:var(--pilot-canvas)}
.content{width:100%;max-width:1900px;margin-inline:auto}
.header-role-info b,.side-user .who b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}
.header-role-info{max-width:240px}.system-indicator{flex-shrink:0}
.card{box-shadow:0 3px 14px rgba(12,40,64,.035)}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button,.btn,.logout{cursor:pointer}
button:disabled,.btn:disabled{cursor:wait;opacity:.55}
:focus-visible{outline:3px solid #00a8d780;outline-offset:3px}
input:focus,textarea:focus,select:focus{border-color:var(--pilot-focus);box-shadow:0 0 0 3px #0077a815}
input,textarea,select{max-width:100%;min-width:0}
.card,.field,.grid>*{min-width:0}
.field label{line-height:1.5}
.table-scroll,.table-wrap,.tablewrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
td{overflow-wrap:anywhere}
.module-heading-copy p{max-width:70ch}
.empty{padding:44px 24px;line-height:1.7}
.login-help{font-size:12px;text-align:center;margin-top:24px;padding-top:20px;border-top:1px solid #e0e8ef;color:#617b8d;line-height:1.9}
.login-help i{color:#087ba8;font-size:17px}
.boot-status{position:fixed;z-index:1000;top:14px;left:50%;transform:translateX(-50%);padding:10px 18px;border:1px solid #dce7ee;border-radius:10px;background:#fff;color:#28536e;font-size:13px;box-shadow:0 4px 18px #0b284012;max-width:90vw;text-align:center}
.app-error{position:fixed;z-index:10000;bottom:20px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);padding:16px 20px;border:1px solid #e3b8b8;border-radius:12px;background:#fff5f5;color:#8d2330;box-shadow:0 6px 40px #09233820;display:flex;gap:16px;align-items:center;font-size:14px}
.app-error button{background:white;border:1px solid #d5a7ad;color:#8d2330;border-radius:6px;padding:6px 10px}
body.saving::before{content:'';position:fixed;z-index:9999;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#00a8d7,#f2cb65,#00a8d7);background-size:200%;animation:saving 1.3s linear infinite}
@keyframes saving{to{background-position:200%}}
.support-guide{display:grid;gap:12px;margin-top:18px}
.support-guide a{text-decoration:none;border:1px solid #dde7ee;border-radius:10px;padding:15px;display:flex;gap:12px;align-items:center;background:#fff;color:#0d678e}
.support-guide a:hover{background:#f1f9fc}
.document-status{padding:7px 12px;margin-bottom:12px;border:1px solid #a9bccb;color:#254c69;font-size:10px;font-weight:700;text-transform:uppercase;text-align:right;letter-spacing:1px}
@media(max-width:1100px){#pageContent .quote-screen .filters{grid-template-columns:repeat(2,minmax(0,1fr))}#pageContent .quote-screen .filters>.field:first-child{grid-column:1/-1}}
@media screen{#sheetHost{width:100%;overflow:auto;overscroll-behavior-x:contain}.toolbar{flex-wrap:wrap}.toolbar>b{overflow-wrap:anywhere}}
@media(max-width:1024px){.topbar-aside .system-indicator{display:none}.topbar-aside{max-width:30%}.header-role-info{overflow-wrap:anywhere}}
@media(max-width:768px){
 .topbar{position:relative;gap:10px;padding:16px}.header-breadcrumb{font-size:8px}.topbar-aside{display:none}
 .content{padding:18px 14px}.module-heading{gap:16px;flex-direction:column;align-items:stretch}.module-heading-copy{width:100%}.module-heading-actions,.module-heading-actions>.btn{width:100%}
 .module-filter-panel{gap:14px}.module-filter-panel .search-control{width:100%;min-width:0}
 .sidebar{max-width:calc(100vw - 48px)}.sidebar.open{box-shadow:0 0 0 100vmax #071d3099}
 .grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
 .btn,button.tab{min-height:44px}.modal{max-height:calc(100dvh - 32px);overflow-y:auto}.modal-bg{padding:16px}
 .header-breadcrumb,.topbar p{overflow-wrap:anywhere}.steps{overflow-x:auto}
}
@media(max-width:440px){
 #pageContent .quote-screen .filters{grid-template-columns:minmax(0,1fr)}
 .grid-2,.grid-3,.grid-4,.form-grid{grid-template-columns:minmax(0,1fr)}
 .module-filter-panel .tabs{display:flex;flex-wrap:wrap;width:100%}.tab{flex:1;font-size:12px}
 .actions>.btn{flex:1}.row-actions{flex-wrap:wrap}.module-heading h2{font-size:25px}
 input,select,textarea{font-size:16px}.login-card{padding:26px 22px}
 .app-error{align-items:flex-start;font-size:13px}.app-error button{flex-shrink:0}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body::before,.app-error{display:none!important}}
