.cn-full-mobile-close,.cn-full-mobile-backdrop{display:none}
@media screen and (max-width:760px){
 html.cn-full-mobile-site .app{display:block;min-width:0}
 html.cn-full-mobile-site main,html.cn-full-mobile-site .content,html.cn-full-mobile-site .view{min-width:0;max-width:100%}
 html.cn-full-mobile-site .app>aside{display:none!important}
 html.cn-full-mobile-site.cn-full-mobile-menu-open .app>aside{display:flex!important;position:fixed;inset:0 auto 0 0;width:min(330px,88vw);height:100vh;height:100dvh;z-index:2001;visibility:visible;pointer-events:auto;overflow-y:auto;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
 html.cn-full-mobile-menu-open{overflow:hidden}
 html.cn-full-mobile-site .cn-full-mobile-close{display:block;flex-shrink:0;align-self:flex-end;min-height:44px;margin:8px 12px;padding:8px 14px;border:1px solid #93acc5;border-radius:7px;background:#123b63;color:#fff;font-weight:700}
 html.cn-full-mobile-site #nav{display:block!important;overflow:auto;min-height:0;padding:12px;flex:1}
 html.cn-full-mobile-site #nav button{width:100%;min-width:0;min-height:46px;font-size:15px;text-align:left;white-space:normal}
 html.cn-full-mobile-site #nav .nav-label{display:block;padding-top:16px}
 html.cn-full-mobile-site #nav .nav-ico{display:inline-block}
 html.cn-full-mobile-site.cn-full-mobile-menu-open .cn-full-mobile-backdrop{display:block;position:fixed;inset:0;z-index:2000;background:rgba(5,21,38,.6)}
 html.cn-full-mobile-site .topbar{position:sticky;top:0;z-index:900;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 10px 10px;flex-wrap:wrap;height:auto}
 html.cn-full-mobile-site #mainMenuButton{display:inline-grid!important;place-items:center;min-width:44px;min-height:44px;flex-shrink:0}
 html.cn-full-mobile-site .top-actions{margin-left:auto;min-width:0;max-width:calc(100% - 54px);flex-wrap:wrap;justify-content:flex-end;gap:6px}
 html.cn-full-mobile-site .top-actions .icon-btn{display:inline-grid!important;place-items:center;min-width:40px;min-height:44px}
 html.cn-full-mobile-site .top-actions .avatar,html.cn-full-mobile-site .top-actions .user{display:none}
 html.cn-full-mobile-site .topbar .search-wrap{order:2;flex-basis:100%;width:100%;max-width:none}
 html.cn-full-mobile-site .search{min-height:44px;font-size:16px}
 html.cn-full-mobile-site .content{padding:14px 10px calc(24px + env(safe-area-inset-bottom))}
 html.cn-full-mobile-site .page-heading{flex-wrap:wrap;gap:10px}
 html.cn-full-mobile-site h1{font-size:25px;overflow-wrap:anywhere}
 html.cn-full-mobile-site .card{max-width:100%;min-width:0;padding:14px}
 html.cn-full-mobile-site .grid,html.cn-full-mobile-site .form-grid,html.cn-full-mobile-site .detail-grid,html.cn-full-mobile-site .finance-grid,html.cn-full-mobile-site .dashboard-middle,html.cn-full-mobile-site .dashboard-bottom{grid-template-columns:minmax(0,1fr)}
 html.cn-full-mobile-site .stats,html.cn-full-mobile-site .financial-hero,html.cn-full-mobile-site .summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
 html.cn-full-mobile-site input,html.cn-full-mobile-site select,html.cn-full-mobile-site textarea{font-size:16px;min-height:44px;max-width:100%}
 html.cn-full-mobile-site input[type=checkbox],html.cn-full-mobile-site input[type=radio]{min-height:20px;width:20px;max-width:20px}
 html.cn-full-mobile-site .btn{min-height:44px;white-space:normal}
 html.cn-full-mobile-site .actions,html.cn-full-mobile-site .file-actions,html.cn-full-mobile-site .project-actions{flex-wrap:wrap;gap:8px}
 html.cn-full-mobile-site .table-wrap,html.cn-full-mobile-site .xe-catalog,html.cn-full-mobile-site .cn-buyout-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 html.cn-full-mobile-site table{font-size:13px}
 html.cn-full-mobile-site .project-tabs,html.cn-full-mobile-site .tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap}
 html.cn-full-mobile-site .project-tab{min-height:44px;flex-shrink:0}
 html.cn-full-mobile-site .project-pane{padding:14px;min-width:0}
 html.cn-full-mobile-site .project-shell{padding:0}
 html.cn-full-mobile-site .task-item:not(.task-source-item){grid-template-columns:36px minmax(0,1fr) auto;gap:8px}
 html.cn-full-mobile-site .task-item:not(.task-source-item) .due{grid-column:2;white-space:normal;text-align:left}
 html.cn-full-mobile-site .task-item:not(.task-source-item) .task-actions{grid-column:3;grid-row:1}
 html.cn-full-mobile-site .file-item{align-items:flex-start;flex-wrap:wrap;overflow-wrap:anywhere}
 html.cn-full-mobile-site dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px);overflow:auto}
 html.cn-full-mobile-site .modal-head,html.cn-full-mobile-site .modal-foot{padding:12px;gap:8px;flex-wrap:wrap}
 html.cn-full-mobile-site .modal-body{padding:14px;max-height:70dvh;overflow:auto}
 html.cn-full-mobile-site .notification-panel,html.cn-full-mobile-site .search-results{max-width:calc(100vw - 20px);right:0;left:auto}
 html.cn-full-mobile-site #cloudSettingsBtn{min-width:0;max-width:150px}
 html.cn-full-mobile-site #cloudLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 html.cn-full-mobile-site .info-list{grid-template-columns:minmax(0,1fr)}
}
@media screen and (max-width:380px){html.cn-full-mobile-site .stats,html.cn-full-mobile-site .financial-hero,html.cn-full-mobile-site .summary-strip{grid-template-columns:minmax(0,1fr)}}
@media print{.cn-full-mobile-close,.cn-full-mobile-backdrop{display:none!important}}

