.pdm-login-page{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:#f3f6fb}.pdm-login-brand{min-width:0;display:flex;align-items:center;padding:56px;background:#042b58;color:#fff}.pdm-login-brand>.ant-space{width:100%}.pdm-login-brand h1.ant-typography{margin:0 0 16px;color:#fff;font-size:28px;line-height:1.25}.pdm-login-brand .ant-typography{max-width:560px;color:#ffffffd6}.pdm-login-brand-caption{font-size:18px}.pdm-login-points{display:flex;flex-wrap:wrap;gap:8px}.pdm-login-points span{padding:8px;border:1px solid rgb(255 255 255 / 24%);border-radius:8px;font-size:13px}.pdm-login-panel{min-width:0;display:flex;align-items:center;justify-content:center;padding:40px 24px}.pdm-login-card{width:min(440px,100%);min-width:0;box-sizing:border-box;border:1px solid #d8e2f0;border-radius:8px;box-shadow:none}.pdm-login-card>.ant-card-body{padding:32px}.pdm-login-card h2.ant-typography{font-size:24px}.pdm-login-card .ant-alert{overflow-wrap:anywhere}.pdm-login-card .ant-btn{white-space:nowrap}.pdm-login-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;background:#e7f0ff;color:#1677ff;font-size:24px}.pdm-login-footnote{display:block;font-size:12px;line-height:1.6}.pdm-auth-state{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;box-sizing:border-box}.pdm-password-toggle{display:inline-flex;border:0;background:transparent;padding:4px;color:inherit;cursor:pointer}@media (max-width: 1180px){.pdm-login-brand{padding:40px}}@media (max-width: 900px){.pdm-login-page{grid-template-columns:minmax(0,1fr)}.pdm-login-brand{padding:32px 24px}.pdm-login-panel{padding:24px 16px 40px}}@media (max-width: 480px){.pdm-login-card>.ant-card-body{padding:24px}}html,body,#root{min-height:100%;margin:0}body{background:#f3f6fb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#1f2933}.pdm-shell{min-height:100vh;background:#f3f6fb}.pdm-logo{display:flex;align-items:center;gap:8px;color:#1f2933;font-weight:700;letter-spacing:0}.cable-cad-page{min-height:calc(100vh - 64px);margin-left:172px;padding:18px;box-sizing:border-box;background:#f3f6fb}.ant-layout-content:has(>.cable-cad-page){padding:0!important}.cable-cad-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.cable-cad-page-head h1,.cable-cad-page-head .ant-typography{margin:0 0 4px!important}.cable-cad-page-head h1,.cable-cad-page-head h2.ant-typography{color:#1f2933;font-size:23px;font-weight:700;line-height:1.25}.cable-cad-page-head p{margin:4px 0 0;color:#667085}.cable-cad-lock-banner{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;margin-bottom:12px;border:1px solid #91caff;border-radius:8px;background:#e6f4ff;color:#344054}.cable-cad-lock-banner strong{color:#0958d9}.cable-cad-page>.ant-alert{margin-bottom:12px}.cable-cad-workspace{display:grid;grid-template-columns:318px minmax(460px,1fr) 292px;gap:10px;align-items:stretch}.cable-cad-card{min-width:0;border:1px solid #e5edf7;border-radius:8px;overflow:hidden;box-shadow:none}.cable-cad-card>.ant-card-head{min-height:46px;padding:0 14px;border-bottom-color:#edf2f7}.cable-cad-card>.ant-card-head .ant-card-head-title{padding:10px 0;font-weight:700}.cable-cad-parameter-card>.ant-card-body,.cable-cad-validation-card>.ant-card-body{padding:14px}.cable-cad-form-row{margin-bottom:10px}.cable-cad-label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;color:#344054;font-weight:600}.cable-cad-label small{color:#98a2b3;font-size:11px;font-weight:400}.cable-cad-parameter-card .ant-input-number{width:100%}.cable-cad-number-input{display:grid;grid-template-columns:minmax(0,1fr) 38px}.cable-cad-number-input .ant-input-number{border-radius:6px 0 0 6px}.cable-cad-number-input>span{display:grid;place-items:center;color:#98a2b3;font-size:11px;background:#fff;border:1px solid #d9d9d9;border-left:0;border-radius:0 6px 6px 0}.cable-cad-color-palette{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.cable-cad-swatch{height:30px;min-width:0;display:grid;place-items:center;padding:0;border:1px solid #d0d5dd;border-radius:6px;color:#fff;cursor:pointer}.cable-cad-swatch:nth-child(2){color:#1f2933}.cable-cad-swatch-active{outline:2px solid #1677ff;outline-offset:1px}.cable-cad-swatch:disabled{cursor:not-allowed;opacity:.58}.cable-cad-fixed-hint{padding:9px 10px;margin-top:10px;border:1px dashed #d7e3f3;border-radius:6px;background:#f8fafc;color:#475467;font-size:12px;line-height:1.55}.cable-cad-preview-card{min-height:618px}.cable-cad-preview-card>.ant-card-body{min-height:calc(100% - 46px);display:grid;grid-template-rows:minmax(0,1fr) auto;padding:12px}.cable-cad-viewer-shell{min-height:570px;overflow:hidden;border:1px solid #d7e3f3;border-radius:8px;background:#f5f9fe}.cable-cad-viewer-shell>.ant-spin-nested-loading,.cable-cad-viewer-shell .ant-spin-container{height:100%;min-height:570px}.cable-cad-poster,.cable-cad-three-host{position:relative;width:100%;height:100%;min-height:570px;overflow:hidden}.cable-cad-poster{display:grid;place-items:center}.cable-cad-poster img{width:100%;height:100%;min-height:570px;object-fit:contain;transform:scale(1.06)}.cable-cad-poster .ant-typography{position:absolute;right:12px;bottom:10px;padding:3px 6px;border-radius:4px;background:#ffffffe0}.cable-cad-three-host canvas{display:block;width:100%;height:100%}.cable-cad-viewer-loading{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:8px;text-align:center;color:#667085;background:#f5f9fee0}.cable-cad-viewer-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;font-size:12px}.cable-cad-preview-ok{color:#389e0d;font-weight:600;white-space:nowrap}.cable-cad-layer-list{display:grid;gap:7px}.cable-cad-layer{width:100%;min-height:54px;display:grid;grid-template-columns:24px minmax(0,1fr) 52px;align-items:center;gap:8px;padding:8px;border:1px solid #edf2f7;border-radius:7px;background:#fbfdff;color:#1f2933;text-align:left;cursor:pointer}.cable-cad-layer:hover{border-color:#91caff;background:#f0f7ff}.cable-cad-layer-dot{width:18px;height:18px;border:1px solid rgb(0 0 0 / 18%);border-radius:50%}.cable-cad-layer span:nth-child(2){min-width:0}.cable-cad-layer strong,.cable-cad-layer small{display:block}.cable-cad-layer small{overflow:hidden;margin-top:2px;color:#98a2b3;font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.cable-cad-layer b{text-align:right;font-variant-numeric:tabular-nums}.cable-cad-thickness-table{width:100%;margin-top:10px;border-collapse:collapse;font-size:12px}.cable-cad-thickness-table th,.cable-cad-thickness-table td{padding:7px 6px;border-bottom:1px solid #edf2f7}.cable-cad-thickness-table th{color:#667085;font-weight:600;text-align:left}.cable-cad-thickness-table th:last-child,.cable-cad-thickness-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.cable-cad-checks{display:grid;gap:7px;margin-top:10px}.cable-cad-check{display:flex;align-items:center;justify-content:space-between;padding:8px 9px;border:1px solid #b7eb8f;border-radius:6px;background:#f6ffed}.cable-cad-check b{color:#389e0d}.cable-cad-check-error{border-color:#ffccc7;background:#fff2f0}.cable-cad-check-error b{color:#cf1322}.cable-cad-generation-note{padding:9px;margin-top:10px;border:1px solid #ffd591;border-radius:6px;background:#fff7e6;color:#874d00;font-size:12px;line-height:1.5}.cable-cad-confirm-descriptions{margin:12px 0}.cable-cad-records-page .ant-pro-table,.cable-cad-detail-page>.pdm-section-card{background:#fff}.cable-cad-detail-page{display:grid;gap:12px}.cable-cad-detail-page .cable-cad-page-head{margin-bottom:0}.cable-cad-detail-viewer{height:560px;overflow:hidden;border:1px solid #d7e3f3;border-radius:8px}@media (max-width: 1180px){.cable-cad-workspace{grid-template-columns:300px minmax(0,1fr)}.cable-cad-validation-card{grid-column:1 / -1}}.pdm-logo-mark{width:18px;height:18px;border:2px solid #3fb2ff;border-radius:6px;transform:rotate(45deg);position:relative}.pdm-logo-mark:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#eb2f96;top:4px;left:4px}.pdm-topbar{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}.pdm-page-placeholder{min-height:480px;padding:18px;background:#fff;border:1px solid #e5edf7;border-radius:8px}.pdm-page-placeholder h1{margin:0 0 8px;font-size:24px}.pdm-sidebar-menu{position:fixed;z-index:21;top:64px;left:0;width:172px;min-height:calc(100vh - 64px);padding:8px;box-sizing:border-box;background:linear-gradient(180deg,#042b58,#073a73)}.ant-pro-page-container{margin-left:172px}.pdm-menu-group{margin-bottom:4px}.pdm-menu-button,.pdm-submenu-button{width:100%;min-height:32px;border:0;border-radius:6px;background:transparent;color:#ffffffd1;display:flex;align-items:center;gap:8px;padding:0 10px;font-size:13px;text-align:left;cursor:pointer}.pdm-menu-button-active,.pdm-menu-button:hover,.pdm-submenu-button-active,.pdm-submenu-button:hover{background:#0958d9;color:#fff}.pdm-submenu{margin:4px 0 0 26px}.pdm-submenu-button{min-height:28px;font-size:12px}.pdm-state-loading{min-height:160px;display:grid;gap:8px}.pdm-numeric-cell{display:block;text-align:right;font-variant-numeric:tabular-nums}.pdm-section-card,.pdm-metric-card{border:1px solid #e5edf7;border-radius:8px}.pdm-chart{min-height:220px;display:flex;align-items:center;justify-content:center;color:#667085;background:#fbfdff;border:1px dashed #d7e3f3;border-radius:8px;font-size:13px}.pdm-workbench-table .ant-table-cell,.pdm-workbench-table .ant-radio-wrapper{white-space:nowrap}.pdm-section-card .ant-card-head-title{white-space:normal}button:focus-visible,a:focus-visible,.ant-btn:focus-visible{outline:2px solid #1677ff;outline-offset:2px}@media (max-width: 900px){.pdm-sidebar-menu{position:static;width:100%;min-height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.ant-pro-page-container{margin-left:0}.cable-cad-page{margin-left:0;padding:12px}.cable-cad-page-head,.cable-cad-lock-banner,.cable-cad-viewer-foot{align-items:flex-start;flex-direction:column}.cable-cad-workspace{grid-template-columns:1fr}.cable-cad-validation-card{grid-column:auto}.pdm-submenu{margin-left:0}.pdm-responsive-drawer .ant-drawer-content-wrapper{width:100vw!important}.pdm-page-placeholder,.pdm-section-card{border-radius:8px}}
