:root{--ink:#242923;--muted:#6f756f;--line:#e2e4df;--paper:#fff;--canvas:#f3f4ef;--forest:#173f37;--teal:#14776f;--orange:#c75d2b;--violet:#5b4b9b;--sun:#d89b27}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #14776f42}.app-shell{min-height:100vh}.topbar{background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;height:68px;padding:0 18px;display:flex}.brand-block{flex:285px;align-items:center;gap:10px;min-width:205px;display:flex}.brand-mark,.loading-mark{background:var(--forest);color:#fff;border-radius:11px;place-items:center;width:40px;height:40px;font-size:20px;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #ffffff1f}.eyebrow{color:#7b817b;text-transform:uppercase;letter-spacing:.13em;margin:0 0 3px;font-size:10px;font-weight:800;line-height:1.2}.plan-title{width:min(245px,24vw);color:var(--ink);background:0 0;border:1px solid #0000;border-radius:5px;padding:1px 3px;font-size:16px;font-weight:750}.plan-title:hover,.plan-title:focus{border-color:var(--line);background:#fafbf8}.top-actions{flex:none;align-items:center;gap:6px;display:flex}.button{cursor:pointer;background:#fff;border:1px solid #0000;border-radius:8px;min-height:38px;padding:0 15px;font-size:13px;font-weight:750;transition:all .16s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.42;cursor:not-allowed}.button-primary{border-color:var(--forest);background:var(--forest);color:#fff;box-shadow:0 2px 7px #173f3729}.button-primary:hover:not(:disabled){background:#0f332c}.button-secondary{color:#343a34;border-color:#d8dbd5}.button-secondary:hover{background:#f7f8f4}.top-actions form{margin:0}.button-quiet{color:#707770;background:0 0;border-color:#0000}.button-quiet:hover{background:#f3f5f1}.button-ghost{color:#505750;border-color:#0000}.save-status{color:#7b817b;white-space:nowrap;align-items:center;gap:6px;margin-right:3px;font-size:10px;font-weight:700;display:inline-flex}.status-dot{background:#a4aaa4;border-radius:50%;width:7px;height:7px}.status-saved .status-dot{background:#2b9687}.status-saving .status-dot{background:#d89b27;animation:1s infinite pulse}.status-error{color:#a44736}.status-error .status-dot{background:#c85b45}@keyframes pulse{50%{opacity:.35}}.coverage-summary{flex:0 auto;justify-content:flex-start;align-items:center;gap:5px;min-width:0;display:flex}.coverage-total{white-space:nowrap;border-left:1px solid #e1e4df;border-right:1px solid #e1e4df;align-items:baseline;gap:4px;min-height:37px;padding:3px 11px;display:flex}.coverage-total small{color:#858b85;text-transform:uppercase;letter-spacing:.06em;margin-right:3px;font-size:8px;font-weight:800}.coverage-total b{color:var(--forest);font-size:17px}.coverage-total span{color:#606760;font-size:9px;font-weight:750}.coverage-chip{color:#646b64;white-space:nowrap;border-radius:7px;align-items:center;gap:4px;min-height:32px;padding:0 8px;font-size:9px;display:inline-flex}.coverage-chip i{font-size:10px;font-style:normal}.coverage-chip b{color:var(--ink);font-size:13px}.coverage-chip.day{background:#fff7e7}.coverage-chip.day i{color:#bc7b0f}.coverage-chip.night{background:#f1effc}.coverage-chip.night i{color:var(--violet)}.coverage-chip.hours{background:#eaf5f2}.coverage-chip.hours i{color:var(--teal)}.header-support-summary{text-align:left;cursor:pointer;background:#fff8f2;border:1px solid #ecd5c4;border-radius:8px;align-items:center;gap:7px;min-height:38px;padding:4px 9px;display:flex}.header-support-summary:hover{background:#fff2e8;border-color:#d49b74}.header-support-summary>i{color:#a44e25;background:#f3ddcc;border-radius:7px;place-items:center;width:25px;height:25px;font-size:15px;font-style:normal;display:grid}.header-support-summary b,.header-support-summary small{white-space:nowrap;display:block}.header-support-summary b{color:#7c3e21;font-size:9px}.header-support-summary small{color:#98705a;margin-top:2px;font-size:8px}.compact-topbar .button{min-height:34px;padding:0 11px;font-size:11px}.notice{color:#72531c;background:#fff8e5;border:1px solid #efd6a1;border-radius:8px;justify-content:space-between;gap:12px;margin:12px 24px 0;padding:10px 12px;font-size:13px;display:flex}.notice button{cursor:pointer;background:0 0;border:0;font-size:18px}.workspace{--side-panel-width:346px;grid-template-columns:minmax(0, 1fr) var(--side-panel-width);height:calc(100vh - 68px);min-height:640px;display:grid}.map-panel{background:#e9ebe6;flex-direction:column;min-width:0;display:flex;position:relative}.map-toolbar{background:#fafbf8f5;border-bottom:1px solid #d8dbd5;justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:8px 14px;display:flex}.combined-map-toolbar{justify-content:flex-start;gap:8px;min-height:54px;padding:6px 10px}.map-view-controls{scrollbar-width:thin;flex:auto;align-items:center;gap:4px;min-width:0;display:flex;overflow-x:auto}.toolbar-label{color:#7b817b;text-transform:uppercase;letter-spacing:.06em;margin:0 3px;font-size:8px;font-weight:800}.map-view-controls>button{color:#697069;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d9ddd7;border-radius:7px;align-items:center;gap:5px;min-height:28px;padding:0 7px;font-size:8px;font-weight:800;display:inline-flex}.map-view-controls>button.active{border-color:var(--forest);background:var(--forest);color:#fff}.map-view-controls>button b{background:#80888126;border-radius:8px;place-items:center;min-width:15px;height:15px;padding:0 4px;font-size:7px;display:grid}.map-view-controls .position-focus{flex:auto;width:auto;min-width:min(330px,100%)}.map-tools{flex:none;align-items:center;gap:4px;display:flex}.icon-button{cursor:pointer;background:#fff;border:1px solid #d8dbd5;border-radius:7px;width:31px;height:31px;font-weight:800}.icon-button:hover{background:#f7f8f5;border-color:#aeb7af}.zoom-label{color:#606860;text-align:center;cursor:pointer;background:0 0;border:0;border-radius:6px;width:44px;height:31px;padding:0;font-size:10px;font-weight:800}.zoom-label:hover{background:#eef1ec}.draw-button{border-color:var(--teal);background:var(--teal);color:#fff}.draw-button.active{color:#9e4925;background:#fff4ed;border-color:#c75d2b}.draw-icon{margin-right:7px;font-size:17px}.general-setup-add{color:#97491f;white-space:nowrap;background:#fff7f0;border-color:#dda67e;padding:0 11px}.general-setup-add:hover{background:#fff0e4;border-color:#c87948}.position-focus{border:1px solid;border-radius:8px;align-items:center;gap:8px;width:100%;min-height:32px;padding:4px 5px 4px 9px;display:flex}.position-focus .focus-eye{color:var(--forest);font-size:14px}.position-focus>span:nth-child(2){align-items:baseline;gap:7px;min-width:0;display:flex}.position-focus small{color:#6f766f;text-transform:uppercase;letter-spacing:.06em;font-size:8px;font-weight:800}.position-focus b{font-size:11px}.position-focus em{color:#5f675f;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-style:normal;overflow:hidden}.position-focus button{min-height:24px;color:var(--forest);background:#ffffffd1;border-color:#30423933;margin-left:auto;padding:0 9px}.general-setup-dock{background:#fff8f2;border-bottom:1px solid #e4c6ae;align-items:center;gap:8px;min-height:44px;padding:5px 10px;display:flex}.general-setup-dock-title{text-align:left;cursor:pointer;background:0 0;border:0;border-right:1px solid #e7cbb5;align-items:center;gap:7px;min-width:126px;padding:0 7px 0 2px;display:flex}.general-setup-dock-title i{color:#9d4821;background:#f1d8c4;border-radius:7px;place-items:center;width:27px;height:27px;font-size:15px;font-style:normal;display:grid}.general-setup-dock-title small,.general-setup-dock-title b{white-space:nowrap;display:block}.general-setup-dock-title small{color:#9a6e55;text-transform:uppercase;letter-spacing:.05em;font-size:7px;font-weight:850}.general-setup-dock-title b{color:#743b20;margin-top:1px;font-size:9px}.general-setup-dock-people{scrollbar-width:thin;flex:1;align-items:center;gap:5px;min-width:0;display:flex;overflow-x:auto}.general-setup-dock-people button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e5c6ae;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;min-width:150px;max-width:210px;min-height:31px;padding:3px 7px;display:grid}.general-setup-dock-people button:hover{background:#fff1e6;border-color:#c17b4d}.general-setup-dock-people strong,.general-setup-dock-people span,.general-setup-dock-people small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.general-setup-dock-people strong{color:#7a3d20;font-size:8px}.general-setup-dock-people span{color:#4f4540;font-size:8px}.general-setup-dock-people small{color:#98735e;font-size:7px}.blueprint-scroll{flex:1;justify-content:flex-start;align-items:flex-start;min-height:0;padding:22px;display:flex;overflow:auto}.blueprint-stack{scroll-behavior:smooth;padding:14px 20px 30px;display:block;overflow-x:auto}.map-pan-dock{z-index:12;background:#fafbf8f7;border-top:1px solid #d8dbd5;align-items:center;gap:7px;min-height:34px;padding:4px 10px;display:flex;position:relative;box-shadow:0 -3px 12px #212d2714}.map-pan-dock>span{color:#6d746d;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;flex:none;font-size:8px;font-weight:800}.map-pan-dock>button{color:#46504a;cursor:pointer;background:#fff;border:1px solid #cdd2cc;border-radius:6px;flex:none;width:28px;height:26px;padding:0;font-size:18px;font-weight:900;line-height:1}.map-pan-dock>button:hover{color:var(--teal);background:#f1f7f4;border-color:#8fa59b}.map-pan-scroll{scrollbar-width:auto;flex:auto;min-width:80px;height:18px;overflow:scroll hidden}.map-pan-scroll>div{height:1px}.floor-map-section{border-bottom:1px solid #ced3cd;width:100%;min-width:0;margin:0 0 22px;padding:0 0 22px}.floor-map-section:last-child{border-bottom:0;margin-bottom:0}.blueprint-stage{-webkit-user-select:none;user-select:none;touch-action:none;background:#fff;border:1px solid #d3d6d0;width:100%;min-width:0;margin:auto;position:relative;box-shadow:0 10px 35px #212d2717}.blueprint-stack.is-drawing .blueprint-stage{cursor:crosshair}.blueprint-stage.drawing-target{cursor:crosshair;box-shadow:0 0 0 3px #14776f29,0 10px 35px #212d2717}.blueprint-stage img{pointer-events:none;width:100%;height:auto;display:block}.zone-overlay{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.zone-overlay polygon{stroke-linejoin:round;cursor:pointer;pointer-events:auto;transition:fill .12s,stroke-width .12s}.zone-overlay polygon:hover{filter:saturate(1.22)}.zone-label-leader{opacity:.72;pointer-events:none}.selected-zone{filter:saturate(1.28)drop-shadow(0 0 2px #0a342d73)}.point-handle{pointer-events:auto;cursor:grab;filter:drop-shadow(0 1px 1px #102d264d)}.point-handle:active{cursor:grabbing}.zone-label{text-align:left;cursor:pointer;pointer-events:auto;background:#ffffffed;border:1.5px solid;border-radius:6px;max-width:155px;padding:5px 7px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #1f2a2421}.zone-label b,.zone-label strong,.zone-label span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.zone-label b{font-size:clamp(7px,.82vw,11px)}.zone-label .person-name{color:#303830;margin-top:2px;font-size:clamp(6px,.72vw,9px)}.zone-label .area-note{color:#7a817a;font-size:clamp(5px,.62vw,8px);font-style:italic}.zone-label span{color:#626962;margin-top:2px;font-size:clamp(6px,.68vw,9px)}.zone-label .zone-days{color:#868c86;font-size:clamp(6px,.62vw,8px)}.lead-badge{color:#fff;letter-spacing:.06em;text-transform:uppercase;border-radius:3px;margin-bottom:3px;padding:2px 4px;font-size:clamp(5px,.56vw,7px);font-style:normal;font-weight:900;display:inline-block}.lead-badge.lead,.list-role.lead{background:#1d697f}.lead-badge.supervisor,.list-role.supervisor{background:#7a4d87}.zone-label.selected{box-shadow:0 0 0 3px var(--forest), 0 4px 12px #192d2633;outline:2px solid #fff}.drawing-hint{color:#fff;text-align:center;pointer-events:none;background:#173f37ed;border-radius:10px;min-width:220px;padding:14px 16px;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:0 7px 24px #173f3740}.drawing-hint span{width:25px;height:25px;color:var(--forest);background:#fff;border-radius:50%;place-items:center;margin:0 auto 7px;font-size:12px;font-weight:800;display:grid}.drawing-hint b,.drawing-hint small{display:block}.drawing-hint b{font-size:13px}.drawing-hint small{color:#d8e5e0;margin-top:4px;font-size:10px}.drawing-bar{z-index:15;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff7;border:1px solid #cbd7d1;border-radius:11px;align-items:center;gap:11px;width:auto;max-width:620px;min-height:55px;margin:0 auto;padding:8px 9px 8px 15px;display:flex;position:fixed;bottom:18px;left:24px;right:370px;box-shadow:0 8px 28px #1a302829}.drawing-bar>span{min-width:60px;color:var(--teal);font-size:11px}.drawing-bar>span b{font-size:17px}.drawing-bar p{color:#6e756e;flex:1;margin:0;font-size:11px}.empty-map-tip{left:24px;right:calc(var(--side-panel-width) + 24px);z-index:15;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border:1px solid #dfe2dc;border-radius:10px;align-items:center;gap:10px;width:auto;min-width:0;max-width:510px;margin:0 auto;padding:10px 12px;display:flex;position:fixed;bottom:18px;box-shadow:0 8px 28px #1e2a2424}.tip-spark{width:34px;height:34px;color:var(--teal);background:#e4f1ed;border-radius:9px;place-items:center;display:grid}.empty-map-tip>span:nth-child(2){flex:1}.empty-map-tip b,.empty-map-tip small{display:block}.empty-map-tip b{font-size:12px}.empty-map-tip small{color:#7a817a;margin-top:2px;font-size:10px}.empty-map-tip button{color:var(--teal);cursor:pointer;background:0 0;border:0;padding:7px 10px;font-size:11px;font-weight:800}.side-panel{border-left:1px solid var(--line);background:#fff;flex-direction:column;min-width:0;display:flex;overflow:hidden}.panel-tabs{border-bottom:1px solid var(--line);gap:15px;height:58px;padding:9px 12px 0;display:flex}.panel-tabs button{color:#777e77;cursor:pointer;background:0 0;border:0;padding:0 2px 10px;font-size:12px;font-weight:800;position:relative}.panel-tabs button.active{color:var(--forest)}.panel-tabs button.active:after{content:"";background:var(--teal);height:2px;position:absolute;bottom:-1px;left:0;right:0}.panel-tabs button span{color:#9d4e29;background:#f3e5da;border-radius:9px;place-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;font-size:9px;display:inline-grid}.panel-content{flex:1;padding:17px;overflow-y:auto}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.panel-heading h2,.editor-heading h2,.roving-header h2,.share-modal h2{letter-spacing:-.02em;margin:0;font-size:18px}.small-draw{color:var(--teal);cursor:pointer;background:#eef7f4;border:1px solid #bdd5cf;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:800}.assignment-list{flex-direction:column;gap:7px;display:flex}.assignment-list>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e3e6e1;border-radius:8px;grid-template-columns:5px minmax(0,1fr) auto 12px;align-items:center;gap:9px;width:100%;min-height:59px;padding:9px 8px;display:grid}.assignment-list>button:hover{background:#fbfcf9;border-color:#bdc9c2}.assignment-list>button.focused{background:#f0f7f4;border-color:#7fa99f;box-shadow:inset 0 0 0 1px #14776f14}.assignment-swatch{border-radius:3px;align-self:stretch}.assignment-copy,.assignment-hours{min-width:0}.assignment-copy b,.assignment-copy small,.assignment-hours b,.assignment-hours small{display:block}.assignment-copy b{color:#343a34;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.assignment-copy small,.assignment-hours small{color:#858b85;margin-top:3px;font-size:9px}.assignment-hours{text-align:right}.assignment-hours b{font-size:11px}.chevron{color:#9ca29c;font-size:18px}.list-role{color:#fff;letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;border-radius:3px;margin-left:5px;padding:2px 4px;font-size:7px;font-style:normal}.panel-empty{text-align:center;background:#fafbf8;border:1px dashed #d7dbd5;border-radius:10px;min-height:320px;padding:38px 16px}.empty-shape{width:50px;height:50px;color:var(--teal);background:#eef6f3;border:1px solid #c9dbd5;border-radius:14px;place-items:center;margin:0 auto 14px;font-size:26px;display:grid}.panel-empty h3{margin:0;font-size:14px}.panel-empty p{color:#747b74;margin:8px auto 16px;font-size:11px;line-height:1.55}.legend{border-top:1px solid #eceeea;flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;padding-top:15px;display:flex}.legend .eyebrow{width:100%}.legend span{color:#747a74;align-items:center;gap:5px;font-size:10px;display:inline-flex}.legend i{border-radius:2px;width:8px;height:8px}.editor-card{padding-bottom:18px}.editor-heading{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.close-button{color:#777e77;cursor:pointer;background:#fff;border:1px solid #e1e4df;border-radius:7px;width:29px;height:29px;font-size:18px}.field{border:0;min-width:0;margin:0 0 16px;padding:0;display:block}.field>span,.field legend{color:#666d66;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.field>span i,.field legend i{color:#989e98;font-size:8px;font-style:normal;font-weight:600}.field input,.field select,.field textarea{color:#323832;background:#fff;border:1px solid #d9ddd7;border-radius:7px;width:100%;font-size:12px}.field input,.field select{height:39px;padding:0 10px}.field textarea{resize:vertical;min-height:94px;padding:10px;line-height:1.45}.field input:hover,.field select:hover,.field textarea:hover{border-color:#bcc5bf}.segmented{grid-template-columns:1fr 1fr;gap:5px;display:grid}.segmented.three{grid-template-columns:repeat(3,1fr)}.segmented button{color:#737a73;cursor:pointer;background:#fff;border:1px solid #dcdeda;border-radius:7px;min-height:38px;padding:0 7px;font-size:11px;font-weight:750}.segmented button:hover{background:#f8f9f6}.segmented button.active.day{color:#9a6610;background:#fff6df;border-color:#e4bd68}.segmented button.active.night{color:var(--violet);background:#eeecfb;border-color:#a9a0df}.leadership-field small,.field-note{color:#858b85;margin-top:6px;font-size:9px;line-height:1.4;display:block}.segmented button.role-lead{color:#1d697f;background:#e7f2f4;border-color:#6c9cab}.segmented button.role-supervisor{color:#70427d;background:#f2eaf4;border-color:#ad8eb6}.position-title-card{background:#f1f7f4;border:1px solid #cddbd5;border-radius:8px;margin-bottom:15px;padding:11px 12px}.position-title-card span,.position-title-card b,.position-title-card small{display:block}.position-title-card span{color:#728078;text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:800}.position-title-card b{color:var(--forest);margin-top:3px;font-size:17px}.position-title-card small{color:#7d8982;margin-top:3px;font-size:8px}.assignment-select{margin-bottom:9px}.assignment-select select{padding-right:28px}.add-area-button{width:100%;min-height:36px;color:var(--teal);cursor:pointer;background:#eef7f4;border:1px dashed #8bb7ac;border-radius:7px;margin:0 0 6px;padding:0 10px;font-size:10px;font-weight:800}.add-person-button{color:#65518c;cursor:pointer;background:#f4f0fa;border:1px dashed #b8a8cf;border-radius:7px;width:100%;min-height:36px;margin:0 0 16px;padding:0 10px;font-size:10px;font-weight:800}.day-hours-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.day-hours-grid>div{background:#f4f5f2;border:1px solid #e0e3df;border-radius:7px;min-width:0;overflow:hidden}.day-hours-grid>div.active{background:#fff;border-color:#81aaa1}.day-hours-grid button{color:#989e98;cursor:pointer;background:0 0;border:0;width:100%;height:28px;padding:0;font-size:8px;font-weight:800}.day-hours-grid>div.active button{color:var(--teal);background:#e4f1ed}.day-hours-grid input{color:#343a34;text-align:center;appearance:textfield;background:#fff;border:0;border-top:1px solid #e5e7e3;border-radius:0;width:100%;height:31px;padding:0 2px;font-size:9px;font-weight:750}.day-hours-grid input:disabled{color:#0000;background:#f4f5f2}.day-hours-grid.compact{gap:3px}.day-hours-grid.compact button{height:24px;font-size:7px}.day-hours-grid.compact input{height:28px;font-size:8px}.note-field{margin-top:14px}.day-picker{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.day-picker button{aspect-ratio:1;color:#7a817a;cursor:pointer;background:#fff;border:1px solid #daded9;border-radius:7px;font-size:10px;font-weight:800}.day-picker button.active{border-color:var(--teal);color:var(--teal);background:#e5f2ee}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stepper{border:1px solid #d9ddd7;border-radius:7px;grid-template-columns:31px 1fr 31px;height:39px;display:grid;overflow:hidden}.stepper button{cursor:pointer;background:#f5f6f3;border:0}.stepper input{text-align:center;appearance:textfield;border:0;border-radius:0;height:37px;padding:0}.input-suffix{position:relative}.input-suffix input{padding-right:33px}.input-suffix span{color:#858b85;font-size:9px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.labor-total{color:#6f766f;background:#f3f6f2;border-radius:7px;justify-content:space-between;align-items:center;margin:-2px 0 16px;padding:11px 12px;font-size:10px;display:flex}.labor-total b{color:var(--forest);font-size:12px}.point-edit-note{color:#527168;background:#eef6f3;border-radius:6px;margin:-7px 0 15px;padding:8px 9px;font-size:9px;line-height:1.4}.delete-button{color:#a64d3b;cursor:pointer;background:#fff;border:1px solid #efd8d2;border-radius:7px;width:100%;height:36px;font-size:10px;font-weight:750}.roving-panel{background:linear-gradient(#fff 0,#fffaf6 100%)}.support-switch{background:#f0f2ee;border-radius:9px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:17px;padding:4px;display:grid}.support-switch button{color:#777e77;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-height:39px;padding:0 7px;font-size:9px;font-weight:800;display:flex}.support-switch button.active{color:var(--forest);background:#fff;box-shadow:0 1px 5px #23312a1a}.support-switch button span{font-size:15px}.support-switch button b{background:#e4e8e2;border-radius:8px;place-items:center;min-width:16px;height:16px;font-size:8px;display:grid}.roving-header{align-items:center;gap:11px;display:flex}.roving-big{width:43px;height:43px;color:var(--orange);background:#f8e5d6;border-radius:11px;place-items:center;font-size:25px;display:grid}.roving-explainer{color:#775f50;background:#fff7f1;border-left:3px solid #e7b18d;margin:14px 0;padding:10px 12px;font-size:10px;line-height:1.55}.roving-total{color:#79553e;background:#fff;border:1px solid #efdccc;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:10px 12px;font-size:10px;display:flex}.roving-total b{color:var(--orange);font-size:19px}.roving-list{flex-direction:column;gap:9px;display:flex}.roving-card{background:#fff;border:1px solid #eadfd6;border-radius:9px;padding:11px;box-shadow:0 2px 8px #4e311e0a}.roving-card-top{gap:8px;margin-bottom:9px;display:flex}.roving-card-top input{color:#3a3835;border:0;border-bottom:1px solid #e7e1da;flex:1;min-width:0;padding:3px 2px;font-size:12px;font-weight:750}.roving-card-top button{color:#a89b92;cursor:pointer;background:0 0;border:0;width:24px}.individual-title{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.individual-title b{color:var(--forest);font-size:13px}.individual-title button{color:#9a8e86;cursor:pointer;background:#f4f1ee;border:0;border-radius:6px;width:24px;height:24px}.support-name{margin-bottom:10px}.support-name input{height:34px}.support-note{margin-bottom:10px}.support-note input{height:34px}.support-hours{margin:9px 0 6px}.support-hours input{height:34px}.support-schedule{margin:10px 0 6px}.support-schedule>span{color:#777e77;margin-bottom:6px;font-size:9px;font-weight:800;display:block}.segmented.compact{margin-bottom:10px}.segmented.compact button{min-height:31px;font-size:9px}.mini-days{grid-template-columns:repeat(7,1fr);gap:3px;margin:0 0 10px;display:grid}.mini-days button{aspect-ratio:1.15;color:#929892;cursor:pointer;background:#fff;border:1px solid #e0e2de;border-radius:5px;font-size:8px;font-weight:800}.mini-days button.active{color:#a14f29;background:#fff0e5;border-color:#dfa47c}.roving-fields .field{margin-bottom:7px}.roving-fields .field input{height:34px}.crew-labor{color:#9b6a49;text-align:right;font-size:9px;font-weight:750}.add-group{color:#9a542f;cursor:pointer;background:0 0;border:1px dashed #d8bca7;border-radius:8px;width:100%;margin-top:10px;padding:10px;font-size:10px;font-weight:800}.floater-header .roving-big{color:#1d697f;background:#e7f0f3}.floater-explainer{color:#4e6970;background:#f0f7f8;border-left-color:#7aa6b2}.floater-total{border-color:#cbdde1}.floater-total b{color:#1d697f}.floater-card{border-color:#d4e1e3}.skill-picker{margin-bottom:10px}.skill-picker>span{color:#777e77;margin-bottom:6px;font-size:9px;font-weight:800;display:block}.skill-picker>div{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.skill-picker button{color:#858b85;cursor:pointer;background:#fff;border:1px solid #e0e3df;border-radius:6px;min-height:29px;padding:0 4px;font-size:8px;font-weight:800}.support-empty{color:#55747b;text-align:center;background:#f7fbfb;border:1px dashed #cbdde1;border-radius:9px;margin-bottom:10px;padding:20px 14px}.support-empty>span{background:#e4f0f2;border-radius:10px;place-items:center;width:34px;height:34px;margin:0 auto 8px;font-size:19px;display:grid}.support-empty b{color:#345b64;font-size:11px;display:block}.support-empty p{margin:5px 0 0;font-size:9px;line-height:1.45}.general-setup-empty{color:#7e553d;background:#fff9f3;border-color:#e3b995}.general-setup-empty>span{color:#a14e28;background:#f7e3d2}.general-setup-empty b{color:#714027}.floater-add{color:#1d697f;border-color:#9fc0c7}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#151f1b7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.share-modal{background:#fff;border-radius:15px;width:min(450px,100%);padding:27px;position:relative;box-shadow:0 20px 70px #0e1e183d}.share-icon{width:46px;height:46px;color:var(--teal);background:#e7f2ef;border-radius:13px;place-items:center;margin-bottom:17px;font-size:22px;display:grid}.modal-close{position:absolute;top:17px;right:17px}.share-modal>p:not(.eyebrow){color:#6f766f;margin:9px 0 19px;font-size:12px;line-height:1.5}.share-field>span{color:#656c65;margin-bottom:7px;font-size:10px;font-weight:800;display:block}.share-field>div{border:1px solid #d7ddd8;border-radius:9px;gap:5px;padding:4px;display:flex}.share-field input{color:#6e756e;border:0;flex:1;min-width:0;padding:0 7px;font-size:10px}.share-field button{background:var(--forest);color:#fff;cursor:pointer;border:0;border-radius:6px;padding:9px 12px;font-size:10px;font-weight:800}.done-button{width:100%;margin-top:14px}.loading-screen{color:#747b74;place-content:center;justify-items:center;gap:12px;min-height:100vh;font-size:13px;display:grid}.login-shell{background:radial-gradient(circle at 50% 0, #e9f2ee 0, var(--canvas) 48%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #dce1db;border-radius:16px;width:min(410px,100%);padding:34px;box-shadow:0 18px 60px #173f371f}.login-mark{background:var(--forest);color:#fff;border-radius:13px;place-items:center;width:48px;height:48px;margin-bottom:22px;font-size:23px;font-weight:800;display:grid}.login-card h1{color:var(--ink);letter-spacing:-.03em;margin:0;font-size:25px}.login-copy{color:var(--muted);margin:9px 0 24px;font-size:13px;line-height:1.5}.login-card form label{color:#596159;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.login-card form input{width:100%;height:44px;color:var(--ink);background:#fff;border:1px solid #cfd5cf;border-radius:8px;padding:0 12px}.login-card form button{border:1px solid var(--forest);background:var(--forest);color:#fff;cursor:pointer;border-radius:8px;width:100%;height:44px;margin-top:12px;font-weight:800}.login-card form button:hover{background:#0f332c}.login-error{color:#a54332;margin:9px 0 -3px;font-size:11px}.login-card>small{color:#8a908a;text-align:center;margin-top:18px;font-size:10px;display:block}@media (max-width:1220px){.coverage-chip span,.header-support-summary small,.compact-topbar .button-quiet{display:none}.brand-block{flex-basis:235px}.plan-title{width:min(200px,20vw)}.draw-button{padding:0 9px;font-size:10px}.general-setup-add{padding:0 8px;font-size:9px}}@media (max-width:980px){.coverage-total small{display:none}.coverage-chip{padding:0 6px}.header-support-summary{padding:4px 6px}.header-support-summary>i,.compact-topbar .save-status{display:none}.workspace{--side-panel-width:320px;grid-template-columns:minmax(0, 1fr) var(--side-panel-width)}.toolbar-label{display:none}}@media (max-width:760px){.topbar{flex-wrap:wrap;height:auto;min-height:104px;padding:8px 12px}.brand-mark{display:none}.brand-block{flex:55%;min-width:0}.plan-title{width:48vw;font-size:14px}.top-actions{gap:5px}.save-status,.top-actions .button-secondary{display:none}.top-actions .button{padding:0 11px}.button-quiet{display:none}.coverage-summary{order:3;justify-content:flex-start;min-width:100%;overflow-x:auto}.coverage-total{border-left:0;padding-left:3px}.workspace{flex-direction:column;height:auto;min-height:calc(100vh - 104px);display:flex}.map-panel{min-height:62vh}.combined-map-toolbar{flex-direction:row;align-items:center;overflow-x:auto}.map-tools{flex:none;width:auto}.map-view-controls{flex:none;overflow:visible}.map-view-controls .position-focus{min-width:270px}.general-setup-dock{padding-right:6px}.general-setup-dock-title{min-width:116px}.blueprint-scroll{padding:12px}.map-pan-dock>span{display:none}.side-panel{border-left:0;border-top:1px solid var(--line);min-height:520px}.drawing-bar{flex-wrap:wrap;width:auto;max-width:none;bottom:12px;left:12px;right:12px}.drawing-bar p{min-width:180px}.empty-map-tip{width:auto;min-width:0;max-width:510px;bottom:12px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
