.workspace{grid-template-rows:minmax(0,1fr) 44px}.workspace>.tool-rail{grid-column:1;grid-row:1 / 3}.workspace>.plan-viewport{grid-column:2;grid-row:1}.workspace>.inspector{grid-column:3;grid-row:1 / 3}.workspace.is-schedule-settling{transition:grid-template-rows .16s cubic-bezier(.23,1,.32,1)}.electrical-schedule{position:relative;z-index:25;grid-column:2;grid-row:2;display:flex;min-width:0;min-height:0;flex-direction:column;overflow:visible;color:var(--ink);background:var(--gray-25);border-top:1px solid var(--gray-300);box-shadow:0 -5px 18px #161a2012}.electrical-schedule.is-closed{box-shadow:0 -2px 10px #161a200f}.electrical-schedule__resize{position:absolute;top:-9px;right:0;left:0;z-index:1;display:grid;height:18px;place-items:center;color:var(--gray-500);cursor:ns-resize;touch-action:none;outline:none}.electrical-schedule__resize:before{position:absolute;top:7px;width:42px;height:3px;content:"";background:var(--gray-300);border-radius:999px}.electrical-schedule__resize svg{display:none}.electrical-schedule__resize:focus-visible:before,.electrical-schedule__resize:hover:before{height:4px;background:var(--blue);box-shadow:0 0 0 3px #2142b821}.electrical-schedule__closed-bar{display:flex;width:100%;height:43px;min-width:0;align-items:center;justify-content:space-between;gap:12px;padding:0 10px 0 14px;color:var(--gray-700);background:var(--gray-25)}.electrical-schedule__closed-main{display:flex;min-width:0;height:43px;flex:1 1 auto;align-items:center;gap:8px;padding:0;color:var(--gray-700);background:transparent;border:0;font:inherit;text-align:left;cursor:pointer}.electrical-schedule__closed-main>span,.electrical-schedule__closed-actions{display:flex;align-items:center}.electrical-schedule__closed-main>span{gap:8px;white-space:nowrap}.electrical-schedule__closed-actions{min-width:0;flex:0 0 auto;gap:2px}.electrical-schedule__closed-count{max-width:min(180px,22vw);overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.electrical-schedule__closed-issues{max-width:min(220px,26vw);overflow:hidden;padding:3px 4px;color:var(--todo-700);background:transparent;border:0;border-radius:4px;font:inherit;font-size:11px;text-decoration:underline;text-decoration-color:#8a52056b;text-decoration-thickness:1px;text-underline-offset:3px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.electrical-schedule__closed-issues:hover,.electrical-schedule__closed-issues:focus-visible{color:var(--todo-700);background:var(--gray-100);text-decoration-color:currentColor}.electrical-schedule__closed-issues--empty{color:var(--muted);text-decoration:none;cursor:default}.electrical-schedule__header{display:flex;min-height:38px;align-items:center;justify-content:space-between;gap:10px;padding:0 10px 0 13px;border-bottom:1px solid var(--gray-200)}.electrical-schedule__title,.electrical-schedule__header-actions{display:flex;min-width:0;align-items:center;gap:7px}.electrical-schedule__title strong{font-size:var(--text-sm);letter-spacing:-.01em}.electrical-schedule__title span{color:var(--muted);font-size:var(--text-2xs)}.schedule-icon-button,.schedule-control-button,.schedule-menu>summary{display:inline-flex;min-height:28px;align-items:center;justify-content:center;gap:5px;padding:0 8px;color:var(--gray-600);background:#fff;border:1px solid var(--gray-200);border-radius:5px;font:inherit;font-size:var(--text-2xs);cursor:pointer}.schedule-icon-button{width:28px;padding:0;background:transparent;border-color:transparent}.schedule-icon-button:hover,.schedule-control-button:hover,.schedule-menu>summary:hover{color:var(--blue-dark);background:var(--gray-100)}.schedule-menu[open]>summary{color:var(--blue-dark);background:var(--gray-150);border-color:var(--gray-400);box-shadow:inset 0 0 0 1px #2142b814}.schedule-menu:not([open])>summary,.schedule-menu:not([open])>summary:hover{color:var(--gray-600);background:#fff;border-color:var(--gray-200);box-shadow:none}.schedule-icon-button:active,.schedule-control-button:active,.schedule-menu>summary:active{transform:scale(.98)}.electrical-schedule__controls{position:relative;z-index:4;display:flex;min-width:0;min-height:42px;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 9px;background:var(--gray-75);border-bottom:1px solid var(--gray-200)}.schedule-tabs{display:flex;height:29px;align-items:center;gap:2px;padding:2px;background:var(--gray-150);border-radius:6px}.schedule-tabs button{display:flex;height:25px;align-items:center;gap:4px;padding:0 8px;color:var(--gray-600);background:transparent;border:0;border-radius:4px;font-size:var(--text-2xs);font-weight:650;cursor:pointer}.schedule-tabs button[aria-selected=true]{color:var(--accent-800);background:#fff;box-shadow:0 1px 4px #161a201f}.schedule-tabs button span,.schedule-menu>summary span{min-width:15px;padding:1px 4px;color:var(--warn-700);background:var(--gray-150);border-radius:999px;font-size:8px;text-align:center}.schedule-search{display:flex;min-width:148px;max-width:260px;height:29px;flex:1 1 200px;align-items:center;gap:5px;padding:0 7px;color:var(--gray-500);background:#fff;border:1px solid var(--gray-200);border-radius:5px}.schedule-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px #2142b81a}.schedule-search input{min-width:0;flex:1;padding:0;font:inherit;font-size:11px;background:transparent;border:0;outline:0}.schedule-search button{display:grid;padding:2px;color:var(--gray-500);background:transparent;border:0;place-items:center}.schedule-select,.schedule-group select,.schedule-filter-panel select{height:29px;padding:0 24px 0 7px;color:var(--gray-600);background:#fff;border:1px solid var(--gray-200);border-radius:5px;font:inherit;font-size:var(--text-2xs)}.schedule-group{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:var(--text-2xs)}.schedule-menu{position:relative}.schedule-menu[open]{z-index:40}.schedule-menu>summary{list-style:none;white-space:nowrap}.schedule-menu>summary::-webkit-details-marker{display:none}.schedule-menu__panel{position:absolute;top:auto;right:0;bottom:calc(100% + 6px);z-index:100;width:250px;max-height:min(420px,65vh);overflow:auto;padding:24px 8px 8px;background:var(--gray-25);border:1px solid var(--gray-300);border-radius:7px;box-shadow:0 12px 34px #161a2033;transform-origin:top right}.schedule-menu__close{position:absolute;top:4px;right:4px;display:grid;width:16px;height:16px;padding:0;color:var(--gray-400);background:transparent;border:0;border-radius:4px;place-items:center}.schedule-menu__close:hover,.schedule-menu__close:focus-visible{color:var(--gray-600);background:var(--gray-100)}.schedule-menu__close svg{width:11px;height:11px}.schedule-menu__panel .schedule-menu__close,.schedule-menu__panel .schedule-menu__close:hover,.schedule-menu__panel .schedule-menu__close:focus-visible{min-height:0;width:16px;height:16px;padding:0;color:var(--gray-400);background:transparent;border:0;box-shadow:none}.schedule-menu__panel .schedule-menu__close:hover,.schedule-menu__panel .schedule-menu__close:focus-visible{color:var(--gray-600);background:var(--gray-100)}.schedule-layout-menu .schedule-menu__panel{right:auto;left:0;width:min(250px,calc(100vw - 16px));transform-origin:top left}.electrical-schedule.is-maximized .schedule-menu__panel{top:calc(100% + 6px);bottom:auto}.schedule-filter-panel{display:grid;box-sizing:border-box;grid-template-columns:1fr 1fr;gap:8px;width:min(420px,calc(100vw - 24px));min-width:0;overflow-x:hidden}.schedule-filter-panel label{display:grid;min-width:0;gap:3px;color:var(--muted);font-size:var(--text-2xs)}.schedule-filter-panel select{width:100%;min-width:0}.schedule-filter-panel button,.schedule-columns-panel>button{min-height:28px;color:var(--blue-dark);background:var(--gray-100);border:0;border-radius:5px;font:inherit;font-size:var(--text-2xs)}.schedule-layout-panel p{margin:4px 6px 10px;color:var(--muted);font-size:10px}.schedule-layout-row,.schedule-column-row,.schedule-layout-panel form{display:flex;min-height:30px;align-items:center;gap:5px}.schedule-layout-row>button:first-child,.schedule-column-row label{min-width:0;flex:1;overflow:hidden;color:var(--gray-700);background:transparent;border:0;font:inherit;font-size:10px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.schedule-layout-row>button:last-child,.schedule-column-row button{display:grid;width:25px;height:25px;padding:0;color:var(--gray-500);background:transparent;border:0;border-radius:4px;place-items:center}.schedule-layout-row button:hover,.schedule-column-row button:hover:not(:disabled){background:var(--gray-100)}.schedule-layout-panel form{padding-top:7px;border-top:1px solid var(--gray-150)}.schedule-layout-panel input{min-width:0;height:29px;flex:1;padding:0 7px;border:1px solid var(--gray-200);border-radius:5px;font:inherit;font-size:10px}.schedule-layout-panel form button{height:29px;color:#fff;background:var(--blue);border:0;border-radius:5px}.schedule-columns-panel{width:280px;padding:0 8px 8px}.schedule-columns-menu .schedule-menu__panel{right:auto;left:0}.schedule-column-row input{margin:0 7px 0 2px;accent-color:var(--blue)}.schedule-columns-panel__header{position:sticky;top:0;z-index:2;margin:0 -8px 4px;padding:8px 28px 8px 8px;background:var(--gray-25);border-bottom:1px solid var(--gray-200);box-shadow:0 3px 7px #161a200d}.schedule-column-search{display:flex;height:29px;min-width:0;align-items:center;gap:5px;padding:0 7px;color:var(--gray-500);background:#fff;border:1px solid var(--gray-300);border-radius:5px}.schedule-column-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 2px #2142b821}.schedule-column-search svg{flex:none}.schedule-column-search input{width:100%;min-width:0;padding:0;color:var(--gray-700);background:transparent;border:0;outline:0;font:inherit;font-size:10px}.schedule-column-search>button{display:grid;width:20px;height:20px;flex:none;padding:0;color:var(--gray-500);background:transparent;border:0;border-radius:4px;place-items:center}.schedule-column-search>button:hover,.schedule-column-search>button:focus-visible{color:var(--gray-700);background:var(--gray-100)}.schedule-columns-panel__empty{margin:18px 4px;color:var(--muted);font-size:10px;text-align:center}.schedule-filter-summary{display:flex;min-height:27px;align-items:center;gap:8px;padding:3px 10px;color:var(--gray-600);background:var(--gray-100);border-bottom:1px solid var(--gray-200);font-size:var(--text-2xs)}.schedule-filter-summary button{color:var(--blue-dark);background:transparent;border:0;font:inherit;font-weight:700}.schedule-grid{position:relative;display:flex;min-width:0;min-height:0;flex:1;flex-direction:column;overflow:hidden;background:var(--gray-25)}.schedule-grid:before,.schedule-grid:after{position:absolute;top:0;bottom:14px;z-index:5;width:16px;content:"";opacity:0;pointer-events:none;transition:opacity .12s ease}.schedule-grid:before{left:0;background:linear-gradient(90deg,rgb(37 42 50 / .2),transparent)}.schedule-grid:after{right:0;background:linear-gradient(270deg,rgb(37 42 50 / .2),transparent)}.schedule-grid[data-can-scroll-left=true]:before,.schedule-grid[data-can-scroll-right=true]:after{opacity:1}.schedule-grid__surface{min-width:100%;min-height:100%}.schedule-grid__header{position:sticky;top:0;z-index:2;display:grid;width:100%;height:32px;flex:none;color:var(--gray-600);background:var(--gray-100);border-bottom:1px solid var(--gray-300)}.schedule-grid__header [role=columnheader]{position:relative;min-width:0;border-right:1px solid var(--gray-200)}.schedule-grid__header [role=columnheader]>button{display:flex;width:100%;height:100%;min-width:0;align-items:center;justify-content:space-between;gap:5px;overflow:hidden;padding:0 9px;color:inherit;background:transparent;border:0;font:inherit;font-size:9px;font-weight:750;letter-spacing:.025em;text-overflow:ellipsis;white-space:nowrap}.schedule-grid__header [role=columnheader]>button span{color:var(--blue-dark);font-size:8px}.schedule-column-resizer{position:absolute;top:0;right:-6px;z-index:3;width:12px;height:100%;cursor:col-resize;touch-action:none;outline:none}.schedule-column-resizer:after{position:absolute;top:0;left:5px;width:2px;height:100%;content:"";opacity:0;background:var(--blue);pointer-events:none}@media(hover:hover)and (pointer:fine){.schedule-column-resizer:hover:after{opacity:1}}.schedule-column-resizer:focus-visible:after{opacity:1;box-shadow:0 0 0 3px #2142b829}.schedule-column-resizer.is-active:after{height:100vh;opacity:1;box-shadow:0 0 0 1px #2142b81a}body.is-schedule-column-resizing,body.is-schedule-column-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.schedule-grid__scroll{position:relative;width:100%;min-width:100%;min-height:0;flex:1;overflow-x:auto;overflow-y:auto;overscroll-behavior:contain}.schedule-grid__scroll::-webkit-scrollbar:horizontal{height:0}.schedule-grid__body{position:relative;width:100%;min-width:100%}.schedule-grid__row{position:absolute;top:0;left:0;display:grid;width:100%;height:34px;align-items:center;background:var(--gray-25);border-bottom:1px solid var(--gray-150);cursor:default}.schedule-grid__row:nth-child(2n){background:var(--gray-50)}.schedule-grid__row:hover,.schedule-grid__row:focus-visible{z-index:1;background:var(--gray-100);outline:1px solid rgb(33 66 184 / .28);outline-offset:-1px}.schedule-grid__row[aria-selected=true]{z-index:1;background:var(--gray-150);outline:1px solid rgb(33 66 184 / .42);outline-offset:-1px}.schedule-grid__row [role=gridcell]{min-width:0;overflow:hidden;padding:0 9px;color:var(--gray-700);border-right:1px solid var(--gray-100);font-size:10px;line-height:34px;text-overflow:ellipsis;white-space:nowrap}.schedule-grid__row [role=gridcell]>span:not(.schedule-status){display:block;overflow:hidden;text-overflow:ellipsis}.schedule-status{display:inline-flex;min-height:20px;align-items:center;gap:4px;padding:0 6px;line-height:1;background:var(--gray-150);border-radius:999px;font-size:8px;font-weight:700}.schedule-status svg{flex:none}.schedule-status--pass{color:var(--pass-600);background:var(--gray-150)}.schedule-status--warning,.schedule-status--incomplete{color:var(--todo-700);background:var(--todo-100)}.schedule-status--error{color:var(--warn-700);background:var(--gray-150)}.schedule-group-row{position:absolute;top:0;left:0;display:flex;width:100%;height:34px;align-items:center;padding:0 10px;color:var(--gray-700);background:var(--gray-100);border:0;border-bottom:1px solid var(--gray-200);font:inherit;font-size:10px;font-weight:750;text-align:left}.schedule-grid.is-column-resizing .schedule-grid__body{pointer-events:none}.schedule-horizontal-scroll{position:relative;z-index:6;width:100%;height:14px;flex:none;padding:3px 4px;background:var(--gray-100);border-top:1px solid var(--gray-200);cursor:pointer;touch-action:none;outline:none}.schedule-horizontal-scroll[hidden]{display:none}.schedule-horizontal-scroll:before{position:absolute;top:6px;right:4px;left:4px;height:2px;content:"";background:var(--gray-300);border-radius:999px}.schedule-horizontal-scroll__thumb{position:relative;z-index:1;height:8px;min-width:48px;background:var(--gray-500);border:1px solid var(--gray-500);border-radius:999px;box-shadow:0 1px 2px #161a202e;cursor:grab;will-change:transform}.schedule-horizontal-scroll[data-dragging=true] .schedule-horizontal-scroll__thumb{cursor:grabbing;background:var(--blue-dark)}.schedule-horizontal-scroll:focus-visible{box-shadow:inset 0 0 0 2px var(--blue)}.schedule-group-row span{display:flex;align-items:center;gap:6px}.schedule-group-row svg.is-collapsed{transform:rotate(-90deg)}.schedule-group-row small{color:var(--muted);font-weight:600}.schedule-grid__empty{display:grid;min-width:min(560px,100%);min-height:130px;align-content:center;justify-items:center;gap:5px;color:var(--muted);font-size:10px}.schedule-grid__empty strong{color:var(--gray-700);font-size:12px}@media(max-width:1100px){.electrical-schedule__controls{flex-wrap:wrap}.schedule-search{order:2;max-width:none}.schedule-control-button{font-size:0}}@media(min-width:801px)and (max-width:1100px){.schedule-layout-menu .schedule-menu__panel{right:auto;left:0;transform-origin:top left}}@media(max-width:800px){.workspace>.inspector{z-index:30;grid-column:2;grid-row:1 / 3}.electrical-schedule__header{padding-left:10px}.electrical-schedule__controls{gap:4px;padding:5px 6px}.schedule-tabs{max-width:100%;overflow-x:auto}.schedule-tabs button{padding-right:7px;padding-left:7px}.schedule-group{display:none}.schedule-menu__panel{position:fixed;top:auto;right:8px;bottom:48px;left:66px;width:auto;max-height:56vh}.schedule-filter-panel{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.workspace.is-schedule-settling{transition:none}.schedule-icon-button:active,.schedule-control-button:active,.schedule-menu>summary:active,.electrical-schedule__closed-main:active{transform:none}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.top-bar-menu{position:relative;flex:0 1 auto;min-width:0}.top-bar-menu__trigger,.project-bar-control{border:0;color:inherit;cursor:pointer;font:inherit;transition:transform var(--dur-fast) var(--ease-out),background-color var(--dur-fast) ease,border-color var(--dur-fast) ease,color var(--dur-fast) ease}.top-bar-menu__trigger:active,.project-bar-control:active{transform:scale(.97)}.top-bar-menu__trigger{display:flex;align-items:center;gap:8px;max-width:280px;height:38px;padding:0 8px 0 10px;color:var(--text);background:transparent;border:1px solid transparent;border-radius:var(--radius-md)}.top-bar-menu__trigger:hover,.top-bar-menu__trigger[aria-expanded=true]{background:var(--surface-hover)}.top-bar-menu__trigger[aria-expanded=true]{border-color:var(--border)}.top-bar-menu__trigger>svg{flex:none;color:var(--text-muted);transition:transform var(--dur-base) var(--ease-out)}.top-bar-menu__trigger[aria-expanded=true]>svg:last-child{transform:rotate(180deg)}.top-bar-menu__trigger-copy{display:grid;min-width:0;line-height:1.2;text-align:left}.top-bar-menu__trigger-copy>span{color:var(--text-muted);font-size:var(--text-2xs);font-weight:550}.top-bar-menu__trigger-copy strong{overflow:hidden;font-size:var(--text-md);font-weight:650;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.top-bar-menu__trigger kbd,.top-bar-menu__compact-icon{display:none}.top-bar-menu__popover{position:absolute;top:calc(100% + 6px);left:0;z-index:90;width:min(290px,calc(100vw - 20px));max-height:calc(100vh - 76px);padding:5px;overflow-y:auto;color:var(--text);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transform-origin:top left;animation:pop-in var(--dur-base) var(--ease-out) both}.top-bar-menu__group{display:grid;gap:1px;margin:0;padding:4px 0;border:0}.top-bar-menu__group+.top-bar-menu__group{border-top:1px solid var(--border)}.top-bar-menu__group-label{padding:4px 9px 3px;color:var(--text-muted);font-size:var(--text-2xs);font-weight:600}.top-bar-menu__group>[role=menuitem]{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:34px;padding:0 8px 0 9px;color:var(--text);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:500;text-align:left;text-decoration:none}.top-bar-menu__group>[role=menuitem]>svg{color:var(--text-muted)}.top-bar-menu__group>[role=menuitem]:hover,.top-bar-menu__group>[role=menuitem]:focus-visible{background:var(--surface-hover);outline:none}.top-bar-menu__group>[role=menuitem]:hover>svg,.top-bar-menu__group>[role=menuitem]:focus-visible>svg{color:var(--text)}.top-bar-menu__group>[role=menuitem]:disabled{cursor:not-allowed;opacity:.45}.top-bar-menu__item-copy{display:grid;min-width:0}.top-bar-menu__item-copy strong{font-weight:500}.top-bar-menu__item-copy small{color:var(--text-muted);font-size:var(--text-2xs)}.top-bar-menu__group kbd{display:inline-grid;place-items:center;min-width:20px;height:18px;padding:0 4px;color:var(--text-muted);background:var(--gray-50);border:1px solid var(--border);border-bottom-width:2px;border-radius:var(--radius-xs);font-family:var(--font-sans);font-size:10px;font-weight:600}.project-bar-control{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;height:34px;min-width:34px;padding:0 10px;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:550;white-space:nowrap}.project-bar-control:hover{color:var(--text);background:var(--surface-hover)}.project-bar-control[aria-pressed=true]{color:var(--accent-700);background:var(--accent-50);border-color:var(--accent-100)}.project-bar-properties{padding:0;width:34px}.project-history{display:flex;align-items:center;gap:2px;padding-left:6px;margin-left:2px;border-left:1px solid var(--border)}.project-save{display:inline-flex;align-items:center;gap:6px;flex:none;padding:0 4px;color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap;cursor:default}.project-save__dot{width:6px;height:6px;background:var(--pass-500);border-radius:50%}.project-save--saving .project-save__dot{background:var(--todo-500);animation:save-pulse .9s ease-in-out infinite alternate}.project-save--error{color:var(--warn-600)}.project-save--error .project-save__dot{background:var(--warn-500)}@keyframes save-pulse{to{opacity:.3}}.billing-status{display:inline-flex;align-items:center;gap:6px;flex:none;height:30px;padding:0 10px;border:1px solid transparent;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;white-space:nowrap}button.billing-status{cursor:pointer;transition:background-color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}button.billing-status:active{transform:scale(.97)}.billing-status--free{color:#7a5200;background:linear-gradient(180deg,#fffaeb,#fff3cf);border-color:#fde3a1}.billing-status--free svg{color:var(--spark-500)}.billing-status--free:hover{background:linear-gradient(180deg,#fff6d9,#ffecb5)}.billing-status--pro{color:var(--pass-700);background:var(--pass-50);border-color:var(--pass-100)}.billing-status--inactive{color:var(--todo-700);background:var(--todo-50);border-color:var(--todo-100)}.project-export{min-height:34px;padding:0 14px 0 12px}.project-bar{position:relative;z-index:30;display:flex;align-items:center;gap:12px;min-width:0;height:var(--topbar-height);padding:0 10px;background:var(--surface);border-bottom:1px solid var(--border)}.document-workspace__project,.document-workspace__status{display:flex;flex:1 1 0;align-items:center;gap:6px;min-width:0}.document-workspace__status{justify-content:flex-end}.document-workspace__brand{display:grid;place-items:center;flex:none;width:32px;height:32px}.document-workspace__plan-controls{display:flex;flex:0 1 auto;align-items:center;gap:6px;min-width:0}.document-workspace__sheets,.document-workspace__circuits,.document-workspace__billing{display:flex;min-width:0}.sheet-switcher{position:relative;min-width:0}.sheet-switcher__trigger{display:flex;align-items:center;gap:8px;min-width:150px;max-width:260px;height:34px;padding:0 10px 0 11px;color:var(--text);text-align:left;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--dur-fast) ease,border-color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.sheet-switcher__trigger>svg{flex:none;color:var(--text-muted)}.sheet-switcher__trigger:hover,.sheet-switcher__trigger[aria-expanded=true]{background:var(--surface);border-color:var(--border-strong)}.sheet-switcher__trigger:active{transform:scale(.985)}.sheet-switcher__trigger-copy{display:flex;flex:1 1 auto;align-items:baseline;gap:8px;min-width:0}.sheet-switcher__trigger-copy strong{overflow:hidden;font-size:var(--text-sm);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.sheet-switcher__position{flex:none;color:var(--text-muted);font-size:var(--text-2xs);font-weight:550}.sheet-switcher__chevron{margin-left:auto;transition:transform var(--dur-base) var(--ease-out)}.sheet-switcher__trigger[aria-expanded=true] .sheet-switcher__chevron{transform:rotate(180deg)}.sheet-switcher__popover{position:absolute;top:calc(100% + 6px);left:50%;z-index:80;width:min(340px,calc(100vw - 24px));overflow:hidden;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transform:translate(-50%);transform-origin:top center;animation:sheet-pop var(--dur-base) var(--ease-out) both}@keyframes sheet-pop{0%{opacity:0;transform:translate(-50%,-4px) scale(.98)}}.sheet-switcher__list{display:grid;gap:1px;max-height:min(380px,calc(100vh - 140px));padding:5px;overflow-y:auto;overscroll-behavior:contain}.sheet-switcher__option{display:grid;grid-template-columns:26px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:46px;padding:6px 8px;color:var(--text);text-align:left;background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer}.sheet-switcher__option:hover,.sheet-switcher__option:focus-visible{background:var(--surface-hover);outline:none}.sheet-switcher__option[aria-selected=true]{background:var(--accent-50)}.sheet-switcher__ordinal{display:grid;place-items:center;width:26px;height:26px;color:var(--text-secondary);background:var(--gray-100);border-radius:var(--radius-sm);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;font-weight:650}.sheet-switcher__option[aria-selected=true] .sheet-switcher__ordinal{color:#fff;background:var(--accent-600)}.sheet-switcher__option-copy{display:grid;gap:1px;min-width:0}.sheet-switcher__option-copy strong,.sheet-switcher__option-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-switcher__option-copy strong{font-size:var(--text-sm);font-weight:600}.sheet-switcher__option-copy span{color:var(--text-muted);font-size:var(--text-2xs)}.sheet-switcher__check{color:var(--accent-600);opacity:0}.sheet-switcher__option[aria-selected=true] .sheet-switcher__check{opacity:1}.sheet-switcher__footer{padding:5px;background:var(--surface-sunken);border-top:1px solid var(--border)}.sheet-switcher__footer button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;width:100%;min-height:36px;padding:0 9px;color:var(--text);text-align:left;background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:550}.sheet-switcher__footer button svg{color:var(--text-muted)}.sheet-switcher__footer button:hover{background:var(--surface-hover)}.sheet-switcher__footer small{display:grid;place-items:center;min-width:22px;height:20px;padding:0 6px;color:var(--text-secondary);background:var(--gray-100);border-radius:var(--radius-full);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;font-weight:600}@media(max-width:1360px){.project-save__label{display:none}}@media(max-width:1180px){.billing-status__label{display:none}.billing-status--free{justify-content:center;width:30px;padding:0}.top-bar-menu__trigger{max-width:210px}}@media(max-width:980px){.project-bar-control__label{display:none}.project-bar-circuits,.project-export{width:34px;padding:0}.sheet-switcher__trigger{min-width:120px;max-width:190px}.top-bar-menu__trigger{max-width:170px}}@media(max-width:720px){.project-bar{gap:6px;padding:0 6px}.project-save,.document-workspace__brand{display:none}.top-bar-menu__trigger{max-width:130px;padding:0 6px}.top-bar-menu__trigger-copy>span{display:none}.sheet-switcher{position:static}.sheet-switcher__trigger{min-width:0;max-width:140px;padding:0 8px}.sheet-switcher__position{display:none}.sheet-switcher__popover{position:fixed;top:calc(var(--topbar-height) + 4px);right:8px;left:8px;width:auto;transform:none;animation-name:pop-in}.top-bar-menu__popover{position:fixed;top:calc(var(--topbar-height) + 4px);left:8px}}@media(max-width:520px){.billing-status{display:none}.project-history{padding-left:2px;margin-left:0;border-left:0}.project-history .icon-button{width:30px}.document-workspace__project,.document-workspace__status,.document-workspace__plan-controls{gap:2px}.top-bar-menu__trigger{gap:2px;padding:0 4px 0 7px}.top-bar-menu__trigger-copy{display:none}.top-bar-menu__compact-icon{display:block}.document-workspace__project,.document-workspace__status{flex:0 0 auto}.document-workspace__plan-controls{flex:1 1 auto;justify-content:center}.sheet-switcher{min-width:0;flex:1 1 auto}.sheet-switcher__trigger{width:100%;max-width:150px}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--gray-0: #ffffff;--gray-25: #fbfbfc;--gray-50: #f6f7f9;--gray-75: #f1f3f6;--gray-100: #eceff3;--gray-150: #e3e7ec;--gray-200: #d6dbe2;--gray-300: #bcc3cd;--gray-400: #949dab;--gray-500: #6b7482;--gray-600: #515965;--gray-700: #3a414b;--gray-800: #252a32;--gray-900: #161a20;--accent-25: #f5f8ff;--accent-50: #edf2ff;--accent-100: #dce6ff;--accent-200: #bccfff;--accent-300: #8eacff;--accent-400: #5f86ff;--accent-500: #3b66f5;--accent-600: #2a52e0;--accent-700: #2142b8;--accent-800: #1e3891;--spark-300: #ffd95c;--spark-400: #ffc928;--spark-500: #f5b400;--pass-50: #ecf8f1;--pass-100: #d3f0df;--pass-500: #1f9d55;--pass-600: #178048;--pass-700: #136339;--warn-50: #fdf0f0;--warn-100: #fadcdc;--warn-500: #d93a3a;--warn-600: #bf2c2c;--warn-700: #9a2323;--todo-50: #fff6e8;--todo-100: #ffe9c7;--todo-500: #e08a0b;--todo-600: #b86e05;--todo-700: #8a5205;--markup-panel: #1b2433;--markup-junction: var(--accent-500);--markup-endpoint: #e8870c;--markup-raceway: var(--accent-500);--bg-app: var(--gray-75);--bg-canvas: #e7eaef;--surface: var(--gray-0);--surface-raised: var(--gray-0);--surface-sunken: var(--gray-50);--surface-hover: var(--gray-75);--surface-pressed: var(--gray-100);--border: var(--gray-150);--border-strong: var(--gray-200);--border-input: var(--gray-200);--text: var(--gray-900);--text-secondary: var(--gray-600);--text-muted: var(--gray-500);--text-faint: var(--gray-400);--focus-ring: 0 0 0 3px rgb(59 102 245 / .28);--font-sans: "Inter Variable", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--text-3xl: 28px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--shadow-xs: 0 1px 2px rgb(22 26 32 / .06);--shadow-sm: 0 1px 2px rgb(22 26 32 / .06), 0 2px 6px rgb(22 26 32 / .05);--shadow-md: 0 2px 4px rgb(22 26 32 / .05), 0 8px 20px rgb(22 26 32 / .08);--shadow-lg: 0 4px 10px rgb(22 26 32 / .06), 0 18px 44px rgb(22 26 32 / .14);--shadow-xl: 0 10px 24px rgb(22 26 32 / .1), 0 32px 80px rgb(22 26 32 / .22);--shadow-float: 0 0 0 1px rgb(22 26 32 / .06), 0 2px 4px rgb(22 26 32 / .04), 0 10px 28px rgb(22 26 32 / .1);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.36, .64, 1);--dur-fast: .12s;--dur-base: .18s;--dur-slow: .26s;--canvas-text-scale: 1.2;--topbar-height: 52px;--rail-expanded: 176px;--rail-collapsed: 56px;--inspector-width: 340px}@media(max-width:1100px){:root{--inspector-width: 300px}}:root{font-family:var(--font-sans);color:var(--text);background:var(--bg-app);font-synthesis:none;text-rendering:optimizeLegibility;--ink: var(--text);--muted: var(--text-muted);--paper: var(--surface);--cream: var(--surface-sunken);--line: var(--border-strong);--blue: var(--accent-600);--blue-dark: var(--accent-700);--blue-soft: var(--accent-50);--green: var(--pass-600);--green-soft: var(--pass-50);--amber: var(--todo-500);--amber-soft: var(--todo-50);--red: var(--warn-600);--red-soft: var(--warn-50);--shadow: var(--shadow-lg)}*{box-sizing:border-box}button,input,select{font:inherit}.app-shell{display:grid;grid-template-rows:62px minmax(0,1fr);width:100%;height:100%;background:var(--gray-150)}.button,.icon-button{border:0;cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:0 12px;border-radius:7px;font-size:var(--text-sm);font-weight:600}.button--ghost{background:transparent}.button--ghost:hover{background:var(--gray-100)}.button--primary{color:#fff;background:var(--blue-dark);box-shadow:0 3px 8px #2142b838}.button--primary:hover{background:var(--accent-800)}.button--compact{min-height:30px;padding:0 9px;background:#fff;border:1px solid var(--line)}.button:disabled{cursor:not-allowed;opacity:.38}.workspace{--tool-rail-width: 148px;--validation-summary-inset: 14px;--inspector-width: 320px;position:relative;display:grid;grid-template-columns:var(--tool-rail-width) minmax(0,1fr) var(--inspector-width);grid-template-rows:minmax(0,1fr);min-height:0}.workspace.is-tool-rail-collapsed{--tool-rail-width: 68px}.workspace:is(.is-rail-expanding,.is-rail-collapsing){transition:grid-template-columns .18s cubic-bezier(.77,0,.175,1)}.alert-dialog__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#161a2085;opacity:1;transition:opacity .16s cubic-bezier(.23,1,.32,1)}.alert-dialog__viewport{position:fixed;top:0;right:0;bottom:0;left:0;z-index:111;display:grid;place-items:center;padding:20px;pointer-events:none}.alert-dialog__content{width:min(440px,100%);padding:24px;border:1px solid var(--gray-300);border-radius:14px;background:var(--paper);box-shadow:0 26px 74px #161a2047,0 3px 10px #161a2014;opacity:1;transform:scale(1);pointer-events:auto;transition:opacity .16s cubic-bezier(.23,1,.32,1),transform .18s cubic-bezier(.23,1,.32,1)}.alert-dialog__backdrop[data-starting-style],.alert-dialog__backdrop[data-ending-style]{opacity:0}.alert-dialog__content[data-starting-style],.alert-dialog__content[data-ending-style]{opacity:0;transform:scale(.97)}.alert-dialog__header{display:grid;gap:8px}.warning-alert-dialog__header{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:13px}.warning-alert-dialog__icon{display:grid;place-items:center;width:38px;height:38px;color:var(--todo-700);background:var(--amber-soft);border:1px solid rgb(224 138 11 / .28);border-radius:11px}.warning-alert-dialog__copy{min-width:0}.alert-dialog__title{margin:0;color:var(--ink);font-size:var(--text-xl);letter-spacing:-.015em;line-height:1.25}.alert-dialog__description{margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.55}.alert-dialog__footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.warning-alert-dialog .button--danger{box-shadow:0 3px 8px #9a232333}@media(max-width:480px){.alert-dialog__content{padding:20px}.alert-dialog__footer{flex-direction:column-reverse}.alert-dialog__footer .button{width:100%}}@media(prefers-reduced-motion:reduce){.alert-dialog__backdrop,.alert-dialog__content{transition-duration:1ms}.alert-dialog__content[data-starting-style],.alert-dialog__content[data-ending-style]{transform:none}}@media(prefers-contrast:more){.alert-dialog__content{border:2px solid var(--ink)}}.button--danger{color:#fff;background:var(--warn-700);border-color:var(--warn-700)}.button--danger:hover{background:var(--warn-700)}.button-link{color:var(--blue-dark);font:inherit;text-decoration:underline;text-underline-offset:2px}.button-link{padding:0;border:0;background:transparent;cursor:pointer}.form-error{margin:0;color:var(--red);font-size:var(--text-sm);font-weight:600}.plan-viewport{position:relative;min-width:0;min-height:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;background-color:var(--gray-300);background-image:linear-gradient(rgb(255 255 255 / .22) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .22) 1px,transparent 1px);background-size:24px 24px}.plan-viewport.is-panning{cursor:grab}.plan-viewport.is-panning:active{cursor:grabbing}.plan-viewport.is-crosshair{cursor:crosshair}.plan-viewport.is-selecting{cursor:grab}.page-surface{position:absolute;top:0;left:0;transform-origin:0 0;background:#fff;box-shadow:0 0 0 1px #161a201f,0 20px 60px #161a203d}.pdf-layer,.blank-plan-grid,.drafting-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.pdf-layer{pointer-events:none}.pdf-layer.is-hidden{visibility:hidden}.blank-plan-grid{pointer-events:none;background-color:var(--gray-25);background-image:linear-gradient(var(--gray-100) 1px,transparent 1px),linear-gradient(90deg,var(--gray-100) 1px,transparent 1px);background-size:18px 18px}.drafting-layer{overflow:visible}.plan-node{color:var(--blue);cursor:move}.node-hit-target{fill:transparent;stroke:none;pointer-events:all}.plan-node>rect:not(.node-hit-target),.plan-node>circle:not(.node-hit-target,.selection-ring,.issue-badge,.device-dot,.relationship-node-highlight){fill:#fff;stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke}.plan-node>path{fill:none;stroke:currentColor;stroke-width:1.6;vector-effect:non-scaling-stroke}.plan-node>.node-visual-symbol>rect{fill:#fff;stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke}.plan-node>.node-visual-symbol>path{fill:none;stroke:currentColor;stroke-width:1.6;vector-effect:non-scaling-stroke}.plan-node--panel{color:var(--blue-dark)}.plan-node--panel>.node-visual-symbol>rect{fill:#fff;stroke:currentColor}.plan-node--panel>.node-visual-symbol>path{stroke:currentColor}.junction-box-symbol{display:block;overflow:visible;color:var(--blue)}.plan-node--device{color:var(--amber)}.device-dot{fill:currentColor}.device-plan-marker{color:var(--blue);opacity:.3;transition:opacity .12s ease}.device-plan-marker__ring{fill:none;stroke:currentColor;stroke-width:1.4}.device-plan-marker__dot{fill:currentColor}.plan-node--device:hover .device-plan-marker,.plan-node--device.is-selected .device-plan-marker{opacity:.8}.plan-node.is-route-active .device-plan-marker{color:var(--green);opacity:.8}.node-label{fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;font-family:var(--font-sans);font-size:calc(9px * var(--canvas-text-scale));font-weight:700;pointer-events:none}.selection-ring{fill:#2a52e014;stroke:var(--blue-dark);stroke-width:2.25;stroke-dasharray:4 3;stroke-linecap:round;pointer-events:none}.selection-marquee{fill:#2a52e01f;stroke:var(--blue);stroke-width:1.5;stroke-dasharray:5 4}.node-issue-marker__shape{fill:var(--red);stroke:#fff;stroke-width:1.2;stroke-linejoin:round}.node-issue-marker--warning .node-issue-marker__shape,.node-issue-marker--incomplete .node-issue-marker__shape{fill:var(--amber)}.node-issue-marker__glyph{fill:none;stroke:#fff;stroke-width:1.4;stroke-linecap:round}.plan-viewport *,.drafting-layer text{user-select:none;-webkit-user-select:none}.relationship-node-highlight{fill:#2a52e00a;stroke:#2a52e042;stroke-width:4;pointer-events:none}.plan-node.is-selected .relationship-node-highlight{opacity:.35;pointer-events:all}.route-editor-node-focus{fill:#1f9d5524;stroke:var(--green);stroke-width:4;pointer-events:none}.plan-node.is-route-muted{opacity:.28}.plan-node.is-route-muted .node-label{fill:var(--gray-500)}.plan-node.is-route-active.plan-node--device{color:var(--green)}.plan-node.is-route-active.plan-node--panel>.node-visual-symbol>rect,.plan-node.is-route-active.plan-node--panel>rect:not(.node-hit-target){fill:var(--blue-soft)}.raceway-line,.conduit-preview{fill:none;stroke:var(--blue);stroke-width:calc(2.3 * var(--raceway-visual-weight, 1));opacity:var(--raceway-visual-opacity, 1);stroke-linejoin:round;stroke-linecap:round}.relationship-raceway-highlight{fill:none;stroke:#2a52e05c;stroke-width:12;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.raceway-line{pointer-events:none}.raceway--warning .raceway-line{stroke:var(--red)}.raceway--incomplete .raceway-line{stroke:var(--amber);stroke-dasharray:6 4}.raceway.is-selected .raceway-line{stroke-width:3.5}.raceway.is-route-editing .raceway-line{stroke:var(--gray-400);stroke-width:2;opacity:.72}.raceway.is-route-editing.is-route-selected .raceway-line{stroke:var(--blue-dark);stroke-width:3.2;opacity:1}.route-editor-raceway-highlight{fill:none;stroke:#1f9d5557;stroke-width:11;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.raceway-hit{fill:none;stroke:transparent;stroke-width:18;cursor:pointer;pointer-events:stroke}.conduit-preview{stroke:var(--blue-dark);stroke-dasharray:8 5;pointer-events:none}.conduit-approach-marker{fill:none;stroke:var(--blue-dark);stroke-width:3;stroke-linecap:round;opacity:.9}.raceway-label-bg{fill:#fbfbfcf0;stroke:var(--gray-300);stroke-width:.6;cursor:pointer;pointer-events:all}.raceway-label{pointer-events:none}.raceway-issue-marker__shape{fill:var(--red);stroke:#fff;stroke-width:1.2;stroke-linejoin:round}.raceway-issue-marker--warning .raceway-issue-marker__shape,.raceway-issue-marker--incomplete .raceway-issue-marker__shape{fill:var(--amber)}.raceway-issue-marker__glyph{fill:none;stroke:#fff;stroke-width:1.3;stroke-linecap:round}.raceway-label{fill:var(--ink);font-size:calc(7px * var(--canvas-text-scale));font-weight:700;pointer-events:none}.calibration-markup line{stroke:var(--blue-dark);stroke-width:2;stroke-dasharray:6 4}.calibration-markup circle{fill:#fff;stroke:var(--blue-dark);stroke-width:1.5}.calibration-markup rect{fill:#fbfbfcf5;stroke:var(--blue-dark);stroke-width:.7}.calibration-markup text{fill:var(--blue-dark);font-size:calc(7px * var(--canvas-text-scale));font-weight:700}.vertex-handle,.segment-handle{vector-effect:non-scaling-stroke}.vertex-handle.is-control{fill:#fff;stroke:var(--blue-dark);stroke-width:1.5;cursor:move}.vertex-handle.is-anchor{fill:var(--blue-soft);cursor:default}.segment-handle{fill:var(--blue);stroke:#fff;stroke-width:1.2;cursor:move;opacity:.72}.segment-handle[data-segment-axis=horizontal]{cursor:ns-resize}.segment-handle[data-segment-axis=vertical]{cursor:ew-resize}.inspector{position:relative;z-index:20;width:100%;min-width:0;overflow:auto;background:var(--paper);border-left:1px solid var(--gray-300);transition:opacity .15s ease-out,visibility .15s ease-out}.inspector.is-closed{width:0;overflow:hidden;visibility:hidden;pointer-events:none;border-left-color:transparent;opacity:0}.inspector-resize-handle{position:absolute;z-index:2;top:0;bottom:0;left:-9px;display:grid;width:18px;place-items:center;color:var(--gray-400);cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none}.inspector-resize-handle:before{position:absolute;top:0;right:7px;bottom:0;left:7px;border-radius:999px;content:"";transition:background-color .12s ease-out}.inspector-resize-handle:hover:before,.inspector-resize-handle:focus-visible:before{background:#2a52e024}.inspector-resize-handle:focus-visible{outline:2px solid var(--blue);outline-offset:-1px}.inspector-resize-handle svg{position:relative;opacity:.7}.panel-heading,.schedule-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--gray-150)}.panel-heading h2,.schedule-header h2{margin:4px 0 0;font-family:var(--font-sans);font-size:var(--text-xl);letter-spacing:-.03em}.eyebrow{color:var(--blue-dark);font-size:var(--text-2xs);font-weight:700}.icon-button{display:inline-grid;place-items:center;width:31px;height:31px;flex:none;color:var(--gray-600);background:transparent;border-radius:6px}.icon-button:hover{background:var(--gray-100)}.icon-button--danger:hover{color:var(--red);background:var(--red-soft)}.empty-panel{display:grid;justify-items:center;gap:16px;padding:48px 28px;color:var(--muted);font-size:var(--text-sm);line-height:1.6;text-align:center}.mixed-selection-summary{align-content:start}.mixed-selection-summary strong{color:var(--ink);font-size:var(--text-md)}.mixed-selection-summary span{color:var(--blue-dark);font-size:11px;font-weight:700}.mixed-selection-summary p{margin:0}.inspector-body{padding-bottom:30px}.inspector-accordion{display:grid;min-width:0;padding-bottom:30px}.display-settings{display:flex;flex-direction:column;min-height:100%}.display-settings__heading{align-items:center}.display-settings__heading-actions{display:flex;align-items:center;gap:5px}.display-settings__heading-actions .text-button{white-space:nowrap}.display-settings__intro{margin:0;padding:14px 18px 4px;color:var(--muted);font-size:11px;line-height:1.45}.display-settings__body{flex:1}.visibility-section{padding:16px 18px;border-bottom:1px solid var(--gray-150)}.visibility-section h3{margin:0 0 9px;color:var(--ink);font-size:11px}.visibility-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:38px;padding:6px 8px;color:var(--ink);border:1px solid transparent;border-radius:7px;background:transparent;font:inherit;font-size:var(--text-xs);text-align:left;cursor:pointer;transition:background-color .12s ease,transform .12s cubic-bezier(.23,1,.32,1)}.visibility-row:hover,.visibility-row:focus-visible{background:var(--gray-100)}.visibility-row:active{transform:scale(.985)}.visibility-row__label{display:flex;align-items:center;gap:8px;min-width:0}.visibility-row__label>svg{flex:none;color:var(--blue-dark)}.visibility-switch{position:relative;display:inline-flex;align-items:center;width:32px;height:18px;flex:none;padding:2px;border:0;border-radius:999px;background:var(--gray-300);cursor:pointer;transition:background-color .14s ease,transform .12s cubic-bezier(.23,1,.32,1)}.visibility-switch>span{width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #161a2047;transform:translate(0);transition:transform .14s cubic-bezier(.23,1,.32,1)}.visibility-switch[aria-checked=true],.visibility-row[aria-checked=true] .visibility-switch{background:var(--blue)}.visibility-switch[aria-checked=true]>span,.visibility-row[aria-checked=true] .visibility-switch>span{transform:translate(14px)}.visibility-switch:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.visibility-switch:active{transform:scale(.95)}.equipment-grid{display:grid;grid-template-columns:minmax(0,1fr) 54px 46px;align-items:center;min-height:38px;padding:6px 8px;color:var(--ink);font-size:var(--text-xs)}.equipment-grid .visibility-switch{justify-self:center}.equipment-grid--header{min-height:auto;padding-top:0}.equipment-grid--header h3{margin:0}.equipment-grid--header>span{color:var(--muted);font-size:var(--text-2xs);font-weight:700;text-align:center}.visibility-section__note{margin:7px 8px 0;color:var(--muted);font-size:var(--text-2xs);line-height:1.45}.display-settings__footer{position:sticky;bottom:0;padding:12px 18px 16px;background:linear-gradient(to bottom,rgb(251 251 252 / 0),var(--paper) 12px)}.display-settings__footer .button{width:100%}.property-section{min-width:0;border-bottom:1px solid var(--gray-150)}.property-section__header{min-width:0}.property-section__trigger{display:flex;width:100%;min-width:0;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:10px 16px;color:var(--ink);text-align:left;background:transparent;border:0;cursor:pointer;transition:background-color .12s ease-out,transform .12s cubic-bezier(.23,1,.32,1)}.property-section__trigger:hover,.property-section__trigger:focus-visible{background:var(--gray-75);outline:none}.property-section__trigger:active{transform:scale(.995)}.property-section__heading{display:grid;min-width:0;gap:2px}.property-section__trigger h3{margin:0;font-size:var(--text-xs)}.property-section__summary{overflow:hidden;color:var(--muted);font-size:var(--text-2xs);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.property-section__trigger-meta{display:inline-flex;align-items:center;gap:8px;flex:none}.property-section__issue-count{display:inline-grid;min-width:18px;height:18px;place-items:center;padding:0 4px;color:var(--todo-700);background:var(--amber-soft);border-radius:999px;font-size:var(--text-2xs);font-weight:800}.property-section__chevron{color:var(--muted);transition:transform .18s cubic-bezier(.23,1,.32,1)}.property-section[data-open] .property-section__chevron{transform:rotate(180deg)}.property-section__panel{min-width:0;overflow:hidden}.property-section__body{display:grid;min-width:0;gap:12px;padding:2px 16px 17px}.property-section__panel[data-starting-style],.property-section__panel[data-ending-style]{opacity:0}.property-row{display:grid;grid-template-columns:minmax(86px,.72fr) minmax(0,1.28fr);align-items:center;gap:8px 12px;min-width:0}.property-row__label{min-width:0;color:var(--muted);font-size:11px;font-weight:600;line-height:1.25}.property-row__control{display:flex;min-width:0;align-items:center}.property-row__control>input,.property-row__control>select{width:100%;min-width:0;min-height:32px;padding:5px 8px;color:var(--ink);background:#fff;border:1px solid var(--gray-300);border-radius:6px}.property-row__control>input:focus,.property-row__control>select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2a52e01f;outline:none}.property-row__helper{grid-column:1 / -1;margin-top:-3px;color:var(--muted);font-size:var(--text-2xs);line-height:1.4}.appearance-number-control{display:flex;width:100%;min-width:0;align-items:center;gap:6px}.appearance-number-control>input{min-width:0;flex:1 1 auto}.appearance-number-control__inheritance,.appearance-number-control__reset{display:inline-grid;width:30px;height:30px;flex:none;place-items:center;color:var(--muted)}.appearance-number-control__reset{padding:0}.device-color-control{display:flex;width:100%;min-width:0;align-items:center;gap:7px}.device-color-control__input{width:34px;height:30px;flex:none;padding:3px;background:#fff;border:1px solid var(--gray-300);border-radius:6px;cursor:pointer}.device-color-control__input:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px #2a52e01f;outline:none}.device-color-control__value{min-width:0;overflow:hidden;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.device-color-control__inheritance,.device-color-control__reset{display:inline-grid;width:24px;height:24px;margin-left:auto;flex:none;place-items:center;color:var(--muted)}.device-color-control__reset{padding:0;color:var(--blue-dark);border:0;border-radius:5px;cursor:pointer;transition:color .14s ease,background-color .14s ease,transform .14s cubic-bezier(.23,1,.32,1)}.device-color-control__reset:hover,.device-color-control__reset:focus-visible{color:var(--blue);background:var(--blue-soft);outline:none}.device-color-control__reset:active{transform:scale(.94)}.symbol-source-control{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;padding:2px;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:6px}.symbol-source-control__option{min-width:0;min-height:27px;padding:3px 6px;overflow:hidden;color:var(--muted);background:transparent;border:0;border-radius:4px;font-size:var(--text-2xs);font-weight:700;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:color .12s ease-out,background-color .12s ease-out,transform .12s cubic-bezier(.23,1,.32,1)}.symbol-source-control__option[aria-pressed=true]{color:var(--blue-dark);background:#fff;box-shadow:0 1px 2px #161a201a}.symbol-source-control__option:hover,.symbol-source-control__option:focus-visible{color:var(--blue-dark);outline:none}.symbol-source-control__option:active{transform:scale(.97)}.symbol-source-control[data-mixed] .symbol-source-control__option,.symbol-source-control[data-inherited] .symbol-source-control__option{opacity:.68}.symbol-source-control__state{position:absolute;top:50%;left:50%;padding:1px 5px;color:var(--muted);background:var(--gray-50);border:1px solid var(--gray-200);border-radius:999px;font-size:var(--text-2xs);font-weight:700;pointer-events:none;transform:translate(-50%,-50%)}.symbol-source-control__native{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.device-placement-actions{display:flex;justify-content:flex-end}.device-placement-actions .text-button:disabled{cursor:default;opacity:.45}.property-note,.field-error{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.field-error{color:var(--red)}.distance-input{display:flex;flex-direction:column;gap:5px}.distance-input__control{display:flex;align-items:center;gap:7px}.distance-input__control input{min-width:0;flex:1}.distance-input__unit{color:var(--text-muted, var(--gray-500));font-size:.82rem;white-space:nowrap}.distance-input__label{color:var(--text-muted, var(--gray-500));font-size:.78rem}.distance-input__error{display:block}.length-summary{display:grid;gap:3px;padding:10px;background:var(--gray-100);border-radius:6px}.length-summary strong{font-size:var(--text-xs)}.length-summary span{color:var(--muted);font-size:11px}.length-summary__action{justify-self:start}.electrical-section,.electrical-section .property-section__body{gap:14px;background:var(--gray-25)}.relationship-group{display:grid;gap:7px}.relationship-group h4{margin:0;color:var(--muted);font-size:var(--text-2xs);font-weight:700}.relationship-link,.compact-link,.route-link,.text-button{border:0;cursor:pointer}.relationship-link{display:flex;align-items:center;gap:8px;width:100%;min-height:48px;padding:9px 10px;text-align:left;background:#fff;border:1px solid var(--gray-200);border-radius:7px}.relationship-link:hover,.relationship-link:focus-visible,.compact-link:hover,.compact-link:focus-visible,.route-link:hover,.route-link:focus-visible{background:var(--blue-soft);border-color:var(--gray-300);outline:none}.relationship-link__body{display:grid;min-width:0;flex:1;gap:3px}.relationship-link__body strong{overflow:hidden;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.relationship-link__body small{color:var(--muted);font-size:var(--text-2xs);line-height:1.4}.relationship-pair{display:flex;flex-wrap:wrap;gap:7px}.compact-link{display:grid;min-width:0;min-height:42px;flex:1 1 120px;gap:2px;padding:7px 9px;text-align:left;background:#fff;border:1px solid var(--gray-200);border-radius:7px}.compact-link strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.compact-link span{color:var(--muted);font-size:var(--text-2xs)}.relationship-note,.relationship-empty{padding:9px 10px;color:var(--muted);background:var(--gray-100);border-radius:6px;font-size:var(--text-2xs);line-height:1.5}.relationship-empty{border:1px dashed var(--gray-300);background:transparent}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;overflow:hidden;background:var(--gray-200);border:1px solid var(--gray-200);border-radius:7px}.detail-grid div{display:grid;align-content:start;gap:3px;min-width:0;padding:8px 9px;background:#fff}.detail-grid dt{color:var(--muted);font-size:var(--text-2xs);font-weight:700}.detail-grid dd{margin:0;overflow-wrap:anywhere;font-size:11px;line-height:1.35}.route-links{display:flex;align-items:stretch;gap:4px;overflow-x:auto;padding-bottom:2px}.route-link{position:relative;display:grid;min-width:58px;padding:7px 18px 7px 8px;text-align:left;background:#fff;border:1px solid var(--gray-200);border-radius:6px}.route-link span{color:var(--blue-dark);font-size:11px;font-weight:700}.route-link small{color:var(--muted);font-size:var(--text-2xs)}.route-link svg{position:absolute;top:50%;right:3px;color:var(--gray-400);transform:translateY(-50%)}.status-dot{width:8px;height:8px;flex:none;background:var(--amber);border-radius:50%}.status-dot--pass{background:var(--green)}.status-dot--warning{background:var(--red)}.text-button{padding:3px 0;color:var(--blue-dark);background:transparent;font-size:var(--text-2xs);font-weight:700}.text-button:hover,.text-button:focus-visible{text-decoration:underline;outline:none}.circuit-inspection__title{display:flex;align-items:center;gap:9px}.circuit-inspection__title>div{display:grid;gap:2px}.circuit-inspection__title strong{font-size:var(--text-sm)}.circuit-inspection__title span{color:var(--muted);font-size:var(--text-2xs)}.field{display:grid;gap:5px}.field>span,.circuit-grid label>span{color:var(--muted);font-size:11px;font-weight:600}.field-warning-icon{color:var(--amber);cursor:help;flex:none}.field input,.field select,.circuit-grid input,.circuit-grid select{width:100%;min-height:34px;padding:6px 9px;color:var(--ink);background:#fff;border:1px solid var(--gray-300);border-radius:6px}.device-symbol-slider{display:grid;grid-template-columns:54px minmax(54px,1fr) 52px 24px;align-items:center;gap:8px;min-height:32px}.device-symbol-slider__label{color:var(--muted);font-size:11px;font-weight:600}.device-symbol-slider__control{display:flex;height:28px;align-items:center;touch-action:none;-webkit-user-select:none;user-select:none}.device-symbol-slider__track{position:relative;width:100%;height:4px;background:var(--gray-200);border-radius:999px}.device-symbol-slider__indicator{border-radius:inherit;background:var(--blue)}.device-symbol-slider__thumb{width:14px;height:14px;background:#fff;border:1.5px solid var(--blue);border-radius:50%;box-shadow:0 1px 2px #161a202e;cursor:grab;transition:border-color .14s cubic-bezier(.23,1,.32,1),box-shadow .14s cubic-bezier(.23,1,.32,1),transform .14s cubic-bezier(.23,1,.32,1)}.device-symbol-slider__thumb:active{cursor:grabbing;transform:scale(.94)}.device-symbol-slider__thumb:has(input:focus-visible){box-shadow:0 0 0 3px #2a52e024,0 1px 2px #161a202e}.device-symbol-slider[data-mixed] .device-symbol-slider__indicator,.device-symbol-slider[data-mixed] .device-symbol-slider__thumb{opacity:0}.device-symbol-slider[data-mixed] .device-symbol-slider__track{background:repeating-linear-gradient(135deg,var(--gray-200) 0,var(--gray-200) 3px,var(--gray-100) 3px,var(--gray-100) 6px)}.device-symbol-percent-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0;height:28px;padding:0 6px;color:var(--ink);background:#fff;border:1px solid var(--gray-300);border-radius:5px}.device-symbol-percent-input:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #2a52e01f}.device-symbol-percent-input input{width:100%;min-width:0;padding:0;text-align:right;background:transparent;border:0;outline:0;font:inherit;font-size:11px;font-variant-numeric:tabular-nums}.device-symbol-percent-input>span:not(.sr-only){color:var(--muted);font-size:var(--text-2xs);font-weight:700}.device-symbol-percent-input[data-mixed]{grid-template-columns:1fr;background:var(--gray-50)}.device-symbol-percent-input[data-mixed] input{text-align:center}.device-symbol-percent-input input::placeholder{color:var(--muted);opacity:1}.device-symbol-slider__trailing{display:grid;width:24px;height:24px;place-items:center}.device-symbol-slider__inheritance,.device-symbol-slider__reset{display:grid;width:24px;height:24px;padding:0;place-items:center;color:var(--gray-400);background:transparent;border:0;border-radius:5px}.device-symbol-slider__reset{color:var(--blue-dark);cursor:pointer;transition:color .14s ease,background-color .14s ease,transform .14s cubic-bezier(.23,1,.32,1)}.device-symbol-slider__reset:hover,.device-symbol-slider__reset:focus-visible{color:var(--blue);background:var(--blue-soft);outline:none}.device-symbol-slider__reset:active{transform:scale(.94)}.field input:focus,.field select:focus,.circuit-grid input:focus,.circuit-grid select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2a52e01f;outline:none}.field select:disabled{color:var(--muted);cursor:not-allowed;background:var(--gray-75)}.inspector .field{grid-template-columns:minmax(86px,.72fr) minmax(0,1.28fr);align-items:center;gap:8px 12px}.inspector .field>span{line-height:1.25}.inspector .field>input,.inspector .field>select,.inspector .field>.device-type-combobox__closed-trigger{min-width:0}.device-type-combobox__closed-trigger{display:flex;width:100%;min-height:38px;align-items:center;gap:8px;padding:6px 8px;overflow:hidden;color:var(--ink);background:#fff;border:1px solid var(--gray-300);border-radius:6px;cursor:pointer;text-align:left;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease,transform .14s cubic-bezier(.23,1,.32,1)}@media(hover:hover)and (pointer:fine){.device-type-combobox__closed-trigger:hover{background:var(--gray-25);border-color:var(--gray-300)}}.device-type-combobox__closed-trigger:focus-visible,.device-type-combobox__closed-trigger[data-popup-open]{border-color:var(--blue);box-shadow:0 0 0 3px #2a52e01f;outline:none}.device-type-combobox__closed-trigger:active{transform:scale(.985)}.device-type-combobox__icon{display:grid;width:22px;height:22px;flex:none;place-items:center}.device-type-combobox__icon svg{width:22px;height:22px}.device-type-combobox__value{min-width:0;overflow:hidden;flex:1;color:var(--ink);font-weight:550;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.device-type-combobox__closed-chevron{flex:none;margin-left:auto;color:var(--muted);transition:transform .16s cubic-bezier(.23,1,.32,1)}.device-type-combobox__closed-trigger[data-popup-open] .device-type-combobox__closed-chevron{transform:rotate(180deg)}.device-type-combobox__popup{overflow:hidden;padding:5px;color:var(--ink);background:#fff;border:1px solid var(--gray-300);border-radius:8px;box-shadow:0 12px 32px #161a202e;transform-origin:var(--transform-origin)}.device-type-combobox__input-group{display:flex;width:100%;min-height:36px;align-items:center;gap:7px;padding:3px 8px;color:var(--ink);background:var(--gray-25);border:1px solid var(--gray-300);border-radius:6px;transition:border-color .14s ease,box-shadow .14s ease}.device-type-combobox__input-group:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #2a52e01f;outline:none}.device-type-combobox__input{min-width:0;flex:1;height:28px;padding:0;color:var(--ink);background:transparent;border:0;outline:none;font:inherit}.device-type-combobox__input::placeholder{color:var(--muted);opacity:1}.device-type-select__mixed-icon{display:grid;width:22px;height:22px;place-items:center;color:var(--muted);border:1px dashed var(--gray-300);border-radius:50%}.device-type-combobox__positioner{z-index:80;width:var(--anchor-width);min-width:min(220px,calc(100vw - 32px))}.device-type-combobox__empty{color:var(--muted);font-size:var(--text-xs)}.device-type-combobox__empty:not(:empty){padding:12px 10px}.device-type-combobox__list{display:grid;gap:2px;max-height:min(280px,var(--available-height));overflow-y:auto;padding:5px;outline:none}.device-type-combobox__item{display:grid;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:9px;min-height:38px;padding:5px 7px;border-radius:5px;cursor:pointer;outline:none}.device-type-combobox__item svg{width:22px;height:22px}.device-type-combobox__item[data-highlighted]{background:#2a52e01a}.device-type-combobox__check{display:grid;color:var(--blue);place-items:center}.result-card{display:grid;gap:4px;padding:11px;background:var(--gray-100);border-left:3px solid var(--gray-400);border-radius:5px}.result-card--pass{background:var(--gray-150);border-left-color:var(--green)}.result-card--warning{background:var(--red-soft);border-left-color:var(--red)}.result-card__title{display:flex;align-items:center;gap:7px;font-size:var(--text-sm)}.result-card>span{padding-left:23px;color:var(--muted);font-size:11px}.issue{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;padding:9px;font-size:11px;line-height:1.45;border-radius:5px}.issue>span{flex:1 1 180px}.issue__actions{display:flex;flex:1 0 100%;justify-content:flex-end;gap:6px}.issue--warning,.issue--error{color:var(--warn-700);background:var(--red-soft)}.issue--incomplete{color:var(--todo-700);background:var(--amber-soft)}.issue-dot{width:6px;height:6px;flex:none;border-radius:50%;background:var(--amber)}.issue-dot--incomplete{background:var(--amber)}.issue-dot--warning,.issue-dot--error{background:var(--red)}.issues-panel{min-height:0}.issues-panel__filters{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:5px;padding:11px 12px;background:var(--paper);border-bottom:1px solid var(--gray-150)}.issues-panel__filters button{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:4px 8px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:var(--text-2xs);font-weight:700}.issues-panel__filters button span{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;background:var(--gray-100);border-radius:999px;color:var(--gray-600);font-size:9px;font-variant-numeric:tabular-nums}.issues-panel__filters button.is-active{color:#fff;background:var(--blue);border-color:var(--blue)}.issues-panel__filters button.is-active span{color:var(--blue-dark);background:#ffffffe6}.issues-panel__list{display:grid}.issues-panel__list .validation-item{display:flex;align-items:center;gap:9px;width:100%;padding:11px 13px;color:var(--gray-600);background:transparent;border:0;border-bottom:1px solid var(--gray-100);cursor:pointer;font-size:11px;text-align:left}.issues-panel__list button.validation-item:hover{background:var(--gray-100)}.issues-panel__list .validation-item:not(button){cursor:default}.issues-panel__empty{display:grid;justify-items:center;gap:5px;padding:44px 24px;color:var(--muted);text-align:center}.issues-panel__empty strong{color:var(--ink)}.issues-panel__empty p{margin:0;font-size:var(--text-xs);line-height:1.5}.issues-panel__empty--clear{min-height:260px;align-content:center;gap:8px;padding-inline:32px}.issues-panel__empty--clear strong{font-size:var(--text-lg)}.issues-panel__clear-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:5px;color:var(--green);background:var(--green-soft);border:1px solid rgb(31 157 85 / .2);border-radius:50%}.drawer-backdrop{position:fixed;top:62px;right:0;bottom:0;left:0;z-index:60;isolation:isolate;animation:drawer-backdrop-in .16s cubic-bezier(.2,0,0,1) both}.drawer-backdrop:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:#161a203d;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);content:""}.drawer-backdrop.is-closing{pointer-events:none;animation:drawer-backdrop-out .14s cubic-bezier(.23,1,.32,1) both}.schedule-drawer{position:absolute;top:0;right:0;display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;width:min(720px,92vw);height:100%;background:var(--cream);box-shadow:-18px 0 50px #161a2033;animation:schedule-drawer-in .2s cubic-bezier(.2,0,0,1) both;will-change:transform}.drawer-backdrop.is-closing .schedule-drawer{animation:schedule-drawer-out .14s cubic-bezier(.23,1,.32,1) both}@keyframes drawer-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes schedule-drawer-in{0%{transform:translate(24px)}to{transform:translate(0)}}@keyframes schedule-drawer-out{0%{transform:translate(0)}to{transform:translate(24px)}}.schedule-header{padding:20px 24px;background:var(--paper)}.schedule-note{display:flex;align-items:center;gap:8px;padding:10px 24px;color:var(--todo-700);background:var(--amber-soft);border-bottom:1px solid var(--todo-100);font-size:11px}.schedule-panel-selector{display:grid;grid-template-columns:minmax(100px,140px) minmax(0,1fr);align-items:center;gap:12px;min-height:62px;padding:10px 24px;background:#fbfbfce0;border-bottom:1px solid var(--line)}.schedule-panel-selector>div:first-child{display:grid;gap:2px;min-width:0}.schedule-panel-selector>div:first-child span{color:var(--muted);font-size:var(--text-2xs);font-weight:800}.schedule-panel-selector>div:first-child strong{overflow:hidden;color:var(--ink);font-size:17px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.panel-tabs{display:flex;gap:7px;min-width:0;overflow-x:auto;padding-bottom:1px;scrollbar-width:thin}.panel-tabs button{display:grid;align-content:center;gap:2px;min-width:126px;max-width:190px;min-height:42px;padding:6px 10px;color:var(--ink);background:var(--gray-0);border:1px solid var(--line);border-radius:7px;cursor:pointer;text-align:left}.panel-tabs button strong{overflow:hidden;font-size:var(--text-sm);line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.panel-tabs button span{overflow:hidden;color:var(--muted);font-size:var(--text-2xs);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.panel-tabs button.is-active{color:#fff;background:var(--blue);border-color:var(--blue);box-shadow:0 6px 16px #2a52e02e}.panel-tabs button.is-active span{color:#ffffffd1}.circuit-list{position:relative;isolation:isolate;display:grid;grid-auto-rows:max-content;align-content:start;gap:12px;overflow:auto;padding:0 24px 18px}.circuit-register-tools{display:flex;align-items:center;gap:8px;min-width:0;padding:10px 24px;background:var(--cream);border-bottom:1px solid var(--line)}.circuit-search{display:flex;flex:1 1 190px;align-items:center;gap:7px;min-width:0;padding:0 9px;background:#fff;border:1px solid var(--line);border-radius:7px}.circuit-search input{min-width:0;min-height:30px;padding:0;border:0;box-shadow:none}.circuit-filters{display:flex;flex:0 1 auto;gap:4px;min-width:0}.circuit-filters button{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;min-height:30px;padding:4px 7px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:11px;font-weight:700}.circuit-filters button.is-active{color:#fff;background:var(--blue);border-color:var(--blue)}.circuit-filter-count{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;color:var(--gray-600);background:var(--gray-100);border-radius:999px;font-size:9px;font-variant-numeric:tabular-nums;line-height:1}.circuit-filters button.is-active .circuit-filter-count{color:var(--blue-dark);background:#ffffffe6}.circuit-table-head,.circuit-card__heading{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(108px,.7fr) minmax(92px,.6fr) 72px repeat(3,30px);gap:6px;width:100%;min-width:0;align-items:center}.circuit-table-head{position:sticky;top:0;z-index:50;isolation:isolate;padding:14px 12px 7px;color:var(--muted);background:var(--cream);border-bottom:1px solid var(--line);box-shadow:0 5px 8px #161a200a;font-size:var(--text-2xs);font-weight:800}.circuit-table-head span:last-child{grid-column:span 3}.circuit-table-head span:nth-child(3),.circuit-table-head span:nth-child(4),.circuit-inline-number{display:none}.circuit-row{min-width:0}.circuit-card__heading{padding:9px 12px}.circuit-inline-number,.circuit-device{min-width:0;min-height:30px;padding:4px 5px;font-size:11px}.circuit-route{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.circuit-route--mobile{display:none}.circuit-identity{display:grid;min-width:0}.circuit-card__heading .status-pill{justify-self:start}.circuit-card__heading .circuit-name{width:100%}.circuit-card__heading .icon-button{width:30px;height:30px;padding:0}.circuit-order{display:grid;grid-template-columns:15px 20px 15px;align-items:center;justify-content:center;gap:1px;min-width:0}.circuit-order>strong{text-align:center}.circuit-order button{display:grid;place-items:center;width:15px;height:15px;padding:0;color:var(--muted);background:transparent;border:0;border-radius:3px;cursor:pointer}.circuit-order button:hover:not(:disabled){color:var(--blue-dark);background:var(--blue-soft)}.circuit-order button:disabled{opacity:.25;cursor:default}.circuit-order__drag{cursor:grab!important;touch-action:none}.circuit-order__drag:active{cursor:grabbing!important}.circuit-order__arrows{display:grid}.circuit-row.is-dragging{opacity:.45}.circuit-row.is-drop-target{border-color:var(--blue);box-shadow:0 0 0 2px #2a52e021}.circuit-row:not(.is-expanded) .circuit-card__heading{border-bottom:0}.circuit-row.is-expanded{border-color:var(--gray-300)}.circuit-row.is-expanded .circuit-card__heading{background:var(--gray-50)}.circuit-card__heading button[aria-expanded=true]{color:var(--blue-dark);background:var(--blue-soft)}.circuit-card__heading button[aria-expanded=true] svg{transform:rotate(180deg)}.circuit-card__heading button[aria-expanded] svg{transition:transform .16s ease}@media(max-width:760px){.circuit-register-tools{padding:8px 14px}.circuit-filters button{padding:4px 6px;font-size:9px}.circuit-table-head,.circuit-card__heading{grid-template-columns:62px minmax(0,1fr) minmax(110px,.8fr) 72px repeat(3,30px);gap:5px}.circuit-table-head span:nth-child(6),.circuit-card__heading>.circuit-route{display:none}.circuit-route--mobile{display:block;margin:-2px 5px 2px;font-size:8px}.circuit-card__heading{padding:8px}.circuit-card__heading .circuit-name{padding:5px}.circuit-route{font-size:9px}}@media(max-width:560px){.circuit-register-tools{align-items:stretch;flex-direction:column}.circuit-search{flex:0 0 auto;min-height:32px}.circuit-filters{justify-content:space-between}.circuit-filters button{flex:1 1 0}.circuit-list{padding:14px}.circuit-table-head{display:none}.circuit-card__heading{grid-template-areas:"order identity status jump details delete" ". count count count count count";grid-template-columns:52px minmax(0,1fr) 56px repeat(3,26px);row-gap:7px}.circuit-order{grid-area:order}.circuit-identity{grid-area:identity}.circuit-device-count{grid-area:count;justify-self:start;min-width:0;color:var(--muted);font-size:var(--text-2xs);white-space:nowrap}.circuit-card__heading .status-pill{grid-area:status}.circuit-card__heading>button[aria-label^=Jump]{grid-area:jump}.circuit-card__heading>button[aria-expanded]{grid-area:details}.circuit-card__heading>.icon-button--danger{grid-area:delete}.circuit-card__heading .icon-button{width:28px;height:28px}.circuit-grid{grid-template-columns:1fr}.circuit-grid-note{grid-column:1 / -1}.circuit-result{flex-wrap:wrap;gap:5px 12px}}@media(max-width:360px){.circuit-card__heading{grid-template-areas:"order identity status jump details delete" ". count count count count count";grid-template-columns:52px minmax(0,1fr) 56px repeat(3,26px)}}@media(min-width:561px)and (max-width:720px){.circuit-register-tools{padding-right:14px;padding-left:14px}.circuit-list{padding:0 14px 14px}}@media(max-width:560px){.circuit-register-tools{padding-right:14px;padding-left:14px}}.circuit-card{overflow:hidden;background:var(--paper);border:1px solid var(--gray-200);border-radius:10px;box-shadow:0 4px 14px #161a200d}.circuit-card.is-focused{border-color:var(--blue);box-shadow:0 0 0 3px #2a52e024,0 8px 22px #161a2017}.circuit-card__heading{padding:9px 12px;border-bottom:1px solid var(--gray-150)}.circuit-number,.circuit-name{min-width:0;padding:6px 8px;background:transparent;border:1px solid transparent;border-radius:5px;font-weight:700}.circuit-number{text-align:center}.circuit-number:hover,.circuit-name:hover,.circuit-number:focus,.circuit-name:focus{background:#fff;border-color:var(--line);outline:none}.status-pill{padding:4px 7px;color:var(--todo-700);background:var(--amber-soft);border-radius:999px;font-size:var(--text-2xs);font-weight:700}.status-pill--pass{color:var(--pass-600);background:var(--gray-150)}.status-pill--warning{color:var(--warn-700);background:var(--red-soft)}.circuit-grid{display:grid;grid-template-columns:1fr;gap:10px;padding:13px}.circuit-grid label{display:grid;gap:4px}.circuit-grid-note{grid-column:1 / -1;padding:9px 10px;color:var(--todo-700);background:var(--amber-soft);border:1px solid var(--todo-100);border-radius:6px;font-size:11px;line-height:1.45}.checkbox-field{display:flex!important;grid-column:span 2;align-items:center;align-self:end;min-height:34px;padding:0 8px;background:var(--gray-100);border-radius:6px}.checkbox-field input{width:auto;min-height:auto}.input-suffix{position:relative}.input-suffix span{position:absolute;top:50%;right:8px;color:var(--muted);font-size:11px;transform:translateY(-50%)}.circuit-result{display:flex;align-items:center;gap:13px;padding:10px 13px;color:var(--muted);background:var(--gray-100);font-size:11px}.circuit-result strong{color:var(--ink)}@media(max-width:560px){.circuit-card .circuit-grid{grid-template-columns:1fr}.circuit-card .circuit-grid-note{grid-column:1 / -1}}.circuit-grid{grid-template-columns:1fr;gap:14px;align-items:start;padding:14px;background:var(--gray-50);border-top:1px solid var(--gray-150)}.circuit-device-checklist{display:grid;align-content:start;gap:8px;width:100%;min-width:0;padding:12px;background:var(--paper);border:1px solid var(--gray-200);border-radius:9px;box-shadow:0 2px 8px #161a2009}.circuit-device-checklist>strong{color:var(--ink);font-size:var(--text-xs);letter-spacing:.01em}.circuit-device-checklist .circuit-search{width:auto;min-height:30px;margin:1px 0 2px}.circuit-device-option{display:grid!important;grid-template-columns:18px minmax(0,1fr);grid-template-areas:"check name" "check assignment";gap:2px 8px!important;align-items:center;min-width:0;padding:8px;background:var(--gray-25);border:1px solid var(--gray-150);border-radius:7px;cursor:pointer;transition:background .14s ease-out,border-color .14s ease-out}.circuit-device-option:hover{background:var(--gray-75);border-color:var(--accent-200)}.circuit-device-option input{grid-area:check;width:16px;min-height:16px;margin:0;accent-color:var(--blue)}.circuit-device-option>span{grid-area:name;min-width:0;overflow:hidden;color:var(--ink);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.circuit-device-option small{grid-area:assignment;overflow:hidden;color:var(--muted);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap}.circuit-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:start;min-width:0;padding:2px}.circuit-inputs>label{min-width:0}.circuit-inputs__heading{display:flex;grid-column:1 / -1;align-items:baseline;gap:8px;min-width:0;padding:0 1px 4px;border-bottom:1px solid var(--gray-200)}.circuit-inputs__heading--subsection{margin-top:5px;padding-top:5px}.circuit-inputs__heading .eyebrow{color:var(--blue-dark);font-size:var(--text-2xs)}.circuit-inputs__heading strong{overflow:hidden;color:var(--ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.circuit-inputs .circuit-grid-note{grid-column:1 / -1}.circuit-limit-note{grid-column:1 / -1;padding:7px 9px;color:var(--muted);background:var(--gray-100);border:1px solid var(--gray-200);border-radius:6px;font-size:var(--text-2xs);line-height:1.4}.circuit-result{flex-wrap:wrap;gap:6px 14px;padding:11px 14px;border-top:1px solid var(--gray-200)}.circuit-result span{padding-left:14px;border-left:1px solid var(--gray-200)}@media(max-width:760px){.circuit-grid{grid-template-columns:1fr}.circuit-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.circuit-card .circuit-grid{grid-template-columns:1fr;gap:12px;padding:12px}.circuit-inputs{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.circuit-result span{padding-left:0;border-left:0}}@media(max-width:400px){.circuit-inputs{grid-template-columns:1fr}}.circuit-device-checklist{position:relative;display:grid;align-content:start;gap:10px;min-width:0;padding:2px;background:transparent;border:0;border-radius:0;box-shadow:none}.circuit-device-checklist__heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:0 1px 4px;border-bottom:1px solid var(--gray-200)}.circuit-device-checklist__heading .eyebrow{color:var(--blue-dark);font-size:var(--text-2xs)}.circuit-device-checklist__heading strong{overflow:hidden;color:var(--ink);font-size:11px;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap}.circuit-device-checklist__count{flex:none;padding:3px 7px;color:var(--blue-dark);background:var(--gray-100);border-radius:999px;font-size:var(--text-2xs);font-weight:700;white-space:nowrap}.circuit-device-checklist__hint{margin:-2px 0 1px;color:var(--muted);font-size:var(--text-2xs);line-height:1.45}.circuit-assignment-warning{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;color:var(--todo-700);background:var(--amber-soft);border:1px solid var(--todo-100);border-radius:6px;font-size:var(--text-2xs);line-height:1.45}.circuit-assignment-warning svg{flex:none;margin-top:1px}.circuit-assignment-warning strong{color:var(--todo-700)}.circuit-assignment-warning__actions,.circuit-route-editor-entry__actions{display:flex;flex:none;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.device-combobox{position:relative;min-width:0;z-index:0}.device-combobox.is-open{z-index:20}.device-combobox__field{display:flex;align-items:stretch;min-height:42px;background:#fff;border:1px solid var(--gray-300);border-radius:8px;box-shadow:0 1px 2px #161a200a;cursor:text;transition:border-color .15s ease-out,box-shadow .15s ease-out}.device-combobox.is-open .device-combobox__field,.device-combobox__field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #2a52e021}.device-combobox__chips{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;padding:5px 7px}.device-combobox__chip{display:inline-flex;align-items:center;gap:3px;max-width:100%;min-height:25px;padding:2px 4px 2px 8px;color:var(--accent-700);background:var(--gray-150);border:1px solid var(--gray-200);border-radius:5px;font-size:var(--text-2xs);font-weight:700}.device-combobox__chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-combobox__chip button,.device-combobox__chevron{display:inline-grid;place-items:center;flex:none;padding:3px;color:currentColor;background:transparent;border:0;border-radius:4px;cursor:pointer}.device-combobox__chip button:hover,.device-combobox__chip button:focus-visible{color:var(--ink);background:#2a52e01f;outline:none}.device-combobox__chips input{flex:1 1 100px;width:100px;min-width:80px;min-height:29px;padding:3px 2px;color:var(--ink);background:transparent;border:0;box-shadow:none;outline:none;font-size:11px}.device-combobox__chips input::placeholder{color:var(--gray-500)}.device-combobox__chevron{width:36px;margin:4px;color:var(--muted);border-left:1px solid var(--gray-150);border-radius:0 5px 5px 0;transition:color .15s ease-out,transform .15s ease-out}.device-combobox__chevron:hover,.device-combobox__chevron:focus-visible{color:var(--blue-dark);background:var(--gray-100);outline:none}.device-combobox.is-open .device-combobox__chevron svg{transform:rotate(180deg)}.device-combobox__popover{position:absolute;top:calc(100% + 6px);right:0;left:0;overflow:hidden;background:var(--paper);border:1px solid var(--gray-200);border-radius:9px;box-shadow:0 14px 28px #161a2024,0 2px 6px #161a200f;transform-origin:top center;animation:device-combobox-in .16s cubic-bezier(.23,1,.32,1)}@keyframes device-combobox-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.device-combobox__popover-heading,.device-combobox__footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap;padding:8px 10px;color:var(--muted);background:var(--gray-75);font-size:var(--text-2xs)}.device-combobox__popover-heading{color:var(--ink);border-bottom:1px solid var(--gray-150);font-weight:700}.circuit-grid .device-combobox__filter{display:inline-flex;align-items:center;gap:5px}.device-combobox__filter{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;min-width:max-content;margin-left:auto;color:var(--muted);font-size:var(--text-2xs);font-weight:500;line-height:1.2;white-space:nowrap;cursor:pointer}.device-combobox__filter input{display:block;flex:0 0 13px;width:13px;min-height:13px;margin:0;accent-color:var(--blue)}.circuit-grid .device-combobox__filter input{width:13px;min-height:13px;padding:0;background:transparent;border:0;border-radius:3px;box-shadow:none}.circuit-grid .device-combobox__filter>span{color:inherit;font-size:inherit;font-weight:inherit}.device-combobox__filter:has(input:focus-visible){color:var(--blue-dark)}.device-combobox__popover-heading small,.device-combobox__footer{font-weight:500}.device-combobox__list{display:grid;max-height:238px;overflow-y:auto;padding:5px}.device-combobox__option{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:42px;padding:6px 7px;color:var(--ink);background:transparent;border:0;border-radius:6px;cursor:pointer;text-align:left}.device-combobox__option:hover,.device-combobox__option.is-highlighted,.device-combobox__option:focus-visible{background:var(--gray-100);outline:none}.device-combobox__check{display:inline-grid;place-items:center;width:18px;height:18px;color:#fff;border:1px solid var(--gray-300);border-radius:4px}.device-combobox__check.is-selected{background:var(--blue);border-color:var(--blue)}.device-combobox__option-copy{display:grid;gap:2px;min-width:0}.device-combobox__option-copy strong,.device-combobox__option-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-combobox__option-copy strong{font-size:11px}.device-combobox__option-copy small{color:var(--muted);font-size:var(--text-2xs)}.device-combobox__empty{padding:18px 10px;color:var(--muted);font-size:11px;text-align:center}@media(prefers-reduced-motion:reduce){.device-combobox__popover{animation:none}.device-combobox__chevron{transition:none}}@media(max-width:560px){.device-combobox__popover{position:relative;top:auto;right:auto;left:auto;margin-top:6px}}.add-circuit{margin:12px 24px 18px}.empty-schedule{display:grid;place-items:center;min-height:200px;padding:30px;color:var(--muted);background:#ffffff80;border:1px dashed var(--gray-300);border-radius:10px;font-size:var(--text-sm);line-height:1.6;text-align:center}.error-toast{position:fixed;right:18px;bottom:18px;z-index:100;display:flex;align-items:center;gap:14px;padding:12px 14px;color:var(--warn-700);background:var(--gray-25);border:1px solid var(--warn-100);border-radius:8px;box-shadow:var(--shadow);font-size:var(--text-xs)}.error-toast button{padding:4px 7px;background:transparent;border:0;color:inherit;cursor:pointer;font-weight:700}.app-loading{display:grid;place-content:center;justify-items:center;gap:16px;width:100%;height:100%;color:var(--ink);background:var(--cream)}.app-loading strong{font-family:var(--font-sans);font-size:15px}.settings-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:clamp(12px,4vw,48px);background:#161a207a;animation:settings-backdrop-in .16s ease-out both}.settings-modal{display:flex;flex-direction:column;width:min(980px,100%);height:min(720px,calc(100vh - 48px));min-height:520px;overflow:hidden;color:var(--ink);background:var(--paper);border:1px solid var(--gray-300);border-radius:14px;box-shadow:0 30px 90px #161a204d;animation:settings-modal-in .18s cubic-bezier(.16,1,.3,1) both}.settings-modal__header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 28px 20px;background:var(--gray-0);border-bottom:1px solid var(--line)}.settings-modal__header h2{margin:4px 0;font-size:26px;letter-spacing:-.02em}.settings-modal__header p,.settings-modal__lede{max-width:620px;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.5}.settings-modal__body{display:grid;grid-template-columns:218px minmax(0,1fr);min-height:0;flex:1}.settings-modal__nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;padding:16px 12px;background:var(--gray-50);border-right:1px solid var(--line)}.settings-modal__nav-title{margin:5px 9px 7px;color:var(--muted);font-size:11px;font-weight:800}.settings-modal__nav-title--muted{margin-top:18px}.settings-nav-item{display:grid;grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:9px;width:100%;min-height:44px;padding:7px 9px;color:var(--ink);line-height:1.2;text-align:left;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;transition:background .12s ease-out,border-color .12s ease-out,color .12s ease-out}.settings-nav-item>svg{place-self:center}.settings-nav-item__copy{align-self:center;display:grid;gap:2px;min-width:0}.settings-nav-item:hover:not(.is-disabled){background:var(--gray-100)}.settings-nav-item.is-active{color:var(--blue-dark);background:var(--gray-100);border-color:var(--accent-200)}.settings-nav-item.is-disabled{color:var(--gray-400);cursor:default}.settings-nav-item strong{overflow:hidden;font-size:var(--text-sm);font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.settings-nav-item small{color:var(--muted);font-size:11px;line-height:1.25}.settings-nav-item.is-disabled small{color:var(--gray-400)}.settings-modal__content{min-width:0;overflow-y:auto;padding:30px 36px;background:var(--paper)}.settings-modal__content h3{margin:5px 0 7px;font-size:20px;letter-spacing:-.01em}.settings-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:26px}.settings-summary-grid>div{display:grid;gap:5px;min-width:0;padding:13px;background:var(--gray-50);border:1px solid var(--line);border-radius:8px}.settings-summary-grid span,.settings-field__hint{color:var(--muted);font-size:11px}.settings-summary-grid strong{overflow:hidden;font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap}.settings-callout{display:flex;align-items:flex-start;gap:10px;margin-top:24px;padding:13px 14px;color:var(--blue-dark);background:var(--gray-75);border:1px solid var(--gray-200);border-radius:8px}.settings-callout svg{flex:0 0 auto;margin-top:1px}.settings-callout p{margin:0;color:var(--accent-600);font-size:var(--text-xs);line-height:1.45}.settings-callout--subtle{color:var(--muted);background:var(--gray-50);border-color:var(--line)}.settings-callout--subtle p{color:var(--muted)}.settings-form-grid{display:grid;gap:0;margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.settings-form-grid--preferences,.settings-form-grid--project{margin-top:24px}.settings-field{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:54px;padding:8px 10px 8px 4px;background:transparent;border-bottom:1px solid var(--line);transition:background-color .12s ease-out}.settings-field:last-child{border-bottom:0}.settings-field:hover{background:var(--gray-50)}.settings-field--toggle{cursor:pointer}.settings-field--toggle .settings-field__label small{overflow:visible;white-space:normal}.settings-checkbox{width:16px;height:16px;margin:0 5px 0 0;accent-color:var(--blue);cursor:pointer}.settings-field__icon{display:grid;place-items:center;width:24px;height:24px;color:var(--blue-dark);opacity:.78}.settings-field__icon>svg{display:block;width:20px;height:20px}.settings-field__icon>img{display:block;width:20px;height:20px}.settings-field__label{display:grid;min-width:0;gap:2px}.settings-field__label strong{overflow:hidden;font-size:var(--text-sm);font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.settings-field__label small{overflow:hidden;color:var(--muted);font-size:11px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.settings-field__control{display:flex;align-items:center;width:122px;gap:7px}.settings-field__control--name{width:clamp(180px,30vw,300px)}.settings-field__control--name input{font-variant-numeric:normal}.settings-field__control input{width:100%;min-height:32px;padding:0 9px;color:var(--ink);font:inherit;font-size:var(--text-md);font-variant-numeric:tabular-nums;background:var(--gray-0);border:1px solid var(--gray-300);border-radius:6px}.settings-field__control input:focus{outline:2px solid rgb(42 82 224 / .2);border-color:var(--blue)}.settings-field__control>span{color:var(--muted);font-size:var(--text-sm);font-weight:700}.settings-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 28px;color:var(--muted);font-size:11px;background:var(--gray-0);border-top:1px solid var(--line)}.settings-modal__footer>div{display:flex;gap:8px}@keyframes settings-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes settings-modal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.settings-modal-backdrop{padding:10px}.settings-modal{width:100%;height:calc(100vh - 20px);min-height:0;border-radius:10px}.settings-modal__header{padding:18px 18px 15px}.settings-modal__body{grid-template-columns:148px minmax(0,1fr)}.settings-modal__nav{padding:13px 8px}.settings-nav-item{grid-template-columns:17px minmax(0,1fr);gap:7px;min-height:40px;padding:6px}.settings-nav-item>svg:last-child{display:none}.settings-nav-item small,.settings-modal__nav-title--muted,.settings-modal__nav-title~.settings-nav-item.is-disabled{display:none}.settings-modal__content{padding:22px 18px}.settings-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-form-grid{grid-template-columns:1fr;gap:0}.settings-field{grid-template-columns:22px minmax(0,1fr) auto;gap:8px;padding-inline:2px 6px}.settings-field__control{width:104px}.settings-field--name{grid-template-columns:22px minmax(0,1fr)}.settings-field__control--name{grid-column:2;width:100%;margin-bottom:4px}.settings-modal__footer{align-items:flex-end;flex-direction:column;gap:10px;padding:12px 18px}}@media(max-height:620px)and (min-width:721px){.settings-modal-backdrop{padding:12px;align-items:stretch}.settings-modal{height:calc(100vh - 24px);min-height:0}}@media(prefers-reduced-motion:reduce){.settings-modal-backdrop,.settings-modal{animation:none}}.sheet-manager-backdrop{display:grid;place-items:center;padding:28px}.sheet-manager{display:flex;flex-direction:column;width:min(1120px,calc(100vw - 56px));height:min(760px,calc(100% - 40px));min-width:min(720px,calc(100vw - 56px));min-height:min(480px,calc(100% - 40px));max-width:calc(100vw - 56px);max-height:calc(100% - 40px);overflow:auto;padding:0 26px;background:var(--cream);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 70px #161a204d;resize:both}.sheet-manager__header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 -26px;padding:22px 26px 18px;background:var(--paper);border-bottom:1px solid var(--line)}.sheet-manager__header h2{margin:5px 0 0;font-size:22px;line-height:1.2}.sheet-list{display:grid;gap:8px;margin:22px 0}.sheet-list article{display:grid;grid-template-columns:minmax(180px,1fr) minmax(170px,.8fr) auto auto auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--gray-0)}.sheet-list article.is-active{border-color:var(--blue);box-shadow:inset 3px 0 0 var(--blue)}.sheet-list__open{display:grid;gap:3px;padding:0;text-align:left;border:0;background:transparent;color:var(--ink);cursor:pointer}.sheet-list__open span,.pdf-page-card small,.sheet-import-heading p,.sheet-remap p{color:var(--muted);font-size:var(--text-xs)}.sheet-manager__actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;position:sticky;bottom:0;z-index:2;margin:auto -26px 0;padding:14px 26px;background:var(--paper);border-top:1px solid var(--line)}.pdf-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin:16px 0 24px}.pdf-page-card{display:grid;gap:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--gray-0)}.pdf-page-card.is-selected{border-color:var(--blue);box-shadow:0 0 0 2px #2a52e024}.pdf-page-preview{display:grid;gap:6px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer}.pdf-page-preview img{width:100%;height:160px;object-fit:contain;background:var(--gray-150);border:1px solid var(--line)}.sheet-remap{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:22px 0 26px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--gray-0)}.sheet-remap h3,.sheet-remap p{grid-column:1 / -1;margin:0}@media(max-width:1100px){.workspace{grid-template-columns:var(--tool-rail-width) minmax(0,1fr) var(--inspector-width)}}@media(max-width:800px){.workspace{grid-template-columns:var(--tool-rail-width) minmax(0,1fr)}.workspace.is-tool-rail-collapsed{--tool-rail-width: 58px}.inspector{position:absolute;top:0;right:0;bottom:0;width:min(var(--inspector-width),82vw);box-shadow:-8px 0 28px #161a2026;transform:translate(100%);transition:transform .18s cubic-bezier(.32,.72,0,1),opacity .15s ease-out}.inspector.is-open{transform:translate(0);visibility:visible;pointer-events:auto;opacity:1}.inspector-resize-handle{left:-5px;width:10px}.schedule-panel-selector{grid-template-columns:1fr;gap:8px;padding:9px 14px}.panel-tabs button{min-width:116px}.sheet-manager{width:calc(100vw - 20px);height:calc(100% - 20px);min-width:0;min-height:0;max-width:calc(100vw - 20px);max-height:calc(100% - 20px);padding:0 16px;border-radius:10px;resize:none}.sheet-manager-backdrop{padding:10px}.sheet-manager__header{margin:0 -16px;padding:18px 16px 15px}.sheet-manager__actions{margin-right:-16px;margin-left:-16px;padding:12px 16px}.sheet-list article{grid-template-columns:1fr auto auto auto}.sheet-list article>input{grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){.workspace:is(.is-rail-expanding,.is-rail-collapsing){animation:none;transition:none}.drawer-backdrop,.schedule-drawer{animation:none;transition:none}.device-plan-marker{transition:none}.inspector,.inspector-resize-handle:before,.property-section__trigger,.property-section__chevron,.property-section__panel,.symbol-source-control__option{animation:none;transition:none}}.circuit-inspection__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}.route-editor-panel{background:var(--gray-50)}.route-editor-panel .field-hint{margin:0;color:var(--muted);font-size:11px;line-height:1.45}.route-editor-list{display:grid;gap:5px;max-height:220px;overflow:auto;padding:2px}.route-editor-option{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;border:1px solid var(--gray-200);border-radius:7px;background:#fff;cursor:pointer}.route-editor-option:hover{border-color:var(--gray-400);background:var(--gray-25)}.route-editor-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:700}.route-editor-option small{color:var(--muted);font-size:var(--text-2xs);white-space:nowrap}.route-editor-status{padding:7px 9px;border-radius:6px;color:var(--todo-700);background:var(--todo-50);font-size:var(--text-2xs);font-weight:700}.route-editor-status.is-valid{color:var(--pass-700);background:var(--gray-100)}.route-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}@media(max-width:680px){.circuit-inspection__actions{width:100%;margin-left:0}.circuit-inspection__actions .button{flex:1}.route-editor-option small{display:none}}.circuit-route-editor-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 2px;border-top:1px solid var(--gray-150)}.circuit-route-editor-entry>div{display:grid;gap:3px}.circuit-route-editor-entry>.circuit-route-editor-entry__actions{display:flex}.circuit-route-editor-entry strong{font-size:var(--text-xs)}.route-editor-alert{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;color:var(--todo-700);background:var(--todo-50);border:1px solid var(--todo-100);border-radius:7px}.route-editor-alert svg{flex:none;margin-top:1px}.route-editor-alert div{display:grid;gap:2px}.route-editor-alert strong{font-size:11px}.route-editor-alert span{font-size:var(--text-2xs);line-height:1.4}.route-editor-panel{min-width:0;overflow-x:hidden;background:var(--gray-50)}.route-editor-search-wrap{position:relative;display:grid;gap:4px}.route-editor-search{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 9px;color:var(--muted);background:#fff;border:1px solid var(--gray-300);border-radius:6px}.route-editor-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #2a52e01f}.route-editor-search input{min-width:0;width:100%;border:0;outline:0;color:var(--ink);background:transparent;font:inherit;font-size:11px}.route-editor-search-results{display:grid;gap:3px;max-height:190px;overflow:auto;padding:4px;background:#fff;border:1px solid var(--gray-200);border-radius:7px;box-shadow:0 8px 20px #161a201f}.route-editor-candidate{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:7px;width:100%;padding:7px 8px;color:var(--ink);text-align:left;background:transparent;border:0;border-radius:5px;cursor:pointer}.route-editor-candidate:hover:not(:disabled),.route-editor-candidate:focus-visible:not(:disabled){background:var(--blue-soft);outline:0}.route-editor-candidate:disabled{color:var(--gray-400);cursor:not-allowed}.route-editor-candidate>span{display:grid;min-width:0;gap:2px}.route-editor-candidate strong,.route-editor-candidate small,.route-editor-candidate em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-editor-candidate strong{font-size:11px}.route-editor-candidate small,.route-editor-candidate em{color:var(--muted);font-size:var(--text-2xs);font-style:normal}.route-editor-candidate em{max-width:118px;text-align:right}.route-editor-count{color:var(--muted);font-size:var(--text-2xs);font-weight:700}.route-editor-list{display:grid;gap:4px;max-height:min(42vh,360px);overflow:auto;padding:1px 0}.route-editor-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:stretch;gap:7px;min-width:0;padding:6px 4px 6px 0;border-radius:6px}.route-editor-row.is-hovered{background:var(--gray-100)}.route-editor-row.is-removal-impact{background:var(--gray-50)}.route-editor-row__body{display:grid;min-width:0;gap:2px}.route-editor-row__top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.route-editor-row__top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.route-editor-row__top small,.route-editor-row__body>span,.route-editor-row__body>em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:var(--text-2xs)}.route-editor-row__body>em{font-style:normal;color:var(--blue-dark);font-weight:700}.route-editor-row__body>.route-editor-row__warning{color:var(--todo-700)}.route-editor-row__actions{display:flex;align-items:center;gap:2px}.route-editor-row__actions .icon-button{width:26px;height:26px}.route-editor-rail{position:relative;display:flex;justify-content:center;min-height:36px}.route-editor-rail:before{content:"";position:absolute;top:0;bottom:0;width:2px;background:var(--gray-300)}.route-editor-rail i{position:relative;z-index:1;width:9px;height:9px;margin-top:8px;background:var(--green);border:2px solid var(--gray-50);border-radius:50%}.route-editor-rail b{position:absolute;top:12px;right:0;width:8px;height:8px;border-bottom:2px solid var(--gray-300);border-left:2px solid var(--gray-300);border-radius:0 0 0 4px}.route-editor-row.is-disconnected .route-editor-rail:before,.route-editor-row.is-disconnected .route-editor-rail b{border-color:var(--todo-500);background:var(--todo-500)}.route-editor-row.is-disconnected .route-editor-rail i{background:var(--todo-500)}.route-editor-exit,.route-editor-removal{display:grid;gap:6px;padding:10px;color:var(--todo-700);background:var(--todo-50);border:1px solid var(--todo-100);border-radius:7px}.route-editor-exit span,.route-editor-removal span{font-size:var(--text-2xs);line-height:1.4}.route-editor-exit>div,.route-editor-removal>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.route-editor-removal{color:var(--warn-700);background:var(--gray-50);border-color:var(--todo-100)}.route-editor-actions{align-items:center}.route-editor-actions .button{display:inline-flex;align-items:center;gap:5px}.raceway.is-route-hovered .raceway-line{stroke:var(--blue);stroke-width:3.6;opacity:1}.raceway.is-route-removal-impact .raceway-line{stroke:var(--warn-600);stroke-width:3.8;opacity:1}.route-editor-raceway-hover{fill:none;stroke:#2a52e03d;stroke-width:13;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.route-editor-raceway-removal{fill:none;stroke:#bf2c2c61;stroke-width:14;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}@media(max-width:680px){.route-editor-row__top small{display:none}.route-editor-candidate em{max-width:92px}.route-editor-actions{justify-content:stretch}.route-editor-actions .button{flex:1 1 auto;justify-content:center}}*,*:before,*:after{box-sizing:border-box}:root{color:var(--text);background:var(--bg-app);font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.45;font-feature-settings:"cv11","ss01";font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--bg-app)}button,input,select,textarea{font:inherit;letter-spacing:inherit}button{color:inherit}h1,h2,h3,h4{margin:0;letter-spacing:-.011em}p{margin:0}kbd{font-family:var(--font-sans)}:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}::selection{background:var(--accent-100)}.tabular{font-variant-numeric:tabular-nums}.eyebrow{display:block;margin:0;color:var(--text-muted);font-size:var(--text-2xs);font-weight:600;letter-spacing:.02em}.button,.icon-button,.tool-button{border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 12px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);font-size:var(--text-sm);font-weight:550;line-height:1;text-decoration:none;white-space:nowrap;transition:background-color var(--dur-fast) ease,border-color var(--dur-fast) ease,color var(--dur-fast) ease,box-shadow var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.button svg{flex:none}.button:hover{background:var(--surface-hover);border-color:var(--gray-300)}.button:active:not(:disabled){transform:scale(.98)}.button--primary{color:#fff;background:var(--accent-600);border-color:var(--accent-700);box-shadow:inset 0 1px #ffffff24,0 1px 2px #2142b84d}.button--primary:hover{background:var(--accent-700);border-color:var(--accent-800)}.button--dark{color:#fff;background:var(--gray-900);border-color:var(--gray-900)}.button--dark:hover{background:var(--gray-800);border-color:var(--gray-800)}.button--ghost{background:transparent;border-color:transparent;box-shadow:none}.button--ghost:hover{background:var(--surface-hover);border-color:transparent}.button--danger{color:#fff;background:var(--warn-600);border-color:var(--warn-700);box-shadow:0 1px 2px #9a232340}.button--danger:hover{background:var(--warn-700);border-color:var(--warn-700)}.button--compact{min-height:28px;padding:0 9px;font-size:var(--text-xs);border-radius:var(--radius-sm)}.button--large{min-height:42px;padding:0 18px;font-size:var(--text-md);border-radius:var(--radius-md)}.button:disabled,.tool-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:.4;transform:none}.icon-button{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;padding:0;color:var(--text-secondary);background:transparent;border-radius:var(--radius-sm);transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.icon-button:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.icon-button:active:not(:disabled){background:var(--surface-pressed);transform:scale(.94)}.icon-button--danger:hover:not(:disabled){color:var(--warn-600);background:var(--warn-50)}.text-button,.button-link{padding:2px 0;color:var(--accent-600);background:transparent;border:0;cursor:pointer;font-size:var(--text-xs);font-weight:600;text-decoration:none}.text-button:hover,.button-link:hover{color:var(--accent-700);text-decoration:underline;text-underline-offset:3px}.kbd,.tool-button kbd,.menu kbd,.project-menu__popover kbd{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;color:var(--text-muted);background:var(--gray-50);border:1px solid var(--border);border-bottom-width:2px;border-radius:var(--radius-xs);font-size:10px;font-weight:600;line-height:1}.field{display:grid;gap:6px;min-width:0}.field>span{color:var(--text-secondary);font-size:var(--text-xs);font-weight:550}.field input,.field select,.input{width:100%;min-height:34px;padding:0 10px;color:var(--text);background:var(--surface);border:1px solid var(--border-input);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);font-size:var(--text-sm);transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}select{cursor:pointer}.field select,select.input,.circuit-grid select,.circuit-endpoint,.sheet-remap select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7482' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;background-size:15px}.field input:hover,.field select:hover,.input:hover{border-color:var(--gray-300)}.field input:focus,.field select:focus,.input:focus{border-color:var(--accent-500);box-shadow:var(--focus-ring);outline:none}.field input:disabled,.field select:disabled{color:var(--text-muted);background:var(--surface-sunken);cursor:not-allowed}input[type=number]{font-variant-numeric:tabular-nums}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent-600)}.field-error,.form-error{margin:0;color:var(--warn-600);font-size:var(--text-xs);font-weight:550;line-height:1.45}.field-label-with-warning{display:inline-flex;align-items:center;gap:4px;width:fit-content}.field-warning-icon{flex:none;color:var(--todo-500);cursor:help}.status-dot{flex:none;width:8px;height:8px;background:var(--todo-500);border-radius:50%;box-shadow:0 0 0 3px #e08a0b24}.status-dot--pass{background:var(--pass-500);box-shadow:0 0 0 3px #1f9d5524}.status-dot--warning,.status-dot--error{background:var(--warn-500);box-shadow:0 0 0 3px #d93a3a24}.status-pill{display:inline-flex;align-items:center;gap:5px;width:fit-content;height:22px;padding:0 8px;color:var(--todo-700);background:var(--todo-50);border:1px solid var(--todo-100);border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:600;line-height:1;text-transform:capitalize;white-space:nowrap}.status-pill:before{width:6px;height:6px;background:currentColor;border-radius:50%;content:"";opacity:.85}.status-pill--pass{color:var(--pass-700);background:var(--pass-50);border-color:var(--pass-100)}.status-pill--warning{color:var(--warn-700);background:var(--warn-50);border-color:var(--warn-100)}.count-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;color:var(--text-secondary);background:var(--gray-100);border-radius:var(--radius-full);font-size:10.5px;font-variant-numeric:tabular-nums;font-weight:650;line-height:1}.menu,.project-menu__popover,.getting-started__menu-popover,.canvas-context-menu{display:grid;gap:1px;min-width:180px;padding:5px;color:var(--text);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transform-origin:top right;animation:pop-in var(--dur-base) var(--ease-out) both}.menu>button,.menu>a,.project-menu__popover>button,.project-menu__popover>a,.getting-started__menu-popover button,.canvas-context-menu button{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:34px;padding:0 8px 0 9px;color:var(--text);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:500;text-align:left;text-decoration:none;white-space:nowrap}.menu>button svg,.menu>a svg,.project-menu__popover>button svg,.project-menu__popover>a svg,.getting-started__menu-popover button svg{color:var(--text-muted)}.menu>button:hover,.menu>button:focus-visible,.menu>a:hover,.menu>a:focus-visible,.project-menu__popover>button:hover,.project-menu__popover>button:focus-visible,.project-menu__popover>a:hover,.project-menu__popover>a:focus-visible,.getting-started__menu-popover button:hover,.getting-started__menu-popover button:focus-visible,.canvas-context-menu button:hover,.canvas-context-menu button:focus-visible{background:var(--surface-hover);outline:none}.menu>button:hover svg,.project-menu__popover>button:hover svg,.project-menu__popover>a:hover svg{color:var(--text)}.menu>button:disabled,.project-menu__popover>button:disabled{cursor:not-allowed;opacity:.45}.menu__label,.project-menu__label{padding:8px 9px 4px;color:var(--text-muted);font-size:var(--text-2xs);font-weight:600}.menu__divider,.project-menu__divider{height:1px;margin:4px 6px;background:var(--border)}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}}@keyframes pop-up{0%{opacity:0;transform:translateY(4px) scale(.97)}}@keyframes fade-in{0%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}.tooltip{position:fixed;z-index:200;display:inline-flex;align-items:center;gap:8px;max-width:280px;padding:5px 8px;color:#fff;background:var(--gray-900);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);font-size:var(--text-xs);font-weight:550;line-height:1.25;pointer-events:none;white-space:nowrap;animation:tooltip-in .14s var(--ease-out) both}.tooltip--bottom{transform:translate(-50%);--tip-from: translate(-50%, -3px)}.tooltip--top{transform:translate(-50%,-100%);--tip-from: translate(-50%, calc(-100% + 3px) )}.tooltip--right{transform:translateY(-50%);--tip-from: translate(-3px, -50%)}.tooltip__keys{display:inline-flex;gap:3px}.tooltip kbd{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;color:#ffffffd1;background:#ffffff1f;border-radius:3px;font-size:10.5px;font-weight:600}@keyframes tooltip-in{0%{opacity:0;transform:var(--tip-from)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.app-shell{grid-template-rows:var(--topbar-height) minmax(0,1fr);background:var(--bg-app)}.workspace{--tool-rail-width: var(--rail-expanded);background:var(--bg-canvas)}.workspace.is-tool-rail-collapsed{--tool-rail-width: var(--rail-collapsed)}.workspace:is(.is-rail-expanding,.is-rail-collapsing){transition:grid-template-columns .2s var(--ease-in-out)}.tool-rail{position:relative;z-index:20;display:flex;flex-direction:column;min-width:0;padding:8px;background:var(--surface);border-right:1px solid var(--border);overflow-x:clip}.tool-rail__content{display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-height:0;overflow-x:clip;overflow-y:auto;scrollbar-width:none}.tool-group{display:grid;gap:2px;padding-bottom:6px}.tool-group+.tool-group{padding-top:6px;border-top:1px solid var(--border)}.tool-group__label{overflow:hidden;height:22px;padding:5px 10px 0;color:var(--text-faint);font-size:var(--text-2xs);font-weight:600;white-space:nowrap;transition:opacity var(--dur-fast) ease}.tool-button{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:36px;padding:0 8px 0 10px;color:var(--text-secondary);background:transparent;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;text-align:left;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.tool-button>svg{justify-self:center}.tool-button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-button:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.tool-button:active:not(:disabled){transform:scale(.97)}.tool-button.is-active{--icon-inverse: var(--accent-50);color:var(--accent-700);background:var(--accent-50);box-shadow:inset 0 0 0 1px var(--accent-100);font-weight:600}.tool-button.is-active:before{position:absolute;top:9px;bottom:9px;left:-8px;width:3px;background:var(--accent-500);border-radius:0 3px 3px 0;content:"";animation:fade-in var(--dur-base) var(--ease-out)}.tool-button kbd{opacity:.85}.tool-button.is-active kbd{color:var(--accent-600);background:var(--surface);border-color:var(--accent-100)}.tool-rail__toggle{flex:none;margin-top:6px;color:var(--text-muted)}.workspace:is(.is-rail-expanding,.is-rail-collapsing) .tool-button>span,.workspace:is(.is-rail-expanding,.is-rail-collapsing) .tool-button>kbd,.workspace:is(.is-rail-expanding,.is-rail-collapsing) .tool-group__label{transition:opacity .12s ease,transform .2s var(--ease-out)}.workspace.is-tool-rail-collapsed .tool-rail{padding-inline:8px}.workspace.is-tool-rail-collapsed .tool-button{grid-template-columns:1fr;justify-items:center;padding:0}.workspace.is-tool-rail-collapsed .tool-button>span,.workspace.is-tool-rail-collapsed .tool-button>kbd{position:absolute;width:0;overflow:hidden;opacity:0;transform:translate(-4px);pointer-events:none}.workspace.is-tool-rail-collapsed .tool-group__label{height:0;padding:0;opacity:0}.workspace.is-tool-rail-collapsed .tool-group+.tool-group{padding-top:6px}.app-loading{display:grid;place-content:center;justify-items:center;gap:14px;width:100%;height:100%;color:var(--text-secondary);background:var(--bg-app);font-size:var(--text-sm)}.app-loading strong{font-weight:550}.app-loading__mark{animation:loading-breathe 1.4s var(--ease-in-out) infinite alternate}.app-loading__bar{position:relative;width:120px;height:3px;overflow:hidden;background:var(--gray-150);border-radius:var(--radius-full)}.app-loading__bar:after{position:absolute;top:0;right:0;bottom:0;left:0;width:40%;background:var(--accent-500);border-radius:inherit;content:"";animation:loading-slide 1.1s var(--ease-in-out) infinite}@keyframes loading-breathe{to{transform:scale(.94);opacity:.8}}@keyframes loading-slide{0%{transform:translate(-100%)}to{transform:translate(260%)}}.error-toast{position:fixed;bottom:20px;left:50%;z-index:140;display:flex;align-items:center;gap:12px;width:max-content;max-width:min(560px,calc(100vw - 24px));padding:10px 10px 10px 12px;color:#fff;background:var(--gray-900);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);font-size:var(--text-sm);line-height:1.4;transform:translate(-50%);animation:toast-in var(--dur-slow) var(--ease-spring) both}.error-toast__icon{display:grid;place-items:center;flex:none;width:22px;height:22px;color:var(--gray-900);background:var(--spark-400);border-radius:50%;font-size:13px;font-weight:800}.error-toast button{flex:none;height:28px;padding:0 10px;color:#fff;background:#ffffff1a;border:0;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);font-weight:600}.error-toast button:hover{background:#ffffff2e}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px) scale(.96)}}@media(max-width:800px){.workspace.is-tool-rail-collapsed{--tool-rail-width: var(--rail-collapsed)}}.plan-viewport{position:relative;min-width:0;min-height:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;background-color:var(--bg-canvas);background-image:radial-gradient(circle at 1px 1px,rgb(22 26 32 / .11) 1px,transparent 1.4px);background-size:20px 20px}.page-surface{position:absolute;top:0;left:0;transform-origin:0 0;background:#fff;box-shadow:0 0 0 1px #161a2012,0 2px 6px #161a200d,0 18px 48px #161a201f}.canvas-hud{position:absolute;top:12px;left:50%;z-index:12;display:flex;align-items:center;gap:10px;max-width:calc(100% - 24px);min-height:44px;padding:6px 6px 6px 7px;color:var(--text);background:#fffffff5;border-radius:var(--radius-lg);box-shadow:var(--shadow-float);transform:translate(-50%);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:hud-in .22s var(--ease-out) both}@keyframes hud-in{0%{opacity:0;transform:translate(-50%,-6px)}}.canvas-hud__icon{display:grid;place-items:center;flex:none;width:30px;height:30px;color:var(--accent-600);background:var(--accent-50);border-radius:var(--radius-md)}.canvas-hud__icon--done{color:var(--pass-600);background:var(--pass-50)}.canvas-hud__icon--live{color:#fff;background:var(--accent-600)}.canvas-hud__text{display:flex;align-items:baseline;gap:8px;min-width:0;padding-right:4px;font-size:var(--text-sm);white-space:nowrap}.canvas-hud__text strong{flex:none;font-weight:600}.canvas-hud__text span{min-width:0;overflow:hidden;color:var(--text-secondary);text-overflow:ellipsis}.canvas-hud__actions{display:flex;align-items:center;gap:4px;padding-left:6px;border-left:1px solid var(--border)}.canvas-hud__esc{display:grid;place-items:center;flex:none;height:30px;padding:0 6px;background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}button.canvas-hud__esc:hover{background:var(--surface-hover)}.canvas-message,.canvas-notice{position:absolute;top:66px;left:50%;z-index:13;display:flex;align-items:center;gap:8px;padding:8px 12px;color:var(--text);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-float);font-size:var(--text-sm);transform:translate(-50%);white-space:nowrap;animation:hud-in .22s var(--ease-out) both}.canvas-message{top:12px}.canvas-message--error,.canvas-notice{color:#fff;background:var(--gray-900)}.calibration-dialog{position:absolute;top:50%;left:50%;z-index:16;display:grid;gap:14px;width:min(380px,calc(100% - 32px));padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);transform:translate(-50%,-50%);animation:dialog-center-in .22s var(--ease-out) both}@keyframes dialog-center-in{0%{opacity:0;transform:translate(-50%,-48%) scale(.97)}}.calibration-dialog__heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px}.calibration-dialog__icon{display:grid;place-items:center;width:36px;height:36px;color:var(--accent-600);background:var(--accent-50);border-radius:var(--radius-md)}.calibration-dialog__heading h2{font-size:var(--text-lg);font-weight:650}.calibration-dialog__heading p,.calibration-dialog__hint{margin-top:3px;color:var(--text-secondary);font-size:var(--text-xs);line-height:1.45}.calibration-dialog .field input{min-height:40px;font-size:var(--text-md)}.calibration-dialog__actions{display:flex;justify-content:flex-end;gap:8px}.canvas-context-menu{position:fixed;z-index:80;min-width:190px;transform-origin:top left}.canvas-context-menu button{grid-template-columns:minmax(0,1fr)}.canvas-context-menu__title{padding:7px 9px 5px;overflow:hidden;color:var(--text-muted);font-size:var(--text-2xs);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.canvas-context-menu .canvas-context-menu__danger{color:var(--warn-600)}.canvas-context-menu .canvas-context-menu__danger:hover{background:var(--warn-50)}.canvas-status{position:absolute;right:12px;bottom:12px;z-index:14;display:flex;align-items:center;gap:2px;padding:3px;background:#fffffff5;border-radius:var(--radius-lg);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.canvas-status__group{display:flex;align-items:center;gap:1px}.canvas-status__divider{width:1px;height:18px;margin:0 3px;background:var(--border)}.canvas-status__button{display:grid;place-items:center;width:30px;height:30px;padding:0;color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer;transition:color var(--dur-fast) ease,background-color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.canvas-status__button:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.canvas-status__button:active:not(:disabled){transform:scale(.92)}.canvas-status__button:disabled{cursor:default;opacity:.35}.canvas-zoom{position:relative}.canvas-zoom__trigger{min-width:52px;height:30px;padding:0 6px;color:var(--text);background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-xs);font-weight:600;transition:background-color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.canvas-zoom__trigger:hover,.canvas-zoom__trigger[aria-expanded=true]{background:var(--surface-hover)}.canvas-zoom__trigger:active{transform:scale(.96)}.canvas-zoom__popover{position:absolute;right:-34px;bottom:calc(100% + 10px);z-index:80;display:grid;gap:10px;width:220px;padding:12px;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);transform-origin:bottom right;animation:pop-up var(--dur-base) var(--ease-out) both}.canvas-zoom__popover input[type=range]{width:100%;margin:0;cursor:pointer}.canvas-zoom__presets{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.canvas-zoom__presets button{height:28px;padding:0;color:var(--text-secondary);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-2xs);font-variant-numeric:tabular-nums;font-weight:600}.canvas-zoom__presets button:hover{color:var(--text);background:var(--surface-hover)}.canvas-zoom__presets button.is-active{color:var(--accent-700);background:var(--accent-50);border-color:var(--accent-200)}.onboarding-card{position:absolute;top:50%;left:50%;z-index:6;display:grid;justify-items:center;gap:10px;width:min(420px,calc(100% - 48px));padding:26px 28px 22px;text-align:center;background:#fffffff7;border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);transform:translate(-50%,-50%);pointer-events:none;animation:dialog-center-in .32s var(--ease-out) both}.onboarding-card button{pointer-events:auto}.onboarding-card__art{margin-bottom:6px}.onboarding-card__art svg{display:block}.onboarding-card__run{fill:none;stroke:var(--markup-raceway);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:220;stroke-dashoffset:220;animation:draw-run 1.2s .2s var(--ease-out) forwards}.onboarding-card__run--branch{animation-delay:.65s}@keyframes draw-run{to{stroke-dashoffset:0}}.onboarding-card h2{font-size:var(--text-xl);font-weight:650;letter-spacing:-.02em}.onboarding-card p{max-width:340px;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.onboarding-card__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}.onboarding-card__actions .kbd{margin-left:2px}.onboarding-card__demo{margin-top:2px}@keyframes ring-in{0%{opacity:0;transform:scale(.7)}}@media(min-width:1200px){.workspace:has(.getting-started) .onboarding-card{left:calc(50% - 150px)}.workspace:has(.getting-started) .canvas-hud{left:calc(50% - 156px);max-width:calc(100% - 360px)}}@media(max-width:900px){.tool-hint .canvas-hud__text span,.draft-actions .canvas-hud__text span,.scale-actions .canvas-hud__text strong{display:none}}@media(max-width:640px){.canvas-hud{top:8px;min-height:40px}.canvas-hud__actions .button{padding:0 7px}.canvas-status{right:8px;bottom:8px}.canvas-status>.canvas-status__group:first-child,.canvas-status__divider{display:none}.canvas-zoom__popover{right:-3px}.onboarding-card{padding:20px 18px 18px}.onboarding-card__art svg{width:180px;height:auto}}.validation-summary{position:absolute;bottom:58px;left:calc(var(--tool-rail-width) + 14px);z-index:15;width:min(360px,calc(100% - var(--tool-rail-width) - var(--inspector-width) - 230px));min-width:272px;overflow:hidden;background:#fffffff7;border:0;border-radius:var(--radius-lg);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:float-up .26s var(--ease-out) both}@keyframes float-up{0%{opacity:0;transform:translateY(8px)}}.workspace:is(.is-rail-expanding,.is-rail-collapsing) .validation-summary{transition:left .2s var(--ease-in-out)}.validation-summary__headline{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;padding:8px 8px 8px 10px}.validation-summary__icon{display:grid;place-items:center;width:32px;height:32px;color:var(--warn-600);background:var(--warn-50);border-radius:var(--radius-md)}.validation-summary.is-todo .validation-summary__icon{color:var(--todo-600);background:var(--todo-50)}.validation-summary--ready .validation-summary__icon{color:var(--pass-600);background:var(--pass-50)}.validation-summary__headline-copy{display:grid;gap:1px;min-width:0}.validation-summary__headline-copy strong{font-size:var(--text-sm);font-weight:650}.validation-summary__headline-copy>span{color:var(--text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.validation-summary__actions{display:flex;align-items:center;gap:2px}.validation-summary__view-issues{gap:4px;white-space:nowrap}.validation-summary__view-issues svg{color:var(--text-muted)}.validation-summary__close{width:28px;height:28px}.validation-summary__preference{display:flex;align-items:flex-start;gap:8px;margin:0;padding:8px 12px 10px 52px;border-top:1px solid var(--border);cursor:pointer;animation:list-reveal .2s var(--ease-out) both}.validation-summary__preference input{flex:none;width:14px;height:14px;margin:2px 0 0}.validation-summary__preference-copy{display:grid;gap:1px;font-size:var(--text-xs)}.validation-summary__preference-copy span{color:var(--text-secondary)}.validation-summary__preference-copy small{color:var(--text-muted);font-size:var(--text-2xs)}@keyframes list-reveal{0%{opacity:0;transform:translateY(-4px)}}.getting-started,.help-chip{position:absolute;top:12px;right:calc(var(--inspector-width) + 12px);z-index:24}.getting-started-enter{animation:getting-started-enter .26s var(--ease-out) both}@keyframes getting-started-enter{0%{opacity:0;transform:translateY(-6px) scale(.98)}}.help-chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 10px 0 8px;color:var(--text);background:#fffffff7;border:0;border-radius:var(--radius-full);box-shadow:var(--shadow-float);cursor:pointer;font-size:var(--text-sm);font-weight:600;transform-origin:top right;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) ease}.help-chip:hover{box-shadow:var(--shadow-lg)}.help-chip:active{transform:scale(.97)}.help-chip__ring{width:20px;height:20px;background:radial-gradient(closest-side,white 66%,transparent 68% 100%),conic-gradient(var(--accent-500) var(--progress, 0%),var(--gray-150) 0);border-radius:50%}.help-chip__count{color:var(--text-muted);font-size:var(--text-xs);font-weight:600}.getting-started{display:grid;gap:10px;width:min(300px,calc(100vw - 32px));padding:14px 12px 12px;background:#fffffffa;border-radius:var(--radius-lg);box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform-origin:top right}.getting-started__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-left:4px}.getting-started__header>div:first-child{display:grid;gap:1px}.getting-started__header strong{font-size:var(--text-md);font-weight:650}.getting-started__header span{color:var(--text-muted);font-size:var(--text-xs)}.getting-started__header-actions{display:flex;gap:2px;margin:-6px -4px 0 0}.getting-started__header-actions .icon-button{width:28px;height:28px}.getting-started__menu{position:relative}.getting-started__menu-popover{position:absolute;top:calc(100% + 4px);right:0;z-index:2;min-width:190px}.getting-started__progress{height:4px;margin:0 4px;overflow:hidden;background:var(--gray-100);border-radius:var(--radius-full)}.getting-started__progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent-500),var(--accent-400));border-radius:inherit;transition:width .42s var(--ease-out)}.getting-started__steps{display:grid;gap:1px;margin:0;padding:0;list-style:none;counter-reset:none}.getting-started__steps li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;column-gap:10px;min-height:32px;padding:2px 2px 2px 6px;color:var(--text);border-radius:var(--radius-md);font-size:var(--text-sm);transition:background-color var(--dur-fast) ease}.getting-started__steps li:hover{background:var(--surface-hover)}.getting-started__marker{display:grid;place-items:center;width:20px;height:20px;color:var(--text-muted);border:1.5px solid var(--gray-200);border-radius:50%;font-size:10.5px;font-variant-numeric:tabular-nums;font-weight:650}.getting-started__steps li.is-complete{min-height:26px;color:var(--text-muted);font-size:var(--text-xs)}.getting-started__steps li.is-complete .getting-started__marker{width:16px;height:16px;justify-self:center}.getting-started__steps li.is-complete .getting-started__label{text-decoration:line-through;text-decoration-color:var(--gray-300)}.getting-started__steps li.is-complete .getting-started__marker{color:#fff;background:var(--pass-500);border-color:var(--pass-500);animation:ring-in .26s var(--ease-spring) both}.getting-started__steps li.is-next{padding-top:7px;padding-bottom:8px;background:var(--accent-25);box-shadow:inset 0 0 0 1px var(--accent-100)}.getting-started__steps li.is-next .getting-started__marker{color:#fff;background:var(--accent-600);border-color:var(--accent-600)}.getting-started__steps li.is-next .getting-started__label{font-weight:600}.getting-started__hint{grid-column:2 / -1;margin-top:1px;padding-right:8px;color:var(--text-secondary);font-size:var(--text-xs);line-height:1.45}.getting-started__show{display:grid;place-items:center;width:28px;height:28px;padding:0;color:var(--text-faint);background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:opacity var(--dur-fast) ease,color var(--dur-fast) ease,background-color var(--dur-fast) ease}.getting-started__steps li:hover .getting-started__show,.getting-started__steps li.is-next .getting-started__show,.getting-started__show:focus-visible{opacity:1}.getting-started__show:hover{color:var(--accent-600);background:var(--accent-50)}@media(hover:none){.getting-started__show{opacity:1}}.getting-started__actions{display:flex;gap:6px;padding:2px 2px 0}.guided-tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none}.control-hint{animation:fade-in .18s var(--ease-out) both}.guided-tour__spotlight{position:fixed;max-width:calc(100vw - 12px);max-height:calc(100vh - 12px);border-radius:var(--radius-lg);outline:2px solid var(--accent-500);outline-offset:0;box-shadow:0 0 0 200vmax #161a2057;pointer-events:none;transition:top .28s var(--ease-out),left .28s var(--ease-out),width .28s var(--ease-out),height .28s var(--ease-out)}.guided-tour__card{position:fixed;display:grid;gap:8px;width:min(320px,calc(100vw - 32px));padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);pointer-events:auto;animation:pop-in var(--dur-base) var(--ease-out) both}.guided-tour__card.is-locating{visibility:hidden}.guided-tour__card .eyebrow{color:var(--accent-600)}.guided-tour__card h2{font-size:var(--text-lg);font-weight:650}.guided-tour__card p{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.guided-tour__missing{padding:8px 10px;color:var(--todo-700)!important;background:var(--todo-50);border-radius:var(--radius-md);font-size:var(--text-xs)!important}.guided-tour__progress{display:flex;gap:4px;margin:2px 0 4px}.guided-tour__progress span{flex:1;height:3px;background:var(--gray-150);border-radius:var(--radius-full);transition:background-color var(--dur-base) ease}.guided-tour__progress span.is-done{background:var(--accent-500)}.guided-tour__actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:4px}.guided-tour__actions>:first-child{margin-right:auto}@media(max-width:800px){.getting-started,.help-chip{right:12px}.workspace:has(.inspector.is-open) .help-chip,.workspace:has(.inspector.is-open) .getting-started{display:none}.validation-summary{width:min(340px,calc(100% - var(--tool-rail-width) - 140px))}}@media(max-width:640px){.validation-summary{bottom:100px;left:calc(var(--tool-rail-width) + 8px);right:8px;width:auto;min-width:0}.validation-summary__preference{padding-left:12px}.getting-started{top:8px;right:8px;width:min(300px,calc(100vw - var(--tool-rail-width) - 16px));max-height:calc(100% - 140px);overflow-y:auto}.help-chip{top:8px;right:8px}}.inspector .panel-heading{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:60px;padding:12px 12px 12px 16px;background:#fffffff0;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel-heading__icon{display:grid;place-items:center;width:34px;height:34px;color:var(--text-secondary);background:var(--gray-75);border-radius:var(--radius-md)}.panel-heading__icon--panel{--icon-inverse: var(--gray-100);color:var(--markup-panel);background:var(--gray-100)}.panel-heading__icon--junction,.panel-heading__icon--raceway,.panel-heading__icon--circuit{color:var(--accent-600);background:var(--accent-50)}.panel-heading__icon--device{color:var(--markup-endpoint);background:var(--todo-50)}.panel-heading__copy{display:grid;gap:1px;min-width:0}.inspector .panel-heading .eyebrow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspector .panel-heading h2{margin:0;overflow:hidden;font-size:var(--text-lg);font-weight:650;letter-spacing:-.015em;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.inspector-empty{display:grid;gap:4px;padding:16px 16px 24px;animation:inspector-swap .2s var(--ease-out) both}@keyframes inspector-swap{0%{opacity:0;transform:translateY(4px)}}.inspector-empty__lead{padding:2px 2px 12px;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.inspector-empty__section{display:grid;gap:10px;padding:14px 0;border-top:1px solid var(--border)}.inspector-empty__section h3{overflow:hidden;font-size:var(--text-sm);font-weight:650;text-overflow:ellipsis;white-space:nowrap}.sheet-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}.sheet-stats div{display:grid;gap:1px;padding:8px 10px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md)}.sheet-stats dt{color:var(--text-muted);font-size:var(--text-2xs);font-weight:550}.sheet-stats dd{margin:0;font-size:var(--text-lg);font-weight:650;letter-spacing:-.02em}.sheet-stats .has-issues{background:var(--todo-50);border-color:var(--todo-100)}.sheet-stats .has-issues dd{color:var(--todo-700)}.inspector-tips{display:grid;gap:2px;margin:0;padding:0;list-style:none}.inspector-tips li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px;color:var(--text-secondary);font-size:var(--text-xs)}.inspector-tips li span:last-child{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);text-align:right}:where(.inspector) :where(input:not([type=checkbox]):not([type=radio]):not([type=range])),:where(.inspector) :where(select),.distance-input__control input{min-height:34px;padding:0 10px;color:var(--text);background-color:var(--surface);border:1px solid var(--border-input);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);font-size:var(--text-sm);transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}:where(.inspector) :where(input:not([type=checkbox]):not([type=radio]):not([type=range])):hover,:where(.inspector) :where(select):hover,.distance-input__control input:hover{border-color:var(--gray-300)}:where(.inspector) :where(input:not([type=checkbox]):not([type=radio]):not([type=range])):focus,:where(.inspector) :where(select):focus,.distance-input__control input:focus{border-color:var(--accent-500);box-shadow:var(--focus-ring);outline:none}:where(.inspector) :where(select){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7482' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;background-size:15px}.distance-input__unit{color:var(--text-muted);font-size:var(--text-xs)}.distance-input__label{color:var(--text-secondary);font-size:var(--text-xs);font-weight:550}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-heading-row h3{margin:0}.detail-grid>div:last-child:nth-child(odd){grid-column:span 2}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:#161a206b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .2s var(--ease-out) both}.modal{position:relative;display:grid;gap:18px;width:min(460px,100%);max-height:calc(100vh - 40px);padding:24px;overflow-y:auto;color:var(--text);background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl),0 0 0 1px #161a200f;animation:modal-in .28s var(--ease-spring) both}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.97)}}.modal-close{position:absolute;top:12px;right:12px;z-index:2}.modal h2{font-size:var(--text-2xl);font-weight:700;letter-spacing:-.025em;line-height:1.2}.modal .eyebrow{margin-bottom:6px;color:var(--accent-600)}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.modal__intro{display:grid;gap:8px;padding-right:28px}.modal-copy{margin:6px 0 0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.modal__intro .modal-copy{margin-top:0}.modal-icon{display:grid;place-items:center;width:40px;height:40px;color:var(--accent-600);background:var(--accent-50);border-radius:var(--radius-md)}.modal-icon--todo{color:var(--todo-600);background:var(--todo-50)}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.modal-actions--quiet{margin-top:-6px}.export-warning{display:flex;align-items:flex-start;gap:8px;margin:4px 0 0;padding:10px 12px;color:var(--todo-700);background:var(--todo-50);border:1px solid var(--todo-100);border-radius:var(--radius-md);font-size:var(--text-xs);line-height:1.5}.export-warning svg{flex:none;margin-top:1px}.field-stack{display:grid;gap:6px;color:var(--text-secondary);font-size:var(--text-xs);font-weight:550}.field-stack input{min-height:40px;padding:0 12px;color:var(--text);background:var(--surface);border:1px solid var(--border-input);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);font-size:var(--text-md)}.field-stack input:focus{border-color:var(--accent-500);box-shadow:var(--focus-ring);outline:none}.field-stack input:disabled{color:var(--text-muted);background:var(--surface-sunken)}.field-stack small{color:var(--text-muted);font-size:var(--text-2xs);font-weight:450;line-height:1.4}.welcome-modal{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:0;width:min(840px,100%);padding:0;overflow:hidden}.welcome-modal__hero{position:relative;display:grid;align-content:start;gap:14px;padding:32px 30px;overflow:hidden;color:#fff;background:radial-gradient(120% 80% at 0% 0%,rgb(95 134 255 / .32),transparent 60%),radial-gradient(90% 70% at 100% 100%,rgb(255 201 40 / .14),transparent 60%),var(--gray-900)}.welcome-modal__hero:after{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgb(255 255 255 / .05) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .05) 1px,transparent 1px);background-size:22px 22px;content:"";-webkit-mask-image:linear-gradient(160deg,black,transparent 75%);mask-image:linear-gradient(160deg,black,transparent 75%);pointer-events:none}.welcome-modal__hero>*{position:relative;z-index:1}.welcome-modal__hero .brand-mark rect{fill:#ffffff14}.welcome-modal__hero h2{margin-top:8px;font-size:28px;letter-spacing:-.03em;line-height:1.15}.welcome-modal__hero .modal-copy{margin:0;color:#ffffffb8}.welcome-modal__highlights{display:grid;gap:10px;margin:10px 0 0;padding:0;list-style:none}.welcome-modal__highlights li{position:relative;padding-left:26px;color:#ffffffe6;font-size:var(--text-sm);line-height:1.45}.welcome-modal__highlights li:before{position:absolute;top:1px;left:0;width:17px;height:17px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23161a20' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 11px no-repeat,var(--spark-400);border-radius:50%;content:""}.welcome-modal__choices{display:grid;align-content:center;gap:8px;padding:32px 28px 24px}.welcome-modal__choices-label{margin-bottom:4px;color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.welcome-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;min-height:68px;padding:12px 14px;color:var(--text);text-align:left;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--dur-fast) ease,background-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.welcome-choice:hover,.welcome-choice:focus-visible{border-color:var(--accent-300);box-shadow:0 0 0 3px #3b66f51a;outline:none}.welcome-choice:active{transform:scale(.99)}.welcome-choice--primary{background:var(--accent-25);border-color:var(--accent-200)}.welcome-choice__icon,.welcome-choice__art{display:grid;place-items:center;width:44px;height:44px;color:var(--text-secondary);background:var(--gray-75);border-radius:var(--radius-md)}.welcome-choice__art{width:64px;height:48px;background:#fff;box-shadow:inset 0 0 0 1px var(--accent-100)}.welcome-choice__copy{display:grid;gap:2px;min-width:0}.welcome-choice__copy strong{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--text-md);font-weight:650}.welcome-choice__copy strong em{padding:2px 7px;color:var(--accent-700);background:var(--accent-100);border-radius:var(--radius-full);font-size:var(--text-2xs);font-style:normal;font-weight:650}.welcome-choice__copy>span{color:var(--text-secondary);font-size:var(--text-xs);line-height:1.45}.welcome-choice__arrow{color:var(--text-faint);transition:transform var(--dur-fast) var(--ease-out),color var(--dur-fast) ease}.welcome-choice:hover .welcome-choice__arrow{color:var(--accent-600);transform:translate(3px)}.welcome-modal__privacy{display:flex;align-items:center;gap:7px;margin-top:10px;color:var(--text-muted);font-size:var(--text-xs)}.export-modal{width:min(600px,100%)}.export-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.export-option{display:grid;grid-template-rows:auto 1fr auto;gap:14px;padding:16px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-lg)}.export-option--pro{background:linear-gradient(180deg,var(--accent-25),white 70%);border-color:var(--accent-200);box-shadow:0 8px 24px #2a52e01a}.export-option__head{display:grid;gap:2px}.export-option__head strong{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-lg);font-weight:700}.export-option--pro .export-option__head strong svg{color:var(--spark-500)}.export-option__head span{color:var(--text-muted);font-size:var(--text-xs)}.export-policy-list{display:grid;align-content:start;gap:8px;margin:0;padding:0;list-style:none;color:var(--text);font-size:var(--text-sm)}.export-policy-list li{display:flex;align-items:flex-start;gap:8px;line-height:1.4}.export-policy-list svg{flex:none;margin-top:2px;color:var(--pass-600)}.export-policy-list li.is-limited{color:var(--text-secondary)}.export-policy-list li.is-limited svg{color:var(--text-faint)}.export-option .button{width:100%}.upgrade-modal{gap:18px;width:min(600px,100%);padding:28px}.upgrade-modal__header{padding-right:32px}.upgrade-modal__header h2{max-width:500px;font-size:26px}.upgrade-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0;padding:14px 16px;list-style:none;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-lg)}.upgrade-feature-list li{display:flex;align-items:flex-start;gap:8px;color:var(--text);font-size:var(--text-sm);line-height:1.4}.upgrade-feature-list svg{flex:none;margin-top:1px;color:var(--pass-600);stroke-width:2.6}.upgrade-modal__form{display:grid;gap:14px}.upgrade-current-plan{display:flex;gap:12px;padding:14px 16px;background:var(--pass-50);border:1px solid var(--pass-100);border-radius:var(--radius-lg)}.upgrade-current-plan svg{flex:none;color:var(--pass-600)}.upgrade-current-plan p{margin:4px 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.upgrade-modal__paid-actions{display:flex;gap:10px}.upgrade-modal__paid-actions .button{flex:1}.upgrade-plan-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;border:0}.upgrade-plan-picker legend{grid-column:1 / -1;margin-bottom:8px;padding:0;color:var(--text-secondary);font-size:var(--text-xs);font-weight:600}.upgrade-plan{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:84px;padding:14px 16px 14px 42px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease,background-color var(--dur-fast) ease}.upgrade-plan:hover{border-color:var(--accent-300)}.upgrade-plan.is-selected{background:var(--accent-25);border-color:var(--accent-500);box-shadow:0 0 0 3px #3b66f524}.upgrade-plan>input{position:absolute;left:16px;width:16px;height:16px;margin:0}.upgrade-plan__copy,.upgrade-plan__price{display:grid;gap:3px;min-width:0}.upgrade-plan__copy strong{font-size:var(--text-md);font-weight:650}.upgrade-plan__copy small,.upgrade-plan__price small{color:var(--text-muted);font-size:var(--text-2xs);font-weight:450;line-height:1.35}.upgrade-plan__title{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.upgrade-plan__title em{padding:2px 7px;color:var(--pass-700);background:var(--pass-100);border-radius:var(--radius-full);font-size:var(--text-2xs);font-style:normal;font-weight:700;white-space:nowrap}.upgrade-plan__price{text-align:right}.upgrade-plan__price strong{font-size:22px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em}.upgrade-modal__checkout{width:100%;min-height:44px;font-size:var(--text-md)}.upgrade-modal__secure{display:flex;align-items:center;justify-content:center;gap:6px;margin:-4px 0 0;color:var(--text-muted);font-size:var(--text-xs);text-align:center}.upgrade-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px;border-top:1px solid var(--border);font-size:var(--text-xs)}.upgrade-modal__footer{padding-top:14px}.upgrade-modal__footer a{color:var(--accent-600);font-weight:600;text-decoration:none}.upgrade-modal__footer a:hover{text-decoration:underline;text-underline-offset:3px}.upgrade-modal__footer .button-link{color:var(--text-secondary)}.replace-workspace-modal{grid-template-columns:auto minmax(0,1fr);align-items:start;column-gap:14px;width:min(500px,100%)}.replace-workspace-modal h2{font-size:var(--text-xl)}.replace-workspace-modal p{margin-top:6px;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.replace-workspace-modal .modal-actions{grid-column:1 / -1}.billing-modal:not(.upgrade-modal) h2{font-size:var(--text-xl)}.shortcuts-dialog{width:min(720px,100%)}.shortcuts-dialog h2{font-size:var(--text-xl)}.shortcuts-dialog__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px}.shortcuts-dialog__grid h3{margin-bottom:6px;color:var(--text-muted);font-size:var(--text-xs);font-weight:600}.shortcuts-dialog__grid dl{display:grid;margin:0}.shortcuts-dialog__grid dl>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px;border-bottom:1px solid var(--border)}.shortcuts-dialog__grid dt{font-size:var(--text-sm)}.shortcuts-dialog__grid dd{display:flex;align-items:center;gap:4px;margin:0}.shortcut-gesture{color:var(--text-muted);font-size:var(--text-xs)}.billing-page{display:grid;place-items:center;align-content:center;gap:16px;width:100%;min-height:100%;padding:24px;text-align:center;background:radial-gradient(60% 50% at 50% 0%,var(--accent-50),transparent 70%),var(--bg-app)}.billing-page h1{font-size:var(--text-3xl);font-weight:700;letter-spacing:-.03em}.billing-page p{max-width:520px;color:var(--text-secondary);font-size:var(--text-md);line-height:1.55}@media(max-width:760px){.welcome-modal{grid-template-columns:1fr;width:min(480px,100%)}.welcome-modal__hero{gap:10px;padding:24px 22px 22px}.welcome-modal__hero h2{font-size:22px}.welcome-modal__highlights{display:none}.welcome-modal__choices{padding:18px}.welcome-modal .modal-close{color:#fffc}.welcome-modal .modal-close:hover{color:#fff;background:#ffffff1f}}@media(max-width:560px){.modal-backdrop{align-items:end;padding:8px}.modal{max-height:calc(100vh - 16px);padding:20px 18px 18px;border-radius:var(--radius-xl)}.welcome-modal{padding:0}.upgrade-modal__header h2{font-size:22px}.upgrade-feature-list,.upgrade-plan-picker,.export-compare,.shortcuts-dialog__grid{grid-template-columns:1fr}.upgrade-plan{min-height:68px}.upgrade-modal__footer{flex-direction:column-reverse;align-items:flex-start}.welcome-choice__art{display:none}}.schedule-drawer{border-left:1px solid var(--border);box-shadow:-24px 0 60px #161a2029;animation:schedule-drawer-in .3s var(--ease-spring) both}@keyframes schedule-drawer-in{0%{transform:translate(36px);opacity:.4}}.schedule-header h2{font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em}.schedule-note{color:var(--text-secondary);background:var(--surface);border-bottom:1px solid var(--border);font-size:var(--text-xs)}.schedule-note svg{flex:none;color:var(--todo-500)}.panel-tabs button{border-color:var(--border-strong);border-radius:var(--radius-md);transition:border-color var(--dur-fast) ease,background-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.panel-tabs button:hover{border-color:var(--gray-300)}.panel-tabs button.is-active{color:var(--text);background:var(--accent-25);border-color:var(--accent-500);box-shadow:0 0 0 3px #3b66f51f}.panel-tabs button.is-active strong{color:var(--accent-800)}.panel-tabs button.is-active span{color:var(--text-muted)}.circuit-search{height:34px;border-color:var(--border-input);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.circuit-search:focus-within{border-color:var(--accent-500);box-shadow:var(--focus-ring)}.circuit-search input:focus{outline:none}.circuit-filters{gap:2px;padding:3px;background:var(--gray-100);border-radius:var(--radius-md)}.circuit-filters button{height:28px;color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-sm);white-space:nowrap}.circuit-filters button:hover{color:var(--text)}.circuit-filters button.is-active{color:var(--text);background:var(--surface);border:0;box-shadow:var(--shadow-sm);font-weight:600}.circuit-filters button.is-active .circuit-filter-count{color:var(--accent-700);background:var(--accent-50)}.circuit-card{border-color:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.circuit-card:hover{border-color:var(--border-strong)}.circuit-card.is-expanded{border-color:var(--accent-200);box-shadow:var(--shadow-sm)}.circuit-card.is-focused{border-color:var(--accent-500);box-shadow:0 0 0 3px #3b66f524,var(--shadow-sm)}.circuit-grid{animation:list-reveal .22s var(--ease-out) both}.button.add-circuit{min-height:40px}.sheet-manager{border:0;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl),0 0 0 1px #161a200f;animation:modal-in .28s var(--ease-spring) both}.sheet-manager--compact{width:min(760px,calc(100vw - 56px));height:auto;min-width:0;min-height:0;resize:none}.sheet-manager__header h2{font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em}.sheet-list article{border-color:var(--border);border-radius:var(--radius-lg);transition:border-color var(--dur-fast) ease}.sheet-list article:hover{border-color:var(--border-strong)}.sheet-list article.is-active{border-color:var(--accent-300);box-shadow:inset 3px 0 0 var(--accent-500)}.sheet-list article>input,.pdf-page-card>input{min-height:32px;padding:0 10px;color:var(--text);background:var(--surface);border:1px solid var(--border-input);border-radius:var(--radius-sm);font-size:var(--text-sm)}.sheet-list article>input:focus,.pdf-page-card>input:focus{border-color:var(--accent-500);box-shadow:var(--focus-ring);outline:none}.sheet-list__open:hover strong{color:var(--accent-700)}.pdf-page-card{border-color:var(--border);border-radius:var(--radius-lg);transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.pdf-page-card:hover{border-color:var(--border-strong)}.pdf-page-card.is-selected{border-color:var(--accent-500);box-shadow:0 0 0 3px #3b66f524}.pdf-page-preview{position:relative}.pdf-page-preview img{background:var(--gray-75);border:0;border-radius:var(--radius-md)}.pdf-page-card.is-selected .pdf-page-preview:after{position:absolute;top:8px;right:8px;width:22px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat,var(--accent-600);border-radius:50%;box-shadow:var(--shadow-sm);content:""}@media(max-width:760px){.circuit-filters{overflow-x:auto;scrollbar-width:none}}@media(max-width:520px){.electrical-schedule__closed-count{display:none}.electrical-schedule__closed-main{min-width:0}.electrical-schedule__closed-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.calculator-page{height:100%;min-height:100%;overflow:auto;color:var(--text);background:radial-gradient(70% 40% at 50% 0%,var(--accent-50),transparent 70%),var(--bg-app)}.calculator-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(160px,1fr) auto minmax(160px,1fr);align-items:center;gap:20px;min-height:64px;padding:10px clamp(16px,3vw,40px);background:#ffffffe6;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.calculator-brand{display:inline-flex;align-items:center;gap:10px;width:fit-content;color:inherit;text-decoration:none}.calculator-brand>span:last-child{display:grid;line-height:1.2}.calculator-brand strong{font-size:var(--text-md);font-weight:700}.calculator-brand small{color:var(--text-muted);font-size:var(--text-xs)}.calculator-title{text-align:center}.calculator-title .eyebrow{color:var(--accent-600)}.calculator-title h1{margin-top:1px;font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em}.calculator-header>.button{justify-self:end}.calculator-layout{display:grid;grid-template-columns:minmax(340px,.82fr) minmax(420px,1.18fr);align-items:start;gap:20px;width:min(1320px,calc(100% - 32px));margin:24px auto}.calculator-controls,.calculator-results{display:grid;gap:14px;min-width:0}.calculator-controls{position:sticky;top:88px}.calculator-mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:4px;background:var(--gray-150);border-radius:var(--radius-lg)}.calculator-mode-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 8px;color:var(--text-secondary);background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-weight:550;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease}.calculator-mode-tabs button:hover{color:var(--text)}.calculator-mode-tabs button.is-active{color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm);font-weight:650}.calculator-mode-tabs button.is-active svg{color:var(--accent-600)}.calculator-panel,.calculator-result-card,.calculator-visualization,.coverage-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.calculator-panel{display:grid;gap:20px;padding:20px}.calculator-section{display:grid;gap:14px}.calculator-section+.calculator-section{padding-top:18px;border-top:1px solid var(--border)}.section-heading,.coverage-heading{display:flex;align-items:center;gap:9px}.section-heading svg,.coverage-heading>svg{color:var(--accent-600)}.section-heading h2,.coverage-heading h2,.calculator-visualization h2{font-size:var(--text-md);font-weight:650}.calculator-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calculator-field-grid label{display:grid;gap:6px;min-width:0;color:var(--text-secondary);font-size:var(--text-xs);font-weight:550}.calculator-field-grid input,.calculator-field-grid select{width:100%;min-height:38px;padding:0 11px;color:var(--text);background-color:var(--surface);border:1px solid var(--border-input);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);font-size:var(--text-sm)}.calculator-field-grid select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7482' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;background-size:15px}.calculator-field-grid input:focus,.calculator-field-grid select:focus{border-color:var(--accent-500);box-shadow:var(--focus-ring);outline:none}.calculator-field-grid input:disabled,.calculator-field-grid select:disabled{color:var(--text-muted);background-color:var(--surface-sunken);box-shadow:none;cursor:not-allowed}.calculator-suffix-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:hidden;background:var(--surface);border:1px solid var(--border-input);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.calculator-suffix-input:focus-within{border-color:var(--accent-500);box-shadow:var(--focus-ring)}.calculator-field-grid .calculator-suffix-input input{border:0;border-radius:0;box-shadow:none}.calculator-field-grid .calculator-suffix-input input:focus{box-shadow:none}.calculator-suffix-input span{padding:0 11px;color:var(--text-muted);font-size:var(--text-xs);font-weight:600}.calculator-result-card{display:grid;gap:16px;padding:24px}.calculator-result-card--pass{border-color:var(--pass-100)}.calculator-result-card--warning,.calculator-result-card--incomplete{border-color:var(--todo-100)}.result-status{display:inline-flex;align-items:center;gap:6px;width:fit-content;height:26px;padding:0 10px;color:var(--pass-700);background:var(--pass-50);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:650;text-transform:capitalize}.calculator-result-card--warning .result-status,.calculator-result-card--incomplete .result-status{color:var(--todo-700);background:var(--todo-50)}.result-primary{display:grid;gap:2px}.result-primary>span{color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}.result-primary strong{display:flex;align-items:baseline;gap:8px;font-size:60px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.04em;line-height:1}.result-primary small{color:var(--accent-600);font-size:26px;letter-spacing:-.02em}.calculator-result-card p,.coverage-panel p{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.result-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.result-metrics div{min-width:0;padding:10px 12px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md)}.result-metrics span{display:block;color:var(--text-muted);font-size:var(--text-2xs);font-weight:550}.result-metrics strong{display:block;margin-top:3px;overflow-wrap:anywhere;font-size:var(--text-md);font-variant-numeric:tabular-nums;font-weight:650}.result-trace{padding-top:14px;border-top:1px solid var(--border)}.result-trace h3{margin-bottom:8px;font-size:var(--text-sm);font-weight:650}.result-trace ul{display:grid;gap:6px;margin:0;padding-left:18px;color:var(--text-secondary);font-size:var(--text-sm)}.result-trace li::marker{color:var(--gray-300)}.calculator-visualization{display:grid;gap:12px;padding:20px}.calculator-table-wrap{max-height:420px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.calculator-table{width:100%;min-width:520px;border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.calculator-table th,.calculator-table td{padding:9px 12px;text-align:right;border-bottom:1px solid var(--border)}.calculator-table tbody tr:last-child td{border-bottom:0}.calculator-table tbody tr:hover td{background:var(--surface-sunken)}.calculator-table th:first-child,.calculator-table td:first-child{position:sticky;left:0;z-index:1;text-align:left;background:var(--surface)}.calculator-table thead th{position:sticky;top:0;z-index:2;color:var(--text-muted);background:var(--surface-sunken);font-size:var(--text-xs);font-weight:600}.calculator-table thead th:first-child{z-index:3;background:var(--surface-sunken)}.calculator-table tbody tr.is-selected td{color:var(--accent-800);background:var(--accent-50);font-weight:650}.coverage-panel{display:grid;gap:14px;width:min(1320px,calc(100% - 32px));margin:0 auto 36px;padding:20px}.coverage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.coverage-grid h3{margin:0 0 10px;font-size:var(--text-sm);font-weight:650}.coverage-grid>div{display:grid;align-content:start;gap:8px}.coverage-grid article{display:grid;gap:4px;padding:10px 12px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md)}.coverage-grid article span{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.45}@media(max-width:1000px){.calculator-header,.calculator-layout,.coverage-grid{grid-template-columns:1fr}.calculator-header{gap:8px}.calculator-title{text-align:left}.calculator-header>.button{justify-self:start}.calculator-controls{position:static}.calculator-layout,.coverage-panel{width:min(720px,calc(100% - 24px))}}@media(max-width:640px){.calculator-header{position:static}.calculator-mode-tabs{grid-template-columns:1fr}.calculator-field-grid,.result-metrics{grid-template-columns:1fr 1fr}.result-primary strong{font-size:46px}}@media(max-width:420px){.calculator-field-grid,.result-metrics{grid-template-columns:1fr}}
