:root{
  --fc-control-min:44px;
  --fc-safe-bottom:max(12px,env(safe-area-inset-bottom));
  --fc-visual-height:100dvh;
  --fc-visual-top:0px;
  --fc-status-bg:#101828;
  --fc-status-fg:#f8fafc;
  --fc-status-muted:#cbd5e1;
  --fc-focus:#2563eb;
}

html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:max(12px,env(safe-area-inset-top));scroll-padding-bottom:calc(var(--fc-enterprise-status-space,0px) + var(--fc-safe-bottom))}
html,body{max-width:100%;overflow-x:hidden;overflow-x:clip}
body{min-height:100svh;min-height:var(--fc-visual-height,100dvh);padding-bottom:var(--fc-enterprise-status-space,0)}
img,video,canvas{max-width:100%;height:auto}
table{max-width:100%}
.table-wrap,.tablewrap,.v304-ledger-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.app,.main,.content,.topbar,.topactions,.titlewrap,.card,.project,.room-card,.v3-room-card{min-width:0}
.topactions{max-width:100%;flex-wrap:wrap;justify-content:flex-end}
button,.btn,input:not([type="hidden"]),select,textarea,[role="button"]{touch-action:manipulation}
input,select,textarea{max-width:100%}
button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role="button"]:focus-visible{
  outline:3px solid color-mix(in srgb,var(--fc-focus) 65%,transparent);
  outline-offset:2px;
}

.fc-enterprise-status{
  position:fixed;z-index:2147483000;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:var(--fc-safe-bottom);
  display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid rgba(255,255,255,.15);border-radius:13px;
  background:color-mix(in srgb,var(--fc-status-bg) 94%,transparent);color:var(--fc-status-fg);box-shadow:0 14px 35px rgba(15,23,42,.28);
  font:700 12px/1.3 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;backdrop-filter:blur(12px);
}
.fc-enterprise-status[hidden]{display:none}
.fc-enterprise-status__dot{width:10px;height:10px;flex:0 0 10px;border-radius:99px;background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.16)}
.fc-enterprise-status[data-state="offline"] .fc-enterprise-status__dot,.fc-enterprise-status[data-state="error"] .fc-enterprise-status__dot{background:#f43f5e;box-shadow:0 0 0 4px rgba(244,63,94,.16)}
.fc-enterprise-status[data-state="syncing"] .fc-enterprise-status__dot,.fc-enterprise-status[data-state="queued"] .fc-enterprise-status__dot{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.18)}
.fc-enterprise-status__copy{min-width:0;flex:1}
.fc-enterprise-status__title{display:block;font-weight:900}
.fc-enterprise-status__detail{display:block;color:var(--fc-status-muted);font-weight:600;overflow-wrap:anywhere}
.fc-enterprise-status__retry{min-height:36px;border:1px solid rgba(255,255,255,.22);border-radius:9px;padding:7px 10px;background:#fff;color:#172033;font:800 12px/1 Inter,ui-sans-serif,system-ui;cursor:pointer}
.fc-enterprise-progress{height:7px;overflow:hidden;border-radius:99px;background:color-mix(in srgb,var(--fc-focus) 12%,#e2e8f0)}
.fc-enterprise-progress>span{display:block;height:100%;width:var(--fc-progress,0%);border-radius:inherit;background:linear-gradient(90deg,#2563eb,#10b981);transition:width .2s ease}

@media(max-width:820px){
  button,.btn,input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea,[role="button"]{min-height:var(--fc-control-min)!important}
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px!important}
  .mobileToggle,.iconbtn,button[aria-label]{min-width:var(--fc-control-min)}
  input[type="checkbox"],input[type="radio"]{min-width:24px;min-height:24px}
  .topbar{align-items:flex-start;flex-wrap:nowrap}
  .topactions{width:calc(100% - 48px);max-width:calc(100vw - 74px);gap:6px}
  .topactions>*{max-width:100%;flex:0 1 auto}
  .searchbtn{width:44px;min-width:44px;padding:0;justify-content:center}
  .content{max-width:100vw}
  .modal-card,.modalbox,.dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px);overflow:auto}
  .modal,.fc-auth-shell{height:var(--fc-visual-height,100dvh);min-height:0;top:var(--fc-visual-top,0px);bottom:auto;padding-top:max(12px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));overflow-y:auto;-webkit-overflow-scrolling:touch}
  .fc-auth-card,.auth{scroll-margin-top:max(12px,env(safe-area-inset-top));scroll-margin-bottom:max(18px,env(safe-area-inset-bottom))}
  .auth .btn,.fc-auth-actions .btn{min-height:48px}
  #fcTurnstile,#employeeTurnstileWidget,#turnstile{max-width:100%;overflow:hidden}
  html.fc-keyboard-open .fc-auth-shell{align-items:flex-start}
  html.fc-keyboard-open .modal{align-items:flex-start}
  html.fc-keyboard-open .fc-enterprise-status{display:none}
  .employee-sidebar{top:max(0px,env(safe-area-inset-top))}
  .v3-scan-actions,.photo-actions,.actions,.row{row-gap:8px}
}

@media(max-width:820px) and (pointer:coarse){
  label{line-height:1.35}
  button,.btn,[role="button"],a[href]{-webkit-tap-highlight-color:rgba(37,99,235,.18)}
}

@media(max-width:520px){
  .topbar{padding-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right))}
  .topbar .titlewrap{display:none}
  .topactions{width:calc(100% - 46px);max-width:calc(100vw - 66px)}
  .topactions .btn,.topactions button{min-width:44px}
  .fc-enterprise-status{align-items:flex-start}
  .fc-enterprise-status__retry{min-height:44px}
}

@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}.fc-enterprise-progress>span{transition:none}}
