:root{font-family:Inter,Arial,sans-serif;color:#17314c;background:#edf2f7;font-size:16px;--ink:#15324e;--muted:#60758a;--line:#dce4ed;--blue:#155d9a;--surface:#fff;--amber:#89590d}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button,.button{border:1px solid #d3dee9;background:#fff;color:var(--ink);border-radius:6px;padding:9px 12px;font-size:.875rem;font-weight:550;cursor:pointer;text-decoration:none;white-space:nowrap}button:hover,.button:hover{background:#edf5fc;border-color:#719bbf}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #2b83ce;outline-offset:3px}.primary{background:#fff;color:#124e80;border:0}.secondary{background:transparent;color:white;border-color:#53738f}.secondary:hover{background:#244765;color:white}.text-button{border:0;padding:3px 5px;background:transparent;font-size:.8125rem;color:#426684}header{height:78px;padding:13px 22px;background:#123653;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:flex;gap:13px;align-items:center}.brandmark{border:1px solid #6989a5;border-radius:4px;width:40px;height:40px;display:grid;place-items:center;font-weight:650;letter-spacing:1px}.brand h1{font-size:1.25rem;font-weight:650;letter-spacing:.1px;margin:0 0 5px}.brand h1 span{font-weight:400;color:#b4cadd;margin-left:6px}.brand p{font-size:.8125rem;margin:0;color:#c2d3e2}.header-actions{display:flex;align-items:center;gap:10px}.phase{font-size:.8125rem;color:#d1dfea;margin-right:12px}main{display:flex;height:calc(100dvh - 78px)}aside{background:var(--surface);overflow-y:auto;flex-shrink:0;padding:21px 17px}.left-panel{width:260px;border-right:1px solid var(--line)}.right-panel{width:350px;border-left:1px solid var(--line);padding:22px}.section{margin-bottom:23px}.eyebrow{font-size:.75rem;color:var(--muted);font-weight:650;letter-spacing:1px}.count{font-size:1.875rem;font-weight:650;margin:6px 0}.count small{font-size:.8125rem;font-weight:400;color:var(--muted)}.secondary-text{font-size:.75rem;color:var(--muted);line-height:1.6}.field-label{display:block;font-size:.875rem;font-weight:550;margin-bottom:9px}select,input[type=search]{width:100%;padding:10px 9px;border:1px solid #cad8e5;border-radius:5px;font-size:.875rem;background:white;color:var(--ink);min-width:0}h2{font-size:.875rem;font-weight:650;margin:0 0 12px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:10px}.section-heading h2{margin:0}.filter{display:flex;align-items:center;gap:9px;padding:10px 2px;font-size:.875rem;cursor:pointer;border-bottom:1px solid #f0f3f7}.filter input,.option input{accent-color:#1c659f;width:16px;height:16px;flex-shrink:0;margin:0}.filter .label{flex:1}.filter small{font-size:.75rem;color:var(--muted)}.swatch{width:8px;height:8px;border-radius:2px;flex-shrink:0}.option{display:flex;align-items:center;gap:9px;font-size:.875rem;margin:12px 0;cursor:pointer}.guide{border-top:1px solid var(--line);padding-top:15px;line-height:1.8;font-size:.75rem;color:var(--muted)}.result-count{margin:8px 0}.element-list{max-height:260px;overflow:auto}.element-list button{display:block;width:100%;text-align:left;padding:9px 6px;border:0;border-bottom:1px solid #ecf1f6;border-radius:0;background:white;white-space:normal;font-weight:400;line-height:1.4}.element-list button:hover{background:#edf5fc}.element-list button.selected{border-left:3px solid var(--blue);background:#edf5fc}.element-list small{display:block;font-size:.75rem;color:var(--muted);margin-top:3px}.canvas-wrap{position:relative;flex:1;min-width:0;background:#eaf0f5}#viewport{width:100%;height:100%;display:block;touch-action:none;outline:none}.toolbar{position:absolute;top:17px;left:17px;right:17px;display:flex;gap:7px;flex-wrap:wrap;pointer-events:none;z-index:3}.toolbar>*{pointer-events:auto;box-shadow:0 2px 6px #12334d08}.spacer{flex:1}.zoom-controls{position:absolute;right:18px;bottom:36px;display:flex;flex-direction:column;gap:6px}.zoom-controls button{font-size:1.25rem;width:38px;padding:6px}#axis{position:absolute;bottom:18px;left:15px;width:74px;height:74px;pointer-events:none}.status{position:absolute;bottom:20px;left:105px;right:70px;color:#61798d;font-size:.75rem;line-height:1.5;pointer-events:none}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#eaf0f5;color:#446887;text-align:center;padding:40px;z-index:5}.mobile-control{display:none}h3{font-size:1.375rem;line-height:1.35;font-weight:600;margin:20px 0 14px;overflow-wrap:anywhere}.intro{font-size:1rem;line-height:1.6;color:#50677d;margin:0 0 20px}.project-stats{display:grid;gap:14px;margin:20px 0 24px}.project-stats div{padding:14px;background:#f3f7fb;border-left:3px solid #739ab9}.project-stats strong{display:block;font-size:1.5rem;font-weight:600}.project-stats strong small{font-size:.9375rem;font-weight:400}.project-stats span{display:block;font-size:.875rem;color:var(--muted);margin-top:6px}.info-table{display:grid;grid-template-columns:minmax(90px,.9fr) minmax(0,1.15fr);font-size:.875rem;line-height:1.55;margin:8px 0 22px}.info-table dt,.info-table dd{margin:0;padding:8px 0;border-bottom:1px solid #edf1f6;overflow-wrap:anywhere;white-space:pre-line}.info-table dt{color:var(--muted);padding-right:12px}.info-table dd{color:#223f5a}.callout{background:#fff8e9;border-left:3px solid #d5a548;padding:13px;font-size:.875rem;line-height:1.6;color:#715324;margin:22px 0}.callout p{margin:7px 0 0}.muted{font-size:.8125rem;line-height:1.7;color:var(--muted)}.element-status{display:inline-flex;margin-top:18px;font-size:.75rem;border-radius:4px;padding:5px 8px;color:#875909;background:#fff3d8}.element-status.documentado{color:#22634a;background:#e7f4ee}.element-status.derivado{color:#215f92;background:#eaf2fa}#objectName{margin-top:11px;font-size:1.25rem}.element-actions{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0 24px}.element-actions button{font-size:.8125rem;padding:7px 9px}.info-section h4{font-size:.9375rem;margin:22px 0 8px;font-weight:650}.issues-list{margin:8px 0 20px;padding-left:19px;color:#78551b;font-size:.875rem;line-height:1.65}.issues-list li{margin-bottom:9px}.raw-details{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.raw-details summary{font-size:.875rem;cursor:pointer;font-weight:550;color:#355e83}.raw-details .info-table{font-size:.8125rem}.pill{display:inline-block;font-size:.75rem;padding:2px 6px;background:#edf3f9;color:#42647f;border-radius:3px}noscript{position:absolute;inset:90px 20px auto;background:white;padding:30px;z-index:100}@media(min-width:1600px){.left-panel{width:280px}.right-panel{width:370px}}@media(max-width:1250px){.left-panel{width:230px;padding:20px 13px}.right-panel{width:300px;padding:20px 17px}.phase{display:none}.toolbar button{font-size:.8125rem;padding:8px 10px}}@media(max-width:980px){.right-panel{width:275px}.left-panel{width:210px}.toolbar{gap:5px;left:12px;right:12px}.toolbar button{padding:7px}.brand p{font-size:.75rem}.secondary{display:none}}@media(max-width:800px){header{height:72px;padding:10px 14px}.brandmark{width:33px;height:33px}.brand{gap:9px}.brand h1{font-size:1.0625rem}.brand p{font-size:.75rem}.primary{font-size:.8125rem;padding:9px}main{height:calc(100dvh - 72px)}.left-panel{position:absolute;top:72px;bottom:0;left:0;width:265px;z-index:6;display:none;box-shadow:5px 0 25px #16334b30}.left-panel.open{display:block}.mobile-control{display:inline-block}.right-panel{position:absolute;top:auto;bottom:0;right:0;left:0;width:auto;max-height:47%;z-index:4;border-left:0;border-top:1px solid var(--line);display:none;box-shadow:0 -4px 15px #21374f15;padding:16px 20px}.right-panel.selected-open{display:block}.canvas-wrap{width:100%}.toolbar{top:13px;left:12px;right:12px}.toolbar .spacer{display:none}.toolbar button{font-size:.8125rem;padding:8px 9px}.info-table{grid-template-columns:1fr 1.7fr}.zoom-controls{bottom:32px}.status{bottom:24px}#objectName{margin:9px 0}.element-status{margin-top:8px}.element-actions{margin:12px 0}h3{font-size:1.25rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(max-width:800px){.header-actions{gap:6px}.header-actions>.button{font-size:.75rem;padding:8px}.brandmark{display:none}.brand p{max-width:125px;line-height:1.35}.brand h1 span{margin-left:3px}}

.reference-notice{position:absolute;bottom:55px;left:105px;right:70px;max-width:420px;background:#fff5dfed;border:1px solid #d6b678;border-left:3px solid #c98410;color:#70501c;padding:9px 12px;font-size:.8rem;line-height:1.4;pointer-events:none}.reference-notice[hidden]{display:none}@media(max-width:800px){.reference-notice{left:18px;right:70px;bottom:95px;font-size:.75rem}}

/* Coordinated model layers and component information */
[hidden]{display:none!important}.panel-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 20px;padding-bottom:7px}.panel-tabs button{flex:1;border:0;background:#f1f5f9;font-size:.875rem;padding:10px 6px}.panel-tabs button[aria-selected=true]{background:#155d9a;color:#fff}.toolbar button[aria-pressed=true]{background:#155d9a;border-color:#155d9a;color:#fff}.filter .swatch{width:11px;height:11px}.filter{padding:11px 2px}.secondary-text,.guide,.status{font-size:.8125rem}.element-list{max-height:calc(100dvh - 370px)}.info-section[hidden]{display:none}.left-panel{width:270px}.right-panel{width:340px}.toolbar{max-width:730px}.intro{font-size:.9375rem}@media(max-width:1250px){.left-panel{width:240px}.right-panel{width:300px}}@media(max-width:800px){.left-panel{width:280px}.right-panel{width:auto}.toolbar{right:10px;gap:4px}.toolbar button{font-size:.75rem;padding:7px}.panel-tabs button{min-height:40px}.element-list{max-height:calc(100dvh - 390px)}}

.component-link{display:block;width:100%;text-align:left;white-space:normal;margin:6px 0;font-size:.8125rem}.info-section>summary{cursor:pointer;font-size:.875rem;font-weight:600;margin:18px 0 10px}

/* Optional surroundings stay separate from the plant view. */
.context-note{margin-top:14px;padding:11px 12px;background:#f1f3ef;border:1px solid #d5dcd0;border-left:3px solid #708263;color:#485142;font-size:12px;line-height:1.6}.context-note strong{font-weight:600}.context-note p{margin:6px 0}.context-note a{color:#364830;text-underline-offset:3px}
