/* Fieldbook shared application shell. Home defines the desktop/tablet geometry. */
:root {
  --fn-sidebar-width:220px;
  --fn-content-gutter:clamp(20px,2.8vw,40px);
  --fn-control-height:40px;
  --fn-radius:12px;
}

/* Stable desktop origin: one sidebar width plus one content gutter. */
@media (min-width:951px) {
  #main.app {
    padding-left:calc(var(--fn-sidebar-width) + var(--fn-content-gutter))!important;
    padding-right:var(--fn-content-gutter)!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }
  body > #v6Rail.fn-mounted-rail,
  #v6Rail.v6-rail {
    display:flex!important;
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:var(--fn-sidebar-width)!important;
    min-width:var(--fn-sidebar-width)!important;
    max-width:var(--fn-sidebar-width)!important;
    box-sizing:border-box!important;
    padding:20px 10px!important;
    z-index:10020!important;
    background:var(--fb-nav)!important;
    border-right:1px solid var(--fb-edge)!important;
  }
  #v6Rail .v6-railname {white-space:nowrap!important;padding:4px 10px 24px!important;}
  #v6Rail button,
  #v6Rail.fn-mounted-rail button {
    box-sizing:border-box!important;display:block!important;width:100%!important;
    min-height:37px!important;padding:9px 10px!important;margin:1px 0!important;
    font-size:12px!important;line-height:18px!important;white-space:nowrap!important;
    overflow:hidden!important;text-overflow:ellipsis!important;text-align:left!important;
    border:1px solid transparent!important;border-radius:9px!important;box-shadow:none!important;
  }
  #v6Rail button:not(.v6-current):not([aria-current="page"]) {background:transparent!important;}
  #v6Rail button.v6-current,#v6Rail button[aria-current="page"] {
    background:var(--accent-soft,var(--fb-raised))!important;color:var(--fb-ink)!important;border-radius:10px!important;
  }

  /* Shared full-screen workspaces keep the same sidebar origin as Home. */
  :is(#fmOverlay,#fn-admin-pages,#account-panel,#swOverlay,#fn-permissions-page) > .v6-head.fn-shared-workspace-head {
    margin-left:var(--fn-sidebar-width)!important;
    width:calc(100% - var(--fn-sidebar-width))!important;
    padding:12px var(--fn-content-gutter)!important;
    min-height:78px!important;
    box-sizing:border-box!important;
  }
  #fmOverlay:has(> .fn-shared-workspace-head) > :is(.fm-content,.fm-footer) {
    margin-left:var(--fn-sidebar-width)!important;width:calc(100% - var(--fn-sidebar-width))!important;
  }
  #fmOverlay .fm-content,#swOverlay .sw-body {padding-inline:var(--fn-content-gutter)!important;max-width:none!important;}
  #swOverlay > .sw-workspace,.sw-overlay:has(> .fn-shared-workspace-head) > .sw-workspace {
    margin-left:var(--fn-sidebar-width)!important;width:calc(100% - var(--fn-sidebar-width))!important;
  }
  #fn-permissions-page:has(> .fn-shared-workspace-head) > :not(#v6Rail):not(.fn-shared-workspace-head):not(#fb64-atmosphere) {
    margin-left:var(--fn-sidebar-width)!important;max-width:calc(100% - var(--fn-sidebar-width))!important;
  }
}

