/* The app owns its viewport; the regular WordPress portal keeps its own layout. */
html.mi-app-document { width:100%; min-height:100%; min-width:0; margin:0; padding:0; }
body.mi-app-page { box-sizing:border-box; width:100%; min-width:0; min-height:100vh; min-height:100svh; margin:0; padding:env(safe-area-inset-top) env(safe-area-inset-right) calc(var(--mi-app-nav-height,110px) + 16px) env(safe-area-inset-left); background:#f5f9fc; color:#173d5c; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.mi-app-page #mi-app-main { width:100%; min-width:0; max-width:none; margin:0; padding:0; }
.mi-app-page .mi-dp { width:100%; min-width:0; max-width:1280px; margin:0 auto; padding:24px; border:0; border-radius:0; font-size:18px; line-height:1.55; overflow-wrap:anywhere; }
.mi-app-page .mi-dp.mi-login { margin:16px auto 12px; max-width:540px; padding:28px; border:1px solid #d4e2ec; border-top:4px solid #3d91a1; border-radius:18px; }
.mi-app-page .mi-dp h1 { font-size:32px; line-height:1.18; }
.mi-app-page .mi-dp h2 { font-size:23px; line-height:1.3; }
.mi-app-page .mi-dp h3 { font-size:19px; }
.mi-app-page .mi-header { gap:12px; margin-bottom:16px; }
.mi-app-page .mi-header .mi-brand-mark { width:50px; height:50px; }
.mi-app-page .mi-header small { letter-spacing:.08em; font-size:11px; }
.mi-app-page .mi-user { display:flex; flex-wrap:nowrap; gap:12px; font-size:18px; }
.mi-app-page .mi-app-identity { display:flex; flex-wrap:wrap; gap:6px; min-width:0; }
.mi-app-page .mi-user-name { flex-basis:100%; font-weight:650; line-height:1.4; }
.mi-app-page .mi-dp .mi-user-role { font-size:14px; padding:5px 8px; color:#185477; background:#e2eff7; border:1px solid #b6d4e6; white-space:normal; }
.mi-app-page .mi-user .mi-app-logout { display:inline-flex; flex-shrink:0; justify-content:center; align-items:center; min-height:54px; padding:12px 14px; color:#fff; background:#20608c; border:2px solid #20608c; border-radius:12px; text-decoration:none; font-size:18px; font-weight:700; }
.mi-app-page .mi-user .mi-app-logout:hover { background:#17486b; }
.mi-app-page .mi-dp label,.mi-app-page .mi-dp legend { font-size:18px; }
.mi-app-page .mi-dp input:not([type=checkbox]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]),.mi-app-page .mi-dp select,.mi-app-page .mi-dp textarea { font-size:19px; min-height:58px; padding:14px; }
.mi-app-page .mi-dp button,.mi-app-page .mi-dp .mi-button,.mi-app-page .mi-dp input[type=submit] { min-height:60px; font-size:19px; padding:14px 18px; white-space:normal; overflow-wrap:anywhere; }
.mi-app-page .mi-dp input[type=checkbox] { width:22px; height:22px; flex-shrink:0; }
.mi-app-page .mi-checks label { min-height:48px; }
.mi-app-page .mi-dp small,.mi-app-page .mi-dp .mi-field-help,.mi-app-page .mi-dp .mi-fit { font-size:14px !important; line-height:1.5; }
.mi-app-page .mi-dp .mi-header small,.mi-app-page .mi-dp .mi-eyebrow { font-size:11px !important; }
.mi-app-page .mi-dp .mi-link,.mi-app-page .mi-dp .mi-forgot { display:inline-flex; align-items:center; min-height:48px; font-size:17px; }
.mi-app-page .mi-dp .mi-tag,.mi-app-page .mi-dp .mi-state,.mi-app-page .mi-dp .mi-badge { font-size:13px; }
.mi-app-page .mi-dp table { font-size:15px; }
.mi-app-page .mi-dp th { font-size:13px; }
.mi-app-page .mi-dp th,.mi-app-page .mi-dp td { padding:12px 10px; }
.mi-app-page .mi-dp table button { min-height:56px; font-size:18px; }
.mi-app-page .mi-dp footer { font-size:12px; }
.mi-app-page .mi-scroll,.mi-app-page .mi-plan-grid,.mi-app-page .mi-absence-scroll { min-width:0; max-width:100%; }
.mi-app-page .mi-app-welcome h2 { font-size:28px; margin-bottom:8px; letter-spacing:-.025em; }
.mi-app-page .mi-app-welcome { padding:4px 0 8px; }
.mi-app-page .mi-live-notice { gap:6px 14px; padding:12px 16px; }
.mi-app-page .mi-live-notice b { font-size:16px; }
.mi-app-page .mi-live-notice .mi-link { min-height:44px; font-size:16px; }
.mi-app-page .mi-app-clock { background:linear-gradient(115deg,#20608c,#245875); border:0; color:#fff; }
.mi-app-page .mi-app-clock h2,.mi-app-page .mi-app-clock .mi-eyebrow { color:#fff; }
.mi-app-page .mi-app-clock p { color:#e0f1f8; }
.mi-app-page .mi-app-clock a.mi-button { width:100%; background:white; color:#17486b; font-size:21px; min-height:64px; }
.mi-app-shift { display:flex; gap:14px; padding:14px 0; border-top:1px solid #e5eef4; }
.mi-app-shift:first-of-type { border-top:0; }
.mi-app-shift>div:last-child { min-width:0; }
.mi-app-shift span,.mi-app-shift small { display:block; }
.mi-app-shift small { margin-top:5px; color:#526d82; }
.mi-app-shift-date { display:flex; flex:0 0 58px; flex-direction:column; align-items:center; justify-content:center; align-self:flex-start; min-height:66px; border-radius:12px; background:#e5f0f6; }
.mi-app-shift-date b { font-size:26px; line-height:1.2; }
.mi-app-shift-date span { font-size:13px; text-transform:uppercase; }
.mi-app-quick-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0 24px; }
.mi-app-page .mi-app-destination { display:flex; align-items:center; gap:14px; min-height:100px; padding:18px; border:1px solid #b9d4e5; border-radius:16px; color:#17486b; background:#fff; text-decoration:none; box-shadow:0 3px 10px #173d5c05; }
.mi-app-destination>svg { width:34px; height:34px; flex-shrink:0; color:#267889; }
.mi-app-destination>span:not(.mi-app-chevron) { min-width:0; flex:1; }
.mi-app-destination strong { display:block; font-size:22px; line-height:1.3; }
.mi-app-page .mi-dp .mi-app-destination small { display:block; margin-top:5px; color:#526d82; font-size:16px !important; line-height:1.4; }
.mi-app-chevron { font-size:30px; }
.mi-app-page .mi-app-bottom { box-sizing:border-box; position:fixed; z-index:900; bottom:0; left:0; right:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; background:#fff; border-top:1px solid #bdd4e4; box-shadow:0 -6px 25px #173d5c0d; padding:8px max(6px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left)); }
.mi-app-page .mi-app-bottom a { display:flex; min-width:0; flex-direction:column; justify-content:center; align-items:center; gap:5px; min-height:80px; padding:6px 4px; border:0; border-radius:12px; font:650 16px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:transparent; color:#36596f; text-decoration:none; position:relative; overflow-wrap:normal; }
.mi-app-bottom svg { width:32px; height:32px; flex-shrink:0; }
.mi-app-page .mi-app-bottom [aria-current=page],.mi-app-page .mi-app-bottom [aria-expanded=true] { color:#20608c; background:#edf5fa; }
.mi-app-page .mi-app-bottom .mi-app-badge { position:absolute; top:0; right:4px; min-width:24px; padding:1px 5px; background:#a33e2d; border:2px solid white; border-radius:20px; color:white; font-size:13px; }
.mi-app-page a:focus-visible,.mi-app-page button:focus-visible,.mi-app-page summary:focus-visible { outline:3px solid #20608c; outline-offset:3px; }
.mi-app-page .mi-app-destination:hover { background:#edf5fa; }
.mi-app-page .mi-dp summary { padding:14px 0; min-height:54px; font-size:18px; }
.mi-app-page .mi-dp .mi-app-compose { padding:0; border-color:#20608c; overflow:hidden; }
.mi-app-page .mi-app-compose>summary { padding:18px; background:#20608c; color:#fff; font-size:20px; }
.mi-app-page .mi-app-compose form { padding:18px; }
.mi-app-page .mi-app-compose-link { width:100%; margin-bottom:18px; }
.mi-app-page .mi-app-install { padding-top:0; max-width:760px; }
.mi-app-install details { font-size:16px; }
.mi-app-install li { margin-bottom:12px; }
.mi-app-install ol { padding-left:20px; }
.mi-app-installed .mi-app-install { display:none; }
.mi-app-connection { position:sticky; top:env(safe-area-inset-top); z-index:1000; padding:14px 16px; background:#fff1d7; border-bottom:1px solid #e2bf77; color:#674813; font-size:16px; }
.mi-app-skip { position:fixed; top:8px; left:12px; z-index:1200; padding:12px; background:white; color:#20608c; }
.mi-app-skip:not(:focus) { clip-path:inset(50%); width:1px; height:1px; overflow:hidden; white-space:nowrap; padding:0; }
.mi-app-page [hidden] { display:none !important; }
.mi-app-page .mi-login button.mi-password-reveal { color:#20608c; background:transparent; justify-content:flex-start; padding:6px 0; min-height:44px; font-size:15px; }
.mi-app-page .mi-app-location { margin-bottom:14px; }
.mi-app-page #mi-time-editor>summary { color:#20608c; font-weight:700; }
@media(max-width:1024px) {
  .mi-app-page .mi-dp { max-width:none; padding:16px 12px; }
  .mi-app-page .mi-main-nav { flex-direction:column; overflow:visible; margin:0 0 16px; padding:10px; border:1px solid #d4e2ec; border-radius:14px; background:white; }
  .mi-app-page .mi-nav-group>div { flex-wrap:wrap; }
  .mi-app-page .mi-main-nav a { min-height:48px; font-size:16px; white-space:normal; }
  .mi-app-page .mi-nav-label { font-size:12px; }
  .mi-app-page.mi-app-enhanced .mi-main-nav { display:none; }
  .mi-app-page.mi-app-menu-open .mi-main-nav { display:flex; }
  .mi-app-page .mi-split { grid-template-columns:minmax(0,1fr); }
  .mi-app-page .mi-section-heading { flex-wrap:wrap; gap:8px; }
  .mi-app-page .mi-live-notice { flex-wrap:wrap; }
}
@media(max-width:760px) {
  .mi-app-page .mi-dp { padding:12px 8px; }
  .mi-app-page .mi-dp.mi-login { width:calc(100% - 16px); margin:8px auto 12px; padding:24px 18px; }
  .mi-app-page .mi-header { display:grid; grid-template-columns:50px minmax(0,1fr); align-items:center; padding:0 4px 10px; }
  .mi-app-page .mi-header .mi-user { grid-column:1/-1; justify-content:space-between; flex-wrap:nowrap; padding-top:10px; }
  .mi-app-page .mi-header h1 { font-size:clamp(28px,7.5vw,34px); overflow-wrap:anywhere; }
  .mi-app-page .mi-panel { padding:18px 14px; margin-bottom:14px; border-radius:14px; }
  .mi-app-page .mi-plan-card { padding:18px 14px; }
  .mi-app-page .mi-plan-cards,.mi-app-page .mi-cards,.mi-app-page .mi-metric-grid { grid-template-columns:minmax(0,1fr); }
  .mi-app-page .mi-form,.mi-app-page .mi-form-grid,.mi-app-page .mi-period-fields { grid-template-columns:minmax(0,1fr); gap:14px; }
  .mi-app-page .mi-form>button,.mi-app-page .mi-clock-box button { width:100%; }
  .mi-app-page .mi-filters { flex-direction:column; align-items:stretch; padding:12px; }
  .mi-app-page .mi-filters label { flex:0 1 auto; width:100%; }
  .mi-app-page .mi-filters button { width:100%; }
  .mi-app-page .mi-plan-grid { grid-template-columns:minmax(0,1fr); gap:12px; border:0; background:transparent; }
  .mi-app-page .mi-plan-day { min-width:0; min-height:0; padding:14px; border:1px solid #d4e2ec; border-radius:12px; }
  .mi-app-page .mi-plan-day.mi-empty-day { display:none; }
  .mi-app-page .mi-day-head { margin-bottom:8px; font-size:18px; }
  .mi-app-page .mi-day-time { padding:9px; font-size:17px; }
  .mi-app-page .mi-shift { padding:12px; gap:4px; font-size:16px; }
  .mi-app-page .mi-shift b { font-size:17px; }
  .mi-app-page .mi-shift small { white-space:normal; overflow:visible; text-overflow:clip; }
  .mi-app-page .mi-hint-chip { font-size:13px; }
  .mi-app-page .mi-holiday,.mi-app-page details.mi-away,.mi-app-page .mi-elsewhere { font-size:14px; }
  .mi-app-page .mi-absence-view { grid-template-columns:minmax(0,1fr); }
  .mi-app-page .mi-clock-running { flex-wrap:wrap; }
  .mi-app-page .mi-app-bottom { max-width:none; border-radius:0; }
}
@media(max-width:359px) {
  .mi-app-page .mi-panel { padding:16px 12px; }
  .mi-app-page .mi-app-destination { padding:16px 12px; gap:10px; }
  .mi-app-page .mi-app-destination strong { font-size:21px; }
}
@media(max-width:599px) {
  body.mi-app-page { --mi-app-nav-height:calc(158px + env(safe-area-inset-bottom)); }
  .mi-app-page .mi-app-quick-links { grid-template-columns:minmax(0,1fr); }
  .mi-app-page .mi-app-bottom { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .mi-app-page .mi-app-bottom a { grid-column:span 2; min-height:74px; }
  .mi-app-page .mi-app-bottom a:nth-child(n+4) { grid-column:span 3; flex-direction:row; min-height:60px; gap:10px; background:#f0f6fa; }
  .mi-app-page .mi-app-bottom a:nth-child(n+4)[aria-current=page] { background:#dcecf6; }
}
@media(min-width:761px) { .mi-app-page .mi-app-bottom { max-width:900px; margin:auto; border:1px solid #d4e2ec; border-radius:18px 18px 0 0; } }
@media print { body.mi-app-page { padding:0; } .mi-app-bottom,.mi-app-install,.mi-app-connection { display:none !important; } }
.mi-app-page .mi-app-work-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.mi-app-page .mi-app-work-nav a{display:flex;align-items:center;justify-content:center;min-height:60px;padding:14px 16px;border:1px solid #cbdfea;border-radius:12px;text-decoration:none;background:#fff;color:#205b83;font-size:18px;font-weight:650}
.mi-app-page .mi-app-work-nav a[aria-current]{background:#20608c;color:#fff;border-color:#20608c}
.mi-app-page .mi-material-amend{padding:16px 12px}
.mi-app-page .mi-material-amend form{grid-template-columns:minmax(0,1fr)}
.mi-app-page .mi-material-amend .mi-row-top{flex-wrap:wrap}
.mi-app-page .mi-dp .mi-material-meta { font-size:13px; line-height:1.45; }
.mi-app-page .mi-dp .mi-material-availability { font-size:15px; }
.mi-app-page .mi-packed-complete { padding:16px 12px; }
@media(max-width:760px){.mi-app-page .mi-app-work-nav a{flex:1 1 140px}.mi-app-page .mi-main-nav .mi-nav-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mi-app-page .mi-main-nav a{padding:12px 10px}}
@media(max-width:760px){
 .mi-app-page .mi-scroll table{min-width:540px;overflow-wrap:normal}
 .mi-app-page .mi-packlist table{min-width:0}
 .mi-app-page table.mi-app-record-table{display:block;min-width:0;border:0;background:transparent}
 .mi-app-page .mi-app-record-table thead{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
 .mi-app-page .mi-app-record-table tbody{display:block}
 .mi-app-page .mi-app-record-table tr{display:block;border:1px solid #d4e2ec;border-radius:12px;margin-bottom:14px;background:#fff;overflow:hidden}
 .mi-app-page .mi-app-record-table td{display:block;width:auto;min-width:0;padding:10px 12px;border:0;border-bottom:1px solid #edf3f7;overflow-wrap:anywhere;text-align:left;font-size:16px}
 .mi-app-page .mi-app-record-table td:last-child{border-bottom:0}
 .mi-app-page .mi-app-record-table td[data-label]:before{content:attr(data-label);display:block;font-size:13px;font-weight:650;color:#526d82;margin-bottom:4px}
 .mi-app-page .mi-app-record-table td[data-label=""]:before{display:none}
}
/* Published-plan flow remains usable even when the device reports a desktop-sized viewport. */
.mi-app-page .mi-plan-choice { display:block; }
.mi-app-page .mi-plan-choice label { display:block; margin:12px 0; }
.mi-app-page .mi-plan-choice button { width:100%; }
.mi-app-page .mi-employee-duty-grid { grid-template-columns:minmax(0,1fr); }
.mi-app-page .mi-employee-duty { padding:18px 16px; }
.mi-app-page .mi-employee-duty .mi-employee-claim { display:flex; grid-template-columns:none; }
.mi-app-page .mi-material-site-header .mi-plan-view-nav { display:grid; grid-template-columns:minmax(0,1fr); }
.mi-app-page .mi-material-location-grid { grid-template-columns:minmax(0,1fr); }
