:root{--asph-lime:#b5d233;--asph-lime-hover:#c2de45;--asph-lime-ink:#16181c;--asph-nav-bg:#16181c;--asph-nav-fg:#f5f6f7;--asph-shadow-sm:0 1px 2px #16181c2e;--asph-shadow-lg:0 12px 32px #16181c47}:root,:root[data-theme=light]{--asph-canvas:#f2f3f5;--asph-tile:#fff;--asph-tile-border:#e4e6ea;--asph-weekend:#f6f7f8;--asph-ink:#16181c;--asph-sec:#6b7280;--asph-ghost-border:#d8dbe1;--asph-ghost-hover:#e9ebee;--asph-inverse-bg:#16181c;--asph-inverse-fg:#fff;--asph-more-bg:#eef0f2;--asph-more-fg:#5a6270;--asph-note-bg:#eef0f2;--asph-note-fg:#374151;--asph-danger:#b91c1c;--asph-danger-wash:#fef2f2;--mrpt-header-bg:#ffffffd1;--mrpt-header-shadow:0 10px 26px #16181c17;--mrpt-amber-bg:#fbeed6;--mrpt-amber-fg:#b45309;--mrpt-amber-border:#d9770680;--mrpt-amber-wash:#f59e0b14;--mrpt-index-bg:var(--asph-nav-bg)}:root[data-theme=light]{--canvas:var(--asph-canvas);--section:var(--asph-more-bg);--card:var(--asph-tile);--text-primary:var(--asph-ink);--text-secondary:var(--asph-sec);--outline:var(--asph-ghost-border)}:root[data-theme=dark]{--asph-canvas:#101113;--asph-tile:#17181b;--asph-tile-border:#ffffff12;--asph-weekend:#131417;--asph-ink:#f5f6f7;--asph-sec:#9ca3af;--asph-ghost-border:#ffffff24;--asph-ghost-hover:#ffffff0f;--asph-inverse-bg:#b5d233;--asph-inverse-fg:#16181c;--asph-more-bg:#1f2126;--asph-more-fg:#9ca3af;--asph-note-bg:#221e12;--asph-note-fg:#fde68a;--asph-danger:#f87171;--asph-danger-wash:#f8717124;--mrpt-header-bg:#131417d1;--mrpt-header-shadow:0 10px 26px #00000073;--mrpt-amber-bg:#f59e0b29;--mrpt-amber-fg:#fbbf24;--mrpt-amber-border:#f59e0b73;--mrpt-amber-wash:#f59e0b1a;--mrpt-index-bg:#262a31;--canvas:var(--asph-canvas);--section:#1f2126;--card:var(--asph-tile);--text-primary:var(--asph-ink);--text-secondary:var(--asph-sec);--outline:#ffffff24;--green-wash:#b5d2331a;--header-dark:var(--asph-nav-bg);--focus-ring-color:var(--asph-lime);--deep-forest:var(--asph-ink)}:root[data-theme=dark] .modal-title{color:var(--text-primary)}:root[data-theme=dark] .modal-header{border-bottom-color:var(--asph-tile-border)}:root[data-theme=dark] .modal-footer{border-top-color:var(--asph-tile-border)}:root[data-theme=dark] .btn-ghost:hover,:root[data-theme=dark] .avatar-dropdown-row,:root[data-theme=dark] .avatar-dropdown-row:hover,:root[data-theme=dark] .avatar-dropdown-row:focus-visible{color:var(--text-primary)}:root[data-theme=dark] .app-banner{background:var(--asph-note-bg);color:var(--asph-note-fg);border-bottom-color:#fde68a29}:root[data-theme=dark] .app-toast-success{background:var(--asph-inverse-bg);color:var(--asph-inverse-fg)}:root[data-theme=dark] .diag-pill.active{background:var(--asph-inverse-bg);color:var(--asph-inverse-fg);border-color:var(--asph-inverse-bg)}:root[data-theme=dark] .person-chip.ext:after{background:var(--asph-lime);color:var(--asph-lime-ink)}:root[data-theme=dark] .settings-drag-handle:hover{color:var(--text-primary);background:#ffffff0f}:root[data-theme=dark] .soumission-status-sent{color:#60a5fa;background:#60a5fa24}:root[data-theme=dark] .measurement-term,:root[data-theme=dark] .measurement-term-known{color:var(--asph-lime)}:root[data-theme=dark] .measurement-term.is-playing{color:var(--asph-ink)}:root[data-theme=dark] .measurement-term-input,:root[data-theme=dark] .measurement-term-unknown-input{background:var(--asph-canvas);color:var(--asph-ink)}:root[data-theme=dark] .measurements-term-verify{color:var(--asph-lime)}:root[data-theme=dark] .measurement-term.is-disagreement:after,:root[data-theme=dark] .measurements-term-warning,:root[data-theme=dark] .measurements-table-notes{color:var(--asph-note-fg)}:root[data-theme=dark] .measurements-table thead tr,:root[data-theme=dark] .measurements-table tfoot .measurements-table-foot-row{background:var(--asph-more-bg);color:var(--asph-ink)}:root[data-theme=dark] .measurements-table tfoot .measurements-table-foot-row .measurements-table-cell-cat,:root[data-theme=dark] .measurements-table tfoot .measurements-table-foot-row .measurements-table-cell-total{color:var(--asph-ink)}:root[data-theme=dark] .measurements-table tbody tr.measurements-table-row:nth-child(odd){background:#ffffff08}:root[data-theme=dark] .measurements-table tbody tr.measurements-table-row:hover{background:var(--green-wash)}:root[data-theme=dark] .measurements-table-detail-row td{background:#ffffff0a}:root[data-theme=dark] .measurements-table-detail-row.is-validated td{background:var(--green-wash)}:root[data-theme=dark] .measurements-table-detail-row.is-uncertain td{background:#fdcb6e1a}:root[data-theme=dark] .measurements-table-detail-row.is-flagged>td,:root[data-theme=dark] .measurements-detail-row.is-flagged>td{background:var(--asph-danger-wash)}:root[data-theme=dark] .measurements-detail-row.is-verified.is-verified>td{background:var(--green-wash)}:root[data-theme=dark] .measurements-table-subtotal-input{background:var(--asph-canvas);color:var(--asph-ink)}:root[data-theme=dark] .missing-civics-toggle.is-active{background:var(--asph-inverse-bg);border-color:var(--asph-inverse-bg);color:var(--asph-inverse-fg)}:root{--nivlex-green:#b5d233;--nivlex-green-dark:#556500;--deep-forest:#2a4d2e;--green-wash:#f0f5e0;--canvas:#f9faf7;--section:#f3f4f1;--card:#fff;--text-primary:#191c1b;--text-secondary:#6b7280;--outline:#c6c9b0;--radius:8px;--header-dark:#1f2a1a;--header-text:#fff;--gradient-primary:linear-gradient(135deg, var(--nivlex-green-dark) 0%, var(--nivlex-green) 100%);--shadow-mic:0 40px 60px #191c1b0a, 0 8px 24px #191c1b0a;--shadow-ambient:0 20px 40px #191c1b08;--font-display:"Manrope", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--transition-fast:.12s;--transition-normal:.15s;--transition-slow:.2s;--transition-easing:ease-out;--focus-ring-width:2px;--focus-ring-color:var(--nivlex-green-dark,#2a4d2ea6);--focus-ring-offset:2px}*{box-sizing:border-box}html,body{font-family:var(--font-body);color:var(--text-primary);background:var(--canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}h2,h3{text-wrap:pretty}.app-header{z-index:50;background:var(--header-dark);height:64px;color:var(--header-text);grid-template-columns:1fr auto 1fr;align-items:center;padding:0 28px;display:grid;position:sticky;top:0;box-shadow:0 1px #ffffff0a,0 6px 16px #0000000f}.header-left,.header-left a{align-items:center;gap:10px;display:flex}.logo-img{width:auto;height:32px;display:block}.logo-fallback{background:var(--gradient-primary);border-radius:50%;width:32px;height:32px;position:relative}.logo-fallback:before{content:"";background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M2 12c3 0 3-4 6-4s3 4 6 4 3-4 6-4 3 4 6 4' stroke='white' stroke-width='2' fill='none' stroke-linecap='round'/></svg>") 50%/contain no-repeat;position:absolute;inset:8px}.header-left{justify-content:flex-start}.header-title{font-family:var(--font-display);color:var(--header-text);text-align:center;letter-spacing:-.01em;white-space:nowrap;font-size:18px;font-weight:600}.header-right{justify-content:flex-end;align-items:center;gap:14px;display:flex}.icon-btn{border-radius:var(--radius);width:36px;height:36px;color:var(--header-text);transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing), transform var(--transition-normal) var(--transition-easing);justify-content:center;align-items:center;display:inline-flex}.icon-btn:active{transition-duration:80ms;transform:scale(.97)}.icon-btn svg{width:18px;height:18px}.avatar{background:var(--nivlex-green);color:#fff;width:36px;height:36px;font-family:var(--font-body);letter-spacing:.02em;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:inline-flex}.btn{border-radius:var(--radius);height:36px;font-family:var(--font-body);transition:background var(--transition-normal) var(--transition-easing), transform var(--transition-normal) var(--transition-easing), box-shadow var(--transition-normal) var(--transition-easing);white-space:nowrap;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.btn:active{transition-duration:80ms;transform:scale(.97)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{color:var(--deep-forest);background:#b5d2330d}.btn-primary{background:var(--gradient-primary);color:#fff;font-weight:600}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 20px #5565002e}.btn:focus-visible,.icon-btn:focus-visible,.team-pill:focus-visible,.nav-link:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);box-shadow:none}.btn svg{width:16px;height:16px}.seg{background:var(--card);border-radius:999px;gap:2px;padding:4px;display:inline-flex;position:relative}.seg button{height:28px;font-family:var(--font-body);color:var(--text-secondary);transition:color var(--transition-normal) var(--transition-easing), background var(--transition-normal) var(--transition-easing);letter-spacing:.01em;border-radius:999px;padding:0 14px;font-size:12px;font-weight:500}.seg button.active{background:var(--nivlex-green);color:#fff;font-weight:600;box-shadow:0 1px 2px #2a4d2e14}.toolbar{z-index:40;background:var(--section);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;min-height:48px;padding:6px 28px;display:grid;position:sticky;top:64px}.toolbar-left,.toolbar-right{align-items:center;gap:8px;display:flex}.toolbar-right{justify-content:flex-end}.toolbar-center{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:10px;font-size:13px;display:flex}.toolbar-center .current{color:var(--deep-forest);font-weight:600}.nav-link{color:var(--text-secondary);transition:color var(--transition-normal) var(--transition-easing), background var(--transition-normal) var(--transition-easing);border-radius:6px;padding:4px 8px;font-size:13px}.gantt-layout{grid-template-columns:240px 1fr 220px;min-height:calc(100vh - 112px);display:grid}.sidebar{background:var(--section);padding:28px 20px;overflow-y:auto}.sidebar-section{margin-bottom:32px}.sidebar-section:last-child{margin-bottom:0}.sidebar-heading{font-family:var(--font-body);color:var(--text-secondary);letter-spacing:.14em;text-transform:uppercase;text-wrap:pretty;margin:0 0 14px;font-size:11px;font-weight:600}.sidebar-list{flex-direction:column;gap:4px;display:flex}.sidebar-item{color:var(--text-primary);transition:background var(--transition-fast) var(--transition-easing);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:6px 8px;font-size:14px;display:flex}.sidebar-item:hover{background:#ffffff8c}.sidebar-item input[type=checkbox]{appearance:none;background:var(--card);cursor:pointer;width:15px;height:15px;transition:background var(--transition-normal) var(--transition-easing), box-shadow var(--transition-normal) var(--transition-easing);border-radius:3px;flex-shrink:0;place-items:center;margin:0;display:grid;box-shadow:inset 0 0 0 1.5px #2a4d2e40}.sidebar-item input[type=checkbox]:checked{background:var(--nivlex-green);box-shadow:none}.sidebar-item input[type=checkbox]:checked:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:8px;height:4px;transform:rotate(-45deg)translate(1px,-1px)}.side-person,.side-equip{text-align:left;width:100%;transition:background var(--transition-fast) var(--transition-easing);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.side-person:hover,.side-equip:hover{background:#00000008}.side-chip{transition:filter var(--transition-normal) var(--transition-easing), opacity var(--transition-normal) var(--transition-easing);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.side-chip.person-chip{color:#fff;width:22px;height:22px;font-family:var(--font-body);letter-spacing:.02em;border-radius:50%;font-size:10px;font-weight:600}.side-chip.equip-chip{background:var(--equip-bg,#6b728026);border:1px solid var(--equip-border,#6b728066);width:40px;height:22px;font-family:var(--font-body);letter-spacing:.02em;border-radius:6px;gap:4px;padding:0 6px;font-size:10px;font-weight:600}.side-chip.equip-chip .icon{display:inline-flex}.side-chip.equip-chip .icon svg{width:11px;height:11px}.side-chip.equip-chip .eq-code{font-size:9px}.side-name{font-family:var(--font-body);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;transition:opacity var(--transition-normal) var(--transition-easing);flex:1;font-size:13px;font-weight:500;overflow:hidden}.side-drag-handle{color:#2a4d2e59;opacity:0;width:12px;transition:opacity var(--transition-normal) var(--transition-easing);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.side-drag-handle svg{width:12px;height:12px}.side-person:hover .side-drag-handle,.side-equip:hover .side-drag-handle{opacity:1}.side-person[data-active=false] .side-chip,.side-equip[data-active=false] .side-chip{filter:grayscale(.8)opacity(.5)}.side-person[data-active=false] .side-name,.side-equip[data-active=false] .side-name{opacity:.45}.side-person[draggable=true]{-webkit-user-select:none;user-select:none}.side-person.dragging{opacity:.5}.sidebar-section[data-section=sites] .sidebar-list{flex-flow:wrap;gap:8px}.site-pill{font-family:var(--font-body);background:var(--card);color:var(--text-secondary);transition:background var(--transition-fast) var(--transition-easing), color var(--transition-fast) var(--transition-easing), transform var(--transition-fast) var(--transition-easing);cursor:pointer;border-radius:20px;padding:6px 12px;font-size:13px;font-weight:500}.site-pill:hover{color:var(--deep-forest);background:#b5d2331a}.site-pill[data-active=true]{background:var(--nivlex-green);color:#fff}.site-pill[data-active=true]:hover{background:var(--nivlex-green-dark);color:#fff}.gantt-main{background:var(--card);padding:24px 28px 32px;position:relative}.day-headers{background:var(--card);grid-template-columns:repeat(5,1fr);padding-bottom:12px;display:grid}.day-header{font-family:var(--font-body);color:var(--text-secondary);letter-spacing:.14em;text-transform:uppercase;text-align:left;padding:10px 0 12px 14px;font-size:11px;font-weight:600;position:relative}.day-header.today{color:var(--deep-forest)}.day-header.today:after{content:"";background:var(--nivlex-green);border-radius:2px;width:36px;height:3px;position:absolute;bottom:0;left:14px}.gantt-grid{flex-direction:column;gap:12px;padding-top:12px;display:flex;position:relative}.gantt-grid:before{content:"";pointer-events:none;background-image:linear-gradient(90deg,#0000 calc(20% - .5px),#c6c9b059 calc(20% - .5px) calc(20% + .5px),#0000 calc(20% + .5px)),linear-gradient(90deg,#0000 calc(40% - .5px),#c6c9b059 calc(40% - .5px) calc(40% + .5px),#0000 calc(40% + .5px)),linear-gradient(90deg,#0000 calc(60% - .5px),#c6c9b059 calc(60% - .5px) calc(60% + .5px),#0000 calc(60% + .5px)),linear-gradient(90deg,#0000 calc(80% - .5px),#c6c9b059 calc(80% - .5px) calc(80% + .5px),#0000 calc(80% + .5px));position:absolute;inset:0}.gantt-row{z-index:1;grid-template-columns:repeat(5,1fr);min-height:130px;display:grid;position:relative}.bar{border-radius:var(--radius);background:var(--bar-tint,#f9faf7);flex-direction:column;justify-content:space-between;gap:10px;min-width:0;min-height:130px;margin-right:6px;padding:10px 10px 12px 14px;transition:transform .18s,box-shadow .18s,filter .18s;display:flex;position:relative;overflow:hidden}.bar:before{content:"";background:var(--bar-color,#b5d233);border-radius:var(--radius) 0 0 var(--radius);width:4px;position:absolute;top:0;bottom:0;left:0}.bar:hover{box-shadow:0 10px 26px #191c1b14}.bar-row{z-index:1;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:8px;min-width:0;display:flex;position:relative}.bar-title{font-family:var(--font-body);color:var(--deep-forest);letter-spacing:-.005em;word-break:break-word;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.avatar-stack{flex-shrink:0;align-items:center;display:flex}.avatar-stack .mini{width:24px;height:24px;font-family:var(--font-body);color:#fff;background:#2a4d2ed9;border-radius:50%;justify-content:center;align-items:center;margin-left:-6px;font-size:10px;font-weight:600;display:inline-flex;position:relative;box-shadow:0 0 0 1px #fff}.avatar-stack .mini:first-child{margin-left:0}.avatar-stack .mini.plus{background:#2a4d2e8c;font-size:9px}.avatar-stack .mini.q{color:#fff;background:#00000038}.bar.light .avatar-stack .mini.q{background:#2a4d2e59}.avatar-stack .arrow{color:#2a4d2eb3;padding:0 3px;font-size:11px;font-weight:600}.bar.dark .avatar-stack .arrow{color:#ffffffd9}.ext-mini{color:#fff;letter-spacing:.06em;background:#2a4d2e;border-radius:3px;padding:1px 3px;font-size:7.5px;font-weight:700;line-height:1;position:absolute;bottom:-4px;right:-6px}.bar-chips{z-index:1;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:6px 12px;min-width:0;display:flex;position:relative}.chip-cluster{flex-wrap:wrap;align-items:center;row-gap:6px;min-width:0;display:flex}.chip-cluster.equipment{flex-wrap:wrap;flex-shrink:0;gap:6px 4px}.person-chip{width:26px;height:26px;font-family:var(--font-body);color:#fff;letter-spacing:-.01em;background:#2a4d2ed9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:-6px;font-size:10px;font-weight:600;display:inline-flex;position:relative;box-shadow:0 0 0 1px #fff}.person-chip:first-child{margin-left:0}.person-chip.plus{background:#2a4d2e8c;font-size:9px}.person-chip.q{color:#fff;background:#00000038}.person-chip.ext{box-shadow:0 0 0 1px #fff,inset 0 0 0 1.5px #ffffff8c}.person-chip.ext:after{content:"*";background:var(--deep-forest);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:12px;height:12px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-3px;right:-3px}.equip-chip{height:24px;font-family:var(--font-body);letter-spacing:.01em;color:var(--equip-color,#6b7280);background:var(--equip-bg,#6b728026);border:1px solid var(--equip-border,#6b728066);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:3px;padding:0 6px;font-size:10px;font-weight:600;display:inline-flex}.equip-chip .icon{color:var(--equip-color,#6b7280)}.equip-chip .icon svg{width:12px;height:12px}.duration-badge{height:20px;color:var(--text-primary);font-family:var(--font-body);white-space:nowrap;background:#0000000f;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.duration-edit{height:22px;box-shadow:0 0 0 1.5px var(--nivlex-green-dark), 0 2px 6px #191c1b14;background:#fff;border-radius:999px;flex-shrink:0;align-items:center;gap:2px;padding:0 4px;display:inline-flex}.duration-edit button{width:18px;height:18px;color:var(--deep-forest);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.duration-edit button:hover{background:#b5d23333}.duration-edit input{text-align:center;width:32px;height:18px;font-family:var(--font-body);color:var(--deep-forest);-moz-appearance:textfield;background:0 0;border:none;outline:none;padding:0;font-size:12px;font-weight:600}.duration-edit input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.duration-edit input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.duration-edit .unit{font-family:var(--font-body);color:var(--text-secondary);padding-right:2px;font-size:11px;font-weight:500}.resize-handle{cursor:ew-resize;z-index:3;background:0 0;width:8px;height:100%;position:absolute;top:0;right:0}.resize-handle:hover{background:linear-gradient(90deg,#0000,#2a4d2e1f)}.bar-overflow{color:var(--bar-color,#b5d233);z-index:2;pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.bar-overflow.right{right:4px}.bar-overflow.left{left:6px}.bar-overflow svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.bar-x{width:16px;height:16px;color:var(--text-primary);opacity:0;transition:opacity var(--transition-normal) var(--transition-easing), transform var(--transition-fast) var(--transition-easing);z-index:4;cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:6px;left:6px;box-shadow:0 1px 3px #0000001a}.bar-x svg{stroke:currentColor;fill:none;width:10px;height:10px}.bar:hover .bar-x{opacity:1}.bar-x:hover{color:var(--asph-danger);transform:scale(1.1)}.chip-cluster{transition:padding .18s ease-out}.chip-cluster .person-chip,.chip-cluster .equip-chip{transform-origin:50%;transition:transform .18s ease-out,width .18s ease-out,height .18s ease-out,margin .18s ease-out}.chip-cluster.magnified{z-index:6}.chip-cluster.magnified .person-chip{cursor:grab;width:40px;height:40px;margin-left:-4px;font-size:13px}.chip-cluster.magnified .person-chip:first-child{margin-left:0}.chip-cluster.magnified .equip-chip{cursor:grab;height:36px;padding:0 10px;font-size:13px}.chip-cluster.magnified .equip-chip .icon svg{width:16px;height:16px}.bar:has(.chip-cluster.magnified){height:auto;min-height:100px}.person-chip:active,.equip-chip:active{cursor:grabbing}.chip-source-dragging{opacity:.5}.chip-ghost{opacity:.95;border-radius:50%;box-shadow:0 8px 24px #191c1b40}.chip-ghost.equip-chip{border-radius:999px}.bar.chip-drop-target{outline-offset:3px;outline:2px solid #55650099;transform:translateY(-2px);box-shadow:0 10px 26px #55650026}body.is-dragging,body.is-dragging *{-webkit-user-select:none;user-select:none}body.is-dragging *{cursor:grabbing!important}.bar.dragging{opacity:.3;z-index:5;transform:translateY(-2px)scale(1.01);box-shadow:0 8px 24px #191c1b1f}.bar-ghost{pointer-events:none;z-index:1000;opacity:.85;border-radius:var(--radius);transition:none;position:fixed;overflow:hidden;transform:translateY(-2px)scale(1.01);box-shadow:0 8px 24px #191c1b2e}.bar-ghost.snap{transition:transform .15s cubic-bezier(.22,1,.36,1)}.day-col-highlight{pointer-events:none;z-index:0;background:#b5d23314;border-radius:6px;position:absolute;top:0;bottom:0}.color-dot{cursor:pointer;width:16px;height:16px;transition:transform var(--transition-fast) var(--transition-easing);vertical-align:middle;border-radius:50%;display:inline-block;box-shadow:0 0 0 1px #00000014,0 1px 3px #191c1b1a}.color-dot:hover{transform:scale(1.12)}.color-popup{z-index:200;background:#fff;border:1px solid #2a4d2e14;border-radius:10px;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px;display:grid;position:fixed;box-shadow:0 20px 50px #191c1b2e,0 6px 16px #191c1b14}.color-popup .swatch{cursor:pointer;width:28px;height:28px;transition:transform var(--transition-fast) var(--transition-easing);border:none;border-radius:50%;padding:0;box-shadow:0 0 0 1px #00000014}.color-popup .swatch:hover{transform:scale(1.1)}.color-popup .swatch.active{box-shadow:0 0 0 2px var(--deep-forest)}.gantt-rail{background:var(--section);flex-direction:column;gap:24px;padding:28px 20px;display:flex}.stats-card{background:var(--card);border-radius:var(--radius);padding:16px}.stats-row{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.stats-num{font-family:var(--font-display);color:var(--deep-forest);letter-spacing:-.02em;font-size:20px;font-weight:600}.stats-unit{font-family:var(--font-body);color:var(--text-secondary);margin-left:-6px;font-size:12px}.stats-dot{color:var(--text-secondary);font-size:14px}.mic-anchor{flex-direction:column;align-items:center;gap:14px;padding:20px 0 8px;display:flex}.mic-btn{background:var(--gradient-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;transition:transform .22s,box-shadow .22s;display:inline-flex;box-shadow:0 20px 40px -5px #191c1b0a,0 30px 60px -5px #191c1b0a}.mic-btn:hover{transform:scale(1.04);box-shadow:0 20px 40px -5px #191c1b0f,0 30px 60px -5px #5565002e}.mic-btn svg{width:30px;height:30px}.mic-btn.small{width:56px;height:56px}.mic-btn.small svg{width:22px;height:22px}.mic-label{font-family:var(--font-body);color:var(--deep-forest);text-align:center;font-size:13px;font-weight:500}.mic-btn.small+.mic-label{font-size:12px}.breadcrumb{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.breadcrumb .current{color:var(--deep-forest);font-weight:600}.breadcrumb .sep{color:#6b728080}.landing-wrap{text-align:center;max-width:880px;margin:0 auto;padding:72px 24px 80px}.landing-title{font-family:var(--font-display);color:var(--deep-forest);letter-spacing:-.02em;margin:0;font-size:40px;font-weight:700}.landing-subtitle{font-family:var(--font-body);color:var(--text-secondary);margin:10px 0 56px;font-size:16px;font-weight:400}.landing-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.landing-card{background:var(--card);border-radius:var(--radius);text-align:left;flex-direction:column;align-items:flex-start;padding:32px;transition:transform .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.landing-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -10px #191c1b14}.landing-card .illo{border-radius:var(--radius);background:var(--green-wash);justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:24px;display:inline-flex}.landing-card h2{font-family:var(--font-display);color:var(--deep-forest);letter-spacing:-.01em;margin:0 0 8px;font-size:20px;font-weight:600}.landing-card p{font-family:var(--font-body);color:var(--text-secondary);margin:0;font-size:14px;font-weight:400;line-height:1.55}@media (width<=600px){.app-header{grid-template-columns:auto 1fr;padding:0 16px}.header-title{display:none}.header-right{gap:8px}.header-right .icon-btn{width:32px;height:32px}.avatar{width:32px;height:32px;font-size:12px}.landing-grid{grid-template-columns:1fr}.landing-wrap{padding:48px 20px 64px}.landing-title{font-size:32px}}.icon{color:inherit;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon svg{stroke:currentColor;fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.gantt-grid[data-cols="1"],.day-headers[data-cols="1"]{grid-template-columns:1fr}.gantt-grid[data-cols="7"],.day-headers[data-cols="7"]{grid-template-columns:repeat(7,1fr)}.gantt-grid[data-cols="14"],.day-headers[data-cols="14"]{grid-template-columns:repeat(14,1fr)}.gantt-grid[data-cols="28"],.day-headers[data-cols="28"]{grid-template-columns:repeat(28,1fr)}.day-headers{display:grid}.gantt-grid{flex-direction:column;display:flex}.gantt-row{display:grid}.gantt-row[data-cols="1"]{grid-template-columns:1fr}.gantt-row[data-cols="7"]{grid-template-columns:repeat(7,1fr)}.gantt-row[data-cols="14"]{grid-template-columns:repeat(14,1fr)}.gantt-row[data-cols="28"]{grid-template-columns:repeat(28,1fr)}.gantt-grid:before{background-image:none}.gantt-grid[data-cols="7"]:before{background-image:repeating-linear-gradient(90deg,#0000 0 calc(14.2857% - .5px),#0000000a calc(14.2857% - .5px) calc(14.2857% + .5px),#0000 calc(14.2857% + .5px) 14.2857%)}.gantt-grid[data-cols="14"]:before{background-image:repeating-linear-gradient(90deg,#0000 0 calc(7.1429% - .5px),#0000000a calc(7.1429% - .5px) calc(7.1429% + .5px),#0000 calc(7.1429% + .5px) 7.1429%)}.gantt-grid[data-cols="28"]:before{background-image:repeating-linear-gradient(90deg,#0000 0 calc(3.5714% - .5px),#0000000a calc(3.5714% - .5px) calc(3.5714% + .5px),#0000 calc(3.5714% + .5px) 3.5714%)}.col-overlay{pointer-events:none;z-index:0;position:absolute;inset:0}.col-weekend{background:#00000005;position:absolute;top:0;bottom:0}.col-week-sep{background:#191c1b14;width:2px;position:absolute;top:0;bottom:0;transform:translate(-1px)}.day-header.weekend{color:#6b7280bf}.day-header.week-start{border-left:2px solid #191c1b14;padding-left:12px}.gantt-main{cursor:crosshair}.gantt-main .bar{cursor:grab}.gantt-main .bar.dragging{cursor:grabbing}.bar.drop-target{outline-offset:2px;outline:2px dashed #2a4d2e80}.droppable-active{outline:2px dashed var(--nivlex-green-dark,#2a4d2ea6);outline-offset:-2px;background-color:#b5d2330f;transition:outline-color .12s,background-color .12s}.sidebar-item[draggable=true]{cursor:grab;-webkit-user-select:none;user-select:none}.sidebar-item.dragging{opacity:.5}.sidebar-item.people-row .person-handle{color:#2a4d2e59;width:12px;font-size:14px;line-height:1;font-family:var(--font-body);flex-shrink:0;display:inline-flex}.create-popup{z-index:100;background:var(--card);border-radius:var(--radius);border:1px solid #2a4d2e14;flex-direction:column;gap:10px;width:280px;padding:14px;display:flex;position:fixed;box-shadow:0 20px 50px #191c1b2e,0 6px 16px #191c1b14}.create-popup input[type=text],.create-popup select{border:1px solid var(--outline);width:100%;font-family:var(--font-body);color:var(--text-primary);background:var(--card);box-sizing:border-box;border-radius:6px;outline:none;padding:8px 10px;font-size:13px}.create-popup input[type=text]:focus,.create-popup select:focus{border-color:var(--nivlex-green-dark)}.create-popup .popup-row{align-items:center;gap:8px;display:flex}.create-popup .popup-mic{background:var(--gradient-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.create-popup .popup-mic svg{width:14px;height:14px}.create-popup .popup-hint{color:var(--text-secondary);font-size:11px}.create-popup .popup-day{color:var(--text-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:500}.app-toast{max-width:360px;font-size:13px;font-family:var(--font-body);z-index:300;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-weight:500;animation:.18s app-toast-in;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 10px 28px #191c1b38}.app-toast-success{background:var(--deep-forest);color:#fff}.app-toast-error{color:#fff;background:#b91c1c}.app-toast-message{word-break:break-word;flex:auto;line-height:1.35}.app-toast-close{width:22px;height:22px;color:inherit;cursor:pointer;background:#ffffff29;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.app-toast-close:hover{background:#ffffff47}@keyframes app-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.app-banner{z-index:50;color:#92400e;font-size:13px;font-family:var(--font-body);background:#fef3c7;border-bottom:1px solid #fde68a;align-items:center;gap:10px;padding:8px 16px;display:flex;position:sticky;top:0}.app-banner-icon{flex:none;display:inline-flex}.settings-toolbar .breadcrumb{font-size:13px}.settings-wrap{flex-direction:column;gap:20px;max-width:1100px;margin:0 auto;padding:28px;display:flex}.lib-table{border-collapse:collapse;width:100%;font-size:13px}.lib-table th{text-align:left;font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--outline);padding:8px 10px;font-size:11px;font-weight:600}.lib-table td{vertical-align:middle;color:var(--text-primary);border-bottom:1px solid #c6c9b066;padding:10px}.lib-table tr:last-child td{border-bottom:none}.lib-table td input[type=text]{border:1px solid var(--outline);width:100%;font-family:var(--font-body);color:var(--text-primary);background:var(--card);box-sizing:border-box;border-radius:6px;outline:none;padding:6px 8px;font-size:13px}.lib-table td input[type=text]:focus{border-color:var(--nivlex-green-dark)}.row-actions{justify-content:flex-end;gap:6px;display:flex}.row-btn{height:28px;color:var(--text-secondary);transition:background var(--transition-fast) var(--transition-easing), color var(--transition-fast) var(--transition-easing);background:0 0;border-radius:6px;align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.row-btn:hover{color:var(--deep-forest);background:#b5d23314}.row-btn.primary{background:var(--nivlex-green);color:#fff}.row-btn.primary:hover{background:var(--nivlex-green);filter:brightness(1.05)}.row-btn.danger{color:var(--asph-danger)}.row-btn.danger:hover{background:var(--asph-danger-wash);color:var(--asph-danger)}.settings-footer{text-align:center;color:var(--text-secondary);padding:8px 0 20px;font-size:11px;font-style:italic}.dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.dot-active{background:var(--nivlex-green)}.dot-available{box-shadow:inset 0 0 0 1.5px var(--outline);background:0 0}.expand-btn{width:32px;height:32px;color:var(--text-secondary);transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);background:0 0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.expand-btn:hover{color:var(--deep-forest);background:#b5d23314}.expand-btn .icon-minimize,body.fullscreen .expand-btn .icon-expand{display:none}body.fullscreen .expand-btn .icon-minimize{display:inline-block}body.fullscreen .app-header,body.fullscreen .sidebar,body.fullscreen .gantt-rail{display:none}body.fullscreen .toolbar{top:0}body.fullscreen .gantt-layout{grid-template-columns:1fr;min-height:calc(100vh - 48px)}.today-btn{border:1px solid var(--outline);height:28px;color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing), border-color var(--transition-normal) var(--transition-easing);background:0 0;border-radius:6px;margin-left:4px;padding:0 12px;font-size:12px;font-weight:500}.today-btn:hover{color:var(--deep-forest);border-color:var(--deep-forest);background:#b5d23314}.mic-btn.recording{animation:1.2s ease-in-out infinite nvx-pulse;box-shadow:0 0 #ef444480}@keyframes nvx-pulse{0%{box-shadow:0 0 #ef444499}70%{box-shadow:0 0 0 16px #ef444400}to{box-shadow:0 0 #ef444400}}.recording-overlay{background:var(--card);color:var(--text-primary);z-index:1000;pointer-events:none;border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font:500 13px Inter,sans-serif;display:flex;position:fixed;bottom:24px;left:24px;box-shadow:0 12px 32px #191c1b29}.recording-overlay .rec-dot{background:#ef4444;border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite nvx-pulse-dot}@keyframes nvx-pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.transcript-toast{background:var(--card);z-index:1100;border-radius:12px;max-width:420px;padding:14px 38px 14px 18px;animation:.2s ease-out nvx-slide-in;position:fixed;bottom:24px;left:24px;box-shadow:0 16px 40px #191c1b2e}.transcript-toast h4{color:var(--deep-forest);margin:0 0 8px;font:600 13px Manrope,sans-serif}.transcript-toast p{color:var(--text-primary);white-space:pre-wrap;margin:0;font:400 14px/1.5 Inter,sans-serif}.transcript-toast .hint{color:var(--text-secondary);margin-top:8px;font:400 11px Inter,sans-serif}.transcript-toast .close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font:500 16px/1 sans-serif;position:absolute;top:8px;right:10px}@keyframes nvx-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gantt-main.month-mode{cursor:default;flex-direction:column;min-height:0;padding:24px 28px 32px;display:flex}.cal-month-headers{border-bottom:1px solid var(--outline);background:var(--card);grid-template-columns:repeat(7,1fr);gap:0;padding:0 0 10px;display:grid!important}.cal-month-dayhdr{font-family:var(--font-body);color:var(--text-secondary);letter-spacing:.14em;text-transform:uppercase;text-align:left;padding:8px 0 6px 12px;font-size:11px;font-weight:600}.cal-month-grid{flex-direction:initial;background:var(--card);gap:0;padding:0;display:block!important}.cal-month-grid:before{content:none;background-image:none}.cal-month-body{border-left:1px solid var(--outline);border-top:1px solid var(--outline);flex-direction:column;display:flex}.cal-month-row{grid-template-columns:repeat(7,1fr);min-height:130px;display:grid;position:relative}.cal-month-cell{border-right:1px solid var(--outline);border-bottom:1px solid var(--outline);background:var(--card);min-height:130px;padding:6px 8px;position:relative;overflow:hidden}.cal-month-cell.outside{background:var(--section)}.cal-month-cell.outside .cal-month-daynum{color:var(--text-secondary);opacity:.5}.cal-month-daynum{font-family:var(--font-body);color:var(--text-primary);border-radius:999px;padding:2px 6px;font-size:12px;font-weight:600;line-height:1.2;display:inline-block}.cal-month-cell.today .cal-month-daynum{background:var(--nivlex-green);color:var(--deep-forest)}.cal-month-overflow{font-family:var(--font-body);color:var(--text-secondary);pointer-events:none;font-size:11px;font-weight:500;display:block;position:absolute;bottom:4px;left:8px}.cal-month-row .cal-month-bar{top:calc(28px + var(--bar-lane,0) * 22px);background:var(--bar-color,#b5d233);color:#fff;height:20px;font-family:var(--font-body);cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:2;box-sizing:border-box;transition:box-shadow var(--transition-normal) var(--transition-easing), filter var(--transition-normal) var(--transition-easing);border-radius:4px;align-items:center;gap:6px;padding:0 8px;font-size:11px;font-weight:600;display:flex;position:absolute;overflow:hidden}.cal-month-row .cal-month-bar:hover{filter:brightness(1.04);box-shadow:0 2px 8px #191c1b2e}.cal-month-row .cal-month-bar.dragging{cursor:grabbing;opacity:.85;z-index:10;transition:none}.cal-month-row .cal-month-bar.cont-left{border-top-left-radius:0;border-bottom-left-radius:0}.cal-month-row .cal-month-bar.cont-right{border-top-right-radius:0;border-bottom-right-radius:0}.cal-month-bar-label{text-overflow:ellipsis;white-space:nowrap;pointer-events:none;flex:1;min-width:0;overflow:hidden}.cal-month-resize-left,.cal-month-resize-right{cursor:ew-resize;z-index:3;width:8px;position:absolute;top:0;bottom:0}.cal-month-resize-left{left:0}.cal-month-resize-right{right:0}.cal-month-row .cal-month-bar.cont-left .cal-month-resize-left,.cal-month-row .cal-month-bar.cont-right .cal-month-resize-right{display:none}#root{flex-direction:column;min-height:100vh;display:flex}.nav-chips{align-items:center;gap:6px;display:inline-flex}.nav-chip{height:30px;font-family:var(--font-body);color:#ffffffb3;transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);background:0 0;border-radius:999px;align-items:center;padding:0 14px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.nav-chip:hover{color:#fff;background:#ffffff14}.nav-chip.active{background:var(--nivlex-green);color:var(--asph-lime-ink);font-weight:600}.header-theme-toggle{width:34px;height:34px;color:var(--asph-lime);cursor:pointer;transition:background var(--transition-normal) var(--transition-easing), border-color var(--transition-normal) var(--transition-easing);background:0 0;border:1px solid #ffffff24;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.header-theme-toggle:hover{background:#ffffff12}.header-theme-toggle:focus-visible{outline:var(--focus-ring-width) solid var(--asph-lime);outline-offset:var(--focus-ring-offset)}.avatar-menu{display:inline-flex;position:relative}.avatar-button{cursor:pointer;transition:border-color var(--transition-normal) var(--transition-easing), box-shadow var(--transition-normal) var(--transition-easing);border:2px solid #0000;padding:0}.avatar-button:hover{box-shadow:0 0 0 3px #b5d2332e}.avatar-button.is-active-route{border-color:var(--nivlex-green);box-shadow:0 0 0 3px #b5d23338}.avatar-dropdown{background:var(--card);min-width:200px;box-shadow:var(--shadow-ambient), 0 8px 24px #191c1b1a;z-index:60;border-radius:10px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.avatar-dropdown-row{height:40px;font-family:var(--font-body);color:var(--deep-forest,#1f2a22);text-align:left;background:0 0;border-radius:8px;align-items:center;gap:10px;padding:0 12px;font-size:13px;font-weight:500;transition:background .14s,color .14s;display:inline-flex}.avatar-dropdown-row:hover,.avatar-dropdown-row:focus-visible{background:var(--green-wash);color:var(--deep-forest,#1f2a22)}.avatar-dropdown-row.active{background:var(--green-wash);color:var(--nivlex-green)}.avatar-dropdown-icon{color:currentColor;flex:0 0 16px}.avatar-dropdown-row.is-disabled{opacity:.55;cursor:default;pointer-events:none}.avatar-dropdown-row.is-disabled:hover{background:0 0}.apps-soon-badge{background:var(--green-wash);color:var(--deep-forest,#1f2a22);white-space:nowrap;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:600}.app-header.with-nav{grid-template-columns:auto 1fr auto auto;gap:20px}.app-header.with-nav .header-title{text-align:left}.modal-backdrop{z-index:150;background:#191c1b66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--card);border-radius:12px;flex-direction:column;width:100%;max-width:540px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #191c1b3d}.modal-header{border-bottom:1px solid #c6c9b080;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-title{font-family:var(--font-display);color:var(--deep-forest);text-wrap:pretty;margin:0;font-size:16px;font-weight:700}.modal-close{color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.modal-close:hover{background:var(--section);color:var(--text-primary)}.modal-body{flex:1;padding:20px 22px;overflow-y:auto}.modal-body pre{font-family:var(--font-body);color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;margin:0;font-size:13px;line-height:1.55}.modal-footer{border-top:1px solid #c6c9b080;justify-content:flex-end;gap:10px;padding:14px 22px;display:flex}.spinner{border:2px solid #55650033;border-top-color:var(--nivlex-green-dark);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}.spinner.lg{border-width:3px;width:32px;height:32px}@keyframes spin{to{transform:rotate(360deg)}}.settings-page{flex-direction:column;min-height:100vh;display:flex}.settings-toolbar{z-index:40;background:var(--section);align-items:center;min-height:56px;padding:8px 28px;display:flex;position:sticky;top:64px}.settings-toolbar .breadcrumb{color:var(--text-secondary);font-size:13px}.settings-toolbar .breadcrumb a{color:var(--text-secondary);transition:color var(--transition-fast) var(--transition-easing)}.settings-toolbar .breadcrumb a:hover{color:var(--deep-forest)}.settings-toolbar .breadcrumb .sep{color:var(--outline);margin:0 6px}.settings-toolbar .breadcrumb .current{color:var(--deep-forest);font-weight:600}.settings-wrap{flex-direction:column;gap:20px;width:100%;max-width:1100px;margin:0 auto;padding:28px;display:flex}.settings-tabs{background:var(--card);border-radius:999px;align-self:flex-start;gap:2px;padding:4px;display:inline-flex}.settings-tab{height:32px;font-family:var(--font-body);color:var(--text-secondary);transition:color var(--transition-normal) var(--transition-easing), background var(--transition-normal) var(--transition-easing);background:0 0;border-radius:999px;padding:0 16px;font-size:13px;font-weight:500}.settings-tab:hover:not(.active){color:var(--deep-forest)}.settings-tab.active{background:var(--nivlex-green);color:#fff;font-weight:600}.settings-section{background:var(--card);border-radius:var(--radius);padding:22px 24px}.settings-section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.settings-section-head h2{font-family:var(--font-display);color:var(--deep-forest);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:700}.settings-add{background:var(--nivlex-green);color:#fff;border-radius:999px;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.settings-add:hover{filter:brightness(1.05)}.settings-add[disabled]{opacity:.6;cursor:not-allowed}.settings-rows{flex-direction:column;gap:8px;display:flex}.settings-empty{color:var(--text-secondary);text-align:center;padding:18px 0;font-style:italic}.settings-row{border-radius:var(--radius);background:var(--card);transition:border-color var(--transition-fast) var(--transition-easing), box-shadow var(--transition-fast) var(--transition-easing);border:1px solid #c6c9b073;align-items:center;gap:12px;padding:10px 12px;display:flex}.settings-row:hover{border-color:var(--outline);box-shadow:0 1px 2px #191c1b0a}.settings-row-chip{color:#fff;width:36px;height:36px;font-family:var(--font-body);letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.settings-row-chip-square{border-radius:8px;width:44px}.settings-row-fields{flex:1;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;min-width:0;display:grid}.settings-field{flex-direction:column;gap:4px;min-width:0;display:flex}.settings-field span{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);font-size:10px;font-weight:600}.settings-field-narrow{max-width:110px}.settings-field input{border:1px solid var(--outline);width:100%;font-family:var(--font-body);color:var(--text-primary);background:var(--card);box-sizing:border-box;transition:border-color var(--transition-fast) var(--transition-easing), box-shadow var(--transition-fast) var(--transition-easing);border-radius:6px;outline:none;padding:6px 8px;font-size:13px}.settings-field input:focus{border-color:var(--nivlex-green-dark);box-shadow:0 0 0 3px #b5d2332e}.settings-row-delete{height:28px;color:var(--asph-danger);transition:background var(--transition-fast) var(--transition-easing);background:0 0;border-radius:6px;flex-shrink:0;padding:0 10px;font-size:12px;font-weight:500}.settings-row-delete:hover{background:var(--asph-danger-wash)}.settings-color-picker{flex-shrink:0;position:relative}.settings-color-swatch{cursor:pointer;width:28px;height:28px;transition:transform var(--transition-fast) var(--transition-easing);border:none;border-radius:50%;box-shadow:0 0 0 1px #0000001a,0 1px 3px #191c1b14}.settings-color-swatch:hover{transform:scale(1.08)}.settings-color-popup{z-index:200;background:#fff;border:1px solid #2a4d2e14;border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 20px 50px #191c1b2e,0 6px 16px #191c1b14}.settings-color-grid{grid-template-columns:repeat(4,28px);gap:8px;display:grid}.settings-color-cell{cursor:pointer;width:28px;height:28px;transition:transform var(--transition-fast) var(--transition-easing), box-shadow var(--transition-fast) var(--transition-easing);border:none;border-radius:50%;padding:0;box-shadow:0 0 0 1px #00000014}.settings-color-cell:hover{transform:scale(1.08)}.settings-color-cell.active{box-shadow:0 0 0 2px var(--deep-forest)}.settings-color-custom{border:1px solid var(--outline);cursor:pointer;background:var(--card);border-radius:6px;width:100%;height:32px;padding:2px}.project-form{flex-direction:column;gap:14px;display:flex}.project-form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.project-form-field{flex-direction:column;gap:6px;min-width:0;display:flex}.project-form-field span{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:600}.project-form-field input[type=text],.project-form-field input[type=date]{border:1px solid var(--outline);width:100%;font-family:var(--font-body);color:var(--text-primary);background:var(--card);transition:border-color var(--transition-fast) var(--transition-easing), box-shadow var(--transition-fast) var(--transition-easing);border-radius:8px;outline:none;padding:8px 10px;font-size:13px}.project-form-field input[type=text]:focus,.project-form-field input[type=date]:focus{border-color:var(--nivlex-green-dark);box-shadow:0 0 0 3px #b5d2332e}.project-form-color{border:1px solid var(--outline);cursor:pointer;background:var(--card);border-radius:8px;width:56px;height:32px;padding:2px}.project-form-error{color:var(--asph-danger);background:var(--asph-danger-wash);border-radius:6px;padding:8px 10px;font-size:12px}.monthly-toolbar{justify-content:flex-end;align-items:center;gap:10px;padding:12px 28px 0;display:flex}.btn-danger{color:#fff;background:#b91c1c;font-weight:600}.btn-danger:hover{background:#a01717;transform:translateY(-1px);box-shadow:0 8px 20px #b91c1c2e}.btn-danger:disabled{opacity:.65;cursor:not-allowed}.notfound-page{background:var(--canvas);justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.notfound-card{background:var(--card);box-shadow:var(--shadow-ambient);text-align:center;border-radius:12px;width:100%;max-width:420px;padding:36px 40px}.notfound-title{font-family:var(--font-display);color:var(--deep-forest);margin:0 0 8px;font-size:22px;font-weight:700}.notfound-subtitle{color:var(--text-secondary);margin:0 0 24px;font-size:13px}.error-boundary-page{background:var(--canvas);justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex}.error-boundary-card{background:var(--card);box-shadow:var(--shadow-ambient);text-align:center;border-radius:12px;width:100%;max-width:460px;padding:32px}.error-boundary-title{font-family:var(--font-display);color:var(--deep-forest);margin:0 0 8px;font-size:22px;font-weight:700}.error-boundary-subtitle{color:var(--text-secondary);margin:0 0 24px;font-size:13px}.error-boundary-actions{justify-content:center;gap:8px;display:flex}.wa-template-help{background:#b5d23314;border:1px solid #b5d23359;border-radius:10px;max-width:760px;margin-bottom:14px;padding:12px 14px}.wa-template-help-intro{color:var(--text-secondary);margin:0 0 6px;font-size:13px}.wa-template-help-list{color:var(--text-secondary);margin:0;padding-left:18px;font-size:12.5px;line-height:1.55}.wa-template-help-list code{color:var(--deep-forest);background:#191c1b0f;border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.wa-template-textarea{border:1px solid var(--outline);background:var(--card);width:100%;max-width:760px;min-height:360px;color:var(--deep-forest);resize:vertical;white-space:pre;border-radius:10px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5;overflow:auto}.wa-template-textarea:focus{border-color:var(--nivlex-green);outline:none;box-shadow:0 0 0 3px #b5d23340}.wa-template-textarea[disabled]{opacity:.6;cursor:not-allowed}.wa-template-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.wa-template-reset{height:30px;color:var(--text-secondary);border:1px solid var(--outline);cursor:pointer;background:0 0;border-radius:999px;padding:0 12px;font-size:12px;font-weight:500}.wa-template-reset:hover:not([disabled]){color:var(--deep-forest);border-color:var(--deep-forest)}.wa-template-reset[disabled]{opacity:.5;cursor:not-allowed}.wa-template-saved{color:var(--nivlex-green);font-size:12px;font-weight:600}.measurements-page{background:var(--canvas);flex-direction:column;min-height:100vh;display:flex}.measurements-content{flex-direction:column;gap:18px;width:100%;max-width:1320px;margin:0 auto;padding:28px 28px 56px;display:flex}.measurements-card{background:var(--card);border:1px solid var(--outline);box-shadow:var(--shadow-ambient);border-radius:14px;padding:22px 24px}.measurements-card-title{font-family:var(--font-display);color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:600}.measurements-grid{grid-template-columns:1fr;gap:18px;display:grid}@media (width>=900px){.measurements-grid{grid-template-columns:1fr 1fr}}.measurements-input-row{border:1px solid var(--outline);background:var(--card);transition:border-color var(--transition-normal) var(--transition-easing), box-shadow var(--transition-normal) var(--transition-easing);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.measurements-input-row:focus-within{border-color:var(--nivlex-green);box-shadow:0 0 0 3px #b5d2332e}.measurements-input-icon{color:var(--text-secondary);display:inline-flex}.measurements-input{font-family:var(--font-body);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:4px 0;font-size:13.5px}.measurements-input::placeholder{color:var(--text-secondary)}.measurements-input-add{background:var(--nivlex-green);color:#fff;width:28px;height:28px;transition:background var(--transition-normal) var(--transition-easing), opacity var(--transition-normal) var(--transition-easing);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.measurements-input-add:hover:not(:disabled){background:var(--nivlex-green-dark)}.measurements-input-add:disabled{opacity:.45;cursor:not-allowed}.measurements-list-wrap{margin-top:10px}.measurements-empty{color:var(--text-secondary);margin:0;font-size:12.5px;font-style:italic}.measurements-address-list{flex-direction:column;gap:6px;display:flex}.measurements-address-pill{background:var(--green-wash);border:1px solid #b5d23373;border-radius:10px;align-items:center;gap:8px;padding:6px 10px;display:flex}.measurements-address-icon{color:var(--nivlex-green-dark);display:inline-flex}.measurements-address-label{color:var(--deep-forest);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.measurements-address-remove{width:22px;height:22px;color:var(--text-secondary);opacity:0;transition:opacity var(--transition-normal) var(--transition-easing), background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.measurements-address-pill:hover .measurements-address-remove{opacity:1}.measurements-address-remove:hover{background:var(--asph-danger-wash);color:var(--asph-danger)}.measurements-chantier-row{flex-direction:column;gap:6px;margin-top:14px;display:flex}.measurements-chantier-label{color:var(--text-secondary);font-size:12px;font-weight:500}.measurements-optional{color:var(--text-secondary);font-style:italic;font-weight:400}.measurements-chantier-row .measurements-input{border:1px solid var(--outline);background:var(--card);border-radius:10px;padding:8px 12px}.measurements-chantier-row .measurements-input:focus{border-color:var(--nivlex-green);outline:none;box-shadow:0 0 0 3px #b5d2332e}.measurements-dropzone{border:2px dashed var(--outline);text-align:center;cursor:pointer;transition:border-color var(--transition-normal) var(--transition-easing), background var(--transition-normal) var(--transition-easing);border-radius:14px;padding:22px 16px}.measurements-dropzone:hover{border-color:var(--nivlex-green);background:#b5d2330d}.measurements-dropzone.is-dragging{border-color:var(--nivlex-green);background:var(--green-wash)}.measurements-dropzone.is-locked{opacity:.55;cursor:not-allowed}.measurements-dropzone-icon{color:var(--text-secondary);display:inline-flex}.measurements-dropzone-title{color:var(--deep-forest);margin:8px 0 2px;font-size:13.5px;font-weight:500}.measurements-dropzone-hint{color:var(--text-secondary);margin:0;font-size:12px}.measurements-dropzone-input{display:none}.measurements-file-card{background:var(--green-wash);border:1px solid #b5d23373;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.measurements-file-icon{color:var(--nivlex-green-dark);display:inline-flex}.measurements-file-meta{flex:1;min-width:0}.measurements-file-name{color:var(--deep-forest);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.measurements-file-size{color:var(--text-secondary);font-size:11.5px}.measurements-file-remove{width:26px;height:26px;color:var(--text-secondary);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.measurements-file-remove:hover{background:var(--asph-danger-wash);color:var(--asph-danger)}.measurements-action-card{flex-direction:column;gap:10px;display:flex}.measurements-action-btn{justify-content:center;width:100%;height:44px;font-size:14px;font-weight:600}.measurements-action-btn.is-disabled,.measurements-action-btn:disabled{background:var(--section);color:var(--text-secondary);cursor:not-allowed;box-shadow:none}.measurements-action-btn.is-disabled:hover,.measurements-action-btn:disabled:hover{box-shadow:none;transform:none}.measurements-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite measurements-spin}@keyframes measurements-spin{to{transform:rotate(360deg)}}.measurements-error{color:var(--asph-danger);margin:0;font-size:13px}.measurements-results-card{padding-bottom:16px}.measurements-results-header{border-bottom:1px solid var(--section);margin-bottom:16px;padding-bottom:14px}.measurements-results-title{font-family:var(--font-display);color:var(--deep-forest);align-items:center;gap:8px;margin:0;font-size:18px;font-weight:700;display:flex}.measurements-results-icon{color:var(--nivlex-green-dark);display:inline-flex}.measurements-results-subtitle{color:var(--text-secondary);margin:4px 0 0 26px;font-size:12.5px}.measurements-totals-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.measurements-totals-label{font-family:var(--font-display);color:var(--deep-forest);font-size:13px;font-weight:600}.measurements-totals-pill{background:var(--deep-forest);color:#fff;text-transform:capitalize;border-radius:999px;align-items:center;padding:4px 10px;font-size:11.5px;font-weight:500;display:inline-flex}.measurements-totals-pill-incomplete{opacity:.55}.measurements-totals-pill-incomplete-label{opacity:.95;margin-left:6px;font-size:10.5px;font-weight:400}.measurements-results-card.mrpt-header{z-index:20;background:var(--mrpt-header-bg);-webkit-backdrop-filter:saturate(1.4)blur(16px);backdrop-filter:saturate(1.4)blur(16px);border:1px solid var(--asph-tile-border);box-shadow:var(--mrpt-header-shadow);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 28px;margin-bottom:16px;padding:15px 22px;display:flex;position:sticky;top:64px}.mrpt-header-lead{flex-direction:column;gap:5px;min-width:0;display:flex}.mrpt-breadcrumb{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:10.5px;font-weight:700}.mrpt-header .measurements-results-title{font-size:20px}.mrpt-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:10px;margin:3px 0 0;font-size:12.5px;display:flex}.mrpt-meta-text{font-variant-numeric:tabular-nums}.mrpt-header-side{flex-direction:column;align-items:flex-end;gap:11px;margin-left:auto;display:flex}.mrpt-header-side .measurements-totals-row{justify-content:flex-end;margin-bottom:0}.mrpt-header-side .measurements-detail-actions{margin-top:0}.mrpt-total-chip{text-transform:none;box-shadow:var(--asph-shadow-sm);gap:7px;padding:5px 12px}.mrpt-total-chip .measurements-totals-pill-cat{font-family:var(--font-body);letter-spacing:.07em;text-transform:uppercase;opacity:.92;font-size:10.5px;font-weight:700}.mrpt-total-chip .measurements-totals-pill-val{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:700}.measurements-table-wrap{border:1px solid var(--outline);border-radius:12px;overflow-x:auto}.measurements-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}.measurements-table thead tr{background:var(--deep-forest);color:#fff}.measurements-table th{font-family:var(--font-display);text-align:right;padding:12px 14px;font-size:12px;font-weight:600}.measurements-table .measurements-table-th-address{text-align:left;width:30%}.measurements-table .measurements-table-th-total{width:15%}.measurements-table tbody tr.measurements-table-row{border-bottom:1px solid var(--section);cursor:pointer;transition:background var(--transition-normal) var(--transition-easing)}.measurements-table tbody tr.measurements-table-row:nth-child(odd){background:#f3f4f166}.measurements-table tbody tr.measurements-table-row:hover{background:var(--green-wash)}.measurements-table-cell-address{color:var(--deep-forest);padding:12px 14px;font-weight:500}.measurements-table-chevron{color:var(--text-secondary);margin-right:6px;display:inline-flex}.measurements-table-cell-cat{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary);padding:12px 14px}.measurements-table-cell-total{text-align:right;color:var(--text-primary);font-variant-numeric:tabular-nums;padding:12px 14px;font-weight:700}.measurements-table-cat-pill{color:#fff;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.measurements-table-detail-row td{border-bottom:1px solid var(--section);background:#f3f4f18c;padding:10px 14px 10px 38px}.measurements-table-detail-row.is-validated td{background:#b5d2331a}.measurements-table-detail-row.is-uncertain td{background:#fdcb6e1f}.measurements-table-detail{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.measurements-table-timestamp{color:var(--deep-forest);background:#191c1b0f;border-radius:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.measurements-table-formula{color:var(--deep-forest);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.measurements-table-notes{color:#b45309;text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:11.5px;overflow:hidden}.measurements-table-spacer{flex:1}.measurements-table-subtotal{font-variant-numeric:tabular-nums;color:var(--deep-forest);font-weight:600}.measurements-table-edit-btn{width:26px;height:26px;color:var(--text-secondary);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.measurements-table-edit-btn:hover{background:var(--green-wash);color:var(--nivlex-green-dark)}.measurements-table-edit-row td{background:#7dd3fc1a;border-bottom:1px solid #38bdf859;padding:12px 14px}.measurements-table-edit-grid{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.measurements-table-edit-select,.measurements-table-edit-input{border:1px solid var(--outline);background:var(--card);color:var(--text-primary);border-radius:8px;min-width:0;padding:6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.measurements-table-edit-select{font-family:var(--font-body);font-weight:500}.measurements-table-edit-input{flex:1;max-width:220px}.measurements-table-edit-input.is-numeric{text-align:right;flex:none;width:90px;max-width:90px}.measurements-table-edit-subtotal{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.measurements-table-edit-actions{gap:8px;margin-left:auto;display:flex}.measurements-table-edit-actions .btn{height:30px;padding:0 12px;font-size:12px}.measurements-table tfoot .measurements-table-foot-row{background:var(--deep-forest);color:#fff;font-weight:700}.measurements-table tfoot .measurements-table-foot-row td{padding:12px 14px}.measurements-table tfoot .measurements-table-foot-row td:first-child{font-family:var(--font-display);text-align:left}.measurements-table tfoot .measurements-table-foot-row .measurements-table-cell-cat,.measurements-table tfoot .measurements-table-foot-row .measurements-table-cell-total{color:#fff}.measurements-table tfoot .measurements-table-foot-row.is-incomplete .measurements-table-foot-value{opacity:.55}.measurements-table-foot-incomplete-label{opacity:.85;margin-left:8px;font-size:11px;font-weight:400}.measurements-table-empty{text-align:center;color:var(--text-secondary);padding:36px 0;font-size:13px}.measurements-export-bar{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.measurements-export-bar .btn{height:34px}.measurements-layout{flex-direction:row;align-items:flex-start;gap:24px;width:100%;max-width:1720px;margin:0 auto;padding:28px 28px 56px;display:flex}.measurements-layout>.measurements-content{flex:1;min-width:0;max-width:none;margin:0;padding:0}.measurements-history{background:var(--card);border:1px solid var(--outline);width:320px;max-height:calc(100vh - 96px);box-shadow:var(--shadow-ambient);border-radius:14px;flex:0 0 320px;padding:16px;position:sticky;top:88px;overflow-y:auto}.measurements-history-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.measurements-history-title{font-family:var(--font-display);color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.measurements-history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.measurements-history-row{border:1px solid var(--outline);background:var(--card);cursor:pointer;transition:background var(--transition-normal) var(--transition-easing), border-color var(--transition-normal) var(--transition-easing);border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.measurements-history-row:hover{background:var(--green-wash)}.measurements-history-row:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.measurements-history-row.is-active{background:var(--green-wash);border-left:4px solid var(--asph-lime);padding-left:8px}.measurements-history-row-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.measurements-history-row-title{color:var(--text-primary);-webkit-line-clamp:2;text-wrap:pretty;word-break:break-word;-webkit-box-orient:vertical;font-size:13.5px;font-weight:600;display:-webkit-box;overflow:hidden}.measurements-history-row-date{color:var(--text-secondary);font-size:11.5px}.measurements-history-row-totals{flex-wrap:wrap;gap:4px 5px;margin-top:2px;display:flex}.measurements-history-chip{background:var(--section);border:1px solid var(--outline);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px 2px 6px;font-size:11px;font-weight:600;display:inline-flex}.measurements-history-chip-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.measurements-history-chip-more{opacity:.85;padding:2px 8px}.measurements-history-row-download{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.measurements-history-row-download:hover{color:var(--nivlex-green-dark);background:#b5d2332e}.measurements-history-empty{color:var(--text-secondary);border:1px dashed var(--outline);text-align:center;border-radius:10px;padding:12px;font-size:12.5px;font-style:italic}.measurements-history-skeleton{background:linear-gradient(90deg, var(--section) 0%, var(--canvas) 50%, var(--section) 100%);background-size:200% 100%;border-radius:10px;height:64px;animation:1.4s ease-in-out infinite measurements-history-skeleton}@keyframes measurements-history-skeleton{to{background-position:-200% 0}}.measurements-detail-back-row{align-items:center;display:flex}.measurements-detail-back-btn{align-items:center;gap:6px;height:32px;display:inline-flex}.measurements-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.measurements-detail-export-pill{border-radius:999px;align-items:center;gap:6px;height:34px;padding:0 16px;display:inline-flex}.measurements-detail-table{width:100%}.measurements-detail-row td{border-top:1px solid var(--outline);vertical-align:top;padding:8px 10px;font-size:13px}.measurements-detail-row.is-flagged td{background:#fdcb6e2e}.measurements-detail-transcript{font-size:13px}.measurements-detail-transcript summary{cursor:pointer;color:var(--text-primary);font-weight:600}.measurements-detail-transcript pre{background:var(--section);white-space:pre-wrap;word-break:break-word;font-family:var(--font-body);color:var(--text-primary);border-radius:8px;margin-top:10px;padding:12px;font-size:12.5px}.measurements-progress-card{flex-direction:column;align-items:center;gap:14px;display:flex}.measurements-progress-ring{flex-direction:column;align-items:center;gap:12px;padding:8px 0;display:flex}.measurements-progress-ring-wrap{width:160px;height:160px;position:relative}.measurements-progress-ring-svg{width:100%;height:100%;animation:2s ease-in-out infinite measurements-progress-pulse;transform:rotate(-90deg)}.measurements-progress-ring-svg.is-completed,.measurements-progress-ring-svg.is-error{animation:none}@keyframes measurements-progress-pulse{0%,to{opacity:.85}50%{opacity:1}}.measurements-progress-ring-bg{fill:none;stroke:var(--green-wash);stroke-width:10px}.measurements-progress-ring-fg{fill:none;stroke:var(--nivlex-green);stroke-width:10px;stroke-linecap:round;transition:stroke-dashoffset .4s ease-out, stroke var(--transition-normal) var(--transition-easing)}.measurements-progress-ring-fg.is-error{stroke:var(--asph-danger)}.measurements-progress-ring-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.measurements-progress-ring-percent{font-family:var(--font-display);color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:48px;font-weight:700;line-height:1}.measurements-progress-ring-percent.is-error{color:var(--asph-danger)}.measurements-progress-ring-icon{color:var(--nivlex-green-dark);justify-content:center;align-items:center;animation:.28s ease-out both measurements-progress-icon-in;display:inline-flex}.measurements-progress-ring-icon.is-error{color:var(--asph-danger)}@keyframes measurements-progress-icon-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.measurements-progress-ring-stage{color:var(--text-primary);text-align:center;max-width:260px;font-size:13.5px;font-weight:600;line-height:1.35}.measurements-progress-ring-stage.is-error{color:var(--asph-danger)}.mzone-cards{flex-direction:column;gap:16px;display:flex}.mzone-card{background:var(--card);border:1px solid var(--outline);box-shadow:var(--shadow-ambient);transition:box-shadow var(--transition-normal) var(--transition-easing), border-color var(--transition-normal) var(--transition-easing);border-radius:16px;overflow:hidden}.mzone-card:hover{border-color:var(--asph-ghost-border);box-shadow:var(--asph-shadow-lg)}.mzone-head{align-items:center;gap:12px;padding:16px 20px;display:flex}.mzone-card:not(.is-collapsed) .mzone-head{border-bottom:1px solid var(--section)}.mzone-collapse{width:30px;height:30px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);background:0 0;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.mzone-collapse:hover{background:var(--green-wash);color:var(--deep-forest)}.mzone-collapse:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.mzone-chevron{transition:transform var(--transition-normal) var(--transition-easing)}.mzone-chevron.is-collapsed{transform:rotate(-90deg)}.mzone-index{background:var(--mrpt-index-bg);width:30px;height:30px;color:var(--asph-lime);font-family:var(--font-display);font-variant-numeric:tabular-nums;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:inline-flex}.mzone-address{flex:1;align-items:center;gap:6px;min-width:0;display:inline-flex}.mzone-address-text{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);cursor:text;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px dashed #0000;border-radius:4px;padding:0 2px;font-size:16.5px;font-weight:700;transition:border-color .12s ease-out,background .12s ease-out;overflow:hidden}.mzone-address-text:hover{border-bottom-color:var(--nivlex-green);background:var(--green-wash)}.mzone-address-text:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.mzone-address-edit{width:24px;height:24px;color:var(--text-secondary);cursor:pointer;opacity:0;transition:opacity var(--transition-normal) var(--transition-easing), background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);background:0 0;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.mzone-head:hover .mzone-address-edit,.mzone-address-edit:focus-visible{opacity:1}.mzone-address-edit:hover{background:var(--green-wash);color:var(--deep-forest)}.mzone-address-input{min-width:0;font-family:var(--font-display);color:var(--text-primary);border:1px solid var(--nivlex-green);background:var(--card);border-radius:8px;flex:1;padding:4px 10px;font-size:16.5px;font-weight:700}.mzone-address-input:focus{outline:none;box-shadow:0 0 0 3px #b5d2332e}.mzone-subtotal{font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;display:inline-flex}.mzone-subtotal-value{font-family:var(--font-display);color:var(--deep-forest);font-size:17px;font-weight:700}.mzone-subtotal-num{font-variant-numeric:tabular-nums}.mzone-subtotal-unit{color:var(--text-secondary);margin-left:3px;font-size:13px;font-weight:600}.mzone-subtotal-sep,.mzone-subtotal-approx{color:var(--text-secondary);font-weight:700}.mzone-subtotal-empty{color:var(--text-secondary);font-size:16px}.mzone-subtotal-incomplete{align-items:center;gap:8px;display:inline-flex}.mzone-subtotal-incomplete .mzone-subtotal-value{opacity:.7}.mzone-subtotal-flag{background:var(--mrpt-amber-bg);color:var(--mrpt-amber-fg);border:1px solid var(--mrpt-amber-border);font-family:var(--font-body);letter-spacing:.02em;border-radius:999px;align-items:center;padding:2px 9px;font-size:11px;font-weight:600;display:inline-flex}.mzone-body{padding:8px 14px 14px}.mzone-empty{text-align:center;color:var(--text-secondary);margin:0;padding:18px;font-size:13.5px;font-style:italic}.mzone-rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mzone-row{transition:background var(--transition-normal) var(--transition-easing);border-radius:10px;padding:9px 8px}.mzone-row+.mzone-row{border-top:1px solid var(--section)}.mzone-row:hover{background:var(--green-wash)}.mzone-row.is-flagged{background:var(--mrpt-amber-wash)}.mzone-row.is-flagged+.mzone-row,.mzone-row.is-verified+.mzone-row{border-top-color:#0000}.mzone-row.is-verified{box-shadow:inset 3px 0 0 var(--nivlex-green);background:#b5d2331a}.mzone-row-main{align-items:center;gap:12px;display:flex}.mzone-row-formula{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.mzone-row-tail{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.mzone-row-cat-pill{color:#fff;height:22px;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;box-shadow:var(--asph-shadow-sm);border:none;border-radius:999px;flex-shrink:0;align-items:center;padding:0 10px;font-size:10.5px;font-weight:700;transition:transform .1s ease-out,filter .12s ease-out;display:inline-flex}.mzone-row-cat-pill:hover{filter:brightness(1.06)}.mzone-row-cat-pill:active{transform:scale(.97)}.mzone-row-cat-edit{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.mzone-row-flag{background:var(--mrpt-amber-bg);color:var(--mrpt-amber-fg);border:1px dashed var(--mrpt-amber-border);font-family:var(--font-body);letter-spacing:.01em;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;padding:2px 9px;font-size:10.5px;font-weight:600;display:inline-flex}.mzone-row-formula .measurements-table-formula-wrap{gap:5px 7px}.mzone-row-formula .measurement-term-group{gap:5px}.mzone-row-formula .measurement-term-group+.measurement-term-group:before{content:"+";color:var(--text-secondary);font-family:var(--font-display);align-self:center;margin-left:-2px;font-size:12px;font-weight:700}.mzone-row-formula .measurement-term-play{border-color:var(--asph-lime);background:var(--asph-lime);width:15px;height:15px;color:var(--asph-lime-ink)}.mzone-row-formula .measurement-term-play:hover{background:var(--asph-lime-hover)}.mzone-row-formula .measurement-term.is-unknown{border-style:dashed;border-color:var(--mrpt-amber-border);background:var(--mrpt-amber-wash)}.mzone-row-verify{border:1px solid var(--asph-lime);width:30px;height:30px;color:var(--nivlex-green-dark);cursor:pointer;transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing), transform .1s ease-out;background:#b5d2331f;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.mzone-row-verify:hover{background:#b5d23347}.mzone-row-verify:active{transform:scale(.94)}.mzone-row-verify:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.mzone-row-verify.is-verified{background:var(--nivlex-green);border-color:var(--nivlex-green-dark);color:var(--asph-lime-ink)}.mzone-row-subtotal{font-family:var(--font-display);color:var(--text-primary);font-variant-numeric:tabular-nums;cursor:text;border-bottom:1px dashed #0000;border-radius:4px;align-items:center;gap:8px;padding:2px 4px;font-size:15px;font-weight:600;transition:border-color .12s ease-out,background .12s ease-out;display:inline-flex}.mzone-row-subtotal:hover{border-bottom-color:var(--nivlex-green);background:var(--green-wash)}.mzone-row-subtotal:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.mzone-row-subtotal.is-incomplete .mzone-row-subtotal-value{opacity:.7}.mzone-row-subtotal-flag{background:var(--mrpt-amber-bg);color:var(--mrpt-amber-fg);border:1px solid var(--mrpt-amber-border);font-family:var(--font-body);border-radius:999px;padding:1px 8px;font-size:10px;font-weight:600}.mzone-row-subtotal-input{border:1px solid var(--nivlex-green);background:var(--card);width:96px;height:30px;color:var(--text-primary);font-family:var(--font-display);text-align:right;font-variant-numeric:tabular-nums;border-radius:8px;padding:0 8px;font-size:14px;font-weight:600}.mzone-row-subtotal-input:focus{outline:none;box-shadow:0 0 0 3px #b5d2332e}.mzone-row-delete{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);background:0 0;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.mzone-row-delete:hover{background:var(--asph-danger-wash);color:var(--asph-danger)}.mzone-row-delete:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.mzone-row-note{border-left:2px solid var(--asph-lime);background:var(--asph-note-bg);max-width:100%;color:var(--asph-note-fg);border-radius:0 8px 8px 0;margin:7px 0 2px 42px;padding:5px 12px;font-size:12.5px;line-height:1.45;display:inline-block}.mzone-add-line{margin-top:10px;margin-left:6px}.mzone-add-form{margin-top:10px;padding:0 6px}.mzone-cards-footer{margin-top:4px;display:flex}@media (width<=720px){.mzone-head{flex-wrap:wrap;gap:10px;padding:14px 16px}.mzone-address{flex-basis:100%;order:3}.mzone-subtotal{margin-left:auto}.mzone-row-main{flex-wrap:wrap;gap:10px}.mzone-row-formula{flex-basis:100%;order:3}.mzone-row-tail{margin-left:auto}.mzone-row-note{margin-left:0}}@media (width<=960px){.measurements-layout{flex-direction:column}.measurements-history{flex:auto;width:100%;max-height:none;position:static}}.login-page{background:var(--canvas);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--card);border:1px solid var(--outline);width:100%;max-width:380px;box-shadow:var(--shadow-mic);text-align:center;border-radius:12px;padding:32px 28px}.login-brand{background:var(--gradient-primary);color:#fff;border-radius:16px;place-items:center;width:56px;height:56px;margin:0 auto 16px;display:grid}.login-title{font-family:var(--font-display);color:var(--text-primary);margin:0 0 6px;font-size:22px}.login-subtitle{color:var(--text-secondary);margin:0 0 24px;font-size:13px}.login-form{flex-direction:column;gap:14px;display:flex}.login-field{text-align:left;color:var(--text-secondary);flex-direction:column;gap:6px;font-size:12px;display:flex}.login-field input{border:1px solid var(--outline);background:var(--card);height:40px;color:var(--text-primary);border-radius:8px;padding:0 12px;font-family:inherit;font-size:14px}.login-field input:focus{border-color:var(--nivlex-green);outline:none;box-shadow:0 0 0 3px #b5d23333}.login-pill{background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;height:40px;font-size:14px;font-weight:600;display:inline-flex}.login-pill:disabled{opacity:.6;cursor:not-allowed}.login-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite login-spin}.login-spinner.lg{border-width:3px;width:28px;height:28px}@keyframes login-spin{to{transform:rotate(360deg)}}.login-status{min-height:20px;font-size:12px}.login-status-success{color:var(--nivlex-green-dark)}.login-status-error{color:var(--asph-danger)}.protected-skeleton{place-items:center;min-height:60vh;display:grid}.protected-skeleton-spinner{border:3px solid var(--outline);border-top-color:var(--nivlex-green);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite login-spin}.header-reconnect-pill{color:#facc15;background:#f59e0b2e;border-radius:999px;align-items:center;gap:6px;height:26px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.header-reconnect-dot{background:#facc15;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite reconnect-pulse}@keyframes reconnect-pulse{0%,to{opacity:1}50%{opacity:.35}}.header-readonly-pill{color:#ffffffbf;background:#ffffff1a;border-radius:999px;align-items:center;height:26px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.conflict-toast{z-index:100;color:#fff;background:#1f2937;border-radius:10px;align-items:center;gap:10px;max-width:360px;padding:12px 14px;display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 30px #0000002e}.conflict-toast-icon{color:#facc15;align-items:center;display:inline-flex}.conflict-toast-text{flex:auto;font-size:13px;line-height:1.35}.conflict-toast-close{color:#fff9;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.conflict-toast-close:hover{color:#fff;background:#ffffff14}.project-form-modal{max-width:600px}.project-form-pills-group{border:none;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.project-form-pills-group legend{color:var(--text-secondary);padding:0;font-size:12px;font-weight:500}.project-form-hint{color:var(--text-secondary);margin:4px 0 0;font-size:12px;font-style:italic}.project-form textarea{border:1px solid var(--outline);resize:vertical;background:var(--card);min-height:60px;color:var(--text-primary);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:13px}.settings-sortable-row{align-items:center;gap:8px;display:flex}.settings-sortable-row>.settings-row{flex:1;min-width:0}.settings-drag-handle{color:#9ca3af;cursor:grab;width:22px;height:32px;transition:color var(--transition-fast) var(--transition-easing), background var(--transition-fast) var(--transition-easing);touch-action:none;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.settings-drag-handle:hover{color:#4b5563;background:#0000000a}.settings-drag-handle:active{cursor:grabbing}.cont-cal-bar-label,.weekly-bar-label{flex-direction:column;min-width:0;line-height:1.1;display:flex}.project-bar-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-bar-subtitle{opacity:.72;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.measurements-audio-player{color:#f1f3f5;z-index:60;-webkit-user-select:none;user-select:none;background:#1a1d22;border-radius:14px;align-items:center;gap:6px;width:280px;height:56px;padding:0 10px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 24px #00000040}.measurements-audio-btn{color:#f1f3f5;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:background .12s ease-out;display:inline-flex}.measurements-audio-btn:hover{background:#ffffff29}.measurements-audio-btn-primary{background:var(--nivlex-green,#b5d233);color:#1a1d22;width:34px;height:34px}.measurements-audio-btn-primary:hover{background:#c5e040}.measurements-audio-scrub{appearance:none;cursor:pointer;background:#ffffff2e;border-radius:2px;outline:none;flex:auto;height:4px}.measurements-audio-scrub::-webkit-slider-thumb{-webkit-appearance:none;background:var(--nivlex-green,#b5d233);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px}.measurements-audio-scrub::-moz-range-thumb{background:var(--nivlex-green,#b5d233);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px}.measurements-audio-time{font-variant-numeric:tabular-nums;color:#c1c5cc;text-align:right;flex-shrink:0;min-width:80px;font-size:11px}.measurements-table-formula-wrap{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.measurement-term-group{align-items:center;gap:4px;display:inline-flex}.measurement-term-play{width:18px;height:18px;color:var(--nivlex-green,#6a8519);cursor:pointer;background:#b5d2332e;border:1px solid #b5d23380;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .1s ease-out,transform .1s ease-out;display:inline-flex}.measurement-term-play:hover{background:var(--nivlex-green,#b5d233);color:#1a1d22}.measurement-term-play:active{transform:scale(.92)}.measurement-term-input{border:1px solid var(--nivlex-green,#b5d233);color:#2d3a16;background:#fff;border-radius:10px;outline:none;width:auto;min-width:80px;max-width:200px;padding:2px 8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.4}.measurement-term-input.has-error{border-color:var(--asph-danger);background:var(--asph-danger-wash)}.measurement-term{color:#2d3a16;cursor:pointer;background:#b5d2331f;border:1px solid #b5d23366;border-radius:10px;align-items:center;padding:2px 8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.4;transition:background .1s ease-out,border-color .1s ease-out,transform .1s ease-out;display:inline-flex}.measurement-term:hover{border-color:var(--nivlex-green,#b5d233);background:#b5d23347}.measurement-term:active{transform:scale(.97)}.measurement-term.is-playing{border:2px solid var(--nivlex-green,#b5d233);color:#1a1d22;background:#b5d23347;animation:1.5s ease-in-out infinite termPulse}@keyframes termPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.04)}}.measurement-term.is-medium-conf{background:#fcd34d2e;border-color:#fcd34d8c}.measurement-term.is-low-conf{background:#f871712e;border-color:#f871718c}.measurement-term.is-disagreement:after{content:"?";color:#b45309;margin-left:4px;font-weight:600}.measurements-term-warning{color:#b45309;flex-shrink:0;margin-left:4px}.measurements-term-verify{border:1px solid var(--nivlex-green,#b5d233);color:#4a6b14;cursor:pointer;background:#b5d2331f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-left:4px;padding:0;transition:background .12s ease-out,transform .1s ease-out;display:inline-flex}.measurements-term-verify:hover{background:#b5d23352}.measurements-term-verify:active{transform:scale(.92)}.measurements-term-verify.is-verified{background:var(--nivlex-green,#b5d233);color:#1a1d22;border-color:#6a8519}.measurement-term.is-unknown{background:#f59e0b1f;border-color:#f59e0b8c;gap:4px}.measurement-term-times{color:#6b7280}.measurement-term-known{color:#2d3a16}.measurement-term-unknown-input{color:#2d3a16;background:#fff;border:1px solid #f59e0bb3;border-radius:8px;outline:none;width:60px;padding:1px 6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.4}.measurement-term-unknown-input:focus{border-color:var(--nivlex-green,#b5d233);background:#b5d2330f}.measurement-term-unknown-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.measurement-term-unknown-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.measurement-term-unknown-input{-moz-appearance:textfield}.measurements-detail-row.is-verified.is-verified>td{background:#b5d2331a}.measurements-detail-row.is-verified.is-verified>td:first-child{border-left:3px solid var(--nivlex-green,#b5d233)}.measurements-table-subtotal-editable{cursor:text;border-bottom:1px dashed #0000;border-radius:3px;padding:1px 3px;transition:border-color .12s ease-out,background .12s ease-out}.measurements-table-subtotal-editable:hover{border-bottom-color:var(--nivlex-green,#b5d233);background:#b5d23314}.measurements-table-subtotal-input{font-variant-numeric:tabular-nums;text-align:right;border:1px solid var(--nivlex-green,#b5d233);background:#fff;border-radius:4px;width:78px;padding:2px 6px;font-size:13px}.measurements-table-subtotal-incomplete{flex-direction:column;align-items:flex-end;line-height:1.1;display:inline-flex}.measurements-table-subtotal-incomplete .measurements-table-subtotal-value{opacity:.55}.measurements-table-subtotal-incomplete-label{color:var(--text-secondary);margin-top:2px;font-size:12px}.measurements-history-row-delete{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.measurements-history-row-delete:hover{background:var(--asph-danger-wash);color:var(--asph-danger)}.measurements-delete-modal{max-width:420px}.measurements-delete-modal-text{color:var(--text-primary);margin:0;font-size:13.5px;line-height:1.5}.measurements-title-editable{cursor:text;border-bottom:1px dashed #0000;border-radius:4px;padding:0 2px;transition:border-color .12s ease-out,background .12s ease-out}.measurements-title-editable:hover{border-bottom-color:var(--nivlex-green);background:#b5d23314}.measurements-title-input{font-family:var(--font-display);color:var(--deep-forest);border:1px solid var(--nivlex-green);background:var(--card);border-radius:6px;min-width:220px;padding:2px 8px;font-size:18px;font-weight:700}.measurements-address-editable{cursor:text;color:var(--deep-forest);border-bottom:1px dashed #0000;border-radius:4px;padding:0 2px;font-weight:500;transition:border-color .12s ease-out,background .12s ease-out}.measurements-address-editable:hover{border-bottom-color:var(--nivlex-green);background:#b5d23314}.measurements-address-input{color:var(--deep-forest);border:1px solid var(--nivlex-green);background:var(--card);border-radius:6px;width:100%;max-width:220px;padding:3px 8px;font-size:13px;font-weight:500}.measurements-cat-cell{flex-direction:column;gap:4px;display:inline-flex}.measurements-cat-select,.measurements-unit-select{border:1px solid var(--outline);background:var(--card);height:30px;font-family:var(--font-body);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:0 8px;font-size:12.5px}.measurements-cat-select{min-width:120px}.measurements-unit-select{min-width:84px}.measurements-cat-select:focus,.measurements-unit-select:focus{border-color:var(--nivlex-green);outline:none;box-shadow:0 0 0 3px #b5d2332e}.measurements-unit-select:disabled{opacity:.5;cursor:not-allowed}.measurements-cat-custom-input{border:1px solid var(--nivlex-green);background:var(--card);height:30px;color:var(--text-primary);border-radius:8px;min-width:120px;padding:0 8px;font-size:12.5px}.measurements-table-th-unit{width:96px}.measurements-table-th-actions{width:40px}.measurements-table-cell-unit{text-align:right;padding:8px 10px}.measurements-table-cell-actions{text-align:center;padding:8px 10px}.measurements-line-remove{width:26px;height:26px;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.measurements-line-remove:hover{background:var(--asph-danger-wash);color:var(--asph-danger)}.measurements-detail-add-row td{border-top:none;padding:6px 10px 10px}.measurements-add-line-btn,.measurements-add-address-btn{border:1px dashed var(--outline);height:30px;color:var(--nivlex-green-dark);cursor:pointer;transition:background var(--transition-normal) var(--transition-easing), border-color var(--transition-normal) var(--transition-easing);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex}.measurements-add-line-btn:hover,.measurements-add-address-btn:hover{border-color:var(--nivlex-green);background:#b5d2331a}.measurements-add-line-form,.measurements-add-address-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.measurements-add-line-value{border:1px solid var(--outline);text-align:right;font-variant-numeric:tabular-nums;background:var(--card);border-radius:8px;width:100px;height:30px;padding:0 8px;font-size:12.5px}.measurements-add-line-notes,.measurements-add-address-input{border:1px solid var(--outline);background:var(--card);border-radius:8px;flex:160px;min-width:140px;height:30px;padding:0 8px;font-size:12.5px}.measurements-add-line-value:focus,.measurements-add-line-notes:focus,.measurements-add-address-input:focus,.measurements-cat-custom-input:focus{border-color:var(--nivlex-green);outline:none;box-shadow:0 0 0 3px #b5d2332e}.measurements-add-line-save,.measurements-add-line-cancel{border-radius:999px;height:30px;padding:0 14px;font-size:12.5px}.measurements-detail-add-address-row{margin-top:12px;display:flex}.measurements-table-detail-row.is-flagged>td,.measurements-detail-row.is-flagged>td{background:#f871710f}.measurements-page{padding-bottom:88px}.missing-civics-card{padding-top:14px}.missing-civics-header{cursor:pointer;width:100%;color:var(--deep-forest);font-family:var(--font-display);background:0 0;border:none;justify-content:space-between;align-items:center;padding:4px 0 8px;font-size:13px;font-weight:600;display:flex}.missing-civics-header:hover{color:var(--nivlex-green-dark)}.missing-civics-title{align-items:center;gap:6px;display:inline-flex}.missing-civics-chevron{transition:transform var(--transition-normal) var(--transition-easing)}.missing-civics-chevron.is-collapsed{transform:rotate(-90deg)}.missing-civics-toggles{flex-wrap:wrap;gap:8px;margin:6px 0 14px;display:flex}.missing-civics-toggle{appearance:none;border:1px solid var(--outline);background:var(--card);color:var(--text-primary);cursor:pointer;transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing), border-color var(--transition-normal) var(--transition-easing);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:500}.missing-civics-toggle:hover{background:var(--green-wash)}.missing-civics-toggle.is-active{background:var(--deep-forest);border-color:var(--deep-forest);color:#fff}.missing-civics-empty{color:var(--text-secondary);margin:4px 0;font-size:13px}.missing-civics-groups{flex-direction:column;gap:12px;display:flex}.missing-civics-group{flex-direction:column;gap:6px;display:flex}.missing-civics-group-label{font-family:var(--font-display);color:var(--text-secondary);letter-spacing:.04em;font-size:12px;font-weight:600}.missing-civics-pills{flex-wrap:wrap;gap:6px;display:flex}.missing-civic-pill{appearance:none;border:1px solid var(--nivlex-green-dark);background:var(--nivlex-green);color:var(--deep-forest);cursor:pointer;transition:background var(--transition-fast) var(--transition-easing), color var(--transition-fast) var(--transition-easing), opacity var(--transition-fast) var(--transition-easing);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.missing-civic-pill:hover:not(:disabled){background:var(--nivlex-green-dark);color:#fff}.missing-civic-pill.is-added{background:var(--section);border-color:var(--outline);color:var(--text-secondary);cursor:default;opacity:.65}.missing-civic-pill:disabled{cursor:default}.missing-civic-pill-num{font-variant-numeric:tabular-nums}.missing-civic-pill-added-label{text-transform:lowercase;font-size:10.5px;font-weight:400}.nav-chip-icon{margin-right:6px}.soumissions-page{background:var(--canvas);flex-direction:column;min-height:100vh;display:flex}.soumissions-content{flex-direction:column;gap:14px;width:100%;max-width:1040px;margin:0 auto;padding:28px 28px 56px;display:flex}.soumissions-error{color:var(--asph-danger);margin:0;font-size:13px}.soumissions-toolbar{align-items:center;display:flex}.soumissions-new-btn{gap:8px}.soumissions-video-input{display:none}.soumissions-progress-card{background:var(--card);border:1px solid var(--outline);box-shadow:var(--shadow-ambient);border-radius:14px;align-items:center;gap:14px;padding:16px 20px;display:flex}.soumissions-progress-card-error{border-color:#b91c1c59;justify-content:space-between}.soumissions-progress-text{flex-direction:column;gap:3px;min-width:0;display:flex}.soumissions-progress-label{color:var(--text-primary);font-size:14px;font-weight:600}.soumissions-progress-card-error .soumissions-progress-label{color:var(--asph-danger)}.soumissions-progress-card-upload .soumissions-progress-text{gap:8px;width:100%}.soumissions-progress-bar{background:var(--green-wash);border-radius:999px;width:100%;height:6px;display:block;overflow:hidden}.soumissions-progress-bar-fill{background:var(--nivlex-green);height:100%;transition:width var(--transition-normal) var(--transition-easing);border-radius:999px;display:block}.soumissions-progress-dismiss{flex-shrink:0}.soumissions-empty-card{background:var(--card);border:1px solid var(--outline);box-shadow:var(--shadow-ambient);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:12px;padding:40px 22px;display:flex}.soumissions-empty-icon{color:var(--outline);display:inline-flex}.soumissions-empty-text{color:var(--text-secondary);max-width:420px;margin:0;font-size:13.5px;line-height:1.45}.soumissions-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.soumission-card{background:var(--card);border:1px solid var(--outline);box-shadow:var(--shadow-ambient);transition:border-color var(--transition-normal) var(--transition-easing), box-shadow var(--transition-normal) var(--transition-easing), transform var(--transition-normal) var(--transition-easing);border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.soumission-card:hover{border-color:var(--nivlex-green);transform:translateY(-1px);box-shadow:0 10px 24px #191c1b0f}.soumission-card-main{flex-direction:column;gap:4px;min-width:0;display:flex}.soumission-card-number{font-family:var(--font-display);color:var(--text-primary);font-size:15px;font-weight:600}.soumission-card-client{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.soumission-card-meta{flex-shrink:0;align-items:center;gap:16px;display:flex}.soumission-card-date{color:var(--text-secondary);font-size:12.5px}.soumission-card-total{font-family:var(--font-display);color:var(--deep-forest);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.soumission-status{background:var(--section);height:24px;color:var(--text-secondary);border-radius:999px;align-items:center;padding:0 10px;font-size:11.5px;font-weight:600;display:inline-flex}.soumission-status-draft{background:var(--section);color:var(--text-secondary)}.soumission-status-sent{color:#2563eb;background:#3b82f61f}.soumission-status-accepted{background:var(--green-wash);color:var(--nivlex-green-dark)}.soumission-status-rejected{background:var(--asph-danger-wash);color:var(--asph-danger)}.soumission-new-badge{height:18px;font-family:var(--font-body);letter-spacing:.01em;background:var(--green-wash);color:var(--nivlex-green-dark);vertical-align:middle;border-radius:999px;align-items:center;margin-left:8px;padding:0 8px;font-size:10.5px;font-weight:600;display:inline-flex}.soumission-row{align-items:stretch;gap:8px;display:flex}.soumission-row .soumission-card{flex:1;min-width:0}.soumission-row-delete{width:40px;color:var(--text-secondary);transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing), border-color var(--transition-normal) var(--transition-easing);background:0 0;border:1px solid #0000;border-radius:12px;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;display:inline-flex}.soumission-row-delete:hover{background:var(--asph-danger-wash);color:var(--asph-danger);border-color:#b91c1c2e}.soumission-delete-btn:hover{background:var(--asph-danger-wash);color:var(--asph-danger)}.soumission-email-btn:disabled{opacity:.6;cursor:not-allowed}.soumission-soon-tag{background:var(--section);height:18px;color:var(--text-secondary);border-radius:999px;align-items:center;padding:0 7px;font-size:10.5px;font-weight:600;display:inline-flex}.soumission-delete-modal{max-width:440px}.soumission-delete-modal-text{color:var(--text-primary);margin:0;font-size:13.5px;line-height:1.5}.soumission-delete-modal-error{color:var(--asph-danger);margin:12px 0 0;font-size:12.5px;line-height:1.45}.soumission-editor{background:var(--canvas);flex-direction:column;min-height:100vh;display:flex}.soumission-editor-content{flex-direction:column;gap:18px;width:100%;max-width:1280px;margin:0 auto;padding:28px 28px 72px;display:flex}.soumission-meta-card{background:var(--card);border:1px solid var(--outline);box-shadow:var(--shadow-ambient);border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:18px;padding:20px 22px;display:flex}.soumission-meta-grid{flex:1;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px 18px;min-width:0;display:grid}.soumission-meta-field{flex-direction:column;gap:6px;display:flex}.soumission-meta-field-wide{grid-column:span 2}.soumission-meta-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:600}.soumission-meta-input{border:1px solid var(--outline);background:var(--card);height:38px;font-family:var(--font-body);color:var(--text-primary);transition:border-color var(--transition-normal) var(--transition-easing), box-shadow var(--transition-normal) var(--transition-easing);border-radius:10px;padding:0 12px;font-size:14px}.soumission-meta-input:focus{border-color:var(--nivlex-green);outline:none;box-shadow:0 0 0 3px #b5d2332e}.soumission-meta-actions{align-items:center;gap:10px;display:flex}.soumission-zones{flex-direction:column;gap:16px;display:flex}.soumission-zone-row{grid-template-columns:1fr 280px;align-items:stretch;gap:16px;display:grid}.zone-card{background:var(--card);border:1px solid var(--outline);box-shadow:var(--shadow-ambient);transition:opacity var(--transition-slow) var(--transition-easing);border-radius:14px;grid-template-columns:160px 1fr;gap:18px;padding:18px;display:grid}.zone-card.is-excluded{opacity:.55}.zone-photos{flex-direction:column;gap:8px;display:flex}.zone-photo{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--outline);background:var(--section);cursor:zoom-in;border-radius:10px;width:100%}.zone-photos-empty{aspect-ratio:4/3;border:1px dashed var(--outline);background:var(--section);width:100%;color:var(--outline);border-radius:10px;justify-content:center;align-items:center;display:flex}.zone-photo-lightbox{z-index:1000;cursor:zoom-out;animation:zone-lightbox-in var(--transition-normal) var(--transition-easing);background:#0a1712d1;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.zone-photo-lightbox-img{object-fit:contain;border-radius:12px;max-width:90vw;max-height:90vh;box-shadow:0 24px 64px #00000080}@keyframes zone-lightbox-in{0%{opacity:0}to{opacity:1}}.zone-media{flex-direction:column;gap:8px;display:flex}.zone-photo-wrap{position:relative}.zone-photo-remove{border:1px solid var(--outline);background:var(--card);width:22px;height:22px;color:var(--text-secondary);opacity:0;transition:opacity var(--transition-normal) var(--transition-easing), background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:6px;right:6px}.zone-photo-wrap:hover .zone-photo-remove,.zone-photo-remove:focus-visible{opacity:1}.zone-photo-remove:hover{background:var(--asph-danger-wash);color:var(--asph-danger)}.zone-photo-add{border:1px dashed var(--outline);background:var(--card);color:var(--text-secondary);font-family:var(--font-body);transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing), border-color var(--transition-normal) var(--transition-easing);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:600;display:inline-flex}.zone-photo-add:hover{background:var(--green-wash);color:var(--deep-forest);border-color:#b5d23380}.zone-photo-add:disabled{opacity:.6;cursor:default}.zone-video{flex-direction:column;gap:8px;display:flex}.zone-video-toggle{border:1px solid var(--outline);background:var(--card);color:var(--text-secondary);font-family:var(--font-body);transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:600;display:inline-flex}.zone-video-toggle:hover{background:var(--green-wash);color:var(--deep-forest)}.zone-video-evicted{color:var(--text-secondary);font-family:var(--font-body);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.zone-video-panel{flex-direction:column;gap:8px;display:flex}.zone-video-el{border:1px solid var(--outline);background:#000;border-radius:10px;width:100%}.zone-video-clip{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:600}.zone-video-actions{flex-wrap:wrap;gap:8px;display:flex}.zone-video-btn{border:1px solid var(--outline);background:var(--card);color:var(--deep-forest);font-family:var(--font-body);transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:600;display:inline-flex}.zone-video-btn:hover{background:var(--green-wash)}.zone-video-btn:disabled{opacity:.6;cursor:default}.zone-body{flex-direction:column;gap:10px;min-width:0;display:flex}.zone-row{align-items:center;gap:10px;display:flex}.zone-row-title{gap:10px}.zone-row-measures{flex-wrap:wrap;gap:10px 12px}.zone-row-price{flex-wrap:wrap;gap:12px 16px;margin-top:2px}.zone-input{border:1px solid var(--outline);background:var(--card);font-family:var(--font-body);color:var(--text-primary);transition:border-color var(--transition-normal) var(--transition-easing), box-shadow var(--transition-normal) var(--transition-easing);border-radius:8px;padding:8px 10px;font-size:13.5px}.zone-input:focus{border-color:var(--nivlex-green);outline:none;box-shadow:0 0 0 3px #b5d2332e}.zone-input::placeholder{color:var(--text-secondary)}.zone-input-title{flex:1;font-size:14.5px;font-weight:600}.zone-input-desc{width:100%}.zone-input-detail{resize:vertical;width:100%;min-height:40px;line-height:1.4}.zone-input-num{text-align:right;font-variant-numeric:tabular-nums;width:80px}.zone-input-num.is-readonly{background:var(--section);color:var(--text-secondary);cursor:not-allowed}.zone-field{flex-direction:column;gap:4px;display:flex}.zone-field-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);font-size:10.5px;font-weight:600}.zone-select{border:1px solid var(--outline);background:var(--card);height:36px;font-family:var(--font-body);color:var(--text-primary);border-radius:8px;min-width:96px;padding:0 10px;font-size:13.5px}.zone-select:focus{border-color:var(--nivlex-green);outline:none;box-shadow:0 0 0 3px #b5d2332e}.zone-mult{color:var(--text-secondary);align-self:flex-end;padding-bottom:8px;font-size:14px}.zone-line-total{flex-direction:column;gap:4px;display:flex}.zone-line-total-value{font-family:var(--font-display);color:var(--deep-forest);font-variant-numeric:tabular-nums;padding:6px 0;font-size:15px;font-weight:700}.zone-actions{gap:4px;display:inline-flex}.zone-action{width:32px;height:32px;color:var(--text-secondary);transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);background:0 0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.zone-action:hover{background:var(--green-wash);color:var(--deep-forest)}.zone-action-danger:hover{background:var(--asph-danger-wash);color:var(--asph-danger)}.zone-include-pill{border:1px solid var(--outline);background:var(--section);height:34px;color:var(--text-secondary);font-family:var(--font-body);transition:background var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing), border-color var(--transition-normal) var(--transition-easing);border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:0 14px;font-size:12.5px;font-weight:600;display:inline-flex}.zone-include-pill .zone-include-dot{background:var(--text-secondary);width:8px;height:8px;transition:background var(--transition-normal) var(--transition-easing);border-radius:50%}.zone-include-pill.is-included{background:var(--green-wash);color:var(--nivlex-green-dark);border-color:#b5d23380}.zone-include-pill.is-included .zone-include-dot{background:var(--nivlex-green)}.soumission-add-zone{align-self:flex-start}.zone-rail{background:var(--card);border:1px solid var(--outline);box-shadow:var(--shadow-ambient);border-radius:14px;flex-direction:column;gap:16px;padding:16px;display:flex}.zone-rail-section{flex-direction:column;gap:6px;display:flex}.zone-rail-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);font-size:11px;font-weight:600}.zone-rail-hint{color:var(--text-secondary);margin-bottom:2px;font-size:11px;font-style:italic}.zone-rail-notes{border:1px solid var(--outline);background:var(--card);font-family:var(--font-body);color:var(--text-primary);resize:vertical;border-radius:8px;min-height:64px;padding:8px 10px;font-size:13px;line-height:1.4}.zone-rail-notes:focus{border-color:var(--nivlex-green);outline:none;box-shadow:0 0 0 3px #b5d2332e}.zone-rail-empty{color:var(--text-secondary);margin:0;font-size:12.5px;font-style:italic}.zone-rail-history{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.zone-rail-history-row{background:var(--section);text-align:left;width:100%;transition:background var(--transition-normal) var(--transition-easing);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;display:flex}.zone-rail-history-row:hover{background:var(--green-wash)}.zone-rail-history-price{color:var(--deep-forest);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.zone-rail-history-date{color:var(--text-secondary);font-size:11.5px}.zone-rail-more{color:var(--nivlex-green-dark);background:0 0;align-self:flex-start;padding:4px 2px;font-size:12px;font-weight:600}.zone-rail-more:hover{color:var(--deep-forest)}.zone-rail-more:disabled{opacity:.5;cursor:default}.soumission-totals{background:var(--card);border:1px solid var(--outline);width:100%;max-width:360px;box-shadow:var(--shadow-ambient);border-radius:14px;flex-direction:column;align-self:flex-end;gap:8px;padding:16px 20px;display:flex}.soumission-totals-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.soumission-totals-label{color:var(--text-secondary);font-size:13px}.soumission-totals-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:13.5px}.soumission-totals-grand{border-top:2px solid var(--deep-forest);margin-top:6px;padding-top:10px}.soumission-totals-grand .soumission-totals-label{font-family:var(--font-display);color:var(--deep-forest);font-size:15px;font-weight:700}.soumission-totals-grand .soumission-totals-value{font-family:var(--font-display);color:var(--deep-forest);font-size:17px;font-weight:700}@media (width<=960px){.soumission-zone-row,.zone-card{grid-template-columns:1fr}.soumission-meta-field-wide{grid-column:span 2}}.diag-page{max-width:1100px;margin:0 auto;padding:24px 20px}.diag-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.diag-pills{gap:6px;display:inline-flex}.diag-pill{border:1px solid var(--outline);background:var(--card);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}.diag-pill.active{background:var(--deep-forest);color:#fff;border-color:var(--deep-forest)}.diag-refresh{margin-left:auto}.diag-empty{color:var(--text-secondary);text-align:center;padding:40px}.diag-list{flex-direction:column;gap:6px;display:flex}.diag-row{border:1px solid var(--outline);border-radius:var(--radius);background:var(--card);overflow:hidden}.diag-row-head{text-align:left;cursor:pointer;width:100%;font-family:var(--font-body);background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;display:flex}.diag-badge{text-transform:uppercase;color:#fff;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.diag-badge-error{background:#b91c1c}.diag-badge-warn{background:#b45309}.diag-badge-info{background:var(--text-secondary)}.diag-area{color:var(--text-secondary);min-width:86px;font-size:12px}.diag-msg{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.diag-ms{color:var(--text-secondary);font-size:12px}.diag-time{color:var(--text-secondary);white-space:nowrap;font-size:12px}.diag-detail{border-top:1px solid var(--outline);background:var(--section);padding:12px}.diag-kv{gap:8px;margin-bottom:6px;font-size:12px;display:flex}.diag-kv span{color:var(--text-secondary);min-width:48px}.diag-stack,.diag-context{background:var(--card);border:1px solid var(--outline);white-space:pre-wrap;border-radius:6px;max-height:280px;padding:8px;font-size:12px;overflow:auto}.diag-context{margin-top:8px}.diag-trace{margin-top:10px}.diag-trace-title{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:700}.diag-trace-step{align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.diag-trace-loading{color:var(--text-secondary);padding:4px 0;font-size:13px}.monthly-page{--canvas:var(--asph-canvas);--tile:var(--asph-tile);--tile-border:var(--asph-tile-border);--weekend:var(--asph-weekend);--ink:var(--asph-ink);--sec:var(--asph-sec);--ghost-border:var(--asph-ghost-border);--ghost-hover:var(--asph-ghost-hover);--today-num-bg:var(--asph-inverse-bg);--today-num-fg:var(--asph-inverse-fg);--more-bg:var(--asph-more-bg);--more-fg:var(--asph-more-fg);--note-bg:var(--asph-note-bg);--note-fg:var(--asph-note-fg);--cal-lane-pitch:28px;--cal-month-band-h:44px;--cal-strip-h:21px;background:var(--canvas);min-height:100vh;color:var(--ink);flex-direction:column;font-family:Inter,sans-serif;transition:background-color .2s,color .2s;display:flex}.monthly-page .monthly-toolbar{height:var(--cal-month-band-h);pointer-events:none;z-index:18;justify-content:flex-end;align-items:center;gap:16px;padding:0 3px 0 13px;display:flex;position:absolute;top:0;left:0;right:0}.monthly-page .monthly-toolbar-actions{pointer-events:auto;align-items:center;gap:8px;display:flex}.monthly-page .monthly-title-a11y{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.monthly-page .cont-cal-today-btn{border:1px solid var(--ghost-border);color:var(--ink);background:0 0;border-radius:9px;height:34px;padding:0 14px;font-size:13px;font-weight:500;transition:background-color .2s,color .2s,border-color .2s}.monthly-page .cont-cal-today-btn:hover{background:var(--ghost-hover);color:var(--ink)}.monthly-page .btn.btn-primary{background:var(--asph-lime);height:34px;color:var(--asph-lime-ink);box-shadow:var(--asph-shadow-sm);border:none;border-radius:999px;align-items:center;gap:6px;padding:0 16px 0 12px;font-size:13px;font-weight:600;display:inline-flex}.monthly-page .btn.btn-primary:hover{background:var(--asph-lime-hover);color:var(--asph-lime-ink);box-shadow:var(--asph-shadow-sm);transform:none}.monthly-page .btn.btn-primary svg{color:var(--asph-lime-ink)}.monthly-page .cont-cal{isolation:isolate;box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;height:calc(100vh - 78px);margin:0 17px 14px;display:flex;position:relative;overflow:hidden}.monthly-page .cont-cal-weekday-strip{top:var(--cal-month-band-h);z-index:17;background:var(--canvas);border-bottom:none;grid-template-columns:repeat(7,1fr);transition:background-color .2s;display:grid;position:sticky}.monthly-page .cont-cal-weekday-cell{line-height:var(--cal-strip-h);color:var(--sec);text-transform:uppercase;letter-spacing:1.1px;padding:0 0 0 13px;font-family:Space Grotesk,sans-serif;font-size:11px;font-weight:600;transition:color .2s}.monthly-page .cont-cal-scroller{scroll-snap-type:y mandatory;scroll-padding-top:calc(var(--cal-month-band-h) + var(--cal-strip-h));flex:auto;overflow:hidden auto}.monthly-page .cont-cal-title-band{height:var(--cal-month-band-h);background:var(--canvas);z-index:15;transition:background-color .2s;position:sticky;top:0}.monthly-page .cont-cal-month-section{position:relative}.monthly-page .cont-cal-month-sticky{height:var(--cal-month-band-h);z-index:16;pointer-events:none;letter-spacing:-.4px;color:var(--ink);text-shadow:0 0 2px var(--canvas), 0 0 6px var(--canvas), 0 0 14px var(--canvas);opacity:0;align-items:center;gap:8px;padding-left:13px;font-family:Space Grotesk,sans-serif;font-size:27px;font-weight:700;line-height:1;transition:color .2s,opacity .35s;display:flex;position:sticky;top:0}.monthly-page .cont-cal-scrolling .cont-cal-month-sticky{opacity:1;transition:color .2s,opacity .18s}.monthly-page .cont-cal-month-sticky.is-pinned{opacity:1}@media (prefers-reduced-motion:reduce){.monthly-page .cont-cal-month-sticky,.monthly-page .cont-cal-scrolling .cont-cal-month-sticky{transition:color .2s}}.monthly-page .cont-cal-month-sticky-year{color:var(--sec);transition:color .2s}.monthly-page .cont-cal-month-sticky+.cont-cal-week-row{margin-top:calc(-1 * var(--cal-month-band-h))}.monthly-page .cont-cal-week-row{--cont-cal-lanes:3;min-height:max(188px, calc((100vh - 230px) / 4), calc(36px + var(--cont-cal-lanes) * var(--cal-lane-pitch) + 68px));scroll-snap-align:start;border-bottom:none;flex-direction:column;display:flex;position:relative}.monthly-page .cont-cal-week-cells{flex:auto;grid-template-columns:repeat(7,1fr);display:grid}.monthly-page .cont-cal-day-cell{cursor:pointer;background:0 0;border-right:none;padding:13px;position:relative}.monthly-page .cont-cal-day-cell:before{content:"";background:var(--tile);border:1px solid var(--tile-border);pointer-events:none;border-radius:10px;transition:background-color .2s,border-color .2s,box-shadow .14s;position:absolute;inset:3px}.monthly-page .cont-cal-week-cells>.cont-cal-day-cell:nth-child(6):before,.monthly-page .cont-cal-week-cells>.cont-cal-day-cell:nth-child(7):before{background:var(--weekend)}.monthly-page .cont-cal-day-cell:hover:before{border-color:var(--ghost-border)}:root[data-theme=dark] .monthly-page .cont-cal-day-cell:hover:before{border-color:#ffffff2e}.monthly-page .cont-cal-day-cell.is-today{background:0 0}.monthly-page .cont-cal-day-cell.is-today:before{box-shadow:0 0 0 2px var(--asph-lime)}.monthly-page .cont-cal-day-number-row{z-index:1;align-items:center;gap:4px;display:flex;position:relative}.monthly-page .cont-cal-day-number{color:var(--ink);text-transform:capitalize;font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:600;line-height:1;transition:color .2s}.monthly-page .cont-cal-week-cells>.cont-cal-day-cell:nth-child(6) .cont-cal-day-number,.monthly-page .cont-cal-week-cells>.cont-cal-day-cell:nth-child(7) .cont-cal-day-number,.monthly-page .cont-cal-day-cell.is-outside-month .cont-cal-day-number{color:var(--sec)}.monthly-page .cont-cal-day-cell.is-outside-month .cont-cal-day-number{font-weight:500}.monthly-page .cont-cal-day-cell.is-today .cont-cal-day-number{background:var(--today-num-bg);min-width:26px;height:26px;color:var(--today-num-fg);border-radius:9px;justify-content:center;align-items:center;margin:-4px 0 0 -4px;padding:0 5px;font-size:13.5px;font-weight:600;transition:background-color .2s,color .2s;display:inline-flex}.monthly-page .cont-cal-week-bars{pointer-events:none;position:absolute;inset:36px 0 0}.monthly-page .cont-cal-bar{color:#fff;cursor:pointer;pointer-events:auto;white-space:nowrap;box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:none;border:none;border-radius:7px;align-items:center;height:24px;padding:0 26px 0 9px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600;line-height:1;transition:filter .14s,transform .14s,box-shadow .14s;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px 2px #16181c40}.monthly-page .cont-cal-bar:hover,.monthly-page .cont-cal-bar.is-project-hovered{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 10px #16181c4d}.monthly-page .cont-cal-bar:active{cursor:grabbing;transform:translateY(0)}.monthly-page .cont-cal-bar:not(.is-end){border-top-right-radius:0;border-bottom-right-radius:0;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 10px),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 10px),#0000 100%)}.monthly-page .cont-cal-bar:not(.is-start){border-top-left-radius:0;border-bottom-left-radius:0}.monthly-page .cont-cal-bar.is-paused:after{content:"";border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(135deg,#ffffff1f 0 5px,#0000 5px 11px);position:absolute;inset:0}.monthly-page .cont-cal-bar.is-done:after{content:"";border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(135deg,#16181c24 0 5px,#0000 5px 11px),repeating-linear-gradient(45deg,#16181c24 0 5px,#0000 5px 11px);position:absolute;inset:0}.monthly-page .cont-cal-bar.is-done.is-ink:after{background:repeating-linear-gradient(135deg,#ffffff1f 0 5px,#0000 5px 11px),repeating-linear-gradient(45deg,#ffffff1f 0 5px,#0000 5px 11px)}.monthly-page .cont-cal-bar-label{pointer-events:none;flex-direction:row;flex:0 auto;align-items:baseline;gap:0;min-width:0;line-height:1.2;overflow:hidden}.monthly-page .cont-cal-bar-label .bar-done-check{flex-shrink:0;align-self:center;margin-right:5px}.monthly-page .cont-cal-bar .project-bar-title{font-size:12.5px;font-weight:600}.monthly-page .cont-cal-bar .project-bar-subtitle{opacity:.78;flex:0 4 auto;font-size:12.5px;font-weight:400}.monthly-page .cont-cal-bar .project-bar-subtitle:before{content:" · "}.monthly-page .cont-cal-bar-chips{pointer-events:none;flex-shrink:0;margin-left:auto;padding-left:6px;transition:opacity .14s;display:flex}.monthly-page .cont-cal-bar:hover .cont-cal-bar-chips{opacity:0}.monthly-page .cont-cal-bar-chips .editor-chip-avatar{box-sizing:content-box;border:1.5px solid #ffffffe6;margin-left:-5px}.monthly-page .cont-cal-bar-chips .editor-chip-avatar:first-child{margin-left:0}.monthly-page .cont-cal-bar-handle{cursor:ew-resize;z-index:2;border-radius:7px;width:12px;transition:background-color .14s;position:absolute;top:0;bottom:0}.monthly-page .cont-cal-bar-handle-left{left:0}.monthly-page .cont-cal-bar-handle-right{right:0}.monthly-page .cont-cal-bar-handle:hover{background:#ffffff47}.monthly-page .cont-cal-bar.is-ink .cont-cal-bar-handle:hover{background:#16181c24}.monthly-page .cont-cal-bar-menu{color:currentColor;cursor:pointer;z-index:3;opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:opacity .14s,background-color .14s,transform .14s;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.monthly-page .cont-cal-bar:hover .cont-cal-bar-menu,.monthly-page .cont-cal-bar-menu:focus-visible{opacity:1;background:#ffffff38}.monthly-page .cont-cal-bar.is-ink:hover .cont-cal-bar-menu,.monthly-page .cont-cal-bar.is-ink .cont-cal-bar-menu:focus-visible{background:#16181c1f}.monthly-page .cont-cal-bar-menu:hover{background:#fff6;transform:translateY(-50%)scale(1.08)}.monthly-page .cont-cal-bar.is-ink .cont-cal-bar-menu:hover{background:#16181c33}.monthly-page .cont-cal-bar-overflow{background:var(--more-bg);width:calc(14.2857% - 14px);height:20px;color:var(--more-fg);box-sizing:border-box;pointer-events:auto;cursor:pointer;border-radius:6px;align-items:center;margin-left:7px;padding:0 8px;font-family:Inter,sans-serif;font-size:11.5px;font-weight:600;transition:background-color .2s,color .2s,filter .1s ease-out;display:flex;position:absolute}.monthly-page .cont-cal-bar-overflow:hover,.monthly-page .cont-cal-bar-overflow.is-open{filter:brightness(.94)}:root[data-theme=dark] .monthly-page .cont-cal-bar-overflow:hover,:root[data-theme=dark] .monthly-page .cont-cal-bar-overflow.is-open{filter:brightness(1.3)}.monthly-page .monthly-toast{z-index:20;background:var(--today-num-bg);color:var(--today-num-fg);border-radius:999px;padding:10px 18px;font-size:13px;font-weight:500;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #16181c47}.monthly-page .monthly-paste-banner{background:var(--today-num-bg);height:40px;color:var(--today-num-fg);justify-content:center;align-items:center;gap:12px;padding:0 16px;font-size:12.5px;font-weight:500;display:flex}.monthly-page .monthly-paste-banner-cancel{border:1px solid var(--asph-lime);color:var(--asph-lime);cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;transition:background-color .14s,color .14s}:root[data-theme=dark] .monthly-page .monthly-paste-banner-cancel{border-color:var(--asph-lime-ink);color:var(--asph-lime-ink)}.monthly-page .monthly-paste-banner-cancel:hover{background:var(--asph-lime);color:var(--asph-lime-ink)}body.monthly-paste-mode .cont-cal-day-cell{cursor:copy}.monthly-page .day-note-add-btn{border:1px solid var(--ghost-border);width:18px;height:18px;color:var(--sec);cursor:pointer;opacity:0;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:opacity .14s,background-color .14s,color .14s;display:inline-flex}.monthly-page .cont-cal-day-cell:hover .day-note-add-btn,.monthly-page .day-note-add-btn:focus-visible{opacity:1}.monthly-page .day-note-add-btn:hover{background:var(--ghost-hover);color:var(--ink)}.monthly-page .day-note-add-btn svg{width:10px;height:10px}.monthly-page .cont-cal-day-notes{pointer-events:none;z-index:5;flex-direction:column;align-items:stretch;gap:3px;min-width:0;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.monthly-page .cont-cal-day-notes.is-single-note{bottom:10px}.monthly-page .cont-cal-day-note-chip{background:var(--note-bg);min-width:0;color:var(--note-fg);cursor:default;pointer-events:auto;border:none;border-radius:6px;align-items:center;gap:5px;padding:3px 7px;font-size:10.5px;font-weight:500;line-height:1.4;transition:background-color .2s,color .2s;display:flex}.monthly-page .cont-cal-day-note-chip-icon{flex-shrink:0}.monthly-page .cont-cal-day-note-chip-dot{background:#f59e0b;border-radius:999px;flex-shrink:0;width:5px;height:5px}.monthly-page .cont-cal-day-note-chip-text{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.monthly-page .cont-cal-day-note-chip-remove{appearance:none;cursor:pointer;color:inherit;opacity:0;background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:12px;height:12px;padding:0;transition:opacity .14s;display:inline-flex}.monthly-page .cont-cal-day-note-chip:hover .cont-cal-day-note-chip-remove{opacity:.75}.monthly-page .cont-cal-day-note-chip-remove:hover{opacity:1}.monthly-page .cont-cal-day-note-overflow{background:var(--more-bg);color:var(--more-fg);cursor:pointer;pointer-events:auto;border:none;border-radius:6px;align-items:center;width:fit-content;padding:2px 8px;font-size:10.5px;font-weight:600;line-height:1.4;transition:background-color .2s,color .2s,filter .1s ease-out;display:inline-flex}.monthly-page .cont-cal-day-note-overflow:hover{filter:brightness(.94)}:root[data-theme=dark] .monthly-page .cont-cal-day-note-overflow:hover{filter:brightness(1.3)}.cont-cal-bar-popover{z-index:100;background:var(--card);border:1px solid var(--outline);border-radius:8px;flex-direction:column;min-width:140px;padding:4px;display:flex;position:fixed;box-shadow:0 8px 24px #191c1b1f}.cont-cal-bar-popover-item{appearance:none;text-align:left;font-family:var(--font-body);color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 12px;font-size:13px}.cont-cal-bar-popover-item:hover{background:var(--green-wash)}.cont-cal-bar-popover-item.is-danger{color:var(--asph-danger)}.cont-cal-bar-popover-item.is-danger:hover{background:#fef2f2}:root[data-theme=dark] .cont-cal-bar-popover-item.is-danger:hover{background:var(--asph-danger-wash)}.day-note-popover{z-index:100;background:var(--card);border:1px solid var(--outline);border-radius:8px;flex-direction:column;gap:8px;min-width:240px;max-width:300px;padding:10px;display:flex;position:fixed;box-shadow:0 8px 24px #191c1b1f}.day-note-popover-caption{color:var(--text-secondary);font-size:11px;font-family:var(--font-body)}.day-note-popover-textarea{resize:vertical;width:100%;min-height:56px;font-family:var(--font-body);color:var(--text-primary);border:1px solid var(--outline);background:var(--card);box-sizing:border-box;border-radius:6px;padding:8px 10px;font-size:13px}.day-note-popover-textarea:focus{outline-offset:0;outline:2px solid #b5d23380}.day-note-popover-actions{justify-content:flex-end;gap:6px;display:flex}.day-note-list-popover{z-index:100;background:var(--asph-tile);border:1px solid var(--asph-tile-border);min-width:220px;max-width:320px;box-shadow:var(--asph-shadow-lg);border-radius:10px;flex-direction:column;gap:2px;padding:6px;display:flex;position:fixed}.day-note-list-empty{color:var(--text-secondary);padding:8px 10px;font-size:12px}.day-note-list-row{border-radius:6px;align-items:center;gap:6px;padding:6px 8px;display:flex}.day-note-list-row:hover{background:var(--green-wash)}.day-note-list-text{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:12.5px;overflow:hidden}.day-note-list-remove{appearance:none;cursor:pointer;color:var(--asph-danger);opacity:.75;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.day-note-list-remove:hover{opacity:1;background:#fee2e2}:root[data-theme=dark] .day-note-list-remove:hover{background:var(--asph-danger-wash)}.cont-cal-overflow-popover{z-index:100;background:var(--asph-tile);border:1px solid var(--asph-tile-border);min-width:180px;max-width:280px;box-shadow:var(--asph-shadow-lg);border-radius:10px;flex-direction:column;gap:4px;padding:5px;display:flex;position:fixed}.cont-cal-overflow-row{appearance:none;text-align:left;cursor:pointer;border:none;border-radius:6px;align-items:center;width:100%;min-height:24px;padding:4px 28px 4px 9px;font-family:Inter,sans-serif;transition:filter .14s;display:flex;position:relative;box-shadow:0 1px 2px #16181c40}.cont-cal-overflow-row:hover{filter:brightness(1.08)}.cont-cal-overflow-row.is-paused:after{content:"";border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(135deg,#ffffff1f 0 5px,#0000 5px 11px);position:absolute;inset:0}.cont-cal-overflow-row.is-done:after{content:"";border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(135deg,#16181c24 0 5px,#0000 5px 11px),repeating-linear-gradient(45deg,#16181c24 0 5px,#0000 5px 11px);position:absolute;inset:0}.cont-cal-overflow-row.is-done.is-ink:after{background:repeating-linear-gradient(135deg,#ffffff1f 0 5px,#0000 5px 11px),repeating-linear-gradient(45deg,#ffffff1f 0 5px,#0000 5px 11px)}.cont-cal-overflow-row .bar-done-check{flex-shrink:0;margin-right:5px}.cont-cal-overflow-row-menu{color:currentColor;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:opacity .14s,background-color .14s,transform .14s;display:inline-flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.cont-cal-overflow-row:hover .cont-cal-overflow-row-menu,.cont-cal-overflow-row-menu:focus-visible{opacity:1;background:#ffffff38}.cont-cal-overflow-row.is-ink:hover .cont-cal-overflow-row-menu,.cont-cal-overflow-row.is-ink .cont-cal-overflow-row-menu:focus-visible{background:#16181c1f}.cont-cal-overflow-row-menu:hover{background:#fff6;transform:translateY(-50%)scale(1.08)}.cont-cal-overflow-row.is-ink .cont-cal-overflow-row-menu:hover{background:#16181c33}.cont-cal-overflow-row-label{flex-direction:column;min-width:0;line-height:1.25;display:flex}.cont-cal-overflow-row-label .project-bar-title{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.cont-cal-overflow-row-label .project-bar-subtitle{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-weight:400;overflow:hidden}body{background:var(--asph-canvas);color:var(--asph-ink);font-feature-settings:"ss01", "cv11";transition:background-color var(--transition-slow) ease, color var(--transition-slow) ease;font-size:14px}.app-header{background:var(--asph-nav-bg);color:var(--asph-nav-fg);box-shadow:0 1px #ffffff0a,0 6px 18px #0000002e}.header-title{color:var(--asph-nav-fg);letter-spacing:-.02em;font-weight:700}.nav-link{color:#f4f0e8b8;background:#f4f0e80f;border-radius:999px;padding:6px 12px;font-weight:500}.nav-link:hover{color:#f4f0e8;background:#f4f0e824}.icon-btn{color:#f4f0e8}.icon-btn:hover{color:#b5d233;background:#f4f0e81f}.avatar{background:var(--asph-lime);color:var(--asph-lime-ink)}.seg{background:#f4f0e814}.seg button{color:#f4f0e8b3}.seg button:hover:not(.active){color:#f4f0e8}.seg button.active{color:#fff;background:#7a9a0e;box-shadow:0 1px 2px #0000002e}.bar-hover-preview{z-index:90;background:var(--asph-tile);border:1px solid var(--asph-tile-border);min-width:220px;max-width:320px;box-shadow:var(--asph-shadow-lg);color:var(--asph-ink);pointer-events:none;box-sizing:border-box;border-radius:10px;padding:10px 12px;font-family:Inter,sans-serif;position:fixed}.bar-hover-preview.is-positioned{animation:.12s ease-out bar-hover-preview-in}@keyframes bar-hover-preview-in{0%{opacity:0;transform:translateY(2px)}}@media (prefers-reduced-motion:reduce){.bar-hover-preview.is-positioned{animation:none}}.bar-hover-preview-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.bar-hover-preview-title{text-wrap:pretty;word-break:break-word;min-width:0;font-size:13px;font-weight:600;line-height:1.3}.bar-hover-preview-status{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:10.5px;font-weight:600;line-height:1}.bar-hover-preview-status.is-active{color:#6f8418;background:#b5d2332e}:root[data-theme=dark] .bar-hover-preview-status.is-active{color:var(--asph-lime)}.bar-hover-preview-status.is-paused{background:var(--asph-note-bg);color:var(--asph-note-fg)}.bar-hover-preview-status.is-done{background:var(--asph-more-bg);color:var(--asph-more-fg)}.bar-hover-preview-site{color:var(--asph-sec);margin-top:3px;font-size:12px}.bar-hover-preview-notes{opacity:.85;-webkit-line-clamp:6;word-break:break-word;-webkit-box-orient:vertical;margin-top:6px;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.bar-hover-preview-dates{color:var(--asph-sec);margin-top:6px;font-size:11.5px}.weekly-page{--canvas:var(--asph-canvas);--tile:var(--asph-tile);--tile-border:var(--asph-tile-border);--weekend:var(--asph-weekend);--ink:var(--asph-ink);--sec:var(--asph-sec);--ghost-border:var(--asph-ghost-border);--ghost-hover:var(--asph-ghost-hover);--note-bg:var(--asph-note-bg);--note-fg:var(--asph-note-fg);background:var(--canvas);min-height:100vh;color:var(--ink);flex-direction:column;font-family:Inter,sans-serif;transition:background-color .2s,color .2s;display:flex}.weekly-page .day-toolbar{background:var(--canvas);transition:background-color .2s}.weekly-week-nav{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.weekly-page .breadcrumb{color:var(--sec)}.weekly-page .breadcrumb a{color:var(--sec);transition:color .14s}.weekly-page .breadcrumb a:hover{color:var(--ink)}.weekly-page .breadcrumb .sep{color:var(--sec);opacity:.55}.weekly-page .breadcrumb .current{letter-spacing:-.3px;color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:21px;font-weight:700;transition:color .2s}.weekly-nav-icon-btn{appearance:none;border:1px solid var(--ghost-border);width:32px;height:32px;color:var(--sec);cursor:pointer;background:0 0;border-radius:9px;justify-content:center;align-items:center;transition:background-color .14s,color .14s,border-color .2s;display:inline-flex}.weekly-nav-icon-btn:hover{background:var(--ghost-hover);color:var(--ink)}.weekly-page .cont-cal-today-btn{border:1px solid var(--ghost-border);color:var(--ink);background:0 0;border-radius:9px;height:34px;padding:0 14px;font-size:13px;font-weight:500;transition:background-color .2s,color .2s,border-color .2s}.weekly-page .cont-cal-today-btn:hover{background:var(--ghost-hover);color:var(--ink)}.weekly-page .day-toolbar .btn.btn-primary{background:var(--asph-lime);height:34px;color:var(--asph-lime-ink);box-shadow:var(--asph-shadow-sm);border:none;border-radius:999px;align-items:center;gap:6px;padding:0 16px 0 12px;font-size:13px;font-weight:600;display:inline-flex}.weekly-page .day-toolbar .btn.btn-primary:hover{background:var(--asph-lime-hover);color:var(--asph-lime-ink);box-shadow:var(--asph-shadow-sm);transform:none}.weekly-page .day-toolbar .btn.btn-primary svg{color:var(--asph-lime-ink)}.weekly-layout{align-items:flex-start;gap:12px;padding:16px 28px 120px;display:flex}.weekly-sidebar{flex-direction:column;flex:0 0 96px;gap:12px;width:96px;display:flex;position:sticky;top:132px}.weekly-sidebar .crew-rail-list{gap:4px;padding:6px 8px}.weekly-sidebar .crew-rail-header{padding:8px 10px}.weekly-sidebar .crew-rail-title{font-size:11px}.weekly-sidebar .crew-rail-chip{gap:4px;padding:2px 4px}.weekly-sidebar .crew-rail-chip .crew-chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.weekly-page .crew-rail{background:var(--tile);border:1px solid var(--tile-border);border-radius:10px;transition:background-color .2s,border-color .2s}.weekly-page .crew-rail-header{border-bottom:1px solid var(--tile-border)}.weekly-page .crew-rail-title{color:var(--sec);letter-spacing:1.1px;font-family:Space Grotesk,sans-serif}.weekly-page .crew-rail-count{background:var(--asph-more-bg);color:var(--asph-more-fg)}.weekly-page .crew-rail .crew-chip{background:var(--asph-more-bg);color:var(--ink);box-shadow:none}.weekly-page .crew-rail-empty{color:var(--sec)}.weekly-main{flex-direction:column;flex:auto;gap:8px;min-width:0;display:flex}.weekly-main .weekly-grid{width:100%}.weekly-bars{gap:4px 8px;margin:0;display:grid}.weekly-page .weekly-bar{color:#fff;text-align:left;cursor:grab;white-space:normal;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:#b5d233;border:none;border-radius:7px;align-items:center;min-height:26px;padding:6px 30px 6px 10px;font-family:Inter,sans-serif;font-size:12.5px;font-weight:600;line-height:1.2;transition:filter .14s,transform .14s,box-shadow .14s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #16181c40}.weekly-page .weekly-bar:active{cursor:grabbing}.weekly-page .weekly-bar:hover{filter:brightness(1.08);box-shadow:0 4px 10px #16181c4d}.weekly-page .weekly-bar .weekly-bar-label{-webkit-line-clamp:2;text-overflow:ellipsis;word-break:break-word;pointer-events:none;-webkit-box-orient:vertical;flex:auto;min-width:0;line-height:1.2;display:-webkit-box;overflow:hidden}.weekly-page .weekly-bar .project-bar-subtitle{opacity:0;max-height:0;display:block}.weekly-page .weekly-bar.is-paused:after{content:"";border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(135deg,#ffffff1f 0 5px,#0000 5px 11px);position:absolute;inset:0}.weekly-page .weekly-bar.is-done:after{content:"";border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(135deg,#16181c24 0 5px,#0000 5px 11px),repeating-linear-gradient(45deg,#16181c24 0 5px,#0000 5px 11px);position:absolute;inset:0}.weekly-page .weekly-bar.is-done.is-ink:after{background:repeating-linear-gradient(135deg,#ffffff1f 0 5px,#0000 5px 11px),repeating-linear-gradient(45deg,#ffffff1f 0 5px,#0000 5px 11px)}.weekly-page .weekly-bar .bar-done-check{flex-shrink:0;margin-right:6px}.weekly-bar-handle{cursor:ew-resize;z-index:2;background:0 0;border-radius:7px;width:12px;transition:background-color .14s;position:absolute;top:0;bottom:0}.weekly-bar-handle-left{left:0}.weekly-bar-handle-right{right:0}.weekly-bar-handle:hover{background:#ffffff47}.weekly-page .weekly-bar.is-ink .weekly-bar-handle:hover{background:#16181c24}.weekly-bar-menu{color:currentColor;cursor:pointer;z-index:3;opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:opacity .14s,background-color .14s,transform .14s;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.weekly-bar-menu:before{content:"";position:absolute;inset:-6px}.weekly-bar:hover .weekly-bar-menu,.weekly-bar-menu:focus-visible{opacity:1;background:#ffffff38}.weekly-page .weekly-bar.is-ink:hover .weekly-bar-menu,.weekly-page .weekly-bar.is-ink .weekly-bar-menu:focus-visible{background:#16181c1f}.weekly-bar-menu:hover{background:#fff6;transform:translateY(-50%)scale(1.08)}.weekly-page .weekly-bar.is-ink .weekly-bar-menu:hover{background:#16181c33}.weekly-grid{flex:auto;grid-template-columns:repeat(7,minmax(160px,1fr));gap:8px;display:grid;overflow-x:auto}.weekly-day-col{background:var(--tile);border:1px solid var(--tile-border);border-radius:10px;flex-direction:column;gap:6px;min-width:160px;min-height:200px;padding:8px;transition:background-color .2s,border-color .2s,box-shadow .14s;display:flex}.weekly-grid>.weekly-day-col:nth-child(6),.weekly-grid>.weekly-day-col:nth-child(7){background:var(--weekend)}.weekly-grid>.weekly-day-col:nth-child(6) .weekly-day-num,.weekly-grid>.weekly-day-col:nth-child(7) .weekly-day-num{color:var(--sec)}.weekly-page .weekly-day-col.is-today{box-shadow:0 0 0 2px var(--asph-lime)}.weekly-page .weekly-day-col.is-focused{outline-offset:-2px;outline:2px solid #b5d2338c}.weekly-day-header{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;transition:background-color .14s;display:flex}.weekly-day-header:hover{background:var(--ghost-hover)}.weekly-day-name{text-transform:uppercase;letter-spacing:1.1px;color:var(--sec);font-family:Space Grotesk,sans-serif;font-size:11px;font-weight:600;transition:color .2s}.weekly-day-num{color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:600;line-height:1;transition:color .2s}.weekly-page .weekly-day-col.is-today .weekly-day-num{background:var(--asph-inverse-bg);min-width:26px;height:26px;color:var(--asph-inverse-fg);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:13.5px;transition:background-color .2s,color .2s;display:inline-flex}.weekly-day-body{cursor:pointer;flex-direction:column;flex:1;gap:6px;display:flex}.weekly-day-empty{color:var(--sec);text-align:center;cursor:pointer;padding:12px 8px;font-size:12px;font-style:italic}.weekly-day-notes{flex-direction:column;gap:3px;padding:0 2px;display:flex}.weekly-day-note-chip{background:var(--note-bg);min-width:0;max-width:100%;color:var(--note-fg);border:none;border-radius:6px;align-items:center;gap:5px;padding:3px 7px;font-size:10.5px;font-weight:500;line-height:1.4;transition:background-color .2s,color .2s;display:flex}.weekly-day-note-chip-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.weekly-day-note-chip-remove{appearance:none;cursor:pointer;color:inherit;opacity:0;background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:12px;height:12px;padding:0;transition:opacity .14s;display:inline-flex}.weekly-day-note-chip:hover .weekly-day-note-chip-remove{opacity:.75}.weekly-day-note-chip-remove:hover{opacity:1}.weekly-day-note-add{border:1px solid var(--ghost-border);width:18px;height:18px;color:var(--sec);cursor:pointer;opacity:0;background:0 0;border-radius:6px;justify-content:center;align-self:flex-start;align-items:center;padding:0;transition:opacity .14s,background-color .14s,color .14s;display:inline-flex;position:relative}.weekly-day-col:hover .weekly-day-note-add,.weekly-day-note-add:focus-visible{opacity:1}.weekly-day-note-add:before{content:"";position:absolute;inset:-7px}.weekly-day-note-add:hover{background:var(--ghost-hover);color:var(--ink)}.weekly-day-note-add svg{width:10px;height:10px}.weekly-project-block{border:1px solid var(--tile-border);background:0 0;border-radius:10px;flex-direction:column;gap:6px;padding:6px;transition:border-color .14s,background-color .14s,box-shadow .14s;display:flex}.weekly-project-block.is-over{border-color:var(--asph-lime);box-shadow:0 0 0 2px var(--asph-lime);background:#b5d23324}.weekly-project-block-head{position:relative}.weekly-project-name{-webkit-line-clamp:3;overflow-wrap:anywhere;word-break:break-word;background-color:var(--tile);color:#fff;min-width:0;box-shadow:var(--asph-shadow-sm);border-radius:7px;-webkit-box-orient:vertical;padding:6px 38px 6px 9px;font-size:12.5px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.weekly-project-edit,.weekly-project-remove{color:#16181c;cursor:pointer;opacity:0;background:#ffffffd9;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;padding:0;transition:opacity .14s,background-color .14s,color .14s;display:inline-flex;position:absolute;top:4px}.weekly-project-remove{right:4px}.weekly-project-edit{right:22px}.weekly-project-block:hover .weekly-project-edit,.weekly-project-block:hover .weekly-project-remove,.weekly-project-edit:focus-visible,.weekly-project-remove:focus-visible{opacity:1}.weekly-project-remove:hover{color:#b91c1c;background:#fff}.weekly-project-edit:hover{color:#7a9a0e;background:#fff}.weekly-project-members{flex-direction:column;gap:4px;display:flex}.weekly-member-chip{background:var(--asph-more-bg);color:var(--ink);border-radius:999px;align-items:center;gap:6px;min-width:0;max-width:100%;padding:3px 8px 3px 3px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;transition:background-color .2s,color .2s;display:inline-flex}.weekly-member-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:inline-flex}.weekly-member-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.weekly-member-remove{color:var(--sec);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;transition:background-color .14s,color .14s;display:inline-flex}.weekly-member-remove:hover{background:var(--ghost-hover);color:var(--asph-danger)}.weekly-confirm-overlay{z-index:100;background:#10111380;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.weekly-confirm-card{background:var(--tile);border:1px solid var(--tile-border);min-width:320px;max-width:420px;box-shadow:var(--asph-shadow-lg);border-radius:14px;flex-direction:column;gap:18px;padding:22px 24px 18px;display:flex}.weekly-confirm-text{color:var(--ink);margin:0;font-family:Inter,sans-serif;font-size:15px;line-height:1.4}.weekly-confirm-actions{justify-content:flex-end;gap:10px;display:flex}.weekly-toast{background:var(--asph-inverse-bg);color:var(--asph-inverse-fg);box-shadow:var(--asph-shadow-lg);z-index:60;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:500;position:fixed;bottom:100px;right:24px}.day-toolbar{z-index:40;background:var(--asph-canvas);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;min-height:56px;padding:8px 28px;transition:background-color .2s;display:grid;position:sticky;top:64px}.day-toolbar-right{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.day-toolbar .breadcrumb .current{letter-spacing:-.3px;color:var(--asph-ink);font-family:Space Grotesk,sans-serif;font-size:21px;font-weight:700;transition:color .2s}.cont-cal-today-btn{border:1px solid var(--asph-ghost-border);color:var(--asph-ink);background:0 0;border-radius:9px;height:34px;padding:0 14px;font-size:13px;font-weight:500;transition:background-color .2s,color .2s,border-color .2s}.cont-cal-today-btn:hover{background:var(--asph-ghost-hover);color:var(--asph-ink)}.btn-wa-text{border:1px solid var(--asph-ghost-border);color:var(--asph-ink);background:0 0;border-radius:9px;height:34px;font-size:13px;font-weight:500;transition:background-color .2s,color .2s,border-color .2s}.btn-wa-text:hover{background:var(--asph-ghost-hover);color:var(--asph-ink)}.day-toolbar .btn.btn-primary{background:var(--asph-lime);height:34px;color:var(--asph-lime-ink);box-shadow:var(--asph-shadow-sm);border:none;border-radius:999px;align-items:center;gap:6px;padding:0 16px 0 12px;font-size:13px;font-weight:600;display:inline-flex}.day-toolbar .btn.btn-primary:hover{background:var(--asph-lime-hover);color:var(--asph-lime-ink);box-shadow:var(--asph-shadow-sm);transform:none}.day-toolbar .btn.btn-primary svg{color:var(--asph-lime-ink)}.uploader-wrap{max-width:720px;margin:40px auto;padding:0 28px}.uploader-title{letter-spacing:-.3px;color:var(--asph-ink);margin:0 0 8px;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:700}.uploader-subtitle{color:var(--asph-sec);margin:0 0 32px;font-family:Inter,sans-serif;font-size:14px}.uploader-zone{background:var(--asph-tile);border:2px dashed var(--asph-ghost-border);text-align:center;cursor:pointer;transition:border-color var(--transition-normal) var(--transition-easing), background-color var(--transition-normal) var(--transition-easing);border-radius:10px;padding:56px 28px}.uploader-zone:hover,.uploader-zone.drag-over{border-color:var(--asph-lime);background:#b5d23314}.uploader-primary-text{color:var(--asph-ink);margin:0 0 6px;font-family:Inter,sans-serif;font-size:16px;font-weight:600}.uploader-secondary-text{color:var(--asph-sec);margin:0;font-family:Inter,sans-serif;font-size:13px}.uploader-error{color:var(--asph-danger);margin-top:16px;font-size:13px}.uploader-mic{background:var(--asph-lime);width:88px;height:88px;color:var(--asph-lime-ink);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:inline-flex;box-shadow:0 20px 40px -5px #16181c14,0 30px 60px -5px #b5d2334d}.uploader-mic svg{width:34px;height:34px}.transcript-wrap{max-width:720px;margin:40px auto;padding:0 28px}.transcript-textarea{background:var(--asph-tile);border:1px solid var(--asph-tile-border);width:100%;min-height:260px;color:var(--asph-ink);resize:vertical;box-sizing:border-box;transition:border-color var(--transition-normal) var(--transition-easing), box-shadow var(--transition-normal) var(--transition-easing), background-color .2s ease;border-radius:10px;outline:none;padding:16px 18px;font-family:Inter,sans-serif;font-size:14px;line-height:1.6}.transcript-textarea:focus{border-color:var(--asph-lime);box-shadow:0 0 0 3px #b5d2332e}.transcript-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.empty-plan-chooser{justify-content:center;max-width:1280px;margin:0 auto 32px;padding:0 28px;display:flex}.empty-plan-chooser .btn-secondary{border:1px solid var(--asph-ghost-border);color:var(--asph-ink);background:0 0;border-radius:9px;height:34px;padding:0 14px;font-size:13px;font-weight:500;transition:background-color .2s,color .2s,border-color .2s}.empty-plan-chooser .btn-secondary:hover{background:var(--asph-ghost-hover);color:var(--asph-ink)}.plan-wrap{flex-direction:column;gap:20px;max-width:1280px;margin:0 auto;padding:28px 28px 120px;display:flex}.plan-layout{padding:28px 28px 120px 282px;display:block}.plan-layout .plan-wrap{min-width:0;max-width:none;margin:0;padding:0}.plan-rail{z-index:30;flex-direction:column;gap:16px;width:230px;display:flex;position:fixed;top:132px;bottom:24px;left:28px;overflow:hidden auto}@media (width<=1100px){.plan-layout{padding:28px 28px 120px}.plan-rail{width:100%;position:static;top:auto;bottom:auto;left:auto;overflow:visible}}.intro-block{background:var(--asph-tile);border:1px solid var(--asph-tile-border);color:var(--asph-ink);border-radius:10px;outline:none;padding:16px 20px;font-family:Inter,sans-serif;font-size:14px;line-height:1.55;transition:background-color .2s,border-color .2s,color .2s}.intro-block:focus{box-shadow:0 0 0 3px #b5d2334d}.block-title{color:var(--asph-sec);text-transform:uppercase;letter-spacing:1.1px;margin:0 0 14px;font-family:Space Grotesk,sans-serif;font-size:11px;font-weight:600;transition:color .2s}.day-notes-block{background:var(--asph-tile);border:1px solid var(--asph-tile-border);border-radius:10px;padding:14px 20px;transition:background-color .2s,border-color .2s}.day-notes-block-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.day-notes-pill{background:var(--asph-note-bg);color:var(--asph-note-fg);border:none;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:500;line-height:1.4;transition:background-color .2s,color .2s;display:inline-flex}.day-notes-pill-text{white-space:pre-wrap;word-break:break-word}.day-notes-pill-remove{appearance:none;cursor:pointer;color:inherit;opacity:.7;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;padding:0;display:inline-flex}.day-notes-pill-remove:hover{opacity:1;background:var(--asph-ghost-hover)}.day-notes-add-btn{appearance:none;border:1px dashed var(--asph-ghost-border);color:var(--asph-sec);cursor:pointer;transition:background-color var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);background:0 0;border-radius:999px;padding:4px 10px;font-family:Inter,sans-serif;font-size:13px}.day-notes-add-btn:hover{background:var(--asph-ghost-hover);color:var(--asph-ink)}.day-notes-inline-form{align-items:center;gap:6px;display:inline-flex}.day-notes-inline-input{border:1px solid var(--asph-ghost-border);color:var(--asph-ink);background:var(--asph-tile);border-radius:999px;min-width:200px;padding:4px 10px;font-family:Inter,sans-serif;font-size:13px}.day-notes-inline-input:focus{outline-offset:0;outline:2px solid #b5d23399}.day-notes-inline-confirm{appearance:none;background:var(--asph-lime);color:var(--asph-lime-ink);cursor:pointer;border:0;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}.day-notes-inline-confirm:hover{background:var(--asph-lime-hover)}.day-notes-inline-cancel{appearance:none;color:var(--asph-sec);cursor:pointer;background:0 0;border:0;padding:4px 6px;font-size:13px}.arrival-block{background:var(--asph-tile);border:1px solid var(--asph-tile-border);border-radius:10px;padding:18px 20px;transition:background-color .2s,border-color .2s}.arrival-row{border-top:1px solid var(--asph-tile-border);grid-template-columns:1fr auto;align-items:flex-start;gap:14px;padding:10px 0;display:grid}.arrival-members-row{align-items:center;gap:14px;display:flex}.arrival-members-row .arrival-members-list{flex:1;min-width:0}.arrival-members-row .arrival-time{width:80px}.arrival-row:first-child{border-top:none}.arrival-time{color:var(--asph-ink);font-variant-numeric:tabular-nums;border-radius:4px;outline:none;align-items:center;min-width:60px;padding:4px 6px;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:600;line-height:1.2;transition:color .2s;display:inline-flex}.arrival-time:focus{background:#b5d23324}.arrival-note{color:var(--asph-sec);border-radius:4px;outline:none;padding:2px 4px;font-family:Inter,sans-serif;font-size:13px}.arrival-note:focus{background:#b5d23324}.arrival-note:empty:before{content:attr(data-placeholder);color:var(--asph-sec);opacity:.65}.arrival-body{flex-direction:column;gap:6px;display:flex}.arrival-members-list{min-height:40px;transition:background var(--transition-normal) var(--transition-easing);border-radius:6px;flex-wrap:wrap;gap:6px;padding:4px;display:flex}.arrival-members-list.drop-active{background:#b5d23324}.arrival-row-remove{color:var(--asph-sec);opacity:0;width:24px;height:24px;transition:opacity var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing), background var(--transition-normal) var(--transition-easing);border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.arrival-row:hover .arrival-row-remove{opacity:1}.arrival-row-remove:hover{color:var(--asph-danger);background:var(--asph-danger-wash)}.arrival-row-remove svg{width:14px;height:14px}.teams-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.team-column{background:var(--asph-tile);border:1px solid var(--asph-tile-border);box-shadow:var(--asph-shadow-sm);border-radius:10px;flex-direction:column;transition:background-color .2s,border-color .2s;display:flex;overflow:hidden}.team-head{background:var(--asph-nav-bg);color:var(--asph-nav-fg);border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;transition:background-color .2s;display:flex}:root[data-theme=dark] .team-head{background:var(--asph-more-bg)}.team-name{color:var(--asph-nav-fg);letter-spacing:-.01em;border-radius:4px;outline:none;padding:2px 4px;font-family:Inter,sans-serif;font-size:15px;font-weight:700;line-height:1.3}.team-name:focus{background:#f5f6f724}.team-name.team-name-blank{color:#f5f6f78c;font-style:italic;font-weight:500}.team-head-remove{color:var(--asph-nav-fg)}.team-head-title{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.team-head-subtitle{color:#f5f6f79e;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.25;overflow:hidden}.team-body{flex-direction:column;flex:1;gap:14px;padding:14px 18px 18px;display:flex}.team-section{flex-direction:column;gap:8px;display:flex}.team-section-label{color:var(--asph-sec);letter-spacing:1.1px;text-transform:uppercase;font-family:Space Grotesk,sans-serif;font-size:11px;font-weight:600;transition:color .2s}.team-section-label-information{color:var(--asph-sec)}.members-zone{background:var(--asph-canvas);min-height:42px;transition:background var(--transition-normal) var(--transition-easing), box-shadow var(--transition-normal) var(--transition-easing);border-radius:6px;flex-wrap:wrap;gap:6px;padding:6px;display:flex}.members-zone.drop-active{box-shadow:inset 0 0 0 1.5px var(--asph-lime);background:#b5d23333}.team-body-empty{gap:0;padding:10px 14px 14px}.team-add-link{text-align:left;width:100%;color:var(--asph-sec);cursor:pointer;background:0 0;border:0;border-radius:6px;min-height:32px;padding:8px 10px;font-family:Inter,sans-serif;font-size:13px;display:block}.team-add-link:hover{background:var(--asph-ghost-hover);color:var(--asph-ink)}.members-zone.members-zone-collapsed,.vehicle-list.vehicle-list-collapsed{background:0 0;min-height:0;margin:0;padding:0}.members-zone.members-zone-collapsed.drop-active,.vehicle-list.vehicle-list-collapsed.drop-active{background:#b5d23333;min-height:28px;margin-bottom:4px;padding:4px}.crew-chip{box-sizing:border-box;background:var(--asph-tile);border:1px solid var(--asph-tile-border);min-height:32px;box-shadow:var(--asph-shadow-sm);cursor:grab;color:var(--asph-ink);-webkit-user-select:none;user-select:none;transition:box-shadow var(--transition-normal) var(--transition-easing), transform var(--transition-normal) var(--transition-easing), background-color .2s ease, border-color .2s ease;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;display:inline-flex}.crew-chip:hover{transform:translateY(-1px);box-shadow:0 4px 12px #16181c24}.crew-chip.is-dragging{opacity:.4}.crew-chip.drag-overlay{box-shadow:var(--asph-shadow-lg);cursor:grabbing}.crew-chip-avatar{background:var(--asph-lime);width:24px;height:24px;color:var(--asph-lime-ink);letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:inline-flex}.crew-chip.is-hovered{box-shadow:0 0 0 2px var(--asph-lime), 0 4px 12px #b5d2334d;transform:translateY(-1px)scale(1.05)}.crew-chip-occurrence{background:var(--asph-more-bg);height:16px;color:var(--asph-more-fg);letter-spacing:.02em;cursor:help;border-radius:999px;align-items:center;margin-left:4px;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex}.vehicle-list{transition:background var(--transition-normal) var(--transition-easing), box-shadow var(--transition-normal) var(--transition-easing);border-radius:6px;flex-direction:column;gap:6px;display:flex}.vehicle-list.drop-active{box-shadow:inset 0 0 0 1.5px var(--asph-lime);background:#b5d23324}.vehicle-row{flex-direction:column;align-items:flex-start;gap:4px;font-size:13px;display:flex}.vehicle-driver-line{align-items:center;min-height:28px;display:flex}.vehicle-label-line{align-items:center;gap:6px;padding-left:4px;display:flex}.vehicle-assigned{color:var(--asph-ink);white-space:nowrap;font-weight:600}.vehicle-sep{color:var(--asph-sec);opacity:.65}.vehicle-color-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.vehicle-label{background:var(--asph-more-bg);color:var(--asph-ink);border-radius:4px;outline:none;min-width:60px;padding:3px 8px;font-weight:500;transition:background-color .2s,color .2s;position:relative}.vehicle-label:focus{background:#b5d2332e}.vehicle-autocomplete{background:var(--asph-tile);border:1px solid var(--asph-tile-border);box-shadow:var(--asph-shadow-lg);z-index:20;border-radius:8px;min-width:180px;max-height:180px;margin-top:4px;padding:4px;position:absolute;top:100%;left:0;overflow-y:auto}.vehicle-autocomplete button{text-align:left;width:100%;color:var(--asph-ink);border-radius:4px;padding:6px 10px;font-size:13px;display:block}.vehicle-autocomplete button:hover{background:var(--asph-ghost-hover);color:var(--asph-ink)}.vehicle-row-wrap{transition:background var(--transition-fast) var(--transition-easing), box-shadow var(--transition-fast) var(--transition-easing);border-radius:8px;align-items:center;gap:6px;padding:2px 4px;display:flex}.vehicle-row-wrap .vehicle-row{flex:1;min-width:0}.vehicle-row-wrap.drop-active{box-shadow:inset 0 0 0 1.5px var(--asph-lime);background:#b5d2332e}.vehicle-driver-chip{cursor:default;flex-shrink:0;padding:2px 4px 2px 2px}.vehicle-driver-chip .crew-chip-name{font-size:13px}.vehicle-driver-chip .crew-chip-avatar{width:24px;height:24px;font-size:11px}.vehicle-driver-slot{border:1.5px dashed var(--asph-ghost-border);background:var(--asph-ghost-hover);height:26px;color:var(--asph-sec);white-space:nowrap;transition:border-color var(--transition-fast) var(--transition-easing), background var(--transition-fast) var(--transition-easing), color var(--transition-fast) var(--transition-easing);border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:0 10px;font-size:11.5px;font-weight:500;display:inline-flex}.vehicle-driver-slot-icon{color:inherit;opacity:.75}.vehicle-driver-slot-label{letter-spacing:.01em}.vehicle-row-wrap.drop-active .vehicle-driver-slot{border-color:var(--asph-lime);color:var(--asph-ink);background:#b5d2332e;border-style:solid}.mandate-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.mandate-item{color:var(--asph-ink);border-radius:4px;outline:none;padding:2px 4px 2px 16px;font-size:13px;line-height:1.5;transition:color .2s;position:relative}.mandate-item:before{content:"•";color:var(--asph-lime);font-weight:700;position:absolute;top:2px;left:4px}.mandate-item:focus{background:#b5d23324}.mandate-add{color:var(--asph-sec);border-radius:4px;align-self:flex-start;padding:4px 8px;font-size:12px}.mandate-add:hover{color:var(--asph-ink);background:var(--asph-ghost-hover)}.mandate-item-row{align-items:flex-start;gap:6px;padding-left:16px;display:flex;position:relative}.mandate-item-row:before{content:"•";color:var(--asph-lime);font-weight:700;position:absolute;top:2px;left:4px}.mandate-item-row .mandate-item{flex:1;padding-left:0}.mandate-item-row .mandate-item:before{content:none}.mandate-list-information .mandate-item-row:before{color:var(--asph-sec)}.coordination-block{background:var(--asph-tile);border:1px solid var(--asph-tile-border);border-radius:10px;padding:18px 20px;transition:background-color .2s,border-color .2s}.coord-row{border-top:1px solid var(--asph-tile-border);align-items:flex-start;gap:14px;padding:10px 0;display:flex;position:relative}.coord-row:first-child{border-top:none}.coord-members{min-width:160px;min-height:30px;transition:background var(--transition-normal) var(--transition-easing);border-radius:6px;flex-wrap:wrap;gap:6px;padding:4px;display:flex}.coord-members.drop-active{background:#b5d23324}.coord-desc{color:var(--asph-ink);border-radius:4px;outline:none;flex:1;padding:4px 6px;font-family:Inter,sans-serif;font-size:13px;line-height:1.5}.coord-desc:focus{background:#b5d23324}.coord-row-remove{align-self:flex-start}.remove-btn{width:18px;height:18px;color:var(--asph-sec);opacity:0;transition:opacity var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing), background var(--transition-normal) var(--transition-easing);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.remove-btn svg{width:12px;height:12px}.remove-btn:hover{color:var(--asph-danger);background:var(--asph-danger-wash)}.team-head:hover .team-head-remove,.crew-chip:hover .crew-chip-remove,.vehicle-row-wrap:hover .vehicle-row-remove,.mandate-item-row:hover .mandate-item-remove,.coord-row:hover .coord-row-remove{opacity:1}.crew-chip-remove{color:var(--asph-sec);margin-left:2px}.crew-chip.has-remove{padding-right:6px}.crew-chip.crew-rail-chip .crew-chip-remove{display:none}.vehicle-driver-remove{width:28px;height:28px;color:var(--asph-sec);cursor:pointer;transition:color var(--transition-normal) var(--transition-easing), background var(--transition-normal) var(--transition-easing);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;padding:0;display:inline-flex}.vehicle-driver-remove svg{width:12px;height:12px}.vehicle-driver-remove:hover{color:var(--asph-danger);background:var(--asph-danger-wash)}.remove-btn.vehicle-row-remove{width:28px;height:28px}.row-add-btn{color:var(--asph-sec);border-radius:4px;align-self:flex-start;padding:4px 8px;font-size:12px}.row-add-btn:hover{color:var(--asph-ink);background:var(--asph-ghost-hover)}.coord-add,.arrival-add{margin-top:8px}.row-add-block{width:100%;min-height:44px;color:var(--asph-sec);border:1px dashed var(--asph-ghost-border);text-align:left;transition:background var(--transition-normal) var(--transition-easing), border-color var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);background:0 0;border-radius:6px;align-self:stretch;align-items:center;gap:6px;margin-top:6px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.row-add-block:hover{background:var(--asph-ghost-hover);border-color:var(--asph-lime);color:var(--asph-ink)}.row-add-block:focus-visible{outline:2px solid var(--asph-lime);outline-offset:2px}.kanban-scroll{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--asph-ghost-border) transparent;flex-direction:row;gap:16px;padding:8px 4px 18px;display:flex;overflow:auto visible}.kanban-scroll::-webkit-scrollbar{height:10px}.kanban-scroll::-webkit-scrollbar-thumb{background:var(--asph-ghost-border);border-radius:999px}.kanban-scroll::-webkit-scrollbar-thumb:hover{background:var(--asph-sec)}.kanban-scroll>.team-column{flex:0 0 280px;align-self:stretch;width:280px;max-width:280px;min-height:280px}.kanban-add-column{border:1.5px dashed var(--asph-ghost-border);min-height:200px;color:var(--asph-sec);transition:background var(--transition-normal) var(--transition-easing), border-color var(--transition-normal) var(--transition-easing), color var(--transition-normal) var(--transition-easing);background:0 0;border-radius:10px;flex-direction:column;flex:0 0 220px;justify-content:center;align-self:stretch;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.kanban-add-column:hover{border-color:var(--asph-lime);color:var(--asph-ink);background:#b5d2331a}.kanban-add-plus{background:var(--asph-lime);width:36px;height:36px;color:var(--asph-lime-ink);border-radius:50%;justify-content:center;align-items:center;font-size:22px;font-weight:600;line-height:1;display:inline-flex}.team-navbar{z-index:35;background:var(--asph-canvas);align-items:center;gap:12px;padding:8px 4px;transition:background-color .2s;display:flex;position:sticky;top:64px;box-shadow:0 6px 12px -10px #16181c33}.team-navbar-pills{flex-wrap:wrap;flex:1;gap:6px;min-width:0;display:flex}.team-pill{background:var(--asph-tile);border:1px solid var(--asph-tile-border);height:30px;color:var(--asph-ink);box-shadow:var(--asph-shadow-sm);max-width:220px;transition:box-shadow var(--transition-normal) var(--transition-easing), transform var(--transition-normal) var(--transition-easing), background-color .2s ease, border-color .2s ease;border-radius:999px;align-items:center;gap:6px;padding:0 12px 0 8px;font-size:12px;font-weight:500;display:inline-flex}.team-pill:hover{transform:translateY(-1px);box-shadow:0 4px 10px #16181c1f}.team-pill:active{transition-duration:80ms;transform:scale(.97)}.team-pill.is-active{box-shadow:0 0 0 2px var(--asph-lime), 0 4px 10px #16181c1f;color:var(--asph-ink);background:#b5d23324}.team-pill-index{background:var(--asph-lime);width:18px;height:18px;color:var(--asph-lime-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.team-pill-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.team-navbar-add{background:var(--asph-lime);height:30px;color:var(--asph-lime-ink);box-shadow:var(--asph-shadow-sm);transition:background var(--transition-normal) var(--transition-easing);border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.team-navbar-add svg{width:14px;height:14px}.team-navbar-add:hover{background:var(--asph-lime-hover)}.crew-rail{background:var(--asph-tile);border:1px solid var(--asph-tile-border);border-radius:10px;flex-direction:column;min-height:0;max-height:60vh;transition:background-color .2s,border-color .2s;display:flex;overflow:hidden}.crew-rail-header{border-bottom:1px solid var(--asph-tile-border);justify-content:space-between;align-items:center;padding:10px 12px 8px;display:flex}.crew-rail-title{color:var(--asph-sec);letter-spacing:1.1px;text-transform:uppercase;font-family:Space Grotesk,sans-serif;font-size:11px;font-weight:600}.crew-rail-count{color:var(--asph-more-fg);background:var(--asph-more-bg);border-radius:999px;padding:2px 8px;font-family:Inter,sans-serif;font-size:11px;font-weight:600}.crew-rail-list{flex-direction:column;gap:4px;padding:8px 8px 10px;display:flex;overflow-y:auto}.crew-rail-empty{color:var(--asph-sec);text-align:center;padding:12px 6px;font-size:12px}.crew-rail-chip{justify-content:flex-start;gap:6px;width:100%;padding:3px 8px 3px 3px;font-size:12px}.crew-rail-chip .crew-chip-avatar{width:22px;height:22px;font-size:9.5px}.crew-rail-chip .crew-chip-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.crew-rail-chip.is-used{opacity:.45}.equip-rail{background:var(--asph-tile);border:1px solid var(--asph-tile-border);border-radius:10px;flex-direction:column;min-height:0;max-height:32vh;transition:background-color .2s,border-color .2s;display:flex;overflow:hidden}.equip-rail .crew-rail-list{gap:4px;padding:8px 8px 10px}.equip-rail .equip-chip{gap:6px;padding:4px 8px 4px 4px;font-size:12px}.equip-rail .equip-chip-icon{width:22px;height:22px}.equip-rail .equip-chip-icon svg{width:12px;height:12px}.equip-chip{background:var(--asph-tile);border:1px solid var(--asph-tile-border);box-shadow:var(--asph-shadow-sm);cursor:grab;color:var(--asph-ink);-webkit-user-select:none;user-select:none;width:100%;transition:box-shadow var(--transition-normal) var(--transition-easing), transform var(--transition-normal) var(--transition-easing), background-color .2s ease, border-color .2s ease;border-radius:999px;justify-content:flex-start;align-items:center;gap:8px;padding:6px 10px 6px 6px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;display:flex}.equip-chip:hover{transform:translateY(-1px);box-shadow:0 4px 12px #16181c24}.equip-chip.is-dragging{opacity:.4}.equip-chip.drag-overlay{width:auto;box-shadow:var(--asph-shadow-lg);cursor:grabbing}.equip-chip-icon{width:26px;height:26px;color:var(--asph-ink);background:#b5d23338;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.equip-chip-icon svg{width:14px;height:14px}.equip-chip-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.refine-bar{background:var(--asph-nav-bg);z-index:80;border-radius:999px;align-items:center;gap:10px;width:min(680px,100% - 40px);padding:6px 8px 6px 18px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 12px 36px #16181c52,0 2px 8px #16181c2e}.refine-input{color:var(--asph-nav-fg);background:0 0;border:none;outline:none;flex:1;padding:8px 0;font-family:Inter,sans-serif;font-size:14px}.refine-input::placeholder{color:#f5f6f780}.refine-mic{background:var(--asph-lime);width:44px;height:44px;color:var(--asph-lime-ink);transition:box-shadow var(--transition-normal) var(--transition-easing), background-color var(--transition-normal) var(--transition-easing);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.refine-mic:hover{background:var(--asph-lime-hover)}.refine-mic.recording{animation:1.2s ease-in-out infinite nvx-pulse}.refine-mic svg{width:20px;height:20px}.refine-status{color:var(--asph-sec);white-space:nowrap;font-size:12px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.refine-history{box-shadow:var(--asph-shadow-lg);z-index:1;background:#16181ceb;border-radius:999px;gap:8px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 12px);right:6px}.refine-hist-btn{color:#f5f6f7;cursor:pointer;width:34px;height:34px;transition:opacity var(--transition-normal) var(--transition-easing);background:#24262b;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.refine-hist-btn:disabled{opacity:.32;cursor:default}.refine-hist-btn svg{display:block}.refine-save{cursor:pointer;background:var(--asph-tile);border:1.5px solid var(--asph-lime);width:46px;height:46px;color:var(--asph-ink);transition:box-shadow var(--transition-normal) var(--transition-easing), background-color .2s ease, color .2s ease;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:0;right:86px}.refine-save.is-validated{background:var(--asph-lime);color:var(--asph-lime-ink);border:none;box-shadow:0 8px 20px #b5d23359}.refine-save svg{display:block}.refine-bar.expanded .refine-save{display:none}.refine-bar.compact{width:140px;max-width:none;box-shadow:none;cursor:default;background:0 0;justify-content:flex-end;gap:0;padding:0;left:auto;right:28px}.refine-bar.compact .refine-mic{flex-shrink:0}.refine-bar.compact .refine-input{display:none}.refine-bar.compact .refine-wing{background:var(--asph-nav-bg);cursor:pointer;border:0;border-radius:999px 0 0 999px;flex-shrink:0;width:0;height:44px;margin-right:-16px;padding:0;transition:width .18s,margin-right .18s;overflow:hidden}.refine-bar.compact:hover .refine-wing,.refine-bar.compact .refine-wing:hover,.refine-bar.compact:focus-within .refine-wing{width:96px;margin-right:-20px}.refine-bar,.refine-bar.quick-note-bar{max-width:calc(100% - 310px);left:auto;right:28px;transform:none}.refine-bar.quick-note-bar.compact{justify-content:flex-end;left:auto;right:28px}@media (width<=1100px){.refine-bar{max-width:min(680px,100% - 40px);left:50%;right:auto;transform:translate(-50%)}}.transcript-actions .btn.btn-primary,.wa-preview-modal .btn.btn-primary,.continue-modal .btn.btn-primary{background:var(--asph-lime);color:var(--asph-lime-ink);box-shadow:var(--asph-shadow-sm);border:none;border-radius:999px;font-weight:600}.transcript-actions .btn.btn-primary:hover,.wa-preview-modal .btn.btn-primary:hover,.continue-modal .btn.btn-primary:hover{background:var(--asph-lime-hover);color:var(--asph-lime-ink);box-shadow:var(--asph-shadow-sm);transform:none}.toast{background:var(--asph-inverse-bg);color:var(--asph-inverse-fg);z-index:200;box-shadow:var(--asph-shadow-lg);opacity:0;pointer-events:none;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:500;transition:opacity .18s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.continue-modal{max-width:540px}.continue-modal-prompt{color:var(--asph-sec);margin:0 0 14px;font-size:13px}.continue-pills{flex-wrap:wrap;gap:8px;display:flex}.continue-pill{background:var(--asph-more-bg);color:var(--asph-ink);cursor:pointer;transition:background-color var(--transition-fast) var(--transition-easing), border-color var(--transition-fast) var(--transition-easing), color var(--transition-fast) var(--transition-easing);border:1.5px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}.continue-pill:hover{background:var(--asph-ghost-hover)}.continue-pill.active{border-color:var(--asph-lime);color:var(--asph-ink);background:#b5d2332e}.continue-pill-name{font-weight:600}.continue-pill-badge{background:var(--asph-more-bg);height:20px;color:var(--asph-more-fg);border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.continue-pill.active .continue-pill-badge{color:var(--asph-ink);background:#b5d2334d}.continue-orphan-section{border-top:1px solid var(--asph-tile-border);margin-top:16px;padding-top:14px}.continue-orphan-header{color:var(--asph-sec);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:12px;font-weight:600}.continue-pill-orphan-badge{background:var(--asph-more-bg);height:16px;color:var(--asph-more-fg);letter-spacing:.02em;border-radius:4px;align-items:center;padding:0 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:600;display:inline-flex}.continue-pill-sub{color:var(--asph-sec);font-size:12px;font-weight:400}.continue-pill-orphan.active .continue-pill-orphan-badge{color:var(--asph-ink);background:#b5d2334d}.server-unavailable-banner{align-items:center;gap:10px;display:flex}.server-unavailable-retry{border-radius:999px;height:28px;margin-left:auto;padding:0 14px;font-size:12px}@media (width<=600px){.day-toolbar{grid-template-columns:1fr;gap:10px;padding:12px 16px}.day-toolbar-right{flex-wrap:wrap;justify-content:flex-start;gap:10px}.day-toolbar-right .btn-primary{justify-content:center;width:100%}}
