/* Mobile application shell. Desktop rules remain in ui-system.css. */
.mobile-shortcuts,.mobile-home-extra{display:none}
body .device-switch{font-size:11px;padding:5px 9px;min-height:30px;justify-self:end;grid-column:3;color:inherit}
html.mobile-layout{background:#f5f5f7;scroll-padding-bottom:100px}
.mobile-layout body{margin:0;background:#f5f5f7}
.mobile-layout body .app-header,.mobile-layout body .rep-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:18px 16px 14px;min-height:0;background:linear-gradient(120deg,#85172a,#aa2a40);box-shadow:none}
.mobile-layout body .brand-block,.mobile-layout body .rep-brand{flex:1 1 100%;font-size:19px;letter-spacing:0;gap:5px}
.mobile-layout body .brand{font-size:19px;letter-spacing:0;line-height:1.5}
.mobile-layout body .org,.mobile-layout body .rep-brand span{font-size:10px;color:#f0cdd4}
.mobile-layout body #identity,.mobile-layout body #rep-identity{margin:0;gap:6px;flex:1;font-size:12px;justify-content:flex-start}
.mobile-layout body #identity .header-account{max-width:230px;padding:4px 0;font-size:12px;min-height:32px;text-align:left}
.mobile-layout body #rep-name{display:block;font-size:12px}
.mobile-layout body #logout,.mobile-layout body #rep-logout{font-size:11px;min-height:32px;padding:4px 9px;margin-left:5px}
.mobile-layout body .device-switch{color:#ffe8ed;background:#ffffff14;border:1px solid #ffffff22;font-size:11px;margin-left:auto}
.mobile-layout body main{padding:14px 12px calc(100px + env(safe-area-inset-bottom));max-width:760px;min-width:0}
.mobile-layout body .primary-navigation{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0!important;background:#fff;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #eee5e8;box-shadow:0 -4px 24px #52233608;overflow:visible;max-width:none;margin:0}
.mobile-layout body .primary-navigation button,.mobile-layout body .primary-navigation a{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:52px;padding:5px 2px;border:0;border-radius:10px;font-size:11px;font-weight:500;color:#85838b;background:transparent;line-height:1.4}
.mobile-layout body .primary-navigation .ui-icon{display:block;width:23px;height:23px}
.mobile-layout body .primary-navigation [aria-current=page]{color:#951d34;background:#fcf0f3;font-weight:700}
.mobile-layout body .primary-navigation a:hover,.mobile-layout body .primary-navigation button:hover{color:#951d34;background:#fcf0f3}
.mobile-layout body #mobile-dock{display:none!important}
.mobile-layout.mobile-keyboard body .primary-navigation{display:none}
.mobile-layout body .page-path{padding:0;margin:0 0 12px;min-height:42px;gap:8px;flex-wrap:nowrap;align-items:center}
.mobile-layout body .page-path .page-back{font-size:12px;padding:8px;min-height:40px;flex:none;border-radius:10px}
.mobile-layout .page-path-items{overflow:auto;flex-wrap:nowrap;white-space:nowrap;gap:2px;scrollbar-width:thin;flex:1;font-size:11px}
.mobile-layout .page-path-items [aria-current=page]{overflow-wrap:normal;white-space:nowrap}
.mobile-layout body .page-path-items button.text-link{min-height:40px;font-size:11px;padding:5px!important;flex:none}
.mobile-layout .home-heading{padding:5px 4px 16px;gap:0}
.mobile-layout .home-eyebrow{display:none}
.mobile-layout .home-heading h1{font-size:23px;line-height:1.4;margin:3px 0 6px;letter-spacing:0}
.mobile-layout .home-description{font-size:12px;color:#8c838a}
.mobile-layout .home-date{display:none}
.mobile-layout [data-home-section=home]>.module-cards:not(.mobile-shortcuts){display:none}
.mobile-layout .module-cards,.mobile-layout body .module-cards{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px 4px;background:white;border:1px solid #efe9ed;border-radius:18px;padding:20px 8px;margin:0 0 16px}
.mobile-layout .mobile-shortcuts{display:grid}
.mobile-layout body button.module-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:9px;padding:0 2px;min-height:80px;background:transparent;border:0;border-radius:10px;box-shadow:none;text-align:center;color:#33313a;min-width:0}
.mobile-layout .module-card>.ui-icon:first-child{box-sizing:content-box;display:block;width:26px;height:26px;padding:11px;margin:0;border-radius:16px;color:#a52a44;background:linear-gradient(145deg,#ffe9ed,#fbd6dd)}
.mobile-layout .module-card:nth-child(4n+2)>.ui-icon:first-child{background:linear-gradient(145deg,#e7efff,#d5e4ff);color:#4478ca}
.mobile-layout .module-card:nth-child(4n+3)>.ui-icon:first-child{background:linear-gradient(145deg,#fff3d9,#ffe4ae);color:#b68026}
.mobile-layout .module-card:nth-child(4n+4)>.ui-icon:first-child{background:linear-gradient(145deg,#e0f5ee,#cdece1);color:#39886b}
.mobile-layout .module-card strong{font-size:12px;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.mobile-layout .module-card>span,.mobile-layout .module-card>.ui-icon:last-child{display:none}
.mobile-layout .mobile-home-extra{display:block}
.mobile-layout .home-section{border:1px solid #eee8ec;border-radius:16px;padding:16px;margin:0 0 14px}
.mobile-layout .home-section-title{margin-bottom:8px;gap:6px}
.mobile-layout .home-section-title h2{font-size:16px}
.mobile-layout .home-section-title button{font-size:12px;min-height:40px;padding:6px}
.mobile-layout .home-event-list{grid-template-columns:1fr;gap:0}
.mobile-layout body button.home-event{padding:13px 0;gap:12px!important;border-radius:0;width:100%}
.mobile-layout .event-date{min-width:49px;padding:8px 5px;background:#faf0f3;color:#9a2941;border-radius:10px}
.mobile-layout .event-date b{font-size:22px}.mobile-layout .event-date small{font-size:10px;color:#b36b7b}
.mobile-layout .event-copy strong{font-size:14px;line-height:1.5}.mobile-layout .event-copy small{font-size:12px;line-height:1.5}
.mobile-layout .home-file{flex-wrap:wrap;gap:8px}.mobile-layout .home-file>strong{font-size:14px}.mobile-layout .home-file>small{width:100%;padding-left:28px}.mobile-layout .home-file>.ui-icon:last-child{display:none}
.mobile-layout body button,.mobile-layout body .file-link{min-height:42px;font-size:14px;padding:9px 12px;border-radius:10px}
.mobile-layout body input:not([type=checkbox]):not([type=hidden]),.mobile-layout body select,.mobile-layout body textarea{font-size:16px;min-height:44px;max-width:100%;box-sizing:border-box}
.mobile-layout body input[type=checkbox]{width:20px;height:20px}
.mobile-layout body #workspace:not([hidden]){display:block;min-height:0}
.mobile-layout body #workspace-content{width:100%;min-width:0}
.mobile-layout body .table-directory{position:relative;top:auto;max-height:45vh;margin-bottom:12px;border-radius:14px}
.mobile-layout body #main-grid:not([hidden]),.mobile-layout body #activity-detail:not([hidden]){display:block!important}
.mobile-layout body #mobile-root{display:none!important}
.mobile-layout body .toolbar,.mobile-layout body #workspace-content .toolbar{margin:0;padding:10px 0;background:transparent;gap:8px;flex-wrap:wrap}
.mobile-layout body .registration-bar{gap:8px;flex-wrap:wrap}
.mobile-layout body .registration-bar h2{font-size:20px;line-height:1.5;width:100%;margin-bottom:8px}
.mobile-layout body .activity-ledger-tabs{gap:6px;margin-bottom:12px;padding-bottom:10px;flex-wrap:wrap}
.mobile-layout body .file-library{padding:14px 12px;border-radius:16px}
.mobile-layout body .file-toolbar{gap:6px;margin-bottom:12px}
.mobile-layout body .file-toolbar h2{font-size:20px;line-height:1.5;margin-bottom:5px}
.mobile-layout body .file-toolbar button,.mobile-layout body .file-toolbar .file-link{font-size:12px;padding:9px 10px;min-height:42px}
.mobile-layout body .file-tools>summary,.mobile-layout body .inline-table-tools>summary{padding:12px;font-size:13px;min-height:42px;box-sizing:border-box}
.mobile-layout body .file-breadcrumb{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;margin-bottom:12px;max-width:100%}
.mobile-layout .file-breadcrumb button{flex:none;font-size:12px}
.mobile-layout .file-selection-bar{top:0;gap:6px;padding:10px;z-index:8}.mobile-layout .file-selection-bar strong{width:100%}
.mobile-layout .table-display-controls{position:static;gap:6px;font-size:12px;padding:8px 0}.mobile-layout .table-display-controls>span:not([role]){display:none}
.mobile-layout .table-display-controls input{width:65px}.mobile-layout .table-display-controls select{width:82px}
.mobile-layout .table-display-controls label{font-size:12px}.mobile-layout .table-display-controls button{font-size:12px}
.mobile-layout .table-pagination{justify-content:flex-start;gap:8px;padding:12px 0;font-size:12px}
.mobile-layout .grid,.mobile-layout .file-grid{max-width:100%;overflow:auto;overscroll-behavior-x:contain;margin-left:0;margin-right:0}
.mobile-layout .activity-create-fields,.mobile-layout .personal-info-board,.mobile-layout .personal-info-fields,.mobile-layout #registration-dialog form>div{grid-template-columns:minmax(0,1fr);gap:16px}
.mobile-layout .activity-create-form,.mobile-layout .personal-info-form{padding:16px 12px;background:#fff;border:1px solid #eee8ec;border-radius:16px}
.mobile-layout .activity-create-form label,.mobile-layout .personal-info-form label{font-size:14px;line-height:1.6}
.mobile-layout .activity-create-actions{position:sticky;bottom:calc(77px + env(safe-area-inset-bottom));z-index:9;background:#fff;padding:12px;margin:20px -12px -16px;border-radius:0 0 16px 16px;box-shadow:0 -4px 12px #37202b06}
.mobile-layout .activity-create-actions button{flex:1;min-height:46px}
.mobile-layout.mobile-keyboard .activity-create-actions{bottom:0}
.mobile-layout body dialog,.mobile-layout body #dialog,.mobile-layout body #import-dialog,.mobile-layout body #registration-dialog,.mobile-layout body .file-dialog{box-sizing:border-box;position:fixed;inset:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:18px 16px calc(20px + env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;background:#fff}
.mobile-layout body dialog form{padding:0;min-height:0}
.mobile-layout body dialog h2{position:sticky;top:-18px;z-index:3;background:#fff;font-size:20px;line-height:1.5;padding:16px 0;margin:-18px 0 18px;border:0;border-bottom:1px solid #eee}
.mobile-layout body dialog footer,.mobile-layout body .file-dialog>.file-toolbar{position:sticky;bottom:calc(-20px - env(safe-area-inset-bottom));background:#fff;z-index:4;padding:12px 0 calc(12px + env(safe-area-inset-bottom));margin:20px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.mobile-layout body dialog footer button{flex:1;min-height:46px}
.mobile-layout body dialog #fields{display:flex;flex-direction:column;gap:18px}
.mobile-layout body dialog label{font-size:14px;line-height:1.6}
.mobile-layout body dialog #fields label{margin:0}
.mobile-layout .all-column-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
.mobile-layout .file-cards,.mobile-layout .rep-grid{grid-template-columns:1fr}
.mobile-layout body .rep-detail,.mobile-layout body .rep-card{padding:16px;border-radius:16px}
.mobile-layout body .rep-hero{padding:18px}.mobile-layout .rep-hero h1{font-size:24px}
.mobile-layout body .login-panel,.mobile-layout body .rep-login{width:auto;max-width:440px;margin:20px auto;padding:24px 20px;border-radius:20px}
.mobile-layout body .login-panel h1,.mobile-layout body .rep-login h1{font-size:23px}
.mobile-layout body #message:not(:empty),.mobile-layout body #rep-message:not(:empty),.mobile-layout body #network-status{position:fixed;left:12px;right:12px;bottom:calc(85px + env(safe-area-inset-bottom));z-index:50;font-size:13px;background:#fff7f9;border:1px solid #efcdd6;border-radius:12px;padding:12px;box-shadow:0 4px 15px #54243712}
.mobile-layout body #message:empty{display:none}
.mobile-layout .activity-list-filters{gap:8px;flex-wrap:wrap}.mobile-layout .activity-list-filters input{min-width:0;flex:1 1 100%}.mobile-layout .activity-list-filters select{flex:1 1 100px;min-width:0}
.mobile-layout .personal-info-item{padding:14px;border-radius:12px}.mobile-layout .home-empty{padding:12px 0}
.mobile-file-view{display:none}
.mobile-layout body .mobile-file-view{display:inline-block;font-size:12px;margin:0 0 10px;background:#f8f0f3;color:#94263d}
.mobile-layout .mobile-file-list{overflow:visible}
.mobile-layout .mobile-file-list .table-display-controls{display:none}
.mobile-layout .mobile-file-list table,.mobile-layout .mobile-file-list table.adjustable-table{display:block;width:100%!important;min-width:0!important;max-width:100%}
.mobile-layout .mobile-file-list colgroup,.mobile-layout .mobile-file-list thead{display:none}
.mobile-layout .mobile-file-list tbody{display:block;width:100%}
.mobile-layout .mobile-file-list tbody tr{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:4px 8px;padding:14px 0;border-bottom:1px solid #eee8ec;background:#fff!important}
.mobile-layout .mobile-file-list td{display:block!important;width:auto!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0;border:0!important;padding:0!important;background:transparent!important;overflow-wrap:anywhere;font-size:12px;color:#89828b;text-align:left}
.mobile-layout .mobile-file-list td:nth-child(1){grid-column:1;grid-row:1;padding-top:6px!important}
.mobile-layout .mobile-file-list td:nth-child(2){grid-column:2;grid-row:1;color:#34313a;font-size:14px}
.mobile-layout .mobile-file-list td:nth-child(2)>button{min-height:32px;font-size:14px;font-weight:600;padding:4px 0}
.mobile-layout .mobile-file-list td:nth-child(3){grid-column:2;grid-row:2}
.mobile-layout .mobile-file-list td:nth-child(4){grid-column:3;grid-row:2;text-align:right}
.mobile-layout .mobile-file-list td:nth-child(5){grid-column:3;grid-row:3;text-align:right}
.mobile-layout .mobile-file-list td:nth-child(6){grid-column:2;grid-row:3;font-size:11px}
.mobile-layout .mobile-file-list td:nth-child(7){grid-column:2/4;grid-row:4;overflow:visible}
.mobile-layout .mobile-file-list .file-row-actions{justify-content:flex-end;gap:8px}
.mobile-layout .mobile-file-list .file-more>summary{min-width:44px;min-height:40px;box-sizing:border-box;padding:12px;text-align:center}
.mobile-layout .mobile-file-list .file-row-actions>.file-link{min-height:40px;font-size:12px}
body .device-switch{position:absolute;right:30px;bottom:2px;padding:2px 6px;min-height:20px}
.mobile-layout body .device-switch{position:static;padding:6px 10px;min-height:32px}
.mobile-layout .activity-create-fields>label,.mobile-layout .activity-create-fields>.lookup-field{margin:0;gap:8px}
.mobile-layout .activity-create-fields{gap:20px}
.mobile-layout .mobile-file-list td[hidden]{display:none!important}
.mobile-layout .custom-form-grid{grid-template-columns:minmax(0,1fr)}
.mobile-layout body .file-dialog[open]{display:flex;flex-direction:column}
.mobile-layout body .file-dialog-content{align-content:start;gap:20px}
.mobile-layout body .file-dialog label{margin:0}
.mobile-layout body .file-dialog label:has(>input[type=checkbox]){flex-direction:row-reverse;justify-content:flex-end;align-items:center;gap:10px}
.mobile-layout body .file-dialog>.file-toolbar{margin-top:auto;padding-top:12px;flex-wrap:nowrap}
.mobile-layout body .file-dialog>.file-toolbar button{flex:1;min-height:46px}
.mobile-layout body .file-dialog>.file-toolbar button:first-child:not(:only-child){background:var(--red);color:#fff}

.mobile-file-select-all{display:none}
.mobile-layout .mobile-file-select-all{display:flex;align-items:center;gap:10px;margin:0;padding:8px 0;font-size:12px;min-height:44px;box-sizing:border-box}
.mobile-layout .mobile-file-select-all:has(+.file-grid:not(.mobile-file-list)){display:none}
.mobile-layout .registration-bar:has(+.activity-create-form)>button:first-child{display:none}
