/* Gated by MobileShell and scoped to Register; normal and print views keep tables. */
.mobile-register-sections{display:none}
/* These editors live outside #v-register. Match only their sheets and only
   while the mobile shell is active, including explicit Mobil on wider screens. */
@media screen{
 body:has(#chrome-app.mobile-shell) #modalov:has(.register-form-sheet){z-index:110;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow:hidden;align-items:flex-start}
 body:has(#chrome-app.mobile-shell) #modal:has(.register-form-sheet){width:100%;max-width:560px;min-width:0;margin:auto;max-height:100%}
 body:has(#chrome-app.mobile-shell) .register-form-sheet{--card:var(--ui-card);--board:var(--ui-board);--line:var(--ui-line);--ink:var(--ui-ink);--ink2:var(--ui-ink2);--ink3:var(--ui-ink3);display:flex;flex-direction:column;width:100%;min-width:0;max-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);color-scheme:var(--ui-color-scheme);overflow:hidden;overflow-wrap:anywhere}
 body:has(#chrome-app.mobile-shell) .register-form-sheet>.sh{flex:none;padding:16px 62px 14px 16px;background:var(--board)}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .sh h2{font-size:20px;line-height:1.35;margin:0}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .sh .kk{margin-bottom:5px;color:var(--ink2)}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .x{width:44px;height:44px;top:8px;right:8px}
 body:has(#chrome-app.mobile-shell) .register-form-sheet>section.f{flex:1 1 auto;min-height:0;padding:16px;overflow-y:auto;overscroll-behavior:contain;scroll-padding:16px}
 body:has(#chrome-app.mobile-shell) .register-form-sheet :is(.g2,.g3){grid-template-columns:minmax(0,1fr);gap:0}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .fl{min-width:0;margin-bottom:16px}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .fl>label{font-size:13px;font-weight:700;color:var(--ink);line-height:1.5;margin-bottom:6px}
 body:has(#chrome-app.mobile-shell) .register-form-sheet :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;max-width:100%;min-width:0;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--board);color:var(--ink);font:inherit;font-size:16px;box-sizing:border-box}
 body:has(#chrome-app.mobile-shell) .register-form-sheet textarea{min-height:100px;resize:vertical}
 body:has(#chrome-app.mobile-shell) .register-form-sheet :is(p,.hint){font-size:13px;line-height:1.6;color:var(--ink2);margin:0 0 16px}
 body:has(#chrome-app.mobile-shell) .register-form-sheet :is(#uf-project-access,#uf-partner,.fag-plan-box){margin:18px 0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--card)}
 body:has(#chrome-app.mobile-shell) .register-form-sheet :is(h3,.project-form-block-head){padding:10px 12px;margin:-12px -12px 14px;background:var(--board);border-bottom:1px solid var(--line);border-left:4px solid var(--ui-accent-border);font-size:12px;line-height:1.6;color:var(--ink);letter-spacing:.025em}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .project-form-block-head span{display:block;white-space:normal;font-size:12px;margin-top:5px;color:var(--ink2)}
 body:has(#chrome-app.mobile-shell) .register-form-sheet :is(.access-project-list,.partner-access-list){max-height:none;overflow:visible;margin-top:12px}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .partner-access-list details{padding:10px;border-color:var(--line);background:var(--board);margin:12px 0}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .partner-access-list summary{min-height:44px;font-size:14px;font-weight:700;line-height:1.5}
 body:has(#chrome-app.mobile-shell) .register-form-sheet :is(.access-project-list label,.partner-access-list summary label,.partner-access-row label){display:flex;align-items:center;gap:8px;min-height:44px;font-size:13px;line-height:1.5;white-space:normal}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .partner-access-list summary label{display:inline-flex;vertical-align:middle;width:calc(100% - 24px)}
 body:has(#chrome-app.mobile-shell) .register-form-sheet input[type=checkbox]{width:20px;height:20px;flex:none;margin:0;accent-color:var(--ui-accent-border)}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .fl .chip{display:flex;align-items:center;gap:6px;min-height:44px;padding:8px;font-size:12px;margin:0}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .fl .chip.on{background:color-mix(in srgb,var(--ui-accent-border) 15%,var(--board));color:var(--ink);border-color:var(--ui-accent-border)}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .partner-access-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:0 10px;padding:10px 0;border-color:var(--line)}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .partner-access-row>span{grid-column:1/-1;font-weight:650;font-size:14px;line-height:1.5}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .partner-access-list h4{font-size:11px;line-height:1.6;margin:14px 0 6px;color:var(--ink2)}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .rowbtn{min-height:44px;padding:10px;font-size:12px;white-space:normal}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .f>details{padding:12px;border:1px solid var(--line);border-radius:8px;margin:16px 0}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .f>details>summary{min-height:32px;font-size:14px;font-weight:700}
 body:has(#chrome-app.mobile-shell) .register-form-sheet .f>details[open]>summary{margin-bottom:14px}
 body:has(#chrome-app.mobile-shell) .register-form-sheet>.sf{flex:none;flex-wrap:wrap;gap:8px;padding:12px 16px;background:var(--board);border-top:1px solid var(--line)}
 body:has(#chrome-app.mobile-shell) .register-form-sheet>.sf>.sp{display:none}
 body:has(#chrome-app.mobile-shell) .register-form-sheet>.sf>button{flex:1 1 150px;min-width:0;min-height:44px;padding:10px;font-size:13px;line-height:1.5;white-space:normal}
 body:has(#chrome-app.mobile-shell) .register-form-sheet>.sf>.sv{background:var(--hivis);color:var(--ui-accent-ink);font-weight:750}
}
@media screen{
 #v-register.mobile-register{min-width:0;max-width:100%}
 #v-register.mobile-register>.head{margin-bottom:12px}
 #v-register.mobile-register>.head h1{font-size:23px}
 #v-register.mobile-register>.head .muted{font-size:12px;line-height:1.6}
 #v-register.mobile-register>.ws-tabs{display:none}
 #v-register.mobile-register>.mobile-register-sections{display:grid;gap:6px;padding:12px;background:var(--card);border:1px solid var(--line);border-radius:9px 9px 0 0;font-size:12px;font-weight:600}
 #v-register.mobile-register>.mobile-register-sections select{display:block;width:100%;min-width:0;min-height:46px;padding:10px 12px;font:inherit;font-size:16px;font-weight:600;line-height:1.4;color:var(--ink);background:var(--board);border:1px solid var(--line);border-radius:6px}
 #v-register.mobile-register>.ws-body{padding:12px;min-width:0}
 #v-register.mobile-register .register-resource-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:14px}
 #v-register.mobile-register .register-resource-filters>button{min-width:0;min-height:44px;padding:7px 4px;font-size:12px;white-space:normal}
 #v-register.mobile-register .sh2{gap:10px;align-items:center}
 #v-register.mobile-register .sh2 h3{font-size:12px}
 #v-register.mobile-register .sh2>.btn{min-height:44px;white-space:normal;padding:9px 11px;font-size:12px}
 #v-register.mobile-register .firm-search{grid-template-columns:minmax(0,1fr) 44px;gap:7px;min-width:0}
 #v-register.mobile-register .firm-search input{font-size:16px;min-height:44px}
 #v-register.mobile-register .firm-search button{min-height:44px}
 #v-register.mobile-register .mobile-register-table-host{border:0;border-radius:0;overflow:visible;min-width:0;background:transparent}
 #v-register.mobile-register table.mobile-register-table{display:block;width:100%;min-width:0;table-layout:auto;border:0;background:transparent}
 #v-register.mobile-register details:not([open]) .mobile-register-table{display:none}
 #v-register.mobile-register .mobile-register-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 #v-register.mobile-register .mobile-register-table tbody{display:grid;gap:12px}
 #v-register.mobile-register .mobile-register-table .mr-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;min-width:0;border:1px solid var(--line);border-radius:9px;padding:0 12px;background:var(--card);box-shadow:0 1px 2px #00000008}
 #v-register.mobile-register .mobile-register-table .mr-cell{display:block;min-width:0;width:auto;padding:10px 0;white-space:normal!important;text-align:left!important;overflow-wrap:anywhere;background:transparent;border:0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6}
 #v-register.mobile-register .mr-cell:not(.mr-title)::before{content:attr(data-mobile-register-label);display:block;margin-bottom:4px;font-size:10px;font-weight:650;letter-spacing:.025em;color:var(--ink2)}
 #v-register.mobile-register .mr-cell.mr-title{grid-column:1/-1;padding:12px 0;font-size:15px;color:var(--ink)}
 #v-register.mobile-register .mr-title>b{font-size:15px;font-weight:650}
 #v-register.mobile-register .mr-cell.mr-wide{grid-column:1/-1}
 #v-register.mobile-register .mr-cell small{display:block;white-space:normal;line-height:1.5;font-size:12px}
 #v-register.mobile-register .mr-cell .pill{max-width:100%;white-space:normal;font-size:11px;line-height:1.5}
 #v-register.mobile-register .mr-cell.mr-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;padding:12px 0;border-bottom:0;justify-content:flex-end}
 #v-register.mobile-register .mr-cell.mr-actions::before{display:none}
 #v-register.mobile-register .mr-actions>.rowbtn{flex:1 1 calc(50% - 7px);min-height:44px;min-width:0;margin:0;padding:9px 8px;font-size:12px;line-height:1.5;white-space:normal;border:1px solid var(--line);border-radius:6px;background:var(--board)}
 #v-register.mobile-register .mr-actions>.rowbtn.d{color:var(--red)}
 #v-register.mobile-register .mobile-register-table tr[hidden]{display:none!important}
 #v-register.mobile-register .mobile-register-table .mr-empty{display:block;padding:16px 12px;border:1px solid var(--line);border-radius:9px;background:var(--board)}
 #v-register.mobile-register .mr-empty>td{display:block;padding:0;border:0;white-space:normal}
 #v-register.mobile-register .cols,#v-register.mobile-register :is(.dagmulkt-admin-grid,.holiday-admin-grid,.dagmulkt-date-list,.g2){grid-template-columns:minmax(0,1fr)}
 #v-register.mobile-register .cols>.info{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--board)}
 #v-register.mobile-register .register-users-toolbar{flex-wrap:wrap;gap:10px}
 #v-register.mobile-register .register-users-toolbar>.firm-search{width:100%;flex:1 1 100%}
 #v-register.mobile-register .register-users>summary,#v-register.mobile-register .register-audit>summary{padding:14px;font-size:14px;min-height:48px}
 #v-register.mobile-register .register-users-body,#v-register.mobile-register .register-audit-body{padding:12px}
 #v-register.mobile-register :is(.btn,.info .rowbtn,.dagmulkt-admin-grid .rowbtn,.holiday-admin-grid .rowbtn){min-height:44px;white-space:normal}
 #v-register.mobile-register :is(.fl input,.fl select){min-height:44px;width:100%;min-width:0;font-size:16px;box-sizing:border-box}
 #v-register.mobile-register .holiday-row{flex-wrap:wrap;gap:8px}
 #v-register.mobile-register .holiday-date{flex:1 1 170px;min-width:0}
 #v-register.mobile-register :is(.holiday-row,.dagmulkt-date-row)>button{min-width:44px;min-height:44px}
 #v-register.mobile-register .activity-panel{padding:12px}
 #v-register.mobile-register .activity-filters{grid-template-columns:minmax(0,1fr)}
 #v-register.mobile-register .activity-heading{flex-wrap:wrap}
 #v-register.mobile-register .activity-panel button{min-height:44px;padding:9px 12px}
 #v-register.mobile-register .activity-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #v-register.mobile-register .activity-summary>div{min-width:0;padding:10px;overflow-wrap:anywhere}
 #v-register.mobile-register .activity-filters :is(input,select){min-height:44px;font-size:16px}
 #v-register.mobile-register :is(button,select,input):focus-visible{outline:2px solid var(--ui-accent-border);outline-offset:2px}

 /* Clear hierarchy inside cards as well as between Register sections. */
 #v-register.mobile-register .mobile-register-table .mr-cell.mr-title{margin:0 -12px;padding:12px 14px;background:var(--board);box-shadow:inset 4px 0 var(--ui-accent-border);border-radius:8px 8px 0 0;border-bottom:1px solid var(--line);font-size:16px;font-weight:700}
 #v-register.mobile-register .mr-title>b{font-size:16px;font-weight:700}
 #v-register.mobile-register .mr-cell:not(.mr-title):not(.mr-actions)::before{font-size:11px;font-weight:700;color:var(--ink);letter-spacing:.03em;margin-bottom:6px}
 #v-register.mobile-register .ws-body>.sh2,#v-register.mobile-register .dagmulkt-admin-head{padding:12px;background:var(--board);border:1px solid var(--line);border-left:4px solid var(--ui-accent-border);border-radius:7px;margin-bottom:14px}
 #v-register.mobile-register .sh2 h3{font-size:13px;font-weight:700;color:var(--ink);line-height:1.5}
 #v-register.mobile-register .cols>.info>.l{margin:-14px -14px 12px;padding:12px 14px;background:var(--card);box-shadow:inset 4px 0 var(--ui-accent-border);border-radius:7px 7px 0 0;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ink)}
 #v-register.mobile-register :is(.register-users,.register-audit)>summary{background:var(--board);box-shadow:inset 4px 0 var(--ui-accent-border);font-weight:700;border-bottom:1px solid var(--line)}
 #v-register.mobile-register :is(.firm-search>label,.activity-filters>label,.fl>label){font-size:12px;font-weight:700;color:var(--ink)}
}
