@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");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}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");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}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");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}.kontur-document{min-height:100%;padding:16px;background:var(--surface);color:var(--text);font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.document-heading,.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.document-heading{padding-bottom:12px;border-bottom:1px solid var(--line)}.document-heading p{margin:4px 0 0;color:var(--text-2)}.document-heading h1,.document-section h2,.document-section h3{margin:0}.kontur-document .document-heading h1{font:600 var(--fs-title)/var(--lh-title) var(--font-ui)}.document-section p{margin:8px 0;color:var(--text-2)}.document-section{scroll-margin-top:8px;padding:16px 0;border-bottom:1px solid var(--line)}.document-section h2{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}.document-section h2:after{content:"";flex:1;border-top:1px solid var(--line)}.document-section h3{margin:8px 0;font:600 var(--fs-stamp)/var(--lh-stamp) var(--font-ui);letter-spacing:.08em;text-transform:uppercase}.document-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border:1px solid var(--line);color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.document-badge.demo,.document-badge.ok{color:var(--ok)}.document-badge.warn{color:var(--warn-fg)}.document-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line)}.document-stats span{display:flex;align-items:center;gap:4px;min-height:34px;padding:8px;border-right:1px solid var(--line);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.document-stats svg{width:16px;height:16px}.document-stats b{margin-left:auto}.document-facts dd{font:400 var(--fs-num)/var(--lh-num) var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.document-facts,.data-overview,.load-chart-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:var(--sp-2)}.document-facts div,.data-overview>div,.load-chart-forms>div{padding:8px;border:1px solid var(--line-2)}.load-parameters{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-top:var(--sp-2)}.load-parameters .document-table-wrap,.tps-measurements .document-table-wrap{width:max-content;max-width:100%}.load-parameters .document-table,.tps-measurements .document-table{width:auto}.document-facts dt,.document-facts dd{display:inline;margin:0}.document-facts div,.data-overview p{display:flex;justify-content:space-between;gap:8px;margin:4px 0}.version-list,.survey-list{display:grid;gap:4px}.version-row{display:grid;grid-template-columns:150px 1fr 2fr;gap:8px;width:100%;min-height:26px;padding:4px 8px;border:1px solid var(--line-2);background:var(--surface);color:var(--text);text-align:left}.version-row.active{border-color:var(--accent-line);background:var(--accent-soft)}.document-filters,.section-actions,.document-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:8px 0}.journal-filters{flex-wrap:nowrap;gap:8px;height:34px;margin:8px 0;padding:0 8px;overflow-x:auto;border:1px solid var(--line);background:var(--surface-2)}.journal-filters select{flex:none}.document-filters span,.document-note,.document-table small,.survey-list small,.kontur-document small{color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.document-table-wrap{overflow:auto;border:1px solid var(--line)}.document-table{width:100%;border-collapse:collapse}.document-table th,.document-table td{box-sizing:border-box;vertical-align:middle}.document-table td{font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.kontur-document .document-table td:not(.t-num),.help-page .help-table td{text-align:left}.help-page .help-table td:nth-child(2){font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.document-table th{color:var(--text-2)}.document-table th.num{text-align:right}.document-table .document-badge{min-height:16px;padding:0 4px}.document-table.compact td{padding:0 4px;white-space:nowrap}.document-table.compact .cell-clip{max-width:260px;overflow:hidden;text-overflow:ellipsis}.project-quality-table td{overflow:hidden;text-overflow:ellipsis}.project-quality-table{table-layout:fixed}.project-quality-table th:nth-child(1){width:12%}.project-quality-table th:nth-child(2){width:22%}.project-quality-table th:nth-child(3){width:14%}.project-quality-table th:nth-child(4){width:18%}.project-quality-table th:nth-child(5){width:16%}.project-quality-table th:nth-child(6){width:18%}.document-table th .unit{display:block;color:var(--muted);font:400 var(--fs-small)/var(--lh-small) var(--font-ui);letter-spacing:0;text-transform:none}.document-table tr{cursor:pointer}.document-table tr:hover{background:var(--accent-soft)}.document-table tr.row-warn{background:var(--warn-bg)}.document-table th.sortable{cursor:pointer}.document-table th .sort-arrow{margin-left:4px;color:var(--accent)}.document-table.compact th{white-space:nowrap}.events-document .document-table{min-width:950px}.events-document .document-table td{white-space:nowrap}.events-document .document-table td:last-child{width:100%;max-width:0;overflow:hidden;text-overflow:ellipsis}.events-document .status-pill.error,.events-document .status-pill.critical{color:var(--crit-fg)}.events-document .status-pill.warn,.events-document .status-pill.warning{color:var(--warn-fg)}.document-section .document-status-line{margin:0 0 12px;color:var(--text-2);font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.document-table td small,.survey-list small{display:block}.site-editor,.survey-create{margin:12px 0;padding:8px;border:1px solid var(--line-2)}.site-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.site-fields label{display:grid;gap:4px;color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.ws-grid-actions{padding:4px 8px}.ws-grid tr td.ws-cell-computed{background:var(--surface-2)}.model-toggle{display:inline-flex;align-items:center;gap:var(--sp-2);cursor:pointer}.ws-station-dialog p:not(.ws-grid-error){margin:4px 0;color:var(--muted)}.loads-extra>summary{cursor:pointer;color:var(--text)}.loads-extra[open]>summary{margin-bottom:8px}.placement-confirm-list{margin:8px 0;padding-left:var(--sp-4);color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.placement-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:34px}.placement-form label{display:flex;align-items:center;gap:var(--sp-2);white-space:nowrap;color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.placement-form label input{width:76px}.placement-form label select{width:148px}.site-fields input,.survey-create input,.survey-create textarea,.load-chart-forms input,.load-chart-forms select,.placement-form input,.placement-form select,.load-parameters input,.load-parameters select,.document-filters select,.document-table input,.document-table select{width:100%;min-height:26px;box-sizing:border-box;border:1px solid var(--line);background:var(--surface);color:var(--text);height:26px;padding:4px 8px;font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.load-parameters input,.tps-measurements input{width:90px}.tps-measurements select{width:110px}.survey-create textarea{min-height:52px;grid-column:span 2}.survey-create label,.load-chart-forms label,.load-parameters label{display:grid;gap:4px;color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.site-fields+.modal-actions,.survey-create .site-checkboxes,.survey-create .primary-button{margin-top:8px}.site-checkboxes{display:flex;flex-wrap:wrap;gap:8px 12px}.site-checkboxes label{display:inline-flex;align-items:center;gap:4px}.survey-list article{display:flex;align-items:center;gap:8px;min-height:26px;padding:4px 8px;border:1px solid var(--line-2)}.survey-list article>div{min-width:0;flex:1}.survey-list .status-pill{margin-right:var(--sp-2)}.placement-banner{display:flex;align-items:center;gap:8px;margin:8px 0;padding:8px;border:1px solid var(--line)}.placement-banner.ok{color:var(--ok);background:var(--ok-bg)}.placement-banner.warn{color:var(--warn-fg);background:var(--warn-bg)}.document-table tr.placement-total td{border-top:1px solid var(--line);border-bottom:none;background:var(--surface-2);font-weight:600}.placement-actions{display:flex;justify-content:flex-end;margin-top:8px}.doc-error{margin:8px 0;padding:8px;color:var(--crit-fg);background:var(--crit-bg)}.doc-empty,.doc-loading{padding:24px;color:var(--text-2);font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.access-dialog{width:min(560px,92vw);padding:16px}.access-dialog h2{display:flex;align-items:center;gap:var(--sp-2)}.import-intro p{margin:0 0 8px}.import-sheets{margin:0;padding-left:var(--sp-4);color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.import-sheets b{color:var(--text)}.import-sheets li{margin:var(--sp-1) 0}.file-drop{position:relative;display:grid;place-items:center;align-content:center;gap:var(--sp-1);height:120px;margin:12px 0;padding:12px;box-sizing:border-box;border:1px dashed var(--line);text-align:center;cursor:pointer}.file-drop.over,.file-drop:focus-within{border-color:var(--accent);background:var(--accent-soft)}.file-drop input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-drop svg{color:var(--text-2)}.file-drop strong{font:600 var(--fs-body)/var(--lh-body) var(--font-ui)}.file-drop small{color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.import-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.import-dry-run{display:inline-flex;align-items:center;gap:var(--sp-2)}.import-report{display:grid;gap:8px;margin:12px 0;padding:12px;border:1px solid var(--line);background:var(--surface-2)}.import-totals{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.import-totals b{font-variant-numeric:tabular-nums}.import-crit{color:var(--crit-fg)}.import-filter{max-width:320px}.import-error-detail td{white-space:normal;color:var(--crit-fg)}.doc-help{position:relative;display:inline-flex;vertical-align:middle}.doc-help-button{display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid var(--line);background:var(--surface-2);color:var(--text-2)}.doc-help-button:hover,.doc-help-button:focus-visible{color:var(--accent);background:var(--accent-soft)}.doc-help-popover{position:absolute;z-index:20;top:26px;left:0;display:block;width:320px;padding:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.doc-help-popover ol{margin:8px 0;padding-left:16px}.doc-help-popover li{margin:4px 0}.doc-help-link{padding:0;border:0;background:transparent;color:var(--accent);text-decoration:underline}.access-owner{display:grid;grid-template-columns:120px 1fr auto;gap:8px;align-items:baseline;margin:8px 0;padding:8px;border:1px solid var(--line-2)}.access-owner span,.access-owner small{color:var(--text-2)}.access-public{display:flex;align-items:center;gap:8px;margin:8px 0}.access-members h3,.access-share h3{margin:12px 0 8px}.access-share{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-top:12px}.access-share h3{width:100%}.access-share input{min-width:260px;flex:1}.access-error{margin-top:var(--sp-2)}.projects-table{min-width:760px}.projects-table td:first-child{min-width:180px}.create-project-dialog{width:min(560px,92vw);padding:16px}.create-project-dialog form,.create-project-dialog label{display:grid;gap:4px}.create-project-dialog form{gap:12px}.ws-toolbar select.ws-slot-select{flex:0 1 auto;min-width:0;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.survey-create>label{display:flex;align-items:center;gap:8px;white-space:normal}.survey-create input[type=checkbox]{flex:none;width:12px;height:12px;min-height:12px;padding:0}@media(max-width:760px){.document-stats,.document-facts,.data-overview,.load-chart-forms,.site-fields{grid-template-columns:1fr 1fr}.version-row,.access-owner{grid-template-columns:1fr}.doc-help-popover{position:fixed;top:42px;left:12px}}.substation-wizard{width:min(560px,92vw);max-width:560px}.substation-wizard label{display:flex;flex-direction:column;gap:var(--sp-1);color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.wizard-steps{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;padding-bottom:var(--sp-2);border-bottom:1px solid var(--line-2);color:var(--muted)}.wizard-steps .active{color:var(--text);font-weight:600}.wizard-step-link{padding:0;border:0;background:transparent;color:var(--accent);cursor:pointer;font:inherit}.wizard-step-link:hover{text-decoration:underline}.wizard-review p{margin:0 0 var(--sp-1);color:var(--text-2)}.wizard-review b{color:var(--text)}.wizard-page{padding:var(--sp-3) 0}.wizard-kind{grid-column:1/-1;display:flex;flex-direction:column;gap:var(--sp-1)}.wizard-kind>span{color:var(--text-2)}.wizard-toggle{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-1);align-items:stretch}.wizard-toggle button{min-height:26px;padding:var(--sp-1) var(--sp-2);text-align:left}.wizard-toggle button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}@media(max-width:760px){.substation-wizard{width:auto}.wizard-toggle{grid-template-columns:1fr}}.wizard-count{max-width:200px;margin-bottom:var(--sp-2)}.wizard-unit{margin-bottom:var(--sp-2);padding:var(--sp-2);border:1px solid var(--line-2);background:var(--surface-2)}.wizard-unit .t-stamp{display:block;margin-bottom:var(--sp-1)}.wizard-note{grid-column:1/-1;margin:var(--sp-2) 0 0;color:var(--text-2)}.wizard-page .form-grid{gap:var(--sp-2)}.substation-wizard .modal-actions{padding-top:var(--sp-2);border-top:1px solid var(--line-2)}.substation-wizard .form-error{margin-top:var(--sp-2)}.results-doc{width:100%;min-width:0;box-sizing:border-box;overflow:hidden;padding:16px;color:var(--text);font:400 var(--fs-body, 13px) / 18px var(--font-ui)}.results-head{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:0 0 8px;border-bottom:1px solid var(--line)}.results-head>*{min-width:0}.results-head-top{grid-column:1 / -1;display:flex;align-items:center;gap:12px}.results-head-top h1{flex:1 1 auto}.results-head h1{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results-meta{grid-column:1 / -1;min-width:0;margin:0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.results-head button{height:26px;display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;white-space:nowrap}.results-head .results-actions{margin:0;flex:0 0 auto;white-space:nowrap}.results-verdict{margin:12px 0;padding:8px 12px;border:1px solid var(--accent-line, var(--line));border-left:4px solid var(--accent);background:var(--accent-soft)}.results-verdict.critical{border-color:var(--crit-fg);border-left-color:var(--crit-fg);background:var(--crit-bg);color:var(--crit-fg)}.results-verdict.warning{border-color:var(--warn-fg);border-left-color:var(--warn-fg);background:var(--warn-bg);color:var(--warn-fg)}.results-verdict .verdict-text{margin-top:4px}.results-assumption{margin-top:4px;color:var(--warn-fg)}.results-verdict .results-actions{margin:8px 0 0}.results-stats{display:flex;flex-wrap:wrap;align-items:stretch;margin-bottom:12px;border:1px solid var(--line);background:var(--surface)}.results-stat{min-width:110px;min-height:26px;box-sizing:border-box;display:grid;align-content:center;gap:4px;padding:4px 8px;border-right:1px solid var(--line-2);color:var(--text-2, var(--muted));white-space:nowrap}.results-stat b{color:var(--text)}.results-stat-wide{min-width:180px}.results-section{margin-top:24px}.results-section h2,.results-section h3{margin:0 0 8px;font:600 var(--fs-body, 13px) / 18px var(--font-ui)}.results-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line)}.results-table{width:100%;border-collapse:collapse;white-space:nowrap}.results-table th{box-sizing:border-box;padding:4px 8px;border-bottom:1px solid var(--line);background:var(--surface-2);text-align:left;vertical-align:middle;font:600 var(--fs-stamp, 10.5px) / 14px var(--font-ui);letter-spacing:.08em;text-transform:uppercase}.results-table th.sortable{cursor:pointer}.results-table th .sort-arrow{margin-left:4px;color:var(--accent)}.results-table th .unit{display:block;color:var(--muted);font:400 var(--fs-small, 11px) / 16px var(--font-ui);letter-spacing:0;text-transform:none}.results-table th.results-group{border-bottom:1px solid var(--line);color:var(--muted);text-align:center}.results-table th:first-child,.results-table td:first-child{position:sticky;left:0;z-index:1;border-right:1px solid var(--line-2);background:var(--surface)}.results-table th:first-child{z-index:2;background:var(--surface-2)}.results-table td{height:26px;box-sizing:border-box;max-width:280px;padding:0 8px;border-bottom:1px solid var(--line-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 var(--fs-body, 13px) / 18px var(--font-ui)}.results-table td.cell-clip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results-table tbody tr{cursor:pointer}.results-table tbody tr.crit td{background:var(--crit-bg)}.results-table tbody tr.near-limit td{background:var(--warn-bg)}.results-table tbody tr.pareto td:first-child{box-shadow:inset 3px 0 var(--accent)}.results-table tbody tr:hover td,.results-table tbody tr.selected td,.results-table tbody tr:hover td:first-child,.results-table tbody tr.selected td:first-child{background:var(--accent-soft)}.results-table tbody tr.selected td:first-child{border-left:2px solid var(--accent)}.results-table th.num{text-align:right;font:600 var(--fs-stamp, 10.5px) / 14px var(--font-ui)}.results-table .num,.results-table .t-num{text-align:right;font:400 var(--fs-num, 12px) / 18px var(--font-mono);font-variant-numeric:tabular-nums}.results-table .bad,.results-table .warn,.results-table .ok{font-weight:600}.results-table .bad,.results-pill.critical{color:var(--crit-fg)}.results-table .warn,.results-pill.warning{color:var(--warn-fg)}.results-table .ok,.results-pill.ok{color:var(--ok)}.results-table small{display:inline;margin-left:var(--sp-2);color:var(--muted);font:400 var(--fs-small, 11px) / 16px var(--font-ui)}.results-empty,.results-loading{padding:24px 0;color:var(--text-2, var(--muted))}.results-note{margin:12px 0;color:var(--text-2, var(--muted))}.results-actions{display:flex;align-items:center;gap:8px;margin:12px 0}.results-actions h2{margin-right:auto}.results-pill{display:inline-block;padding:4px 8px;border:1px solid var(--line);font:400 var(--fs-small, 11px) / 16px var(--font-ui)}.results-reason{color:var(--muted)}.results-pill.critical{border-color:var(--crit-fg);background:var(--crit-bg)}.results-pill.warning{border-color:var(--warn-fg);background:var(--warn-bg)}.results-pill.ok{border-color:var(--ok);background:var(--ok-bg, var(--surface-2))}.results-violations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.results-violation{padding:8px;border:1px solid var(--line);background:var(--surface)}.results-violation ul{margin:0;padding-left:16px}.results-bars{position:relative;min-width:160px}.results-bars i{position:absolute;top:50%;left:0;height:4px;max-width:100%;background:var(--accent-line, var(--accent));transform:translateY(-50%)}.results-bars b{position:relative;z-index:1}.results-table .rank{width:44px;text-align:center}.results-table .table-action{height:26px;padding:0 8px;white-space:nowrap}.compare-ok{background:var(--ok-bg, var(--surface-2));color:var(--ok);font-weight:600}.compare-table td:first-child{width:260px;max-width:260px}.compare-table td:last-child{min-width:116px}.scenario-row-actions{display:flex;flex-wrap:nowrap;gap:4px;white-space:nowrap}.scenario-icon-button{width:26px;height:26px;display:inline-grid;place-items:center;padding:0;border:1px solid var(--line);background:var(--surface-3, var(--surface-2));color:var(--text)}.scenario-icon-button:hover,.scenario-icon-button:focus-visible{border-color:var(--accent);color:var(--accent)}.scenario-icon-button:disabled{opacity:.45;cursor:default}.scenario-name-input{width:100%;height:26px;box-sizing:border-box;border:1px solid var(--accent);background:var(--surface);color:var(--text);font:400 var(--fs-body, 13px) / 18px var(--font-ui)}.scenarios-table td{height:26px}.report-doc{min-width:0;min-height:100%;padding:16px;background:var(--paper)}.report-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.report-sheet{width:min(210mm,100%);min-height:297mm;margin:0 auto;padding:20mm;box-sizing:border-box;background:var(--surface);color:var(--text)}.report-title{padding-bottom:16px;border-bottom:2px solid var(--text)}.report-title h1{margin:0 0 16px;font:600 var(--fs-title, 16px) / 22px var(--font-ui)}.report-stamp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.report-stamp div{min-width:0;min-height:26px;padding:4px 8px;border:1px solid var(--line-2)}.report-stamp span{display:block;color:var(--muted)}.report-stamp b{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.report-section{margin-top:24px}.report-section h2{margin:0 0 8px;font:600 var(--fs-body, 13px) / 18px var(--font-ui)}.report-section p{margin:8px 0}.report-muted{color:var(--text-2, var(--muted))}.report-verdict{padding:8px 12px;border-left:4px solid var(--accent);background:var(--accent-soft)}.report-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--line)}.report-table{width:100%;border-collapse:collapse;white-space:nowrap}.report-table th,.report-table td{height:26px;box-sizing:border-box;padding:0 8px;border-bottom:1px solid var(--line-2);text-align:left;font:400 var(--fs-body, 13px) / 18px var(--font-ui)}.report-table th{background:var(--surface-2);font:600 var(--fs-stamp, 10.5px) / 14px var(--font-ui);letter-spacing:.08em;text-transform:uppercase}.report-table th.num{text-align:right}.report-table .num{text-align:right;font:400 var(--fs-num, 12px) / 18px var(--font-mono);font-variant-numeric:tabular-nums}.report-schema-placeholder{min-height:70px;margin-bottom:8px;padding:12px;border:1px dashed var(--line);color:var(--text-2, var(--muted))}.report-schema-source{position:absolute;top:0;left:-10000px;width:1400px;height:900px;pointer-events:none}.report-schema{margin:0}.report-schema img{display:block;width:100%;height:auto;border:1px solid var(--line-2)}.report-schema figcaption{margin-top:var(--sp-2);color:var(--text-2, var(--muted));font:400 var(--fs-small, 11px) / 16px var(--font-ui)}.report-doc .ghost-button{margin-right:8px}@page{size:A4;margin:20mm;@bottom-right{content:counter(page)}}@media print{.report-schema-source,.ws-menu,.ws-toolbar,.ws-tree,.ws-properties,.ws-messages,.ws-status,.ws-tabs,.ws-tab-strip,.doc-toolbar{display:none!important}.ws-shell,.workspace-shell{display:block;height:auto;min-height:0;background:var(--surface);color:var(--text)}.ws-center{display:block;background:var(--surface)}.ws-document{overflow:visible}.report-doc{padding:0;background:var(--surface)}.report-actions{display:none}.report-sheet{width:auto;min-height:0;margin:0;padding:0;box-shadow:none;border:0}.report-section h2{break-after:avoid}.report-table tr{break-inside:avoid}.report-table thead{display:table-header-group}.report-table-wrap{overflow:visible}.report-schema{break-inside:avoid}}@media(max-width:900px){.results-violations{grid-template-columns:1fr}.report-stamp{grid-template-columns:repeat(2,minmax(0,1fr))}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.topology-toolbar-button{flex:0 0 auto;height:26px;padding:0 8px;border:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--text-2);font:400 var(--fs-body, 13px)/18px var(--font-ui);cursor:pointer}.topology-toolbar-button.active,.topology-toolbar-button:hover{border-color:var(--accent-line, var(--accent));background:var(--accent-soft);color:var(--accent)}.kv6-line{background:var(--kv6)}.kv10-line{background:var(--kv10)}.kv04-line{background:var(--kv04)}.legend-switch{width:8px;height:8px;display:inline-block;border:1px solid var(--text)}.legend-switch.closed{background:var(--text)}.network-map-shell,.canvas-stage{position:relative;width:100%;height:100%;min-height:0}.canvas-stage{overflow:hidden}.canvas-stage>.react-flow{width:100%;height:100%}.canvas-error{position:absolute;z-index:20;top:4px;left:44px;right:96px;min-height:26px;padding:4px 8px;border:1px solid var(--crit-fg);background:var(--crit-bg);color:var(--crit-fg);font:400 var(--fs-small, 11px)/16px var(--font-ui)}.canvas-error button{float:right;border:0;background:transparent;color:inherit;cursor:pointer}.canvas-hint{position:absolute;z-index:20;top:4px;left:44px;right:96px;min-height:26px;padding:4px 8px;border:1px solid var(--line);background:var(--surface-2);color:var(--text-2);font:400 var(--fs-small, 11px)/16px var(--font-ui)}.canvas-hint button{float:right;border:0;background:transparent;color:inherit;cursor:pointer}.topology-elements-panel{position:absolute;z-index:12;top:0;bottom:0;left:0;width:40px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;border-right:1px solid var(--line);background:var(--surface-2)}.topology-elements-panel button{position:relative;display:grid;width:32px;height:32px;min-height:32px;place-items:center;padding:0;border:0;border-radius:0;background:transparent;color:var(--text-2);cursor:pointer}.topology-elements-panel button[draggable=true]{cursor:grab}.topology-elements-panel button:hover{background:var(--surface);color:var(--accent)}.topology-elements-panel button.active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 2px 0 var(--accent)}.topology-elements-panel svg{width:16px;height:16px;stroke-width:1.5}.topology-elements-panel button:after{content:attr(title);position:absolute;left:100%;top:50%;z-index:3;display:none;margin-left:var(--sp-2);padding:var(--sp-1) var(--sp-2);transform:translateY(-50%);border:1px solid var(--line);background:var(--surface);color:var(--text);font:400 var(--fs-small, 11px)/16px var(--font-ui);white-space:nowrap;pointer-events:none}.topology-elements-panel button:hover:after,.topology-elements-panel button:focus-visible:after{display:block}.topology-elements-separator{width:24px;height:1px;margin:4px 0;background:var(--line)}.canvas-empty-hint{position:absolute;z-index:5;top:50%;left:50%;width:420px;display:flex;flex-direction:column;gap:8px;padding:16px;transform:translate(-50%,-50%);border:1px solid var(--line);background:var(--surface)}.canvas-empty-hint h2{margin:0}.canvas-empty-hint p{margin:0;color:var(--text-2)}.canvas-empty-hint button{align-self:flex-start;height:26px;padding:0 8px;border:1px solid var(--accent);border-radius:0;background:var(--accent);color:var(--on-accent);font:400 var(--fs-body, 13px)/18px var(--font-ui);cursor:pointer}.topology-wizard-host{position:absolute;z-index:1;top:0;left:0;width:1px;height:1px}.topology-wizard-host .wizard-launch{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;opacity:0}.react-flow__node.is-path-dimmed,.react-flow__edge.is-path-dimmed{opacity:1;filter:none}.network-map-shell.detail-mode .react-flow__node.is-path-dimmed,.network-map-shell.detail-mode .react-flow__edge.is-path-dimmed{opacity:.55}.react-flow__node.is-path-highlighted,.react-flow__edge.is-path-highlighted{opacity:1}.react-flow__edge.is-edge-selected path{stroke:var(--accent)!important;stroke-width:2.5px!important;opacity:1!important}.react-flow__handle{width:1px;height:1px;opacity:0;border:0;background:transparent}.edit-mode .react-flow__handle{width:8px;height:8px;opacity:1;border:0;border-radius:50%;background:var(--accent)}.edit-mode .react-flow__handle-left{left:-4px}.edit-mode .react-flow__handle-right,.edit-mode .rp-line-row .react-flow__handle{right:-4px}.rp-new-handle{top:50%!important}.react-flow__controls{left:8px;bottom:8px;box-shadow:none;border:1px solid var(--line);border-radius:0}.canvas-tools.react-flow__panel{margin:4px 8px}.canvas-tools .topology-toolbar-button{display:inline-flex;align-items:center;gap:4px}.network-map-shell.edit-mode .react-flow__controls{left:48px}.react-flow__controls button{width:26px;height:26px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--surface-3, var(--surface-2));color:var(--text-2);fill:var(--text-2)}.react-flow__controls button:last-child{border-bottom:0}.network-node,.topology-group-node{box-shadow:none!important;border-radius:0!important;background:var(--surface)!important}.ugo-node{width:190px;height:46px;min-height:46px;padding:0;border:0!important}.ugo{display:block;width:100%;height:100%;overflow:visible;font:400 var(--fs-small, 11px)/16px var(--font-ui)}.ugo text{fill:var(--text)}.ugo line,.ugo path,.ugo rect,.ugo circle{vector-effect:non-scaling-stroke}.ugo-bus line{stroke:currentColor;stroke-width:3}.ugo-bus text{text-anchor:start}.ugo-bus.kv6{color:var(--kv6)}.ugo-bus.kv10{color:var(--kv10)}.ugo-bus.kv04{color:var(--kv04)}.ugo-bus.kv110{color:var(--kv110)}.ugo-transformer circle{fill:var(--surface);stroke-width:1.5}.ugo-transformer .kv6{stroke:var(--kv6)}.ugo-transformer .kv10{stroke:var(--kv10)}.ugo-transformer .kv04{stroke:var(--kv04)}.ugo-transformer .kv110{stroke:var(--kv110)}.ugo-switch rect{stroke:var(--text);stroke-width:1;fill:var(--surface)}.ugo-switch rect.closed{fill:var(--text)}.ugo-switch rect.unknown{stroke-dasharray:2 1}.ugo-switch rect.disconnector{transform:rotate(-35deg);transform-origin:9px 13px}.ugo-load path{stroke:currentColor;fill:none;stroke-width:1.5}.ugo-load.kv04{color:var(--kv04)}.ugo-load.kv6{color:var(--kv6)}.ugo-station rect,.ugo-generic rect{fill:var(--surface);stroke:var(--kv04);stroke-width:1}.ugo-node.selected{outline:1.5px solid var(--accent);outline-offset:2px}.ugo-node.offline{opacity:.5}.topology-group-node{width:100%;height:100%;overflow:visible;position:relative;border:1px solid var(--line)!important}.topology-group-node.selected{outline:1.5px solid var(--accent);outline-offset:1px}.topology-group-node.compact.tp.drop-hot{outline:1.5px solid var(--accent-line);outline-offset:1px}.topology-group-node.search-matched,.ugo-node.search-matched{outline:1.5px solid var(--accent);outline-offset:2px}.group-stamp{padding:4px 8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-structure-row{padding:0 8px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topology-group-node.compact.tp{overflow:visible}.tp-overview-symbol{display:block;width:calc(100% - 8px);height:36px;margin:0 4px;overflow:visible;font:400 var(--fs-small, 11px)/16px var(--font-ui)}.tp-overview-symbol line,.tp-overview-symbol path,.tp-overview-symbol rect,.tp-overview-symbol circle{vector-effect:non-scaling-stroke}.tp-overview-symbol .kv6{stroke:var(--kv6)}.tp-overview-symbol .kv04{stroke:var(--kv04)}.tp-overview-symbol .ugo-wire{fill:none;stroke-width:1.5}.tp-overview-symbol .ugo-bus-line{fill:none;stroke-width:2}.tp-overview-symbol .ugo-transformer-label{fill:var(--text-2);text-anchor:middle}.tp-overview-symbol .ugo-breaker{fill:var(--surface);stroke:var(--text);stroke-width:1}.tp-overview-symbol .ugo-breaker.closed{fill:var(--text)}.tp-overview-symbol .ugo-breaker.unknown{stroke-dasharray:2 1}.tp-overview-symbol .ugo-transformer-mini circle{fill:var(--surface);stroke-width:1.2}.tp-overview-symbol .ugo-transformer-placeholder{fill:none;stroke:var(--muted);stroke-dasharray:2 2}.tp-overview-symbol .ugo-attachment-mini rect{fill:var(--surface);stroke:var(--kv04);stroke-width:1}.tp-overview-symbol .ugo-attachment-mini text,.tp-overview-symbol .ugo-load-mini text{fill:var(--text)}.tp-overview-symbol .ugo-load-mini path{fill:none;stroke:var(--kv04);stroke-width:1.2}.topology-group-node.detail-diagram{overflow:hidden}.topology-group-node.detail-diagram .group-stamp{position:absolute;z-index:1;top:0;left:0;right:0}.tp-detail-diagram{position:absolute;top:25px;right:0;bottom:0;left:0;width:100%;height:calc(100% - 25px);font:400 var(--fs-small, 11px)/16px var(--font-ui);overflow:visible}.tp-detail-diagram line,.tp-detail-diagram path,.tp-detail-diagram rect,.tp-detail-diagram circle{vector-effect:non-scaling-stroke}.tp-detail-diagram .kv6{stroke:var(--kv6)}.tp-detail-diagram .kv04{stroke:var(--kv04)}.tp-detail-diagram .detail-bus{fill:none;stroke-width:3}.tp-detail-diagram .detail-bus-caption,.tp-detail-diagram text{fill:var(--text)}.tp-detail-diagram .detail-input text,.tp-detail-diagram .detail-transformer text{cursor:pointer}.tp-detail-diagram .detail-input:hover,.tp-detail-diagram .detail-transformer:hover,.tp-detail-diagram .detail-attachment:hover{outline:1px solid var(--accent)}.tp-detail-diagram .ugo-breaker{fill:var(--surface);stroke:var(--text);stroke-width:1}.tp-detail-diagram .ugo-breaker.closed{fill:var(--text)}.tp-detail-diagram .ugo-breaker.unknown{stroke-dasharray:2 1}.tp-detail-diagram .detail-transformer circle{fill:var(--surface);stroke-width:1.5}.tp-detail-diagram .detail-value{fill:var(--muted)}.tp-detail-diagram .detail-input-caption{font:400 var(--fs-stamp, 10.5px)/14px var(--font-mono);fill:var(--muted)}.tp-detail-diagram .detail-warn{fill:var(--warn-fg)}.tp-detail-diagram .detail-station-box{fill:var(--surface);stroke:var(--kv04);stroke-width:1}.tp-detail-diagram .detail-load-arrow{fill:none;stroke:var(--kv04);stroke-width:1.5}.tp-detail-diagram .detail-empty-note{fill:var(--muted)}.tp-detail-diagram .detail-attachment text{text-anchor:middle}.tp-detail-diagram .detail-bus-drop{fill:transparent;stroke:none;pointer-events:all;cursor:copy}.tp-detail-diagram .detail-bus-drop.drop-hot{fill:var(--accent-line);fill-opacity:.45;stroke:var(--accent-line);stroke-width:1}.tp-detail-diagram .detail-breaker-hit{fill:transparent;pointer-events:all;cursor:pointer}.tp-detail-diagram .detail-input.selected .ugo-breaker,.tp-detail-diagram .detail-attachment.selected .ugo-breaker,.tp-detail-diagram .detail-attachment.selected .detail-station-box,.tp-detail-diagram .detail-attachment.selected .detail-load-arrow{stroke:var(--accent);stroke-width:2}.tp-detail-diagram .detail-transformer.selected circle{stroke:var(--accent);stroke-width:2}.rp-source-symbol{position:absolute;top:4px;right:4px;width:24px;height:24px;fill:none;stroke:var(--kv110);stroke-width:1.2}.rp-source-symbol circle,.rp-source-symbol path{vector-effect:non-scaling-stroke}.topology-group-node.compact.tp>.react-flow__handle{z-index:2}.topology-group-node.rp .group-stamp{padding-bottom:var(--sp-1)}.rp-outgoing-lines{position:relative;height:calc(100% - 30px);margin:0 var(--sp-2) 0 var(--sp-4);padding-left:var(--sp-3)}.rp-bus-line{position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--kv6)}.rp-bus-line.secondary{left:8px}.rp-section-switch{position:absolute;top:50%;left:4px;width:12px;height:8px;border:1px solid var(--text);background:var(--surface)}.rp-line-row{position:absolute;left:0;right:0;display:flex;height:80px;align-items:center;gap:var(--sp-1);color:var(--text)}.rp-line-row i{width:8px;height:8px;border:1px solid var(--text);background:var(--text)}.rp-line-row span{max-width:154px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-line-row .rp-line-current{max-width:none;margin-left:auto;color:var(--text-2)}.rp-line-row .rp-line-current.warn{color:var(--warn-fg)}.rp-line-row .rp-line-current.crit{color:var(--crit-fg)}.unconnected-label{position:absolute;top:-24px;left:0;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.group-alert{position:absolute;top:4px;right:4px;padding:var(--sp-1);color:var(--crit-fg);background:var(--crit-bg)}.group-alert.warning{color:var(--warn-fg);background:var(--warn-bg)}.group-alert.normal{color:var(--ok);background:var(--ok-bg, var(--surface-2))}.tp-regime-row{display:flex;flex-direction:column;padding:0 8px;color:var(--text-2)}.tp-regime-row b{color:var(--text);font:400 var(--fs-small, 11px)/16px var(--font-mono);font-variant-numeric:tabular-nums}.electrical-edge-label{position:absolute;display:inline-flex;align-items:center;gap:var(--sp-1);width:max-content;pointer-events:all}.electrical-edge-label>button{min-height:26px;padding:4px;border:0;border-radius:0;background:var(--surface);color:var(--text);cursor:pointer}.electrical-edge-label>button:hover{outline:1px solid var(--accent)}.electrical-edge-label.ring-label{background:var(--surface)}.line-parameter-trigger>span{display:inline}.line-parameter-trigger .edge-full{display:none}.line-parameter-trigger:hover .edge-short,.line-parameter-trigger:focus .edge-short{display:none}.line-parameter-trigger:hover .edge-full,.line-parameter-trigger:focus .edge-full{display:inline}.switch-marker i{width:8px;height:8px;border:1px solid currentColor;border-radius:0}.switch-marker.closed i{background:currentColor}.switch-marker.unknown i{border-style:dashed}.switch-marker.open i:after{top:4px}.drawing-stamp{position:absolute;right:8px;bottom:8px;z-index:5;width:300px;border:1px solid var(--line);display:grid;grid-template-columns:92px 1fr;background:var(--surface);cursor:pointer;transition:right .1s linear}.drawing-stamp.panel-open{right:314px}.drawing-stamp-toggle{display:none}.drawing-stamp-grid{display:grid;grid-template-columns:subgrid;grid-column:1 / -1}.drawing-stamp-grid>div{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;min-height:24px;border-bottom:1px solid var(--line-2)}.drawing-stamp-grid>div:last-child{border-bottom:0}.drawing-stamp-grid span,.drawing-stamp-grid b{padding:var(--sp-1)}.drawing-stamp-grid span{color:var(--muted);border-right:1px solid var(--line-2)}.drawing-stamp-grid b{font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawing-stamp.collapsed{display:block;width:auto;padding:var(--sp-1) var(--sp-2)}.drawing-stamp.collapsed .drawing-stamp-toggle{display:block;color:var(--muted)}.drawing-stamp.collapsed .drawing-stamp-grid{display:none}.line-create-modal{width:560px;max-width:calc(100vw - 32px)}.line-create-form input,.line-create-form select{height:26px;min-width:0}.schema-doc{min-height:0;height:100%;display:flex;flex-direction:column;container-type:inline-size}.schema-doc .doc-toolbar{display:flex;flex:0 0 34px;height:34px;min-height:34px;min-width:0;flex-wrap:nowrap;align-items:center;gap:var(--sp-2);padding:4px 8px;overflow:hidden}.schema-doc .doc-toolbar>button,.schema-doc .doc-toolbar>select{height:26px;flex:0 0 auto}.schema-doc .doc-toolbar>select{min-width:108px;max-width:150px}.schema-doc .doc-search{flex:1 1 150px;min-width:100px}.schema-layers{display:flex;gap:0;border:1px solid var(--line)}.schema-layers button{min-width:76px;height:26px;padding:0 var(--sp-2);border:0;border-right:1px solid var(--line);background:var(--surface-3, var(--surface-2));color:var(--text-2)}.schema-layers button:last-child{border-right:0}.schema-layers button.active{background:var(--surface);color:var(--accent);box-shadow:inset 0 2px var(--accent)}.schema-layers button:disabled{color:var(--line);cursor:not-allowed}.tp-nav{display:flex;flex:0 1 auto;min-width:0;align-items:center;gap:4px}.tp-nav-label{max-width:300px;overflow:hidden;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap}.tp-nav-arrow{display:grid;width:26px;min-width:26px;padding:0;place-items:center}.tp-nav-arrow:disabled{border-color:var(--line-2);color:var(--line);cursor:not-allowed}.auto-regime{display:inline-flex;align-items:center;gap:4px;color:var(--text-2);white-space:nowrap}.schema-legend{display:flex;min-height:24px;align-items:center;gap:var(--sp-2);padding:4px 8px;border-bottom:1px solid var(--line);background:var(--surface);color:var(--text-2);white-space:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.schema-legend span{display:inline-flex;align-items:center;gap:4px}.schema-legend i{display:inline-block;flex:0 0 auto}.schema-legend .legend-main,.schema-legend .legend-branch,.schema-legend .legend-ring,.schema-legend .legend-load{width:16px;height:2px;background:var(--kv6)}.schema-legend .legend-branch{background:var(--kv6);transform:rotate(90deg)}.schema-legend .legend-ring{background:var(--muted);border-top:2px dotted var(--muted)}.schema-legend .legend-load{background:var(--warn-fg);height:3px}.schema-legend .legend-thick{display:inline-block;width:16px;background:var(--kv6)}.schema-legend .legend-thick.t1{height:1.5px}.schema-legend .legend-thick.t2{height:2.5px}.schema-legend .legend-thick.t3{height:3.5px}.schema-legend .legend-thick.crit{height:3.5px;background:var(--crit-fg)}@container (max-width: 1320px){.schema-doc .doc-toolbar{gap:var(--sp-2);padding-inline:var(--sp-2)}.schema-doc .doc-toolbar [data-compact]{width:28px;min-width:28px;padding:0;justify-content:center}.schema-doc .doc-toolbar [data-compact] .toolbar-label{display:none}.schema-doc .doc-toolbar>select{min-width:96px;max-width:112px}.schema-doc .doc-search{min-width:88px}.schema-doc .auto-regime{max-width:24px;overflow:hidden}.schema-doc .auto-regime span{display:none}}.station-drop-modal{width:480px;max-width:calc(100vw - 32px)}.station-drop-modal .modal-note{color:var(--text-2)}.form-readout{display:flex;align-items:center;justify-content:space-between;min-height:26px;padding:0 4px;border:1px solid var(--line);color:var(--text-2)}.form-readout b{color:var(--text)}.line-params{margin:8px 0 0;padding:4px 8px;border:1px solid var(--line-2);background:var(--surface-2);color:var(--text-2)}.line-params b{color:var(--text)}.substation-wizard{width:min(850px,92vw)}.substation-wizard h3{margin:0 0 8px;font:600 var(--fs-body, 13px)/18px var(--font-ui)}.substation-wizard label{font:400 var(--fs-small, 11px)/16px var(--font-ui)}.substation-wizard input,.substation-wizard select,.substation-wizard textarea{font:400 var(--fs-body, 13px)/18px var(--font-ui)}dialog::backdrop{background:transparent}.schema-doc .network-map-shell{flex:1 1 auto;height:auto;min-height:0}.schema-doc .canvas-stage{min-height:0}.ws-center:has(.schema-doc){margin-bottom:0;padding-bottom:var(--messages-h);min-height:0}.ws-shell:has(.ws-messages-collapsed) .ws-center{padding-bottom:24px}.ws-center:has(.schema-doc) .ws-document{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden}@media(max-width:1050px){.drawing-stamp{width:250px}}.workspace-shell,.ws-shell{position:relative;display:grid;--tree-w: 260px;--props-w: 320px;--messages-h: 160px;--row-head: 38px;grid-template:32px 34px minmax(0,1fr) 24px / var(--tree-w) minmax(0,1fr) var(--props-w);height:100vh;min-height:520px;background:var(--paper);color:var(--text);font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}@media(min-width:1101px){.ws-shell[data-properties-open=false]{grid-template-columns:var(--tree-w) minmax(0,1fr) 0}.ws-shell[data-properties-open=false] .ws-properties{display:none}.ws-shell[data-properties-open=false] .ws-messages,.ws-shell[data-properties-open=false] .ws-splitter-h{right:0}}.ws-menu{grid-column:1/-1;grid-row:1;display:flex;align-items:center;gap:8px;padding:0 8px;border-bottom:1px solid var(--line);background:var(--surface)}.ws-brand{letter-spacing:.12em}.ws-menu nav{display:flex;align-items:stretch;height:32px;gap:var(--sp-1);flex:0 0 auto;white-space:nowrap}.ws-menu-group{position:relative}.ws-menu button{height:26px;display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;padding:0 8px;color:var(--text)}.ws-menu button:hover,.ws-menu button:focus-visible{background:var(--accent-soft);color:var(--accent)}.ws-menu button.active{background:var(--accent-soft);color:var(--accent)}.ws-menu button:disabled{color:var(--text-2);cursor:not-allowed;opacity:.55}.ws-menu-spacer{flex:1}.ws-dropdown{position:absolute;z-index:20;top:31px;left:0;min-width:190px;padding:var(--sp-1) 0;border:1px solid var(--line);background:var(--surface)}.ws-dropdown button{display:flex;width:100%;text-align:left}.ws-menu .health-status{white-space:nowrap}.avatar-wrap{position:relative}.ws-toolbar{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:8px;padding:4px 8px;border-bottom:1px solid var(--line);background:var(--surface-2);overflow:hidden;flex-wrap:nowrap;white-space:nowrap}.ws-toolbar button{height:26px;display:inline-flex;align-items:center;gap:4px}.ws-toolbar button.primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.ws-toolbar label{display:inline-flex;align-items:center;gap:4px;min-width:0;margin-left:auto;color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.ws-toolbar select{height:26px}.ws-toolbar select.ws-scenario-select{max-width:260px;min-width:0;flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-toolbar .ws-context-controls{display:inline-flex;align-items:center;gap:8px;min-width:0;margin-left:auto}.ws-toolbar .ws-context-controls label{margin-left:0}.ws-toolbar select.ws-slot-select{max-width:180px;min-width:0;flex:0 1 auto}.ws-toolbar button.active{background:var(--surface-3)}@media(max-width:1199px){.ws-toolbar .label{display:none}}.ws-busy{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--accent);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.ws-busy i{display:block;width:90px;height:2px;background:var(--accent);animation:ws-busy 1s ease-in-out infinite alternate}@keyframes ws-busy{to{opacity:.25}}.ws-tree{grid-column:1;grid-row:3;min-width:0;overflow:auto;border-right:1px solid var(--line);background:var(--surface-2)}.ws-panel-title{height:26px;display:flex;align-items:center;gap:var(--sp-2);padding:0 8px;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--text-2, var(--muted))}.tree-row{height:26px;display:flex;align-items:center;gap:var(--sp-1);white-space:nowrap;cursor:pointer}.tree-row-indent{padding-left:calc(var(--sp-2) + var(--depth, 0) * var(--sp-3))}.tree-row:hover{background:var(--surface-3, var(--surface-2))}.tree-row.selected{background:var(--accent-soft);box-shadow:inset 2px 0 var(--accent);color:var(--text)}.tree-row span:not(.tree-expander){overflow:hidden;text-overflow:ellipsis}.tree-expander{width:16px;height:16px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--muted)}.tree-badge{margin-left:auto;margin-right:var(--sp-2);padding:0 4px;color:var(--crit-fg);background:var(--crit-bg);font:400 var(--fs-small)/var(--lh-small) var(--font-mono);font-variant-numeric:tabular-nums}.ws-center{grid-column:2;grid-row:3;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--surface)}.ws-tabs{height:32px;display:flex;flex:0 0 32px;overflow-x:auto;border-bottom:1px solid var(--line);background:var(--surface-3, var(--surface-2))}.ws-tabs button{height:32px;display:flex;align-items:center;gap:8px;border:0;border-top:2px solid transparent;border-right:1px solid var(--line-2);background:var(--surface-3, var(--surface-2));padding:0 8px;white-space:nowrap}.ws-tabs button.active{border-top-color:var(--accent);background:var(--surface);color:var(--text)}.ws-document{min-height:0;flex:1;overflow:auto}.ws-placeholder,.ws-loading{display:grid;place-items:center;min-height:180px;color:var(--text-2)}.doc-toolbar{height:32px;display:flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--line);background:var(--surface-2)}.doc-toolbar button.active{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.doc-search{display:flex;align-items:center;gap:4px;margin-left:auto}.doc-search input{height:26px}.schema-doc{height:100%;display:flex;flex-direction:column}.schema-doc .network-map-shell{flex:1;min-height:300px}.ws-properties{grid-column:3;grid-row:3;min-width:0;overflow:auto;border-left:1px solid var(--line);background:var(--surface)}.ws-messages{position:absolute;z-index:5;left:var(--tree-w);right:var(--props-w);bottom:24px;height:var(--messages-h);border-top:1px solid var(--line);background:var(--surface)}.ws-splitter{position:absolute;z-index:6;touch-action:none}.ws-splitter:hover{background:var(--accent-line, var(--accent-soft))}.ws-splitter[data-drag=true]{background:var(--accent)}.ws-splitter-v{top:66px;bottom:24px;width:4px;cursor:col-resize}.ws-splitter-tree{left:calc(var(--tree-w) - 2px)}.ws-splitter-props{right:calc(var(--props-w) - 2px)}.ws-splitter-h{left:var(--tree-w);right:var(--props-w);bottom:calc(24px + var(--messages-h) - 2px);height:4px;cursor:row-resize}.ws-status{grid-column:1/-1;grid-row:4;display:flex;align-items:center;gap:8px;padding:0 8px;border-top:1px solid var(--line);background:var(--surface-2);color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui);white-space:nowrap;overflow:hidden}.ws-status span{min-width:0;overflow:hidden;text-overflow:ellipsis}.ws-status-readonly,.ws-status-stale{flex:0 0 auto;color:var(--warn-fg)}@media print{.ws-splitter{display:none}}.command-palette{width:min(420px,92vw)}.palette-list{display:grid;gap:var(--sp-1);margin-top:8px}.palette-group{padding:var(--sp-2) var(--sp-2) var(--sp-1);color:var(--muted)}.palette-list button{border:0;background:transparent;padding:var(--sp-2);text-align:left}.palette-list button:hover{background:var(--accent-soft);color:var(--accent)}@media(max-width:1100px){.ws-shell{grid-template-columns:240px minmax(0,1fr) 0}.ws-splitter,.ws-properties{display:none}.ws-shell[data-properties-open=true] .ws-properties{position:absolute;z-index:6;top:66px;right:0;bottom:24px;display:flex;width:280px;border-left:1px solid var(--line)}.ws-messages{left:240px;right:0}}@media(max-width:900px){.ws-shell{grid-template-columns:40px minmax(0,1fr) 0}.ws-tree{overflow-x:hidden}.tree-row{padding-left:var(--sp-1)}.ws-tree .ws-panel-title .t-stamp{display:none}.ws-tree .ws-panel-title svg,.tree-row svg{margin:auto}.ws-messages{left:40px;right:0}}@media(max-width:760px){.ws-shell{display:flex;flex-direction:column;height:auto;min-height:100vh}.ws-menu{overflow:auto}.ws-menu nav{display:none}.ws-toolbar{min-height:34px}.ws-tree{order:2;max-height:180px;border-right:0;border-bottom:1px solid var(--line)}.ws-center{order:3;min-height:560px}.ws-properties{order:4;min-height:140px;border-left:0;border-top:1px solid var(--line)}.ws-messages{position:static;order:5;height:160px;min-height:24px}.ws-status{order:6;min-height:24px}.ws-toolbar label{display:none}}.tree-group-row{color:var(--text-2, var(--muted))}.ws-tabs button{gap:8px}.tab-close{display:inline-flex;align-items:center;color:var(--muted)}.tab-close:hover,.tab-close:focus-visible{color:var(--crit-fg)}.ws-tree{width:100%;box-sizing:border-box}.tree-row{font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.tree-search{height:34px;display:flex;align-items:center;gap:4px;padding:4px 8px;border-bottom:1px solid var(--line);color:var(--muted)}.tree-search input{width:100%;min-width:0;height:24px;padding:4px 8px;border:1px solid var(--line);background:var(--surface);color:var(--text)}.ws-panel-title .tree-sort{margin-left:auto;height:26px;padding:0 4px;border:0;background:transparent;color:var(--text-2)}.ws-panel-title .tree-sort:hover,.ws-panel-title .tree-sort:focus-visible{background:var(--accent-soft);color:var(--accent)}.tree-row .tree-label{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row .tree-reserve{flex:0 0 72px;width:72px;margin-left:auto;color:var(--muted);font:400 var(--fs-small)/var(--lh-small) var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.tree-row .tree-reserve.critical{color:var(--crit-fg)}.tree-row .tree-badge{flex:0 0 auto;margin-left:var(--sp-1)}.tree-row .tree-more{flex:0 0 auto;width:16px;height:16px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--muted)}.tree-row .tree-more:hover,.tree-row .tree-more:focus-visible{background:var(--accent-soft);color:var(--accent)}.tree-note{padding:var(--sp-1) var(--sp-2) var(--sp-1);color:var(--warn-fg)}.tree-row>span.tree-count{flex:0 0 auto;margin-left:auto;padding-left:8px;overflow:visible;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.ws-tabs{flex-wrap:nowrap}.ws-tabs button{max-width:220px;min-width:0;flex:0 0 auto}.ws-tabs button .tab-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-tab-strip{display:flex;min-width:0;height:32px;border-bottom:1px solid var(--line);background:var(--surface-2)}.ws-tab-strip .ws-tabs{min-width:0;flex:1 1 auto;border-bottom:0}.doc-help{position:relative;display:inline-flex;flex:0 0 auto;align-items:center;margin-left:auto}.doc-help-popover{position:absolute;z-index:30;top:32px;right:0;width:250px;padding:8px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.tree-context-menu{position:fixed;z-index:40;display:grid;min-width:170px;padding:var(--sp-1) 0;border:1px solid var(--line);background:var(--surface)}.tree-context-menu button{height:26px;padding:0 8px;border:0;background:transparent;color:var(--text);text-align:left;font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.tree-context-menu button:hover,.tree-context-menu button:focus-visible{background:var(--accent-soft);color:var(--accent)}.ws-grid-doc,.ws-properties,.ws-messages{background:var(--surface);color:var(--text);font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.ws-grid-doc{min-width:0;height:100%;overflow:auto}.ws-doc-head,.ws-grid-actions,.ws-status-filter,.ws-doc-actions{display:flex;align-items:center;gap:var(--sp-1)}.ws-doc-head{justify-content:space-between;min-height:34px;padding:4px 8px;border-bottom:1px solid var(--line)}.ws-doc-head h1{margin:0;font:600 var(--fs-title)/var(--lh-title) var(--font-ui)}.ws-doc-head span{color:var(--muted);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.ws-doc-actions input,.ws-grid-actions input,.ws-property-input{height:26px;padding:var(--sp-1) var(--sp-2);border:1px solid var(--line);background:var(--surface);color:var(--text)}.ws-status-filter{padding:4px 8px;border-bottom:1px solid var(--line-2)}.ws-status-filter button,.ws-messages header nav button{padding:var(--sp-1) var(--sp-2);border:0;background:transparent;color:var(--muted)}.ws-status-filter button.active,.ws-messages header nav button.active{background:var(--accent-soft);color:var(--accent)}.ws-grid-wrap{min-width:0}.ws-grid-actions{padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--line-2)}.ws-grid-actions input{flex:1}.ws-table-scroll{overflow-x:auto}.ws-grid{width:max-content;min-width:100%;border-collapse:collapse;table-layout:fixed}.ws-grid th{position:sticky;top:0;z-index:1;height:var(--row-head);min-width:80px;padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--line);background:var(--surface-2);text-align:left;vertical-align:bottom;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-grid th button{display:block;width:100%;padding:0;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.ws-grid th small{display:block;height:16px;color:var(--muted);font:400 var(--fs-small)/var(--lh-small) var(--font-mono)}.ws-grid td{height:26px;padding:0 var(--sp-2);border-bottom:1px solid var(--line-2);overflow:hidden}.ws-grid td.number{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.ws-cell-value{display:block;width:100%;height:26px;overflow:hidden;padding:0;border:0;background:transparent;color:inherit;text-align:inherit;white-space:nowrap;text-overflow:ellipsis}.ws-cell-editor{width:100%;height:24px;min-width:0;border:1px solid var(--accent);background:var(--surface);color:var(--text);font:inherit}.ws-cell-error,.ws-grid-error,.ws-property-error{display:block;color:var(--crit-fg);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.ws-grid-error{padding:var(--sp-1) var(--sp-2);background:var(--crit-bg)}.ws-add-row td{height:26px}.ws-add-row button{width:100%;border:0;background:transparent;color:var(--accent);text-align:left}.ws-properties{width:auto;min-width:0;height:100%;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--line)}.ws-property-body{flex:1 1 auto;min-height:0;overflow:auto}.ws-properties>header.ws-property-head{display:block;flex:0 0 auto;height:auto;min-height:0;padding:0;border-bottom:0}.ws-properties header>span,.ws-properties label span,.ws-property-group h3{color:var(--muted);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.ws-properties header>strong{display:block;color:var(--muted);font:400 var(--fs-small)/var(--lh-small) var(--font-ui);font-weight:400}.ws-properties h2{margin:var(--sp-1) 0 0;font:600 var(--fs-title)/var(--lh-title) var(--font-ui)}.ws-empty{padding:12px;color:var(--muted)}.ws-properties details{border-bottom:1px solid var(--line)}.ws-properties summary{padding:var(--sp-2);color:var(--accent);font:600 var(--fs-stamp)/var(--lh-stamp) var(--font-ui);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.ws-property-group{padding:0 var(--sp-2) var(--sp-1)}.ws-property-group h3{margin:var(--sp-1) 0;letter-spacing:.06em;text-transform:uppercase}.ws-properties label{display:grid;grid-template-columns:1fr 130px;align-items:center;gap:var(--sp-2);min-height:26px}.ws-properties label small{grid-column:2;color:var(--muted);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.ws-properties label>small:not(.ws-cell-error){text-align:right}.ws-property-input{width:100%;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ws-property-input[type=number]{text-align:right}.ws-property-input::placeholder{color:var(--muted)}.ws-mode-values,.ws-relations{padding:var(--sp-1) var(--sp-2)}.ws-mode-values span{display:flex;justify-content:space-between;gap:var(--sp-2);padding:4px 0;border-bottom:1px solid var(--line-2)}.ws-relations>div{display:flex;flex-direction:column;align-items:stretch;padding:4px 0;border-bottom:1px solid var(--line-2)}.ws-mode-values b{min-width:0;overflow-wrap:anywhere;font:400 var(--fs-num)/var(--lh-num) var(--font-mono)}.ws-relations button{min-width:0;height:24px;padding:0 0 0 var(--sp-2);overflow:hidden;border:0;background:transparent;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;text-align:left}.ws-relations>div>span{color:var(--text-2)}.ws-relations details{border-bottom:1px solid var(--line-2)}.ws-relations>.ws-relation-scenarios{display:block}.ws-relation-scenarios>span{display:block}.ws-relations details summary{padding:4px 0;color:var(--muted);cursor:pointer}.ws-relations details button{display:block;width:100%}.ws-inline-link{padding:0;border:0;background:transparent;color:var(--accent);font:inherit;text-align:right;text-decoration:underline;text-underline-offset:2px}.ws-property-tool{padding:var(--sp-1) var(--sp-2)}.ws-property-actions{display:flex;gap:var(--sp-1);padding:8px;border-top:1px solid var(--line)}.ws-messages{height:160px;border-top:1px solid var(--line)}.ws-messages header{display:flex;align-items:center;gap:8px;height:26px;padding:0 8px;border-bottom:1px solid var(--line);background:var(--surface-2)}.ws-messages header>span{color:var(--crit-fg);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.ws-messages header nav{display:flex;gap:var(--sp-1);margin-left:8px}.ws-messages header button{padding:var(--sp-1) var(--sp-2);border:0;background:transparent;color:var(--muted)}.ws-messages header>button:first-of-type{margin-left:auto}.ws-message-list{height:133px;overflow:auto}.ws-message{display:grid;grid-template-columns:16px 60px 1fr;align-items:center;width:100%;height:26px;padding:0 8px;border:0;border-bottom:1px solid var(--line-2);background:transparent;color:var(--text);text-align:left}.ws-message i{color:var(--accent);font-style:normal}.ws-message time{color:var(--muted);font:400 var(--fs-num)/var(--lh-num) var(--font-mono)}.ws-message.warn i{color:var(--warn-fg)}.ws-message.error i{color:var(--crit-fg)}.ws-grid tr.ws-level-warning td{color:var(--warn-fg)}.ws-grid tr.ws-level-overload td,.ws-grid tr.ws-level-critical td{color:var(--crit-fg)}.ws-properties label .ws-cell-error{grid-column:2}.ws-headroom{display:block;padding:var(--sp-2) 0}.ws-mode-values .ws-headroom b{display:block;font:600 var(--fs-key)/var(--lh-key) var(--font-mono)}.ws-load-chart{padding:var(--sp-1) var(--sp-2)}.ws-load-chart svg{display:block}.ws-grid th:first-child{left:0;z-index:3}.ws-grid td:first-child{position:sticky;left:0;z-index:2;background:var(--surface)}.ws-grid tr.selected td:first-child{background:var(--accent-soft)}.ws-grid td{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-grid th button,.ws-cell-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-readonly-note{color:var(--muted);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.ws-group-row td{position:static!important;height:26px;padding:0 var(--sp-2);background:var(--surface-3, var(--surface-2));color:var(--muted)}.ws-group-row button{display:flex;align-items:center;gap:var(--sp-2);width:100%;border:0;background:transparent;color:inherit;text-align:left}.ws-group-row button span{width:12px;color:var(--accent)}.ws-group-row button small{margin-left:auto;font:400 var(--fs-small)/var(--lh-small) var(--font-mono)}.ws-grid-empty{padding:var(--sp-2);color:var(--muted);text-align:left}.ws-properties h2 .doc-help,.ws-doc-head h1 .doc-help,.ws-messages .doc-help{vertical-align:middle}.ws-properties label{grid-template-columns:120px minmax(0,1fr);align-items:start}.ws-properties select,.ws-properties input,.ws-properties textarea{max-width:100%;box-sizing:border-box}.ws-properties label>span{overflow-wrap:anywhere}.ws-property-input,.ws-property-readonly{min-width:0}.ws-property-input[type=number],.ws-property-readonly{text-align:right}.ws-property-readonly{display:block;min-height:24px;padding:4px 0;overflow-wrap:anywhere;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ws-property-identifier{text-align:left;overflow-wrap:anywhere;word-break:break-word}.ws-property-textarea{min-height:26px;height:26px;resize:none;overflow:hidden;line-height:var(--lh-body)}.ws-property-ports{padding:4px 8px 8px;overflow-x:auto}.ws-property-ports table{width:100%;border-collapse:collapse;font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.ws-property-ports th,.ws-property-ports td{height:26px;padding:0 4px;border-bottom:1px solid var(--line-2);text-align:left;white-space:nowrap}.ws-property-ports th{color:var(--muted);font-weight:400}.ws-property-ports th:nth-child(-n+3),.ws-property-ports td:nth-child(-n+3){text-align:right;font-family:var(--font-mono)}.ws-property-ports th:nth-child(1),.ws-property-ports td:nth-child(1){width:24px}.ws-property-ports tfoot td{border-top:1px solid var(--line);border-bottom:0;color:var(--text-2, var(--muted));text-align:right;font-family:var(--font-mono)}.ws-port-power{width:100%;height:24px;min-width:0;padding:0 var(--sp-1);border:1px solid transparent;background:transparent;color:var(--text);font:inherit;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.ws-port-power:hover,.ws-port-power:focus{border-color:var(--line);background:var(--surface)}.ws-port-power:focus{border-color:var(--accent);outline:none}.ws-properties summary{display:flex;align-items:center;gap:var(--sp-2);min-height:26px;color:var(--muted);font:600 var(--fs-stamp)/var(--lh-stamp) var(--font-ui);letter-spacing:.08em;text-transform:uppercase}.ws-properties summary:before{content:"›";color:var(--accent);font:400 var(--fs-title)/var(--lh-title) var(--font-ui);transform:rotate(0)}.ws-properties details[open]>summary:before{transform:rotate(90deg)}.ws-properties summary:hover{background:var(--accent-soft)}.ws-messages{position:absolute;overflow:hidden;min-height:24px;max-height:50vh}.ws-messages header{min-width:0}.ws-messages header strong,.ws-messages header nav,.ws-messages header>button{flex:0 0 auto}.ws-message-counts{display:flex;gap:var(--sp-1);color:var(--muted);font:400 var(--fs-small)/var(--lh-small) var(--font-mono)}.ws-count-error{color:var(--crit-fg)}.ws-count-warn{color:var(--warn-fg)}.ws-message-list{height:calc(100% - 26px)}.ws-messages[data-compact=true] .ws-message-list{display:none}.ws-messages[data-compact=true] nav,.ws-messages[data-compact=true] header>button{display:none}.ws-messages[data-compact=true] header,.ws-messages-collapsed header{height:24px}.ws-messages-collapsed{height:24px}.ws-messages .ws-empty{margin:0;padding:8px}.ws-messages-collapsed header button{margin-left:auto}.ws-station-dialog{width:min(360px,calc(100vw - 32px));padding:var(--sp-4);border:1px solid var(--line);background:var(--surface);color:var(--text)}.ws-station-dialog h2{margin:0 0 12px;font:600 var(--fs-title)/var(--lh-title) var(--font-ui)}.ws-station-dialog label{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;align-items:center;min-height:32px;color:var(--muted);font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.ws-station-dialog select,.ws-station-dialog input{min-width:0;height:26px;border:1px solid var(--line);background:var(--surface);color:var(--text)}.ws-property-actions{flex-wrap:wrap}.ws-property-actions button{min-width:0;flex:1 1 140px}.ws-grid td.cell-clip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-relations button,.ws-relations details button{font:400 var(--fs-body)/var(--lh-body) var(--font-ui);white-space:nowrap}.ws-grid-doc,.ws-properties,.ws-messages{font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.ws-doc-head h1.t-title{margin:0}.ws-doc-head>div:first-child{min-width:0}.ws-doc-head>div:first-child>span{display:block;color:var(--text-2, var(--muted))}.ws-grid-filter-crumb{display:flex;align-items:center;gap:8px;min-height:26px;padding:0 8px;border-bottom:1px solid var(--line-2);background:var(--surface-3, var(--surface-2));color:var(--text-2, var(--muted))}.ws-grid-filter-crumb button{width:26px;height:26px;padding:0;border:0;background:transparent;color:var(--accent);font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.ws-panel-head,.ws-messages>header{display:flex;align-items:center;gap:8px;box-sizing:border-box;height:26px;min-height:26px;padding:0 8px;border-bottom:1px solid var(--line);background:var(--surface-2)}.ws-property-head .ws-panel-head>span.t-stamp{display:inline-flex;align-items:center;color:var(--text-2, var(--muted))}.ws-property-head-tools{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.ws-panel-close{width:26px;height:26px;padding:0;border:0;background:transparent;color:var(--muted);display:inline-grid;place-items:center}.ws-panel-close:hover,.ws-panel-close:focus-visible{color:var(--accent)}.ws-property-meta{padding:8px;border-bottom:1px solid var(--line)}.ws-property-meta>span.t-stamp{display:block;color:var(--text-2, var(--muted));font:600 var(--fs-stamp)/var(--lh-stamp) var(--font-ui);letter-spacing:.08em;text-transform:uppercase}.ws-property-meta>h2.t-title{margin:var(--sp-1) 0 0;display:block;max-height:calc(var(--lh-title) * 2);overflow:hidden;overflow-wrap:anywhere}.ws-properties>h2{margin:0}.ws-properties label>span.t-body{color:var(--text-2, var(--muted))}.ws-properties label small{font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.ws-property-input.t-num,.ws-property-readonly.t-num{text-align:right}.ws-grid th button.t-stamp{color:var(--text-2, var(--muted))}.ws-grid th button.t-stamp.number{text-align:right}.ws-grid th small.t-small{height:16px;color:var(--text-2, var(--muted));font:400 var(--fs-small)/var(--lh-small) var(--font-mono)}.ws-grid td{height:26px;min-height:26px;padding:0 8px}.ws-grid tr.selected td{background:var(--accent-soft)}.ws-grid tr.selected td:first-child{border-inline-start:2px solid var(--accent)}.ws-grid tr.ws-level-normal td{color:var(--ok);background:var(--ok-bg, var(--surface))}.ws-grid tr.ws-level-warning td{color:var(--warn-fg);background:var(--warn-bg)}.ws-grid tr.ws-level-overload td,.ws-grid tr.ws-level-critical td{color:var(--crit-fg);background:var(--crit-bg)}.ws-grid tr.ws-level-normal td:first-child{border-inline-start:4px solid var(--ok)}.ws-grid tr.ws-level-warning td:first-child{border-inline-start:4px solid var(--warn-fg)}.ws-grid tr.ws-level-overload td:first-child,.ws-grid tr.ws-level-critical td:first-child{border-inline-start:4px solid var(--crit-fg)}.ws-grid td.number,.ws-grid td .t-num{text-align:right}.ws-grid td .t-num{display:block}.ws-messages>header strong.t-stamp{color:var(--text-2, var(--muted))}.ws-messages .ws-message-counts{display:flex;gap:8px;color:var(--text-2, var(--muted));font:400 var(--fs-small)/var(--lh-small) var(--font-mono)}.ws-messages .ws-message{height:26px;min-height:26px;border-inline-start:4px solid var(--accent-line, var(--accent-soft))}.ws-messages .ws-message.warn{border-inline-start-color:var(--warn-fg);background:var(--warn-bg)}.ws-messages .ws-message.error{border-inline-start-color:var(--crit-fg);background:var(--crit-bg)}.ws-messages .ws-message.info{border-inline-start-color:var(--accent-line, var(--accent));background:var(--info-bg, var(--accent-soft))}.ws-messages .ws-message time.t-num{color:var(--text-2, var(--muted));font:400 var(--fs-num)/var(--lh-num) var(--font-mono)}.ws-station-dialog h2{font:600 var(--fs-title)/var(--lh-title) var(--font-ui)}.ws-station-dialog label{color:var(--text-2, var(--muted));font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.ws-cell-required{border:1px solid var(--warn-fg)}.ws-cell-required:after{content:" *";color:var(--warn-fg)}.ws-saved-mark{grid-column:2;display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;color:var(--ok);font:400 var(--fs-small)/var(--lh-small) var(--font-ui);text-align:right}.substation-wizard input[aria-invalid=true]{border-color:var(--crit-fg)}:root{--paper: #e6e8e3;--surface: #fff;--surface-2: #f2f3f0;--surface-3: #e2e5df;--line: #bfc4bd;--line-2: #e0e3de;--text: #171917;--text-2: #3b403b;--muted: #5f655c;--accent: #0b57d0;--accent-soft: #e4ecfb;--accent-line: #9db8ea;--ok: #1f6f3f;--ok-bg: #e3f2e8;--warn-fg: #7a4b00;--warn-bg: #fff3d6;--crit-fg: #a3261b;--crit-bg: #fbe4e2;--info-bg: var(--accent-soft);--kv110: #0099ff;--kv10: #6600cc;--kv6: #006600;--kv04: #7f7f7f;--font-ui: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--fs-stamp: 10.5px;--fs-small: 11px;--fs-body: 13px;--fs-num: 12px;--fs-key: 13px;--fs-title: 16px;--fs-h1: 20px;--lh-stamp: 14px;--lh-small: 16px;--lh-body: 18px;--lh-num: 18px;--lh-key: 18px;--lh-title: 22px;--lh-h1: 26px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--bg: var(--paper);--panel: var(--surface);--panel-2: var(--surface-2);--panel-raised: var(--surface);--border: var(--line);--text-secondary: var(--text-2);--green: var(--ok);--amber: var(--warn-fg);--red: var(--crit-fg);--blue: var(--accent);--on-accent: #fff;--font-xs: var(--fs-small);--font-sm: var(--fs-body);--font-md: var(--fs-title);--font-lg: var(--fs-title)}:root[data-theme=dark]{--paper: #14171a;--surface: #1c2024;--surface-2: #262b30;--surface-3: #30363b;--line: #3d444b;--line-2: #30363b;--text: #e6e8e4;--text-2: #c7ccc6;--muted: #aab0aa;--accent: #77a7ff;--accent-soft: #263650;--accent-line: #526f9f;--on-accent: #14171a;--ok: #7ac995;--ok-bg: #203829;--warn-fg: #e4b35b;--warn-bg: #463719;--crit-fg: #ff9288;--crit-bg: #482523;--kv110: #55b8ff;--kv10: #b388ff;--kv6: #4caf50;--kv04: #a0a4a0}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--paper);color:var(--text);font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}button,input,select,textarea{font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}button{cursor:pointer}a{color:var(--accent)}svg{width:16px;height:16px;stroke-width:1.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.t-stamp{font:600 var(--fs-stamp)/var(--lh-stamp) var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.t-small{font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.t-body{font:400 var(--fs-body)/var(--lh-body) var(--font-ui)}.t-num{font:400 var(--fs-num)/var(--lh-num) var(--font-mono);font-variant-numeric:tabular-nums}.t-key{font:600 var(--fs-key)/var(--lh-key) var(--font-mono);font-variant-numeric:tabular-nums}.t-title{font:600 var(--fs-title)/var(--lh-title) var(--font-ui)}.app-shell{display:grid;grid-template:32px 1fr 24px/1fr;min-height:100vh}.minimal-frame{grid-template:32px 1fr 24px/1fr}.topbar-nav{display:flex;gap:var(--sp-3);margin-left:var(--sp-3)}.topbar-nav a{color:var(--text-2);text-decoration:none}.topbar-nav a:hover{color:var(--accent)}.topbar{grid-column:1/-1;display:flex;align-items:center;gap:var(--sp-3);height:32px;padding:0 var(--sp-2);border-bottom:1px solid var(--line);background:var(--surface)}.brand{letter-spacing:.12em;font:600 var(--fs-body)/var(--lh-body) var(--font-ui)}.health-status{display:flex;align-items:center;gap:var(--sp-2);color:var(--muted);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.health-status i{width:8px;height:8px;border:1px solid var(--muted);border-radius:50%}.health-status.online i{border-color:var(--ok);background:var(--ok)}.health-status.offline i{border-color:var(--crit-fg);background:var(--crit-fg)}main{grid-column:1;grid-row:2;min-width:0;overflow:auto;padding:var(--sp-4)}.statusbar{grid-column:1;grid-row:3;display:flex;align-items:center;height:24px;padding:0 var(--sp-2);border-top:1px solid var(--line);background:var(--surface-2);color:var(--muted);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.document-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}h1{margin:0;font:600 var(--fs-title)/var(--lh-title) var(--font-ui)}h2,h3{margin:0 0 var(--sp-2);font:600 var(--fs-title)/var(--lh-title) var(--font-ui)}.document-note{color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.icon-button{width:26px;height:26px;min-height:26px;padding:0;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:2px;background:var(--surface-2);color:var(--text)}.icon-button:hover{border-color:var(--accent);color:var(--accent)}button,.primary-button,.ghost-button{min-height:26px;padding:0 var(--sp-2);border:1px solid var(--line);border-radius:2px;background:var(--surface-2);color:var(--text)}.primary-button{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.ghost-button{background:transparent}.primary-button:disabled,button:disabled{opacity:.45;cursor:not-allowed}.row-actions,.section-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-1)}.row-actions button{width:22px;height:22px;min-height:22px;padding:0}.danger,.danger-button{color:var(--crit-fg)}input,select,textarea{min-height:26px;padding:var(--sp-1) var(--sp-2);border:1px solid var(--line);border-radius:2px;background:var(--surface);color:var(--text)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.form-grid label,.settings-form label,.survey-identity label,.rating-grid label{display:flex;flex-direction:column;gap:var(--sp-1);color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.wide-field{grid-column:span 2}.settings-form{display:grid;gap:var(--sp-2);max-width:480px}.form-error{padding:var(--sp-2);border:1px solid var(--crit-fg);background:var(--crit-bg);color:var(--crit-fg);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.form-ok{padding:var(--sp-2);border:1px solid var(--ok);background:var(--ok-bg);color:var(--ok);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.document-table-wrap,.help-table{overflow:auto;border:1px solid var(--line);background:var(--surface)}.document-table,.help-table,.users-table{width:100%;border-collapse:collapse}.document-table th,.help-table th,.users-table th{height:26px;padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--line);background:var(--surface-2);font:600 var(--fs-stamp)/var(--lh-stamp) var(--font-ui);letter-spacing:.08em;text-align:left;text-transform:uppercase;color:var(--muted)}.document-table td,.help-table td,.users-table td{height:26px;padding:var(--sp-1) var(--sp-2);border-bottom:1px solid var(--line-2)}.document-table td:nth-child(n+2),.help-table td:nth-child(n+2),.users-table td:nth-child(n+2){font:400 var(--fs-num)/var(--lh-num) var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.document-table td:first-child,.help-table td:first-child,.users-table td:first-child{text-align:left}.document-table tbody tr:hover,.help-table tbody tr:hover,.users-table tbody tr:hover{background:var(--accent-soft)}.admin-tag{display:inline-flex;height:16px;align-items:center;margin-left:var(--sp-2);padding:0 var(--sp-2);border:1px solid var(--line);vertical-align:middle}.empty-state{display:grid;min-height:120px;place-items:center;color:var(--muted);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}dialog{max-width:min(850px,92vw);max-height:88vh;padding:var(--sp-4);border:1px solid var(--line);border-radius:2px;background:var(--surface);color:var(--text)}.modal-card,.crud-modal,.import-dialog,.access-dialog{position:relative}.modal-close{position:absolute;top:var(--sp-2);right:var(--sp-2)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-3)}.modal-note{color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.access-public,.access-members,.access-owner{padding:var(--sp-2) 0}.access-public{display:flex;align-items:center;gap:var(--sp-2)}.access-share{display:flex;align-items:center;gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid var(--line)}.loading-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:var(--sp-3);background:var(--paper);color:var(--muted)}.loader{width:24px;height:24px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.wizard-launch{margin-left:auto}.public-survey{max-width:900px;margin:0 auto;padding:var(--sp-4)}.public-survey-header,.survey-identity,.survey-site,.survey-done{padding:var(--sp-4);margin-bottom:var(--sp-3);border:1px solid var(--line);background:var(--surface)}.survey-identity>div,.rating-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-2)}.survey-scale,.site-facts{color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.site-facts{display:flex;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-2) 0}.survey-submit{width:100%;min-height:34px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent)}.survey-error{padding:var(--sp-2);margin-bottom:var(--sp-3);color:var(--crit-fg);background:var(--crit-bg)}.projects-page{max-width:1100px;margin:0 auto}.projects-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.projects-title{margin:0;font:600 var(--fs-h1)/var(--lh-h1) var(--font-ui)}.projects-actions-row{display:flex;align-items:center;gap:var(--sp-2);height:34px;margin-bottom:var(--sp-4)}.projects-search{width:220px;margin-left:auto}.projects-group{margin:0 0 var(--sp-5)}.projects-group-head{display:flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-2)}.projects-group-head:after{content:"";flex:1;height:1px;background:var(--line)}.projects-table td:first-child{width:26%;max-width:280px;overflow:hidden}.projects-name{display:block;width:100%;overflow:hidden;padding:0;border:0;background:none;color:var(--accent);font-weight:400;text-align:left;text-overflow:ellipsis;white-space:nowrap}.projects-name:hover{text-decoration:underline}.projects-purpose{display:block;max-width:320px;overflow:hidden;color:var(--muted);font:400 var(--fs-body)/var(--lh-body) var(--font-ui);text-align:left;text-overflow:ellipsis;white-space:nowrap}.projects-table td.projects-role-cell{text-align:left}.projects-role{display:inline-flex;height:16px;align-items:center;padding:0 var(--sp-2);border:1px solid var(--line)}.projects-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-1)}.projects-row-actions .icon-button{width:26px;height:26px;min-height:26px}.projects-table.document-table th,.projects-table.document-table td{height:26px;padding:0 var(--sp-2);white-space:nowrap;vertical-align:middle}.projects-table th:nth-child(n+4){text-align:right}.projects-empty-row td{color:var(--muted)}.projects-create-fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.settings-page{max-width:1100px;margin:0 auto;padding:var(--sp-5)}.settings-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.settings-head .t-small{color:var(--muted)}.settings-section{margin-bottom:var(--sp-5)}.settings-section-head{display:flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3)}.settings-section-head:after{content:"";flex:1;height:1px;background:var(--line)}.settings-themes{display:flex;gap:var(--sp-3)}.settings-theme{width:200px;height:120px;display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2);border:1px solid var(--line);border-radius:2px;background:var(--surface-2);color:var(--text);text-align:left}.settings-theme.is-active{border-color:var(--accent)}.settings-theme-preview{flex:1;display:grid;grid-template-columns:24px 1fr;grid-template-rows:12px 1fr;gap:var(--sp-2);padding:var(--sp-2);border:1px solid var(--line);background:var(--paper)}.settings-theme-preview.light{--paper: #e6e8e3;--surface: #fff;--surface-2: #f2f3f0;--line: #bfc4bd;--line-2: #e0e3de;--accent: #0b57d0}.settings-theme-preview.dark{--paper: #14171a;--surface: #1c2024;--surface-2: #262b30;--line: #3d444b;--line-2: #30363b;--accent: #77a7ff}.settings-theme-preview i{border:1px solid var(--line-2);background:var(--surface)}.settings-theme-bar{grid-column:1/-1}.settings-theme-side{background:var(--surface-2)}.settings-theme-main{position:relative}.settings-theme-main:before{content:"";position:absolute;top:var(--sp-2);right:40%;left:var(--sp-2);height:4px;background:var(--accent)}.settings-theme-main:after{content:"";position:absolute;right:20%;bottom:var(--sp-2);left:var(--sp-2);height:4px;background:var(--line-2)}.settings-theme-name{color:var(--muted)}.settings-form button{justify-self:start}.settings-users-form{display:flex;align-items:center;gap:var(--sp-2);height:34px;margin-bottom:var(--sp-3)}.settings-users-form input{flex:1;min-width:120px}.users-table th{height:26px;padding:0 var(--sp-2);white-space:nowrap}.users-table td{height:26px;padding:0 var(--sp-2);white-space:nowrap;vertical-align:middle}.users-table .ghost-button{height:26px;min-height:26px;padding:0 var(--sp-2)}.user-cut{display:inline-block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.login-screen{min-height:100vh;display:grid;place-items:center;padding:var(--sp-4);background:var(--paper)}.login-card{width:360px;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:2px;background:var(--surface)}.login-field{display:flex;flex-direction:column;gap:var(--sp-1);color:var(--text-2);font:400 var(--fs-small)/var(--lh-small) var(--font-ui)}.login-field input{height:26px;padding:0 var(--sp-2)}.login-submit{width:100%}.login-note{margin:0;color:var(--muted)}.help-page{max-width:900px;margin:0 auto;display:grid;grid-template-columns:200px 1fr;align-items:start;gap:var(--sp-4)}.help-contents{display:flex;flex-direction:column;gap:var(--sp-2)}.help-contents ul{margin:0;padding:0;list-style:none}.help-contents-link{width:100%;padding:0 var(--sp-2);border:0;background:none;color:var(--text);text-align:left}.help-contents-link:hover{background:var(--accent-soft);color:var(--accent)}.help-body{min-width:0}.help-section{padding-bottom:var(--sp-3);margin-bottom:var(--sp-3);border-bottom:1px solid var(--line);scroll-margin-top:var(--sp-3)}.help-section p{margin:var(--sp-2) 0 0;color:var(--text-2)}.help-table{overflow:auto;border:1px solid var(--line);background:var(--surface)}dialog:has(.help-page){width:900px;max-width:min(900px,92vw);overflow:auto}@media(max-width:760px){.projects-actions-row{height:auto;flex-direction:column;align-items:stretch}.projects-create-fields,.settings-themes{grid-template-columns:1fr}.projects-search{width:100%;margin-left:0}.help-page{grid-template-columns:1fr}}@media(max-width:760px){.app-shell,.minimal-frame{display:block}.topbar{overflow:auto}main{padding:var(--sp-3)}.form-grid,.rating-grid,.survey-identity>div{grid-template-columns:1fr}.access-share{align-items:stretch;flex-direction:column}}