/* Shared control primitives and ambient-layer safety. */
#main :is(button,input,select,textarea),
:is(#fmOverlay,#swOverlay,#account-panel,#fn-admin-pages) :is(button,input,select,textarea) {box-sizing:border-box;}
#main :is(input,select),#fmOverlay :is(input,select),#fn-admin-pages :is(input,select),#account-panel :is(input,select) {min-height:var(--fn-control-height);}
#main :is(.v6-card,.fb73-card),#account-panel #account-profile,#fn-admin-pages .fn-admin-card {border-radius:var(--fn-radius);}
#fb64-atmosphere,canvas[id*="rain"],canvas[id*="matrix"] {pointer-events:none!important;z-index:0!important;}
#v6Rail,.v6-head,.sw-header,.fm-content,.sw-body,.account-dialog {isolation:isolate;}

/* Site Walk uses the shared shell instead of presenting a second branded app header. */
#swOverlay:has(> .fn-shared-workspace-head) .sw-header :is(.sw-brand,.sw-logo,.fb93-sw-brand) {display:none!important;}
#swOverlay .sw-header {min-height:74px!important;padding-inline:var(--fn-content-gutter)!important;background:transparent!important;border-top:0!important;}
#swOverlay .sw-header h2 {font-size:24px!important;line-height:1.25!important;}

@media (max-width:950px) {
  #main.app {padding-left:clamp(13px,3vw,22px)!important;padding-right:clamp(13px,3vw,22px)!important;}
  body > #v6Rail.fn-mounted-rail,#v6Rail {display:none!important;}
  #swOverlay > .sw-workspace {width:100%!important;margin-left:0!important;}
  #swOverlay .sw-header {padding-inline:14px!important;gap:10px!important;}
  #swOverlay .sw-header h2 {font-size:20px!important;}
  #account-panel .account-dialog {width:100%!important;max-width:none!important;margin:0!important;}
  #fn-admin-pages .fn-admin-content {max-width:none!important;}
  /* Prevent iOS Safari/Chrome from zooming text fields when focused. */
  :is(input,select,textarea) {font-size:16px;}
  button,.fb-dropdown-popover button {min-height:44px;}
}

/* Organized desktop/sidebar destinations; original page handlers are retained. */
#v6Rail .fn-nav-section {display:block;flex:0 0 auto;min-width:0;margin:3px 0;}
#v6Rail .fn-nav-section-head {display:flex;align-items:center;min-width:0;gap:2px;}
#v6Rail .fn-nav-section-head > button:not(.fn-nav-toggle) {min-width:0;flex:1;width:auto!important;}
#v6Rail .fn-nav-section-head .fn-nav-toggle {
  flex:0 0 25px!important;width:25px!important;min-width:25px!important;
  min-height:34px!important;padding:4px 0!important;text-align:center!important;
  font-size:18px!important;color:var(--fb-dim,#a8bbb6)!important;
}
#v6Rail .fn-nav-submenu {padding-left:15px;margin:1px 0 6px 5px;border-left:1px solid var(--fb-edge,#42564e);}
#v6Rail .fn-nav-submenu[hidden] {display:none!important;}
#v6Rail .fn-nav-submenu > button {font-size:11.5px!important;min-height:33px!important;padding:7px 8px!important;}
#v6Rail .fn-nav-section.fn-nav-has-active > .fn-nav-section-head > button:not(.fn-nav-toggle):not(.v6-current) {color:var(--fb-ink,#e5fff3)!important;font-weight:650;}
#v6Rail .fn-nav-section.fn-nav-has-active > .fn-nav-section-head {border-left:2px solid var(--fb-accent,#57df99);border-radius:3px;}
@media(max-width:950px) {#v6Rail .fn-nav-submenu > button {font-size:12px!important;}}

/* Grouped information architecture: one visual system, with original page actions. */
#v6Rail .fn-nav-label {flex:1;padding:9px 8px 7px;color:var(--fb-dim,#aebbb4);font-size:11px;letter-spacing:.075em;text-transform:uppercase;font-weight:750;}
#v6Rail .fn-nav-section-head:has(.fn-nav-label) {min-height:37px;}
#v6Rail .fn-nav-section {margin:3px 0 6px;}
#v6Rail .fn-nav-submenu {margin-left:10px;padding-left:10px;}
#v6Rail .fn-nav-submenu > button {white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#fnFieldActivities {max-width:1150px;margin:24px auto 0;padding:0 8px 55px;color:var(--fb-ink);}
#fnFieldActivities[hidden] {display:none!important;}
#fnFieldActivities .fa-kicker {color:var(--fb-dim);margin-top:6px;}
#fnFieldActivities .fa-cards {display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:16px;margin-top:24px;}
#fnFieldActivities .fa-card {text-align:left;min-height:150px;border:1px solid var(--fb-edge);background:var(--fb-raised);border-radius:var(--fn-radius);padding:22px;display:flex;flex-direction:column;gap:10px;color:var(--fb-ink);cursor:pointer;}
#fnFieldActivities .fa-card:hover {border-color:var(--fb-accent);}
#fnFieldActivities .fa-card strong {font-size:17px;}
#fnFieldActivities .fa-card span {font-size:13px;line-height:1.45;color:var(--fb-dim);}
@media(max-width:950px){#fnFieldActivities {padding:16px 4px 80px;margin:0;}}
/* Unified activities browser */
#fnFieldActivities .fa-titlebar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
#fnFieldActivities .fa-titlebar h1{margin:0}
#fnFieldActivities .fa-actions,#fnFieldActivities .fa-record-actions{display:flex;gap:8px;flex-wrap:wrap}
#fnFieldActivities button{cursor:pointer}
#fnFieldActivities .fa-actions button,#fnFieldActivities .fa-record-actions button,#fnFieldActivities #faRefresh{border:1px solid var(--fb-edge);border-radius:10px;padding:10px 14px;background:var(--fb-raised);color:var(--fb-ink);font:inherit}
#fnFieldActivities .fa-actions .fa-primary{background:var(--fb-accent);color:#08160e;border-color:transparent;font-weight:700}
#fnFieldActivities .fa-summary{display:flex;gap:12px;margin:24px 0}
#fnFieldActivities .fa-summary>div{min-width:145px;display:flex;flex-direction:column;gap:4px;padding:16px 20px;background:var(--fb-raised);border:1px solid var(--fb-edge);border-radius:12px}
#fnFieldActivities .fa-summary strong{font-size:24px}#fnFieldActivities .fa-summary span,#fnFieldActivities .fa-footnote{color:var(--fb-dim);font-size:13px}
#fnFieldActivities .fa-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:22px}
#fnFieldActivities .fa-filters label{display:flex;flex-direction:column;gap:6px;flex:1 1 225px;color:var(--fb-dim);font-size:13px}
#fnFieldActivities .fa-filters input,#fnFieldActivities .fa-filters select{width:100%;min-height:42px;border:1px solid var(--fb-edge);border-radius:10px;padding:8px 12px;background:var(--fb-raised);color:var(--fb-ink);font:inherit}
#fnFieldActivities .fa-list-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}#fnFieldActivities .fa-list-heading h2{font-size:18px}
#fnFieldActivities .fa-list-heading span{color:var(--fb-dim);font-size:13px}
#fnFieldActivities .fa-list{display:flex;flex-direction:column;gap:10px}
#fnFieldActivities .fa-record{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;background:var(--fb-raised);border:1px solid var(--fb-edge);border-radius:12px}
#fnFieldActivities .fa-record-info{display:flex;flex-direction:column;gap:6px;min-width:0}#fnFieldActivities .fa-record-info strong{overflow-wrap:anywhere}#fnFieldActivities .fa-record-info span{color:var(--fb-dim);font-size:13px}
#fnFieldActivities .fa-empty,#fnFieldActivities .fa-error{padding:24px;border:1px dashed var(--fb-edge);border-radius:12px;color:var(--fb-dim)}
#fnFieldActivities .fa-footnote{margin-top:22px;line-height:1.5}
@media(max-width:650px){#fnFieldActivities .fa-record{align-items:stretch;flex-direction:column}#fnFieldActivities .fa-record-actions button{flex:1}#fnFieldActivities .fa-summary>div{flex:1;min-width:0}}

/* Shared Field Activities editor */
#fnFieldActivities .fa-type-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}
#fnFieldActivities .fa-type-tabs button,#fnFieldActivities .fa-form-actions button,#fnFieldActivities #faCancel{border:1px solid var(--fb-edge);border-radius:9px;background:var(--fb-raised);color:var(--fb-ink);padding:10px 14px;font:inherit}
#fnFieldActivities .fa-type-tabs button.fa-selected{border-color:var(--fb-accent);box-shadow:inset 0 -2px var(--fb-accent);font-weight:700}
#fnFieldActivities .fa-editor{border:1px solid var(--fb-edge);border-radius:14px;background:var(--fb-raised);padding:22px;margin:20px 0}
#fnFieldActivities .fa-editor[hidden]{display:none!important}
#fnFieldActivities .fa-form-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:20px}
#fnFieldActivities .fa-form-heading h2{margin:0}
#fnFieldActivities .fa-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#fnFieldActivities .fa-form-grid label{display:flex;flex-direction:column;gap:7px;color:var(--fb-ink);font-size:14px}
#fnFieldActivities .fa-form-grid .fa-wide{grid-column:1/-1}
#fnFieldActivities .fa-form-grid input,#fnFieldActivities .fa-form-grid select,#fnFieldActivities .fa-form-grid textarea{width:100%;min-height:42px;padding:10px 12px;border-radius:9px;border:1px solid var(--fb-edge);background:var(--fb-bg,#101b19);color:var(--fb-ink);font:inherit;box-sizing:border-box}
#fnFieldActivities .fa-form-grid textarea{resize:vertical;line-height:1.5}
#fnFieldActivities .fa-form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
#fnFieldActivities .fa-form-actions .fa-primary{background:var(--fb-accent);color:#06160d;font-weight:700}
#fnFieldActivities .fa-record-info small{font-size:12px;color:var(--fb-accent)}
@media(max-width:650px){#fnFieldActivities .fa-form-grid{grid-template-columns:1fr}#fnFieldActivities .fa-editor{padding:14px}}

/* Shared activity detail panel: same theme tokens as the application shell. */
#fnFieldActivities .fa-details{border-top:1px solid var(--fb-edge);padding-top:20px;margin-top:24px}
#fnFieldActivities .fa-details[hidden],#fnFieldActivities .fa-details [hidden]{display:none!important}
#fnFieldActivities .fa-detail-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin:18px 0 12px}
#fnFieldActivities .fa-detail-head h3{font-size:17px;margin:0 0 4px}
#fnFieldActivities .fa-detail-head p{font-size:13px;color:var(--fb-dim);margin:0;line-height:1.5}
#fnFieldActivities .fa-detail-head span{color:var(--fb-dim);font-size:13px}
#fnFieldActivities .fa-entry-list{display:grid;gap:8px}
#fnFieldActivities .fa-entry{background:var(--fb-bg,#101b19);border:1px solid var(--fb-edge);border-radius:10px;padding:12px}
#fnFieldActivities .fa-entry-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
#fnFieldActivities .fa-entry-head strong{font-size:13px}
#fnFieldActivities .fa-entry-head small{color:var(--fb-dim);margin-right:auto}
#fnFieldActivities .fa-entry-head button{background:transparent;color:var(--fb-dim);border:1px solid var(--fb-edge);border-radius:7px;padding:5px 9px}
#fnFieldActivities .fa-entry p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.5;margin:8px 0 0}
#fnFieldActivities .fa-detail-empty{color:var(--fb-dim);font-size:14px}
#fnFieldActivities .fa-entry-form{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:14px}
#fnFieldActivities .fa-entry-form label{display:flex;flex-direction:column;gap:7px;font-size:13px}
#fnFieldActivities .fa-entry-form select,#fnFieldActivities .fa-entry-form textarea{background:var(--fb-bg,#101b19);color:var(--fb-ink);border:1px solid var(--fb-edge);padding:10px;border-radius:9px;font:inherit;width:100%;box-sizing:border-box}
#fnFieldActivities .fa-entry-form button{border-radius:9px;background:var(--fb-accent);color:#06160d;border:0;padding:11px 14px;font-weight:700}
#fnFieldActivities #faEntryStatus,#fnFieldActivities #faCheckStatus{font-size:13px;color:var(--fb-dim)}
#fnFieldActivities #faSurveyChecks{border-top:1px solid var(--fb-edge);margin-top:24px;padding-top:6px}
#fnFieldActivities .fa-check-group{border:1px solid var(--fb-edge);border-radius:9px;margin:8px 0;padding:10px 12px}
#fnFieldActivities .fa-check-group summary{cursor:pointer;font-weight:600}
#fnFieldActivities .fa-check-item{display:flex;align-items:start;gap:10px;margin:12px 0;font-size:13px;line-height:1.5}
#fnFieldActivities .fa-check-item input{accent-color:var(--fb-accent);margin-top:3px}
@media(max-width:700px){#fnFieldActivities .fa-entry-form{grid-template-columns:1fr}#fnFieldActivities .fa-detail-head{flex-wrap:wrap}}

/* Field Activities Phase 5: attachment list follows the shared form styles. */
#fnFieldActivities .fa-attachments{border-top:1px solid var(--fb-edge);margin-top:18px;padding-top:18px}
#fnFieldActivities .fa-attachment-list{display:grid;gap:8px;margin:12px 0;color:var(--fb-dim)}
#fnFieldActivities .fa-attachment-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--fb-bg,#101b19);border:1px solid var(--fb-edge);border-radius:10px;padding:10px}
#fnFieldActivities .fa-attachment-row span{flex:1;min-width:160px;overflow-wrap:anywhere;color:var(--fb-text,inherit)}
#fnFieldActivities .fa-attachment-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
#fnFieldActivities .fa-attachment-tools input{flex:1;min-width:160px}
#fnFieldActivities .fa-attachment-tools button,#fnFieldActivities .fa-attachment-row button{min-height:36px}

/* Phase 6: linked action items use shared activity spacing and control tokens. */
#fnFieldActivities .fa-action-panel{padding:18px 0;border-bottom:1px solid var(--fb-edge)}
#fnFieldActivities .fa-action-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
#fnFieldActivities .fa-action-form label{display:grid;gap:6px;font-size:13px;min-width:0}
#fnFieldActivities .fa-action-form .fa-wide{grid-column:1/-1}
#fnFieldActivities .fa-action-form input,#fnFieldActivities .fa-action-form select,#fnFieldActivities .fa-action-form textarea{box-sizing:border-box;width:100%;min-width:0;background:var(--fb-bg,#101b19);color:var(--fb-ink);border:1px solid var(--fb-edge);border-radius:9px;padding:10px;font:inherit}
#fnFieldActivities .fa-action-buttons{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
#fnFieldActivities .fa-action-row{display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap}
#fnFieldActivities .fa-action-info{min-width:0;flex:1;display:grid;gap:5px}
#fnFieldActivities .fa-action-info small{color:var(--fb-dim)}
#fnFieldActivities .fa-action-info p{margin:0}
@media(max-width:650px){#fnFieldActivities .fa-action-form{grid-template-columns:1fr}}

/* Phase 8: Field Activities local drafts */
.fa-offline-drafts{margin:16px 0;padding:16px;border:1px solid var(--border,rgba(160,180,170,.22));border-radius:12px;background:rgba(40,65,55,.12)}
.fa-offline-drafts label{display:block;margin:12px 0}.fa-offline-drafts input[type=file]{display:block;max-width:100%;margin-top:8px}.fa-pending-photo{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid rgba(160,180,170,.16)}.fa-offline-drafts .fa-action-buttons{display:flex;flex-wrap:wrap;gap:8px}
