/* DEC1143 / DEC029: reference-led presentation from the supplied Collection1,
 * Collection1_profile and Collection2_projects images. Keep real 44px targets,
 * native fields, configured feature artwork and the existing sheet-height owner.
 * No control is hidden, moved to a new workflow or scaled with a transform. */
body.orb-field {
 --field-ui-action:#007ac2;
 --field-ui-blue:#78c5f2;
 --field-reference-sheet:#242426;
 --field-reference-group:#2c2c2e;
 --field-reference-search:#303033;
}
body.orb-field[data-field-theme="light"] {
 --field-ui-action:#007ac2;
 --field-ui-blue:#006fad;
 --field-ui-panel:#fff;
 --field-ui-selected:#e4f2fa;
 --field-reference-sheet:#f0f1f2;
 --field-reference-group:#fff;
 --field-reference-search:#eeeef0;
}

/* Measured chrome is safe-area aware; the fallback shares the header's token.
 * The GPS strip and controls never depend on the obsolete 70px header offset. */
body.orb-field[data-field-theme] #locationBanner {
 top:var(--field-header-bottom,calc(var(--field-header-size,84px) + var(--safe-top,0px)));
 box-sizing:border-box;
 min-height:28px;
 padding:5px 12px;
 text-align:center;
}
body.orb-field[data-field-theme] #locationBanner .loc-text {
 font-family:var(--field-ui-font);
 font-size:12px;
 line-height:17px;
 letter-spacing:0;
 overflow-wrap:anywhere;
}
body.orb-field[data-field-theme] .map-area .map-controls,
body.orb-field[data-field-theme] .map-area.banner-visible .map-controls {
 top:calc(var(--field-map-content-top,var(--field-header-bottom,calc(var(--field-header-size,84px) + var(--safe-top,0px)))) + 16px);
 gap:calc(var(--field-touch-size,44px) - var(--field-map-face,29px) + 4px);
 /* Resizing chrome must not animate controls through the newly exposed GPS text. */
 transition:none;
}
body.orb-field[data-field-theme] #fieldCollectionZoom {
 gap:calc(var(--field-touch-size,44px) - var(--field-map-face,29px) + 4px);
}
body.orb-field[data-field-theme]:not(.field-map-controls-row) .map-area .map-controls {
 left:auto;
 right:max(19.5px,calc(env(safe-area-inset-right) + 7.5px));
 flex-direction:column;
 justify-content:flex-start;
}
body.orb-field[data-field-theme]:not(.field-map-controls-row) .map-controls #fieldCollectionZoom {
 flex-direction:column;
}
body.orb-field[data-field-theme].field-map-controls-row .map-area .map-controls {
 left:auto;
 right:max(19.5px,calc(env(safe-area-inset-right) + 7.5px));
 width:max-content;
 flex-direction:row;
 justify-content:flex-end;
}
body.orb-field[data-field-theme].field-map-controls-row .map-controls #fieldCollectionZoom {
 flex-direction:row;
}
body.orb-field[data-field-theme] #fieldGpsHelp {
 top:calc(var(--field-screen-content-top,calc(var(--field-header-size,84px) + var(--safe-top,0px))) + 8px);
}
body.orb-field[data-field-theme] #fieldPhoneHeadingStatus,
body.orb-field[data-field-theme] .map-area.banner-visible #fieldPhoneHeadingStatus {
 top:calc(var(--field-map-content-top,var(--field-header-bottom,calc(var(--field-header-size,84px) + var(--safe-top,0px)))) + 8px);
}
body.orb-field .top-header #aiBtn #aiIcon {
 width:32px!important;
 height:28px!important;
}
body.orb-field[data-field-theme] #fieldPositionActions:not([hidden]) {
 display:flex;
 flex-wrap:wrap;
 align-items:center;
 gap:4px;
}
body.orb-field[data-field-theme] #fieldPositionActions button {
 min-height:44px!important;
 margin:0;
 padding:7px 9px;
 font-size:12px;
 font-weight:500;
 border-radius:7px;
}

