/* Shared mobile navigation and customer workspace. */
.unified-mobile:not([open]){display:none!important}
dialog.unified-mobile[open]{display:flex!important;flex-direction:column;position:fixed;inset:0 0 0 auto;margin:0;width:min(390px,100%);height:100dvh;max-height:100dvh;max-width:100%;box-sizing:border-box;border:0;border-radius:0;padding:20px 20px calc(24px + env(safe-area-inset-bottom));background:#fff;color:#173455;overflow-y:auto;overscroll-behavior:contain;box-shadow:-12px 0 48px #10264230;z-index:1000}
dialog.unified-mobile::backdrop{background:#0c203975;backdrop-filter:blur(3px)}
.mobile-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e2eaf3;padding:0 0 16px;margin-bottom:12px}
.mobile-drawer-head strong{font-size:20px}.mobile-drawer-close{width:44px;height:44px;display:grid;place-items:center;border:1px solid #d5e0ec;background:#f4f8fc;color:#163b66;border-radius:10px;cursor:pointer;font-size:26px}
dialog.unified-mobile :is(a,summary,button){min-height:44px;box-sizing:border-box;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
dialog.unified-mobile summary{display:list-item;cursor:pointer;padding:14px 10px;list-style-position:inside}
dialog.unified-mobile details a{border-radius:8px;padding:12px 16px;margin:2px 0;background:#f4f7fb}
dialog.unified-mobile a:focus-visible,dialog.unified-mobile button:focus-visible,dialog.unified-mobile summary:focus-visible{outline:3px solid #70a9ed;outline-offset:2px}
dialog.unified-mobile .unified-mobile-auth{margin-top:24px;padding-top:16px;gap:6px}
html.mobile-menu-open,html.mobile-menu-open body{overflow:hidden!important}
.mobile-table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
@media(max-width:980px){
 body .unified-head,body .unified-head>.unified-inner{height:76px!important}
 body .unified-head>.unified-inner{gap:8px!important;width:calc(100% - 24px);min-width:0}
 body .unified-brand{order:0;min-width:0;flex:1;margin-right:0;overflow:hidden}
 body .unified-brand img{height:auto!important;width:auto!important;max-height:60px!important;max-width:100%!important;object-fit:contain}
 body .unified-actions{order:1;gap:6px;flex-shrink:0}
 body .unified-hamburger{order:2;margin-left:0;width:44px;height:44px;flex:0 0 44px;display:grid!important;cursor:pointer}
 body .unified-menu{display:none!important}
 body .unified-actions :is(.theme-toggle,.unified-action.primary){width:44px;height:44px;padding:0;display:grid;place-items:center;box-sizing:border-box}
 body .unified-actions .primary span,body .unified-bell{display:none!important}
 body .unified-promo{padding:10px 44px 10px 12px;flex-wrap:wrap;line-height:1.5;gap:4px 8px;text-align:center}
 body .unified-promo .close{width:44px;height:44px;right:0;top:0;cursor:pointer}
 .client-content,.client-shell,.client-content>*{min-width:0;max-width:100%;box-sizing:border-box}
 .client-content :is(input,select,textarea){min-width:0;max-width:100%;font-size:16px!important;box-sizing:border-box}
 .client-content :is(img,video,canvas){max-width:100%;height:auto}
 .client-content pre{max-width:100%;overflow-x:auto}
 .client-content :is(p,h1,h2,h3,td){overflow-wrap:anywhere}
 .cp-tabs{max-width:100%;overscroll-behavior-x:contain;scroll-padding:8px}
 .cp-tabs a,.cp-logout button{min-height:44px;box-sizing:border-box}
 .mobile-table-scroll table{min-width:600px}
}
@media(max-width:880px){
 body .mobile-nav{padding:6px 6px calc(6px + env(safe-area-inset-bottom));gap:2px;box-shadow:0 -4px 24px #1432500b;z-index:40}
 body .mobile-nav a{flex:1;min-width:0;min-height:48px;border-radius:9px;font-size:11px;line-height:1.4}
 body .mobile-nav a[aria-current=page]{background:#edf4ff;color:#155cc4;font-weight:800}
 .client-shell{padding-bottom:env(safe-area-inset-bottom);margin-bottom:100px!important}
 .client{padding-bottom:calc(65px + env(safe-area-inset-bottom))}
}
@media(max-width:560px){
 .cp-crumb{flex-wrap:wrap}.cp-head h1{font-size:25px;overflow-wrap:anywhere}
 .client-content .grid{grid-template-columns:minmax(0,1fr)!important}
 .client-content :is(.card,.invoice-paper){min-width:0;max-width:100%;box-sizing:border-box}
 .invoice-paper>header{align-items:flex-start;gap:12px;flex-wrap:wrap}
 .invoice-paper .tr{grid-template-columns:minmax(0,1fr) 42px minmax(74px,auto);font-size:12px}
 .invoice-paper .invoice-table{padding:0 14px}
 .invoice-paper .bill-parties>div+div{margin-top:18px}
 .client-content :is(button,.btn){min-height:44px}
}
@media(prefers-reduced-motion:reduce){dialog.unified-mobile{scroll-behavior:auto}}

dialog.unified-mobile summary{display:flex!important;justify-content:space-between;align-items:center;gap:12px;list-style:none}
dialog.unified-mobile summary::-webkit-details-marker{display:none}
dialog.unified-mobile summary::after{content:'';width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-right:6px;flex-shrink:0}
dialog.unified-mobile details[open]>summary::after{transform:rotate(225deg)}
dialog.unified-mobile .mobile-custom-menu{width:100%;min-width:0;max-width:100%;overflow-wrap:anywhere}
dialog.unified-mobile .mobile-custom-menu *{max-width:100%!important;min-width:0!important;box-sizing:border-box}
dialog.unified-mobile .mobile-custom-menu :is(div,section,ul){width:auto!important;grid-template-columns:minmax(0,1fr)!important;flex-wrap:wrap;position:static!important}
dialog.unified-mobile .mobile-custom-menu a{height:auto!important;min-height:44px!important;display:flex!important;flex-wrap:wrap;gap:8px}
dialog.unified-mobile .mobile-custom-menu :is(img,svg){max-width:40px!important;max-height:40px!important}
