:root{
  --navy:#0b2742;--navy-2:#133a5a;--blue:#176ca4;--blue-2:#2b8dcc;--sky:#eaf5fc;
  --surface:#fff;--surface-2:#f6f9fb;--canvas:#eef3f7;--border:#d6e0e7;--border-strong:#b8c8d4;
  --text:#132b3d;--muted:#647b8b;--green:#157849;--green-soft:#e8f7ef;--orange:#c46908;--orange-soft:#fff3df;
  --red:#b93636;--red-soft:#fff0f0;--purple:#6b4ca5;--purple-soft:#f1ecfb;--teal:#147b82;
  --shadow-sm:0 2px 10px rgba(11,39,66,.08);--shadow-md:0 12px 32px rgba(11,39,66,.13);--shadow-lg:0 24px 60px rgba(4,24,40,.24);
  --safe-bottom:env(safe-area-inset-bottom,0px);--radius:16px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--text);font-family:"Segoe UI",Arial,sans-serif;font-size:15px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:11px;padding:.68rem 1rem;font-weight:750;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none!important}.primary{background:linear-gradient(135deg,var(--blue),#115783);color:#fff;box-shadow:0 5px 14px rgba(23,108,164,.18)}.success{background:linear-gradient(135deg,var(--green),#0f623c);color:#fff}.secondary{background:#fff;color:var(--navy);border-color:var(--border)}.danger{background:var(--red-soft);color:var(--red);border-color:#efc7c7}.large{min-height:48px;padding:.8rem 1.35rem}.icon-btn,.icon-only{width:42px;height:42px;padding:0;display:grid;place-items:center;background:#fff;border:1px solid var(--border);color:var(--navy);border-radius:12px}.eyebrow,.section-kicker{font-size:.73rem;font-weight:850;letter-spacing:.08em;color:var(--blue);text-transform:uppercase}.section-kicker{display:block;margin-bottom:.18rem}.app-header{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:rgba(11,39,66,.97);color:#fff;padding:.65rem 1rem;box-shadow:0 4px 18px rgba(4,24,40,.22);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.7rem;min-width:220px}.brand img{width:75px;height:44px;object-fit:contain;background:#fff;border-radius:8px;padding:3px}.brand strong{display:block;font-size:1.1rem}.brand span{display:block;font-size:.73rem;color:#c9d9e5;margin-top:.1rem}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.header-actions .secondary{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.22)}.header-map-btn{display:flex;align-items:center;gap:.4rem}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.38rem .62rem;border-radius:999px;background:rgba(255,255,255,.13);font-size:.72rem;font-weight:750;white-space:nowrap}.badge.online,.badge.secure{background:#16784c}.badge.offline{background:#9b5b0d}.badge.insecure{background:#9a3838}.badge.update{background:#7451a9}.update-banner{position:sticky;top:62px;z-index:58;display:flex;align-items:center;justify-content:center;gap:.6rem;background:#fff4cc;border-bottom:1px solid #e4ca68;padding:.55rem 1rem}.empty-state{min-height:calc(100vh - 64px);display:grid;place-items:center;padding:2rem;background:radial-gradient(circle at 15% 20%,#d8eefb 0,transparent 34%),radial-gradient(circle at 85% 75%,#dceee5 0,transparent 30%),var(--canvas)}.empty-card{max-width:720px;text-align:center;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.9);border-radius:28px;padding:3rem;box-shadow:var(--shadow-lg)}.empty-icon{margin:auto;width:84px;height:84px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,var(--navy),var(--blue));color:#fff;font-size:2.3rem;box-shadow:0 16px 36px rgba(23,108,164,.25)}.empty-card h1{font-size:2rem;margin:1.15rem 0 .55rem}.empty-card p{color:var(--muted);line-height:1.7}.compat-note{background:var(--sky);border:1px solid #cce5f4;padding:.8rem;border-radius:12px}.workspace{display:grid;grid-template-columns:minmax(300px,350px) 1fr;min-height:calc(100vh - 64px)}.task-panel{position:sticky;top:64px;align-self:start;height:calc(100vh - 64px);overflow:auto;background:var(--surface);border-left:1px solid var(--border);padding:1rem;box-shadow:-5px 0 20px rgba(11,39,66,.05)}.panel-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.panel-title-row h2{margin:.15rem 0;font-size:1.25rem}.panel-title-row small{color:var(--muted);line-height:1.45}.filters{display:grid;gap:.55rem;margin:1rem 0}.filters input,.filters select,.form-grid input,.form-grid textarea,.map-toolbar input,.map-toolbar select{width:100%;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);padding:.72rem .78rem;color:var(--text);outline:none}.filters input:focus,.filters select:focus,.form-grid input:focus,.form-grid textarea:focus,.map-toolbar input:focus,.map-toolbar select:focus{border-color:#6eaed4;box-shadow:0 0 0 3px rgba(43,141,204,.12)}.panel-map-shortcut{margin-bottom:.8rem}.map-shortcut{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;text-align:right;gap:.7rem;background:linear-gradient(135deg,#eaf5fc,#eef9f5);border:1px solid #c7e0ed;color:var(--navy);padding:.65rem}.map-shortcut-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--navy);color:#fff;font-size:1.3rem}.map-shortcut strong,.map-shortcut small{display:block}.map-shortcut small{color:var(--muted);font-size:.72rem;margin-top:.12rem}.task-list{display:grid;gap:.62rem}.task-card{width:100%;text-align:right;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:.85rem;box-shadow:var(--shadow-sm);color:var(--text)}.task-card.active{border-color:#4c9ac8;background:linear-gradient(135deg,#f1f9fe,#fff);box-shadow:0 7px 18px rgba(23,108,164,.14)}.task-card .top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.task-card h3{margin:0;font-size:1rem}.task-meta{display:flex;gap:.38rem;flex-wrap:wrap;margin-top:.55rem;color:var(--muted);font-size:.75rem}.pill{display:inline-flex;padding:.22rem .48rem;border-radius:999px;background:#e8eef2;font-size:.7rem;font-weight:760}.pill.critical{background:var(--red-soft);color:var(--red)}.pill.high{background:var(--orange-soft);color:var(--orange)}.pill.not-started{background:#edf1f4}.pill.draft{background:#fff4d7;color:#8a6500}.pill.submitted{background:var(--green-soft);color:var(--green)}.detail-panel{padding:1rem 1.25rem 2rem;min-width:0}.field-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.overview-card{display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto auto;column-gap:.75rem;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:.9rem;box-shadow:var(--shadow-sm)}.overview-icon{grid-row:1/3;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--sky);color:var(--blue);font-size:1.2rem;font-weight:900}.overview-value{font-size:1.55rem;font-weight:900;line-height:1}.overview-label{color:var(--muted);font-size:.77rem}.overview-card.urgent .overview-icon{background:var(--red-soft);color:var(--red)}.overview-card.drafts .overview-icon{background:var(--orange-soft);color:var(--orange)}.overview-card.ready .overview-icon{background:var(--green-soft);color:var(--green)}.no-task{display:grid;place-items:center;min-height:240px;background:var(--surface);border:1px dashed var(--border-strong);border-radius:18px;color:var(--muted);padding:2rem;text-align:center}.task-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;background:linear-gradient(135deg,var(--navy),#164c72);color:#fff;border-radius:20px;padding:1.35rem;box-shadow:var(--shadow-md)}.task-header h1{font-size:1.8rem;margin:.18rem 0}.task-location{color:#d5e5ef;font-size:.88rem}.task-header .eyebrow{color:#95d2f5}.task-header-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.task-header-actions .secondary{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.22)}.task-progress{display:grid;grid-template-columns:minmax(180px,360px) 50px;gap:.6rem;align-items:center;margin-top:.85rem}.task-progress-track{height:9px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden}.task-progress-bar{height:100%;width:0;background:linear-gradient(90deg,#5cc896,#d4f06f);border-radius:999px;transition:width .3s ease}.task-progress-text{font-weight:800}.next-action-card{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#eaf5fc,#f5fbff);border:1px solid #cce4f2;border-radius:15px;padding:.8rem 1rem;margin-top:.8rem}.next-action-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--blue);color:#fff;font-size:1.1rem}.next-action-card small,.next-action-card strong{display:block}.next-action-card small{color:var(--muted);margin-bottom:.12rem}.next-action-card strong{font-size:.98rem}.info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.info-grid article,.description-grid article,.work-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1rem;box-shadow:var(--shadow-sm)}.info-grid article{min-height:84px}.info-grid span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:.28rem}.info-grid strong{font-size:.98rem;word-break:break-word}.description-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.description-grid h3{margin:0 0 .5rem;font-size:1rem}.description-grid p{white-space:pre-wrap;line-height:1.65;margin:0;color:#314b5d}.work-card{margin-top:1rem}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.section-heading h2{margin:.08rem 0 .8rem;font-size:1.2rem}.completion{background:#e6eef5;border-radius:999px;padding:.38rem .78rem;font-weight:850;min-width:62px;text-align:center}.quick-times{display:grid;grid-template-columns:repeat(4,1fr);gap:.62rem}.quick-times button{position:relative;background:#edf6fc;color:var(--navy);border-color:#c8deec;padding-top:1.9rem}.quick-times button:before{position:absolute;top:.45rem;right:50%;transform:translateX(50%);font-size:1rem;opacity:.86}.quick-times button[data-time="arrival_time"]:before{content:"⌖"}.quick-times button[data-time="start_time"]:before{content:"▶"}.quick-times button[data-time="finish_time"]:before{content:"✓"}.quick-times button[data-time="report_time"]:before{content:"◷"}.time-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:.75rem 0}.time-chip{padding:.58rem .65rem;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);text-align:center}.time-chip span{display:block;color:var(--muted);font-size:.72rem}.time-chip strong{font-size:.92rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.82rem}.form-grid label{font-weight:650;color:#314b5d;font-size:.88rem}.form-grid label.full{grid-column:1/-1}.form-grid textarea{resize:vertical;min-height:80px;line-height:1.55}.save-bar{position:sticky;bottom:1rem;z-index:12;background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:15px;margin-top:1rem;padding:.82rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 -4px 22px rgba(11,39,66,.13);backdrop-filter:blur(8px)}.save-bar span{color:var(--muted);font-size:.82rem}.save-bar>div{display:flex;gap:.55rem;flex-shrink:0}

/* Professional photo workspace */
.photo-workspace{padding:1.15rem}.photo-section-heading p{margin:.2rem 0 0;color:var(--muted);line-height:1.5}.photo-summary-pill{min-width:76px;height:76px;border-radius:22px;background:linear-gradient(145deg,var(--navy),var(--blue));display:grid;place-items:center;color:#fff;box-shadow:0 10px 24px rgba(23,108,164,.22)}.photo-summary-pill span{font-size:1.55rem;font-weight:900;line-height:1}.photo-summary-pill small{font-size:.67rem}.photo-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1rem}.photo-stage{border:1px solid var(--border);border-radius:18px;padding:.9rem;background:linear-gradient(160deg,#fff,var(--surface-2));position:relative;overflow:hidden}.photo-stage:after{content:"";position:absolute;inset-inline-start:-20px;bottom:-28px;width:100px;height:100px;border-radius:50%;background:rgba(23,108,164,.05)}.photo-stage.before-stage{border-top:4px solid #2e85bd}.photo-stage.during-stage{border-top:4px solid #d67a13}.photo-stage.after-stage{border-top:4px solid #21875a}.photo-stage.signature-stage{border-top:4px solid #7655ae}.stage-top{position:relative;z-index:1;display:grid;grid-template-columns:44px 1fr auto;gap:.7rem;align-items:center}.stage-icon{width:42px;height:42px;border-radius:13px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900}.before-stage .stage-icon{background:#247bac}.during-stage .stage-icon{background:#c96e08}.after-stage .stage-icon{background:#16794c}.signature-stage .stage-icon{background:#6d4ba6}.stage-top h3{margin:0;font-size:1rem}.stage-top p{margin:.15rem 0 0;color:var(--muted);font-size:.74rem;line-height:1.35}.stage-count{min-width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#e9f0f4;font-weight:900}.stage-actions{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:.55rem;margin-top:.8rem}.stage-actions.single{grid-template-columns:1fr}.stage-actions button{min-height:44px;display:flex;align-items:center;justify-content:center;gap:.4rem}.camera-action{background:var(--navy);color:#fff}.gallery-action{background:#fff;border-color:var(--border);color:var(--navy)}.signature-action{background:linear-gradient(135deg,#6e4ca8,#8b6bc1);color:#fff}.stage-status{position:relative;z-index:1;margin-top:.62rem;padding:.48rem .58rem;border-radius:10px;background:var(--red-soft);color:var(--red);font-size:.73rem;font-weight:700}.stage-status.done{background:var(--green-soft);color:var(--green)}.stage-status.optional{background:#eef2f5;color:var(--muted)}.photo-library-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--border)}.photo-library-header h3{margin:0}.photo-library-header span{display:block;color:var(--muted);font-size:.76rem;margin-top:.18rem}.photo-view-switch{display:flex;background:var(--surface-2);border:1px solid var(--border);border-radius:11px;padding:3px}.photo-view-switch button{width:37px;height:34px;padding:0;background:transparent;color:var(--muted)}.photo-view-switch button.active{background:#fff;color:var(--blue);box-shadow:var(--shadow-sm)}.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.82rem;margin-top:.8rem}.photo-group{grid-column:1/-1}.photo-group-title{display:flex;align-items:center;justify-content:space-between;margin:.4rem 0 .55rem;padding:.45rem .1rem;border-bottom:1px solid var(--border)}.photo-group-title h4{margin:0}.photo-group-title span{color:var(--muted);font-size:.76rem}.photo-group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.82rem}.photo-card{position:relative;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease}.photo-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.photo-card-media{position:relative;aspect-ratio:4/3;background:#e9eef2;overflow:hidden}.photo-card img{width:100%;height:100%;object-fit:cover;display:block}.photo-type-badge{position:absolute;top:.5rem;right:.5rem;border-radius:999px;padding:.28rem .5rem;background:rgba(11,39,66,.86);color:#fff;font-size:.68rem;font-weight:800;backdrop-filter:blur(5px)}.photo-gps-badge{position:absolute;bottom:.5rem;left:.5rem;border-radius:999px;padding:.25rem .45rem;background:rgba(255,255,255,.9);color:var(--green);font-size:.65rem;font-weight:800}.photo-card-body{padding:.7rem}.photo-file-name{font-weight:780;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-meta-row{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.4rem;color:var(--muted);font-size:.68rem}.photo-caption-input{width:100%;margin-top:.55rem;border:1px solid var(--border);border-radius:9px;padding:.45rem .55rem;background:var(--surface-2);font-size:.73rem}.photo-card-actions{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border)}.photo-card-actions button{border:0;border-radius:0;background:#fff;color:var(--blue);padding:.52rem}.photo-card-actions .delete-photo{color:var(--red);border-right:1px solid var(--border)}.photo-empty{grid-column:1/-1;display:grid;place-items:center;min-height:110px;border:1px dashed var(--border-strong);border-radius:14px;color:var(--muted);background:var(--surface-2);text-align:center;padding:1rem}.photo-gallery.list-view .photo-group-grid{grid-template-columns:1fr}.photo-gallery.list-view .photo-card{display:grid;grid-template-columns:145px 1fr}.photo-gallery.list-view .photo-card-media{aspect-ratio:auto;height:130px}.photo-gallery.list-view .photo-card-actions{grid-column:1/-1}.photo-viewer-dialog{max-width:980px}.photo-viewer-body{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:1rem;margin-top:.8rem}.photo-viewer-body img{width:100%;max-height:68vh;object-fit:contain;background:#0b1721;border-radius:14px}.photo-viewer-meta{display:grid;align-content:start;gap:.6rem}.photo-viewer-meta article{padding:.65rem;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.photo-viewer-meta span{display:block;color:var(--muted);font-size:.72rem}.photo-viewer-meta strong{display:block;margin-top:.2rem;word-break:break-word}.dialog-note{color:var(--muted)}

/* Field asset map */
.map-panel{display:grid;gap:.85rem}.map-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,#0b2742,#176ca4);color:#fff;border-radius:21px;padding:1.25rem;box-shadow:var(--shadow-md)}.map-hero h1{margin:.18rem 0 .25rem}.map-hero p{margin:0;color:#d4e5ef}.map-hero .eyebrow{color:#94d1f2}.map-hero-stats{display:flex;gap:.55rem}.map-hero-stats article{min-width:92px;text-align:center;padding:.7rem;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.09)}.map-hero-stats span{display:block;font-size:1.25rem;font-weight:900}.map-hero-stats small{font-size:.68rem;color:#d8e8f1}.map-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 190px 145px auto;gap:.55rem;background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:.7rem;box-shadow:var(--shadow-sm)}.map-search-wrap{position:relative}.map-search-wrap>span{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--muted)}.map-search-wrap input{padding-right:2.1rem}.switch-control{display:flex;align-items:center;gap:.45rem;white-space:nowrap;color:var(--muted);font-size:.8rem;padding:0 .35rem}.switch-control input{display:none}.switch-control span{width:40px;height:23px;background:#cbd6dd;border-radius:999px;position:relative;transition:.2s}.switch-control span:after{content:"";position:absolute;width:17px;height:17px;right:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.22);transition:.2s}.switch-control input:checked+span{background:var(--blue)}.switch-control input:checked+span:after{right:20px}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:.8rem}.map-stage-card,.nearby-panel{background:var(--surface);border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow-sm);overflow:hidden}.field-map{position:relative;height:min(62vh,650px);min-height:430px;overflow:hidden;background:#dbe6ec;touch-action:none;cursor:grab;outline:none}.field-map.dragging{cursor:grabbing}.map-tile-pane,.map-marker-pane,.map-grid-overlay{position:absolute;inset:0}.map-tile-pane{overflow:hidden}.map-tile{position:absolute;width:256px;height:256px;object-fit:cover;user-select:none;-webkit-user-drag:none}.map-grid-overlay{pointer-events:none;background-image:linear-gradient(rgba(11,39,66,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(11,39,66,.05) 1px,transparent 1px);background-size:40px 40px}.map-marker-pane{pointer-events:none}.asset-marker,.user-marker{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;border:0;padding:0;background:transparent;box-shadow:none}.asset-marker:hover{transform:translate(-50%,-100%) scale(1.08)}.marker-pin{width:34px;height:42px;border-radius:18px 18px 18px 4px;transform:rotate(-45deg);display:grid;place-items:center;background:#297fb4;border:3px solid #fff;box-shadow:0 5px 14px rgba(4,24,40,.3)}.marker-pin span{transform:rotate(45deg);font-size:.8rem;color:#fff;font-weight:900}.asset-marker.open .marker-pin{background:var(--orange)}.asset-marker.urgent .marker-pin{background:var(--red)}.asset-marker.closed .marker-pin{background:var(--green)}.asset-marker.selected .marker-pin{outline:4px solid rgba(43,141,204,.3);transform:rotate(-45deg) scale(1.12)}.marker-label{position:absolute;right:38px;top:5px;transform:none;min-width:max-content;max-width:180px;background:rgba(255,255,255,.94);border:1px solid var(--border);border-radius:8px;padding:.23rem .4rem;color:var(--text);font-size:.66rem;font-weight:750;box-shadow:var(--shadow-sm)}.user-marker{transform:translate(-50%,-50%)}.user-marker-core{width:22px;height:22px;border-radius:50%;background:#1679c4;border:4px solid #fff;box-shadow:0 0 0 10px rgba(22,121,196,.18),0 4px 12px rgba(0,0,0,.25)}.user-accuracy{position:absolute;border:2px solid rgba(22,121,196,.35);background:rgba(22,121,196,.08);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.map-controls{position:absolute;left:.7rem;top:.7rem;display:grid;gap:.35rem;z-index:5}.map-controls button{width:42px;height:42px;padding:0;border-radius:12px;background:rgba(255,255,255,.95);border:1px solid var(--border);color:var(--navy);font-size:1.2rem;box-shadow:var(--shadow-sm)}.map-offline-notice{position:absolute;top:.7rem;right:50%;transform:translateX(50%);z-index:4;background:rgba(11,39,66,.88);color:#fff;border-radius:999px;padding:.45rem .75rem;font-size:.72rem}.map-attribution{position:absolute;bottom:4px;left:5px;z-index:3;background:rgba(255,255,255,.8);padding:2px 5px;font-size:.58rem;color:#3c5668}.map-status-row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.7rem}.location-status{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.8rem}.status-dot{width:10px;height:10px;border-radius:50%;background:#abb9c2}.location-status.active .status-dot{background:var(--green);box-shadow:0 0 0 5px rgba(21,120,73,.12)}.nearby-panel{display:flex;flex-direction:column;max-height:calc(min(62vh,650px) + 58px)}.nearby-heading{display:flex;align-items:center;justify-content:space-between;padding:.85rem;border-bottom:1px solid var(--border)}.nearby-heading h2{margin:0;font-size:1.05rem}.nearby-heading small{color:var(--muted)}.selected-asset-card{margin:.7rem .7rem 0;padding:.8rem;border-radius:14px;background:linear-gradient(135deg,#eaf5fc,#f6fbfe);border:1px solid #c7e1ef}.selected-asset-card h3{margin:.1rem 0}.selected-asset-card .asset-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.65rem}.selected-asset-card .asset-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.5rem}.selected-asset-card .asset-detail-grid div{background:rgba(255,255,255,.7);padding:.4rem;border-radius:8px}.selected-asset-card span{display:block;color:var(--muted);font-size:.67rem}.selected-asset-card strong{font-size:.78rem}.nearby-list{overflow:auto;padding:.7rem;display:grid;gap:.5rem}.nearby-item{width:100%;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:.6rem;text-align:right;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:.58rem}.nearby-item:hover,.nearby-item.active{border-color:#62a4ca;background:#f1f9fd}.nearby-icon{width:38px;height:38px;border-radius:11px;background:var(--sky);display:grid;place-items:center;color:var(--blue);font-weight:900}.nearby-item h4{margin:0;font-size:.84rem}.nearby-item small{display:block;color:var(--muted);margin-top:.12rem}.nearby-distance{font-size:.73rem;color:var(--blue);font-weight:850}.nearby-empty{padding:1.5rem;text-align:center;color:var(--muted)}

.floating-camera{display:none;position:fixed;left:1rem;bottom:calc(82px + var(--safe-bottom));z-index:52;width:60px;height:60px;border-radius:20px;padding:0;background:linear-gradient(145deg,var(--blue),#15558a);color:#fff;font-size:1.45rem;box-shadow:0 12px 30px rgba(20,89,139,.35)}.mobile-nav{display:none;position:fixed;right:0;left:0;bottom:0;z-index:50;background:rgba(255,255,255,.97);border-top:1px solid var(--border);padding:.35rem .35rem calc(.35rem + var(--safe-bottom));box-shadow:0 -8px 30px rgba(11,39,66,.13);backdrop-filter:blur(12px)}.mobile-nav button{flex:1;background:transparent;color:var(--muted);border:0;padding:.38rem .12rem;font-size:.66rem;display:grid;gap:.12rem;place-items:center}.mobile-nav button .nav-icon{font-size:1.18rem;line-height:1}.mobile-nav button.active{color:var(--blue);background:var(--sky)}.toast{position:fixed;left:1rem;bottom:1rem;max-width:min(440px,calc(100vw - 2rem));background:#152b3c;color:#fff;padding:.85rem 1.2rem;border-radius:12px;z-index:80;box-shadow:0 8px 28px rgba(0,0,0,.28)}

dialog{border:0;border-radius:20px;max-width:960px;width:92vw;padding:1.1rem;background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg)}dialog::backdrop{background:rgba(3,17,29,.7);backdrop-filter:blur(3px)}.dialog-header,.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.dialog-header h2{margin:.2rem}.dialog-header small{color:var(--muted)}.dialog-actions{justify-content:flex-start;gap:.6rem;margin-top:.8rem}#signatureCanvas{width:100%;height:360px;border:2px dashed #8095a6;background:#fff;touch-action:none;border-radius:12px}.info-dialog{max-width:860px}.diagnostic-box{direction:ltr;text-align:left;white-space:pre-wrap;word-break:break-word;background:#f5f7f9;border:1px solid var(--border);padding:1rem;border-radius:10px;max-height:45vh;overflow:auto;color:#273b4b}.status-list{display:grid;gap:.55rem;margin:1rem 0}.status-list>div{display:grid;grid-template-columns:minmax(160px,220px) 1fr;gap:1rem;padding:.7rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.status-list span{word-break:break-word}.mobile-install-grid{display:grid;grid-template-columns:1fr 260px;gap:1rem;align-items:start}.qr-panel{display:grid;gap:.5rem;place-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:1rem}.qr-panel img{width:230px;max-width:100%;aspect-ratio:1;background:#fff;border:1px solid var(--border);object-fit:contain}.url-box{display:flex;align-items:center;gap:.5rem;background:#eef4f8;border:1px solid var(--border);border-radius:10px;padding:.58rem}.url-box code{direction:ltr;text-align:left;flex:1;overflow:auto}.warning-note{background:#fff4cd;border:1px solid #ead587;border-radius:10px;padding:.75rem;line-height:1.5}code{direction:ltr;unicode-bidi:isolate}

body[data-theme="dark"]{--surface:#172635;--surface-2:#1e3040;--canvas:#0d1924;--border:#304658;--border-strong:#456074;--text:#eef6fb;--muted:#a6bac8;--sky:#19384e;--shadow-sm:0 2px 10px rgba(0,0,0,.18);--shadow-md:0 10px 30px rgba(0,0,0,.28)}body[data-theme="dark"] .empty-card{background:rgba(23,38,53,.94)}body[data-theme="dark"] .filters input,body[data-theme="dark"] .filters select,body[data-theme="dark"] .form-grid input,body[data-theme="dark"] .form-grid textarea,body[data-theme="dark"] .map-toolbar input,body[data-theme="dark"] .map-toolbar select{color:var(--text)}body[data-theme="dark"] .task-card.active{background:linear-gradient(135deg,#17364a,#172635)}body[data-theme="dark"] .description-grid p,body[data-theme="dark"] .form-grid label{color:#c9d8e2}body[data-theme="dark"] .secondary,body[data-theme="dark"] .gallery-action,body[data-theme="dark"] .photo-card-actions button{background:#223748;color:#eaf4fa}body[data-theme="dark"] .save-bar{background:rgba(23,38,53,.96)}body[data-theme="dark"] .photo-stage{background:linear-gradient(160deg,#172635,#1e3040)}body[data-theme="dark"] .marker-label{background:rgba(23,38,53,.95)}

@media(max-width:1180px){.field-overview{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:repeat(2,1fr)}.map-layout{grid-template-columns:1fr}.nearby-panel{max-height:430px}.map-toolbar{grid-template-columns:1fr 1fr}.switch-control{min-height:42px}.photo-stage-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){body:not(.has-package){padding-bottom:0}body:not(.has-package) .mobile-nav,body:not(.has-package) .floating-camera{display:none}body{padding-bottom:calc(68px + var(--safe-bottom))}.app-header{position:relative;align-items:flex-start;padding:.65rem .72rem}.brand{min-width:0}.brand img{width:65px;height:38px}.brand strong{font-size:1rem}.brand span{font-size:.68rem}.header-actions{gap:.3rem}.header-actions .secondary:not(#themeBtn):not(.header-map-btn){display:none}.header-actions .header-map-btn{font-size:.72rem;padding:.45rem .55rem}.header-actions .badge{font-size:.66rem;padding:.3rem .48rem}.header-actions #versionBadge{display:inline-flex}.header-actions button{min-height:36px;padding:.45rem .6rem;font-size:.75rem}.update-banner{top:0;position:relative;flex-wrap:wrap}.workspace{display:block;min-height:auto}.task-panel{position:relative;top:auto;height:auto;max-height:none;border:0;box-shadow:none;padding:.75rem}.detail-panel{padding:.75rem}.field-overview{margin-top:.15rem}.task-header{display:block;border-radius:17px;padding:1.1rem}.task-header-actions{margin-top:.9rem}.task-header-actions button{flex:1}.description-grid{grid-template-columns:1fr}.quick-times{grid-template-columns:1fr 1fr}.save-bar{bottom:calc(72px + var(--safe-bottom));display:block}.save-bar>div{display:grid;grid-template-columns:1fr 1fr;margin-top:.7rem}.mobile-nav{display:flex}.floating-camera{display:grid;place-items:center}.toast{bottom:calc(80px + var(--safe-bottom))}.photo-stage-grid{grid-template-columns:1fr}.map-hero{display:block}.map-hero-stats{margin-top:.8rem}.map-toolbar{grid-template-columns:1fr 1fr}.map-search-wrap{grid-column:1/-1}.field-map{min-height:58vh;height:58vh}.map-layout{grid-template-columns:1fr}.nearby-panel{max-height:none}.photo-viewer-body{grid-template-columns:1fr}body.mobile-focus-list .detail-panel{display:none}body.mobile-focus-list .task-panel{display:block}body.mobile-focus-detail .task-panel{display:none}body.mobile-focus-detail .detail-panel{display:block}body.mobile-focus-map .task-panel{display:none}body.mobile-focus-map .detail-panel{display:block}body.mobile-focus-map #fieldOverview,body.mobile-focus-map #noTask,body.mobile-focus-map #taskDetail{display:none!important}body.mobile-focus-map #mapPanel{display:grid!important}}
@media(max-width:620px){.field-overview{grid-template-columns:repeat(2,1fr);gap:.55rem}.overview-card{padding:.75rem}.overview-card .overview-value{font-size:1.35rem}.overview-card .overview-icon{width:34px;height:34px}.info-grid,.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.time-summary{grid-template-columns:repeat(2,1fr)}.empty-card{padding:2rem 1.15rem}.mobile-install-grid{grid-template-columns:1fr}.qr-panel{order:-1}.status-list>div{grid-template-columns:1fr}.task-progress{grid-template-columns:1fr}.task-progress-text{text-align:left}.header-actions #securityBadge{display:none}.map-toolbar{grid-template-columns:1fr}.map-search-wrap{grid-column:auto}.map-hero-stats{display:grid;grid-template-columns:repeat(3,1fr)}.map-hero-stats article{min-width:0;padding:.55rem .25rem}.field-map{min-height:54vh;height:54vh}.map-status-row{align-items:stretch;flex-direction:column}.map-status-row button{width:100%}.photo-gallery,.photo-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-card-body{padding:.55rem}.photo-file-name{font-size:.75rem}.photo-gallery.list-view .photo-card{grid-template-columns:115px 1fr}.photo-gallery.list-view .photo-card-media{height:120px}.stage-actions{grid-template-columns:1fr}.photo-view-switch{display:none}}
@media(max-width:400px){.quick-times{grid-template-columns:1fr}.field-overview{grid-template-columns:1fr 1fr}.photo-gallery,.photo-group-grid{grid-template-columns:1fr}.save-bar>div{grid-template-columns:1fr}.map-hero-stats{grid-template-columns:1fr 1fr 1fr}.header-map-btn{display:none!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* Sprint 19C.6 - Professional field visual system */
.map-toolbar{grid-template-columns:minmax(240px,1.5fr) minmax(150px,.7fr) minmax(130px,.55fr) auto;align-items:center}
.map-mode-switch{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:14px;background:#e8eff4;border:1px solid var(--border)}
.map-mode-switch button{min-height:42px;border:0;background:transparent;color:var(--muted);box-shadow:none;display:flex;align-items:center;justify-content:center;gap:.45rem}
.map-mode-switch button.active{background:var(--surface);color:var(--navy);box-shadow:0 4px 14px rgba(11,39,66,.12)}
.map-mode-switch button span{font-size:1.1rem}.map-settings-btn{min-height:42px;display:flex;align-items:center;justify-content:center;gap:.45rem}
.google-map-canvas,.fallback-map-canvas{position:absolute;inset:0}.google-map-canvas{z-index:1}.fallback-map-canvas{z-index:0;overflow:hidden}.field-map.google-active .google-map-canvas{display:block!important}.field-map.google-active .fallback-map-canvas{display:none}.map-provider-badge{position:absolute;z-index:8;top:.7rem;right:.7rem;background:rgba(11,39,66,.88);color:#fff;border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:.35rem .65rem;font-size:.68rem;font-weight:800;backdrop-filter:blur(8px)}
.map-settings-content{display:grid;gap:.8rem;margin:1rem 0}.map-settings-content label span,.map-settings-content label small{display:block}.map-settings-content label span{font-weight:800;margin-bottom:.35rem}.map-settings-content label small{color:var(--muted);margin-top:.35rem;line-height:1.45}.map-settings-content input{width:100%;direction:ltr;text-align:left;border:1px solid var(--border);border-radius:11px;padding:.8rem;background:var(--surface-2);color:var(--text)}.map-key-status{padding:.75rem;border-radius:11px;background:var(--orange-soft);color:var(--orange);font-weight:800}.map-key-status.ready{background:var(--green-soft);color:var(--green)}.map-security-note{padding:.8rem;border-radius:12px;background:var(--sky);border:1px solid #c9e2f1;line-height:1.55}
.photo-professional-banner{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:.8rem;margin-top:.9rem;padding:.95rem 1rem;border-radius:18px;background:linear-gradient(135deg,#0b2742,#176ca4);color:#fff;box-shadow:0 12px 28px rgba(11,39,66,.2)}.photo-banner-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.14);font-size:1.4rem}.photo-professional-banner strong,.photo-professional-banner span{display:block}.photo-professional-banner strong{font-size:1.08rem}.photo-professional-banner span{margin-top:.15rem;color:#d7e8f3;font-size:.76rem}.photo-readiness{min-width:74px;text-align:center;padding:.45rem .65rem;border-radius:13px;background:rgba(255,255,255,.13)}.photo-readiness span{font-size:1.25rem;font-weight:900;color:#fff}.photo-readiness small{font-size:.64rem;color:#d7e8f3}
.photo-checklist{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:.45rem;margin:.75rem 0;padding:.7rem .85rem;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.photo-checklist>div{display:grid;grid-template-columns:30px 1fr;column-gap:.45rem;align-items:center;min-width:100px}.photo-checklist>div>span{grid-row:1/3;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e7eef4;color:var(--muted);font-weight:900}.photo-checklist>div strong{font-size:.78rem}.photo-checklist>div small{color:var(--muted);font-size:.63rem}.photo-checklist>div.done>span{background:var(--green);color:#fff}.photo-checklist>div.done strong{color:var(--green)}.photo-checklist>i{height:2px;background:var(--border);border-radius:999px}.photo-checklist>i.done{background:var(--green)}
.photo-stage{padding:1rem;border-radius:20px;box-shadow:0 8px 20px rgba(11,39,66,.07)}.photo-stage:hover{border-color:#a8c4d5;box-shadow:0 12px 28px rgba(11,39,66,.11)}.stage-top{grid-template-columns:50px 1fr auto}.stage-icon{width:48px;height:48px;border-radius:15px}.stage-count{min-width:40px;height:40px;border-radius:14px;font-size:1rem}.pro-photo-action{min-height:62px!important;padding:.55rem .65rem!important;border-radius:14px!important;text-align:right!important;justify-content:flex-start!important;gap:.65rem!important}.photo-action-icon{flex:0 0 42px;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:1.2rem}.gallery-action .photo-action-icon{background:var(--sky);color:var(--blue)}.photo-action-copy{display:block;min-width:0;flex:1}.photo-action-copy strong,.photo-action-copy small{display:block}.photo-action-copy strong{font-size:.84rem}.photo-action-copy small{font-size:.64rem;font-weight:600;opacity:.8;margin-top:.1rem}.photo-action-arrow{font-size:1rem;opacity:.7}.photo-card{border-radius:19px}.photo-card-media{aspect-ratio:16/11}.photo-card-actions button{min-height:42px;font-weight:800}.photo-empty{min-height:135px;background:linear-gradient(145deg,var(--surface-2),var(--surface));border-width:2px}
body[data-theme="dark"] .map-mode-switch{background:#142534}body[data-theme="dark"] .map-mode-switch button.active{background:#263d50;color:#fff}body[data-theme="dark"] .photo-checklist{background:var(--surface)}body[data-theme="dark"] .map-settings-content input{background:#1e3040}
@media(max-width:900px){.map-mode-switch{grid-template-columns:1fr}.photo-checklist{grid-template-columns:repeat(4,1fr);gap:.35rem}.photo-checklist>i{display:none}.photo-checklist>div{min-width:0;grid-template-columns:1fr;text-align:center}.photo-checklist>div>span{grid-row:auto;margin:auto}.photo-professional-banner{grid-template-columns:46px 1fr auto}.photo-banner-icon{width:44px;height:44px}}
@media(max-width:520px){.photo-professional-banner{grid-template-columns:42px 1fr}.photo-readiness{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:.35rem}.photo-stage{padding:.8rem}.pro-photo-action{min-height:58px!important}.map-mode-switch button{font-size:.72rem}}


/* 19C.6.4 - selected asset Google Static Map (no iframe / no JS SDK) */
.google-map-canvas{background:#dbe6ec;overflow:hidden}.google-map-canvas>div{width:100%!important;height:100%!important}.field-map.google-active{touch-action:none}.field-map.google-active .map-controls{display:flex;flex-direction:column}.field-map.google-active .map-controls button{backdrop-filter:blur(8px)}

/* 19C.6.7 - assets without coordinates remain visible in the field list */
.nearby-item.no-location{border-style:dashed;background:linear-gradient(135deg,var(--surface),#f7f8f9)}
.nearby-item.no-location .nearby-icon{background:#eef1f3;color:#6f7f89}
.nearby-item.no-location .nearby-distance{color:#8a5a23}
.selected-asset-card button:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.35)}


/* Sprint 19D.1 - secure field users and assignment */
.user-badge{background:#0d6b56!important;color:#fff!important;border-color:rgba(255,255,255,.25)!important}
.field-login-dialog{border:0;padding:0;background:transparent;max-width:min(92vw,460px);width:100%}
.field-login-dialog::backdrop{background:rgba(7,24,39,.82);backdrop-filter:blur(8px)}
.login-card{background:#fff;border-radius:26px;padding:28px;box-shadow:0 28px 80px rgba(0,0,0,.34);display:grid;gap:14px;text-align:right}
.login-card h2{margin:0;font-size:28px;color:#12364f}.login-card p{margin:0;color:#607589;line-height:1.6}
.login-card label{display:grid;gap:7px;font-weight:800;color:#29465a}.login-card input{min-height:52px;border:1px solid #c9d8e3;border-radius:14px;padding:0 15px;font-size:18px;text-align:right;background:#f8fbfd}
.login-card input[type=password]{text-align:center;letter-spacing:.35em;font-size:24px}.login-shield{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,#123b63,#1880b8);color:#fff;font-size:30px;box-shadow:0 14px 35px rgba(22,108,164,.28)}
.login-message{min-height:24px;color:#a12d2d;font-weight:700}.login-message.ok{color:#0d6b56}
@media(max-width:700px){.login-card{border-radius:22px;padding:22px}.login-card h2{font-size:24px}.user-badge{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}


/* Sprint 19D.2 - road sections and chainage layers */
.map-hero-stats{grid-template-columns:repeat(4,minmax(105px,1fr))}
.road-layer-controls{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(2,minmax(145px,.65fr)) repeat(2,minmax(165px,.75fr));gap:.55rem;align-items:stretch;padding:.65rem;border:1px solid var(--border);border-radius:15px;background:linear-gradient(135deg,var(--surface),var(--surface-2))}
.road-layer-title{display:flex;flex-direction:column;justify-content:center;padding:.15rem .35rem}.road-layer-title strong{color:var(--navy);font-size:.92rem}.road-layer-title small{color:var(--muted);font-size:.68rem;margin-top:.12rem}
.layer-toggle{display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:44px;padding:.55rem .7rem;border-radius:12px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-size:.79rem}.layer-toggle input{position:absolute;opacity:0;pointer-events:none}.layer-toggle>span{width:28px;height:17px;border-radius:999px;background:#b8c7d1;position:relative;transition:.2s}.layer-toggle>span:after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:#fff;top:2px;right:2px;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:.2s}.layer-toggle input:checked+span{background:#1684bd}.layer-toggle input:checked+span:after{transform:translateX(-11px)}.layer-toggle.section-layer input:checked~b{color:#bf3f32}.layer-toggle.km-layer input:checked~b{color:#086d9d}
.layer-radius{display:grid;grid-template-columns:1fr;gap:.2rem;align-content:center}.layer-radius>span{font-size:.66rem;color:var(--muted);font-weight:700}.layer-radius select{min-height:36px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);padding:.3rem .55rem}
.road-section-marker,.road-km-marker{position:absolute;transform:translate(-50%,-50%);z-index:4;pointer-events:none;white-space:nowrap}.road-section-marker .section-tick{display:block;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:#d24638;box-shadow:0 2px 8px rgba(79,31,25,.35);margin:auto}.road-section-marker .section-label,.road-km-marker .km-label{display:block;margin-top:3px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 2px 8px rgba(16,47,76,.2);font-size:10px;font-weight:850;direction:rtl}.road-section-marker .section-label{color:#b5362c;border:1px solid rgba(210,70,56,.35)}.road-km-marker{z-index:3}.road-km-marker .km-label{color:#056a99;border:1px solid rgba(22,132,189,.35);background:rgba(232,247,255,.95)}
body[data-theme="dark"] .road-layer-controls{background:linear-gradient(135deg,#172635,#1e3040)}body[data-theme="dark"] .road-layer-title strong{color:#fff}body[data-theme="dark"] .layer-toggle,body[data-theme="dark"] .layer-radius select{background:#203546}
@media(max-width:900px){.road-layer-controls{grid-template-columns:1fr 1fr}.road-layer-title{grid-column:1/-1}.map-hero-stats{grid-template-columns:repeat(4,1fr)}}
@media(max-width:520px){.road-layer-controls{grid-template-columns:1fr 1fr}.layer-radius{grid-column:1/-1}.map-hero-stats{grid-template-columns:repeat(2,1fr)}}

/* Sprint 19D.2.3: full road layer visibility and all assets */
.road-layer-title small{line-height:1.35}.road-section-marker .section-label,.road-km-marker .km-label{max-width:160px;overflow:hidden;text-overflow:ellipsis}.road-section-marker{will-change:transform}.road-km-marker{will-change:transform}
@media(max-width:900px){.road-layer-controls{grid-template-columns:1fr 1fr}.road-layer-title{grid-column:1/-1}}
@media(max-width:520px){.road-layer-controls .layer-radius{grid-column:1/-1}}

/* ======================================================================
   Sprint 19D.4A — Mobile Visual & Professional UX Overhaul
   ====================================================================== */
:root{
  --field-ink:#071c30;
  --field-ink-2:#123a5a;
  --field-brand:#0877b9;
  --field-cyan:#19a7d8;
  --field-mint:#18a66a;
  --field-amber:#f2a33a;
  --field-danger:#d94d4d;
  --field-bg:#edf4f8;
  --field-card:#ffffff;
  --field-line:#d8e5ed;
  --field-muted:#6d8392;
  --field-glow:0 22px 60px rgba(7,28,48,.16);
  --field-soft-shadow:0 10px 30px rgba(7,28,48,.09);
}
body{background:radial-gradient(circle at 85% -10%,rgba(25,167,216,.13),transparent 33%),linear-gradient(180deg,#edf4f8 0,#f7fafc 58%,#eef4f8 100%)}
.mobile-header-copy,.mobile-tools-btn,.mobile-command-center,.mobile-detail-bar,.mobile-map-back{display:none}
.task-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .2rem .35rem}.task-list-toolbar strong,.task-list-toolbar small{display:block}.task-list-toolbar strong{font-size:.86rem}.task-list-toolbar small{color:var(--muted);font-size:.68rem;margin-top:.08rem}.task-list-mode{font-size:.66rem;font-weight:850;color:var(--blue);background:var(--sky);border:1px solid #cbe5f4;border-radius:999px;padding:.34rem .6rem}
.task-card{position:relative;overflow:hidden;text-align:right}.task-card-accent{position:absolute;right:0;top:0;bottom:0;width:5px;background:#9bb0bd}.task-card[data-priority="קריטית"] .task-card-accent{background:var(--field-danger)}.task-card[data-priority="גבוהה"] .task-card-accent{background:var(--field-amber)}.task-card[data-state="submitted"] .task-card-accent{background:var(--field-mint)}.task-card-main{width:100%;min-width:0}.task-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.55rem}.task-order small{display:block;color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.06em}.task-order h3{margin:.05rem 0 0;font-size:1.02rem;color:var(--navy)}.task-card-title{margin:.55rem 0;color:var(--text);font-size:.81rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-card-route{display:flex;flex-wrap:wrap;gap:.35rem;margin:.45rem 0}.task-card-route>span{padding:.27rem .45rem;border-radius:8px;background:var(--surface-2);color:var(--muted);font-size:.65rem}.task-card-route b{color:var(--navy)}.task-card-route .location-ready{color:var(--green);background:var(--green-soft)}.task-card-route .location-missing{color:#8b5d25;background:#fff5e7}.task-card-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;margin-top:.55rem;padding-top:.55rem;border-top:1px solid var(--border)}.task-asset-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.66rem}.task-card-arrow{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:var(--sky);color:var(--blue);font-size:1rem}.task-card.active .task-card-arrow{background:#fff;color:var(--blue)}
.task-workflow{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:.38rem;padding:.75rem .8rem;margin:.7rem 0;border-radius:16px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.task-workflow>div{min-width:74px;text-align:center}.task-workflow>div span{display:grid;place-items:center;width:32px;height:32px;margin:auto;border-radius:50%;background:#e7eef3;color:#718796;font-weight:900;border:2px solid #fff;box-shadow:0 0 0 1px var(--border)}.task-workflow>div strong,.task-workflow>div small{display:block}.task-workflow>div strong{font-size:.73rem;margin-top:.28rem}.task-workflow>div small{font-size:.58rem;color:var(--muted);margin-top:.05rem}.task-workflow>i{height:2px;border-radius:999px;background:var(--border)}.task-workflow>div.done span{background:var(--green);color:#fff;box-shadow:0 0 0 4px var(--green-soft)}.task-workflow>div.done strong{color:var(--green)}.task-workflow>div.active span{background:var(--blue);color:#fff;box-shadow:0 0 0 4px var(--sky);animation:fieldPulse 1.8s ease-in-out infinite}.task-workflow>i.done{background:var(--green)}
.mobile-tools-dialog{border:0;padding:0;background:transparent;max-width:min(100vw,560px);width:100%;margin:auto auto 0;overflow:visible}.mobile-tools-dialog::backdrop{background:rgba(3,16,28,.67);backdrop-filter:blur(7px)}.mobile-tools-dialog[open]{animation:sheetRise .26s ease-out}.mobile-tools-dialog>*{box-sizing:border-box}.mobile-tools-dialog{background:var(--surface);border-radius:28px 28px 0 0;padding:10px 18px calc(20px + var(--safe-bottom));box-shadow:0 -24px 80px rgba(3,16,28,.3)}.mobile-sheet-handle{width:44px;height:5px;border-radius:999px;background:#cad7df;margin:2px auto 13px}.mobile-tools-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.mobile-tools-head h2{margin:.08rem 0 0;font-size:1.25rem}.mobile-tools-profile{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:.7rem;margin:.8rem 0;padding:.75rem;border-radius:17px;background:linear-gradient(135deg,#eef7fc,#f8fbfd);border:1px solid #d6e9f3}.profile-avatar{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,var(--field-ink-2),var(--field-brand));color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(8,119,185,.2)}.mobile-tools-profile strong,.mobile-tools-profile small{display:block}.mobile-tools-profile small{color:var(--muted);font-size:.69rem;margin-top:.12rem}.mobile-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:.3rem .55rem;border-radius:999px;background:#fff3e0;color:#a8640d;font-size:.66rem;font-weight:850;border:1px solid #f3d7aa}.mobile-status-pill.online{background:var(--green-soft);color:var(--green);border-color:#bee7d0}.mobile-tools-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem}.mobile-tools-grid>button{display:grid;grid-template-columns:40px 1fr;column-gap:.6rem;align-items:center;text-align:right;min-height:70px;padding:.65rem;border-radius:16px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);box-shadow:none}.mobile-tools-grid>button>span{grid-row:1/3;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#fff;color:var(--blue);font-size:1.1rem;box-shadow:var(--shadow-sm)}.mobile-tools-grid>button strong,.mobile-tools-grid>button small{display:block}.mobile-tools-grid>button strong{font-size:.79rem}.mobile-tools-grid>button small{font-size:.62rem;color:var(--muted);font-weight:600;margin-top:.08rem}.mobile-tools-grid>button.lock-tool{background:var(--red-soft);border-color:#f0cccc}.mobile-tools-grid>button.lock-tool>span{color:var(--red)}.mobile-sheet-close{width:100%;margin-top:.7rem}
@keyframes sheetRise{from{transform:translateY(100%);opacity:.4}to{transform:translateY(0);opacity:1}}@keyframes cardEnter{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fieldPulse{0%,100%{box-shadow:0 0 0 4px var(--sky)}50%{box-shadow:0 0 0 8px rgba(25,167,216,.05)}}

@media(max-width:900px){
  :root{--radius:18px}
  html{background:#071c30}body{font-size:14px;padding-bottom:calc(92px + var(--safe-bottom));min-height:100dvh;overflow-x:hidden}
  .app-header{position:sticky;top:0;z-index:120;min-height:68px;padding:calc(8px + env(safe-area-inset-top,0px)) 13px 8px;background:linear-gradient(135deg,rgba(7,28,48,.98),rgba(13,65,98,.97));box-shadow:0 10px 30px rgba(4,24,40,.24);border-bottom:1px solid rgba(255,255,255,.08)}
  .brand{min-width:0;gap:.45rem}.brand img{width:54px;height:38px;border-radius:10px;padding:2px;background:rgba(255,255,255,.96)}.brand>div{display:none}
  .mobile-header-copy{display:block;flex:1;min-width:0}.mobile-header-copy strong,.mobile-header-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-header-copy strong{font-size:.94rem}.mobile-header-copy small{font-size:.64rem;color:#b9d2e3;margin-top:.1rem}
  .mobile-tools-btn{display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:14px;color:#fff;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.17);box-shadow:none}.mobile-tools-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
  .header-actions{display:none}.update-banner{position:sticky;top:68px;z-index:115;margin:0;padding:.55rem .7rem;gap:.45rem;border-radius:0;background:#fff7df;border-bottom:1px solid #f0d58b}.update-banner span{font-size:.72rem}.update-banner button{padding:.48rem .65rem;font-size:.7rem}
  main{padding:0}.workspace{display:block!important;max-width:none;margin:0;min-height:calc(100dvh - 68px)}
  .mobile-command-center{display:block;margin:0 0 8px;padding:18px 14px 15px;color:#fff;background:radial-gradient(circle at 12% 0,rgba(25,167,216,.33),transparent 34%),linear-gradient(145deg,#071c30 0,#0c3f61 58%,#0877b9 140%);box-shadow:0 16px 38px rgba(7,28,48,.18);border-radius:0 0 28px 28px;overflow:hidden;position:relative}.mobile-command-center:after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.08);border-radius:50%;left:-85px;top:-100px}.mobile-command-top{display:grid;grid-template-columns:1fr 86px;align-items:center;gap:1rem;position:relative;z-index:1}.mobile-kicker{display:block;color:#73d5f2;font-size:.66rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.mobile-command-copy h1{margin:.2rem 0 0;font-size:1.35rem;line-height:1.25}.mobile-command-copy p{margin:.3rem 0 0;color:#c3dbe8;font-size:.7rem;line-height:1.5}.mobile-completion-ring{--progress:0;position:relative;width:82px;height:82px;border-radius:50%;background:conic-gradient(#36d49a calc(var(--progress)*1%),rgba(255,255,255,.14) 0);display:grid;place-items:center;box-shadow:0 8px 25px rgba(0,0,0,.2)}.mobile-completion-ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#0b3654}.mobile-completion-ring>div{position:relative;text-align:center}.mobile-completion-ring strong,.mobile-completion-ring small{display:block}.mobile-completion-ring strong{font-size:1.05rem}.mobile-completion-ring small{font-size:.55rem;color:#bfd6e4}.mobile-shift-status{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:.55rem;margin:.9rem 0 .75rem;padding:.62rem .7rem;border-radius:15px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.1);position:relative;z-index:1}.live-dot{width:9px;height:9px;border-radius:50%;background:#37d99f;box-shadow:0 0 0 5px rgba(55,217,159,.12)}.mobile-shift-status strong,.mobile-shift-status small{display:block}.mobile-shift-status strong{font-size:.72rem}.mobile-shift-status small{font-size:.59rem;color:#bad3e2;margin-top:.08rem}.mobile-shift-status .mobile-status-pill{border:0;background:rgba(255,255,255,.12);color:#fff}.mobile-command-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;position:relative;z-index:1}.command-action{min-width:0;min-height:76px;padding:.55rem .25rem;border-radius:16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);color:#fff;box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:center}.command-action.primary-action{background:linear-gradient(145deg,#1697d2,#0877b9);border-color:rgba(255,255,255,.25);box-shadow:0 8px 20px rgba(0,0,0,.16)}.command-action .command-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.11);font-size:1rem}.command-action strong,.command-action small{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-action strong{font-size:.64rem;margin-top:.3rem}.command-action small{font-size:.51rem;color:#c3dce9;margin-top:.05rem}
  .task-panel{display:block;width:auto;min-width:0;margin:0 10px;padding:0 0 15px;background:transparent;border:0;box-shadow:none}.panel-title-row{padding:.65rem .35rem .5rem}.panel-title-row h2{font-size:1.05rem}.panel-title-row small{font-size:.67rem}.filters{position:sticky;top:69px;z-index:35;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.55rem;border-radius:18px;background:rgba(255,255,255,.91);box-shadow:0 8px 25px rgba(7,28,48,.1);backdrop-filter:blur(16px);border:1px solid rgba(216,229,237,.8)}.filters input{grid-column:1/-1;min-height:47px;border-radius:14px;background:#f6fafc;border-color:#d8e6ee;padding:0 .85rem}.filters select{min-height:42px;border-radius:12px;background:#fff;font-size:.72rem}.task-list-toolbar{padding:.72rem .35rem .35rem}.panel-map-shortcut{display:none}.task-list{display:grid;gap:.62rem;padding:.15rem 0}.task-card{width:100%;padding:.82rem .78rem .72rem .92rem;border-radius:19px;background:rgba(255,255,255,.97);border:1px solid rgba(210,225,234,.9);box-shadow:0 8px 24px rgba(7,28,48,.075);animation:cardEnter .22s ease both}.task-card:nth-child(2n){animation-delay:.025s}.task-card.active{background:linear-gradient(145deg,#f6fbfe,#eaf6fd);border-color:#85c9e7;box-shadow:0 12px 30px rgba(8,119,185,.16)}.task-card:hover:not(:disabled){transform:none}.task-card-title{font-size:.78rem}.task-card-route{gap:.28rem}.task-card-footer{margin-top:.45rem;padding-top:.48rem}
  .detail-panel{display:block;min-width:0;margin:0;padding:0 10px 24px;background:transparent}.field-overview{grid-template-columns:repeat(4,1fr);gap:.45rem;margin:0 0 .65rem;padding:0}.overview-card{min-height:84px;padding:.6rem .35rem;border-radius:17px;background:#fff;border:1px solid var(--field-line);box-shadow:0 7px 18px rgba(7,28,48,.065)}.overview-icon{width:28px;height:28px;border-radius:9px;font-size:.8rem}.overview-value{font-size:1.25rem}.overview-label{font-size:.56rem;line-height:1.25}.mobile-detail-bar{position:sticky;top:69px;z-index:50;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;margin:0 -10px .55rem;padding:.55rem .7rem;background:rgba(247,251,253,.93);border-bottom:1px solid var(--field-line);backdrop-filter:blur(16px)}.mobile-detail-bar>button{min-height:38px;padding:.45rem .65rem;border-radius:12px;background:#fff;border:1px solid var(--field-line);color:var(--field-ink);box-shadow:none}.mobile-detail-bar>div{text-align:center;min-width:0}.mobile-detail-bar small,.mobile-detail-bar strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-detail-bar small{font-size:.56rem;color:var(--field-muted)}.mobile-detail-bar strong{font-size:.74rem;margin-top:.05rem}.mobile-detail-bar>button:last-child{width:38px;padding:0;font-size:1rem}.no-task{min-height:240px;border-radius:22px;background:#fff;border:1px dashed #c7d8e2;box-shadow:var(--field-soft-shadow)}
  .task-header{display:block;margin:0;padding:18px 16px;border-radius:24px;background:radial-gradient(circle at 0 0,rgba(25,167,216,.28),transparent 34%),linear-gradient(145deg,#071c30,#0e496d);color:#fff;box-shadow:0 18px 38px rgba(7,28,48,.2)}.task-header .eyebrow{color:#77d8f4}.task-header h1{font-size:1.7rem;margin:.15rem 0}.task-location{color:#c7dce8;font-size:.72rem;line-height:1.5}.task-progress{margin-top:.8rem}.task-progress-track{background:rgba(255,255,255,.14)}.task-progress-bar{background:linear-gradient(90deg,#26d297,#66e5bd)}.task-progress-text{color:#fff}.task-header-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-top:1rem}.task-header-actions button{min-height:44px;border-radius:13px;font-size:.7rem}.task-header-actions button:last-child{grid-column:1/-1}.task-header .secondary{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.18)}
  .next-action-card{margin:.65rem 0;padding:.72rem;border-radius:17px;background:linear-gradient(135deg,#e8f8f1,#f6fcf9);border:1px solid #c7ead8;box-shadow:none}.next-action-icon{background:var(--green);color:#fff}.task-workflow{grid-template-columns:repeat(4,1fr);gap:.35rem;padding:.7rem .45rem;overflow:hidden}.task-workflow>i{display:none}.task-workflow>div{min-width:0}.task-workflow>div small{display:none}.task-workflow>div span{width:30px;height:30px}.task-workflow>div strong{font-size:.65rem}.info-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.info-grid article{padding:.75rem;border-radius:16px;background:#fff;border:1px solid var(--field-line);box-shadow:0 6px 16px rgba(7,28,48,.045)}.info-grid span{font-size:.6rem}.info-grid strong{font-size:.78rem;margin-top:.18rem}.description-grid{grid-template-columns:1fr;gap:.5rem}.description-grid article{padding:.8rem;border-radius:17px;background:#fff;border:1px solid var(--field-line)}.description-grid h3{font-size:.76rem}.description-grid p{font-size:.72rem;line-height:1.6}.work-card{padding:.85rem;margin-top:.65rem;border-radius:22px;background:#fff;border:1px solid var(--field-line);box-shadow:0 10px 28px rgba(7,28,48,.07)}.section-heading h2{font-size:1rem}.section-heading p{font-size:.66rem}.completion,.photo-summary-pill{border-radius:13px}.quick-times{display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem}.quick-times button{min-height:44px;border-radius:13px;font-size:.7rem;background:#f4f8fa;border:1px solid var(--field-line);color:var(--field-ink)}.time-summary{grid-template-columns:repeat(2,1fr);gap:.4rem}.form-grid{grid-template-columns:1fr}.form-grid label{font-size:.68rem}.form-grid input,.form-grid textarea{border-radius:13px;background:#f8fbfc;border-color:#d7e5ed;padding:.7rem}.form-grid textarea{min-height:86px}.photo-professional-banner{border-radius:19px}.photo-checklist{overflow-x:auto;grid-template-columns:repeat(4,minmax(72px,1fr));scrollbar-width:none}.photo-stage-grid{grid-template-columns:1fr;gap:.6rem}.photo-stage{border-radius:19px;background:#fff}.stage-actions{grid-template-columns:1fr 1fr;gap:.4rem}.pro-photo-action{min-width:0}.photo-action-copy small{display:none}.photo-library-header{position:sticky;top:121px;z-index:20;padding:.5rem 0;background:#fff}.photo-group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.photo-card{border-radius:16px}.photo-card-body{padding:.55rem}.photo-card-actions{grid-template-columns:1fr 1fr}.photo-card-actions button{min-height:38px}.save-bar{position:sticky;bottom:calc(78px + var(--safe-bottom));z-index:45;display:block;margin:.8rem -3px 0;padding:.6rem;border-radius:18px;background:rgba(255,255,255,.93);border:1px solid rgba(207,223,232,.9);box-shadow:0 14px 35px rgba(7,28,48,.18);backdrop-filter:blur(16px)}.save-bar>span{display:block;font-size:.58rem;text-align:center;margin-bottom:.45rem}.save-bar>div{display:grid;grid-template-columns:1fr 1.25fr;gap:.45rem}.save-bar button{min-height:48px;border-radius:14px;font-size:.72rem}
  .map-panel{margin:0 -10px;padding:0 10px 20px}.mobile-map-back{display:inline-flex;align-items:center;gap:.35rem;margin:.5rem 0;padding:.45rem .7rem;border-radius:12px;background:#fff;border:1px solid var(--field-line);color:var(--field-ink);box-shadow:var(--shadow-sm)}.map-hero{display:block;padding:16px;border-radius:22px;background:linear-gradient(145deg,#071c30,#0e4d72);color:#fff}.map-hero .eyebrow{color:#75d9f6}.map-hero h1{font-size:1.25rem}.map-hero p{color:#c7dce8;font-size:.68rem}.map-hero-stats{grid-template-columns:repeat(4,1fr);gap:.35rem;margin-top:.8rem}.map-hero-stats article{min-width:0;padding:.55rem .25rem;border-radius:14px;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.1)}.map-hero-stats span{font-size:.95rem}.map-hero-stats small{font-size:.5rem;color:#c7dce8}.map-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin:.55rem 0;padding:.55rem;border-radius:18px;background:#fff;border:1px solid var(--field-line);box-shadow:var(--field-soft-shadow)}.map-search-wrap{grid-column:1/-1}.map-search-wrap input,.map-toolbar select{min-height:42px;border-radius:12px;font-size:.7rem}.switch-control{grid-column:1/-1;min-height:40px;border-radius:12px}.map-mode-switch,.road-layer-controls,.map-settings-btn{grid-column:1/-1}.map-mode-switch{grid-template-columns:repeat(3,1fr);padding:.25rem;border-radius:13px}.map-mode-switch button{min-height:38px;padding:.35rem .2rem;font-size:.58rem}.road-layer-controls{grid-template-columns:1fr 1fr;padding:.5rem;border-radius:14px}.road-layer-title{grid-column:1/-1}.road-layer-title small{font-size:.6rem}.layer-radius{grid-column:1/-1}.map-layout{display:block}.map-stage-card{border-radius:22px;overflow:hidden}.field-map{height:min(52dvh,480px);min-height:360px;border-radius:20px}.map-controls{gap:.35rem}.map-controls button{width:42px;height:42px;border-radius:13px}.map-status-row{padding:.55rem}.map-status-row button{min-height:42px;font-size:.68rem}.nearby-panel{margin-top:.55rem;border-radius:20px;background:#fff;border:1px solid var(--field-line);box-shadow:var(--field-soft-shadow);max-height:none}.nearby-heading{position:sticky;top:69px;z-index:10;background:#fff;border-radius:20px 20px 0 0}.nearby-list{max-height:50dvh}.nearby-item{border-radius:15px}.selected-asset-card{border-radius:17px}
  .floating-camera{display:none}.mobile-nav{position:fixed;z-index:130;right:10px;left:10px;bottom:calc(8px + var(--safe-bottom));height:70px;padding:6px 7px;border-radius:23px;background:rgba(7,28,48,.96);box-shadow:0 18px 48px rgba(3,16,28,.37);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(18px);display:grid;grid-template-columns:1fr 1fr 1.18fr 1fr 1fr;align-items:end}.mobile-nav button{min-width:0;height:58px;padding:5px 2px 4px;border:0;background:transparent;color:#9fb7c7;border-radius:16px;box-shadow:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.57rem}.mobile-nav button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mobile-nav button.active{color:#fff;background:rgba(25,167,216,.15)}.mobile-nav button.camera-nav{overflow:visible}.camera-nav-ring{width:50px;height:50px;margin-top:-23px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#1aa9d9,#0877b9);color:#fff;border:4px solid #071c30;box-shadow:0 10px 24px rgba(0,0,0,.28)}.camera-nav-ring svg{width:25px!important;height:25px!important}.mobile-nav button.camera-nav>span:last-child{margin-top:0;color:#fff}.toast{position:fixed;right:14px;left:14px;bottom:calc(88px + var(--safe-bottom));max-width:none;border-radius:15px;padding:.75rem .9rem;font-size:.72rem;text-align:center;box-shadow:0 15px 40px rgba(3,16,28,.25)}
  dialog:not(.field-login-dialog):not(.mobile-tools-dialog){max-width:calc(100vw - 20px);width:calc(100vw - 20px);max-height:88dvh;border-radius:24px;margin:auto auto calc(8px + var(--safe-bottom));padding:14px}.dialog-header h2{font-size:1rem}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.dialog-actions button{min-height:44px}.photo-viewer-body img{max-height:52dvh}.field-login-dialog{margin:auto auto 0;max-width:100%;width:100%}.login-card{border-radius:28px 28px 0 0;padding:24px 20px calc(24px + var(--safe-bottom))}.login-shield{margin:auto}.login-card h2,.login-card p{text-align:center}.login-card label{text-align:right}
  body.mobile-focus-list .detail-panel{display:none}body.mobile-focus-list .task-panel{display:block}body.mobile-focus-list .mobile-command-center{display:block}
  body.mobile-focus-detail .task-panel,body.mobile-focus-detail .mobile-command-center{display:none}body.mobile-focus-detail .detail-panel{display:block}
  body.mobile-focus-map .task-panel,body.mobile-focus-map .mobile-command-center{display:none}body.mobile-focus-map .detail-panel{display:block}
  body[data-mobile-view="tasks"] .mobile-nav [data-mobile-view="tasks"],body[data-mobile-view="map"] .mobile-nav [data-mobile-view="map"],body[data-mobile-view="work"] .mobile-nav [data-mobile-view="work"],body[data-mobile-view="camera"] .mobile-nav [data-mobile-view="camera"]{color:#fff}
}

@media(max-width:420px){
  .mobile-command-center{padding-right:12px;padding-left:12px}.mobile-command-actions{gap:.32rem}.command-action{min-height:72px}.command-action strong{font-size:.59rem}.command-action small{display:none}.field-overview{grid-template-columns:repeat(2,1fr)}.overview-card{min-height:76px}.mobile-tools-grid{grid-template-columns:1fr 1fr}.mobile-tools-grid>button{min-height:66px}.task-header-actions{grid-template-columns:1fr}.task-header-actions button:last-child{grid-column:auto}.map-hero-stats{grid-template-columns:repeat(2,1fr)}.stage-actions{grid-template-columns:1fr}.photo-group-grid{grid-template-columns:1fr 1fr}
}

body[data-theme="dark"]{--field-bg:#0b1721;--field-card:#132431;--field-line:#29404f;--field-muted:#91a8b6;background:radial-gradient(circle at 80% -10%,rgba(25,167,216,.13),transparent 36%),linear-gradient(180deg,#08131c,#0e1c26)}
body[data-theme="dark"] .mobile-command-center{background:radial-gradient(circle at 10% 0,rgba(25,167,216,.22),transparent 36%),linear-gradient(145deg,#06131e,#0b354f)}
body[data-theme="dark"] .task-card,body[data-theme="dark"] .overview-card,body[data-theme="dark"] .work-card,body[data-theme="dark"] .info-grid article,body[data-theme="dark"] .description-grid article,body[data-theme="dark"] .map-toolbar,body[data-theme="dark"] .nearby-panel,body[data-theme="dark"] .mobile-tools-dialog{background:#132431;border-color:#29404f}
body[data-theme="dark"] .filters,body[data-theme="dark"] .mobile-detail-bar,body[data-theme="dark"] .save-bar{background:rgba(15,31,42,.93);border-color:#29404f}
body[data-theme="dark"] .task-card.active{background:linear-gradient(145deg,#173449,#163043);border-color:#2785b5}
body[data-theme="dark"] .task-order h3,body[data-theme="dark"] .mobile-detail-bar>button,body[data-theme="dark"] .road-layer-title strong{color:#e9f4fa}
body[data-theme="dark"] .task-card-route>span,body[data-theme="dark"] .quick-times button{background:#182d3b;border-color:#29404f}
body[data-theme="dark"] .mobile-tools-profile{background:linear-gradient(135deg,#172e3d,#132431);border-color:#29404f}
body[data-theme="dark"] .mobile-tools-grid>button{background:#172c39;border-color:#29404f}body[data-theme="dark"] .mobile-tools-grid>button>span{background:#203746}
body[data-theme="dark"] .nearby-heading,body[data-theme="dark"] .photo-library-header{background:#132431}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:900px){body.mobile-focus-detail .field-overview,body.mobile-focus-map .field-overview{display:none}}


/* ==========================================================================
   Sprint 19D.5A — Professional Map & Subscreen Experience
   ========================================================================== */
:root{
  --pro-ink:#061b2d;
  --pro-navy:#08283f;
  --pro-blue:#0b79b7;
  --pro-cyan:#18a9d4;
  --pro-mint:#29b989;
  --pro-line:#d4e3eb;
  --pro-paper:#ffffff;
  --pro-cloud:#f4f8fb;
  --pro-glass:rgba(255,255,255,.88);
  --pro-shadow:0 20px 55px rgba(5,34,55,.14);
  --pro-shadow-soft:0 8px 28px rgba(5,34,55,.09);
}

/* Map screen */
.map-panel{max-width:1600px;margin-inline:auto}
.map-hero{
  position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);gap:1.25rem;
  padding:1.25rem 1.35rem;border:1px solid rgba(255,255,255,.12);border-radius:26px;
  background:
    radial-gradient(circle at 8% 0,rgba(35,181,224,.34),transparent 38%),
    radial-gradient(circle at 92% 110%,rgba(41,185,137,.28),transparent 34%),
    linear-gradient(135deg,#06192b 0%,#0a3551 52%,#0a4967 100%);
  color:#fff;box-shadow:0 20px 50px rgba(4,27,45,.22)
}
.map-hero:after{content:"";position:absolute;inset:auto -80px -110px auto;width:300px;height:300px;border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 0 38px rgba(255,255,255,.035),0 0 0 78px rgba(255,255,255,.025)}
.map-hero-main{position:relative;z-index:1;display:grid;grid-template-columns:66px 1fr auto;align-items:center;gap:1rem}
.map-hero-emblem{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.13)}
.map-hero-emblem svg{width:34px;height:34px;fill:none;stroke:#fff;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.map-hero-copy .eyebrow{color:#7bddf5;letter-spacing:.14em}
.map-hero-copy h1{margin:.25rem 0 .28rem;font-size:clamp(1.55rem,2.4vw,2.25rem);letter-spacing:-.025em}
.map-hero-copy p{margin:0;max-width:720px;color:#cee3ee;line-height:1.55}
.map-live-chip{align-self:start;display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .72rem;border-radius:999px;background:rgba(3,18,31,.35);border:1px solid rgba(255,255,255,.16);font-size:.72rem;white-space:nowrap}
.map-live-chip span{width:8px;height:8px;border-radius:50%;background:#52e5a7;box-shadow:0 0 0 5px rgba(82,229,167,.14)}
.map-hero-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;align-self:center}
.map-hero-stats article{min-width:0;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:.48rem;padding:.72rem .68rem;border-radius:17px;background:rgba(255,255,255,.105);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(10px)}
.map-hero-stats article i{grid-row:1/3;width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.11);font-style:normal;color:#8ee5f8}
.map-hero-stats article span{font-size:1.18rem;font-weight:900;line-height:1}
.map-hero-stats article small{font-size:.62rem;color:#c5dce7;margin-top:.14rem}

.map-toolbar{
  display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;margin:1rem 0;padding:1rem;border-radius:24px;
  background:linear-gradient(180deg,#fff,#f8fbfd);border:1px solid var(--pro-line);box-shadow:var(--pro-shadow-soft)
}
.map-control-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.12rem .12rem .15rem}
.map-control-head>div{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.55rem;align-items:center}
.map-control-index{grid-row:1/3;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#e7f5fb;color:var(--pro-blue);font-size:.65rem;font-weight:900}
.map-control-head strong{font-size:.92rem;color:var(--pro-ink)}
.map-control-head small{font-size:.68rem;color:var(--muted)}
.map-control-head.compact{margin-top:.15rem;padding-top:.75rem;border-top:1px dashed var(--pro-line)}
.map-control-status{padding:.3rem .58rem;border-radius:999px;background:#e9f8f2;color:#187653;font-size:.64rem;font-weight:850}
.map-filter-grid{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(180px,.7fr) minmax(180px,.7fr) minmax(190px,.65fr);gap:.65rem;align-items:end}
.map-search-wrap{position:relative}
.map-search-wrap>span{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);z-index:2;font-size:1.25rem;color:var(--pro-blue)}
.map-search-wrap input{height:48px;padding-right:2.75rem!important;border-radius:15px!important;background:#f5f9fb!important;border-color:#cfdee7!important}
.map-select-field{display:grid;gap:.3rem;color:var(--muted);font-size:.65rem;font-weight:800}
.map-select-field select{height:48px;border-radius:15px!important;background:#f5f9fb!important}
.map-filter-grid .switch-control{height:48px;border-radius:15px;background:#f5f9fb;border:1px solid #cfdee7;padding:.35rem .7rem;display:flex;align-items:center;gap:.55rem;color:var(--pro-ink)}
.map-filter-grid .switch-control b{font-size:.72rem}
.map-mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;padding:.36rem;background:#eaf1f5;border-radius:17px}
.map-mode-switch button{min-height:58px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:.5rem;text-align:right;border-radius:13px;background:transparent;color:#587080;border:1px solid transparent;padding:.5rem .7rem}
.map-mode-switch button>span{grid-row:1/3;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.75);font-size:1rem}
.map-mode-switch button b{font-size:.77rem}
.map-mode-switch button small{font-size:.58rem;color:inherit;font-weight:650}
.map-mode-switch button.active{background:#fff;color:var(--pro-blue);border-color:#c6dce8;box-shadow:0 7px 18px rgba(7,59,89,.11)}
.road-layer-controls{display:grid;grid-template-columns:minmax(250px,1.1fr) repeat(2,minmax(145px,.45fr)) repeat(2,minmax(180px,.55fr));gap:.55rem;align-items:stretch;padding:.65rem;border-radius:18px;background:linear-gradient(135deg,#f0f8fb,#f5fbf8);border:1px solid #d6e9ed}
.road-layer-title{display:flex;align-items:center;gap:.6rem;padding:.35rem .45rem}
.road-layer-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--pro-blue),#12587f);color:#fff;font-size:1.25rem}
.road-layer-title strong,.road-layer-title small{display:block}
.road-layer-title small{font-size:.62rem;color:var(--muted);margin-top:.12rem}
.layer-toggle{display:grid!important;grid-template-columns:28px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:.5rem;padding:.48rem .55rem!important;border-radius:14px!important;background:#fff!important;border:1px solid #d6e6ec!important;color:var(--pro-ink)!important}
.layer-toggle input{position:absolute;opacity:0}
.layer-toggle>span{grid-row:1/3;width:27px!important;height:27px!important;border-radius:9px!important;background:#e9f0f4!important;position:relative}
.layer-toggle>span:after{content:"";position:absolute;inset:7px;border-radius:4px;background:#b0c1cb;transition:.18s}
.layer-toggle input:checked+span{background:#dff5ed!important}
.layer-toggle input:checked+span:after{background:var(--pro-mint);box-shadow:0 0 0 4px rgba(41,185,137,.14)}
.layer-toggle b{font-size:.72rem}.layer-toggle small{font-size:.58rem;color:var(--muted)}
.layer-radius{display:grid;gap:.25rem;color:var(--muted);font-size:.62rem;font-weight:800}
.layer-radius select{height:42px;border-radius:12px!important;background:#fff!important}
.map-settings-btn{min-height:52px;display:grid!important;grid-template-columns:40px 1fr auto;align-items:center;gap:.65rem;text-align:right;border-radius:16px!important;background:#fff!important;border-color:#cfdee7!important;padding:.45rem .65rem!important}
.map-settings-btn>span:first-child{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#e9f4f9;color:var(--pro-blue);font-size:1.05rem}
.map-settings-btn strong,.map-settings-btn small{display:block}.map-settings-btn small{font-size:.62rem;color:var(--muted);margin-top:.1rem}.map-settings-btn>b{color:var(--pro-blue)}

.map-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.65fr);gap:.9rem;align-items:start}
.map-stage-card{overflow:hidden;border-radius:25px;background:#fff;border:1px solid var(--pro-line);box-shadow:var(--pro-shadow)}
.map-stage-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .85rem;background:linear-gradient(135deg,#071b2d,#0b3853);color:#fff}
.map-stage-head>div:first-child{display:grid}.map-stage-kicker{font-size:.55rem;letter-spacing:.16em;color:#65d6f4;font-weight:900}.map-stage-head strong{font-size:.83rem;margin-top:.08rem}
.map-stage-badges{display:flex;gap:.35rem;flex-wrap:wrap}.map-stage-badges span{display:inline-flex;align-items:center;gap:.3rem;padding:.27rem .48rem;border-radius:999px;background:rgba(255,255,255,.1);font-size:.58rem;color:#d9e8ef}.green-dot{width:7px;height:7px;border-radius:50%;background:#4ce0a0}
.field-map{border-radius:0!important;min-height:540px;background:#dce8ee}
.map-provider-badge{top:12px!important;left:12px!important;border-radius:999px!important;background:rgba(5,23,37,.85)!important;color:#fff!important;border:1px solid rgba(255,255,255,.15)!important;backdrop-filter:blur(12px)}
.map-controls{right:12px!important;top:12px!important;display:grid!important;gap:.4rem!important}
.map-controls button{width:44px!important;height:44px!important;border-radius:14px!important;background:rgba(255,255,255,.92)!important;border:1px solid rgba(9,48,71,.13)!important;box-shadow:0 8px 24px rgba(3,23,39,.16)!important;color:var(--pro-ink)!important;font-size:1.05rem!important}
.map-status-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .8rem;background:#fff;border-top:1px solid var(--pro-line)}
.location-status{display:flex;align-items:center;gap:.45rem;font-size:.72rem;color:#536c7b}.location-status .status-dot{width:9px;height:9px;border-radius:50%;background:#f1a12d;box-shadow:0 0 0 5px rgba(241,161,45,.12)}
.map-status-row button{display:inline-flex;align-items:center;gap:.35rem;min-height:42px;border-radius:13px}
.map-legend{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;padding:.55rem .8rem;background:#f7fafc;border-top:1px solid var(--pro-line);font-size:.61rem;color:#607888}
.map-legend span{display:inline-flex;align-items:center;gap:.35rem}.map-legend i{width:10px;height:10px;border-radius:50%}.legend-user{background:#1f89c4;box-shadow:0 0 0 4px rgba(31,137,196,.12)}.legend-asset{background:#e84a4a}.legend-section{background:#7e59bc;border-radius:2px!important}.legend-km{background:#1aa36f;border-radius:2px!important}

.nearby-panel{overflow:hidden;border-radius:25px;background:#fff;border:1px solid var(--pro-line);box-shadow:var(--pro-shadow-soft)}
.nearby-sheet-handle{display:none}
.nearby-heading{display:grid!important;grid-template-columns:44px 1fr 42px!important;align-items:center;gap:.65rem;padding:.85rem!important;background:linear-gradient(180deg,#fff,#f8fbfd);border-bottom:1px solid var(--pro-line)}
.nearby-heading-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--pro-blue),#0e577d);color:#fff;font-size:1.25rem}
.nearby-heading h2{margin:.08rem 0;font-size:1rem}.nearby-heading small{font-size:.65rem;color:var(--muted)}
.nearby-list{padding:.65rem;display:grid;gap:.5rem}
.nearby-item{border:1px solid #d7e4eb!important;border-radius:16px!important;background:#fff!important;box-shadow:0 5px 16px rgba(4,32,50,.05)!important;transition:.17s}
.nearby-item:hover{border-color:#75b7d8!important;box-shadow:0 8px 24px rgba(4,52,80,.1)!important}
.selected-asset-card{margin:.65rem .65rem 0!important;border-radius:18px!important;background:linear-gradient(135deg,#eaf7fc,#f2fbf7)!important;border:1px solid #bfe0ea!important;box-shadow:none!important}

/* Task detail and secondary screens */
.task-header{position:relative;overflow:hidden;border-radius:25px!important;padding:1.4rem!important;background:radial-gradient(circle at 0 0,rgba(31,174,219,.28),transparent 40%),linear-gradient(135deg,#061a2c,#0b3a58 58%,#0d5876)!important}
.task-header:after{content:"";position:absolute;left:-70px;bottom:-90px;width:230px;height:230px;border-radius:50%;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 35px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.02)}
.task-header>div{position:relative;z-index:1}
.task-header-actions{display:grid!important;grid-template-columns:repeat(4,minmax(130px,1fr));gap:.55rem!important;min-width:min(760px,68%)}
.task-action-button{min-height:65px;display:grid!important;grid-template-columns:38px 1fr;align-items:center;gap:.55rem;text-align:right!important;padding:.55rem .65rem!important;border-radius:16px!important}
.task-action-button .task-action-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:1rem}
.task-action-button strong,.task-action-button small{display:block}.task-action-button strong{font-size:.76rem}.task-action-button small{font-size:.56rem;color:inherit;opacity:.72;margin-top:.12rem}
.task-action-button.primary{background:linear-gradient(145deg,#19a4d0,#0c75ae)!important}
.next-action-card{position:relative;overflow:hidden;border-radius:18px!important;padding:.85rem 1rem!important;background:linear-gradient(135deg,#e9f7fc,#f5fbff)!important;box-shadow:0 8px 24px rgba(3,47,75,.07)}
.next-action-badge{margin-right:auto;padding:.27rem .52rem;border-radius:999px;background:#dff5eb;color:#14704e;font-size:.6rem;font-weight:850}
.task-subnav{position:sticky;top:72px;z-index:42;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:.8rem 0;padding:.4rem;border-radius:19px;background:rgba(255,255,255,.91);border:1px solid var(--pro-line);box-shadow:0 10px 30px rgba(4,36,57,.1);backdrop-filter:blur(18px)}
.task-subnav button{min-height:55px;display:grid;grid-template-columns:31px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:.45rem;text-align:right;padding:.42rem .55rem;border-radius:14px;background:transparent;color:#607888}
.task-subnav button>span{grid-row:1/3;width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:#edf3f6;color:#4a6a7d}
.task-subnav button b{font-size:.72rem}.task-subnav button small{font-size:.56rem;color:inherit}
.task-subnav button.active{background:linear-gradient(145deg,#0b79b7,#0a5f8e);color:#fff;box-shadow:0 8px 20px rgba(11,121,183,.18)}
.task-subnav button.active>span{background:rgba(255,255,255,.16);color:#fff}
.task-workflow{border-radius:19px!important;padding:.75rem!important;background:#fff;border:1px solid var(--pro-line);box-shadow:var(--pro-shadow-soft)}
.info-grid article{position:relative;overflow:hidden;border-radius:18px!important;background:linear-gradient(180deg,#fff,#f9fbfc)!important}
.info-grid article:after{content:"";position:absolute;left:-15px;bottom:-25px;width:66px;height:66px;border-radius:50%;background:rgba(12,121,183,.055)}
.info-grid article:nth-child(1){border-top:3px solid #1688c1}.info-grid article:nth-child(2){border-top:3px solid #d76e39}.info-grid article:nth-child(3){border-top:3px solid #5a7b91}.info-grid article:nth-child(4){border-top:3px solid #31a476}
.description-grid{gap:.8rem!important}
.description-card{display:grid;grid-template-columns:44px 1fr;gap:.75rem;align-items:start;border-radius:19px!important}
.description-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-weight:900;background:#e4f5ed;color:#17845a}
.problem-card .description-icon{background:#fff0e8;color:#c45c26}
.description-card h3{margin:.12rem 0 .4rem!important}.description-card p{margin:0}
.work-card{border-radius:22px!important;border-color:var(--pro-line)!important;box-shadow:var(--pro-shadow-soft)!important}
.work-log-screen{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfdfe)!important}
.work-log-screen:before{content:"";position:absolute;inset:0 auto auto 0;width:135px;height:135px;border-radius:0 0 100% 0;background:linear-gradient(145deg,rgba(24,169,212,.07),transparent);pointer-events:none}
.enhanced-heading{align-items:center!important}
.section-heading-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,var(--pro-blue),#0a5e89);color:#fff;font-size:1.15rem;box-shadow:0 8px 20px rgba(11,121,183,.2)}
.enhanced-heading>div:nth-child(2){flex:1}.enhanced-heading p{margin:.12rem 0 0;color:var(--muted);font-size:.68rem}
.quick-times button{position:relative;overflow:hidden;min-height:54px!important;border-radius:15px!important;background:linear-gradient(180deg,#fff,#f5f9fb)!important;border-color:#d4e2e9!important;color:var(--pro-ink)!important}
.quick-times button:before{content:"";position:absolute;right:0;top:0;bottom:0;width:4px;background:var(--pro-cyan)}
.quick-times button:nth-child(3):before{background:var(--pro-mint)}.quick-times button:nth-child(4):before{background:#7b5eb4}
.form-grid label{padding:.58rem .65rem;border-radius:15px;background:#f8fbfc;border:1px solid #dce8ee;color:#526b7b;font-size:.68rem;font-weight:850}
.form-grid input,.form-grid textarea{margin-top:.35rem;background:#fff!important;border-color:#d2e1e8!important}
.photo-workspace{background:linear-gradient(180deg,#fff,#fbfdfe)!important}
.photo-stage{border-radius:20px!important;border-color:#d6e4eb!important;box-shadow:0 7px 22px rgba(4,38,60,.06)!important}
.photo-stage .stage-icon{box-shadow:0 7px 18px rgba(5,55,83,.15)}
.photo-professional-banner{background:radial-gradient(circle at 0 0,rgba(36,187,221,.22),transparent 36%),linear-gradient(135deg,#071d30,#0b4867)!important;border:0!important;box-shadow:0 14px 34px rgba(4,33,53,.18)!important}
.pro-photo-action{border-radius:15px!important;min-height:58px!important}

/* Dialogs and utility secondary screens */
dialog:not(.field-login-dialog){border:0!important;border-radius:26px!important;box-shadow:0 28px 90px rgba(1,17,29,.34)!important;background:linear-gradient(180deg,#fff,#f9fbfc)!important}
dialog::backdrop{background:rgba(2,18,30,.62);backdrop-filter:blur(6px)}
.dialog-header{padding-bottom:.8rem;border-bottom:1px solid var(--pro-line)}
.dialog-header h2{letter-spacing:-.015em}
.dialog-actions{padding-top:.8rem;border-top:1px solid var(--pro-line)}
.mobile-tools-dialog{border-radius:30px 30px 0 0!important}
.mobile-tools-grid>button{border-radius:17px!important;box-shadow:0 6px 20px rgba(5,38,58,.06)}
.map-settings-content input{border-radius:15px!important;background:#f6f9fb!important}

/* Mobile presentation */
@media(max-width:900px){
  .detail-panel{padding:8px 10px calc(100px + var(--safe-bottom));background:linear-gradient(180deg,#edf4f7,#f7fafb)}
  .map-panel{margin:0;padding:0 0 24px}
  .mobile-map-back{position:sticky;top:66px;z-index:55;margin:.45rem .1rem .55rem;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(14px)}
  .map-hero{display:block;padding:15px;border-radius:23px;box-shadow:0 16px 38px rgba(3,27,44,.2)}
  .map-hero-main{grid-template-columns:49px 1fr;gap:.7rem}
  .map-hero-emblem{width:47px;height:47px;border-radius:15px}.map-hero-emblem svg{width:26px;height:26px}
  .map-hero-copy .eyebrow{font-size:.55rem}.map-hero-copy h1{font-size:1.2rem;margin:.16rem 0}.map-hero-copy p{font-size:.64rem;line-height:1.45}
  .map-live-chip{display:none}
  .map-hero-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin-top:.8rem}
  .map-hero-stats article{display:block;text-align:center;padding:.55rem .15rem;border-radius:13px}
  .map-hero-stats article i{display:none}.map-hero-stats article span{display:block;font-size:.95rem}.map-hero-stats article small{font-size:.49rem}
  .map-toolbar{gap:.6rem;padding:.65rem;margin:.55rem 0;border-radius:20px;box-shadow:0 10px 26px rgba(4,38,59,.08)}
  .map-control-head{padding:.05rem}.map-control-head>div{grid-template-columns:28px 1fr}.map-control-index{width:27px;height:27px;border-radius:9px;font-size:.55rem}.map-control-head strong{font-size:.76rem}.map-control-head small{font-size:.57rem}.map-control-status{font-size:.52rem}
  .map-filter-grid{grid-template-columns:1fr 1fr;gap:.45rem}.map-search-wrap{grid-column:1/-1}.map-search-wrap input{height:44px;font-size:.7rem}.map-select-field{font-size:.57rem}.map-select-field select{height:43px;font-size:.67rem}
  .map-filter-grid .switch-control{grid-column:1/-1;height:42px}.map-filter-grid .switch-control b{font-size:.65rem}
  .map-mode-switch{gap:.28rem;padding:.25rem;border-radius:14px}.map-mode-switch button{min-height:49px;display:flex;flex-direction:column;justify-content:center;text-align:center;gap:1px;padding:.3rem .15rem;border-radius:11px}.map-mode-switch button>span{width:25px;height:25px;border-radius:8px;font-size:.8rem}.map-mode-switch button b{font-size:.58rem}.map-mode-switch button small{display:none}
  .road-layer-controls{grid-template-columns:1fr 1fr;gap:.4rem;padding:.48rem;border-radius:16px}.road-layer-title{grid-column:1/-1;padding:.25rem}.road-layer-icon{width:32px;height:32px;border-radius:10px}.road-layer-title strong{font-size:.7rem}.road-layer-title small{font-size:.54rem}
  .layer-toggle{min-height:49px}.layer-toggle b{font-size:.62rem}.layer-toggle small{font-size:.5rem}.layer-radius{font-size:.55rem}.layer-radius select{height:40px;font-size:.64rem}
  .map-settings-btn{min-height:49px!important;grid-template-columns:36px 1fr auto!important}.map-settings-btn>span:first-child{width:34px;height:34px}.map-settings-btn strong{font-size:.67rem}.map-settings-btn small{font-size:.53rem}
  .map-layout{display:block}
  .map-stage-card{border-radius:21px;box-shadow:0 16px 42px rgba(3,32,51,.15)}
  .map-stage-head{padding:.55rem .65rem}.map-stage-kicker{font-size:.47rem}.map-stage-head strong{font-size:.68rem}.map-stage-badges span{font-size:.48rem}
  .field-map{height:55dvh;min-height:390px!important;max-height:560px}
  .map-controls{right:9px!important;top:9px!important}.map-controls button{width:40px!important;height:40px!important;border-radius:12px!important}
  .map-provider-badge{font-size:.55rem!important}
  .map-status-row{padding:.55rem .6rem}.location-status{font-size:.62rem}.map-status-row button{min-height:40px;font-size:.62rem;padding:.4rem .62rem}
  .map-legend{gap:.5rem;padding:.45rem .6rem;font-size:.52rem;white-space:nowrap;overflow-x:auto;scrollbar-width:none}
  .nearby-panel{position:relative;margin-top:.55rem;border-radius:22px 22px 18px 18px;box-shadow:0 14px 36px rgba(4,35,54,.12)}
  .nearby-sheet-handle{display:block;width:45px;height:4px;border-radius:999px;background:#c6d5dd;margin:7px auto 0}
  .nearby-heading{position:sticky;top:68px;z-index:20;grid-template-columns:38px 1fr 38px!important;padding:.65rem!important;border-radius:22px 22px 0 0!important}
  .nearby-heading-icon{width:36px;height:36px;border-radius:12px}.nearby-heading h2{font-size:.82rem}.nearby-heading small{font-size:.56rem}
  .nearby-list{max-height:55dvh;padding:.55rem;gap:.42rem}.nearby-item{border-radius:15px!important}
  .selected-asset-card{margin:.55rem .55rem 0!important;border-radius:16px!important}
  .task-header{display:block!important;padding:16px!important;border-radius:23px!important}
  .task-header h1{font-size:1.45rem!important}.task-location{font-size:.7rem!important}
  .task-header-actions{min-width:0;grid-template-columns:repeat(2,1fr)!important;margin-top:.8rem}
  .task-action-button{min-width:0;min-height:64px!important;display:flex!important;flex-direction:column;justify-content:center;text-align:center!important;gap:.25rem!important;padding:.4rem .25rem!important}.task-action-button .task-action-icon{width:30px;height:30px}.task-action-button strong{font-size:.58rem}.task-action-button small{display:none}
  .next-action-card{padding:.65rem .72rem!important}.next-action-icon{width:34px!important;height:34px!important}.next-action-card small{font-size:.56rem}.next-action-card strong{font-size:.7rem}.next-action-badge{font-size:.5rem}
  .task-subnav{top:65px;margin:.55rem 0;padding:.3rem;border-radius:17px;gap:.28rem}.task-subnav button{min-height:50px;display:flex;flex-direction:column;justify-content:center;text-align:center;gap:1px;padding:.25rem .15rem}.task-subnav button>span{width:25px;height:25px;border-radius:8px}.task-subnav button b{font-size:.58rem}.task-subnav button small{display:none}
  .task-workflow{padding:.55rem!important;border-radius:18px!important;overflow-x:auto;scrollbar-width:none}
  .info-grid{grid-template-columns:repeat(2,1fr)!important;gap:.48rem!important}.info-grid article{min-height:80px!important;padding:.75rem!important;border-radius:16px!important}.info-grid span{font-size:.59rem!important}.info-grid strong{font-size:.74rem!important}
  .description-grid{grid-template-columns:1fr!important;gap:.5rem!important}.description-card{grid-template-columns:38px 1fr;padding:.75rem!important;border-radius:17px!important}.description-icon{width:36px;height:36px;border-radius:12px}.description-card h3{font-size:.72rem!important}.description-card p{font-size:.65rem!important}
  .work-card{padding:.8rem!important;border-radius:20px!important}.section-heading-icon{width:40px;height:40px;border-radius:13px}.enhanced-heading h2{font-size:.9rem!important}.enhanced-heading p{font-size:.58rem}
  .quick-times{grid-template-columns:repeat(2,1fr)!important}.quick-times button{min-height:49px!important;font-size:.65rem!important}
  .form-grid label{padding:.5rem .55rem;border-radius:14px;font-size:.61rem}.form-grid input,.form-grid textarea{font-size:.7rem!important}
  .photo-stage{border-radius:18px!important}.photo-professional-banner{border-radius:19px!important}
  dialog:not(.field-login-dialog):not(.mobile-tools-dialog){border-radius:26px 26px 0 0!important;margin:auto auto 0!important;padding:16px!important;max-height:91dvh!important}
  dialog:not(.field-login-dialog):not(.mobile-tools-dialog):before{content:"";display:block;width:46px;height:4px;border-radius:999px;background:#c6d4dc;margin:0 auto 12px}
}

body[data-theme="dark"] .map-toolbar,
body[data-theme="dark"] .map-stage-card,
body[data-theme="dark"] .nearby-panel,
body[data-theme="dark"] .task-subnav,
body[data-theme="dark"] .task-workflow,
body[data-theme="dark"] .work-log-screen,
body[data-theme="dark"] .description-card{background:#132431!important;border-color:#29404f!important}
body[data-theme="dark"] .map-filter-grid .switch-control,
body[data-theme="dark"] .map-search-wrap input,
body[data-theme="dark"] .map-select-field select,
body[data-theme="dark"] .layer-radius select,
body[data-theme="dark"] .layer-toggle,
body[data-theme="dark"] .map-settings-btn,
body[data-theme="dark"] .form-grid label{background:#172c39!important;border-color:#29404f!important;color:#e9f4fa!important}
body[data-theme="dark"] .map-mode-switch{background:#0d1e2a}
body[data-theme="dark"] .map-mode-switch button.active{background:#203746;color:#77d3f1;border-color:#355267}
body[data-theme="dark"] .road-layer-controls{background:linear-gradient(135deg,#102631,#132b34);border-color:#29404f}
body[data-theme="dark"] .nearby-heading{background:#132431!important}


/* Sprint 19D.5A - short mobile screens, stronger typography and guided workflow */
.task-screen{display:contents}
.task-review-screen{display:block;margin-top:1rem}
.screen-intro-card{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:.85rem;margin:.85rem 0;padding:1rem;border:1px solid #d5e5ec;border-radius:20px;background:linear-gradient(135deg,#f7fbfd,#fff);box-shadow:0 8px 26px rgba(4,39,60,.06)}
.screen-intro-index{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#0b79b7,#0b587f);color:#fff;font-size:1.05rem;font-weight:900;box-shadow:0 10px 24px rgba(11,121,183,.2)}
.screen-intro-card span{font-size:.72rem;font-weight:850;color:#0b79b7}.screen-intro-card h2{margin:.1rem 0 .25rem;font-size:1.18rem}.screen-intro-card p{margin:0;color:#587182;line-height:1.55;font-size:.83rem}
.report-intro .screen-intro-index{background:linear-gradient(145deg,#277a9d,#16546f)}.photo-intro .screen-intro-index{background:linear-gradient(145deg,#7354aa,#4c347b)}.review-intro .screen-intro-index{background:linear-gradient(145deg,#17835b,#0f5e40)}
.task-screen-cta{display:flex;justify-content:flex-end;margin:.85rem 0}.task-screen-cta.split{justify-content:space-between;gap:.6rem}.task-screen-cta button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:190px}
.review-dashboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.review-dashboard article{padding:1rem;border:1px solid #d7e5eb;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbfc);box-shadow:0 7px 22px rgba(4,38,60,.055);text-align:center}.review-dashboard span{display:block;font-size:1.35rem;font-weight:900;color:#0a628f}.review-dashboard small{display:block;margin-top:.25rem;color:#647b89;font-size:.72rem}
.review-checklist{margin-top:.8rem;border:1px solid #d6e5eb;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 8px 26px rgba(4,39,60,.06)}.review-checklist-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.9rem 1rem;background:linear-gradient(135deg,#edf8fc,#f6fbfd);border-bottom:1px solid #dce9ee}.review-checklist-head span,.review-checklist-head strong{display:block}.review-checklist-head span{font-size:.72rem;color:#5a7484}.review-checklist-head strong{margin-top:.12rem;font-size:.92rem}.review-checklist-head>b{padding:.35rem .65rem;border-radius:999px;background:#e7f4ee;color:#146c4d;font-size:.7rem}
.review-checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:.75rem}.review-checklist-grid>div{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:.55rem;padding:.65rem;border-radius:14px;border:1px solid #dce7ec;background:#fafcfd}.review-checklist-grid i{grid-row:1/3;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-weight:900}.review-checklist-grid span{font-size:.83rem;font-weight:800}.review-checklist-grid small{font-size:.68rem;color:#6b7f8c}.review-checklist-grid .done i{background:#e1f4eb;color:#14724f}.review-checklist-grid .missing{background:#fffaf7;border-color:#f0ddd1}.review-checklist-grid .missing i{background:#fff0e7;color:#bd5b28}
.review-edit-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:.8rem 0}.review-edit-links button{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;text-align:right;align-items:center;column-gap:.55rem;min-height:70px;background:#fff;border-color:#d6e4ea;color:#17384e}.review-edit-links button>span{grid-row:1/3;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#edf5f8;color:#0b79b7}.review-edit-links strong,.review-edit-links small{display:block}.review-edit-links strong{font-size:.82rem}.review-edit-links small{font-size:.66rem;color:#6b7f8c}
.review-save-bar{margin-top:.8rem;border-radius:20px!important;border:1px solid #cfe0e7!important;background:linear-gradient(135deg,#f7fbfd,#fff)!important;box-shadow:0 10px 30px rgba(4,39,60,.08)!important}
.task-step-footer{display:none}
body.text-large{font-size:17px}body.text-large button,body.text-large input,body.text-large select,body.text-large textarea{font-size:1rem}body.text-large .task-card h3{font-size:1.08rem}

@media(max-width:900px){
  body{font-size:16px;line-height:1.48}
  .task-screen{display:none;animation:taskScreenIn .2s ease}.task-screen.active{display:block}.task-review-screen{margin-top:0}
  @keyframes taskScreenIn{from{opacity:.25;transform:translateY(7px)}to{opacity:1;transform:none}}
  .task-screen-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important;position:sticky!important;top:64px!important;z-index:44!important}
  .task-subnav button{min-height:58px!important}.task-subnav button b{font-size:.73rem!important}.task-subnav button small{display:block!important;font-size:.61rem!important;line-height:1.2}.task-subnav button>span{width:29px!important;height:29px!important}
  .screen-intro-card{grid-template-columns:50px 1fr;gap:.7rem;margin:.6rem 0;padding:.8rem;border-radius:18px}.screen-intro-index{width:47px;height:47px;border-radius:15px;font-size:.92rem}.screen-intro-card span{font-size:.76rem}.screen-intro-card h2{font-size:1.12rem}.screen-intro-card p{font-size:.86rem;line-height:1.48}
  .task-screen-cta{margin:.7rem 0}.task-screen-cta button{width:100%;min-width:0;min-height:52px;font-size:.92rem}.task-screen-cta.split{display:grid;grid-template-columns:1fr 1.2fr}
  .task-workflow{font-size:.84rem}.task-workflow strong{font-size:.82rem}.task-workflow small{font-size:.7rem}
  .info-grid span{font-size:.78rem!important}.info-grid strong{font-size:.94rem!important;line-height:1.35}
  .description-card h3{font-size:.94rem!important}.description-card p{font-size:.9rem!important;line-height:1.62!important}
  .enhanced-heading h2{font-size:1.08rem!important}.enhanced-heading p{font-size:.82rem!important;line-height:1.45}
  .quick-times button{font-size:.88rem!important;min-height:54px!important}.time-summary{font-size:.86rem}
  .form-grid label{font-size:.82rem!important}.form-grid input,.form-grid textarea{font-size:1rem!important;line-height:1.5!important;min-height:48px}.form-grid textarea{min-height:100px}
  .photo-section-heading h2{font-size:1.08rem}.photo-section-heading p{font-size:.84rem;line-height:1.48}.photo-professional-banner strong{font-size:.96rem}.photo-professional-banner span{font-size:.78rem}.photo-stage h3{font-size:1rem}.photo-stage p{font-size:.82rem;line-height:1.45}.pro-photo-action strong{font-size:.9rem}.pro-photo-action small{font-size:.75rem}.stage-status{font-size:.78rem}
  .review-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.review-dashboard article{padding:.75rem;border-radius:16px}.review-dashboard span{font-size:1.22rem}.review-dashboard small{font-size:.73rem}
  .review-checklist-head{padding:.75rem}.review-checklist-head span{font-size:.76rem}.review-checklist-head strong{font-size:.9rem}.review-checklist-head>b{font-size:.68rem}.review-checklist-grid{grid-template-columns:1fr;padding:.6rem}.review-checklist-grid span{font-size:.9rem}.review-checklist-grid small{font-size:.74rem}
  .review-edit-links{grid-template-columns:1fr}.review-edit-links button{min-height:66px}.review-edit-links strong{font-size:.92rem}.review-edit-links small{font-size:.76rem}
  .review-save-bar{display:block!important;padding:.85rem!important;margin-bottom:78px!important}.review-save-bar>span{display:block;margin-bottom:.65rem;font-size:.8rem;line-height:1.45}.review-save-bar>div{display:grid!important;grid-template-columns:1fr 1.25fr;gap:.5rem}.review-save-bar button{min-height:54px;font-size:.88rem}
  .task-step-footer{position:sticky;bottom:calc(70px + var(--safe-bottom));z-index:46;display:grid;grid-template-columns:86px 1fr 86px;align-items:center;gap:.45rem;margin:.8rem 0 0;padding:.5rem;border:1px solid rgba(193,214,224,.95);border-radius:19px;background:rgba(255,255,255,.94);box-shadow:0 12px 34px rgba(2,28,45,.16);backdrop-filter:blur(18px)}
  .task-step-footer button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.4rem;border-radius:14px;background:#edf5f8;color:#12435f;border-color:#d3e4eb;font-size:.78rem}.task-step-footer button:last-child{background:linear-gradient(145deg,#0b79b7,#0a5e8b);color:#fff}.task-step-footer button:disabled{visibility:hidden}.task-step-footer>div{text-align:center}.task-step-footer small,.task-step-footer strong{display:block}.task-step-footer small{font-size:.64rem;color:#6b808d}.task-step-footer strong{font-size:.83rem;margin-top:.1rem}
  .task-header h1{font-size:1.65rem!important}.task-location{font-size:.86rem!important;line-height:1.45}.task-action-button strong{font-size:.76rem!important}.task-action-button small{display:none!important}.next-action-card small{font-size:.72rem!important}.next-action-card strong{font-size:.9rem!important}.next-action-badge{font-size:.65rem!important}
  .task-card{padding:1rem!important}.task-card h3{font-size:1rem!important}.task-meta{font-size:.82rem!important}.pill{font-size:.76rem!important}
  .map-hero-copy .eyebrow{font-size:.67rem!important}.map-hero-copy h1{font-size:1.35rem!important}.map-hero-copy p{font-size:.8rem!important}.map-hero-stats article small{font-size:.62rem!important}.map-control-head strong{font-size:.9rem!important}.map-control-head small{font-size:.7rem!important}.map-control-status{font-size:.66rem!important}.map-search-wrap input{font-size:.94rem!important}.map-select-field{font-size:.72rem!important}.map-select-field select{font-size:.88rem!important}.map-filter-grid .switch-control b{font-size:.82rem!important}.map-mode-switch button b{font-size:.75rem!important}.road-layer-title strong{font-size:.86rem!important}.road-layer-title small{font-size:.68rem!important}.layer-toggle b{font-size:.82rem!important}.layer-toggle small{font-size:.68rem!important}.layer-radius{font-size:.7rem!important}.layer-radius select{font-size:.84rem!important}.map-settings-btn strong{font-size:.82rem!important}.map-settings-btn small{font-size:.68rem!important}.map-stage-kicker{font-size:.6rem!important}.map-stage-head strong{font-size:.84rem!important}.map-stage-badges span{font-size:.62rem!important}.location-status{font-size:.78rem!important}.map-status-row button{font-size:.78rem!important}.map-legend{font-size:.68rem!important}.nearby-heading h2{font-size:1rem!important}.nearby-heading small{font-size:.72rem!important}
  body.text-large{font-size:18px}.text-large .screen-intro-card p,.text-large .description-card p,.text-large .form-grid input,.text-large .form-grid textarea{font-size:1.05rem!important}
}

body[data-theme="dark"] .screen-intro-card,body[data-theme="dark"] .review-dashboard article,body[data-theme="dark"] .review-checklist,body[data-theme="dark"] .review-edit-links button,body[data-theme="dark"] .task-step-footer{background:#132431!important;border-color:#29404f!important;color:#e8f1f5!important}body[data-theme="dark"] .review-checklist-head,body[data-theme="dark"] .review-checklist-grid>div,body[data-theme="dark"] .review-save-bar{background:#172b39!important;border-color:#2b4656!important}body[data-theme="dark"] .screen-intro-card p,body[data-theme="dark"] .review-dashboard small,body[data-theme="dark"] .review-checklist-grid small,body[data-theme="dark"] .review-edit-links small{color:#a9bfcb!important}

/* Sprint 20A.1 - Reliability and diagnostics */
.health-summary{margin:1rem 0;padding:1rem 1.1rem;border-radius:14px;background:#eef7fb;border:1px solid #c9e2ee;color:#173d59;font-weight:750;line-height:1.55}.health-summary.good{background:#e8f7ef;border-color:#b9dfca;color:#17613c}.health-summary.warning{background:#fff4de;border-color:#ead09a;color:#80510a}.health-summary.error{background:#fcebec;border-color:#e8b9bd;color:#8c2c34}.reliability-actions{flex-wrap:wrap}.reliability-actions button{min-width:150px}.reliability-dialog .status-list{max-height:48vh;overflow:auto;padding-left:.15rem}
@media(max-width:900px){.reliability-actions{grid-template-columns:1fr 1fr}.reliability-actions button:last-child{grid-column:1/-1}}
@media(max-width:480px){.reliability-actions{grid-template-columns:1fr}.reliability-actions button:last-child{grid-column:auto}}


/* Sprint 20E.1 - field synchronization center */
.sync-center-dialog{width:min(760px,calc(100vw - 24px));max-width:760px}
.sync-connection{padding:12px 14px;border-radius:10px;font-weight:700;text-align:right;margin:10px 0}
.sync-connection.online{background:#e4f5eb;color:#12613a;border:1px solid #9fd2b4}.sync-connection.offline{background:#fff3d8;color:#7c5200;border:1px solid #e7c56f}
.sync-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.sync-stat-grid article{background:#f5f9fc;border:1px solid #cad9e5;border-radius:12px;padding:14px;text-align:right}.sync-stat-grid span{display:block;color:#587086;font-size:.84rem}.sync-stat-grid strong{display:block;font-size:1.7rem;color:#0b3658;margin-top:5px}
.sync-last-export,.sync-history-section{border:1px solid #d4e0e8;border-radius:12px;padding:12px 14px;margin-top:10px;background:#fff}.sync-last-export h3,.sync-history-section h3{margin:0 0 8px;color:#123b5b}.sync-last-export p{margin:0;color:#415d73}
.sync-history{display:grid;gap:7px;max-height:190px;overflow:auto}.sync-history>div{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:9px 10px;background:#f7fafc;border-radius:8px;border-right:4px solid #1b8ac2}.sync-history strong{text-align:right}.sync-history span{direction:ltr;color:#5f7586}.sync-history small{grid-column:1/-1;text-align:right;color:#607789}.sync-history p{text-align:right;color:#718391}
.sync-safety-note{margin-top:12px;padding:10px 12px;background:#eef6fb;border-right:4px solid #2789bd;color:#294c64;text-align:right}
@media(max-width:700px){.sync-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sync-center-dialog{width:calc(100vw - 12px)}}

/* Sprint 20E.4 - sequence recovery and gap detection */
.sync-office-ack{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #d4e0e8;border-radius:12px;padding:12px 14px;margin-top:10px;background:#fff;text-align:right}
.sync-office-ack h3{margin:0 0 7px;color:#123b5b}.sync-office-ack p{margin:0}.sync-office-ack .ack-confirmed{color:#12613a;font-weight:700}.sync-office-ack .ack-pending{color:#7a5a12}
.sync-office-ack button{flex:0 0 auto;min-height:42px}
@media(max-width:600px){.sync-office-ack{align-items:stretch;flex-direction:column}.sync-office-ack button{width:100%}}

/* Sprint 20E.4 - export sequence and recovery */
.sync-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.sync-sequence-state{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #b7d7c3;border-right:5px solid #16824c;border-radius:12px;padding:12px 14px;margin-top:10px;background:#eef9f2;text-align:right}
.sync-sequence-state.pending{border-color:#e6c777;border-right-color:#c88910;background:#fff8e6}.sync-sequence-state h3{margin:0 0 5px;color:#123b5b}.sync-sequence-state p{margin:0;color:#4b6579}.sync-sequence-state>strong{white-space:nowrap;background:#fff;border:1px solid currentColor;border-radius:999px;padding:8px 13px;color:#12613a}.sync-sequence-state.pending>strong{color:#7c5200}
@media(max-width:820px){.sync-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sync-sequence-state{align-items:stretch;flex-direction:column}.sync-sequence-state>strong{align-self:flex-start}}


/* Sprint 20E.5 - operational sync center and recovery request */
.sync-operational-status{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:12px;padding:12px 14px;margin:10px 0;text-align:right;border:1px solid #b8d9c5;background:#edf9f2;color:#145d39}.sync-operational-status.attention{border-color:#e4c56f;background:#fff7df;color:#765000}.sync-operational-status strong{font-size:1rem}.sync-operational-status span{color:inherit;opacity:.86}
.sync-recovery-request,.sync-recovery-import{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #c8d8e5;border-right:5px solid #0876b8;border-radius:12px;padding:12px 14px;margin-top:10px;background:#eef6fb;text-align:right}.sync-recovery-request h3,.sync-recovery-import h3{margin:0 0 6px;color:#123b5b}.sync-recovery-request p,.sync-recovery-import p{margin:0;color:#435f75}.sync-recovery-actions{display:flex;gap:8px;flex:0 0 auto}.sync-recovery-request.hidden{display:none}
@media(max-width:650px){.sync-operational-status,.sync-recovery-request,.sync-recovery-import{align-items:stretch;flex-direction:column}.sync-operational-status span{text-align:right}.sync-recovery-actions,.sync-recovery-import button{width:100%}.sync-recovery-actions button{width:100%}}


/* Sprint 20E.6 - full device backup and recovery (retained in 20E.8) */
.sync-device-backup{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #b8d3e4;border-right:5px solid #126fa5;border-radius:12px;padding:14px;margin-top:10px;background:#f2f8fc;text-align:right}.sync-device-backup h3{margin:0 0 7px;color:#123b5b}.sync-backup-status{display:grid;gap:3px;color:#36586f}.sync-backup-status strong{color:#173d59}.sync-backup-status.attention strong{color:#7b5200}.sync-backup-actions{display:flex;gap:8px;flex:0 0 auto}.sync-backup-actions button{min-height:42px;white-space:nowrap}
@media(max-width:700px){.sync-device-backup{align-items:stretch;flex-direction:column}.sync-backup-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.sync-backup-actions button{width:100%}}
@media(max-width:430px){.sync-backup-actions{grid-template-columns:1fr}}

/* Sprint 20E.8 - optional cloud synchronization */
.cloud-sync-panel{border:1px solid #a9c9dc;border-right:5px solid #0b78ad;border-radius:14px;padding:14px;margin-top:10px;background:linear-gradient(180deg,#f5fbff 0%,#edf7fc 100%);text-align:right}.cloud-sync-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.cloud-sync-heading h3{margin:0 0 5px;color:#103d5c}.cloud-sync-heading p{margin:0;color:#46667b}.cloud-queue-badge{display:grid;place-items:center;min-width:72px;padding:8px 10px;border-radius:12px;background:#0d6f9f;color:#fff}.cloud-queue-badge strong{font-size:22px}.cloud-queue-badge small{font-size:11px}.cloud-sync-status{display:grid;gap:3px;margin:12px 0;padding:10px 12px;border-radius:10px;border:1px solid #c7d9e5;background:#fff}.cloud-sync-status strong{color:#163f59}.cloud-sync-status span{color:#4c687a;font-size:13px}.cloud-sync-status.ready{border-color:#7cc7a6;background:#edf9f4}.cloud-sync-status.ready strong{color:#126344}.cloud-sync-status.offline{border-color:#e6c36a;background:#fff8e8}.cloud-sync-status.offline strong{color:#7a5700}.cloud-sync-status.disabled{border-color:#c8d1d8;background:#f4f6f8}.cloud-sync-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cloud-sync-form .full{grid-column:1/-1}.cloud-check{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:8px 10px;background:#fff;border:1px solid #d2e0e8;border-radius:9px}.cloud-check input{width:18px;height:18px}.cloud-field{display:grid;gap:5px;color:#234e68;font-weight:600}.cloud-field input{min-height:42px;border:1px solid #b9ceda;border-radius:9px;padding:8px 10px;background:#fff;color:#173b51}.cloud-sync-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;margin-top:12px}.cloud-sync-actions button{min-height:42px;white-space:nowrap}@media(max-width:700px){.cloud-sync-heading{align-items:stretch}.cloud-sync-form{grid-template-columns:1fr}.cloud-sync-form .full{grid-column:auto}.cloud-sync-actions{display:grid;grid-template-columns:1fr 1fr}.cloud-sync-actions button{width:100%}}

/* Sprint 23A.4 - voice assisted field reporting */
.voice-input-wrap{position:relative;display:flex;gap:8px;align-items:flex-start}.voice-input-wrap textarea{flex:1;min-width:0}.voice-dictation-btn{min-width:82px;border:1px solid #b9c9db;background:#f7fbff;color:#174f7c;border-radius:10px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:3px;font-weight:700;cursor:pointer}.voice-dictation-btn:hover{background:#eaf4fd}.voice-dictation-btn.listening{background:#fff0f0;border-color:#d64545;color:#a51f1f;animation:voicePulse 1s infinite}.voice-dictation-btn.unsupported{opacity:.55;cursor:not-allowed}@keyframes voicePulse{0%,100%{box-shadow:0 0 0 0 rgba(214,69,69,.25)}50%{box-shadow:0 0 0 7px rgba(214,69,69,0)}}@media(max-width:720px){.voice-input-wrap{flex-direction:column}.voice-dictation-btn{width:100%;flex-direction:row;justify-content:center}}


/* Sprint 23B.3 — dynamic field inspection draft, fully RTL */
.inspection-start-dialog{width:min(1100px,96vw);max-width:1100px}
.inspection-start-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:18px;padding:18px;direction:rtl}
.inspection-start-card{background:var(--card,#fff);border:1px solid var(--border,#d6dee5);border-radius:16px;padding:18px;text-align:right}
.inspection-start-card h3{margin:0 0 14px;color:#12365a}
.inspection-start-card label{display:grid;gap:6px;margin:10px 0;text-align:right}
.inspection-start-card label span{font-weight:700;color:#29495e}
.inspection-start-card input,.inspection-start-card textarea,.inspection-start-card select{width:100%;box-sizing:border-box;text-align:right;direction:rtl}
.inspection-start-card select[size]{min-height:260px}
.inspection-template-summary{margin-top:12px;padding:12px;border-radius:10px;background:#eef5fa;color:#29495e;line-height:1.7;text-align:right}
.inspection-inline-actions,.inspection-editor-actions{display:flex;gap:10px;justify-content:flex-start;flex-wrap:wrap;margin-top:14px;direction:rtl}
.inspection-workspace-dialog{width:min(1320px,98vw);max-width:1320px;height:min(900px,96vh)}
.inspection-workspace-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px 18px;direction:rtl}
.inspection-workspace-meta article{border:1px solid var(--border,#d6dee5);border-radius:12px;padding:10px 14px;background:var(--card,#fff);text-align:right}
.inspection-workspace-meta span{display:block;color:#667c8c;font-size:.82rem}.inspection-workspace-meta strong{display:block;margin-top:4px;color:#12365a}
.inspection-workspace-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:16px;padding:0 18px 16px;height:calc(100% - 210px);direction:rtl}
.inspection-record-editor,.inspection-record-list-panel{border:1px solid var(--border,#d6dee5);border-radius:14px;background:var(--card,#fff);padding:16px;overflow:auto;text-align:right}
.inspection-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border,#d6dee5);padding-bottom:10px;margin-bottom:12px;direction:rtl}
.inspection-section-head span{color:#0b6fa4;font-weight:800}.inspection-section-head h3{margin:3px 0 0;color:#12365a}
.inspection-dynamic-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;direction:rtl}
.inspection-dynamic-form .inspection-field{display:grid;gap:6px;text-align:right}.inspection-dynamic-form .inspection-field.full{grid-column:1/-1}
.inspection-dynamic-form label{font-weight:700;color:#29495e;text-align:right}.inspection-dynamic-form label em{color:#b42318;font-style:normal}
.inspection-dynamic-form input,.inspection-dynamic-form textarea,.inspection-dynamic-form select{width:100%;box-sizing:border-box;text-align:right;direction:rtl}
.inspection-dynamic-form textarea{min-height:96px;resize:vertical}.inspection-dynamic-form .gps-readonly{background:#eef5fa;padding:12px;border-radius:10px;color:#175cd3}
.inspection-field-control{display:flex;gap:8px;align-items:stretch;direction:rtl}.inspection-field-control>*:first-child{flex:1}.inspection-field-control .voice-dictation-btn{white-space:nowrap}
.inspection-record-list{display:grid;gap:10px}.inspection-record-card{border:1px solid var(--border,#d6dee5);border-right:5px solid #0b6fa4;border-radius:12px;padding:12px;text-align:right;cursor:pointer;background:#fff}
.inspection-record-card.active{outline:2px solid #0b6fa4}.inspection-record-card h4{margin:0 0 6px;color:#12365a}.inspection-record-card p{margin:4px 0;color:#50667a}.inspection-record-card small{display:block;color:#7b8c99}
.inspection-record-card .record-actions{display:flex;gap:6px;justify-content:flex-start;margin-top:9px;direction:rtl}.inspection-record-card .record-actions button{padding:6px 10px}
@media(max-width:900px){.inspection-start-grid,.inspection-workspace-grid{grid-template-columns:1fr}.inspection-workspace-dialog{height:96vh}.inspection-workspace-grid{height:auto;max-height:calc(96vh - 220px);overflow:auto}.inspection-dynamic-form{grid-template-columns:1fr}.inspection-workspace-meta{grid-template-columns:repeat(2,1fr)}}


/* Sprint 23B.3 — inspection camera, metadata and offline gallery */
.inspection-workspace-meta{grid-template-columns:repeat(5,1fr)}
.inspection-photo-panel{grid-column:1/-1;border:1px solid #cbd8e2;border-radius:14px;background:#f8fbfd;padding:14px;margin-top:14px;text-align:right;direction:rtl}
.inspection-photo-panel>p{margin:8px 0 12px;color:#5d7282;line-height:1.6}
.inspection-photo-head{display:flex;align-items:center;justify-content:space-between;gap:12px;direction:rtl}.inspection-photo-head span{display:block;color:#0b6fa4;font-weight:800}.inspection-photo-head strong{display:block;color:#12365a;margin-top:3px}.inspection-photo-actions{display:flex;gap:8px;flex-wrap:wrap;direction:rtl}
.inspection-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.inspection-photo-empty{grid-column:1/-1;padding:24px;border:1px dashed #b7c7d3;border-radius:12px;background:#fff;display:grid;gap:6px;text-align:center;color:#60798a}.inspection-photo-empty strong{color:#23465e}
.inspection-photo-card{position:relative;border:1px solid #cfdae3;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 3px 12px rgba(20,55,80,.06)}.inspection-photo-preview{display:block;width:100%;padding:0;border:0;background:#eef4f8;cursor:pointer;position:relative}.inspection-photo-preview img{display:block;width:100%;height:150px;object-fit:cover}.inspection-photo-preview span{position:absolute;right:8px;top:8px;background:rgba(7,35,57,.82);color:#fff;border-radius:999px;padding:4px 9px;font-size:.75rem}.inspection-photo-meta{display:grid;gap:3px;padding:10px;text-align:right;direction:rtl}.inspection-photo-meta strong{color:#173b55;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inspection-photo-meta small{color:#6f8290;line-height:1.35}.inspection-photo-delete{position:absolute;left:8px;top:8px;padding:5px 9px;font-size:.75rem}
.inspection-photo-viewer-dialog{width:min(1050px,96vw);max-width:1050px}.inspection-photo-viewer-body{padding:16px;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;direction:rtl}.inspection-photo-viewer-body img{width:100%;max-height:72vh;object-fit:contain;background:#0c2334;border-radius:12px}.inspection-photo-viewer-meta{background:#f1f6f9;border:1px solid #d3e0e8;border-radius:12px;padding:14px;text-align:right;direction:rtl;line-height:1.8;overflow-wrap:anywhere}
@media(max-width:900px){.inspection-workspace-meta{grid-template-columns:repeat(2,1fr)}.inspection-photo-head{align-items:stretch;flex-direction:column}.inspection-photo-actions button{flex:1}.inspection-photo-gallery{grid-template-columns:1fr 1fr}.inspection-photo-viewer-body{grid-template-columns:1fr}.inspection-photo-viewer-meta{max-height:30vh;overflow:auto}}
@media(max-width:560px){.inspection-photo-gallery{grid-template-columns:1fr}.inspection-photo-preview img{height:220px}}

/* Sprint 23B.6 - unified inspection packages */
.empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.inspection-reports-dialog{width:min(1380px,98vw);max-width:1380px;height:min(920px,96vh)}
.inspection-reports-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px;padding:16px 18px;height:calc(100% - 142px);direction:rtl}
.inspection-report-library,.inspection-report-content{border:1px solid var(--border,#d6dee5);border-radius:14px;background:var(--card,#fff);padding:14px;overflow:auto;text-align:right;direction:rtl}
.inspection-report-library select{width:100%;min-height:430px;text-align:right;direction:rtl;padding:8px}
.inspection-report-library-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;direction:rtl}.inspection-report-library-actions button{flex:1;min-width:120px}
.inspection-report-summary{background:linear-gradient(135deg,#0b2d49,#14577b);color:#fff;border-radius:16px;padding:18px;margin-bottom:14px;text-align:right;direction:rtl}

.inspection-report-readonly{margin-top:12px;padding:12px 14px;border-radius:12px;background:#fff4cd;color:#503b00;border:1px solid #e3c45a;display:grid;gap:6px;text-align:right;direction:rtl}
.inspection-report-readonly strong{font-size:.98rem}.inspection-report-readonly span{font-size:.88rem;line-height:1.45}.inspection-report-readonly button{justify-self:start;margin-top:4px}
.inspection-report-summary h3{margin:0 0 8px;font-size:1.35rem}.inspection-report-summary p{margin:4px 0;color:#d8ecf6}.inspection-report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.inspection-report-summary-grid article{background:rgba(255,255,255,.12);border-radius:10px;padding:9px}.inspection-report-summary-grid span{display:block;font-size:.75rem;color:#d8ecf6}.inspection-report-summary-grid strong{display:block;margin-top:3px;color:#fff}
.inspection-report-findings{display:grid;gap:14px}.inspection-report-finding{border:1px solid #cfdae3;border-right:6px solid #0b6fa4;border-radius:14px;background:#fff;padding:16px;text-align:right;direction:rtl;box-shadow:0 4px 14px rgba(20,55,80,.06)}
.inspection-report-finding-head{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid #e0e8ee;padding-bottom:10px}.inspection-report-finding-no{display:grid;place-items:center;min-width:44px;height:44px;border-radius:12px;background:#e8f4fa;color:#0b6fa4;font-weight:900}.inspection-report-finding h4{margin:0;color:#12365a;font-size:1.08rem}.inspection-report-finding-head small{display:block;color:#6f8290;margin-top:4px}
.inspection-report-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:11px 0}.inspection-report-meta div{background:#f1f6f9;border-radius:9px;padding:8px}.inspection-report-meta span{display:block;color:#718492;font-size:.72rem}.inspection-report-meta strong{display:block;color:#29495e;margin-top:2px;font-size:.86rem}
.inspection-report-text{line-height:1.7;color:#344f61;white-space:pre-wrap}.inspection-report-treatment{margin-top:9px;padding:10px;border-right:4px solid #f79009;background:#fff8e8;border-radius:8px;white-space:pre-wrap}
.inspection-report-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:12px}.inspection-report-photo{padding:0;border:0;border-radius:10px;overflow:hidden;background:#e9f1f6;cursor:pointer}.inspection-report-photo img{display:block;width:100%;height:125px;object-fit:cover}.inspection-report-photo small{display:block;padding:5px 7px;text-align:right;color:#5f7483;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inspection-report-empty{padding:38px 18px;text-align:center;border:1px dashed #b7c7d3;border-radius:12px;color:#60798a;background:#f8fbfd}
@media(max-width:900px){.inspection-reports-layout{grid-template-columns:1fr;height:auto;max-height:calc(96vh - 150px);overflow:auto}.inspection-report-library select{min-height:170px}.inspection-report-summary-grid,.inspection-report-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.inspection-reports-dialog{height:96vh}}
@media(max-width:560px){.inspection-report-summary-grid,.inspection-report-meta{grid-template-columns:1fr 1fr}.inspection-report-photo-grid{grid-template-columns:1fr 1fr}.inspection-report-photo img{height:140px}}


/* Sprint 23B.6 - package cards for inspection reports */
.inspection-report-select-hidden{display:none!important}
.inspection-package-list{display:flex;flex-direction:column;gap:10px;max-height:520px;overflow:auto;padding:2px;direction:rtl;text-align:right}
.inspection-package-card{border:1px solid var(--border,#d6dee5);border-right:5px solid #7d94a6;border-radius:13px;padding:12px;background:var(--card,#fff);cursor:pointer;box-shadow:0 3px 10px rgba(17,48,69,.06);transition:.16s ease}
.inspection-package-card:hover{transform:translateY(-1px);border-color:#0b6fa4}
.inspection-package-card.active{border-right-color:#0b6fa4;background:rgba(11,111,164,.07);box-shadow:0 5px 16px rgba(11,111,164,.15)}
.inspection-package-card-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}
.inspection-package-source,.inspection-package-count{font-size:12px;font-weight:800;border-radius:999px;padding:4px 8px;background:#edf4f8;color:#173044}
.inspection-package-card h4{margin:0 0 5px;font-size:16px;line-height:1.35}.inspection-package-card p{margin:0 0 5px;color:var(--muted,#607487)}.inspection-package-card small{display:block;margin-bottom:10px;color:var(--muted,#607487)}
.inspection-package-open{width:100%;min-height:38px}.inspection-package-empty{padding:24px 12px;text-align:center;border:1px dashed var(--border,#d6dee5);border-radius:12px;color:var(--muted,#607487)}
@media(max-width:900px){.inspection-package-list{max-height:280px}.inspection-package-card{padding:11px}.inspection-package-card h4{font-size:15px}}


/* Sprint 23B.6 - unified work center: tasks, supervision and map */
.workspace-module-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0 11px;padding:5px;border:1px solid var(--border);border-radius:15px;background:var(--surface-2);direction:rtl}
.workspace-module-nav button{min-width:0;padding:8px 4px;border-radius:11px;background:transparent;color:var(--muted);box-shadow:none;display:grid;grid-template-columns:26px 1fr;grid-template-rows:auto auto;align-items:center;text-align:right;gap:1px 5px}
.workspace-module-nav button>span{grid-row:1/3;width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:rgba(23,108,164,.08);color:var(--blue)}
.workspace-module-nav button strong{font-size:12px;white-space:nowrap}.workspace-module-nav button small{font-size:10px;color:inherit}
.workspace-module-nav button.active{background:linear-gradient(145deg,#0c7db6,#115783);color:#fff;box-shadow:0 7px 16px rgba(17,87,131,.2)}.workspace-module-nav button.active>span{background:rgba(255,255,255,.16);color:#fff}
.sidebar-workspace{display:block}.inspection-sidebar-workspace{display:grid;gap:10px}.inspection-sidebar-head{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start;padding:13px;border-radius:15px;background:linear-gradient(145deg,#0b2d49,#14577b);color:#fff}.inspection-sidebar-head span,.inspection-sidebar-head strong,.inspection-sidebar-head small{display:block}.inspection-sidebar-head>div>span{font-size:10px;color:#8ed6f1;font-weight:900}.inspection-sidebar-head strong{margin:3px 0;font-size:15px}.inspection-sidebar-head small{font-size:11px;color:#d4e8f1;line-height:1.45}.inspection-sidebar-head>span{min-width:33px;height:33px;border-radius:11px;background:rgba(255,255,255,.13);display:grid;place-items:center;font-weight:900}
.inspection-sidebar-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.inspection-sidebar-actions button{padding:9px 6px;font-size:12px}.inspection-sidebar-list{display:grid;gap:8px}.inspection-sidebar-card{width:100%;text-align:right;background:var(--surface);color:var(--text);border:1px solid var(--border);border-right:5px solid #8ca2b1;border-radius:14px;padding:11px;box-shadow:var(--shadow-sm);display:grid;gap:5px}.inspection-sidebar-card:hover,.inspection-sidebar-card.active{border-right-color:var(--blue);background:linear-gradient(135deg,#eef8fd,var(--surface));box-shadow:0 7px 18px rgba(23,108,164,.13)}.inspection-sidebar-card>div{display:flex;justify-content:space-between;gap:8px;align-items:center}.inspection-sidebar-card>div span,.inspection-sidebar-card>div b{font-size:10px;border-radius:999px;padding:3px 7px;background:#edf4f8;color:#31536a}.inspection-sidebar-card strong{font-size:14px;line-height:1.35}.inspection-sidebar-card small{font-size:11px;color:var(--muted);line-height:1.4}.inspection-sidebar-card em{font-size:10px;color:#168256;font-style:normal;font-weight:800}.inspection-sidebar-empty{padding:24px 13px;border:1px dashed var(--border-strong);border-radius:14px;text-align:center;background:var(--surface-2)}.inspection-sidebar-empty strong,.inspection-sidebar-empty span{display:block}.inspection-sidebar-empty span{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}
.inspection-workspace-panel{display:grid;gap:14px}.inspection-workspace-hero{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:14px;padding:18px;border-radius:21px;background:radial-gradient(circle at 10% 0,rgba(68,195,225,.28),transparent 38%),linear-gradient(135deg,#071f34,#0b5277);color:#fff;box-shadow:0 15px 36px rgba(5,38,58,.18)}.inspection-workspace-hero-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.13);font-size:27px}.inspection-workspace-hero span{display:block;color:#7fd5ef;font-size:10px;font-weight:900;letter-spacing:.08em}.inspection-workspace-hero h1{margin:3px 0 4px;font-size:25px}.inspection-workspace-hero p{margin:0;color:#d1e6ef;line-height:1.55}.inspection-workspace-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.inspection-workspace-hero-actions .secondary{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25)}
.inspection-location-chip{margin-right:auto;white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:850}.inspection-location-chip.ready{background:#e7f8ef;color:#087647}.inspection-location-chip.missing{background:#fff1e7;color:#a64a00}.inspection-finding-actions{display:flex;gap:8px;justify-content:flex-start;margin-top:12px;direction:rtl}.inspection-finding-actions button{min-width:120px}.inspection-report-empty strong,.inspection-report-empty span{display:block}.inspection-report-empty span{margin-top:6px}
body[data-theme="dark"] .workspace-module-nav,body[data-theme="dark"] .inspection-sidebar-card,body[data-theme="dark"] .inspection-sidebar-empty{background:#152a38;border-color:#2b4453;color:#edf7fb}body[data-theme="dark"] .inspection-sidebar-card.active{background:#17384b}
@media(max-width:900px){
  .mobile-command-actions{grid-template-columns:repeat(5,1fr)}.command-action{min-height:75px;padding:.48rem .12rem}.command-action strong{font-size:.57rem}.command-action small{font-size:.46rem}
  .workspace-module-nav{position:sticky;top:0;z-index:35;margin-top:4px;background:rgba(245,249,251,.94);backdrop-filter:blur(14px)}
  .inspection-workspace-hero{grid-template-columns:45px 1fr;padding:14px;border-radius:20px}.inspection-workspace-hero-icon{width:43px;height:43px;border-radius:14px;font-size:21px}.inspection-workspace-hero h1{font-size:18px}.inspection-workspace-hero p{font-size:11px}.inspection-workspace-hero-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.inspection-workspace-hero-actions button{min-height:44px}
  .inspection-workspace-panel{padding-bottom:20px}.inspection-report-finding-head{align-items:center}.inspection-location-chip{font-size:9px;padding:4px 7px}.inspection-finding-actions{display:grid;grid-template-columns:1fr 1fr}.inspection-finding-actions button{min-width:0}
  body.mobile-focus-inspection .task-panel,body.mobile-focus-inspection .mobile-command-center{display:none}body.mobile-focus-inspection .detail-panel{display:block}body.mobile-focus-inspection #fieldOverview,body.mobile-focus-inspection #mapPanel,body.mobile-focus-inspection #noTask,body.mobile-focus-inspection #taskDetail{display:none!important}body.mobile-focus-inspection #inspectionWorkspacePanel{display:grid!important}
}
@media(max-width:560px){.mobile-command-actions{gap:.25rem}.command-action{min-height:68px}.command-action .command-icon{width:26px;height:26px}.command-action strong{font-size:.52rem}.workspace-module-nav button{grid-template-columns:23px 1fr;padding:7px 2px}.workspace-module-nav button>span{width:23px;height:23px}.workspace-module-nav button strong{font-size:10px}.inspection-workspace-hero-actions{grid-template-columns:1fr}}


/* Sprint 23B.8 - unified spatial workspace and field surveys/assets terminology */
@media (min-width:901px){.field-overview{grid-template-columns:repeat(5,minmax(0,1fr))}}
.overview-card.overdue{border-top:3px solid #df6c3f}.overview-card.overdue .overview-icon{background:#fff0e8;color:#b74720}.overview-card.overdue .overview-value{color:#a53d19}
.task-lifecycle-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0 2px}.lifecycle-pill,.due-pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.15}.lifecycle-pill.new{background:#eef3f7;color:#465968}.lifecycle-pill.active{background:#dff2ff;color:#076b9a}.lifecycle-pill.review{background:#fff2cd;color:#8b5a00}.lifecycle-pill.closed{background:#dff5e9;color:#12683f}.due-pill.none,.due-pill.future{background:#eef3f7;color:#526576}.due-pill.soon,.due-pill.today{background:#fff4d5;color:#8c5e00}.due-pill.overdue{background:#ffe2dc;color:#a4301c}.task-assignee{font-size:11px;color:#687b89;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:145px}
.task-card[data-due-state="overdue"]{box-shadow:inset -4px 0 0 #d95d3c,0 8px 22px rgba(32,67,92,.08)}
.supervision-lifecycle-card{margin:16px 0;padding:18px;border:1px solid #c9dce8;border-radius:18px;background:linear-gradient(135deg,#f5fbff,#ffffff);box-shadow:0 8px 26px rgba(20,74,104,.08)}.supervision-lifecycle-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.supervision-lifecycle-head span{font-size:12px;font-weight:800;color:#1982b4}.supervision-lifecycle-head h3{margin:3px 0 4px;font-size:20px;color:#15364b}.supervision-lifecycle-head p{margin:0;color:#68808e;font-size:13px}.lifecycle-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 14px;border-radius:999px;font-weight:900;white-space:nowrap}.lifecycle-status-pill.new{background:#edf2f5;color:#526471}.lifecycle-status-pill.active{background:#dff3ff;color:#0872a4}.lifecycle-status-pill.review{background:#fff0bf;color:#855400}.lifecycle-status-pill.closed{background:#dcf4e7;color:#12663e}.supervision-lifecycle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.supervision-lifecycle-grid article{padding:11px 12px;border-radius:12px;background:#fff;border:1px solid #e3edf3}.supervision-lifecycle-grid span{display:block;font-size:11px;color:#718692;margin-bottom:4px}.supervision-lifecycle-grid strong{font-size:14px;color:#17384d}.supervision-lifecycle-grid strong[data-due-state="overdue"]{color:#b63c21}.supervision-lifecycle-grid strong[data-due-state="today"],.supervision-lifecycle-grid strong[data-due-state="soon"]{color:#8d6100}.supervision-lifecycle-actions{display:flex;gap:9px;justify-content:flex-start;margin-top:14px}.supervision-lifecycle-actions button:disabled{opacity:.48;cursor:not-allowed}
@media (max-width:900px){.supervision-lifecycle-card{margin:12px 0;padding:14px;border-radius:15px}.supervision-lifecycle-head{flex-direction:column}.supervision-lifecycle-grid{grid-template-columns:1fr}.supervision-lifecycle-actions{display:grid;grid-template-columns:1fr 1fr}.task-lifecycle-row{gap:5px}.task-assignee{max-width:120px}}
@media (max-width:520px){.supervision-lifecycle-actions{grid-template-columns:1fr}.field-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.field-overview .overview-card.overdue{grid-column:span 2}}

/* Sprint 23B.8 - terminology and unified spatial workspace */
.workspace-module-nav button[data-workspace-module="tasks"] strong{line-height:1.15}.mobile-bottom-nav button[data-mobile-view="tasks"] span{line-height:1.1;text-align:center}


/* ======================================================================
   Sprint 23B.9 - desktop field header alignment and full workspace labels
   Mobile layout is intentionally unchanged.
   ====================================================================== */
@media (min-width:901px){
  .app-header{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    justify-content:start;
    column-gap:14px;
    row-gap:8px;
    min-height:70px;
    padding:10px 16px;
    direction:rtl;
  }
  .brand{
    grid-column:1;
    grid-row:1;
    min-width:220px;
    flex-shrink:0;
  }
  .header-actions{
    grid-column:2;
    grid-row:1;
    width:100%;
    display:flex;
    align-items:center;
    align-content:center;
    justify-content:flex-start;
    gap:7px;
    row-gap:7px;
    flex-wrap:wrap;
    direction:rtl;
  }
  .header-actions > button,
  .header-actions > .badge{
    height:38px;
    min-height:38px;
    margin:0;
    padding:0 12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    line-height:1;
    white-space:nowrap;
  }
  .header-actions > button{font-size:.75rem}
  .header-actions > .badge{min-width:86px;font-size:.7rem}
  #versionBadge{min-width:78px}
  #importBtn,#exportBtn{min-width:128px}
  #newInspectionBtn,#inspectionReportsBtn{min-width:116px}
  #fieldMapBtn{min-width:116px}
  #deviceStatusBtn,#mobileHelpBtn,#logoutFieldUserBtn{min-width:104px}
  #themeBtn{width:38px;min-width:38px;padding:0}

  .workspace{grid-template-columns:minmax(370px,390px) minmax(0,1fr)}
  .task-panel{padding:14px}
  .workspace-module-nav{
    grid-template-columns:minmax(142px,1.38fr) minmax(104px,1fr) minmax(76px,.72fr);
    gap:6px;
    padding:5px;
  }
  .workspace-module-nav button{
    min-width:0;
    min-height:54px;
    grid-template-columns:28px minmax(0,1fr);
    grid-template-rows:auto auto;
    gap:2px 6px;
    padding:7px;
    overflow:visible;
  }
  .workspace-module-nav button > span{width:28px;height:28px}
  .workspace-module-nav button strong{
    min-width:0;
    font-size:11.5px;
    line-height:1.15;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    word-break:normal;
    overflow-wrap:normal;
  }
  .workspace-module-nav button small{font-size:10px}
  .workspace-module-nav button[data-workspace-module="tasks"] strong{
    max-width:none;
    text-wrap:balance;
  }
}


/* Sprint 23C.1 – multi-package work center */
.package-center-dialog{width:min(1120px,94vw);height:min(820px,90vh);max-width:none;border:0;border-radius:20px;padding:0;background:var(--surface,#fff);color:var(--text,#10243a);box-shadow:0 30px 80px rgba(5,24,42,.34)}
.package-center-dialog::backdrop{background:rgba(3,18,32,.62);backdrop-filter:blur(4px)}
.package-center-head{padding:20px 22px;border-bottom:1px solid var(--border,#d7e3ec)}
.package-center-toolbar{display:flex;align-items:center;gap:12px;padding:14px 20px;background:var(--surface-soft,#f5f9fc);border-bottom:1px solid var(--border,#d7e3ec)}
.package-center-toolbar input{flex:1;min-width:220px;padding:11px 14px;border:1px solid var(--border,#cbd9e4);border-radius:12px;background:var(--surface,#fff);color:inherit;text-align:right}
.package-center-toolbar span{font-size:.84rem;color:var(--muted,#63788a);white-space:nowrap}
.package-center-list{height:calc(100% - 170px);overflow:auto;padding:16px 20px 22px}
.package-project-group{margin-bottom:18px}.package-project-group>h3{display:flex;align-items:center;justify-content:space-between;margin:0 0 9px;padding:0 3px;font-size:1.02rem}.package-project-group>h3 small{font-weight:400;color:var(--muted,#63788a)}
.package-center-card{border:1px solid var(--border,#d7e3ec);border-radius:15px;background:var(--surface,#fff);padding:13px 15px;margin-bottom:10px;box-shadow:0 4px 14px rgba(23,55,76,.06)}
.package-center-card.active{border-color:#1597c8;box-shadow:0 0 0 2px rgba(21,151,200,.14)}.package-center-card.supervision{border-inline-start:5px solid #7656b5}
.package-card-main{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(250px,2fr) auto;gap:14px;align-items:center}.package-card-title{display:flex;flex-direction:column;gap:2px}.package-card-title>span{font-size:.72rem;color:#0879a5;font-weight:800}.package-card-title strong{font-size:.98rem}.package-card-title small{color:var(--muted,#63788a);direction:ltr;text-align:right}
.package-card-metrics{display:flex;flex-wrap:wrap;gap:7px}.package-card-metrics span{background:var(--surface-soft,#eef5f9);border-radius:999px;padding:6px 9px;font-size:.77rem;white-space:nowrap}.package-card-actions{display:flex;gap:7px;justify-content:flex-start}.package-card-actions button{white-space:nowrap}
.package-task-matches{margin-top:11px;padding-top:10px;border-top:1px dashed var(--border,#d7e3ec);display:flex;gap:7px;align-items:center;flex-wrap:wrap}.package-task-matches>b{font-size:.8rem;color:var(--muted,#63788a)}.package-task-matches button{display:flex;gap:7px;align-items:center;border:1px solid var(--border,#d7e3ec);background:var(--surface-soft,#f5f9fc);color:inherit;border-radius:10px;padding:7px 10px}.package-task-matches button span{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.package-center-empty{text-align:center;padding:50px 15px;color:var(--muted,#63788a)}
@media(max-width:900px){.package-center-dialog{width:100vw;height:100dvh;max-height:none;border-radius:0}.package-center-toolbar{flex-wrap:wrap}.package-center-toolbar input{flex-basis:100%}.package-center-list{height:calc(100% - 220px);padding:12px}.package-card-main{grid-template-columns:1fr}.package-card-actions{justify-content:stretch}.package-card-actions button{flex:1}.package-center-head{padding:16px}.package-center-toolbar span{white-space:normal}.package-task-matches button{width:100%;justify-content:space-between}}


/* Sprint 23C.2 – role-aware supervision field actions */
.supervision-lifecycle-card[data-permission="read-only"]{border-color:#d8dee4;background:linear-gradient(135deg,#f7f9fb,#fff)}
.supervision-lifecycle-card[data-permission="read-only"] .supervision-lifecycle-actions::before{content:"מצב צפייה לפי תפקיד";align-self:center;font-size:12px;font-weight:800;color:#687987;margin-inline-end:auto}
.sync-supervision-update{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #b8d3e4;border-right:5px solid #6b46a5;border-radius:12px;padding:14px;margin-top:10px;background:#f7f3fc;text-align:right}.sync-supervision-update h3{margin:0 0 6px;color:#3f2865}.sync-supervision-update p{margin:0;color:#36586f;font-weight:700}.sync-supervision-update small{display:block;margin-top:4px;color:#63788a}.sync-supervision-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.sync-conflict-badge{display:grid;justify-items:center;min-width:88px;padding:6px 10px;border-radius:10px;background:#fff;border:1px solid #d9cbea}.sync-conflict-badge strong{font-size:18px;color:#6b46a5}.sync-conflict-badge small{margin:0;font-size:10px;white-space:nowrap}.sync-supervision-actions button{min-height:42px;white-space:nowrap}@media(max-width:700px){.sync-supervision-update{align-items:stretch;flex-direction:column}.sync-supervision-actions{width:100%;display:grid;grid-template-columns:auto 1fr}.sync-supervision-actions button{width:100%}}

/* Sprint 23D.6 - RoadEye Field Design System foundation */
:root{
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;
  --control-h:40px;--control-h-compact:34px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;
  --focus-ring:0 0 0 3px rgba(43,141,204,.22);--surface-soft:#f6f9fb;
}
button,input,select,textarea{min-height:var(--control-h)}
button{border-radius:var(--radius-md);padding-inline:var(--space-4)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--blue-2);outline-offset:2px;box-shadow:var(--focus-ring)
}
.ui-card,.work-card,.overview-card,.task-card,.info-grid article,.description-grid article{
  border-radius:var(--radius-lg);border-color:var(--border);box-shadow:var(--shadow-sm)
}
.ui-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}
.status-chip{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 9px;border-radius:999px;font-size:.74rem;font-weight:800;border:1px solid var(--border)}
.status-chip.info{background:var(--sky);color:var(--blue)}.status-chip.success{background:var(--green-soft);color:var(--green)}.status-chip.warning{background:var(--orange-soft);color:var(--orange)}.status-chip.danger{background:var(--red-soft);color:var(--red)}
.app-header{min-height:64px;padding:var(--space-2) var(--space-4)}
.header-actions{gap:var(--space-2)}
.header-actions>button,.header-actions>.badge{min-height:var(--control-h-compact);height:var(--control-h-compact);border-radius:var(--radius-sm);margin:0}
.filters{gap:var(--space-2)}
.task-list{gap:var(--space-2)}
.task-card{padding:var(--space-3)}
@media(min-width:901px){
  .app-header{display:grid;grid-template-columns:minmax(260px,auto) minmax(0,1fr);direction:rtl;align-items:center}
  .brand{grid-column:1;justify-self:end}
  .header-actions{grid-column:2;justify-content:flex-start;align-items:center;align-content:center;direction:rtl}
  .workspace-module-nav{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Sprint 23D.8 - compatibility with the unified RoadEye desktop shell. */

/* ========================================================================== 
   Sprint 23E.4 - unified RoadEye Field shell and guided workflow
   ========================================================================== */
.desktop-field-context{min-width:250px;padding:.4rem .75rem;border-inline-start:1px solid rgba(255,255,255,.14);border-inline-end:1px solid rgba(255,255,255,.14)}
.desktop-field-context span,.desktop-field-context strong,.desktop-field-context small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
.desktop-field-context span{font-size:.62rem;color:#7dd6f4;font-weight:850;letter-spacing:.05em}
.desktop-field-context strong{margin-top:.12rem;font-size:.91rem;color:#fff}
.desktop-field-context small{margin-top:.1rem;font-size:.65rem;color:#bed3e1}
.field-action-shell{min-width:0}
.field-status-strip,.field-primary-actions{display:flex;align-items:center;gap:.38rem;flex-wrap:wrap}
.field-status-strip{justify-content:flex-start}
.field-primary-actions{justify-content:flex-start}
.pending-badge{background:rgba(255,255,255,.1)}
.pending-badge.attention{background:#9b5b0d;color:#fff}
.pending-badge.ready{background:#16784c;color:#fff}
.field-tools-menu{position:relative;z-index:85}
.field-tools-menu>summary{list-style:none;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.45rem .75rem;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:rgba(255,255,255,.1);color:#fff;font-size:.74rem;font-weight:800;cursor:pointer;user-select:none}
.field-tools-menu>summary::-webkit-details-marker{display:none}
.field-tools-menu>summary:after{content:"⌄";margin-inline-start:.35rem;font-size:.8rem}
.field-tools-menu[open]>summary{background:#fff;color:var(--navy)}
.field-tools-popover{position:absolute;top:calc(100% + 8px);left:0;width:250px;display:grid;grid-template-columns:1fr 1fr;gap:.45rem;padding:.65rem;border-radius:15px;background:#fff;border:1px solid var(--border);box-shadow:0 18px 48px rgba(3,24,40,.28)}
.field-tools-popover button{min-height:42px;padding:.55rem .6rem;background:#f5f8fa!important;color:var(--navy)!important;border-color:var(--border)!important;font-size:.72rem;box-shadow:none!important}
.field-tools-popover .icon-only{width:auto}
.field-workflow-strip{position:sticky;top:84px;z-index:54;display:grid;grid-template-columns:auto minmax(18px,1fr) auto minmax(18px,1fr) auto minmax(18px,1fr) auto minmax(18px,1fr) auto minmax(18px,1fr) auto minmax(18px,1fr) auto;align-items:center;gap:.35rem;padding:.48rem 1rem;background:rgba(255,255,255,.96);border-bottom:1px solid #d5e1e8;box-shadow:0 4px 14px rgba(5,36,56,.06);backdrop-filter:blur(12px)}
body:not(.has-package) .field-workflow-strip{display:none}
.field-workflow-strip button{min-width:96px;min-height:54px;padding:.35rem .48rem;display:grid;grid-template-columns:29px 1fr;grid-template-rows:auto auto;align-items:center;gap:0 .45rem;text-align:right;background:transparent;color:#627888;border-color:transparent;box-shadow:none}
.field-workflow-strip button>span{grid-row:1/3;width:29px;height:29px;display:grid;place-items:center;border-radius:10px;background:#e7eef3;color:#607889;font-weight:900}
.field-workflow-strip button strong,.field-workflow-strip button small{display:block;white-space:nowrap}
.field-workflow-strip button strong{font-size:.72rem;color:#29465a}
.field-workflow-strip button small{font-size:.56rem;color:#7d909d}
.field-workflow-strip>i{height:2px;border-radius:999px;background:#dbe5eb}
.field-workflow-strip button.done>span{background:var(--green);color:#fff}
.field-workflow-strip button.done strong{color:var(--green)}
.field-workflow-strip button.active{background:#eef8fd;border-color:#c9e5f3}
.field-workflow-strip button.active>span{background:var(--blue);color:#fff;box-shadow:0 0 0 4px rgba(43,141,204,.12)}
.field-workflow-strip button.active strong{color:var(--blue)}
.field-workflow-strip>i.done{background:var(--green)}

@media(min-width:901px){
  .app-header{display:grid;grid-template-columns:minmax(210px,245px) minmax(240px,1fr) minmax(520px,auto);grid-template-areas:"brand context actions";align-items:center;gap:.8rem;min-height:84px;padding:.55rem 1rem;direction:rtl}
  .brand{grid-area:brand;justify-self:stretch;min-width:0}
  .desktop-field-context{grid-area:context;min-width:0}
  .header-actions{grid-area:actions;display:grid;grid-template-columns:auto auto auto;align-items:center;justify-content:end;gap:.5rem;direction:rtl}
  .field-status-strip{grid-column:1/-1;justify-content:flex-start}
  .field-primary-actions{grid-column:1/3;grid-row:2}
  .field-tools-menu{grid-column:3;grid-row:2}
  .header-actions>button,.header-actions>.badge{height:auto}
}
@media(min-width:901px) and (max-width:1260px){
  .app-header{grid-template-columns:200px minmax(180px,1fr) minmax(470px,auto)}
  .desktop-field-context small{display:none}
  .field-status-strip #securityBadge,.field-status-strip #fieldUserBadge{display:none!important}
  .field-workflow-strip{overflow-x:auto;grid-template-columns:repeat(13,max-content);justify-content:start;scrollbar-width:thin}
  .field-workflow-strip>i{width:24px}
}
@media(max-width:900px){
  .desktop-field-context{display:none}
  .field-workflow-strip{position:sticky;top:68px;z-index:114;display:flex;gap:.35rem;overflow-x:auto;padding:.38rem .55rem;background:rgba(247,251,253,.97);scroll-snap-type:x proximity;scrollbar-width:none}
  .field-workflow-strip::-webkit-scrollbar{display:none}
  .field-workflow-strip>i{flex:0 0 14px;height:2px}
  .field-workflow-strip button{flex:0 0 auto;min-width:82px;min-height:47px;grid-template-columns:24px 1fr;padding:.28rem .38rem;border-radius:12px;scroll-snap-align:center}
  .field-workflow-strip button>span{width:24px;height:24px;border-radius:8px;font-size:.68rem}
  .field-workflow-strip button strong{font-size:.64rem}.field-workflow-strip button small{font-size:.49rem}
  body:not(.has-package) .field-workflow-strip{display:none}
  body.has-package .update-banner:not(.hidden)+.field-workflow-strip{top:115px}
}
body[data-theme="dark"] .field-workflow-strip{background:rgba(15,31,42,.96);border-color:#29404f}
body[data-theme="dark"] .field-workflow-strip button strong{color:#d9e7ef}
body[data-theme="dark"] .field-workflow-strip button small{color:#91a8b6}
body[data-theme="dark"] .field-workflow-strip button.active{background:#173449;border-color:#2785b5}
body[data-theme="dark"] .field-tools-popover{background:#132431;border-color:#29404f}
body[data-theme="dark"] .field-tools-popover button{background:#172c39!important;color:#e9f4fa!important;border-color:#29404f!important}


/* Sprint 23E.4 RC3 - accessibility and visual quality gate */
.skip-link{position:fixed;top:8px;right:8px;z-index:10000;transform:translateY(-160%);padding:.65rem 1rem;border-radius:10px;background:#fff;color:#071c30;border:2px solid #2b8dcc;font-weight:900;box-shadow:0 8px 28px rgba(0,0,0,.25)}
.skip-link:focus{transform:translateY(0)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
button,[role="button"],summary,input,select,textarea{touch-action:manipulation}
button:focus-visible,[role="button"]:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #35a8e0!important;outline-offset:3px!important;box-shadow:0 0 0 5px rgba(53,168,224,.22)!important}
@media(max-width:900px){button,[role="button"],summary,input,select,textarea{min-height:44px}}
@media(forced-colors:active){*{box-shadow:none!important}.badge,.status-chip,.task-card,.ui-card,.work-card{border:1px solid CanvasText!important}.field-workflow-strip button.active{outline:3px solid Highlight!important}.hidden{display:none!important}}

/* Build084 / Fix12: explicit supervision removal controls on desktop and mobile */
.task-list-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}
.task-list-toolbar-actions .danger{padding:.42rem .62rem;font-size:.68rem}
.inspection-workspace-hero-actions .danger{white-space:nowrap}
@media(max-width:900px){
  .task-list-toolbar{align-items:flex-start}
  .task-list-toolbar-actions{max-width:48%;justify-content:flex-end}
  .task-list-toolbar-actions .danger{font-size:.64rem;padding:.38rem .5rem;line-height:1.25}
  .inspection-workspace-hero-actions{display:flex;flex-wrap:wrap;gap:.4rem}
  .inspection-workspace-hero-actions .danger{flex:1 1 100%}
}
