:root{font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;color:#26302a;background:#d8ded1;font-synthesis:none;--pine: #526b45;--pine-deep: #314f36;--sage: #819175;--mint: #4a9773;--ink: #26302a;--muted: #747c75;--line: rgba(55, 68, 57, .14);--paper: rgba(252, 252, 249, .94);--paper-solid: #fbfcf8;--danger: #b34d3d}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow:hidden;background:#dce1d6;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{color:inherit;border:0;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(74,151,115,.38);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.34}.auth-loading{width:100vw;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#e5e9df;color:var(--pine-deep)}.auth-loading strong{font-family:Songti SC,"Noto Serif SC",serif;font-size:23px}.auth-loading span{color:#687168;font-size:15px}.auth-loading button{min-height:42px;margin-top:6px;padding:0 18px;border-radius:8px;background:var(--pine);color:#fff;font-size:15px;font-weight:600}.auth-loading.is-error{color:var(--danger)}.login-shell{position:relative;width:100vw;min-height:100vh;overflow:hidden;background:#85917d}.login-backdrop-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:46% 48%;filter:saturate(.64) contrast(.88) brightness(.84)}.login-backdrop-wash{position:absolute;top:0;right:0;bottom:0;left:0;background:#26342752;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.login-intro{position:absolute;z-index:2;top:50%;left:clamp(42px,8vw,132px);width:min(510px,42vw);translate:0 -50%;color:#fff;text-shadow:0 2px 18px rgba(22,34,24,.3)}.login-brand{display:flex;align-items:center;gap:9px;margin-bottom:36px}.login-brand strong{font-family:Songti SC,"Noto Serif SC",serif;font-size:27px;letter-spacing:.08em}.login-brand span{padding-left:11px;border-left:1px solid rgba(255,255,255,.46);font-family:Georgia,serif;font-size:19px}.login-intro h1{margin:0;font-family:Songti SC,"Noto Serif SC",serif;font-size:clamp(42px,4vw,61px);font-weight:600;line-height:1.22;letter-spacing:.035em}.login-intro>p{max-width:485px;margin:25px 0 0;color:#ffffffdb;font-size:17px;line-height:1.85}.login-trust-list{display:flex;gap:13px;margin-top:30px}.login-trust-list span{min-height:42px;display:flex;align-items:center;gap:8px;padding:0 14px;border:1px solid rgba(255,255,255,.24);border-radius:22px;background:#273a2a4d;color:#ffffffeb;font-size:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-card{position:absolute;z-index:3;top:50%;right:clamp(32px,7vw,116px);width:min(432px,calc(100vw - 64px));translate:0 -50%;padding:30px 32px 26px;border:1px solid rgba(255,255,255,.58);border-radius:16px;background:#fcfcf8f2;box-shadow:0 24px 70px #19261b47;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.login-card>header{display:flex;align-items:center;gap:13px;margin-bottom:26px}.login-card-icon{width:48px;height:48px;display:grid;flex:0 0 48px;place-items:center;border-radius:12px;background:#e6ede1;color:var(--pine-deep)}.login-card h2{margin:0;color:var(--pine-deep);font-family:Songti SC,"Noto Serif SC",serif;font-size:24px}.login-card header p{margin:5px 0 0;color:#737b73;font-size:14px}.login-setup-warning,.login-error{margin:0 0 16px;padding:11px 13px;border:1px solid rgba(179,77,61,.2);border-radius:8px;background:#f7ebe8;color:#99483c;font-size:14px;line-height:1.5}.login-card form{display:flex;flex-direction:column;gap:17px}.login-card form label{display:flex;flex-direction:column;gap:8px;color:#555f57;font-size:14px;font-weight:600}.login-card form label>div{height:48px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid rgba(55,68,57,.18);border-radius:9px;background:#ffffffc7;color:#7a847b;transition:border-color .16s ease,box-shadow .16s ease}.login-card form label>div:focus-within{border-color:#4a9773b3;box-shadow:0 0 0 3px #4a97731f}.login-card input{min-width:0;height:100%;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px}.login-card form>button{min-height:48px;margin-top:3px;border-radius:9px;background:var(--pine);color:#fff;font-size:16px;font-weight:600;box-shadow:0 7px 17px #314f362e}.login-card form>button:hover:not(:disabled){background:var(--pine-deep)}.login-card>footer{display:flex;align-items:flex-start;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);color:#747d75;font-size:14px;line-height:1.55}.login-card>footer svg{flex:0 0 auto;margin-top:1px;color:var(--pine)}.local-account-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 14px 12px;padding:10px 12px;border:1px solid rgba(82,107,69,.13);border-radius:9px;background:#526b450e}.local-account-card>div{min-width:0;display:flex;align-items:center;gap:9px;color:var(--pine-deep)}.local-account-card>div>span{min-width:0;display:flex;flex-direction:column;gap:2px}.local-account-card strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.local-account-card small{color:#747d75;font-size:14px}.local-account-card button{min-height:34px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid rgba(82,107,69,.16);border-radius:7px;background:#ffffffbd;color:var(--pine-deep);font-size:14px;white-space:nowrap}.local-account-card button:hover{background:#fff}.feature-loading{position:absolute;z-index:15;left:50%;top:50%;translate:-50% -50%;min-height:44px;display:flex;align-items:center;padding:0 17px;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--pine-deep);font-size:14px;box-shadow:0 9px 26px #232d2426}.feature-loading.is-modal{position:fixed;z-index:80}.app-shell{width:100vw;height:100vh;min-height:720px;overflow:hidden;background:#e6e9e1}.topbar{position:relative;z-index:30;height:58px;display:grid;grid-template-columns:auto minmax(170px,1fr) auto auto;align-items:center;border-bottom:1px solid rgba(46,58,47,.13);background:#fdfdfaf5;box-shadow:0 2px 12px #28322812}.brand{height:32px;display:flex;align-items:center;gap:7px;margin-left:14px;padding-right:16px;border-right:1px solid var(--line);color:var(--pine-deep);white-space:nowrap}.brand strong{font-family:Songti SC,"Noto Serif SC",serif;font-size:22px;letter-spacing:.04em}.brand span{font-family:Georgia,serif;font-size:17px;color:#344437}.project-switch{min-width:0;max-width:220px;justify-self:start;height:44px;display:flex;align-items:center;gap:8px;overflow:hidden;padding:0 12px;background:transparent;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.project-switch:hover{color:var(--pine-deep)}.mode-tabs{align-self:stretch;display:flex}.mode-tabs button{min-width:72px;padding:0 14px;background:transparent;color:#6f776f;font-size:15px;white-space:nowrap}.mode-tabs button.is-active{background:#5c6f4d17;color:var(--pine-deep);font-weight:600;box-shadow:inset 0 -3px 0 var(--pine)}.top-actions{height:100%;display:flex;align-items:center;justify-content:flex-end;gap:6px;padding-right:12px}.icon-button{width:36px;height:36px;display:inline-grid;place-items:center;background:transparent;border-radius:8px}.icon-button:hover:not(:disabled){background:#3a4c3c12}.save-state{height:30px;display:flex;align-items:center;gap:7px;margin-left:6px;padding-left:14px;border-left:1px solid var(--line);color:#687068;font-size:14px;white-space:nowrap}.save-state.is-ready{color:#536b55}.save-state.is-connecting{color:#817458}.save-state.is-error{color:#9a4f44}.rules-button{height:36px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid rgba(82,107,69,.18);border-radius:7px;background:#526b4512;color:var(--pine-deep);font-size:14px;white-space:nowrap}.rules-button:hover{background:#526b4521}.scheme-button{height:36px;display:flex;align-items:center;gap:7px;padding:0 12px;border:1px solid rgba(82,107,69,.22);border-radius:7px;background:#e6ede1;color:var(--pine-deep);font-size:14px;font-weight:600;white-space:nowrap}.scheme-button:hover{background:#dbe6d6}.tutorial-button{height:36px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid rgba(101,85,45,.18);border-radius:7px;background:#bfa9671c;color:#665a36;font-size:14px;font-weight:600;white-space:nowrap}.tutorial-button:hover{background:#bfa96733}.workspace-panel-menu-root{position:relative}.workspace-panel-menu-button{height:36px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid rgba(82,107,69,.18);border-radius:7px;background:#526b450f;color:var(--pine-deep);font-size:14px;font-weight:600;white-space:nowrap}.workspace-panel-menu-button:hover,.workspace-panel-menu-button[aria-expanded=true]{background:#526b4524}.workspace-panel-menu{position:absolute;z-index:46;top:44px;right:0;width:280px;overflow:hidden;border:1px solid rgba(54,68,56,.16);border-radius:12px;background:#fcfcf9fc;box-shadow:0 18px 48px #19261b3d}.workspace-panel-menu>header{display:flex;flex-direction:column;gap:3px;padding:14px 15px 11px;border-bottom:1px solid var(--line)}.workspace-panel-menu>header strong{font-size:16px}.workspace-panel-menu>header span{color:#758077;font-size:14px}.workspace-panel-menu>div{padding:6px}.workspace-panel-menu>div>button{width:100%;min-height:42px;display:grid;grid-template-columns:24px 1fr 22px;align-items:center;gap:7px;padding:0 9px;border-radius:7px;background:transparent;color:#536056;text-align:left;font-size:14px}.workspace-panel-menu>div>button:hover{background:#526b4514;color:var(--pine-deep)}.workspace-panel-menu>div>button>svg:last-child{color:var(--pine)}.workspace-panel-menu>footer{display:grid;grid-template-columns:1fr 1.25fr;gap:6px;padding:9px;border-top:1px solid var(--line);background:#526b450a}.workspace-panel-menu>footer button{min-height:38px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:7px;background:#fff;color:#5f6b61;font-size:14px}.workspace-panel-menu>footer button:hover{background:#eef2ea;color:var(--pine-deep)}.export-button{min-width:104px;height:40px;display:flex;align-items:center;justify-content:center;gap:8px;margin-left:4px;padding:0 13px;border-radius:6px;background:var(--pine);color:#fff;font-weight:600;white-space:nowrap;box-shadow:0 4px 12px #314f362b}.export-button:hover{background:var(--pine-deep)}.workspace{position:relative;height:calc(100vh - 58px);min-height:662px;overflow:hidden}.plan-canvas{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#a8b09c}.plan-canvas.tool-brush,.plan-canvas.tool-eraser,.plan-canvas.tool-boundary,.plan-canvas.tool-measure{cursor:crosshair}.plan-canvas.tool-facility{cursor:copy}.plan-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:46% 48%;filter:saturate(.72) contrast(.91) brightness(1.04)}.plan-wash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:#e4eade30}.konva-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.canvas-estimate{position:absolute;z-index:4;left:48%;top:48%;translate:-50% -50%;min-height:40px;display:flex;align-items:center;padding:0 17px;border:1px solid rgba(53,69,56,.14);border-radius:20px;background:#fffffceb;box-shadow:0 6px 20px #29322921;color:#3d463e;font-size:14px;white-space:nowrap;pointer-events:none}.scale-block{position:absolute;left:35px;bottom:365px;z-index:5;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.25)}.north-marker{width:42px;height:42px;display:grid;place-items:center;margin-bottom:8px;border:1px solid rgba(255,255,255,.72);border-radius:50%;font-family:Georgia,serif;font-size:15px}.scale-line{width:218px;height:6px;border-left:2px solid white;border-right:2px solid white;border-bottom:2px solid white}.scale-labels{width:222px;display:flex;justify-content:space-between;margin-top:-24px;font-size:14px}.zoom-controls{position:absolute;z-index:8;left:112px;bottom:327px;display:flex;align-items:center;gap:2px;padding:4px;border:1px solid var(--line);border-radius:9px;background:#fbfcf8eb;box-shadow:0 7px 22px #232d2421}.zoom-controls span{min-width:54px;color:#637064;font-size:14px;text-align:center}.zoom-controls .icon-button{width:31px;height:31px}.canvas-mode-hint{position:absolute;z-index:9;top:15px;left:50%;translate:-50% 0;min-height:43px;display:flex;align-items:center;gap:9px;padding:5px 7px 5px 15px;border:1px solid var(--line);border-radius:23px;background:#fffffcf0;box-shadow:0 8px 26px #232d2424;color:var(--pine-deep);font-size:14px;white-space:nowrap}.canvas-mode-hint button{min-height:32px;padding:0 11px;border-radius:16px;background:#526b451f;color:var(--pine-deep);font-size:14px}.canvas-mode-hint button:hover{background:#526b4533}.canvas-mode-hint strong{padding-right:8px;font-size:14px}.tool-dock{position:absolute;z-index:10;left:22px;top:72px;width:74px;overflow:hidden;border:1px solid rgba(54,68,56,.13);border-radius:13px;background:var(--paper);box-shadow:0 12px 32px #232d2429;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.tool-dock-collapse{width:100%;height:35px;display:grid;place-items:center;border-bottom:1px solid rgba(48,61,49,.08);background:#526b450d;color:#647066}.tool-dock-collapse:hover{background:#526b4521;color:var(--pine-deep)}.tool-item{width:100%;min-height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:4px;background:transparent;color:#4d554e;font-size:14px;line-height:1.2}.tool-item+.tool-item{border-top:1px solid rgba(48,61,49,.06)}.tool-item:hover{background:#55694712}.tool-item.is-active{background:#5e755124;color:var(--pine-deep)}.composition-tray{position:absolute;z-index:12;left:22px;bottom:36px;width:min(940px,calc(100vw - 530px));min-width:700px;height:274px;overflow:hidden;padding:0 13px 10px;border:1px solid rgba(54,68,56,.14);border-radius:14px;background:var(--paper);box-shadow:0 16px 38px #232d242b;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.tray-header{height:50px;display:flex;align-items:center;justify-content:space-between}.group-title{display:flex;align-items:center;gap:8px;padding:8px 10px;background:transparent;font-size:17px}.tray-context-tabs{height:34px;display:flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(55,68,57,.11);border-radius:8px;background:#526b450f}.tray-context-tabs button{height:27px;padding:0 11px;border-radius:6px;background:transparent;color:#697269;font-size:14px}.tray-context-tabs button.is-active{background:#fff;color:var(--pine-deep);font-weight:600;box-shadow:0 2px 7px #232d241a}.tray-context-tabs .zone-context-button{display:flex;align-items:center;gap:6px}.tray-actions{display:flex;gap:6px}.scheme-chip{max-width:126px;display:flex;align-items:center;overflow:hidden;padding:0 9px;border-radius:15px;background:#526b4517;color:#5f705e;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.layout-picker{height:34px;display:flex;align-items:center;gap:4px;padding:0 6px 0 9px;border:1px solid rgba(55,68,57,.12);border-radius:7px;background:#fff9;color:var(--pine-deep)}.layout-picker select{min-width:72px;border:0;outline:0;background:transparent;color:inherit;font-size:14px}.tray-actions button{padding:8px 11px;border-radius:7px;background:transparent;color:#6c746c;font-size:14px}.tray-actions button:hover{background:#40534212;color:var(--pine-deep)}.workspace-tray-controls{display:flex;flex:0 0 auto;align-items:center;gap:2px;margin-left:2px;padding-left:6px;border-left:1px solid var(--line)}.workspace-tray-controls button,.tray-actions .workspace-tray-controls button{width:31px;height:31px;display:grid;place-items:center;padding:0;border-radius:7px;background:#526b450d;color:#687369;font-size:18px;line-height:1}.workspace-tray-controls button:hover,.tray-actions .workspace-tray-controls button:hover{background:#526b4524;color:var(--pine-deep)}.workspace-tray-drag{cursor:grab;touch-action:none}.workspace-tray-drag:active{cursor:grabbing}.is-workspace-panel-dragging,.is-workspace-panel-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}.workspace.has-custom-tray-position .composition-tray{top:var(--workspace-tray-y);right:auto;bottom:auto;left:var(--workspace-tray-x)}.workspace.is-tools-panel-hidden .tool-dock,.workspace.is-tray-panel-hidden .composition-tray,.workspace.is-inspector-panel-hidden .inspector,.workspace.is-inspector-panel-hidden .inspector-reopen,.workspace.is-layers-panel-hidden .layers-panel{display:none}.workspace-hidden-panels{position:absolute;z-index:28;left:50%;bottom:14px;min-height:42px;display:flex;align-items:center;gap:5px;max-width:calc(100% - 32px);overflow-x:auto;padding:5px 6px 5px 12px;translate:-50% 0;border:1px solid rgba(54,68,56,.15);border-radius:22px;background:#fcfcf9f5;box-shadow:0 10px 28px #1c2a1e33;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);scrollbar-width:none}.workspace-hidden-panels>span{color:#758077;font-size:14px;white-space:nowrap}.workspace-hidden-panels button{min-height:32px;display:flex;align-items:center;gap:5px;padding:0 10px;border-radius:17px;background:#526b4517;color:var(--pine-deep);font-size:14px;white-space:nowrap}.workspace-hidden-panels button:hover{background:#526b452b}.plant-row{display:flex;gap:10px;overflow-x:auto;scrollbar-width:thin}.plant-card{min-width:145px;height:160px;display:flex;flex:1 0 145px;overflow:hidden;border:1px solid rgba(58,72,59,.12);border-radius:8px;background:#fffffc8f}.plant-card>img{width:43%;height:96px;object-fit:cover;object-position:center}.plant-card-symbol{width:43%;height:96px;display:grid;flex:0 0 43%;place-items:center;background:#526b451a;color:var(--pine)}.plant-card-copy{min-width:0;flex:1;display:flex;flex-direction:column;padding:12px 9px 9px}.plant-card-name{min-height:55px;display:flex;flex-direction:column;gap:5px}.plant-card-name strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.plant-card-name span{color:#798079;font-size:14px}.share-stepper{height:30px;display:flex;align-items:center;justify-content:space-between;margin:0 -3px 5px}.share-stepper .icon-button{width:25px;height:25px}.share-stepper span{font-size:14px;font-weight:600}.spacing-select{height:34px;display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding:0 8px;border:1px solid rgba(55,68,57,.11);border-radius:5px;background:#ffffffa6;color:#707970;font-size:14px;white-space:nowrap}.brush-action{width:82px;height:160px;display:flex;flex:0 0 82px;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-radius:9px;background:var(--pine);color:#fff;font-size:15px}.brush-action:hover{background:var(--pine-deep)}.brush-action small{margin-top:8px;color:#ffffffb3;font-size:14px}.tray-tip{display:flex;align-items:center;gap:6px;margin:7px 5px 0;color:#737b74;font-size:14px;white-space:nowrap}.facility-total{align-self:center;padding:0 6px;color:#707970;font-size:14px}.facility-row{display:flex;gap:9px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.facility-card{position:relative;min-width:123px;height:160px;display:flex;flex-direction:column;align-items:flex-start;padding:10px;border:1px solid rgba(58,72,59,.12);border-radius:9px;background:#fffffc9e;text-align:left}.facility-card:hover{border-color:#526b454d;background:#fffffce0}.facility-card.is-selected{border-color:var(--pine);background:#526b451a;box-shadow:inset 0 0 0 1px #526b4514}.facility-card-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;background:#ffffffd1}.facility-card>span:nth-child(2){min-width:0;width:100%;display:flex;flex-direction:column;gap:4px;margin-top:8px}.facility-card strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.facility-card small{color:#788078;font-size:14px}.facility-card b{position:absolute;top:10px;right:10px;min-width:23px;height:23px;display:grid;place-items:center;border-radius:12px;background:#526b451c;color:var(--pine-deep);font-size:14px}.facility-card em{width:100%;margin-top:auto;padding-top:7px;border-top:1px solid rgba(55,68,57,.1);color:#677168;font-size:14px;font-style:normal}.facility-drop-hint{min-width:90px;height:160px;display:flex;flex:0 0 90px;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px dashed rgba(82,107,69,.38);border-radius:9px;background:#526b450f;color:var(--pine-deep);text-align:center}.facility-drop-hint strong,.facility-drop-hint span{font-size:14px}.facility-drop-hint span{color:#7a837b}.inspector{position:absolute;z-index:14;top:14px;right:14px;width:286px;max-height:calc(100% - 310px);overflow:auto;padding:15px;border:1px solid rgba(54,68,56,.13);border-radius:13px;background:var(--paper);box-shadow:0 14px 38px #232d2429;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);scrollbar-width:thin}.inspector>header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:9px}.inspector h2{margin:0 0 8px;font-family:Songti SC,serif;font-size:20px;font-weight:700}.inspector header span{color:#6f776f;font-size:14px}.inspector-plants{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.inspector-plant{height:58px;display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:8px}.inspector-plant+.inspector-plant{border-top:1px solid rgba(56,68,57,.09)}.inspector-plant img{width:50px;height:43px;object-fit:cover;border-radius:3px}.inspector-plant-symbol{width:50px;height:43px;display:grid;place-items:center;border-radius:3px;background:#526b451a;color:var(--pine)}.inspector-plant div{display:flex;flex-direction:column;gap:4px}.inspector-plant strong{font-size:14px}.inspector-plant span{color:#7b827b;font-size:14px}.inspector-plant>div:last-child{align-items:flex-end}.control-section{padding:10px 0;border-bottom:1px solid var(--line)}.control-section label{display:block;margin-bottom:8px;font-size:15px;font-weight:600}.range-meta{display:flex;justify-content:space-between;color:#7a827a;font-size:14px}.control-section input{width:100%;accent-color:var(--pine)}.switch-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.switch-row>div{display:flex;flex-direction:column;gap:4px}.switch-row strong,.switch-row span{font-size:14px}.switch-row span{color:#7a827a}.toggle{width:38px;height:22px;display:flex;align-items:center;padding:3px;border-radius:12px;background:#c6cbc4}.toggle span{width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:translate .18s ease}.toggle.is-on{background:var(--pine)}.toggle.is-on span{translate:16px 0}.conflict-section{padding:5px 0 7px;border-bottom:1px solid var(--line)}.conflict-header{width:100%;height:36px;display:grid;grid-template-columns:1fr auto 18px;align-items:center;gap:7px;background:transparent;text-align:left;font-size:14px}.conflict-header strong{color:var(--danger);font-weight:500}.conflict-header svg{transition:rotate .18s ease}.conflict-header svg.rotated{rotate:180deg}.conflict-section ul{margin:0;padding-left:17px;color:#766a65;font-size:14px;line-height:1.5}.conflict-section li::marker{color:var(--danger)}.conflict-section li.is-warning::marker{color:#b08a3d}.conflict-section li.no-conflict::marker{color:var(--pine)}.suggestion{padding-top:9px}.suggestion h3{margin:0 0 6px;font-size:15px}.suggestion>div{display:grid;grid-template-columns:24px 1fr;gap:7px}.suggestion svg{color:var(--pine)}.suggestion p{margin:0;color:#6a726a;font-size:14px;line-height:1.45}.suggestion button{margin:5px 0 0 31px;padding:4px 0;background:transparent;color:var(--pine);font-size:14px}.inspector-reopen{position:absolute;z-index:14;top:14px;right:14px;height:42px;display:flex;align-items:center;gap:7px;padding:0 15px;border-radius:9px;background:var(--paper);box-shadow:0 8px 24px #232d2426}.zone-manager{position:absolute;z-index:18;top:14px;left:112px;width:310px;max-height:calc(100% - 324px);overflow:auto;padding:14px;border:1px solid rgba(54,68,56,.14);border-radius:13px;background:#fbfcf8f5;box-shadow:0 18px 48px #1d2a1f33;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);scrollbar-width:thin}.zone-manager>header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:11px;border-bottom:1px solid var(--line)}.zone-manager>header>div{display:flex;flex-direction:column;gap:5px}.zone-manager>header strong{font-size:15px}.zone-kicker{display:flex;align-items:center;gap:7px;color:var(--pine);font-size:14px;font-weight:600}.zone-icon-button{width:32px;height:32px;display:grid;place-items:center;border-radius:7px;background:transparent}.zone-icon-button:hover{background:#526b4517}.zone-list{display:grid;gap:6px;max-height:190px;overflow:auto;padding:10px 1px;scrollbar-width:thin}.zone-list-item{min-height:54px;display:grid;grid-template-columns:32px 1fr 8px;align-items:center;gap:8px;padding:7px 9px;border:1px solid transparent;border-radius:8px;background:#ffffff94;text-align:left}.zone-list-item:hover{border-color:#526b4533}.zone-list-item.is-active{border-color:#526b454f;background:#526b451a}.zone-list-item>b{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#526b451c;color:var(--pine-deep);font-size:14px}.zone-list-item>span{min-width:0;display:flex;flex-direction:column;gap:3px}.zone-list-item strong,.zone-list-item small{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.zone-list-item small{color:#758076}.zone-list-item>i{width:7px;height:7px;border-radius:50%;background:#aeb6ac}.zone-list-item.is-active>i{background:var(--mint);box-shadow:0 0 0 4px #4a97731f}.zone-edit-card{padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff}.zone-edit-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.zone-edit-title span,.zone-edit-title em{font-size:14px;font-style:normal}.zone-edit-title span{color:#737d74}.zone-edit-title em{overflow:hidden;color:var(--pine);text-overflow:ellipsis;white-space:nowrap}.zone-name-button{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:3px;background:transparent;text-align:left}.zone-name-button strong{overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.zone-rename{height:38px;display:grid;grid-template-columns:1fr 36px;gap:5px;margin-top:5px}.zone-rename input{min-width:0;padding:0 9px;border:1px solid rgba(82,107,69,.35);border-radius:7px;outline:0;font-size:14px}.zone-rename button{display:grid;place-items:center;border-radius:7px;background:var(--pine);color:#fff}.zone-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:7px;padding-top:6px;border-top:1px solid rgba(55,68,57,.09)}.zone-actions button{min-height:34px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:7px;background:#526b4512;color:var(--pine-deep);font-size:14px}.zone-actions button.is-danger{background:#efe0dc;color:#9a463a}.zone-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px 0}.zone-summary>div{min-width:0;display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:7px;background:#526b4512}.zone-summary span,.zone-summary strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.zone-summary span{color:#778078}.zone-add-button{width:100%;height:40px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;background:var(--pine);color:#fff;font-size:14px;font-weight:600}.zone-add-button:hover{background:var(--pine-deep)}.facility-inspector-hero{min-height:72px;display:grid;grid-template-columns:56px 1fr;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.facility-inspector-hero>span{width:52px;height:52px;display:grid;place-items:center;border-radius:9px;background:#526b4514}.facility-inspector-hero>div{min-width:0;display:flex;flex-direction:column;gap:5px}.facility-inspector-hero strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.facility-inspector-hero small{color:#768077;font-size:14px}.facility-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:10px 0;border-bottom:1px solid var(--line)}.facility-facts div{min-height:52px;display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:7px;background:#fff}.facility-facts span{color:#788079;font-size:14px}.facility-facts strong{font-size:14px}.facility-rotation{padding:10px 0;border-bottom:1px solid var(--line)}.facility-rotation>div{display:flex;align-items:center;justify-content:space-between}.facility-rotation>div:first-child{margin-bottom:8px}.facility-rotation strong,.facility-rotation span{font-size:14px}.facility-rotation>div:last-child{gap:7px}.facility-rotation button{height:34px;display:flex;flex:1;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:14px}.facility-rotation button:hover{border-color:#526b455c;color:var(--pine-deep)}.facility-checks{padding:10px 0;border-bottom:1px solid var(--line)}.facility-checks>strong{font-size:14px}.facility-checks p{margin:7px 0 0;color:#746b65;font-size:14px;line-height:1.45}.facility-checks p.is-passed{color:#47704c}.facility-checks ul{margin:7px 0 0;padding-left:18px;color:#8c493d;font-size:14px;line-height:1.45}.facility-checks li.is-warning{color:#8a6b2d}.facility-inspector-actions{display:grid;grid-template-columns:1fr auto;gap:7px;padding-top:10px}.facility-inspector-actions button{height:36px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--pine-deep);font-size:14px}.facility-inspector-actions button.is-danger{padding:0 11px;color:#a24b40}.facility-empty-inspector{min-height:188px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-top:1px solid var(--line);color:#6f796f;text-align:center}.facility-empty-inspector strong,.facility-empty-inspector span{font-size:14px}.facility-empty-inspector span{max-width:210px;color:#818982;line-height:1.45}.layers-panel{position:absolute;z-index:12;right:14px;bottom:50px;width:286px;height:258px;display:grid;grid-template-columns:105px 1fr;overflow:hidden;border:1px solid rgba(54,68,56,.14);border-radius:13px;background:var(--paper);box-shadow:0 13px 32px #232d2426;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.mini-map{position:relative;background-size:cover;background-position:48% 50%;filter:saturate(.55) brightness(1.1)}.mini-map span{position:absolute;left:27px;top:54px;width:53px;height:61px;border:3px solid white;box-shadow:0 1px 5px #0000002e}.mini-map.is-dxf{display:grid;place-items:center;background:#eeece3;color:var(--pine);filter:none}.layer-list{display:flex;flex-direction:column;padding:12px 9px 5px}.layer-list-heading{min-height:28px;display:flex;align-items:center;justify-content:space-between;margin:0 0 2px 8px}.layer-list-heading h3{margin:0;font-size:15px}.layer-list-heading button{width:29px;min-height:29px;display:grid;flex:0 0 29px;grid-template-columns:1fr;place-items:center;padding:0;color:#707a71}.layer-list-heading button:hover{background:#485b491a;color:var(--pine-deep)}.layer-list button{flex:1;min-height:31px;display:grid;grid-template-columns:20px 1fr 20px;align-items:center;gap:5px;padding:0 7px;border-radius:6px;background:transparent;text-align:left;font-size:14px}.layer-list button:hover{background:#485b4912}.layer-list button>svg:last-child{color:var(--pine)}.layer-list button:disabled{cursor:not-allowed;color:#9aa19a;opacity:.72}.layer-list button:disabled>svg:last-child{color:#a9afa9}.layer-list .layer-more{display:flex;justify-content:center;flex:0 0 24px}.three-d-canvas{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#cfd9ca}.three-d-canvas canvas{display:block;width:100%;height:100%;cursor:grab;outline:none}.three-d-canvas canvas:active{cursor:grabbing}.three-d-mode-banner{position:absolute;z-index:4;top:15px;left:50%;min-height:42px;display:flex;align-items:center;gap:8px;padding:0 15px;translate:-50% 0;border:1px solid rgba(50,65,52,.14);border-radius:22px;background:#fafbf6e6;box-shadow:0 8px 24px #1f2b2129;color:var(--pine-deep);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:14px;white-space:nowrap}.three-d-mode-banner span{color:#6f796f}.three-d-navigation-hint{position:absolute;z-index:4;left:50%;bottom:325px;min-height:34px;display:flex;align-items:center;padding:0 13px;translate:-50% 0;border-radius:17px;background:#243428b8;color:#ffffffe6;font-size:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}.three-d-tool-dock .tool-item{min-height:63px}.three-d-control-tray{height:274px}.three-d-tray-header{height:49px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.three-d-tray-header>div{min-width:0;display:flex;align-items:center;gap:8px}.three-d-tray-header>div>svg{flex:0 0 auto;color:var(--pine)}.three-d-tray-header strong{color:var(--pine-deep);font-size:16px;white-space:nowrap}.three-d-tray-header>div>span{overflow:hidden;color:#778078;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.three-d-controls-grid{height:205px;display:grid;grid-template-columns:1.05fr 1.35fr 1fr 1.2fr;gap:10px;align-items:stretch;padding:11px 0 0}.three-d-controls-grid fieldset{min-width:0;margin:0;padding:10px;border:1px solid rgba(56,69,57,.12);border-radius:9px;background:#fffffcb3}.three-d-controls-grid legend{padding:0 5px;color:#657166;font-size:14px;font-weight:700}.three-d-segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.three-d-segmented button{min-height:41px;padding:0 8px;border:1px solid rgba(71,87,72,.12);border-radius:7px;background:#f4f5f0;color:#637064;font-size:14px}.three-d-segmented button:hover{background:#e9eee5}.three-d-segmented button.is-active{border-color:#4c694842;background:#dfe9da;color:var(--pine-deep);font-weight:700;box-shadow:inset 0 0 0 1px #4c694814}.three-d-controls-grid fieldset>label{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:7px;min-height:54px}.three-d-controls-grid fieldset>label span{color:var(--pine-deep);font-size:14px;font-weight:600}.three-d-controls-grid input[type=range]{width:100%;accent-color:var(--pine)}.three-d-option-button{width:100%;min-height:49px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid rgba(66,82,67,.12);border-radius:7px;background:#f5f6f1;color:#687268;font-size:14px;text-align:left}.three-d-option-button+.three-d-option-button{margin-top:7px}.three-d-option-button[aria-pressed=true]{background:#e4ece0;color:var(--pine-deep)}.three-d-option-button svg{flex:0 0 auto;color:var(--pine)}.three-d-export-field{display:flex;flex-direction:column}.three-d-segmented.is-resolution{grid-template-columns:repeat(3,minmax(0,1fr))}.three-d-segmented.is-resolution button{min-height:36px;padding:0 4px}.three-d-export-button{min-height:43px;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:9px;border-radius:8px;background:var(--pine);color:#fff;font-size:14px;font-weight:700}.three-d-export-button:hover:not(:disabled){background:var(--pine-deep)}.three-d-export-field>small{overflow:hidden;margin-top:6px;color:#6f7a70;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.three-d-inspector{max-height:calc(100% - 310px)}.three-d-inspector .inspector-hide-button{width:34px;height:34px;display:grid;flex:0 0 auto;place-items:center;border-radius:7px;background:#526b450f;color:#6b766c}.three-d-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding-top:10px;border-top:1px solid var(--line)}.three-d-stats>div{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:9px;border-radius:7px;background:#526b4512}.three-d-stats span{color:#717b72;font-size:14px}.three-d-stats strong{color:var(--pine-deep);font-size:17px}.three-d-scale-card{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding:11px;border:1px solid rgba(56,70,57,.11);border-radius:8px;background:#fbfbf7}.three-d-scale-card span,.three-d-scale-card small{color:#768077;font-size:14px}.three-d-scale-card strong{color:var(--pine-deep);font-size:16px}.three-d-view-card{margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}.three-d-view-card>header{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:0 0 8px}.three-d-view-card>header>div{display:flex;align-items:center;gap:6px;color:var(--pine-deep)}.three-d-view-card>header strong{font-size:14px}.three-d-view-card>header button{min-height:33px;padding:0 9px;border-radius:6px;background:#e5ece0;color:var(--pine-deep);font-size:14px}.three-d-view-card>header button:disabled{opacity:.48}.three-d-view-card>p{margin:0;color:#778178;font-size:14px;line-height:1.5}.three-d-saved-views{display:flex;flex-direction:column;gap:5px}.three-d-saved-views>div{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:4px}.three-d-saved-views button{min-height:34px;display:flex;align-items:center;gap:6px;overflow:hidden;padding:0 8px;border-radius:6px;background:#526b450f;color:#5f6d60;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.three-d-saved-views button:last-child{justify-content:center;padding:0;color:#9b5a4f}.three-d-local-note{display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;margin-top:11px;padding:10px;border-radius:8px;background:#e7eee3;color:var(--pine)}.three-d-local-note div{display:flex;flex-direction:column;gap:3px}.three-d-local-note strong,.three-d-local-note span{font-size:14px}.three-d-local-note span{color:#687568;line-height:1.45}.three-d-layers-panel{height:286px}.three-d-mini-map{display:grid;place-items:center;background-size:cover;background-position:center;color:#fff}.three-d-mini-map:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:linear-gradient(145deg,#2a3d2e14,#1f322461)}.three-d-mini-map>svg{position:relative;z-index:1;filter:drop-shadow(0 2px 4px rgba(20,35,23,.3))}.mode-banner{position:absolute;z-index:11;top:16px;left:50%;translate:-50% 0;min-height:42px;display:flex;align-items:center;gap:8px;padding:0 18px;border:1px solid rgba(48,67,50,.12);border-radius:22px;background:#fffffce8;box-shadow:0 7px 24px #232d2421;color:var(--pine-deep);font-size:14px}.status-toast{position:fixed;z-index:50;left:50%;bottom:34px;translate:-50% 0;display:flex;align-items:center;gap:8px;padding:12px 17px;border-radius:9px;background:#243d2a;color:#fff;box-shadow:0 10px 28px #182b1b42;font-size:14px}.tutorial-highlight{position:relative;outline:3px solid #d7b958!important;outline-offset:4px!important;box-shadow:0 0 0 8px #d7b95833,0 12px 34px #38301c38!important;animation:tutorial-pulse 1.8s ease-in-out infinite}@keyframes tutorial-pulse{0%,to{outline-color:#d7b958}50%{outline-color:#f2d77e}}.tutorial-welcome-backdrop{position:fixed;z-index:140;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#1c271d7a;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.tutorial-welcome{position:relative;width:min(720px,calc(100vw - 40px));padding:34px 38px 30px;border:1px solid rgba(255,255,255,.65);border-radius:18px;background:#fcfcf8fa;box-shadow:0 28px 90px #14221657;text-align:center}.tutorial-close{position:absolute;top:14px;right:14px;width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:transparent;color:#647064}.tutorial-close:hover{background:#526b4514}.tutorial-welcome-icon{width:64px;height:64px;display:grid;place-items:center;margin:0 auto 13px;border-radius:17px;background:#e5ece0;color:var(--pine-deep)}.tutorial-eyebrow{display:flex;align-items:center;justify-content:center;gap:6px;color:#65725f;font-size:14px;font-weight:600}.tutorial-welcome h2{margin:12px 0 10px;color:var(--pine-deep);font-family:Songti SC,"Noto Serif SC",serif;font-size:28px}.tutorial-welcome>p{max-width:590px;margin:0 auto;color:#687169;font-size:15px;line-height:1.75}.tutorial-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0;text-align:left}.tutorial-trust-grid article{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;padding:13px;border:1px solid rgba(55,68,57,.11);border-radius:10px;background:#fff}.tutorial-trust-grid svg{grid-row:1 / 3;color:var(--pine)}.tutorial-trust-grid strong,.tutorial-trust-grid span{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.tutorial-trust-grid span{color:#7a827b}.tutorial-welcome-actions{display:flex;align-items:center;justify-content:center;gap:10px}.tutorial-welcome-actions button{min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border-radius:9px;font-size:15px;font-weight:600}.tutorial-primary{background:var(--pine);color:#fff;box-shadow:0 7px 18px #314f3630}.tutorial-primary:hover{background:var(--pine-deep)}.tutorial-secondary{border:1px solid rgba(82,107,69,.2);background:#526b4512;color:var(--pine-deep)}.tutorial-origin{display:block;margin-top:16px;color:#7a827b;font-size:14px}.tutorial-guide{position:fixed;z-index:132;top:76px;left:112px;width:350px;overflow:hidden;border:1px solid rgba(55,68,57,.16);border-radius:14px;background:#fcfcf8fa;box-shadow:0 20px 58px #17251947;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.tutorial-guide>header{height:47px;display:flex;align-items:center;justify-content:space-between;padding:0 13px 0 15px;border-bottom:1px solid rgba(55,68,57,.09)}.tutorial-guide>header>span{display:flex;align-items:center;gap:7px;color:var(--pine-deep);font-size:14px}.tutorial-guide>header button,.tutorial-ai-panel>header button{width:32px;height:32px;display:grid;place-items:center;border-radius:7px;background:transparent;color:#69736a}.tutorial-guide>header button:hover,.tutorial-ai-panel>header button:hover{background:#526b4514}.tutorial-progress{height:4px;overflow:hidden;background:#e3e7df}.tutorial-progress>span{display:block;height:100%;border-radius:2px;background:linear-gradient(90deg,#66835b,#bda65b);transition:width .22s ease}.tutorial-step-meta{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 0}.tutorial-step-meta span{color:#8a7136;font-size:14px;font-weight:700}.tutorial-step-meta b{color:#7a827b;font-size:14px}.tutorial-guide h2{margin:7px 16px 5px;color:var(--pine-deep);font-family:Songti SC,"Noto Serif SC",serif;font-size:21px}.tutorial-guide>p{margin:0 16px;color:#697269;font-size:14px;line-height:1.6}.tutorial-task{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;margin:13px 16px;padding:11px;border-radius:9px;background:#526b4513;color:var(--pine-deep)}.tutorial-task svg{margin-top:1px}.tutorial-task span{display:flex;flex-direction:column;gap:3px;font-size:14px;line-height:1.48}.tutorial-task strong{font-size:14px}.tutorial-guide-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 16px 12px}.tutorial-guide-actions button{min-height:38px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;font-size:14px;font-weight:600}.tutorial-demo{background:#e5ece0;color:var(--pine-deep)}.tutorial-coach{border:1px solid rgba(112,93,45,.16);background:#bfa9671f;color:#695b35}.tutorial-guide>footer{display:grid;grid-template-columns:42px 1fr;gap:7px;padding:12px 16px;border-top:1px solid rgba(55,68,57,.09)}.tutorial-guide>footer button{min-height:40px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;font-size:14px;font-weight:600}.tutorial-guide>footer>button:first-child{border:1px solid rgba(55,68,57,.14);background:#fff;color:var(--pine-deep)}.tutorial-check{background:var(--pine);color:#fff}.tutorial-exit{width:100%;min-height:36px;border-top:1px solid rgba(55,68,57,.08);background:transparent;color:#7b827b;font-size:14px}.tutorial-exit:hover{background:#526b450f;color:var(--pine-deep)}.tutorial-ai-panel{position:fixed;z-index:133;top:76px;left:476px;width:360px;max-height:calc(100vh - 96px);overflow:auto;padding:0 16px 16px;border:1px solid rgba(55,68,57,.16);border-radius:14px;background:#fcfcf8fc;box-shadow:0 20px 58px #17251947;scrollbar-width:thin}.tutorial-ai-panel>header{position:sticky;z-index:2;top:0;height:49px;display:flex;align-items:center;justify-content:space-between;margin:0 -16px;padding:0 13px 0 16px;border-bottom:1px solid rgba(55,68,57,.09);background:#fcfcf8fa}.tutorial-ai-panel>header>span{display:flex;align-items:center;gap:7px;color:var(--pine-deep);font-size:15px}.tutorial-ai-status{min-height:34px;display:flex;align-items:center;gap:7px;margin-top:12px;color:#737d74;font-size:14px}.tutorial-ai-status i{width:9px;height:9px;border-radius:50%;background:#b7864c}.tutorial-ai-status i.is-ready{background:#4b885c;box-shadow:0 0 0 4px #4b885c1a}.tutorial-ai-boundary{display:grid;grid-template-columns:20px 1fr;gap:7px;margin:0 0 11px;padding:10px;border-radius:8px;background:#e8eee4;color:#516753;font-size:14px;line-height:1.5}.tutorial-ai-panel details{margin-bottom:12px;border:1px solid rgba(55,68,57,.11);border-radius:8px;background:#fff}.tutorial-ai-panel summary{padding:9px 10px;color:#657066;font-size:14px;cursor:pointer}.tutorial-ai-panel pre{max-height:170px;overflow:auto;margin:0;padding:10px;border-top:1px solid rgba(55,68,57,.09);color:#566258;font:14px/1.5 ui-monospace,SFMono-Regular,monospace;white-space:pre-wrap}.tutorial-ai-panel>label:not(.tutorial-consent){display:flex;flex-direction:column;gap:7px;color:#566158;font-size:14px;font-weight:600}.tutorial-ai-panel textarea{width:100%;resize:vertical;min-height:96px;padding:10px;border:1px solid rgba(55,68,57,.15);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:14px;line-height:1.5}.tutorial-consent{display:grid;grid-template-columns:18px 1fr;gap:7px;align-items:start;margin:10px 0;color:#687269;font-size:14px;line-height:1.45}.tutorial-consent input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--pine)}.tutorial-error{display:flex;align-items:flex-start;justify-content:center;gap:6px;margin:9px 0!important;color:#a14e40!important;font-size:14px!important;line-height:1.45!important}.tutorial-ai-ask{width:100%;min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;background:var(--pine);color:#fff;font-size:14px;font-weight:600}.tutorial-ai-answer{margin-top:12px;padding:11px;border:1px solid rgba(82,107,69,.13);border-radius:8px;background:#fff}.tutorial-ai-answer strong{color:var(--pine-deep);font-size:14px}.tutorial-ai-answer p{margin:7px 0 0;color:#586359;font-size:14px;line-height:1.65;white-space:pre-wrap}.lifecycle-tray{height:274px}.lifecycle-tray-header>div{min-width:0;display:flex;align-items:center;gap:12px}.lifecycle-tray-header>div>strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.lifecycle-header-actions{flex:0 0 auto;display:flex;align-items:center;gap:7px}.scope-toggle{height:31px;display:flex;align-items:center;gap:2px;padding:3px;border:1px solid rgba(55,68,57,.12);border-radius:16px;background:#ffffff9e}.scope-toggle button{height:23px;padding:0 9px;border-radius:12px;background:transparent;color:#727b73;font-size:14px;white-space:nowrap}.scope-toggle button.is-active{background:var(--pine);color:#fff}.lifecycle-kicker{display:flex;flex:0 0 auto;align-items:center;gap:6px;color:var(--pine-deep);font-size:17px;font-weight:700}.lifecycle-status{flex:0 0 auto;padding:6px 10px;border-radius:15px;background:#526b451a;color:var(--pine-deep);font-size:14px}.lifecycle-status.is-warning{background:#b0783a21;color:#8a612b}.month-rail{height:50px;display:grid;grid-template-columns:repeat(12,minmax(48px,1fr));gap:4px;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}.month-rail button{min-width:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid rgba(55,68,57,.1);border-radius:7px;background:#fffffc99}.month-rail button strong,.month-rail button span{font-size:14px}.month-rail button span{color:#7a827a}.month-rail button:hover{border-color:#526b454d}.month-rail button.is-active{border-color:var(--pine);background:var(--pine);color:#fff}.month-rail button.is-active span{color:#ffffffc2}.lifecycle-tray-body{height:157px;display:grid;grid-template-columns:minmax(420px,1fr) minmax(180px,230px);gap:12px;padding-top:7px}.lifecycle-chart{min-width:0;height:148px;padding:3px 3px 0;border:1px solid rgba(55,68,57,.1);border-radius:8px;background:#fffffca3}.season-appearance-list,.maintenance-task-preview{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:8px 10px;overflow:hidden;border-radius:8px;background:#526b4512}.season-appearance-list>div,.maintenance-task-preview>div{min-height:27px;display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:7px}.season-appearance-list>div>span,.maintenance-task-preview>div>span{width:8px;height:8px;border-radius:50%}.season-appearance-list strong,.season-appearance-list em,.maintenance-task-preview strong,.maintenance-task-preview em{overflow:hidden;font-size:14px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.season-appearance-list em,.maintenance-task-preview em{color:#737d74}.maintenance-task-preview .empty-month{display:flex;align-items:center;gap:7px;color:#5d735d;font-size:14px;line-height:1.45}.lifecycle-inspector>header>svg{color:var(--pine)}.lifecycle-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lifecycle-metrics>div{min-width:0;min-height:74px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px;border-radius:8px;background:#fff}.lifecycle-metrics svg{color:var(--pine)}.lifecycle-metrics span{color:#778078;font-size:14px;white-space:nowrap}.lifecycle-metrics strong{overflow:hidden;width:100%;color:var(--pine-deep);font-size:16px;text-overflow:ellipsis;white-space:nowrap}.lifecycle-section{padding:11px 0;border-bottom:1px solid var(--line)}.lifecycle-section h3{margin:0 0 8px;font-size:15px}.highlight-list{display:grid;gap:5px}.highlight-list>div{min-height:30px;display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:8px}.highlight-list>div>span{width:8px;height:8px;border-radius:50%}.highlight-list strong,.highlight-list em{font-size:14px;font-style:normal}.highlight-list em{color:#747d75}.gap-checks{display:grid;gap:7px}.gap-checks>div{display:grid;grid-template-columns:19px 1fr;align-items:flex-start;gap:7px}.gap-checks>div.is-passed>svg{color:#567b58}.gap-checks>div.is-warning>svg{color:#b17b37}.gap-checks span{display:flex;flex-direction:column;gap:2px}.gap-checks strong,.gap-checks small{font-size:14px}.gap-checks small{color:#7a827b;line-height:1.4}.lifecycle-comparison{display:grid;gap:6px}.lifecycle-comparison>div{min-height:42px;display:grid;grid-template-columns:24px 1fr;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;background:#fff}.lifecycle-comparison b{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#526b451c;color:var(--pine-deep);font-size:14px}.lifecycle-comparison span{min-width:0;display:flex;flex-direction:column;gap:2px}.lifecycle-comparison strong,.lifecycle-comparison small{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.lifecycle-comparison small{color:#778078}.maintenance-inspector-tasks{display:grid;gap:6px}.maintenance-inspector-tasks>div{min-height:43px;display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:8px}.maintenance-inspector-tasks>div>span:first-child{width:8px;height:30px;border-radius:4px}.maintenance-inspector-tasks>div>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:3px}.maintenance-inspector-tasks strong,.maintenance-inspector-tasks small,.maintenance-inspector-tasks em{overflow:hidden;font-size:14px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.maintenance-inspector-tasks small{color:#7a827b}.maintenance-inspector-tasks em{color:var(--pine-deep);font-weight:700}.lifecycle-empty{display:flex;align-items:center;gap:7px;margin:0;color:#5d735d;font-size:14px}.prototype-disclaimer{margin:10px 0 0;color:#7a827b;font-size:14px;line-height:1.45}.cost-tray{height:274px}.cost-tray-header>div:first-child{min-width:0;display:flex;align-items:center;gap:12px}.cost-tray-header>div:first-child>strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.cost-kicker{display:flex;flex:0 0 auto;align-items:center;gap:6px;color:var(--pine-deep);font-size:17px;font-weight:700}.cost-header-actions{flex:0 0 auto;display:flex;align-items:center;gap:7px}.cost-export-shortcut{height:31px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid rgba(82,107,69,.18);border-radius:16px;background:#526b4512;color:var(--pine-deep);font-size:14px}.cost-total{min-width:94px;color:var(--pine-deep);font-size:17px;font-weight:700;text-align:right;white-space:nowrap}.cost-metric-strip{height:56px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding-bottom:7px}.cost-metric-strip>div{min-width:0;display:grid;grid-template-columns:24px 1fr;grid-template-rows:1fr 1fr;align-items:center;column-gap:7px;padding:5px 9px;border-radius:8px;background:#526b4512}.cost-metric-strip svg{grid-row:1 / -1;color:var(--pine)}.cost-metric-strip span,.cost-metric-strip strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.cost-metric-strip span{align-self:end;color:#788079}.cost-metric-strip strong{align-self:start;color:var(--pine-deep)}.cost-table{height:157px;overflow:hidden;border:1px solid rgba(55,68,57,.11);border-radius:8px;background:#fffffcb3}.cost-table-head,.cost-table-row{display:grid;grid-template-columns:minmax(210px,1.65fr) repeat(4,minmax(78px,.7fr));align-items:center;gap:8px}.cost-table-head{height:31px;padding:0 11px;background:#526b4514;color:#687269;font-size:14px;font-weight:600}.cost-table-body{height:124px;overflow:auto;scrollbar-width:thin}.cost-table-row{min-height:43px;padding:5px 11px;border-top:1px solid rgba(55,68,57,.08)}.cost-table-row>span:first-child{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 7px}.cost-table-row i{grid-row:1 / 3;align-self:center;padding:4px 6px;border-radius:12px;background:#e5ece1;color:#456149;font-size:14px;font-style:normal}.cost-table-row i.is-facility{background:#ebe6da;color:#755f35}.cost-table-row strong,.cost-table-row span,.cost-table-row small{min-width:0;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.cost-table-row>span:first-child>small{color:#7a827b}.cost-table-row>span:not(:first-child){display:flex;flex-direction:column;gap:2px}.cost-table-row>span:not(:first-child) small{color:#9a6c38}.cost-table-row>strong:last-child{color:var(--pine-deep);text-align:right}.cost-empty{min-height:110px;display:flex;align-items:center;justify-content:center;gap:7px;color:#5d735d;font-size:14px}.cost-inspector>header>svg{color:var(--pine)}.cost-hero{display:flex;flex-direction:column;gap:4px;padding:11px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#526b4512}.cost-hero span,.cost-hero small{color:#727b73;font-size:14px}.cost-hero strong{color:var(--pine-deep);font-size:27px;line-height:1.15}.cost-breakdown,.budget-settings,.zone-budget-list{padding:11px 0;border-bottom:1px solid var(--line)}.cost-breakdown h3,.budget-settings h3,.zone-budget-list h3{margin:0 0 8px;font-size:15px}.cost-breakdown>div{min-height:27px;display:flex;align-items:center;justify-content:space-between;gap:8px}.cost-breakdown span,.cost-breakdown strong{font-size:14px}.cost-breakdown span{color:#727b73}.budget-control{display:grid;gap:4px;margin-top:8px}.budget-control>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.budget-control strong,.budget-control b{font-size:14px}.budget-control b{color:var(--pine);font-weight:600}.budget-control input{width:100%;accent-color:var(--pine)}.budget-maintenance{margin-top:9px;padding-bottom:0;border-bottom:0}.zone-budget-list>div{min-height:43px;display:grid;grid-template-columns:27px 1fr auto;align-items:center;gap:7px}.zone-budget-list>div+div{border-top:1px solid rgba(55,68,57,.08)}.zone-budget-list b{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#526b451a;color:var(--pine-deep);font-size:14px}.zone-budget-list>div>span{min-width:0;display:flex;flex-direction:column;gap:2px}.zone-budget-list strong,.zone-budget-list small,.zone-budget-list em{overflow:hidden;font-size:14px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.zone-budget-list small{color:#788079}.zone-budget-list em{color:var(--pine-deep);font-weight:700}.review-tray{height:294px}.review-tray-header>div:first-child{min-width:0;display:flex;align-items:center;gap:11px}.review-tray-header>div:first-child>strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.review-kicker{display:flex;flex:0 0 auto;align-items:center;gap:6px;color:var(--pine-deep);font-size:17px;font-weight:700}.review-header-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.version-select{height:34px;display:grid;grid-template-columns:auto minmax(96px,128px);align-items:center;gap:5px;padding:0 7px;border:1px solid rgba(55,68,57,.12);border-radius:7px;background:#ffffffad}.version-select>span{color:#778078;font-size:14px;white-space:nowrap}.version-select select{min-width:0;border:0;outline:0;background:transparent;color:var(--pine-deep);font-size:14px;font-weight:600}.review-export-button,.review-inspect-button,.review-create-button{height:34px;display:flex;align-items:center;gap:6px;padding:0 9px;border-radius:7px;font-size:14px;white-space:nowrap}.review-export-button{border:1px solid rgba(82,107,69,.16);background:#526b4512;color:var(--pine-deep)}.review-inspect-button{display:none;border:1px solid rgba(82,107,69,.16);background:#fffffcc7;color:var(--pine-deep)}.review-create-button{background:var(--pine);color:#fff}.review-tray-body{height:231px;display:grid;grid-template-columns:226px minmax(330px,1fr) 176px;gap:9px}.version-rail{min-width:0;overflow:auto;padding:1px;scrollbar-width:thin}.version-card{width:100%;min-height:69px;display:flex;flex-direction:column;gap:4px;padding:8px 9px;border:1px solid rgba(55,68,57,.11);border-radius:8px;background:#fffffca3;text-align:left}.version-card+.version-card{margin-top:6px}.version-card:hover{border-color:#526b454d;background:#fffffce0}.version-card.is-active{border-color:#526b458c;background:#526b451a;box-shadow:inset 3px 0 0 var(--pine)}.version-card>span{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:5px}.version-card b,.version-card strong,.version-card small{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.version-card b{color:var(--pine-deep)}.version-card small{color:#788079}.review-status{min-height:23px;display:inline-flex;align-items:center;gap:4px;padding:0 7px;border-radius:12px;background:#e8ebe6;color:#637063;font-size:14px;font-weight:600;white-space:nowrap}.review-status.is-review{background:#e3ebdf;color:#426047}.review-status.is-warning{background:#f1e8d7;color:#876431}.review-status.is-approved{background:#dfece2;color:#376544}.review-comparison{min-width:0;overflow:hidden;border:1px solid rgba(55,68,57,.11);border-radius:8px;background:#fffffca6}.review-comparison-head,.review-comparison-row{display:grid;grid-template-columns:minmax(96px,1.15fr) repeat(3,minmax(72px,.85fr));align-items:center;gap:7px;padding:0 10px}.review-comparison-head{height:31px;background:#526b4514;color:#687269;font-size:14px;font-weight:600}.review-comparison-body{height:198px;overflow:auto;scrollbar-width:thin}.review-comparison-row{min-height:33px;border-top:1px solid rgba(55,68,57,.08)}.review-comparison-row span,.review-comparison-row strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.review-comparison-row>span:first-child{font-weight:600}.review-comparison-row>span:not(:first-child){color:#6f796f}.review-comparison-row>strong{color:#788079;text-align:right}.review-comparison-row>strong.is-rise{color:#9a6237}.review-comparison-row>strong.is-fall{color:#47704d}.review-change-summary{min-width:0;overflow:hidden;padding:10px;border-radius:8px;background:#526b4512}.review-change-summary h3{margin:0 0 8px;font-size:15px}.change-category-list{display:grid;gap:4px}.change-category-list>span{min-height:24px;display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:6px;font-size:14px}.change-category-list i{width:6px;height:6px;border-radius:50%;background:var(--pine)}.change-category-list b{font-size:14px}.review-schedule-change{display:grid;gap:4px;margin-top:8px;padding-top:7px;border-top:1px solid rgba(55,68,57,.1)}.review-schedule-change>strong,.review-schedule-change>span,.review-change-summary>p,.review-change-summary>small{font-size:14px}.review-schedule-change>span{display:flex;justify-content:space-between;gap:6px;color:#707970}.review-schedule-change b{color:#8f5f36;font-size:14px}.review-change-summary>p{margin:9px 0;color:#738074}.review-change-summary>small{display:block;margin-top:9px;color:#778078;line-height:1.35}.review-inspector-mark{color:var(--pine)}.review-mobile-close,.review-mobile-backdrop{display:none}.review-hero{display:grid;gap:6px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.review-hero>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.review-hero>div>strong{color:var(--pine-deep);font-size:20px}.review-hero h3{margin:0;font-size:17px}.review-hero p{margin:0;color:#687169;font-size:14px;line-height:1.45}.review-hero>small{color:#7a827b;font-size:14px}.approval-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:11px 0;border-bottom:1px solid var(--line)}.approval-progress>span{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;color:#8a918a}.approval-progress>span:not(:last-child):after{content:"";position:absolute;top:12px;left:calc(50% + 15px);width:calc(100% - 30px);height:2px;background:#d8ddd5}.approval-progress i{position:relative;z-index:1;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#dfe3dc;font-size:14px;font-style:normal}.approval-progress b{font-size:14px;font-weight:500;white-space:nowrap}.approval-progress>span.is-done{color:var(--pine-deep)}.approval-progress>span.is-done i,.approval-progress>span.is-done:after{background:var(--pine);color:#fff}.review-actions,.review-comments,.review-history{padding:11px 0;border-bottom:1px solid var(--line)}.review-actions h3,.review-comments h3,.review-history h3{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:15px}.review-comments h3 b{margin-left:auto;color:#748075;font-size:14px}.review-actions>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.review-actions button{width:100%;height:38px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:7px;font-size:14px;font-weight:600}.review-submit,.review-approve{background:var(--pine);color:#fff}.review-return{border:1px solid #d9b8af;background:#f5e9e5;color:#954c40}.review-approved-note{display:flex;align-items:center;gap:7px;margin:0;padding:9px;border-radius:7px;background:#e4eee5;color:#376544;font-size:14px}.review-comments>div{max-height:154px;overflow:auto;scrollbar-width:thin}.review-comments article{padding:8px 9px;border-radius:7px;background:#fff}.review-comments article+article{margin-top:6px}.review-comments article>span{display:flex;justify-content:space-between;gap:7px}.review-comments article strong,.review-comments article small,.review-comments article p,.review-empty{font-size:14px}.review-comments article small{color:#7a827b}.review-comments article p{margin:6px 0 0;color:#626d64;line-height:1.45}.review-empty{margin:0;color:#7a827b}.review-comments>label{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:8px}.review-comments>label>span{grid-column:1 / -1;font-size:14px;font-weight:600}.review-comments textarea{min-height:62px;resize:vertical;padding:8px 9px;border:1px solid var(--line);border-radius:7px;background:#fff;font:inherit;font-size:14px;line-height:1.4}.review-comments>label>button{width:68px;border-radius:7px;background:#526b451c;color:var(--pine-deep);font-size:14px}.review-history>div{min-height:39px;display:grid;grid-template-columns:8px 1fr;align-items:center;gap:8px}.review-history>div>i{width:7px;height:7px;border-radius:50%;background:var(--mint)}.review-history>div>span{min-width:0;display:flex;flex-direction:column;gap:2px}.review-history strong,.review-history small{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.review-history small{color:#788079}.project-menu{position:absolute;z-index:80;top:51px;left:184px;width:390px;max-height:calc(100vh - 68px);overflow:auto;padding:16px;border:1px solid rgba(54,68,56,.14);border-radius:12px;background:#fbfcf8fa;box-shadow:0 22px 55px #1c281e38;scrollbar-width:thin}.project-menu>header{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid var(--line)}.project-menu>header>div{min-width:0;display:flex;flex-direction:column;gap:5px}.project-menu>header strong{font-size:17px}.project-menu>header span{overflow:hidden;color:#768076;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.project-quick-actions{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;padding:14px 0 12px}.project-action{min-height:43px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:14px}.project-action.primary{border-color:transparent;background:var(--pine);color:#fff;cursor:pointer}.project-action input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.plan-settings{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;padding:12px;border-radius:9px;background:#526b4514}.plan-settings label{display:grid;gap:6px;font-size:14px}.plan-settings input{width:100%;accent-color:var(--pine)}.plan-settings button{height:35px;display:flex;align-items:center;gap:6px;padding:0 10px;border-radius:7px;background:#fff;color:var(--pine-deep);font-size:14px}.reference-plan-settings{display:grid;gap:10px;margin-top:10px;padding:12px;border:1px solid rgba(82,107,69,.15);border-radius:9px;background:#f6f7f1}.reference-plan-settings>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px}.reference-plan-settings>header>span{min-width:0;display:flex;flex-direction:column;gap:3px}.reference-plan-settings strong,.reference-plan-settings small,.reference-plan-settings p{font-size:14px}.reference-plan-settings small{overflow:hidden;color:#747d75;text-overflow:ellipsis;white-space:nowrap}.reference-plan-settings>header>button{min-width:88px;height:35px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border-radius:7px;background:#fff;color:var(--pine-deep);font-size:14px}.reference-plan-settings>header>button:disabled{cursor:not-allowed;opacity:.5}.reference-plan-settings>p{margin:0;color:#727a73;line-height:1.5}.reference-plan-actions{display:grid;grid-template-columns:1fr auto;gap:7px}.reference-plan-actions label,.reference-plan-actions button{height:35px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(82,107,69,.16);border-radius:7px;background:#fff;color:var(--pine-deep);font-size:14px;cursor:pointer}.reference-plan-actions button{min-width:78px;color:#8e4d43}.reference-plan-actions input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.reference-opacity{display:grid;gap:5px}.reference-opacity>span{display:flex;justify-content:space-between;color:#626d64;font-size:14px}.reference-opacity input{width:100%;accent-color:var(--pine)}.reference-opacity input:disabled{opacity:.45}.local-database-card{display:grid;gap:10px;margin-top:10px;padding:11px 12px;border:1px solid rgba(82,107,69,.14);border-radius:9px;background:#526b4512}.local-database-card>div{display:flex;align-items:center;gap:9px}.local-database-card>div:first-child>svg{flex:0 0 auto;color:var(--pine-deep)}.local-database-card>div:first-child>span{min-width:0;display:flex;flex-direction:column;gap:3px}.local-database-card strong,.local-database-card small{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.local-database-card small{color:#717b72}.local-database-card>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:7px}.local-database-card button,.local-database-card label{height:35px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(82,107,69,.16);border-radius:7px;background:#fff;color:var(--pine-deep);font-size:14px;cursor:pointer}.local-database-card button:disabled{cursor:wait;opacity:.55}.local-database-card input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.project-list{padding-top:13px}.project-list h3{margin:0 0 7px;font-size:15px}.project-list>button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-radius:7px;background:transparent;text-align:left}.project-list>button:hover{background:#526b4514}.project-list>button>span{display:flex;flex-direction:column;gap:3px}.project-list strong,.project-list small{font-size:14px}.project-list small{color:#7c847c}.modal-backdrop{position:fixed;z-index:70;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#19221b61;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.export-modal{width:min(520px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;padding:22px;border:1px solid rgba(57,72,59,.14);border-radius:14px;background:var(--paper-solid);box-shadow:0 28px 70px #19221b40}.export-modal>header{display:grid;grid-template-columns:48px 1fr 36px;gap:12px;align-items:center}.modal-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:10px;background:#526b451f;color:var(--pine-deep)}.export-modal h2{margin:0 0 4px;font-size:20px}.export-modal p{margin:0;color:#737b74;font-size:14px}.export-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:22px 0 16px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--line)}.export-summary div{display:flex;flex-direction:column;gap:7px;padding:14px;background:#fff}.export-summary span{color:#737b74;font-size:14px}.export-summary strong{font-size:18px}.export-summary div:last-child strong{font-size:16px;white-space:nowrap}.export-checks{display:grid;gap:10px;margin:0;padding:15px 0 20px;border-bottom:1px solid var(--line);list-style:none;font-size:14px}.export-checks li{display:flex;align-items:center;gap:9px}.export-checks svg{color:var(--pine)}.export-modal footer{display:flex;justify-content:flex-end;gap:10px;padding-top:17px}.export-options{min-height:0;display:grid;gap:9px;overflow-y:auto;padding:1px 4px 16px 1px;border-bottom:1px solid var(--line);scrollbar-width:thin}.export-options>button{min-height:62px;display:grid;grid-template-columns:36px 1fr 24px;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--pine-deep);text-align:left}.export-options>button:hover:not(:disabled){border-color:#526b456b;background:#526b450d}.export-options>button>span{display:flex;flex-direction:column;gap:4px}.export-options strong{font-size:15px}.export-options small{color:#747d75;font-size:14px}.deliverable-backdrop{z-index:84;padding:20px;background:#151f1780}.deliverable-center{width:min(1440px,calc(100vw - 40px));height:min(900px,calc(100vh - 40px));min-height:680px;display:grid;grid-template-rows:78px minmax(0,1fr) 54px;overflow:hidden;border:1px solid rgba(57,72,59,.16);border-radius:16px;background:#f5f6f1;box-shadow:0 32px 90px #14201757}.deliverable-header{display:grid;grid-template-columns:50px minmax(250px,1fr) auto 38px;align-items:center;gap:13px;padding:12px 18px;border-bottom:1px solid var(--line);background:#fbfcf8}.deliverable-heading-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:10px;background:#526b451f;color:var(--pine-deep)}.deliverable-header>div:nth-child(2){min-width:0}.deliverable-header>div:nth-child(2)>span{color:var(--pine);font-size:14px;font-weight:700;letter-spacing:.08em}.deliverable-header h2{margin:1px 0 2px;font-family:Songti SC,serif;font-size:23px}.deliverable-header p{overflow:hidden;margin:0;color:#737d74;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.deliverable-header nav{height:40px;display:flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(55,68,57,.11);border-radius:9px;background:#eef1ea}.deliverable-header nav button{height:32px;display:flex;align-items:center;gap:6px;padding:0 13px;border-radius:6px;color:#687269;font-size:14px}.deliverable-header nav button.is-active{background:#fff;color:var(--pine-deep);box-shadow:0 2px 8px #232f241a;font-weight:600}.deliverable-icon-button{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:transparent;color:#5f6961}.deliverable-icon-button:hover{background:#526b4517}.deliverable-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 18px;border-top:1px solid var(--line);background:#fbfcf8}.deliverable-footer>span{min-width:0;display:flex;align-items:center;gap:7px;color:#68736a;font-size:14px}.deliverable-footer>span svg{flex:0 0 auto;color:var(--pine)}.deliverable-footer>button{height:36px;padding:0 15px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--pine-deep);font-size:14px}.construction-delivery-layout{min-height:0;display:grid;grid-template-columns:250px minmax(420px,1fr) 310px;gap:12px;padding:12px}.construction-settings-panel,.construction-audit-panel,.construction-preview-panel{min-height:0;overflow:hidden;border:1px solid rgba(55,68,57,.12);border-radius:12px;background:#fffffcd1}.construction-settings-panel{overflow-y:auto;padding:15px;scrollbar-width:thin}.construction-settings-panel>header,.construction-audit-panel>header{display:flex;align-items:center;gap:9px;margin-bottom:14px;color:var(--pine-deep)}.construction-settings-panel>header>div,.construction-audit-panel>header>div{min-width:0;display:flex;flex-direction:column;gap:2px}.construction-settings-panel>header strong,.construction-audit-panel>header strong{font-size:16px}.construction-settings-panel>header span,.construction-audit-panel>header span{color:#758077;font-size:14px}.construction-settings-panel fieldset{margin:0 0 14px;padding:0;border:0}.construction-settings-panel legend,.construction-setting-field>span{margin-bottom:7px;color:#4e5d51;font-size:14px;font-weight:600}.paper-size-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.paper-size-options button{min-width:0;min-height:55px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#68736a}.paper-size-options button strong,.paper-size-options button span{font-size:14px}.paper-size-options button span{display:none}.paper-size-options button.is-active{border-color:#526b4594;background:#526b451a;color:var(--pine-deep);box-shadow:inset 0 0 0 1px #526b451f}.construction-setting-field{display:grid;margin-bottom:13px}.construction-setting-field input,.construction-setting-field select{width:100%;height:39px;padding:0 10px;border:1px solid var(--line);border-radius:7px;outline:0;background:#fff;color:#334138;font-size:14px}.construction-setting-field input:focus,.construction-setting-field select:focus{border-color:#526b459e;box-shadow:0 0 0 3px #526b451a}.construction-setting-field small{margin-top:5px;color:#79827a;font-size:14px;line-height:1.35}.construction-setting-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:8px}.construction-layer-note{display:flex;gap:9px;margin-top:5px;padding:11px;border-radius:8px;background:#edf1e9;color:var(--pine-deep)}.construction-layer-note svg{flex:0 0 auto}.construction-layer-note p{display:flex;flex-direction:column;gap:4px;margin:0}.construction-layer-note strong,.construction-layer-note span{font-size:14px}.construction-layer-note span{color:#69746b;line-height:1.4}.construction-preview-panel{display:grid;grid-template-rows:54px minmax(0,1fr) 38px;background:#dfe5d9}.construction-preview-panel>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px;border-bottom:1px solid rgba(55,68,57,.12);background:#fbfcf8}.construction-preview-panel>header>div{min-width:0;display:flex;flex-direction:column;gap:2px}.construction-preview-panel>header span{color:#788179;font-size:14px}.construction-preview-panel>header strong{overflow:hidden;color:var(--pine-deep);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.construction-preview-panel>header em{flex:0 0 auto;padding:5px 8px;border-radius:6px;background:#526b451a;color:var(--pine-deep);font-size:14px;font-style:normal;font-weight:600}.construction-preview-stage{min-height:0;display:grid;place-items:center;overflow:auto;padding:18px;background:linear-gradient(135deg,#cdd6c7,#e4e8df);scrollbar-width:thin}.construction-sheet-preview{width:min(100%,800px);aspect-ratio:1.414 / 1;display:grid;grid-template-columns:minmax(0,1fr) 29%;grid-template-rows:minmax(0,1fr) 19%;overflow:hidden;border:1px solid #aeb6ab;background:#f8f8f2;color:#26302a;box-shadow:0 13px 34px #1e2a2033;font-family:PingFang SC,Microsoft YaHei,sans-serif}.construction-preview-panel>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border-top:1px solid rgba(55,68,57,.12);background:#fbfcf8}.construction-preview-panel>footer span{overflow:hidden;color:#6d776f;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.construction-sheet-plan{position:relative;min-width:0;min-height:0;overflow:hidden;border-right:1px solid #879188;background:#e8ece5}.construction-sheet-plan>img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.82) contrast(.93) brightness(1.04)}.construction-sheet-plan>svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.construction-sheet-plan>svg line{stroke:#3a6d55;stroke-width:2.1}.construction-sheet-plan>svg circle{fill:#fff;stroke:#365f48;stroke-width:2}.construction-sheet-plan>svg rect{fill:#fffffceb;stroke:#365f48;stroke-width:1.5}.construction-sheet-plan>svg text{fill:#2d4f3a;font-size:14px;font-weight:700;text-anchor:middle}.construction-sheet-plan>svg .facility circle{fill:#f2e7c9;stroke:#775f2d}.construction-sheet-plan>svg .facility text{fill:#665022;font-size:14px}.construction-north{position:absolute;left:3%;top:4%;display:flex;flex-direction:column;align-items:center;color:#28392e;font-size:14px;font-weight:700}.construction-north span{font-size:24px;line-height:1}.construction-scale{position:absolute;left:3%;bottom:3%;padding:3px 6px;border:1px solid rgba(42,57,47,.5);background:#fffffce0;color:#33473a;font-size:14px}.construction-sheet-schedule{min-width:0;overflow:hidden;padding:8px;background:#f7f8f3}.construction-sheet-schedule h2{margin:0 0 5px;color:#375540;font-size:14px}.construction-sheet-schedule h2:not(:first-child){margin-top:8px}.construction-sheet-schedule table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}.construction-sheet-schedule th,.construction-sheet-schedule td{overflow:hidden;padding:3px 4px;border:1px solid #cfd5cd;text-align:left;text-overflow:ellipsis;white-space:nowrap}.construction-sheet-schedule th{background:#e8ede5;color:#3d5543;font-size:14px}.construction-sheet-schedule td,.construction-sheet-schedule b,.construction-sheet-schedule small{font-size:14px}.construction-sheet-schedule td:nth-child(1),.construction-sheet-schedule th:nth-child(1){width:31%}.construction-sheet-schedule td:nth-child(3),.construction-sheet-schedule th:nth-child(3){width:28%}.construction-sheet-schedule td:nth-child(4),.construction-sheet-schedule th:nth-child(4){width:17%;text-align:center}.construction-sheet-schedule td>b,.construction-sheet-schedule td>small{display:block;overflow:hidden;text-overflow:ellipsis}.construction-sheet-schedule td>small{color:#788079}.construction-legend{display:grid;grid-template-columns:1fr 1fr;gap:4px 6px}.construction-legend span{display:flex;align-items:center;gap:4px;overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.construction-legend i{width:10px;height:10px;flex:0 0 auto;border:2px solid #4d7256;border-radius:50%}.construction-legend i.shrub{border-color:#6c8b54}.construction-legend i.ground{border-color:#a39a4f}.construction-legend i.facility{border-radius:2px;border-color:#866a3c}.construction-titleblock{grid-column:1 / -1;display:grid;grid-template-columns:1fr .72fr .8fr;gap:0;border-top:1px solid #727e75;background:#fbfbf6}.construction-titleblock>div{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:7px 10px}.construction-titleblock small,.construction-titleblock strong,.construction-titleblock span{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.construction-titleblock small{color:#52705a;font-weight:700}.construction-titleblock strong{font-family:Songti SC,serif;font-size:16px}.construction-titleblock dl{min-width:0;display:grid;grid-template-columns:1fr 1fr;margin:0;border-left:1px solid #aeb6ad}.construction-titleblock dl>div{min-width:0;display:grid;grid-template-columns:45% 1fr;align-items:center;border-right:1px solid #c3c9c1;border-bottom:1px solid #c3c9c1}.construction-titleblock dt,.construction-titleblock dd{overflow:hidden;margin:0;padding:3px 5px;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.construction-titleblock dt{color:#6c776e}.construction-titleblock dd{font-weight:600}.construction-titleblock>p{display:flex;align-items:center;overflow:hidden;margin:0;padding:7px 10px;color:#6e786f;font-size:14px;line-height:1.45}.construction-audit-panel{display:flex;flex-direction:column;padding:15px}.construction-audit-status{display:flex;align-items:center;gap:9px;margin-bottom:11px;padding:11px;border-radius:9px}.construction-audit-status.is-blocked{background:#f4e7e3;color:#91483d}.construction-audit-status.is-passed{background:#e4eee1;color:#3e6c47}.construction-audit-status>div{display:flex;flex-direction:column;gap:3px}.construction-audit-status strong,.construction-audit-status span{font-size:14px}.construction-audit-status span{color:#727c74}.construction-audit-list{min-height:0;flex:1 1 auto;overflow-y:auto;padding-right:3px;scrollbar-width:thin}.construction-audit-list article{display:grid;grid-template-columns:20px 1fr;gap:7px;padding:9px 0;border-bottom:1px solid rgba(55,68,57,.09)}.construction-audit-list article>svg{margin-top:1px}.construction-audit-list article.is-error>svg{color:#a65448}.construction-audit-list article.is-warning>svg{color:#aa823d}.construction-audit-list article.is-passed>svg{color:#4c7a53}.construction-audit-list strong{color:#3f4e43;font-size:14px}.construction-audit-list p{margin:3px 0 0;color:#737d75;font-size:14px;line-height:1.4}.construction-export-actions{display:grid;gap:8px;padding-top:11px}.construction-export-actions>button{min-height:58px;display:grid;grid-template-columns:28px 1fr 20px;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;text-align:left}.construction-export-actions>button>span{min-width:0;display:flex;flex-direction:column;gap:3px}.construction-export-actions strong,.construction-export-actions small{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.construction-dxf-button{background:var(--pine);color:#fff}.construction-pdf-button{border:1px solid rgba(82,107,69,.25);background:#eef2ea;color:var(--pine-deep)}.construction-export-actions button:disabled{cursor:not-allowed;opacity:.45}.construction-block-hint{margin:8px 0 0;color:#8d5c52;font-size:14px;line-height:1.4}.deliverable-data-workspace{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:16px 18px}.deliverable-data-workspace>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 16px;border:1px solid rgba(55,68,57,.11);border-radius:11px;background:#fffffcc7}.deliverable-data-workspace>header span{color:var(--pine);font-size:14px;font-weight:700;letter-spacing:.06em}.deliverable-data-workspace>header h3{margin:2px 0 4px;font-family:Songti SC,serif;font-size:20px}.deliverable-data-workspace>header p{margin:0;color:#727c74;font-size:14px}.deliverable-data-workspace dl{display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));margin:0;border:1px solid var(--line);border-radius:9px;background:#fff}.deliverable-data-workspace dl>div{min-width:92px;padding:8px 12px}.deliverable-data-workspace dl>div+div{border-left:1px solid var(--line)}.deliverable-data-workspace dt{color:#788179;font-size:14px}.deliverable-data-workspace dd{margin:3px 0 0;color:var(--pine-deep);font-size:16px;font-weight:700}.deliverable-data-grid{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow-y:auto;padding:1px 3px 12px 1px;scrollbar-width:thin}.deliverable-data-grid>button{min-height:76px;display:grid;grid-template-columns:32px 1fr 20px;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--pine-deep);text-align:left}.deliverable-data-grid>button:hover:not(:disabled){border-color:#526b456b;background:#526b450d}.deliverable-data-grid>button:disabled{opacity:.45}.deliverable-data-grid>button>span{min-width:0;display:flex;flex-direction:column;gap:5px}.deliverable-data-grid strong,.deliverable-data-grid small{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.deliverable-data-grid small{color:#747d75}.construction-pdf-sheet{position:fixed;z-index:-100;left:-12000px;top:0;width:1400px;height:990px;display:grid;grid-template-columns:minmax(0,1fr) 29%;grid-template-rows:minmax(0,1fr) 19%;overflow:hidden;border:1px solid #77837a;background:#f8f8f2;color:#26302a;font-family:PingFang SC,Microsoft YaHei,sans-serif}.construction-pdf-sheet .construction-sheet-schedule{padding:15px}.construction-pdf-sheet .construction-sheet-schedule h2{margin-bottom:8px;font-size:18px}.construction-pdf-sheet .construction-sheet-schedule h2:not(:first-child){margin-top:14px}.construction-pdf-sheet .construction-sheet-schedule th,.construction-pdf-sheet .construction-sheet-schedule td{padding:6px 7px}.construction-pdf-sheet .construction-titleblock>div{padding:12px 17px}.construction-pdf-sheet .construction-titleblock strong{font-size:24px}.construction-pdf-sheet .construction-titleblock>p{padding:12px 17px}.calibration-modal{width:min(460px,100%);padding:22px;border:1px solid rgba(57,72,59,.14);border-radius:14px;background:var(--paper-solid);box-shadow:0 28px 70px #19221b40}.calibration-modal>header{display:grid;grid-template-columns:48px 1fr 36px;gap:12px;align-items:center}.calibration-modal h2{margin:0 0 4px;font-size:20px}.calibration-modal p{margin:0;color:#737b74;font-size:14px}.calibration-modal>label{display:grid;gap:8px;margin:22px 0;font-size:15px;font-weight:600}.calibration-modal>label>div{height:45px;display:grid;grid-template-columns:1fr 48px;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.calibration-modal input{width:100%;height:100%;padding:0 12px;border:0;outline:0;font-size:17px}.calibration-modal b{color:#727b73;font-size:14px;text-align:center}.calibration-modal footer{display:flex;justify-content:flex-end;gap:10px}.primary-button,.secondary-button{height:40px;padding:0 17px;border-radius:7px;font-size:14px}.primary-button{background:var(--pine);color:#fff}.secondary-button{border:1px solid var(--line);background:#fff}.pdf-report{position:fixed;z-index:-100;left:-10000px;top:0;width:1120px;min-height:792px;padding:46px 52px;background:#f7f8f3;color:#26302a;font-family:PingFang SC,Microsoft YaHei,sans-serif}.pdf-report header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.pdf-report header p{margin:0 0 8px;color:#526b45;font-size:15px}.pdf-report h1{margin:0;font-family:Songti SC,serif;font-size:31px}.pdf-report header>strong{padding:9px 14px;border-radius:7px;background:#526b45;color:#fff;font-size:16px}.pdf-report>img{width:1016px;height:300px;object-fit:cover;border-radius:12px;box-shadow:0 10px 28px #232d2421}.pdf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0}.pdf-stats span{display:flex;justify-content:space-between;padding:11px 14px;border-radius:7px;background:#fff;font-size:14px}.pdf-conditions{display:flex;justify-content:space-between;gap:12px;margin:0 0 12px;padding:9px 12px;border-left:4px solid #526b45;background:#edf1e9;color:#586359;font-size:14px}.pdf-report h2{margin:11px 0 8px;font-size:18px}.pdf-report table{width:100%;border-collapse:collapse;background:#fff;font-size:14px}.pdf-report th,.pdf-report td{padding:7px 12px;border-bottom:1px solid #e3e7df;text-align:left}.pdf-report th{color:#526b45}.pdf-report footer{margin-top:11px;color:#7a827a;font-size:14px;text-align:right}.pdf-report.has-lifecycle>img{height:218px}.pdf-report.has-zones>img{height:190px}.pdf-zone-table th,.pdf-zone-table td{padding-top:5px;padding-bottom:5px}.pdf-lifecycle{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 10px}.pdf-lifecycle>span{display:flex;flex-direction:column;gap:4px;padding:8px 11px;border:1px solid #dfe6da;border-radius:7px;background:#fff;color:#69736a;font-size:14px}.pdf-lifecycle strong{color:#3c5d40;font-size:14px}.plant-library-backdrop{z-index:82;background:#151f177a}.plant-library-modal{width:min(1180px,calc(100vw - 40px));height:min(780px,calc(100vh - 40px));min-height:650px;overflow:hidden;border:1px solid rgba(57,72,59,.15);border-radius:16px;background:#f7f8f3;box-shadow:0 30px 90px #14201752}.library-header{min-height:106px;display:grid;grid-template-columns:1fr auto 38px;align-items:center;gap:20px;padding:18px 22px;border-bottom:1px solid var(--line);background:#fbfcf8}.library-kicker{display:flex;align-items:center;gap:7px;margin-bottom:5px;color:var(--pine);font-size:14px;font-weight:600}.library-header h2{margin:0;font-family:Songti SC,serif;font-size:24px}.library-header p{margin:5px 0 0;color:#707970;font-size:14px}.library-location{min-width:170px;display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid rgba(82,107,69,.16);border-radius:9px;background:#526b4512;color:var(--pine-deep)}.library-location>span{display:flex;flex-direction:column;gap:2px}.library-location strong{font-size:15px}.library-location small{color:#717b72;font-size:14px}.library-close{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:transparent}.library-close:hover{background:#526b4517}.library-body{height:calc(100% - 106px);display:grid;grid-template-columns:250px 365px 1fr;overflow:hidden}.library-filters,.library-results,.plant-detail{min-height:0;overflow:auto}.library-filters{padding:17px;border-right:1px solid var(--line);background:#f5f7f1eb}.library-filter-title{display:flex;align-items:center;gap:8px;margin-bottom:13px;color:var(--pine-deep)}.library-filter-title strong{font-size:16px}.library-search{height:42px;display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:0 10px;border:1px solid rgba(55,68,57,.14);border-radius:8px;background:#fff;color:#6e776f}.library-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;font-size:14px}.library-field{display:grid;gap:6px;margin-top:12px}.library-field>span{display:flex;align-items:center;gap:7px;color:#59645b;font-size:14px;font-weight:600}.library-field select{width:100%;height:38px;padding:0 9px;border:1px solid rgba(55,68,57,.14);border-radius:7px;outline:0;background:#fff;color:var(--ink);font-size:14px}.hard-filter-toggle{min-height:50px;display:flex;align-items:center;gap:9px;margin-top:14px;padding:8px 9px;border:1px solid rgba(82,107,69,.14);border-radius:8px;background:#526b450f}.hard-filter-toggle input{width:17px;height:17px;accent-color:var(--pine)}.hard-filter-toggle>span{display:flex;flex-direction:column;gap:2px}.hard-filter-toggle strong,.hard-filter-toggle small{font-size:14px}.hard-filter-toggle small{color:#788079}.library-type-filter{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.library-type-filter>span{color:#59645b;font-size:14px;font-weight:600}.library-type-filter>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.library-type-filter button{min-height:30px;padding:0 9px;border:1px solid rgba(55,68,57,.12);border-radius:15px;background:#fff;color:#677168;font-size:14px}.library-type-filter button.is-active{border-color:var(--pine);background:var(--pine);color:#fff}.library-results{border-right:1px solid var(--line);background:#fbfcf8}.library-results>header{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid var(--line)}.library-results>header>div{display:flex;align-items:baseline;gap:8px}.library-results>header strong{font-size:16px}.library-results>header span,.library-results>header small{color:#778078;font-size:14px}.library-result-list{height:calc(100% - 58px);overflow:auto;padding:8px}.plant-result{width:100%;min-height:84px;display:grid;grid-template-columns:56px 1fr 50px;align-items:center;gap:10px;padding:9px;border:1px solid transparent;border-radius:9px;background:transparent;text-align:left}.plant-result:hover{background:#526b450f}.plant-result.is-selected{border-color:#526b4547;background:#526b451a}.result-plant-visual{width:56px;height:56px;display:grid;place-items:center;overflow:hidden;border-radius:8px;background:#526b451a;color:var(--pine)}.result-plant-visual img{width:100%;height:100%;object-fit:cover}.result-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.result-copy strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.result-copy strong em{margin-left:6px;color:var(--pine);font-size:14px;font-style:normal;font-weight:500}.result-copy small{overflow:hidden;color:#727b73;font-family:Georgia,serif;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.result-copy>span{color:#69736a;font-size:14px}.score-badge{width:46px;height:55px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:9px;background:#e3e7df}.score-badge b{font-size:17px}.score-badge small{font-size:14px}.score-badge.is-优选,.score-ring.is-优选{background:#dce9d9;color:#315737}.score-badge.is-适用,.score-ring.is-适用{background:#e8e5d3;color:#6b622e}.score-badge.is-谨慎,.score-ring.is-谨慎{background:#f0ded8;color:#914a3c}.score-badge.is-不符,.score-ring.is-不符{background:#eadad6;color:#9b4338}.score-badge.is-待审,.score-ring.is-待审{background:#f1e7d2;color:#805e28}.plant-detail{padding:19px 21px;background:#f7f8f3}.detail-hero{min-height:105px;display:grid;grid-template-columns:105px 1fr;gap:15px;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--line)}.detail-hero>img,.detail-hero>span{width:105px;height:92px;display:grid;place-items:center;border-radius:10px;background:#526b451a;color:var(--pine);object-fit:cover}.detail-hero>div>span{color:var(--pine);font-size:14px;font-weight:600}.detail-hero h3{margin:3px 0;font-family:Songti SC,serif;font-size:25px}.detail-hero i{color:#747d75;font-family:Georgia,serif;font-size:14px}.detail-score{display:grid;grid-template-columns:78px 1fr;gap:13px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.score-ring{width:72px;height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%}.score-ring b{font-size:22px}.score-ring small{font-size:14px}.detail-score strong{font-size:16px}.detail-score p{margin:5px 0 0;color:#6e776f;font-size:14px;line-height:1.45}.library-data-evidence{display:grid;grid-template-columns:38px 1fr;gap:9px;margin-top:11px;padding:10px;border:1px solid #dfcda7;border-radius:8px;background:#f6f0e2}.library-data-evidence.is-ready{border-color:#bfd5bf;background:#e7f0e4}.library-data-evidence>span{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#ffffff9e;color:#765a2a}.library-data-evidence.is-ready>span{color:#35653d}.library-data-evidence strong,.library-data-evidence p,.library-data-evidence a{font-size:14px}.library-data-evidence p{margin:3px 0 0;color:#756d5e;line-height:1.4}.library-data-evidence a{display:inline-flex;align-items:center;gap:4px;margin-top:4px;color:#3f6845;font-weight:700}.detail-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:13px 0}.detail-facts div{min-height:57px;display:flex;flex-direction:column;gap:5px;padding:9px 10px;border-radius:7px;background:#fff}.detail-facts span{color:#7a827b;font-size:14px}.detail-facts strong{font-size:14px;line-height:1.35}.detail-rules{padding:4px 0 10px}.detail-rules h4{margin:0 0 8px;font-size:15px}.detail-rules p{display:flex;align-items:flex-start;gap:7px;margin:6px 0;color:#626d63;font-size:14px;line-height:1.4}.detail-rules p.is-positive svg{flex:0 0 auto;color:var(--pine)}.detail-rules p.is-caution svg{flex:0 0 auto;color:#ad614d}.detail-traits{display:flex;flex-wrap:wrap;gap:6px}.detail-traits span{padding:5px 9px;border-radius:14px;background:#526b4517;color:var(--pine-deep);font-size:14px}.add-plant-button{width:100%;height:44px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;border-radius:8px;background:var(--pine);color:#fff;font-size:15px;font-weight:600}.add-plant-button:hover:not(:disabled){background:var(--pine-deep)}.add-plant-button:disabled{background:#dce3d8;color:#57705a;opacity:1}.library-disclaimer{margin:11px 0 0;color:#828983;font-size:14px;line-height:1.45}.library-empty{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;color:#737d74;text-align:center}.library-empty strong,.library-empty span{font-size:14px}.rules-backdrop{z-index:84;background:#151f1780}.rules-modal{width:min(1280px,calc(100vw - 40px));height:min(860px,calc(100vh - 40px));min-height:650px;overflow:hidden;border:1px solid rgba(57,72,59,.15);border-radius:16px;background:#f7f8f3;box-shadow:0 30px 90px #14201752}.rules-header{height:108px;display:grid;grid-template-columns:50px 1fr 38px;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line);background:#fbfcf8}.rules-header-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:11px;background:#526b451a;color:var(--pine-deep)}.rules-header>div:nth-child(2)>span{color:var(--pine);font-size:14px;font-weight:600}.rules-header h2{margin:2px 0 3px;font-family:Songti SC,serif;font-size:23px}.rules-header p{margin:0;color:#727b73;font-size:14px}.rules-header>button{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:transparent}.rules-header>button:hover{background:#526b4514}.rules-layout{height:calc(100% - 108px);display:grid;grid-template-columns:205px 1fr;min-height:0}.rules-tabs{padding:16px 12px;border-right:1px solid var(--line);background:#f0f3ec}.rules-tabs button{width:100%;min-height:52px;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;margin-bottom:6px;padding:0 12px;border-radius:9px;background:transparent;color:#667068;text-align:left;font-size:15px}.rules-tabs button small{min-width:24px;height:24px;display:grid;place-items:center;border-radius:12px;background:#526b4517;font-size:14px}.rules-tabs button.is-active{background:var(--pine);color:#fff;box-shadow:0 5px 14px #314f3629}.rules-tabs button.is-active small{background:#ffffff29}.rules-content{min-width:0;min-height:0;overflow:hidden}.rules-panel{height:100%;overflow:auto;padding:22px 24px 28px}.rules-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}.rules-panel-heading h3{margin:0 0 5px;font-size:20px}.rules-panel-heading p{margin:0;color:#747d75;font-size:14px}.rules-panel-heading>span{color:#6f796f;font-size:14px}.rules-saved{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:17px;background:#e0ebe0;color:#35603c!important}.rules-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rules-select-field{display:grid;gap:7px}.rules-select-field>span{display:flex;align-items:center;gap:7px;color:#59645b;font-size:14px;font-weight:600}.rules-select-field select{width:100%;height:42px;padding:0 10px;border:1px solid rgba(55,68,57,.14);border-radius:8px;outline:0;background:#fff;font-size:14px}.rules-number-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.rules-number-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.rules-number-field{display:grid;gap:7px}.rules-number-field>span{color:#59645b;font-size:14px;font-weight:600}.rules-number-field>div{height:42px;display:grid;grid-template-columns:1fr 40px;align-items:center;overflow:hidden;border:1px solid rgba(55,68,57,.14);border-radius:8px;background:#fff}.rules-number-field input{min-width:0;width:100%;height:100%;padding:0 9px;border:0;outline:0;background:transparent;font-size:15px}.rules-number-field b{color:#758076;font-size:14px;font-weight:500;text-align:center}.rules-explain{display:grid;grid-template-columns:30px 1fr;gap:10px;margin-top:22px;padding:14px;border-radius:9px;background:#526b4514;color:var(--pine-deep)}.rules-explain.warning{background:#f2ece0;color:#705b30}.rules-explain strong{font-size:15px}.rules-explain p{margin:4px 0 0;color:#687269;font-size:14px;line-height:1.5}.dxf-layer-table{overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff}.dxf-layer-head,.dxf-layer-row{min-height:48px;display:grid;grid-template-columns:1fr 70px 210px;align-items:center;gap:12px;padding:0 12px}.dxf-layer-head{min-height:38px;background:#eef1eb;color:#707a71;font-size:14px;font-weight:600}.dxf-layer-row+.dxf-layer-row{border-top:1px solid var(--line)}.dxf-layer-row>span{min-width:0;display:flex;align-items:center;gap:8px}.dxf-layer-row i{width:10px;height:10px;flex:0 0 10px;border-radius:50%}.dxf-layer-row strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.dxf-layer-row small{color:#778078;font-size:14px}.dxf-layer-row select{height:34px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:#fbfcf8;font-size:14px}.clearance-title{margin:20px 0 11px;font-size:16px}.rules-empty{min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#758077;text-align:center}.rules-empty strong{font-size:16px}.rules-empty p{max-width:370px;margin:0;font-size:14px;line-height:1.5}.data-actions{display:flex;gap:8px}.data-actions button,.data-actions label{height:38px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--pine-deep);font-size:14px;cursor:pointer}.data-actions input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.custom-plant-form{padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff}.custom-plant-form h4,.custom-plant-list h4{display:flex;align-items:center;gap:7px;margin:0 0 13px;font-size:16px}.custom-plant-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.custom-plant-grid label{min-width:0;display:grid;gap:6px}.custom-plant-grid span{color:#69736a;font-size:14px}.custom-plant-grid input,.custom-plant-grid select{min-width:0;width:100%;height:38px;padding:0 9px;border:1px solid var(--line);border-radius:7px;outline:0;background:#fbfcf8;font-size:14px}.create-plant-button{min-height:39px;display:flex;align-items:center;gap:7px;margin-top:14px;padding:0 13px;border-radius:7px;background:var(--pine);color:#fff;font-size:14px}.custom-plant-list{margin-top:18px}.custom-plant-list>div{min-height:53px;display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-top:1px solid var(--line)}.custom-plant-list>div>span{display:flex;flex-direction:column;gap:3px}.custom-plant-list strong,.custom-plant-list small,.custom-plant-list>p{font-size:14px}.custom-plant-list small,.custom-plant-list>p{color:#758076}.custom-plant-list button{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:transparent;color:#a55245}.custom-plant-list button:hover{background:#f2e5e1}.data-review-panel{padding:18px 20px 24px}.data-review-heading{align-items:center;margin-bottom:14px;padding-bottom:13px}.data-review-kicker{display:flex;align-items:center;gap:6px;margin-bottom:4px;color:var(--pine);font-size:14px;font-weight:700;letter-spacing:.04em}.audit-export-button{min-height:38px;display:flex;align-items:center;gap:7px;padding:0 12px;border:1px solid rgba(82,107,69,.18);border-radius:8px;background:#fff;color:var(--pine-deep);font-size:14px;white-space:nowrap}.audit-export-button:hover{background:#edf2e9}.data-review-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.data-review-metric{min-width:0;min-height:82px;display:grid;grid-template-columns:38px 1fr;gap:9px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff}.data-review-metric>span{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#edf1e9;color:var(--pine-deep)}.data-review-metric.is-approved>span{background:#dcebdc;color:#2f6a3c}.data-review-metric.is-review>span{background:#f2e8d3;color:#8a642b}.data-review-metric>div{min-width:0;display:grid;grid-template-columns:1fr auto;align-content:start;gap:2px 6px}.data-review-metric small,.data-review-metric p{color:#768078;font-size:14px}.data-review-metric strong{color:var(--ink);font-size:22px;line-height:1}.data-review-metric p{grid-column:1 / -1;overflow:hidden;margin:4px 0 0;text-overflow:ellipsis;white-space:nowrap}.data-governance-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:11px 0;padding:5px;border:1px solid var(--line);border-radius:10px;background:#eef1eb}.data-governance-nav button{min-width:0;min-height:38px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border-radius:7px;background:transparent;color:#687269;font-size:14px}.data-governance-nav button small{min-width:22px;padding:2px 6px;border-radius:10px;background:#54674d14;color:inherit;font-size:14px}.data-governance-nav button.is-active{background:#fff;color:var(--pine-deep);box-shadow:0 1px 4px #27352917;font-weight:700}.data-governance-nav button.is-active small{background:#dfe9da}.regional-policy-card{min-height:76px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;margin-top:11px;padding:11px 14px;border:1px solid #dfcda7;border-radius:11px;background:linear-gradient(100deg,#f6f0e2,#fbfaf4)}.regional-policy-card.is-passed{border-color:#bfd5bf;background:linear-gradient(100deg,#e7f0e4,#f8faf4)}.regional-policy-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#8565311a;color:#7b5a25}.regional-policy-card>div:nth-child(2){min-width:0}.regional-policy-card>div:nth-child(2)>span{color:#83642f;font-size:14px;font-weight:700}.regional-policy-card strong{display:block;margin-top:2px;font-size:16px}.regional-policy-card p{overflow:hidden;margin:3px 0 0;color:#736c5e;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.regional-policy-target{min-width:112px;display:grid;justify-items:end;gap:1px}.regional-policy-target small,.regional-policy-target em{font-size:14px;font-style:normal}.regional-policy-target small{color:#7c7467}.regional-policy-target b{color:#725322;font-size:18px}.regional-policy-target em{color:#9b4f3e}.regional-policy-card.is-passed .regional-policy-target em{color:#35683e}.regional-policy-note{margin:6px 3px 11px;color:#7b817b;font-size:14px;line-height:1.45}.data-review-workspace{height:366px;min-height:366px;display:grid;grid-template-columns:minmax(0,1.55fr) 340px;grid-template-rows:minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fff}.data-review-list-pane{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line)}.data-review-toolbar{display:grid;grid-template-columns:minmax(170px,1fr) 125px 165px;gap:7px;padding:9px;border-bottom:1px solid var(--line);background:#f4f6f1}.data-review-search{min-width:0;height:36px;display:flex;align-items:center;gap:6px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#748076}.data-review-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;font-size:14px}.data-review-toolbar select{min-width:0;height:36px;padding:0 8px;border:1px solid var(--line);border-radius:7px;outline:0;background:#fff;color:var(--ink);font-size:14px}.batch-review-bar{min-height:46px;display:grid;grid-template-columns:auto minmax(120px,1fr) auto auto auto;align-items:center;gap:6px;padding:6px 9px;border-bottom:1px solid #cbd7c7;background:#eaf0e6}.batch-review-bar>span{display:flex;align-items:center;gap:5px;color:var(--pine-deep);font-size:14px;font-weight:700;white-space:nowrap}.batch-review-bar input{min-width:0;height:33px;padding:0 8px;border:1px solid #c7d1c4;border-radius:6px;background:#fff;font-size:14px}.batch-review-bar button{height:33px;padding:0 9px;border:1px solid #c7d1c4;border-radius:6px;background:#fff;color:#5d675f;font-size:14px}.batch-review-bar button.approve{border-color:var(--pine);background:var(--pine);color:#fff}.batch-review-bar button.reject{color:#994b40}.data-review-table{min-height:0;display:flex;flex:1;flex-direction:column}.data-review-table-head{display:grid;grid-template-columns:24px minmax(155px,1.2fr) minmax(150px,1fr) 78px 92px;align-items:center;gap:10px;padding:0 11px;text-align:left}.data-review-table-head{min-height:36px;border-bottom:1px solid var(--line);background:#fbfcf8;color:#778078;font-size:14px;font-weight:600}.data-review-table-head label,.data-review-row>label{display:grid;place-items:center}.data-review-table-head input,.data-review-row input{width:16px;height:16px;accent-color:var(--pine)}.data-review-rows{min-height:0;flex:1;overflow:auto;scrollbar-width:thin}.data-review-row{min-height:62px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:stretch;gap:10px;padding-left:11px;border-bottom:1px solid rgba(55,68,57,.08);background:#fff}.data-review-row:hover{background:#f7f9f4}.data-review-row.is-selected{background:#edf2e9;box-shadow:inset 3px 0 0 var(--pine)}.data-review-row-main{min-width:0;display:grid;grid-template-columns:minmax(155px,1.2fr) minmax(150px,1fr) 78px 92px;align-items:center;gap:10px;padding:0 11px 0 0;background:transparent;text-align:left}.data-review-row-main>span{min-width:0;display:flex;flex-direction:column;gap:3px}.data-review-rows strong,.data-review-rows small{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.data-review-rows small{color:#778078;font-weight:400}.completeness-cell b{color:#4b664f;font-size:14px}.completeness-cell i{width:62px;height:4px;overflow:hidden;border-radius:2px;background:#e1e6df}.completeness-cell i em{display:block;height:100%;border-radius:inherit;background:var(--pine)}.data-status{width:max-content;display:inline-flex!important;flex-direction:row!important;align-items:center;gap:4px;padding:4px 7px;border-radius:14px;font-size:14px;font-weight:700;white-space:nowrap}.data-status.is-approved{background:#dfece0;color:#35663e}.data-status.is-review{background:#f2e8d4;color:#815f28}.data-status.is-rejected{background:#f2e1dd;color:#8d493e}.data-error-count{color:#a04c42!important}.data-review-empty{min-height:180px;display:grid;place-items:center;color:#7c847d;font-size:14px}.data-review-detail{min-width:0;min-height:0;overflow:auto;padding:15px;background:#fbfcf8;scrollbar-width:thin}.data-review-detail>header{padding-bottom:12px;border-bottom:1px solid var(--line)}.data-review-detail>header>div{display:flex;align-items:center;justify-content:space-between;gap:7px}.production-ready,.production-blocked{font-size:14px;font-weight:700}.production-ready{color:#3e6845}.production-blocked{color:#9b5144}.data-review-detail h4{margin:12px 0 2px;font-family:Songti SC,serif;font-size:22px}.data-review-detail>header>i{color:#707a71;font-family:Georgia,serif;font-size:14px}.data-review-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:11px}.data-review-facts>div{min-width:0;display:grid;gap:2px;padding:8px;border-radius:7px;background:#fff}.data-review-facts span,.data-review-facts strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.data-review-facts span{color:#7b827c}.source-evidence,.official-ecology,.audit-findings{margin-top:11px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.data-review-detail h5{margin:0 0 7px;color:#526355;font-size:14px}.source-evidence>strong{display:block;font-size:14px;line-height:1.45}.source-evidence p,.official-ecology p,.official-ecology small{margin:4px 0 0;color:#737b74;font-size:14px;line-height:1.45}.source-evidence a{display:inline-flex;align-items:center;gap:4px;margin-top:6px;color:#3e6845;font-size:14px;font-weight:700}.official-ecology{background:#f1f4ed}.audit-findings p{display:grid;grid-template-columns:17px 1fr;gap:6px;margin:5px 0 0;font-size:14px;line-height:1.4}.audit-findings .is-error{color:#9b4e42}.audit-findings .is-warning{color:#84632c}.audit-findings .is-clear{color:#3d6b45}.review-note{display:grid;gap:6px;margin-top:11px}.review-note>span{color:#5e695f;font-size:14px;font-weight:700}.review-note textarea{min-height:60px;resize:vertical;padding:8px 9px;border:1px solid var(--line);border-radius:7px;outline:0;background:#fff;font-family:inherit;font-size:14px;line-height:1.45}.review-actions{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:6px;margin-top:9px}.review-actions button{min-height:36px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 7px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#626c64;font-size:14px}.review-actions button.approve{border-color:var(--pine);background:var(--pine);color:#fff}.review-actions button.reject{color:#9a4e43}.review-actions button:disabled{opacity:.45}.review-audit-meta{margin:8px 0 0;color:#7b827c;font-size:14px;line-height:1.4}.package-workspace,.alias-workspace,.plant-audit-history{height:457px;min-height:457px}.package-workspace{display:flex;flex-direction:column;gap:10px}.package-current-card{min-height:102px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;border:1px solid #bdd0b8;border-radius:11px;background:#f8faf5}.package-lock-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:11px;background:#dfe9da;color:var(--pine-deep)}.package-current-card>div:nth-child(2){min-width:0}.package-current-card small,.package-current-card p,.package-current-card code{font-size:14px}.package-current-card>div>small{color:#68806a;font-weight:700}.package-current-card h4{margin:2px 0 3px;font-family:Songti SC,serif;font-size:20px}.package-current-card p{margin:0;color:#69746b}.package-current-card code{display:block;margin-top:3px;color:#7b847d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.package-current-actions{display:flex;align-items:center;gap:7px}.package-current-actions button,.package-current-actions label{min-height:38px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--pine-deep);font-size:14px;white-space:nowrap;cursor:pointer}.package-current-actions label{border-color:var(--pine);background:var(--pine);color:#fff}.package-current-actions input,.alias-form-grid input[type=file]{display:none}.package-body{min-height:0;display:grid;grid-template-columns:minmax(0,1.55fr) 310px;gap:10px;flex:1}.package-stage-card,.package-history-card,.alias-form-card,.alias-registry-card,.plant-audit-history{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fff}.package-stage-card{display:flex;flex-direction:column}.package-stage-card>header,.package-history-card>header{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);background:#f4f6f1}.package-stage-card>header>div,.package-history-card>header{color:var(--pine-deep)}.package-stage-card>header>div,.package-history-card>header>span{display:flex;align-items:center;gap:8px}.package-stage-card header span,.package-history-card header span{min-width:0;display:flex;flex-direction:column;gap:2px}.package-stage-card header strong,.package-stage-card header small,.package-history-card header strong,.package-history-card header small{font-size:14px}.package-stage-card header small,.package-history-card header small{color:#758078;font-weight:400}.package-valid,.package-invalid{padding:4px 8px;border-radius:12px;font-size:14px;font-weight:700;white-space:nowrap}.package-valid{background:#dfece0;color:#35663e}.package-invalid{background:#f2e1dd;color:#934b40}.package-diff-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:10px 12px}.package-diff-summary>div{display:flex;align-items:baseline;justify-content:space-between;gap:5px;padding:8px 9px;border-radius:7px;background:#f4f6f1}.package-diff-summary strong{color:var(--pine-deep);font-size:18px}.package-diff-summary span{color:#707970;font-size:14px}.package-stage-meta{display:grid;grid-template-columns:1fr auto;gap:8px;padding:0 12px 9px}.package-stage-meta>span{min-width:0;display:flex;flex-direction:column;gap:2px}.package-stage-meta b,.package-stage-meta small{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.package-stage-meta small{color:#7a827b}.package-change-list{min-height:0;overflow:auto;padding:0 12px;scrollbar-width:thin}.package-change-list p{min-height:34px;display:grid;grid-template-columns:44px minmax(90px,.7fr) minmax(0,1fr);align-items:center;gap:7px;margin:0;border-top:1px solid rgba(55,68,57,.08);font-size:14px}.package-change-list em{padding:3px 5px;border-radius:5px;font-size:14px;font-style:normal;text-align:center}.package-change-list em.is-added{background:#deecdf;color:#35663e}.package-change-list em.is-changed{background:#f2e8d4;color:#815f28}.package-change-list em.is-removed{background:#f2e1dd;color:#924a40}.package-change-list span{overflow:hidden;color:#737c75;text-overflow:ellipsis;white-space:nowrap}.package-no-change{display:block!important;padding:16px 0;color:#727c74}.package-validation-list{max-height:74px;overflow:auto;margin:0 12px;padding:7px 9px;border-radius:7px;background:#faf3e8}.package-validation-list p{display:grid;grid-template-columns:17px 1fr;gap:6px;margin:3px 0;font-size:14px}.package-validation-list .is-error{color:#944b40}.package-validation-list .is-warning{color:#84632c}.package-stage-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:auto;padding:9px 12px;border-top:1px solid var(--line)}.package-stage-actions button{min-height:35px;display:flex;align-items:center;gap:6px;padding:0 11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#657067;font-size:14px}.package-stage-actions button.approve{border-color:var(--pine);background:var(--pine);color:#fff}.package-stage-actions button:disabled{opacity:.45}.package-stage-empty{min-height:0;display:grid;place-items:center;align-content:center;gap:7px;flex:1;padding:24px;color:#718073;text-align:center}.package-stage-empty strong{color:#536456;font-size:16px}.package-stage-empty p{max-width:470px;margin:0;font-size:14px;line-height:1.5}.package-history-card{min-height:0;display:flex;flex-direction:column}.package-history-card>div{min-height:0;overflow:auto;padding:7px;scrollbar-width:thin}.package-history-card article{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:9px;border-bottom:1px solid rgba(55,68,57,.08)}.package-history-card article.is-active{border-radius:7px;background:#edf2e9}.package-history-card article>span{min-width:0;display:flex;flex-direction:column;gap:2px}.package-history-card article strong,.package-history-card article small,.package-history-card article code,.package-history-card article em,.package-history-card article button{font-size:14px}.package-history-card article small,.package-history-card article code{overflow:hidden;color:#79827b;text-overflow:ellipsis;white-space:nowrap}.package-history-card article em,.package-history-card article button{display:flex;align-items:center;gap:4px;padding:5px 7px;border-radius:6px;font-style:normal;white-space:nowrap}.package-history-card article em{color:#3c6843}.package-history-card article button{border:1px solid var(--line);background:#fff;color:var(--pine-deep)}.alias-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px}.alias-form-card{padding:13px}.alias-form-card>header{display:flex;align-items:flex-start;gap:9px;color:var(--pine-deep)}.alias-form-card h4,.alias-registry-card h4,.plant-audit-history h4{margin:0 0 3px;font-size:17px}.alias-form-card p,.alias-registry-card p,.plant-audit-history p{margin:0;color:#747d75;font-size:14px}.alias-form-grid{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(210px,1fr) minmax(210px,1fr) auto;align-items:end;gap:8px;margin-top:11px}.alias-form-grid label{min-width:0;display:grid;gap:5px}.alias-form-grid label span{color:#657067;font-size:14px;font-weight:600}.alias-form-grid input,.alias-form-grid select{min-width:0;width:100%;height:37px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:#fbfcf8;font-size:14px}.alias-form-grid>button{min-height:37px;display:flex;align-items:center;gap:6px;padding:0 11px;border-radius:7px;background:var(--pine);color:#fff;font-size:14px;white-space:nowrap}.alias-form-grid>button:disabled{opacity:.45}.alias-resolution{min-height:34px;display:flex;align-items:center;gap:7px;margin-top:9px;padding:6px 9px;border-radius:7px;background:#f5eee0;color:#7e622e;font-size:14px}.alias-resolution.is-found{background:#e8f0e5;color:#3e6845}.alias-registry-card{min-height:0;display:flex;flex-direction:column}.alias-registry-card>header{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border-bottom:1px solid var(--line);background:#f4f6f1}.alias-registry-card>header label{width:min(290px,42%);height:36px;display:flex;align-items:center;gap:6px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#748076}.alias-registry-card>header input{min-width:0;width:100%;border:0;outline:0;font-size:14px}.alias-registry-table{min-height:0;overflow:auto;flex:1;scrollbar-width:thin}.alias-registry-table>div{min-height:52px;display:grid;grid-template-columns:minmax(120px,.7fr) minmax(210px,1.15fr) minmax(170px,1fr) 90px 32px;align-items:center;gap:9px;padding:7px 12px;border-bottom:1px solid rgba(55,68,57,.08);font-size:14px}.alias-registry-table .alias-registry-head{min-height:35px;background:#fbfcf8;color:#778078;font-weight:600}.alias-registry-table span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alias-registry-table span:nth-child(2){display:flex;flex-direction:column;gap:2px}.alias-registry-table small{overflow:hidden;color:#78817a;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.alias-registry-table em{display:inline-block;padding:4px 7px;border-radius:11px;background:#edf0ea;color:#68726a;font-size:14px;font-style:normal}.alias-registry-table em.is-local{background:#e0eadc;color:#3e6845}.alias-registry-table button{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;background:transparent;color:#985045}.alias-registry-table button:hover{background:#f2e5e1}.plant-audit-history{display:flex;flex-direction:column}.plant-audit-history>header{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line);background:#f4f6f1}.plant-audit-history>header>div{display:flex;align-items:flex-start;gap:9px;color:var(--pine-deep)}.plant-audit-history>header>small{color:#6f796f;font-size:14px}.plant-audit-history>div{min-height:0;overflow:auto;flex:1;padding:3px 12px;scrollbar-width:thin}.plant-audit-history article{min-height:66px;display:grid;grid-template-columns:36px minmax(0,1fr) 100px 82px;align-items:center;gap:9px;padding:8px 3px;border-bottom:1px solid rgba(55,68,57,.08)}.plant-audit-event-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#edf1e9;color:var(--pine-deep)}.plant-audit-event-icon.is-audit_rollback,.plant-audit-event-icon.is-package_rollback{background:#f2e8d4;color:#815f28}.plant-audit-history article>div{min-width:0}.plant-audit-history article strong,.plant-audit-history article p,.plant-audit-history article small,.plant-audit-event-meta,.plant-audit-history article button{font-size:14px}.plant-audit-history article p{margin-top:3px}.plant-audit-history article small{display:block;overflow:hidden;margin-top:3px;color:#777f78;text-overflow:ellipsis;white-space:nowrap}.plant-audit-event-meta{color:#6f796f;text-align:right}.plant-audit-history article button{min-height:34px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--pine-deep)}.plant-audit-history article button:disabled{color:#8a918b;opacity:.65}.scheme-backdrop{z-index:86;padding:14px 16px;background:#131d158c}.scheme-modal{width:min(1280px,calc(100vw - 32px));height:min(790px,calc(100vh - 28px));min-height:690px;overflow:hidden;border:1px solid rgba(57,72,59,.16);border-radius:16px;background:#f6f8f3;box-shadow:0 30px 90px #14201757}.scheme-header{min-height:98px;display:grid;grid-template-columns:52px 1fr auto 38px;align-items:center;gap:14px;padding:17px 21px;border-bottom:1px solid var(--line);background:#fbfcf8}.scheme-header-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:12px;background:#e4ece0;color:var(--pine-deep)}.scheme-header>div>span{color:var(--pine);font-size:14px;font-weight:600}.scheme-header h2{margin:2px 0 3px;font-family:Songti SC,serif;font-size:24px}.scheme-header p{margin:0;color:#727b73;font-size:14px}.scheme-local-badge{min-height:35px;display:flex;align-items:center;gap:7px;padding:0 11px;border:1px solid rgba(82,107,69,.15);border-radius:18px;background:#edf2e9;color:var(--pine-deep);font-size:14px;white-space:nowrap}.scheme-close{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:transparent}.scheme-close:hover{background:#526b4514}.scheme-layout{height:calc(100% - 98px);display:grid;grid-template-columns:310px minmax(0,1fr);min-height:0}.scheme-brief{min-height:0;overflow:auto;padding:18px;border-right:1px solid var(--line);background:#eef2eb;scrollbar-width:thin}.scheme-section-title{display:flex;align-items:center;gap:9px;margin-bottom:13px;color:var(--pine-deep)}.scheme-section-title>div{display:flex;flex-direction:column;gap:3px}.scheme-section-title strong{font-size:16px}.scheme-section-title span{color:#748076;font-size:14px}.scheme-requirement{display:grid;gap:7px}.scheme-requirement>span,.scheme-field>span{display:flex;align-items:center;gap:6px;color:#5f6a61;font-size:14px;font-weight:600}.scheme-requirement textarea{width:100%;min-height:88px;resize:vertical;padding:10px 11px;border:1px solid rgba(55,68,57,.16);border-radius:8px;outline:0;background:#fff;color:var(--ink);font-family:inherit;font-size:14px;line-height:1.55}.scheme-detected{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:9px}.scheme-detected span{color:#748076;font-size:14px}.scheme-detected b{padding:4px 8px;border-radius:13px;background:#dce8d8;color:#3f6545;font-size:14px;font-weight:500}.scheme-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}.scheme-field{min-width:0;display:grid;gap:6px;margin-top:10px}.scheme-field-grid .scheme-field{margin-top:0}.scheme-field select{min-width:0;width:100%;height:38px;padding:0 8px;border:1px solid rgba(55,68,57,.15);border-radius:7px;outline:0;background:#fff;color:var(--ink);font-size:14px}.scheme-risk-toggle{min-height:58px;display:grid;grid-template-columns:19px 1fr;align-items:center;gap:9px;margin-top:13px;padding:9px 10px;border:1px solid rgba(82,107,69,.15);border-radius:8px;background:#ffffff94}.scheme-risk-toggle input{width:17px;height:17px;accent-color:var(--pine)}.scheme-risk-toggle>span{display:flex;flex-direction:column;gap:3px}.scheme-risk-toggle strong,.scheme-risk-toggle small{font-size:14px}.scheme-risk-toggle small{color:#79827a;line-height:1.4}.scheme-engineering{display:flex;flex-direction:column;gap:4px;margin-top:11px;padding:9px 10px;border-left:3px solid var(--pine);background:#e3e9df}.scheme-engineering strong,.scheme-engineering span{font-size:14px}.scheme-engineering span{color:#69746b}.scheme-generate{width:100%;min-height:43px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:13px;border-radius:8px;background:var(--pine);color:#fff;font-size:14px;font-weight:600;box-shadow:0 5px 14px #314f362b}.scheme-generate:hover{background:var(--pine-deep)}.scheme-disclaimer{margin:10px 2px 0;color:#7c847d;font-size:14px;line-height:1.45}.scheme-results{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:auto;padding:18px 20px 19px;scrollbar-width:thin}.scheme-results>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.scheme-results>header>div{min-width:0;display:flex;flex-direction:column;gap:4px}.scheme-results>header strong{font-size:18px}.scheme-results>header span{overflow:hidden;color:#707a71;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.scheme-result-status{flex:0 0 auto;display:flex;align-items:center;gap:6px;color:#3e6845!important}.scheme-cards{display:grid;flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.scheme-card{min-width:0;overflow:hidden;border:1px solid rgba(55,68,57,.15);border-radius:11px;background:#fff;box-shadow:0 5px 16px #2632280f}.scheme-card.is-selected{border-color:var(--pine);box-shadow:0 8px 24px #314f3626,inset 0 3px 0 var(--pine)}.scheme-card-select{width:100%;height:100%;display:flex;flex-direction:column;padding:13px;background:transparent;text-align:left}.scheme-card-select:hover{background:#526b4509}.scheme-card header{display:grid;grid-template-columns:39px 1fr 44px;align-items:center;gap:8px}.scheme-strategy-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:#edf2e9;color:var(--pine-deep)}.scheme-card header>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:3px}.scheme-card header strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.scheme-card header small{color:#778078;font-size:14px}.scheme-card header>b{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:#e3ebdf;color:#365c3d;font-size:17px}.scheme-card header>b small{color:inherit;font-size:14px;font-weight:500;line-height:1}.scheme-card>.scheme-card-select>p{min-height:45px;margin:11px 0;color:#687269;font-size:14px;line-height:1.5}.scheme-plant-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.scheme-plant-list>div{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:7px}.scheme-plant-list>div+div{border-top:1px solid rgba(55,68,57,.08)}.scheme-plant-list>div>span{min-width:0;display:grid;grid-template-columns:20px auto 1fr;align-items:center;gap:5px}.scheme-plant-list svg{color:var(--pine)}.scheme-plant-list strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.scheme-plant-list small{overflow:hidden;color:#7a837b;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.scheme-plant-list>div>b{font-size:14px}.scheme-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px}.scheme-card footer>span{color:#768077;font-size:14px}.scheme-card footer>strong{display:flex;align-items:center;gap:4px;color:var(--pine);font-size:14px}.scheme-evidence{display:grid;flex-shrink:0;grid-template-columns:1.25fr 1fr 1fr;gap:10px;margin-top:13px}.scheme-evidence-column{min-height:108px;padding:11px 12px;border:1px solid rgba(55,68,57,.11);border-radius:9px;background:#fbfcf8}.scheme-evidence-column h3{display:flex;align-items:center;gap:6px;margin:0 0 7px;color:var(--pine-deep);font-size:14px}.scheme-evidence-column p{margin:4px 0;color:#687269;font-size:14px;line-height:1.42}.scheme-evidence-column.is-risk h3{color:#965043}.scheme-evidence-column.is-risk h3 svg{color:#b06151}.scheme-footer{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:15px;border-top:1px solid var(--line)}.scheme-footer>div{min-width:0;display:grid;grid-template-columns:auto auto;align-items:baseline;gap:3px 8px}.scheme-footer span,.scheme-footer small{color:#747e75;font-size:14px}.scheme-footer strong{color:var(--pine-deep);font-size:17px}.scheme-footer small{grid-column:1 / -1;line-height:1.45}.scheme-footer>button{min-width:174px;height:43px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:8px;background:var(--pine);color:#fff;font-size:14px;font-weight:600}.scheme-footer>button:hover:not(:disabled){background:var(--pine-deep)}.pdf-report.has-scheme>img{height:218px}.pdf-report.has-budget>img{height:150px}.pdf-scheme{display:grid;grid-template-columns:1.15fr 1fr;gap:4px 12px;margin:0 0 10px;padding:9px 12px;border:1px solid #dfe6da;border-radius:7px;background:#fff}.pdf-scheme strong{grid-row:span 2;align-self:center;color:#3c5d40;font-size:14px}.pdf-scheme span{overflow:hidden;color:#69736a;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.pdf-budget{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 10px}.pdf-budget>span{display:flex;flex-direction:column;gap:4px;padding:8px 11px;border:1px solid #dfe6da;border-radius:7px;background:#f3eee3;color:#756b57;font-size:14px}.pdf-budget strong{color:#66532d;font-size:14px}.pdf-review{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 10px}.pdf-review>span{display:flex;flex-direction:column;gap:4px;padding:8px 11px;border:1px solid #dfe6da;border-radius:7px;background:#e9efe6;color:#667066;font-size:14px}.pdf-review strong{color:#3f6044;font-size:14px}@media(max-width:1360px){.topbar{grid-template-columns:auto minmax(160px,1fr) auto auto}.mode-tabs{display:flex}.mode-tabs button{min-width:70px;padding:0 13px}.top-actions{grid-column:4}.save-state,.scheme-button,.rules-button{display:none}.workspace-panel-menu-button{width:40px;justify-content:center;gap:0;padding:0;overflow:hidden}.workspace-panel-menu-button>span{display:none}.composition-tray{width:calc(100vw - 350px);min-width:630px}.plant-row{grid-template-columns:repeat(4,minmax(115px,1fr)) 75px;gap:7px}.plant-card>img{width:37%}.lifecycle-status{display:none}.cost-tray-header>div:first-child>strong{display:none}.review-tray-header>div:first-child>strong,.version-select>span{display:none}.version-select{grid-template-columns:minmax(98px,122px)}}@media(max-width:1100px){.tutorial-guide{left:18px}.tutorial-ai-panel{left:382px}.deliverable-backdrop{padding:12px}.deliverable-center{width:calc(100vw - 24px);height:calc(100vh - 24px);min-height:650px}.deliverable-header{grid-template-columns:48px minmax(210px,1fr) auto 38px}.construction-delivery-layout{grid-template-columns:220px minmax(0,1fr);grid-template-rows:minmax(340px,1fr) 204px;gap:10px;padding:10px}.construction-audit-panel{grid-column:1 / -1;display:grid;grid-template-columns:190px minmax(0,1fr) 268px;grid-template-rows:auto minmax(0,1fr);gap:8px 12px;padding:11px}.construction-audit-panel>header{grid-column:1;grid-row:1;margin:0}.construction-audit-status{grid-column:1;grid-row:2;align-self:stretch;margin:0;padding:8px}.construction-audit-list{grid-column:2;grid-row:1 / 3}.construction-audit-list article{padding:6px 0}.construction-audit-list p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.construction-export-actions{grid-column:3;grid-row:1 / 3;align-content:center;padding:0}.construction-block-hint{display:none}.deliverable-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scheme-layout{grid-template-columns:250px minmax(0,1fr)}.scheme-brief{padding:14px}.scheme-field-grid{grid-template-columns:1fr;gap:8px}.scheme-cards{display:flex;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}.scheme-card{flex:0 0 248px}.scheme-evidence{grid-template-columns:1fr}.scheme-header{grid-template-columns:48px 1fr 38px}.scheme-local-badge{display:none}.scheme-footer{align-items:flex-end}.review-tray-body{grid-template-columns:210px minmax(340px,1fr)}.review-change-summary,.review-export-button{display:none}}@media(max-width:1040px){.plant-library-modal{width:calc(100vw - 24px)}.library-body{grid-template-columns:220px 310px 1fr}.library-filters{padding:13px}.plant-detail{padding:15px}.detail-hero{grid-template-columns:82px 1fr}.detail-hero>img,.detail-hero>span{width:82px;height:76px}.rules-modal{width:calc(100vw - 24px)}.rules-layout{grid-template-columns:180px 1fr}.rules-number-grid,.custom-plant-grid,.data-review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.data-review-workspace{height:auto;min-height:0;grid-template-columns:1fr;grid-template-rows:auto auto;overflow:visible}.data-review-list-pane{height:390px;min-height:390px;border-right:0;border-bottom:1px solid var(--line)}.data-review-detail{height:430px;min-height:430px}.data-review-toolbar{grid-template-columns:1fr 122px}.data-review-toolbar select:last-child{grid-column:1 / -1}.batch-review-bar{grid-template-columns:auto minmax(120px,1fr) repeat(3,auto)}.package-workspace,.alias-workspace,.plant-audit-history{height:520px;min-height:520px}.package-current-card{grid-template-columns:44px minmax(0,1fr)}.package-current-actions{grid-column:1 / -1}.package-body{grid-template-columns:minmax(0,1fr) 240px}.alias-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alias-form-grid>button{justify-content:center}.alias-registry-table>div{grid-template-columns:105px minmax(175px,1fr) minmax(135px,.8fr) 82px 30px}}@media(max-width:980px){body{overflow:auto}.app-shell{min-width:820px}.composition-tray{width:calc(100% - 126px)}.brand{padding-right:13px}.brand span{display:none}.project-switch{padding:0 10px}.top-actions .icon-button{display:none}.tutorial-button{width:40px;justify-content:center;gap:0;padding:0;overflow:hidden;font-size:0}.tutorial-guide{top:68px;left:16px;width:340px}.tutorial-ai-panel{top:68px;left:368px;width:340px}.month-rail{grid-template-columns:repeat(12,54px)}.lifecycle-tray-body{grid-template-columns:minmax(430px,1fr) 180px}.zone-manager{left:108px;width:292px}.review-tray-body{grid-template-columns:205px minmax(390px,1fr)}.review-inspect-button{display:flex}.review-mobile-backdrop{position:fixed;z-index:64;top:0;right:0;bottom:0;left:0;display:block;background:#19221b52;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.review-inspector.is-mobile-open{position:fixed;z-index:66;top:70px;right:18px;bottom:18px;display:block;width:min(330px,calc(100vw - 36px));max-height:none;overflow:auto;background:#fafbf7f7}.review-inspector.is-mobile-open>header{padding-right:36px}.review-inspector.is-mobile-open .review-inspector-mark{display:none}.review-mobile-close{position:absolute;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#526b4514;color:var(--pine-deep)}.login-intro{left:40px;width:40vw}.login-intro h1{font-size:38px}.login-intro>p{font-size:15px}.login-trust-list{flex-direction:column;align-items:flex-start}.login-card{right:32px;width:390px;padding:27px 28px 24px}}@media(max-width:760px){.tutorial-welcome{padding:27px 20px 23px}.tutorial-trust-grid{grid-template-columns:1fr}.tutorial-welcome-actions{flex-direction:column}.tutorial-welcome-actions button{width:100%}.tutorial-guide{left:12px;width:330px}.tutorial-ai-panel{left:354px;width:330px}.login-intro{top:34px;left:28px;width:calc(100vw - 56px);translate:0}.login-brand{margin-bottom:12px}.login-intro h1,.login-intro>p,.login-trust-list{display:none}.login-card{top:54%;right:50%;width:min(420px,calc(100vw - 32px));translate:50% -50%}}@media(max-height:820px){.deliverable-center{min-height:0}.deliverable-header{min-height:68px}.construction-settings-panel{padding-top:11px;padding-bottom:11px}.construction-setting-field{margin-bottom:9px}.construction-preview-stage{padding:10px}.tool-dock{top:54px}.tool-item{min-height:52px;gap:3px}.tool-item svg{width:21px;height:21px}.composition-tray{bottom:22px;height:254px}.lifecycle-tray-body{height:137px}.lifecycle-chart{height:128px}.scale-block{bottom:277px}.zoom-controls{bottom:270px}.inspector{max-height:calc(100% - 286px)}.layers-panel{bottom:28px}.zone-manager{max-height:calc(100% - 276px);padding:12px}.zone-manager>header{padding-bottom:8px}.zone-list{max-height:112px;padding:7px 1px}.zone-list-item{min-height:48px;padding-top:5px;padding-bottom:5px}.zone-edit-card{padding:8px}.zone-summary{display:none}.zone-add-button{height:38px;margin-top:8px}.cost-table{height:137px}.cost-table-body{height:104px}.review-tray-body{height:191px}.review-comparison-body{height:158px}.version-card{min-height:59px;padding-top:6px;padding-bottom:6px}}