/* Quiet navigation leaves the full-width geometry action as the focal point. */
body.orb-field[data-field-theme] :is(.collection-header,.settings-header) {
 background:var(--field-ui-panel);
}
body.orb-field[data-field-theme] #collectionPanel .collection-header {
 gap:6px;
 padding-inline:12px;
 padding-bottom:6px;
}
body.orb-field[data-field-theme] #collectionPanel .collection-header h3 {
 font-size:16px;
 font-weight:600;
 letter-spacing:-.015em;
}
body.orb-field[data-field-theme] #collectionPanel .collection-header :is(.cancel-btn,.submit-btn) {
 background:transparent!important;
 color:var(--field-ui-blue)!important;
 border-color:transparent!important;
 padding-inline:8px;
 font-size:14px;
 font-weight:500;
 border-radius:7px;
 box-shadow:none;
}
body.orb-field[data-field-theme] #collectionPanel .collection-header .submit-btn {
 font-weight:600;
}
body.orb-field[data-field-theme] #collectionPanel {
 background:var(--field-reference-sheet);
}
body.orb-field[data-field-theme] #collectionPanel .slider-handle {
 background:var(--field-ui-panel);
}
body.orb-field #collectionPanel .feature-info-header {
 gap:10px;
 margin-bottom:10px;
 padding-bottom:10px;
}
body.orb-field #collectionPanel .feature-info-title {
 font-size:15px;
 line-height:1.35;
}
body.orb-field #collectionPanel :is(.feature-info-coords,.field-placement-summary) {
 font-family:var(--field-ui-font);
 font-size:12px;
 line-height:1.4;
}
body.orb-field #collectionPanel .point-action-buttons {
 gap:6px;
 margin-bottom:10px;
}
body.orb-field #collectionPanel .point-action-buttons:has(>#fieldPointCorrections) {
 display:flex;
 align-items:stretch;
}
body.orb-field #collectionPanel .point-action-buttons>#pointActionBtn {
 flex:1;
 min-width:0!important;
}
body.orb-field #collectionPanel .point-action-buttons>#fieldPointCorrections {
 flex:none;
 margin:0;
}
body.orb-field #collectionPanel .point-action-buttons>#fieldPointCorrections button {
 min-width:70px!important;
 min-height:44px!important;
 padding:8px 10px;
}
body.orb-field[data-field-theme] #collectionPanel :is(#pointActionBtn,#vertexActionBtn) {
 min-height:44px!important;
 padding:10px 12px;
 border-radius:7px;
 font-size:14px;
 line-height:1.35;
 font-weight:600;
 box-shadow:none;
}
body.orb-field #collectionPanel #fieldAttachmentsHeading {
 margin:12px 0 6px;
 padding-top:10px;
 font-size:11px;
 font-weight:500;
 letter-spacing:.025em;
}
body.orb-field[data-field-theme] #collectionPanel .collect-action-row {
 background:var(--field-reference-group);
 border:0;
 border-radius:9px;
 margin-bottom:14px;
}
body.orb-field[data-field-theme] #collectionPanel .collect-action-row .collect-action-btn {
 min-height:44px!important;
 gap:7px;
 padding:8px;
 border:0;
 border-radius:0;
 background:transparent;
 color:var(--field-ui-blue);
 font-size:13px;
 font-weight:500;
 line-height:1.35;
}
body.orb-field[data-field-theme] #collectionPanel .collect-action-row .collect-action-btn+button {
 border-left:1px solid var(--field-ui-line);
}
body.orb-field #collectionPanel .collect-action-btn svg {
 width:18px;
 height:18px;
}
body.orb-field #collectionPanel .form-group {
 margin-bottom:14px;
}
body.orb-field #collectionPanel .form-group label {
 padding-inline:2px;
 margin-bottom:6px;
 font-size:11px;
 font-weight:500;
 letter-spacing:.025em;
}
/* Only backgrounds/borders change; native select arrows and 16px input text stay. */
body.orb-field[data-field-theme] #collectionPanel .form-group :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),select,textarea) {
 background-color:var(--field-reference-group)!important;
 border-color:transparent!important;
 border-radius:9px;
 min-height:44px;
 padding:10px 12px;
}
body.orb-field[data-field-theme] #collectionPanel .form-group select {
 padding-right:36px;
}
body.orb-field[data-field-theme] #collectionPanel .form-group [aria-invalid="true"] {
 border-color:var(--error)!important;
}
body.orb-field #collectionPanel :is(.field-vertex-corrections,#fieldPointCorrections) button {
 font-size:13px;
 padding:7px 10px;
 border-radius:7px;
}

/* The profile reference uses grouped rows with a shared surface, not a card
 * around every setting. Adjacent controls and all status messages stay intact. */
body.orb-field[data-field-theme] #settingsPanel .settings-header {
 padding:8px 14px;
}
body.orb-field #settingsPanel .settings-content {
 padding:16px 12px;
}
body.orb-field #settingsPanel .settings-section {
 margin-bottom:24px;
}
body.orb-field #settingsPanel .settings-section-title {
 padding:0 12px;
 margin-bottom:6px;
 font-size:11px;
 font-weight:400;
 letter-spacing:.025em;
}
body.orb-field[data-field-theme] #settingsPanel .setting-row {
 gap:10px;
 min-height:52px;
 box-sizing:border-box;
 margin:0;
 padding:8px 12px;
 border:0;
 border-bottom:1px solid var(--field-ui-line);
 border-radius:0;
 background:var(--field-reference-group);
}
body.orb-field #settingsPanel .settings-section>.setting-row:nth-child(2) {
 border-top-left-radius:12px;
 border-top-right-radius:12px;
}
body.orb-field #settingsPanel .settings-section>.setting-row:last-child {
 border-bottom:0;
 border-bottom-left-radius:12px;
 border-bottom-right-radius:12px;
}
body.orb-field #settingsPanel .setting-label {
 font-size:14px;
 font-weight:400;
}
body.orb-field #settingsPanel :is(.setting-desc,.setting-value) {
 font-size:12px;
 line-height:1.4;
}
body.orb-field #settingsPanel .setting-info {
 min-width:0;
 overflow-wrap:anywhere;
}
body.orb-field[data-field-theme] #settingsPanel .settings-logout-btn {
 padding:8px 10px;
 border:0;
 background:transparent;
 font-size:14px;
 font-weight:400;
}

