/* Phone layout: same CI, with safe gutters and touch-sized controls. */
@media(max-width:900px){
 html{ -webkit-text-size-adjust:100% }
 body:has(.topbar){overflow-x:hidden;padding-left:0!important}
 #root>main:has(>.topbar){padding:calc(76px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))!important;margin:0!important;min-width:0;width:100%;height:auto;min-height:100dvh}
 .topbar{position:fixed!important;inset:0 0 auto!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;height:calc(64px + env(safe-area-inset-top,0px))!important;min-height:64px!important;padding-top:env(safe-area-inset-top,0px)!important}
 .topbar .brand{position:absolute!important;left:50%!important;transform:translateX(-50%);height:54px!important;padding:5px!important}.topbar .brand-logo{width:118px!important;max-height:48px!important}
 .topbar{z-index:40!important;flex-direction:row!important;flex-wrap:nowrap!important}
 .topbar .mobile-menu-toggle{display:grid!important;place-items:center;position:absolute;left:12px;top:calc(10px + env(safe-area-inset-top,0px))!important;width:44px;height:44px;z-index:43;background:white;border:1px solid var(--line);border-radius:9px;font-size:22px}
 .topbar.menu-open .desktop-nav{display:flex!important;position:fixed!important;inset:calc(64px + env(safe-area-inset-top,0px)) auto 0 0!important;transform:none!important;width:min(84vw,320px)!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;background:white;z-index:42;margin:0!important;padding:18px 14px calc(24px + env(safe-area-inset-bottom,0px))!important;overflow:auto;gap:6px}
 .topbar.menu-open .desktop-nav>button{display:flex!important;align-items:center!important;min-height:48px;gap:10px!important;font-size:15px!important;padding:12px!important;border-radius:10px;width:100%;text-align:left}.topbar.menu-open .desktop-nav>button>span{font-size:14px!important}.side-menu-backdrop{display:block;position:fixed;inset:64px 0 0;background:#25323855;z-index:35}
 .side-menu-backdrop{top:calc(64px + env(safe-area-inset-top,0px))!important}
 .page-head{display:flex;flex-direction:column;align-items:flex-start!important;padding:16px 0!important;gap:12px!important;width:100%;min-width:0}
 .page-head>div{min-width:0;max-width:100%}.page-head h1{font-size:28px!important;line-height:1.15!important;margin:6px 0 10px!important;overflow-wrap:anywhere}.page-head p{line-height:1.5!important;font-size:13px!important}.page-head .eyebrow{font-size:10px!important;letter-spacing:.13em!important;margin:0!important}
 .page-head>.primary,.page-head>.secondary{min-height:44px;font-size:14px;padding:10px 16px;max-width:100%}
 .topbar .header-actions{position:absolute!important;right:12px!important;width:44px!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important}.topbar .save-state{display:none!important}.topbar .account-menu-trigger{width:44px!important;height:44px!important;padding:0!important;gap:0!important}.topbar .account-menu-trigger>span:not(.avatar){display:none!important}.topbar .account-menu-trigger .avatar{width:38px;height:38px;flex:none}.topbar .brand{max-width:140px!important}
 .dashboard-kpis{width:100%;margin:0 0 16px!important;padding:0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .dashboard-kpis article{min-width:0;min-height:96px;gap:9px!important;padding:12px!important;align-items:flex-start!important}.dashboard-kpis article>div{min-width:0}.dashboard-kpis article>span{width:30px!important;height:30px!important;flex:none;font-size:14px!important;border-radius:9px!important}.dashboard-kpis b{font-size:20px!important;line-height:1.2;overflow-wrap:anywhere;white-space:normal}.dashboard-kpis small{font-size:11px!important;line-height:1.35;display:block;margin-top:5px;overflow-wrap:anywhere}
 .stats{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px!important}
 .stats article{min-width:0;min-height:96px;padding:12px!important;gap:9px!important;align-items:flex-start}
 .stats article>div,.stats article>span{min-width:0}.stats b{font-size:21px!important;line-height:1.2;overflow-wrap:anywhere}.stats small{font-size:11px!important;line-height:1.35;display:block;margin-top:5px;overflow-wrap:anywhere}
 .stats article>i{width:30px!important;height:30px!important;flex:none;font-size:14px!important;border-radius:9px!important}
 .dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr)!important;width:100%;padding:0!important;gap:14px;margin-bottom:14px!important}.dashboard-grid>*{min-width:0;max-width:100%}
 .attention-panel>header{padding:14px!important;gap:10px;align-items:flex-start}.attention-panel h2{font-size:18px!important;line-height:1.25}.attention-panel .eyebrow{font-size:9px!important;letter-spacing:.12em!important}.attention-panel>header>span{flex:none;font-size:10px;padding:5px 8px}
 .attention-panel{border-radius:12px}.attention-list{overflow:auto;max-height:300px}.all-good{font-size:12px!important;line-height:1.5;padding:20px 14px!important}
 .attention-list>button{padding:12px!important;min-width:0}.attention-list>button>span{min-width:0}.attention-list b{font-size:12px!important}.attention-list small{font-size:11px!important;line-height:1.4}
 .absence-notification-row{flex-wrap:wrap;padding:12px!important}.absence-notification-row>div{flex-wrap:wrap}.absence-notification-row small{font-size:11px}.absence-notification-row button{min-height:44px;font-size:12px}
 .bf-backup-status{flex-wrap:wrap}.bf-backup-status>div{min-width:0}.bf-backup-status button{min-height:44px}
 .ec-root{padding:16px 0!important}.ec-head h1,.ec-detail-head h1{font-size:28px!important}.ec-head,.ec-detail-head{gap:12px}.ec-toolbar{gap:10px;flex-wrap:wrap}.ec-toolbar input{max-width:100%;min-width:0}
 .admin-layout{grid-template-columns:minmax(0,1fr);padding:0!important}.settings-panel{min-width:0;padding:16px}.settings-head{gap:10px;flex-wrap:wrap}.settings-head h2{font-size:22px}.settings-head p{font-size:13px;line-height:1.5}
 input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}
 .time-report-actions{width:100%;min-width:0;flex-wrap:wrap}.time-employee-strip{position:static!important;width:100%!important;margin:0 0 14px!important}.time-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr));padding:0!important}.time-report-kpis article{min-width:0;padding:12px}.time-report-kpis b{font-size:20px!important}.time-week-panel>header{flex-wrap:wrap;gap:12px;padding:14px}.time-week-panel>header h2{font-size:20px}.time-session-list{max-height:55dvh!important}
 .bf-period input{width:135px}.bf-chats input{font-size:12px!important}.bf-messages .page-head h1{font-size:26px!important}.bf-messages .bf-composer textarea{font-size:16px!important}.bf-composer button{min-height:44px}.bf-bubble button{min-height:36px}
 #root>main:has(.bf-messages){height:100dvh!important;min-height:0;padding-top:calc(76px + env(safe-area-inset-top,0px))!important;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))!important}
}
@media(max-width:360px){.stats article{gap:7px!important;padding:10px!important}.stats article>i{width:25px!important;height:25px!important}.stats b{font-size:18px!important}.stats small{font-size:10px!important}}
/* Shared personal dashboard and recurring schedule controls. */
.bf-dashboard-absence{margin:20px 0 0;max-width:100%}.bf-dashboard-absence-buttons{display:flex;flex-wrap:wrap;gap:12px}.bf-dashboard-absence-buttons button{min-height:44px}@media(max-width:600px){.bf-dashboard-absence-buttons{display:grid;grid-template-columns:1fr}.bf-dashboard-absence-buttons button{width:100%}}
.bf-overtime-value{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.bf-dashboard-pdf{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.bf-dashboard-pdf label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px}.bf-dashboard-pdf input{max-width:100%;min-width:0;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:white}.bf-dashboard-pdf a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px}.bf-dashboard-pdf a[aria-disabled=true]{opacity:.5;pointer-events:none}.bf-pdf-note{display:block;margin-top:12px;line-height:1.4}
.bf-summary-body{padding:20px 24px}.bf-summary-body p{margin:0 0 14px}.bf-vacation-facts{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:0}.bf-vacation-facts dd{margin:0;font-weight:650;text-align:right}.bf-weekly-settings{margin:0 0 20px;gap:14px}.bf-weekly-settings label{display:flex;flex-direction:column;gap:7px}.bf-personal-summary{margin-bottom:20px}
@media(max-width:600px){.bf-summary-body{padding:16px}.bf-vacation-facts{font-size:14px;gap:10px}.bf-weekly-settings{display:grid;grid-template-columns:1fr}.weekly-form .weekly-row{gap:10px}.weekly-form input[type=time]{min-width:0;width:100%}.weekly-form{max-height:72dvh;overflow:auto;overscroll-behavior:contain}}
@media(max-width:700px){
 .time-report-head .time-report-filters>*{grid-column:auto!important}.time-report-head .time-report-filters>.time-month-switch,.time-report-head .time-report-filters>label{grid-column:1/-1!important}.time-report-head .time-month-switch>*{grid-column:auto!important}
 .time-report-head{display:block!important;margin-bottom:16px!important}.time-report-head>div:first-child>p:last-child{display:none}.time-report-head h1{font-size:26px!important;margin-bottom:16px!important}
 .time-report-filters{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px!important;width:100%!important;align-items:end}.time-report-filters>label,.time-month-switch{grid-column:1/-1}
 .time-month-switch{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;gap:8px!important;align-items:end;width:100%}.time-month-switch label{min-width:0;width:100%;font-size:12px!important}.time-month-switch input{width:100%!important;min-width:0!important;height:44px!important;padding:8px!important}.time-month-switch button{width:44px!important;height:44px!important;min-height:44px!important;padding:0!important}
 .time-report-filters>a,.time-report-filters>button{font-size:12px!important;padding:10px 8px!important;min-height:44px!important;margin:0!important;text-align:center;width:100%!important}.time-report-filters>label select{width:100%}
 .time-subnav{display:flex!important;gap:0!important;margin-bottom:14px!important;padding:0!important;overflow:auto}.time-subnav button{flex:1 0 auto;font-size:12px!important;padding:12px 8px!important;white-space:nowrap;min-height:44px}
 .month-end-panel>header{display:block!important;padding:14px!important}.month-end-panel>header h2{font-size:20px!important;line-height:1.25!important;margin:5px 0!important}.month-end-panel>header p{font-size:12px!important;line-height:1.45!important;margin:4px 0!important}.month-end-panel>header .report-download{display:none!important}
 .month-end-table{min-width:0!important}.month-end-row{font-size:13px!important}.month-end-year>header h2{font-size:20px!important}
}