/* R18.2: keep every main action available without widening the phone page. */
@media screen and (max-width:760px){
 html.cn-full-mobile-site .topbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px 44px;gap:6px;align-items:center}
 html.cn-full-mobile-site .topbar .top-actions{display:contents}
 html.cn-full-mobile-site #mainMenuButton{grid-area:1/1;margin:0}
 html.cn-full-mobile-site #cloudSettingsBtn{grid-area:1/2;width:100%;max-width:none;min-height:44px;padding:6px;font-size:11px}
 html.cn-full-mobile-site #notificationBtn{grid-area:1/3;width:44px}
 html.cn-full-mobile-site #helpButton{grid-area:1/4;width:44px}
 html.cn-full-mobile-site #cnUserSwitcher.cn-managed-user{display:block!important;grid-area:1/5;width:44px;min-width:0;padding:0}
 html.cn-full-mobile-site #cnManagedAccountButton{display:grid;place-items:center;width:44px;min-width:0;min-height:44px;padding:4px}
 html.cn-full-mobile-site #cnManagedAccountButton .cn-user-switch-copy,
 html.cn-full-mobile-site #cnManagedAccountButton .cn-managed-account-label,
 html.cn-full-mobile-site #cnManagedAccountButton .cn-managed-account-caret{display:none}
 html.cn-full-mobile-site #cnRecordMeetingBtn{grid-area:2/1/3/3;width:100%;min-height:44px;margin:0;order:0;font-size:12px;padding:8px}
 html.cn-full-mobile-site #navigatorBtn{grid-area:2/3/3/6;width:100%;min-height:44px;margin:0;font-size:12px;padding:8px}
 html.cn-full-mobile-site .topbar .search-wrap{grid-area:3/1/4/6;margin:0}
 html.cn-full-mobile-site .task-card-head,
 html.cn-full-mobile-site .module-toolbar,
 html.cn-full-mobile-site .section-head{flex-wrap:wrap;min-width:0}
 html.cn-full-mobile-site .task-card-head>.actions,
 html.cn-full-mobile-site .module-toolbar>.actions,
 html.cn-full-mobile-site .section-head>.actions{max-width:100%;min-width:0}
 html.cn-full-mobile-site #calendar .calendar-toolbar{flex-wrap:wrap;gap:8px}
 html.cn-full-mobile-site #calendar .calendar-toolbar>div:first-of-type{flex:1 1 calc(100% - 60px);min-width:0}
 html.cn-full-mobile-site #calendar .cn-calendar-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:1 1 100%;min-width:0;max-width:100%}
 html.cn-full-mobile-site #calendar .cn-calendar-mode{min-width:0;min-height:44px;padding:8px 4px}
 html.cn-full-mobile-site #calendar .calendar-grid,
 html.cn-full-mobile-site #calendar .calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}
 html.cn-full-mobile-site #calendar .calendar-day{min-width:0;min-height:90px;padding:3px}
 html.cn-full-mobile-site #calendar .calendar-date{min-width:0;max-width:100%;flex-wrap:wrap}
 html.cn-full-mobile-site #calendar .calendar-event{min-width:0;max-width:100%;overflow:hidden}
 html.cn-full-mobile-site #takeoff .to-zoom-controls{flex-wrap:wrap;min-width:0;max-width:100%;gap:6px}
 html.cn-full-mobile-site .cn-portal-hero{margin:0 0 14px;border-radius:15px;min-width:0}
}

@media screen and (max-width:760px){html.cn-full-mobile-site #nav [hidden],html.cn-full-mobile-site #nav .cn-access-denied{display:none!important}}
@media screen and (max-width:760px){
 html.cn-full-mobile-site.cn-full-mobile-menu-open body.cn-sidebar-collapsed .app>aside{width:min(330px,88vw)!important}
 html.cn-full-mobile-site body.cn-sidebar-collapsed #nav button{font-size:15px!important;justify-content:flex-start!important;padding:12px 14px!important}
 html.cn-full-mobile-site body.cn-sidebar-collapsed #nav .nav-label:not([hidden]){display:block!important}
 html.cn-full-mobile-site body.cn-sidebar-collapsed .brand-box img{width:100%!important;max-width:245px!important;height:62px!important}
 html.cn-full-mobile-site body.cn-sidebar-collapsed .cn-sidebar-toggle{display:none!important}
}
