:root{--nav:#142d33;--ink:#172f35;--muted:#6e7e83;--line:#e1e7e7;--paper:#f4f7f6;--teal:#137c71;--lime:#c9e59e;--white:#fff;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--paper)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}button{border:0}h1,h2,h3,p{margin-top:0}h1{font-size:2.4286rem;letter-spacing:-1.1px;font-weight:650;margin-bottom:10px}h2{font-size:1.5rem;letter-spacing:-.4px}h3{font-size:1.0714rem}small{font-size:0.78571rem}.muted{color:var(--muted);line-height:1.7}.eyebrow{display:block;font-size:0.71429rem;letter-spacing:1.9px;font-weight:700;color:var(--teal);margin-bottom:12px}.shell{display:flex;min-height:100vh}.sidebar{width:234px;flex-shrink:0;background:var(--nav);color:#fff;padding:32px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:13px;padding:0 12px 40px;font-size:1.6429rem;font-weight:700;letter-spacing:1px}.brand small{display:block;font-size:0.64286rem;letter-spacing:2.7px;color:#9eb8bc;margin-top:3px}.brand-mark{display:grid;place-items:center;background:var(--lime);color:var(--nav);width:38px;height:40px;border-radius:10px 2px 10px 2px;font-size:1.8571rem;font-weight:750;letter-spacing:-3px;padding-right:3px}.workspace-label,.nav-group{font-size:0.64286rem;letter-spacing:1.6px;color:#86a4a8;font-weight:700;margin:16px 13px 9px}.workspace-label{margin-top:0}.nav-link{display:flex;gap:12px;align-items:center;border-radius:5px;margin:3px 0;padding:11px 13px;color:#c9dadb;font-size:0.85714rem}.nav-link.active{background:#29474b;color:#e6f7cf;border-left:3px solid var(--lime);padding-left:10px}.nav-icon{width:19px;font-size:1.2143rem;color:#95b0b3;text-align:center}.nav-link:hover{background:#223f44}.sidebar-bottom{margin-top:auto;padding:28px 12px 0;font-size:0.78571rem;color:#b7cacc}.sidebar-bottom small{display:block;margin:9px 0 0 16px;color:#7b9b9f;font-size:0.64286rem}.live-dot{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:6px}.main-shell{margin-left:234px;flex:1;min-width:0}.topbar{height:77px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumb{font-size:0.78571rem;color:var(--muted)}.breadcrumb span{margin:0 14px;color:#bbc6c7}.breadcrumb strong{font-weight:500;color:var(--ink)}.account{display:flex;gap:23px;align-items:center;font-size:0.78571rem}.quiet{background:transparent;color:var(--muted);font-size:0.78571rem;padding:9px}.account #user-label{border-left:1px solid var(--line);padding-left:20px}main{max-width:1600px;padding:35px 38px 24px;margin:auto;min-height:calc(100vh - 135px)}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.page-head p{font-size:0.85714rem;margin-bottom:0;color:var(--muted)}.primary,.secondary,.danger{border-radius:5px;padding:11px 17px;font-size:0.85714rem;font-weight:600;display:inline-flex;align-items:center;gap:16px;justify-content:center}.primary{background:var(--teal);color:white}.primary:hover{background:#10665e}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.danger{background:#fff1ef;color:#af3d31}.hero{background:#e6eee7;min-height:172px;position:relative;border-radius:8px;padding:27px 31px;display:flex;justify-content:space-between;overflow:hidden;margin-bottom:25px}.hero h2{font-size:1.7857rem;line-height:1.35;margin-bottom:10px;max-width:480px}.hero p{font-size:0.85714rem;color:#607569;margin:0;max-width:550px;line-height:1.7}.hero .eyebrow{color:#5d7d58;margin-bottom:12px}.building-art{display:flex;align-items:flex-end;gap:10px;padding:4px 16px 0;opacity:.6}.building-art i{display:block;width:55px;height:100px;background:repeating-linear-gradient(0deg,transparent 0 15px,#e6eee7 15px 19px),repeating-linear-gradient(90deg,#9db9ac 0 12px,#d8e3db 12px 18px);border:7px solid #b7cdbd;transform:skewY(-9deg)}.building-art i:nth-child(2){height:135px;width:80px}.building-art i:nth-child(3){height:80px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:26px}.metric{background:#fff;border:1px solid var(--line);border-radius:7px;padding:19px 22px}.metric-top{display:flex;align-items:center;justify-content:space-between;font-size:0.78571rem;color:var(--muted)}.metric-icon{background:#eff5f2;color:#588278;width:28px;height:28px;display:grid;place-items:center;border-radius:5px;font-size:1.1429rem}.metric strong{display:block;font-size:2.3571rem;font-weight:600;margin:12px 0 7px;letter-spacing:-1px}.metric small{font-size:0.71429rem;color:#81908c}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-bottom:22px}.panel-head{padding:20px 23px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.panel-head h3{margin:0;font-size:1rem}.text-link{color:var(--teal);font-size:0.78571rem;background:transparent}.task-row{display:flex;gap:13px;padding:17px 23px;border-bottom:1px solid #eff2f1;align-items:center;width:100%;text-align:left;background:white;color:var(--ink)}.task-row:last-child{border-bottom:0}.task-row:hover{background:#fafcfb}.task-row .task-content{flex:1;min-width:0}.task-row strong{font-size:0.85714rem;font-weight:600;display:block;margin-bottom:6px}.task-row small{font-size:0.71429rem;color:var(--muted)}.task-symbol{height:33px;width:33px;background:#f2f5f3;display:grid;place-items:center;border-radius:5px;color:#6a8a7d}.badge{font-size:0.71429rem;display:inline-block;padding:5px 8px;background:#edf3f1;color:#3b776b;border-radius:4px;white-space:nowrap}.badge.warn{background:#fbf1dd;color:#9c762b}.badge.red{background:#fcece7;color:#b2674c}.badge.blue{background:#eaf0fa;color:#5e7fac}.date-tile{width:40px;flex-shrink:0;text-align:center;border:1px solid var(--line);border-radius:5px;padding:5px;color:var(--teal)}.date-tile strong{font-size:1.2857rem;margin:0}.date-tile small{font-size:0.57143rem;text-transform:uppercase}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px}.quick-action{padding:18px 8px;background:#f5f8f6;text-align:center;border:1px solid #e9eeeb;border-radius:5px;font-size:0.78571rem;color:var(--ink)}.quick-action span{display:block;font-size:1.5714rem;color:var(--teal);margin-bottom:9px}.notice{font-size:0.78571rem;color:#768580;line-height:1.7;margin:0 0 20px}.toolbar{padding:17px 20px;display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.search-box{min-width:230px;max-width:400px;flex:1}.toolbar select{max-width:180px}.toolbar-right{display:flex;gap:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:0.71429rem;color:#778882;font-weight:600;background:#f8faf9;padding:13px 17px;border-bottom:1px solid var(--line)}td{font-size:0.85714rem;padding:16px 17px;border-bottom:1px solid #edf1ef;max-width:320px;overflow:hidden;text-overflow:ellipsis}tr:last-child td{border-bottom:0}.record-link{color:var(--teal);font-weight:600;background:none;text-align:left;padding:0}tbody tr:hover{background:#fafcfb}.table-footer{padding:13px 20px;border-top:1px solid var(--line);font-size:0.71429rem;color:var(--muted);display:flex;justify-content:space-between;align-items:center}.empty{text-align:center;padding:45px 20px;color:var(--muted);font-size:0.92857rem}.app-footer{display:flex;justify-content:space-between;padding:20px 38px;font-size:0.64286rem;color:#7d8f87;border-top:1px solid var(--line)}input,select,textarea{border:1px solid #d7e0dc;background:white;padding:11px 12px;border-radius:5px;color:var(--ink);width:100%;min-height:39px}input:focus,select:focus,textarea:focus{border-color:var(--teal)}textarea{min-height:110px;resize:vertical}label{display:flex;flex-direction:column;gap:8px;font-size:0.78571rem;color:#51685f}dialog{border:1px solid var(--line);border-radius:10px;padding:0;max-width:700px;width:calc(100% - 40px);box-shadow:0 25px 90px #112f352b;color:var(--ink)}dialog::backdrop{background:#102c346b;backdrop-filter:blur(3px)}.dialog-header{padding:25px 27px 20px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line)}.dialog-header h2{margin:0}.dialog-header .eyebrow{margin-bottom:8px}.icon-button{font-size:1.7857rem;background:transparent;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px;padding:26px}.form-grid .full{grid-column:1/-1}.dialog-footer{background:#f7faf8;display:flex;gap:10px;padding:18px 26px;border-top:1px solid var(--line)}.dialog-footer span{flex:1}.error{color:#b23d35;font-size:0.85714rem;line-height:1.5}.error:not(:empty){padding:10px 26px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:15px 25px;background:#173d35;color:#fff;border-radius:7px;box-shadow:0 6px 30px #0002;z-index:20;font-size:0.85714rem}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-form{padding:25px;display:grid;gap:18px}.login-page{min-height:100vh;padding:48px 7vw;background:#f0f5f1}.login-brand{display:flex;align-items:center;gap:12px;font-size:1.5714rem;font-weight:700}.login-brand small{font-size:0.71429rem;letter-spacing:2px;display:block}.login-layout{max-width:1170px;margin:9vh auto;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:7vw}.login-layout h1{font-size:clamp(36px,4vw,58px);line-height:1.12;margin:20px 0 25px;letter-spacing:-2px}.login-layout p{color:#6b8277;line-height:1.8;font-size:1rem}.login-card{background:#fff;padding:38px;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 65px #173d3508;display:grid;gap:19px}.login-card h2{margin-bottom:3px}.login-card .eyebrow{margin:0}.login-card p{font-size:0.71429rem;margin:0}.login-card .error:not(:empty){padding:0;font-size:0.85714rem}.login-card button{padding:14px;justify-content:space-between}.login-grid{margin-top:45px;font-size:0.78571rem;color:#7b9586;display:grid;gap:17px}.login-grid strong{margin-left:17px;color:#405f51;font-weight:500}.login-page>footer{display:flex;justify-content:space-between;font-size:0.71429rem;color:#7a9084}.loading{padding:50px;color:var(--muted)}@media(min-width:1600px){main{padding-top:45px}.hero{min-height:200px}}@media(max-width:1100px){.sidebar{width:200px}.main-shell{margin-left:200px}main{padding:26px 22px}.topbar{padding:0 22px}.dashboard-grid{grid-template-columns:1fr}.hero h2{font-size:1.5rem}.building-art{display:none}.metrics{gap:10px}.metric{padding:15px}.settings-grid{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{position:relative;width:100%;padding:16px;inset:auto}.brand{padding:0 0 12px;font-size:1.4286rem}.brand small,.workspace-label,.nav-group,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto}.nav-link{white-space:nowrap}.shell{display:block}.main-shell{margin:0}.topbar{height:60px}.breadcrumb{display:none}.account{width:100%;justify-content:space-between}.metrics{grid-template-columns:1fr 1fr}.page-head{align-items:flex-start}h1{font-size:1.9286rem}.toolbar{flex-wrap:wrap}.search-box{min-width:100%}.form-grid{grid-template-columns:1fr}.app-footer span{display:none}.login-page{padding:28px}.login-layout{grid-template-columns:1fr;margin:45px 0}.login-grid{display:none}.login-card{padding:25px}.login-page>footer span{display:none}.dialog-footer{flex-wrap:wrap}.quick-actions{padding:15px;gap:8px}}@media print{.sidebar,.topbar,.toolbar,.page-head button,.app-footer,.dialog-footer{display:none!important}.main-shell{margin:0}main{padding:0}.panel{border:0}body{background:white}}

.sidebar{overflow-y:auto}.hierarchy-tree{padding:20px}.tree-node{border:1px solid var(--line);border-radius:5px;margin:10px 0;background:#fff}.tree-node>summary{cursor:pointer;padding:13px;background:#f3f7f4;font-size:0.85714rem}.tree-type{font-size:0.71429rem;color:var(--muted);margin-right:12px}.tree-code{font-size:0.78571rem;color:var(--teal);margin-right:12px}.tree-children{padding:0 15px 10px 23px}.tree-actions{padding:8px 14px;text-align:right}.tree-leaf{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line);font-size:0.85714rem}.tree-leaf .text-link{margin-left:auto}.tree-empty{font-size:0.78571rem;color:var(--muted);padding:12px}.tree-node strong{overflow-wrap:anywhere}@media(max-width:760px){.hierarchy-tree{padding:8px}.tree-children{padding-left:8px;padding-right:4px}.tree-node>summary{padding:10px 6px}.tree-type{display:none}.panel-head{flex-wrap:wrap;gap:12px}}

.roadmap-links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 12px 0 20px; }

.page-back { margin: 0 0 20px; }
.page-back a { display: inline-flex; align-items: center; text-decoration: none; }

#group-form input[type=checkbox], #account-form input[type=checkbox] { width: 18px; height: 18px; min-height: 0; margin: 0; padding: 0; accent-color: var(--teal); vertical-align: middle; }
#group-form td { text-align: center; }
#group-form th { white-space: normal; }
#group-form table { min-width: 800px; }
#account-form label:has(input[type=checkbox]) { display: flex; align-items: center; gap: 10px; padding: 8px 0; }
#membership-fields { border: 1px solid var(--line); border-radius: 6px; padding: 12px 16px; }
#membership-fields legend { padding: 0 6px; }

#account-form label:has(input[type=checkbox]) { flex-direction: row; justify-content: flex-start; }

#site-fields { border: 1px solid var(--line); border-radius: 6px; padding: 16px; }
#site-fields label { display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 8px 0; }
#site-fields .site-building { margin-left: 28px; }
.site-choice { padding: 8px 0; border-top: 1px solid var(--line); }

/* Shared accessibility defaults and account-wide presentation settings. */
:root{--muted:#596b70}
.badge.warn{color:#795400}.badge.red{color:#8d3b25}.badge.blue{color:#345c8e}
:focus-visible{outline:3px solid #00685d;outline-offset:3px}
.sidebar :focus-visible{outline-color:#e6f7cf}
.skip-link{position:fixed;left:12px;top:-200px;z-index:10000;padding:14px;background:#fff;color:#172f35;border:3px solid #00685d}
.skip-link:focus{top:12px}
button,input,select,.secondary,.primary{min-height:44px}
button{white-space:normal}.nav-link,.text-link{overflow-wrap:anywhere}
.text-link{text-decoration:underline;text-underline-offset:.15em}
input,select,textarea{border-color:#768780}
#appearance-form label:has(input[type=checkbox]){display:flex;flex-direction:row;align-items:center;gap:12px;min-height:44px}
#appearance-form input[type=checkbox]{width:24px;height:24px;min-height:24px;flex-shrink:0}
#appearance-form .appearance-actions{display:flex;flex-wrap:wrap;gap:12px}
.dialog-header,.dialog-footer,.topbar,.account,.page-head,.toolbar,.table-footer{flex-wrap:wrap;gap:12px}
dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}
.form-grid>*{min-width:0}input,select,textarea{max-width:100%}
html[data-spacing=spacious] input,html[data-spacing=spacious] select,html[data-spacing=spacious] textarea,html[data-spacing=spacious] button,html[data-spacing=spacious] .nav-link{min-height:52px;padding-top:14px;padding-bottom:14px}
html[data-spacing=spacious] td,html[data-spacing=spacious] th{padding-top:18px;padding-bottom:18px}
html[data-text-spacing=true] body{line-height:1.5;letter-spacing:.12em;word-spacing:.16em}
html[data-text-spacing=true] p{margin-bottom:2em}
html[data-underline-links=true] a{text-decoration:underline;text-underline-offset:.2em}
html[data-single-column=true] .form-grid,html[data-single-column=true] .settings-grid{grid-template-columns:minmax(0,1fr)}
html[data-large-text=true] .shell{display:block}
html[data-large-text=true] .sidebar{position:relative;width:100%;inset:auto}
html[data-large-text=true] .main-shell{margin-left:0;width:100%}
html[data-large-text=true] .form-grid,html[data-large-text=true] .settings-grid{grid-template-columns:minmax(0,1fr)}
html[data-large-text=true] main{padding:20px}
html[data-large-text=true] .hero{display:block}
html[data-theme=contrast]{--ink:#000;--muted:#222;--paper:#fff;--white:#fff;--nav:#000;--line:#555;--teal:#005747;color-scheme:light}
html[data-theme=dark]{--ink:#f4f7f6;--muted:#d0dbdf;--paper:#121c20;--white:#1d2b30;--nav:#071013;--line:#a1b5bc;--teal:#80e5d5;color-scheme:dark}
html[data-theme=contrast] :is(.panel,.metric,.hero,.login-card,.tree-node,.tree-node>summary,.notice,dialog,input,select,textarea,th,td,.secondary){background:#fff;color:#000;border-color:#555}
html[data-theme=contrast] :is(.badge,.badge.warn,.badge.red,.badge.blue){background:#fff;color:#000;border:1px solid #000}
html[data-theme=contrast] :is(.primary,.danger){background:#000;color:#fff;border:2px solid #000}
html[data-theme=contrast] .sidebar :is(a,.nav-group,.workspace-label,small){color:#fff}
html[data-theme=dark] :is(.panel,.metric,.hero,.login-card,.tree-node,.tree-node>summary,.notice,dialog,input,select,textarea,th,td,.secondary,.topbar){background:#1d2b30;color:#f4f7f6;border-color:#a1b5bc}
html[data-theme=dark] :is(.badge,.badge.warn,.badge.red,.badge.blue){background:#253a41;color:#fff;border:1px solid #a1b5bc}
html[data-theme=dark] :is(.primary,.danger){background:#80e5d5;color:#071013}
html[data-theme=dark] :is(.quiet,.record-link,.text-link,.error){color:#f4f7f6}
html[data-theme=dark] :focus-visible{outline-color:#ffe38a}
html[data-reduce-motion=true] *,html[data-reduce-motion=true] *::before,html[data-reduce-motion=true] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){button,input,select,textarea,.badge,.panel{border:1px solid CanvasText}:focus-visible{outline:3px solid Highlight}.sidebar{background:Canvas;color:CanvasText}.sidebar a{color:LinkText}}

html[data-text-spacing=true] :is(p,label,input,select,textarea,button,th,td,h1,h2,h3,a,small,span){line-height:1.5;letter-spacing:.12em;word-spacing:.16em}

html[data-large-text=true] .sidebar{max-height:35dvh;overflow:auto}
.topbar{height:auto;min-height:60px;padding-top:12px;padding-bottom:12px}
@media(max-width:760px){.account{flex-wrap:wrap}.account>a{min-height:44px;display:inline-flex;align-items:center}}

/* Shared text and surface tokens keep existing forms legible in every profile. */
label{color:var(--ink)}
.hero p,.hero .eyebrow,.metric small,.notice,th,.app-footer{color:var(--muted)}
html[data-theme=dark] :is(.dialog-footer,.task-row,.task-row:hover,.quick-action,.task-symbol,.metric-icon){background:var(--white);color:var(--ink);border-color:var(--line)}
html[data-theme=contrast] :is(.dialog-footer,.task-row,.task-row:hover,.quick-action,.task-symbol,.metric-icon){background:#fff;color:#000;border-color:#555}

.session-warning{padding:16px;background:var(--white);color:var(--ink);border:3px solid var(--teal)}
#metadata-form input[type=checkbox]{width:24px;height:24px;min-height:24px}
#metadata-form label:has(input[type=checkbox]){flex-direction:row;align-items:center;min-height:44px}
@media(max-width:400px){main{padding:18px 12px}.settings-form{padding:14px}.form-grid{padding:14px}.panel-head{padding:14px}.page-head{display:block}.metrics{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr}.account{gap:8px}.account #user-label{padding-left:0;border-left:0}.toolbar select{max-width:100%}.search-box{max-width:100%;width:100%}.app-footer{padding:16px;flex-wrap:wrap}.login-card{padding:16px}.login-page{padding:16px}}

.login-layout p,.login-grid,.login-page>footer{color:var(--muted)}
.settings-form,.settings-form>*,form,.appearance-actions,.panel-head>*,.page-head>*{min-width:0}
.settings-form{grid-template-columns:minmax(0,1fr)}
button,.primary,.secondary,label,h1,h2,h3,p,.notice,.appearance-actions>a{overflow-wrap:anywhere;max-width:100%;white-space:normal}
input,select,textarea{min-width:0}
.settings-form article{min-width:0;overflow-wrap:anywhere}

.column-picker{max-width:100%;min-width:0;overflow-wrap:anywhere}.column-picker>summary{cursor:pointer;padding:12px}.column-picker[open]{flex-basis:100%;padding:12px}.column-picker select{max-width:100%;width:100%}

/* CAD keeps profiles and a fully usable form/list alternative. */
#cad-canvas{display:block;width:100%;height:auto;min-height:180px;max-height:65vh;border:1px solid var(--ink);background:var(--panel,#fff);color:var(--ink);touch-action:pan-y}html[data-theme=dark] #cad-canvas{background:var(--bg)}html[data-theme=contrast] #cad-canvas{background:var(--bg)}.cad-controls{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.cad-object-list{padding-left:20px;max-height:22rem;overflow:auto}.cad-object-list li{margin:10px 0}.cad-object-list button{text-align:left;overflow-wrap:anywhere;max-width:100%}.cad-hash{overflow-wrap:anywhere}#cad-body{min-width:0;display:grid;gap:18px}#cad-body fieldset{min-width:0;display:grid;gap:12px}#cad-body .settings-form{padding:14px 0}#cad-body summary{cursor:pointer;min-height:2.5rem;padding:.5rem 0;overflow-wrap:anywhere}#cad-body input,#cad-body select{min-width:0;max-width:100%}@media(forced-colors:active){#cad-canvas{background:Canvas;color:CanvasText;forced-color-adjust:none}}

#cad-canvas.cad-moving{cursor:move;touch-action:none}#cad-canvas{aspect-ratio:2 / 1;min-height:0;max-height:none}

#cad-3d{width:100%;aspect-ratio:2 / 1;min-height:180px;background:var(--white,#fff);color:var(--ink);border:1px solid var(--ink)}#cad-3d canvas{display:block;width:100%;height:100%}#cad-3d[hidden],#cad-canvas[hidden]{display:none}@media(forced-colors:active){#cad-3d{background:Canvas;color:CanvasText;forced-color-adjust:none}}

/* Keep dashboard panels usable with large text in narrow windows. */
.dashboard-grid>div{min-width:0}.dashboard-grid .panel-head{flex-wrap:wrap}.dashboard-grid .panel-head h3,.dashboard-grid summary{min-width:0;overflow-wrap:anywhere}.dashboard-grid .task-row{flex-wrap:wrap}

.reference-search{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0}.reference-search input{min-width:0;flex:1;width:100%}.reference-search small{flex-basis:100%;overflow-wrap:anywhere}

/* Explicit metadata preference: preserve the full value without widening the page. */
td.metadata-wrap,td.metadata-wrap .record-link{white-space:normal;overflow-wrap:anywhere;min-width:12ch;max-width:32ch;}

html[data-theme=dark] .login-page,html[data-theme=contrast] .login-page{background:var(--paper);color:var(--ink)}
html[data-theme=dark] .login-grid strong,html[data-theme=contrast] .login-grid strong{color:var(--ink)}

.comment-formatted{overflow-wrap:anywhere;max-width:100%;color:inherit;font:inherit}.comment-formatted a{color:var(--ink);text-decoration:underline}.comment-formatted ul,.comment-formatted ol{padding-inline-start:1.5em}.comment-formatted p{margin-block:.5em}

.service-report-description{white-space:pre-wrap;overflow-wrap:anywhere;max-width:32rem}

[data-time-buildings]{padding-inline-start:1.25rem;min-width:0;overflow-wrap:anywhere;} [data-time-buildings] button{white-space:normal;max-width:100%;}

.handover-proof-values{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:.5rem;overflow-wrap:anywhere}.handover-proof-values dt{font-weight:600}.handover-proof-values dd{margin:0;white-space:pre-wrap}.handover-signature{margin-top:2rem;overflow-wrap:anywhere}#handover-print{display:none}
@media print{body.printing-handover>:not(#handover-print){display:none!important}body.printing-handover>#handover-print{display:block!important;padding:1rem;color:var(--ink);background:var(--white)}body.printing-handover{background:var(--white)}}

/* Zusammengeführte Navigation mit persönlicher, lokal gespeicherter Breite. */
:root{--sidebar-width:280px}
.sidebar .nav-section{border-bottom:1px solid #86a4a844;padding:5px 0;min-width:0}
.sidebar .nav-section>summary{padding:12px 8px;cursor:pointer;font-size:.9rem;font-weight:600;color:#c9dadb;overflow-wrap:anywhere}
.sidebar .nav-link{white-space:normal;overflow-wrap:anywhere}
.sidebar .nav-link>span:last-child{min-width:0}
.sidebar .nav-icon{flex-shrink:0}
.sidebar-width-controls{display:flex;align-items:center;gap:4px;margin-bottom:12px}
.sidebar-width-controls button{background:transparent;color:#c9dadb;border:1px solid #86a4a8;border-radius:4px;min-width:28px;min-height:30px;padding:5px;font-size:.8rem}
#sidebar-resize{position:fixed;left:calc(var(--sidebar-width) - 5px);top:0;bottom:0;width:10px;z-index:6;cursor:col-resize;touch-action:none}
#sidebar-resize::after{content:'';position:absolute;left:4px;top:0;bottom:0;width:2px;background:var(--muted)}
#sidebar-resize:hover::after,#sidebar-resize:focus-visible::after{width:4px;background:var(--teal)}
#sidebar-resize:focus-visible{outline:3px solid var(--teal);outline-offset:0}
.sidebar-dragging,.sidebar-dragging *{cursor:col-resize!important;user-select:none!important}
@media(min-width:761px){html:not([data-large-text=true]) .sidebar{width:var(--sidebar-width)}html:not([data-large-text=true]) .main-shell{margin-left:var(--sidebar-width)}}
@media(max-width:760px){#sidebar-resize,.sidebar-width-controls{display:none}.sidebar nav{display:block;max-height:35dvh;overflow:auto}.sidebar .nav-link{white-space:normal}}
html[data-large-text=true] #sidebar-resize,html[data-large-text=true] .sidebar-width-controls{display:none}
html[data-theme=contrast] .sidebar :is(summary,.sidebar-width-controls button){color:#fff}
@media(forced-colors:active){.sidebar .nav-section>summary,.sidebar-width-controls button{color:CanvasText}.sidebar-width-controls button{border-color:ButtonText}#sidebar-resize::after{background:CanvasText}#sidebar-resize:focus-visible{outline-color:Highlight}}
@media print{#sidebar-resize{display:none}html:not([data-large-text=true]) .main-shell{margin-left:0}}

.building-preview-canvas{width:100%;aspect-ratio:2 / 1;min-height:220px;background:var(--white,#fff);color:var(--ink);border:1px solid var(--ink)}.building-preview-canvas canvas{display:block;width:100%;height:100%}#cad-building-preview{min-width:0}#cad-building-preview>label{margin:14px 0}#cad-building-preview table{table-layout:fixed;width:100%}@media(forced-colors:active){.building-preview-canvas{background:Canvas;color:CanvasText;forced-color-adjust:none}}

#cad-building-preview{overflow-wrap:anywhere}
#cad-building-preview input,#cad-building-preview select{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
#cad-building-preview button{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#cad-building-preview td,#cad-building-preview th{overflow-wrap:anywhere}

#cad-building-preview table{min-width:0;max-width:100%}
#cad-building-preview th,#cad-building-preview td,#cad-building-preview caption{white-space:normal;min-width:0;padding:.3rem;overflow-wrap:anywhere}

#cad-ifc-building{min-width:0;overflow-wrap:anywhere}#cad-ifc-building :is(input,select,button,fieldset){max-width:100%;min-width:0}#cad-ifc-building button{white-space:normal;overflow-wrap:anywhere}#cad-ifc-building select{width:100%}#cad-ifc-building input[type=checkbox]{width:auto;max-width:100%;margin:0;align-self:flex-start}

#cad-ifc-building label:has(input[type=checkbox]){flex-direction:row;align-items:center;gap:10px;min-height:44px}#cad-ifc-building input[type=checkbox]{width:24px;height:24px;min-height:24px;flex-shrink:0}

.cad-plan-positions { white-space: pre-wrap; overflow-wrap: anywhere; }

.dashboard-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.dashboard-stack>.panel,.dashboard-stack>.metrics{margin:0;min-width:0}
.dashboard-stack .panel-head,.dashboard-stack .task-row{flex-wrap:wrap}
.dashboard-stack .task-content,.dashboard-stack h3{min-width:0;overflow-wrap:anywhere}