/* Compact project rows echo the reference's rectangular previews. Object-fit
 * contain preserves uploaded client logos; no configured map symbols change. */
body.orb-field[data-field-theme] #fieldProjects {
 background:var(--field-ui-panel);
}
body.orb-field[data-field-theme] #fieldProjects header {
 padding:8px 12px;
}
body.orb-field[data-field-theme] #fieldProjects h2 {
 font-size:22px;
 font-weight:650;
}
body.orb-field[data-field-theme] #fieldProjects .field-project-content {
 padding-inline:12px;
}
body.orb-field[data-field-theme] #fieldProjects #fieldProjectSearch {
 background:var(--field-reference-search)!important;
 border-color:transparent!important;
 border-radius:9px;
 min-height:44px;
 padding:8px 12px;
}
body.orb-field[data-field-theme] #fieldProjects .field-project-row {
 min-height:60px;
 box-sizing:border-box;
 padding:5px 0;
 gap:6px;
}
body.orb-field[data-field-theme] #fieldProjects .field-project-row>button:first-child {
 gap:10px;
 padding:4px 0;
}
body.orb-field[data-field-theme] #fieldProjects .field-project-thumbnail {
 flex:0 0 60px;
 width:60px;
 height:40px;
 border-radius:4px;
 border:1px solid var(--field-ui-line);
 box-sizing:border-box;
 background:var(--field-reference-group);
 font-size:22px;
}
body.orb-field[data-field-theme] #fieldProjects .field-project-row strong {
 font-size:14px;
 font-weight:500;
 line-height:1.35;
}
body.orb-field[data-field-theme] #fieldProjects .field-project-row small {
 font-size:11px;
 line-height:1.35;
}
body.orb-field[data-field-theme] #fieldProjects .field-project-row>button.field-project-manage {
 padding-inline:6px;
 font-size:12px!important;
}
body.orb-field[data-field-theme] #fieldProjects .field-project-filters {
 gap:6px;
}
body.orb-field[data-field-theme] #fieldProjects .field-project-filters select {
 border-radius:8px;
 padding:6px 8px;
}
/* Native disclosure keeps the first projects within the initial phone viewport.
 * Explicit hidden handling wins over existing flex-based action-row rules. */
body.orb-field[data-field-theme] #fieldProjects .field-project-actions>[hidden] {
 display:none!important;
}
body.orb-field[data-field-theme] #fieldProjects .field-project-controls {
 margin:4px 0 8px;
 border-bottom:1px solid var(--field-ui-line);
}
body.orb-field[data-field-theme] #fieldProjects .field-project-controls>summary {
 min-height:44px;
 box-sizing:border-box;
 padding:12px 2px;
 cursor:pointer;
 color:var(--field-ui-blue);
 font-size:13px;
 font-weight:500;
 line-height:20px;
}
body.orb-field[data-field-theme] #fieldProjects .field-project-controls>summary:focus-visible {
 outline:2px solid var(--field-ui-blue);
 outline-offset:2px;
 border-radius:6px;
}
body.orb-field[data-field-theme] #fieldProjects .field-project-controls[open] {
 padding-bottom:10px;
}
body.orb-field[data-field-theme] #fieldProjects .field-project-controls .field-project-tools {
 margin-top:8px;
}
body.orb-field[data-field-theme] #fieldProjects #fieldDirectoryStatus:empty {
 display:none;
}
body.orb-field[data-field-theme] #fieldProjectWorkspace {
 --fpw-accent:var(--field-ui-blue);
}
body.orb-field[data-field-theme] #fieldProjectWorkspace button.fpw-primary {
 background:var(--field-ui-action)!important;
}

@media(hover:hover) {
 body.orb-field[data-field-theme] #collectionPanel .collection-header :is(.cancel-btn,.submit-btn):hover,
 body.orb-field[data-field-theme] #collectionPanel .collect-action-row .collect-action-btn:hover {
  background:var(--field-ui-hover)!important;
 }
}
@media(prefers-contrast:more) {
 body.orb-field[data-field-theme] #collectionPanel .form-group :is(input,select,textarea) {
  border-color:var(--field-ui-line)!important;
 }
 body.orb-field[data-field-theme] #collectionPanel .form-group [aria-invalid="true"] {
  border-color:var(--error)!important;
 }
}
