@import url("brand/montserrat.local.css");
/* AL&P: original white wordmark, monochrome working interface. */
:root{font-family:Montserrat,Arial,sans-serif;--ink:#202020;--muted:#6d6d6d;--line:#dfdfdf;--blue:#151515;--surface:#fff;--header-height:92px;color:var(--ink);background:#f1f2f0}
body{font-weight:400}button,.button,select,input{border-radius:3px}button,.button{font-weight:500;border-color:#d8d8d8;color:#242424;transition:background .15s,border-color .15s}button:hover,.button:hover{background:#efefed;border-color:#8c8c8c}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#9a741e}
.alp-header{height:var(--header-height);padding:18px 24px;background:#000;color:#fff;border-bottom:1px solid #222;gap:20px}
.alp-brand{gap:26px;min-width:0}.alp-logo-link{display:flex;align-items:center;flex-shrink:0;line-height:0;text-decoration:none;padding:0;overflow:visible}.alp-logo{display:block;width:166px;max-width:100%;height:auto;aspect-ratio:383.43/116.62;object-fit:contain;object-position:center;flex-shrink:0;border:0;border-radius:0;clip-path:none;filter:none}
.project-heading{border-left:1px solid #494949;padding-left:24px;min-width:0}.brand h1{font-size:15px;font-weight:600;letter-spacing:1.25px;line-height:1.4;margin:0 0 7px;white-space:nowrap}.brand h1 span{font-weight:400;color:#aaa;margin-left:9px}.brand p{font-size:12px;color:#adadad;letter-spacing:.25px;line-height:1.5;margin:0}
.header-actions{gap:8px}.header-actions .button{background:transparent;border:1px solid #505050;color:#f5f5f5;padding:10px 13px;font-size:12px}.header-actions .button:hover{border-color:#ddd;background:#242424}.header-actions .primary{background:#fff;border-color:#fff;color:#171717}.header-actions .primary:hover{background:#e8e8e6}.phase{font-size:11px;color:#999;letter-spacing:.5px;margin-right:8px}
main{height:calc(100dvh - var(--header-height))}.left-panel{width:270px;padding:24px 18px}.right-panel{width:340px;padding:24px}.model-summary{padding-bottom:19px;border-bottom:1px solid var(--line);margin-bottom:18px}.eyebrow{color:#656565;font-size:11px;letter-spacing:1.6px}.count{font-size:32px;font-weight:500;letter-spacing:-1.25px;margin:9px 0 2px}.count small{font-size:12px;letter-spacing:0}.secondary-text,.guide,.status{color:#707570;font-size:12px}.section{margin-bottom:24px}.field-label,h2{font-size:13px;font-weight:600}.field-label{color:#383838}.text-button{color:#555;font-size:12px}.text-button:hover{color:#000;background:#f2f2f0}
.panel-tabs{gap:0;border-bottom:1px solid #dedede;padding:0;margin-bottom:20px}.panel-tabs button{border:0;border-radius:0;background:transparent;padding:11px 5px;color:#777;font-size:13px;border-bottom:2px solid transparent}.panel-tabs button[aria-selected=true]{background:transparent;border-bottom-color:#111;color:#111;font-weight:600}.panel-tabs button:hover{background:#f5f5f3}
select,input[type=search]{font-size:13px;border-color:#d7d7d7;color:#303030;padding:11px 10px;background:#fff}.filter{border-bottom-color:#f0f0ee;padding:11px 1px;font-size:13px}.filter small{font-size:11px;color:#777}.filter input,.option input{accent-color:#1f1f1f}.filter .swatch{width:8px;height:8px;border-radius:1px}.option{font-size:13px;line-height:1.5}.concept-option{padding:10px;background:#faf5e9;border:1px solid #eadcc1;border-radius:3px;margin-top:16px;color:#725011}.guide{border-color:#dedede;line-height:1.85}
.canvas-wrap,#loading{background:#f1f2f0}.toolbar{top:16px;left:16px;right:16px;gap:5px;max-width:none}.toolbar button{font-size:12px;padding:9px 11px;box-shadow:0 2px 6px #00000006;background:#fffffff2;border-color:#d6d7d3}.toolbar button[aria-pressed=true]{background:#1b1b1b;border-color:#1b1b1b;color:#fff}.toolbar .concept-button{border-color:#c6ac72;color:#755516;background:#fffaf0}.toolbar .concept-button:hover{background:#f5ebd2}.zoom-controls button{color:#111;border-color:#ccc}.intro{font-size:14px;line-height:1.7;color:#606060}.right-panel h2{font-size:13px;color:#555}.right-panel h3{font-size:23px;font-weight:500;line-height:1.35;letter-spacing:-.6px;margin:23px 0 14px}.right-panel #objectName{font-size:18px;letter-spacing:-.25px;line-height:1.5}
.info-table{font-size:12px;line-height:1.7;grid-template-columns:minmax(85px,.85fr) minmax(0,1.2fr)}.info-table dt{color:#787878}.info-table dd{color:#262626}.info-table dt,.info-table dd{border-bottom-color:#eee}.info-section h4{font-size:13px;letter-spacing:.2px;margin-top:24px;color:#333}.element-status{font-size:11px;line-height:1.5}.element-status.derivado{background:#eee;color:#444}.element-status.documentado{background:#edf1eb;color:#385739}.element-actions button{font-size:12px}.element-list button{font-size:13px;padding:12px 7px}.element-list button:hover,.element-list button.selected{background:#f1f1ee}.element-list button.selected{border-left-color:#222}.element-list small{font-size:11px;color:#797979}.component-link{font-size:12px;background:#f7f7f5}.callout{border-color:#bd913b;background:#fcf7eb;color:#715622;font-size:12px;line-height:1.8}.muted{font-size:12px;color:#787878;line-height:1.8}.raw-details summary{color:#545454;font-size:12px}.raw-details .info-table{font-size:11px}.issues-list{font-size:12px}.pill{background:#eee;color:#555}
.concept-notice{position:absolute;bottom:56px;left:105px;right:65px;max-width:530px;padding:10px 13px;background:#fff8eaf2;border:1px solid #d7bc85;border-left:3px solid #b88422;color:#745522;font-size:12px;line-height:1.6;pointer-events:none}.concept-notice:not([hidden])~.reference-notice{bottom:122px}.reference-notice{font-size:12px}.concept-callout{margin:15px 0}
.drawings-page .alp-header{height:var(--header-height)}.drawings-page .alp-header>.button{background:transparent;color:#fff;border-color:#555;font-size:12px}.drawings-page .alp-header>.button:hover{background:#252525}.drawings-page{background:#f4f4f1}.drawings-page .page-heading h1{font-weight:500;letter-spacing:-1px;color:#111}.drawing-card{border-color:#d8d8d5;box-shadow:none}.drawing-card h2{color:#222}.drawing-card .button{background:#fff;color:#252525;border-color:#cfcfca}.drawing-card .button:hover{background:#eee}.drawing-card .source{color:#777}.document-register{background:#fff;border-color:#ddd}.document-register h2{color:#222}.document-register th{background:#eeeeeb;color:#454545}
@media(min-width:1700px){.left-panel{width:285px}.right-panel{width:360px}.toolbar button{font-size:13px}}
@media(max-width:1300px){.phase{display:none}.alp-header{padding-left:18px;padding-right:18px;gap:12px}.alp-brand{gap:18px}.project-heading{padding-left:18px}.alp-logo{width:148px}.brand h1{font-size:13px;letter-spacing:.8px}.header-actions .button{font-size:11px;padding:9px 10px}.left-panel{width:235px;padding:22px 14px}.right-panel{width:300px;padding:22px 18px}.toolbar button{padding:8px;font-size:11px}}
@media(max-width:1000px){.brand p{max-width:185px;font-size:11px}.header-actions .secondary{display:none}.alp-brand{gap:14px}.project-heading{padding-left:14px}.left-panel{width:215px}.right-panel{width:280px}.toolbar{gap:4px}.toolbar button{padding:7px;font-size:11px}}
@media(max-width:800px){:root{--header-height:94px}.alp-header{padding:14px 15px}.alp-logo{width:126px}.project-heading{border-left:0;padding-left:0}.brand h1{font-size:12px;white-space:normal;letter-spacing:.6px}.brand h1 span{display:block;margin:1px 0 0}.brand p{display:none}.header-actions{gap:5px}.header-actions .button{font-size:10px;padding:8px}.left-panel{top:var(--header-height);width:280px;padding:24px 18px}.right-panel{width:auto;max-height:50%;padding:18px 20px}.canvas-wrap{width:100%}.toolbar{left:12px;right:10px;top:13px}.toolbar button{font-size:11px;padding:8px}.concept-notice{left:15px;right:60px;bottom:88px;font-size:11px;padding:8px 10px}.concept-notice:not([hidden])~.reference-notice{bottom:154px}.info-table{font-size:13px;grid-template-columns:1fr 1.5fr}.info-section h4{font-size:14px}.panel-tabs button{font-size:14px}.status{font-size:11px}}
@media(max-width:560px){:root{--header-height:126px}.alp-header{flex-wrap:wrap;align-content:center;gap:12px;padding:12px 16px}.alp-brand{justify-content:space-between;flex:1}.alp-logo{width:142px}.project-heading{text-align:right}.brand h1{font-size:12px}.header-actions{width:100%;justify-content:flex-end;gap:6px}.header-actions .button{font-size:11px;padding:8px 12px}.header-actions .secondary{display:inline-flex}.drawings-page .alp-header{height:auto;min-height:var(--header-height)}.drawings-page .alp-header>.button{margin-left:auto}.toolbar .concept-button{font-size:11px}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}

.mobile-panel-heading{display:none}
@media(max-width:800px){.mobile-panel-heading{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:7;background:#fff;padding:12px 0;margin-top:-12px;margin-bottom:16px;border-bottom:1px solid #ddd;font-size:12px}.mobile-panel-heading button{padding:9px 11px;min-height:40px;font-size:12px}}
@media(max-width:560px){.header-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.header-actions .button{display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;white-space:normal;line-height:1.25;padding:6px;font-size:11px}.header-actions .secondary{display:flex}}

/* Point-to-point measurements share the existing AL&P working surface. */
.toolbar .measure-button{display:inline-flex;align-items:center;gap:6px}.toolbar .measure-button[aria-pressed=true]{background:#202020;border-color:#202020;color:#fff}#viewport.measuring{cursor:crosshair}
.measurement-panel{position:absolute;left:16px;z-index:3;width:290px;max-width:calc(100% - 32px);background:#fffffff5;border:1px solid #d4d4d0;border-left:3px solid #dca025;border-radius:4px;padding:12px 14px;box-shadow:0 3px 15px #00000012}.measurement-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:#545454}.measurement-heading button{font-size:13px;padding:5px 8px;min-height:32px}.measurement-heading button:disabled{opacity:.4;cursor:default}#measurementValue{display:block;font-size:25px;font-weight:600;line-height:1.4;color:#222;font-variant-numeric:tabular-nums;margin:4px 0}#measurementHint{font-size:14px;line-height:1.5;margin:4px 0 8px;color:#444}.measurement-help{font-size:12px;line-height:1.5;color:#777}.measurement-label{position:absolute;z-index:2;transform:translate(-50%,-125%);pointer-events:none;white-space:nowrap;border:1px solid #d49823;border-radius:4px;background:#fff9eefa;color:#282319;box-shadow:0 1px 6px #00000018;padding:5px 9px;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
@media(max-width:800px){.measurement-panel{left:12px;width:270px;max-width:calc(100% - 24px);padding:10px 12px}.measurement-help{font-size:12px}.measurement-label{font-size:14px}}

.underground-notice{position:absolute;bottom:24px;left:105px;right:65px;max-width:640px;padding:7px 10px;background:#e9f2f7ed;border:1px solid #a8c4d4;color:#345a6d;font-size:12px;line-height:1.4;pointer-events:none}.toolbar #undergroundToggle[aria-pressed=true]{background:#335a6c;border-color:#335a6c;color:#fff}@media(max-width:800px){.underground-notice{left:15px;right:60px;bottom:40px;font-size:11px;max-width:none}}
