:root{font-family:system-ui,-apple-system,sans-serif;color:#172730;background:#f2f5f3}*{box-sizing:border-box}body{margin:0}header{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1rem max(1rem,calc((100vw - 70rem)/2));background:#18352f;color:#fff}header a{color:#fff}.brand{font-size:1.3rem;font-weight:800;text-decoration:none}header span{font-size:.85rem}main{max-width:70rem;margin:2rem auto;padding:0 1rem;min-height:70vh}a{color:#075b52}h1{font-size:2rem}h2{font-size:1.2rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1rem}.card{display:block;background:white;border:1px solid #d6e2dd;border-radius:.6rem;padding:1.2rem;box-shadow:0 2px 8px #102d2510}.card small{display:block}.narrow{max-width:34rem}nav{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin:1rem 0 2rem}button,.button{display:inline-block;border:0;border-radius:.35rem;background:#075b52;color:#fff;padding:.65rem 1rem;font:inherit;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:#03463f}input,select,textarea{display:block;width:100%;padding:.55rem;border:1px solid #9aaca5;border-radius:.3rem;font:inherit}label{display:block;font-weight:600}ul{padding-left:1.2rem;line-height:1.8}table{border-collapse:collapse;width:100%;margin-bottom:1rem}th,td{text-align:left;border-bottom:1px solid #d6e2dd;padding:.5rem}footer{padding:1rem;color:#486058;text-align:center;font-size:.85rem}@media(max-width:600px){header{align-items:flex-start;flex-direction:column}table{font-size:.8rem}th,td{padding:.3rem}}
.eyebrow{color:#35776b;text-transform:uppercase;letter-spacing:.11em;font-size:.75rem;font-weight:800}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1.5rem 0}.steps span{background:#e4eee9;border-radius:.5rem;padding:.8rem;font-weight:700;font-size:.85rem}.section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.stats div{background:#edf5f1;padding:.8rem;border-radius:.4rem}.stats strong,.stats small,.badge+small{display:block}.subtle,small{color:#51645d}.badge{display:inline-block;background:#dcece7;color:#125747;border-radius:2rem;padding:.2rem .55rem;font-size:.76rem;font-weight:700}.badge.warn,.alert{background:#fff0d6;color:#694415}.badge.neutral{background:#e9edf0;color:#33434c}.alert{padding:.9rem 1rem;border-left:4px solid #cc8b21;border-radius:.3rem}.table-wrap{overflow-x:auto}.plan-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:60rem}.plan-form .field:first-of-type,.plan-form .field:last-of-type{grid-column:1/-1}.plan-form input[type=checkbox]{width:auto;display:inline-block}.plan-form button{justify-self:start}.error{color:#a42020}@media(max-width:700px){.steps,.stats,.plan-form{grid-template-columns:1fr 1fr}.steps span{font-size:.75rem}.plan-form .field{grid-column:1/-1}}@media(max-width:450px){.steps,.stats{grid-template-columns:1fr 1fr}header span{display:none}}
@media(max-width:600px){.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%}.table-wrap thead{display:none}.table-wrap tr{padding:.75rem 0;border-bottom:1px solid #d6e2dd}.table-wrap td{border:0;padding:.2rem 0;font-size:.95rem}.table-wrap td:first-child{font-weight:700}.table-wrap td:nth-child(2):before{content:"Menge: ";font-weight:600}.table-wrap td:nth-child(3) small{font-size:.85rem;line-height:1.4}.table-wrap td:last-child{padding-top:.45rem}}

.card form{margin:1rem 0}.card form label{margin-bottom:.5rem}.card form textarea{min-height:5rem}.card form button{max-width:100%}
/* GerüstWerk dashboard: grounded, tenant-scoped operational overview */
:root{--ink:#152b29;--forest:#103f38;--teal:#08695d;--line:#d9e4df;--paper:#fff;--muted:#52665f;--canvas:#f1f5f2}body{color:var(--ink);background:var(--canvas)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ec9c3b;outline-offset:3px}header{background:#103c36;border-bottom:4px solid #d59a4b;min-height:76px}.brand{letter-spacing:-.04em;font-size:1.5rem}header span{opacity:.85}main{max-width:82rem}.dashboard{display:grid;gap:1.2rem}.dash-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:2rem 2.2rem;border-radius:1rem;background:linear-gradient(125deg,#123e37,#1d6055);color:#fff;position:relative;overflow:hidden}.dash-hero:after{content:"";position:absolute;right:5%;top:-35%;width:18rem;height:18rem;border:1px solid #ffffff30;transform:rotate(28deg);box-shadow:32px 32px 0 -31px #ffffff50,65px 65px 0 -64px #ffffff40;pointer-events:none}.dash-hero .eyebrow{color:#c5e6d8}.dash-hero h1{font-size:clamp(1.9rem,3vw,2.8rem);margin:.2rem 0 .6rem;letter-spacing:-.045em}.dash-hero p{max-width:42rem;margin:.2rem 0}.hero-role{position:relative;z-index:1;display:grid;gap:.25rem;min-width:10rem;padding:1rem;border:1px solid #ffffff55;border-radius:.7rem;background:#ffffff17}.hero-role span,.hero-role small{color:#d6eee5}.quick-actions{margin:0;gap:.65rem}.quick-actions .button{font-weight:700}.button.secondary{background:#fff;color:#14574e;border:1px solid #a8ccc0}.button.secondary:hover{background:#e5f2ec}.text-action{font-weight:700;padding:.55rem}.dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.metric{display:grid;gap:.25rem;padding:1.15rem 1.25rem;background:#fff;border:1px solid var(--line);border-radius:.8rem;border-top:4px solid #74a89c}.metric span{font-size:.85rem;font-weight:700;color:#3a5951}.metric strong{font-size:2rem;line-height:1.1;font-variant-numeric:tabular-nums}.metric small{font-size:.77rem}.metric-alert{border-top-color:#bd7429;background:#fffbf4}.dash-columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(18rem,1fr);gap:1.2rem}.dash-main,.dash-side{display:grid;align-content:start;gap:1.2rem;min-width:0}.dash-section{border-radius:.85rem;padding:1.35rem;box-shadow:0 3px 14px #102d2510}.dash-section h2{font-size:1.35rem;letter-spacing:-.025em;margin:.15rem 0 .9rem}.dash-section h3{font-size:.87rem;text-transform:uppercase;letter-spacing:.06em;margin:1.1rem 0 .4rem;color:#45645a}.dash-section .eyebrow{margin:0}.rental-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.7rem}.rental-card{display:grid;align-content:start;gap:.38rem;min-width:0;padding:1rem;border:1px solid #c9ddd4;border-left:5px solid #398277;border-radius:.65rem;text-decoration:none;background:#f4faf7;color:var(--ink)}.rental-card:hover{background:#e7f3ed}.rental-card strong,.dash-list strong{overflow-wrap:anywhere}.rental-card small{margin-top:.25rem}.rental-card.warning{border-left-color:#b67923;background:#fff8ea}.rental-card.critical{border-left-color:#a33932;background:#fff2ef}.rental-status{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#126254}.warning .rental-status{color:#825016}.critical .rental-status{color:#922f29}.dash-list{list-style:none;padding:0;margin:0}.dash-list li{padding:.65rem 0;border-bottom:1px solid #e6eeea;line-height:1.45;overflow-wrap:anywhere}.dash-list li:last-child{border-bottom:0}.dash-list a{display:grid;gap:.18rem;text-decoration:none;color:var(--ink)}.dash-list a:hover strong{text-decoration:underline}.dash-list span{display:block;color:var(--muted);font-size:.87rem}.empty-state{color:var(--muted);font-size:.9rem}.dash-list .empty-state{padding:.65rem 0}@media(max-width:950px){.dash-columns{grid-template-columns:1fr}.dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.dash-hero{padding:1.35rem;align-items:flex-start;flex-direction:column;gap:1rem}.hero-role{width:100%;min-width:0}.dash-metrics{gap:.55rem}.metric{padding:.85rem}.metric strong{font-size:1.65rem}.metric small{line-height:1.35}.quick-actions{display:grid;grid-template-columns:1fr 1fr}.quick-actions .button,.quick-actions .text-action{text-align:center}.rental-cards{grid-template-columns:1fr}}
.shell-nav{display:flex;gap:.9rem;flex-wrap:wrap;margin:0}.shell-nav a{color:#e7f5ee;text-decoration:none;font-size:.9rem;font-weight:700;border-bottom:2px solid transparent;padding:.25rem 0}.shell-nav a:hover,.shell-nav a:focus-visible{border-bottom-color:#e7b46e}@media(max-width:950px){header{flex-wrap:wrap}.shell-nav{order:3;width:100%}}@media(max-width:600px){.shell-nav{gap:1rem}header form{position:absolute;right:1rem;top:1rem}header{padding-right:7rem}.shell-nav{width:calc(100% + 6rem)}}
.metric{text-decoration:none;color:var(--ink);min-height:8rem}.metric:hover{border-color:#137969;box-shadow:0 4px 14px #102d2520}.result-list,.timeline{list-style:none;padding:0;display:grid;gap:.7rem}.result-list li{min-width:0}.result-link{display:grid;gap:.25rem;text-decoration:none;color:var(--ink)}.result-link:hover strong{text-decoration:underline}.search-form{display:grid;grid-template-columns:2fr 1fr auto;align-items:end;gap:.8rem;margin-bottom:1rem}.inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.inline-actions button{font-size:.85rem;padding:.4rem .6rem}.preline{white-space:pre-line;overflow-wrap:anywhere}.timeline li{display:grid;gap:.2rem}@media(max-width:700px){.search-form{grid-template-columns:1fr}.metric{min-height:7rem}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand{display:inline-flex;align-items:center;padding:.25rem .45rem;border-radius:.45rem;background:#fefdfb;flex:none}.brand img{display:block;width:clamp(7rem,10vw,8rem);max-width:100%;height:auto}.brand-full{display:block;width:min(100%,17rem);height:auto;margin:0 auto 1rem}.brand-start{display:block;width:min(100%,12rem);height:auto;margin:0 0 1rem}@media(max-width:600px){.brand img{width:7rem}}
.auth-main{display:grid;place-items:center;max-width:none;min-height:calc(100svh - 4rem);margin:0 auto;padding:2rem 1rem}.login-panel{width:min(100%,34rem);margin:auto}.login-panel .brand-full{width:min(100%,18rem);object-fit:contain}.login-panel h1{margin-top:0}@media(max-width:600px){.auth-main{min-height:calc(100svh - 5rem);padding:1rem}.login-panel{padding:1.1rem}}

/* 0.7: calm, consistent actions and accessible guided work */
button,.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.68rem 1rem;border:1px solid #075b52;border-radius:.55rem;background:#075b52;color:#fff;font-weight:700;line-height:1.3;text-align:center;box-shadow:0 1px 2px #102d251a;transition:background .15s,border-color .15s}
button:hover,.button:hover{background:#03463f;color:#fff;border-color:#03463f}
.button.secondary,button.secondary{background:#fff;color:#14574e;border-color:#91bbae}.button.secondary:hover,button.secondary:hover{background:#e7f2ed;color:#103f38}
.button.tertiary,button.tertiary{background:transparent;color:#20594e;border-color:transparent;box-shadow:none}.button.tertiary:hover,button.tertiary:hover{background:#e7f2ed;color:#103f38}
.button.destructive,button.destructive{background:#fff;color:#8a2c26;border-color:#cfa6a2}.button.destructive:hover,button.destructive:hover{background:#fff0ee;color:#74231e}
button:disabled,.button[aria-disabled=true]{opacity:.55;cursor:not-allowed}
input,select,textarea{min-height:44px;max-width:100%;border-color:#819e94;background:#fff}textarea{min-height:7rem}input[type=checkbox]{min-height:0;width:auto}
.card{min-width:0;overflow-wrap:anywhere}.card h2{line-height:1.25}.table-wrap{max-width:100%}th,td{vertical-align:top}
.breadcrumbs{margin:0 0 1rem;gap:.45rem;font-size:.9rem}.breadcrumbs a{font-weight:700}.breadcrumbs span{color:#52665f}
.welcome-card{border-left:5px solid #d59a4b;background:#fffdf8}.welcome-card h2{margin:.25rem 0}.welcome-card form,.guide-controls form{display:flex;flex-wrap:wrap;gap:.6rem}
.demo-intro{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:#f9fcfa}.demo-intro h2{margin:.25rem 0}.demo-intro p{max-width:46rem}.demo-intro .button{flex:none}
.checklist{list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:.45rem}.checklist li{display:flex;align-items:center;gap:.7rem;padding:.55rem 0;border-bottom:1px solid #e6eeea}.checklist li:last-child{border:0}.checklist a{font-weight:700}
.system-list{list-style:none;padding:0;margin:0}.system-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid #e1eae5}.system-list li:last-child{border:0}.system-list small{display:block}.system-status{font-weight:700;color:#14574e}
.guide-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(15rem,1fr);gap:1rem;align-items:start}.guide-main{padding:clamp(1rem,3vw,2rem)}.guide-main h1{margin:.2rem 0 1rem}.guide-steps{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:1rem 0 1.4rem}.guide-steps li{line-height:1.3}.guide-steps a{display:block;padding:.55rem .7rem;border-radius:.45rem;background:#edf4f0;text-decoration:none;font-size:.84rem;font-weight:700}.guide-steps .current a{background:#14574e;color:#fff}.guide-highlight{border-left:5px solid #d59a4b;background:#fff8e9;padding:1rem;border-radius:.4rem;margin:1rem 0}.guide-highlight h2{margin:.1rem 0}.guide-form{display:grid;gap:1rem}.guide-form .field{min-width:0}.guide-form label{margin-bottom:.3rem}.guide-form button{justify-self:start}.guide-controls{margin-top:1rem;border-top:1px solid #d9e4df;padding-top:.7rem}.notice{padding:.7rem .9rem;background:#e8f3ec;border-radius:.4rem;color:#204f41}.field-help{margin:.3rem 0 .6rem;color:#375d52}.field-help summary{cursor:pointer;text-decoration:underline;text-underline-offset:2px;min-height:36px}.field-help p{margin:.2rem 0 .6rem}.field-help:focus-within{outline:2px solid #ec9c3b;outline-offset:2px}
.help-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem}.help-search{display:grid;grid-template-columns:auto minmax(10rem,1fr) auto;align-items:end;gap:.7rem;margin-bottom:1rem}.help-search label{align-self:center}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1rem}.help-grid article h2{margin-top:0}.demo-panel{max-width:48rem;margin:auto;padding:clamp(1.2rem,4vw,2.5rem)}.demo-copy{font-size:1.25rem;line-height:1.55}.demo-badge{display:inline-block;background:#fff0d6;color:#694415;padding:.45rem .7rem;border-radius:.35rem;font-weight:800}.demo-actions{gap:.5rem}
@media(max-width:700px){.guide-layout{grid-template-columns:1fr}.help-head,.demo-intro{align-items:flex-start;flex-direction:column}.help-search{grid-template-columns:1fr}.system-list li{align-items:flex-start;flex-direction:column}.system-list .button{width:100%}}
@media(max-width:390px){.guide-steps{display:grid;grid-template-columns:1fr 1fr}.guide-steps a{overflow-wrap:anywhere}.checklist li{align-items:flex-start;flex-direction:column}.welcome-card form button{flex:1 1 7rem}.demo-actions .button{width:100%}}
.mobile-menu{display:none}
.brand .sr-only{display:block}
.readonly-steps{display:grid;gap:.5rem;padding-left:1.4rem}.readonly-steps li{padding:.45rem .2rem}.readonly-steps a{font-weight:700}
.plan-form .field{min-width:0}
.plan-form select{overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){header{position:relative;padding-right:1rem}.shell-nav{display:none}.mobile-menu{display:block;width:100%;order:3;margin-top:.3rem}.mobile-menu summary{display:flex;align-items:center;min-height:44px;padding:.55rem .8rem;border:1px solid #b1d0c4;border-radius:.5rem;color:#fff;font-weight:800;cursor:pointer;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary:after{content:'▾';margin-left:auto}.mobile-menu[open] summary:after{content:'▴'}.mobile-menu summary:focus-visible{outline:3px solid #ec9c3b;outline-offset:3px}.mobile-menu nav{display:grid;grid-template-columns:1fr 1fr;gap:.3rem;margin:.45rem 0 0;padding:.4rem;background:#16483f;border-radius:.5rem}.mobile-menu nav a{display:flex;align-items:center;min-height:44px;padding:.5rem .6rem;border-radius:.3rem;color:#fff;text-decoration:none;font-weight:700}.mobile-menu nav a:hover,.mobile-menu nav a:focus-visible{background:#28685a}header form{top:1rem;right:1rem}}

/* 0.7.6 · GerüstWerk interface system. Existing structure and permissions stay intact. */
:root{
  --ink:#182b3c;--forest:#17364f;--teal:#165678;--line:#cbd7df;
  --paper:#fff;--muted:#4d6170;--canvas:#f4f6f8;
  --navy:#142f47;--navy-strong:#0d3f60;--orange:#c46b27;
  --orange-soft:#fff2e5;--focus:#e68a32;--danger:#a63731;
  color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html{scroll-behavior:smooth}
body{color:var(--ink);background:var(--canvas);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased}
main{width:min(100%,82rem);margin:clamp(1rem,2.7vw,2.35rem) auto;padding:0 clamp(1rem,2.7vw,2rem)}
h1,h2,h3{color:#172f45;line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere}
h1{font-size:clamp(1.8rem,3vw,2.45rem);margin:.25rem 0 1rem}h2{font-size:clamp(1.3rem,2vw,1.6rem)}h3{font-size:1.08rem}
p{margin:.7rem 0 1rem}small,.subtle{font-size:.875rem;line-height:1.5;color:var(--muted)}
a{color:#0b5279;text-underline-offset:.17em}a:hover{color:#083b58}
.eyebrow{color:#8b4318;font-size:.76rem;letter-spacing:.12em}
header{background:var(--navy);border-bottom:4px solid var(--orange);box-shadow:0 5px 18px #0d263519;padding:1rem max(1rem,calc((100vw - 82rem)/2));gap:1rem}
header .brand{background:#fff;border-radius:.58rem;padding:.38rem .55rem;box-shadow:0 2px 8px #081e3040}
header .brand img{object-fit:contain;height:auto}header>span{color:#e1eaf0;line-height:1.35}
header form{margin:0}header form button{background:transparent;border-color:#bdd0dd;color:#fff;box-shadow:none;font-size:.9rem}
header form button:hover{background:#294b65;border-color:#fff}
.shell-nav{gap:.25rem .4rem;margin:0}.shell-nav a{display:inline-flex;align-items:center;min-height:44px;padding:.55rem .7rem;border:1px solid transparent;border-radius:.5rem;color:#e9f0f4;font-size:.91rem;font-weight:650;line-height:1.25}
.shell-nav a:hover,.shell-nav a:focus-visible{background:#294b65;border-color:#69869c;text-decoration:none}
nav:not(.shell-nav):not(.breadcrumbs):not(.steps):not(.quick-actions):not(.mobile-menu nav):not(.actions){line-height:1.4}
.breadcrumbs{margin:0 0 1.15rem;padding:0;gap:.45rem;color:var(--muted)}.breadcrumbs a{color:#145576}
.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1.25rem;padding:.75rem;background:#eaf0f4;border:1px solid #d4dfe6;border-radius:.7rem}
.actions a{display:inline-flex;align-items:center;min-height:42px;padding:.55rem .8rem;border:1px solid #ccd9e1;border-radius:.48rem;background:#fff;font-weight:650;text-decoration:none}
.actions a:hover,.actions a:focus-visible{background:#f1f7fb;border-color:#7b9aae}
.card{border:1px solid var(--line);border-radius:.9rem;padding:clamp(1rem,2vw,1.55rem);box-shadow:0 4px 18px #16364a0b;background:#fff}
.card+.card{margin-top:1rem}.card h2:first-child,.card h3:first-child{margin-top:0}
.dash-section{box-shadow:0 4px 18px #16364a0b}.dash-section h3{color:#415c6e}
.dash-hero{background:linear-gradient(125deg,#142f47,#205675)}.dash-hero h1,.dash-hero h2{color:#fff}.dash-hero .eyebrow{color:#f8ceac}
.metric{border-top-color:#608cab}.metric:hover{border-color:#2a6689;box-shadow:0 5px 18px #14364a20}.rental-card{border-color:#cedee6;border-left-color:#517d9a;background:#f5f9fc;color:var(--ink)}.rental-card:hover{background:#e8f3f9}
button,.button{min-height:44px;max-width:100%;padding:.7rem 1rem;border:1px solid var(--navy-strong);border-radius:.58rem;background:var(--navy-strong);color:#fff;font-size:.95rem;font-weight:700;line-height:1.3;box-shadow:0 2px 4px #14364a20;white-space:normal;overflow-wrap:anywhere}
button:hover,.button:hover{background:#0a3049;border-color:#0a3049;color:#fff;box-shadow:0 3px 8px #14364a26}
button:active,.button:active{transform:translateY(1px)}
.button.secondary,button.secondary{background:#fff;color:#154c6a;border-color:#8daabd;box-shadow:none}
.button.secondary:hover,button.secondary:hover{background:#ecf5fa;color:#103f5c;border-color:#507e99}
.button.tertiary,button.tertiary{background:transparent;color:#185675;border-color:transparent;box-shadow:none}
.button.tertiary:hover,button.tertiary:hover{background:#eaf2f7;color:#103f5c}
.button.destructive,button.destructive{background:#fff;color:#972f2a;border-color:#d4a6a3;box-shadow:none}
.button.destructive:hover,button.destructive:hover{background:#fff0ee;color:#7f2623;border-color:#b85b54}
button:disabled,.button[aria-disabled=true]{opacity:.58;box-shadow:none;transform:none}
form{min-width:0}form p{margin:.7rem 0 1rem}form label,.field>label{display:block;margin:0 0 .38rem;color:#1d384e;font-size:.94rem;font-weight:700;line-height:1.4}
form label:has(>input,>select,>textarea){margin-bottom:1rem}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{display:block;width:100%;min-height:48px;max-width:100%;padding:.7rem .83rem;border:1.5px solid #839eaf;border-radius:.55rem;background:#fff;color:#1b3041;font:inherit;line-height:1.4;box-shadow:0 1px 2px #102b3b0d;transition:border-color .15s,box-shadow .15s,background .15s}
textarea{min-height:7rem;resize:vertical}select{padding-right:2rem;text-overflow:ellipsis;cursor:pointer}input::placeholder,textarea::placeholder{color:#607788;opacity:1}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):hover,select:hover,textarea:hover{border-color:#456f88;background:#fbfdff}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,select:focus,textarea:focus{border-color:#145f88;box-shadow:0 0 0 3px #e5f3fa;background:#fff}
input:disabled,select:disabled,textarea:disabled{background:#edf1f4;color:#526677;cursor:not-allowed}
input[type=checkbox],input[type=radio]{accent-color:#145678;width:1.2rem;height:1.2rem;min-height:0;margin:.2rem .45rem .2rem 0;vertical-align:middle;cursor:pointer}
label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:flex;align-items:flex-start;gap:.35rem;font-weight:600;min-height:32px}
.field{min-width:0}.field+.field{margin-top:.1rem}.field-help{margin:.45rem 0 .25rem;padding:.25rem .65rem;border-left:3px solid #d39966;color:#355467;background:#f7fafc;border-radius:.2rem;font-size:.9rem;line-height:1.5}
.field-help summary{display:list-item;min-height:36px;padding:.4rem .1rem;font-weight:650;color:#145576;text-decoration:none}.field-help summary:hover{text-decoration:underline}.field-help[open]{background:#edf5fa}.field-help p{margin:.1rem 0 .5rem}
.error,.errorlist{color:#922722;font-weight:650;font-size:.9rem}.errorlist{margin:.4rem 0;padding-left:1.25rem}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true],.field:has(.errorlist) input,.field:has(.errorlist) select,.field:has(.errorlist) textarea{border-color:#b7443b;background:#fff9f8}
.alert{border-left:4px solid #bb752d;border-radius:.55rem;background:#fff3e6;color:#563513;padding:.85rem 1rem;line-height:1.55;overflow-wrap:anywhere}.notice{border-left:4px solid #477f9b;background:#eaf5fa;color:#244858;padding:.8rem 1rem;line-height:1.5}
.badge{background:#e8f2f7;color:#1b536e}.badge.warn{background:#fff0dd;color:#784615}.badge.neutral{background:#e9eef2;color:#415768}
.search-form,.help-search{background:#f9fbfc;border-color:#c5d5df;align-items:end}.search-form label,.help-search label{margin:0}.search-form button,.help-search button{min-height:48px}
.plan-form{gap:1.2rem 1.4rem;max-width:68rem}.plan-form .field:first-of-type{padding-bottom:.6rem;border-bottom:1px solid #e0e8ed}.plan-form button{margin-top:.3rem}
.guide-main,.guide-aside{border-color:#c7d8e2}.guide-highlight{background:#fff5e9;border-left-color:var(--orange)}.guide-steps a{background:#eaf1f5;color:#1a526e}.guide-steps .current a{background:#164e70;color:#fff}.demo-intro{background:#f8fbfd}
.quick-actions{gap:.65rem}.quick-actions .button{font-weight:700}.text-action{color:#155574}
.table-wrap{border:1px solid #d0dce4;border-radius:.65rem;background:#fff;overflow:auto}table{margin:0}th{background:#edf3f7;color:#2a455a;font-size:.86rem;letter-spacing:.01em;font-weight:750}th,td{padding:.75rem .85rem;border-bottom:1px solid #e2eaf0;line-height:1.45}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f7fafc}
footer{color:#536879;border-top:1px solid #d8e2e8;margin-top:2rem;background:#f8fafb}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 2px #fff}
@media(max-width:950px){header{padding:1rem}.shell-nav{gap:.2rem}.shell-nav a{padding:.48rem .55rem}.dash-columns{grid-template-columns:1fr}}
@media(max-width:700px){.search-form,.help-search{grid-template-columns:1fr}.plan-form{grid-template-columns:1fr}.plan-form .field{grid-column:1/-1}.actions{padding:.55rem}.table-wrap tr{background:#fff}.table-wrap tr+tr{border-top:1px solid #dce5eb}}
@media(max-width:600px){header{padding:1rem;gap:.75rem}.mobile-menu summary{border-color:#7e9ab0;background:#20455f;border-radius:.55rem}.mobile-menu[open] summary{background:#315873}.mobile-menu nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;background:#193b54;padding:.5rem}.mobile-menu nav a{border-radius:.4rem;overflow-wrap:anywhere;font-size:.9rem}.mobile-menu nav a:hover,.mobile-menu nav a:focus-visible{background:#345d79}main{margin:1.1rem auto}.card{padding:1rem}.actions a{flex:1 1 9rem}.quick-actions{grid-template-columns:1fr 1fr}.table-wrap td{font-size:.94rem;padding:.28rem .7rem}.table-wrap tr{padding:.65rem .3rem}}
@media(max-width:390px){.mobile-menu nav{grid-template-columns:1fr 1fr}.mobile-menu nav a{padding:.45rem .5rem}.quick-actions{grid-template-columns:1fr}.quick-actions .button,.quick-actions .text-action{width:100%;text-align:center}.inline-actions{align-items:stretch}.inline-actions button,.inline-actions .button{flex:1 1 8rem}.plan-form{gap:1rem}.field-help{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button,.button,input,select,textarea{transition:none}}
header form{flex:none}header form button{min-width:6.5rem;white-space:nowrap}
/* Abstract concept viewer: static explanatory text remains available without JS/Canvas. */
.concept-card{margin:1rem 0;border-top:4px solid var(--orange)}
.concept-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(17rem,1fr);gap:1.2rem;align-items:start}
.concept-stage{min-width:0;border:1px solid #c9dce7;border-radius:.8rem;overflow:hidden;background:#f4f9fc}
#concept-canvas{display:none;width:100%;height:clamp(18rem,38vw,31rem);touch-action:none;cursor:grab}
#concept-canvas.is-ready{display:block}#concept-canvas:active{cursor:grabbing}
#concept-fallback{margin:1rem}.concept-aside{min-width:0}.concept-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.concept-controls button{min-width:0;padding:.6rem;font-size:.9rem}.concept-controls button:last-child{grid-column:1/-1}
.concept-facts{padding-left:1.3rem;line-height:1.5}.concept-facts li+li{margin-top:.4rem}
@media(max-width:800px){.concept-layout{grid-template-columns:1fr}#concept-canvas{height:clamp(16rem,65vw,25rem)}}
/* Compact planning calendar */
.calendar-layout{display:grid;grid-template-columns:minmax(18rem,.9fr) minmax(0,1.1fr);gap:1rem;align-items:start}
.month-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.month-head h2{font-size:1.15rem;margin:0;text-align:center}.month-head .button{min-width:2.5rem;min-height:2.5rem;padding:.45rem;text-align:center}
.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.weekday{text-align:center;font-size:.8rem;font-weight:700;color:#52697b;padding:.25rem 0}
.month-day{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:3rem;border:1px solid transparent;border-radius:.55rem;text-decoration:none;color:#183e57;background:#f4f7f9}.month-day:hover,.month-day:focus-visible{border-color:#4f86a3;background:#eaf5fb}.month-day.outside{opacity:.5}.month-day.has-events{background:#edf5f9}.month-day.has-events small{min-width:1.1rem;border-radius:1rem;background:#bb682c;color:#fff;text-align:center;font-size:.7rem;font-weight:700}.month-day.selected{border:2px solid #145678;background:#dceef7}
.calendar-filter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.6rem;align-items:end}.calendar-filter label{margin:0}.calendar-filter button{min-height:48px}.agenda-list{list-style:none;padding:0;margin:1rem 0 0}.agenda-list li+li{border-top:1px solid #dce6ec}.agenda-list a{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:.2rem .7rem;padding:.75rem .2rem;text-decoration:none}.agenda-list time{grid-row:span 2;color:#405c6d}.agenda-list span{color:#536b7b;font-size:.88rem}
@media(max-width:800px){.calendar-layout{grid-template-columns:1fr}}@media(max-width:460px){.calendar-filter{grid-template-columns:1fr 1fr}.calendar-filter button{grid-column:1/-1}.month-day{min-height:2.65rem}.agenda-list a{grid-template-columns:1fr;gap:.12rem}.agenda-list time{grid-row:auto}}
/* Dense overview and operations without removing content or controls. */
.dashboard{display:flex;flex-direction:column;gap:.75rem}.dashboard>section,.dashboard>details,.dashboard>nav,.dashboard>.dash-columns{margin:0}.dashboard .dash-hero{padding:1.2rem 1.4rem}.dashboard .dash-hero h1{margin:.15rem 0}.dashboard .dash-metrics{gap:.55rem}.dashboard .metric{padding:.75rem}.dashboard .metric strong{font-size:1.6rem}.dashboard .dash-columns{gap:.75rem}.dashboard .dash-section{padding:1rem}.dashboard .dash-list li{padding:.35rem 0}.dashboard .rental-cards{gap:.5rem}.dashboard .rental-card{padding:.75rem}
.compact-disclosure{padding:.75rem 1rem}.compact-disclosure>summary{cursor:pointer;color:#153e59;font-weight:750;font-size:1rem;line-height:1.4;min-height:2rem;display:list-item}.compact-disclosure>summary:hover{color:#a4531f}.compact-disclosure[open]>summary{padding-bottom:.55rem;border-bottom:1px solid #d9e5eb;margin-bottom:.7rem}.compact-disclosure h2{font-size:1.08rem;margin:.4rem 0}.compact-disclosure ul{margin:.45rem 0;padding-left:1.2rem}.compact-disclosure li{line-height:1.45}.compact-disclosure li+li{margin-top:.3rem}
.business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.75rem 0}.business-grid>details{align-self:start}.business-grid ul{overflow-wrap:anywhere}.pagination{display:flex;justify-content:center;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.65rem}.pagination a{font-weight:700}
@media(max-width:850px){.business-grid{grid-template-columns:1fr}.dashboard .dash-hero{padding:1rem}.dashboard .dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:390px){.dashboard .dash-metrics{grid-template-columns:1fr 1fr}.dashboard .metric{padding:.55rem}.dashboard .metric strong{font-size:1.35rem}}
.concept-config{border-top:1px solid #dce8ee;margin-top:1rem;padding-top:1rem}.concept-config h3{margin:.1rem 0}.concept-config .subtle{margin:.25rem 0 .8rem}.concept-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem 1rem}.concept-field-grid .field:has(input[type=checkbox]){display:flex;align-items:center;gap:.45rem;padding:.65rem;background:#f5f8fa;border-radius:.5rem}.concept-field-grid .field:has(input[type=checkbox]) label{margin:0}.concept-field-grid .field:has(input[type=checkbox]) input{flex:none}.concept-config .inline-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.7rem 0}
@media(max-width:800px){.concept-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.concept-field-grid{grid-template-columns:1fr}}
.dashboard .hero-role{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem .55rem;min-width:0;padding:.55rem .8rem}.dashboard .hero-role small{font-size:.8rem}.dashboard .welcome-card{background:#fffdf8}
@media(max-width:600px){.dashboard .dash-hero{gap:.5rem}.dashboard .hero-role{width:100%}.dashboard .dash-hero p:not(.eyebrow){font-size:.91rem;line-height:1.42}}
.concept-stepper{display:grid;grid-template-columns:2.7rem minmax(0,1fr) 2.7rem;gap:.3rem}.concept-stepper button{padding:.35rem;min-width:0;min-height:48px;font-size:1.2rem}.concept-stepper input{min-width:0;text-align:center}
/* Large, directly navigable planning calendar. */
.calendar-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;max-width:100%}
.calendar-intro{align-items:center;gap:1rem}.calendar-month{padding:clamp(1rem,2vw,1.8rem);background:linear-gradient(145deg,#fff 60%,#f5fafc)}
.month-head{justify-content:flex-start;gap:1.25rem;margin-bottom:1.2rem}.month-head>div{flex:1;text-align:center}.month-head .eyebrow{margin:0 0 .15rem}.month-head h2{font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.2}.month-head .button{min-width:3rem;min-height:3rem;display:grid;place-items:center;font-size:1.35rem}
.month-grid{gap:clamp(.25rem,.65vw,.6rem)}.weekday{font-size:.9rem;padding:.4rem 0}.month-day{align-items:flex-start;justify-content:space-between;min-height:clamp(5rem,8vw,7.2rem);padding:.65rem .75rem;border:1px solid #dce7ed;border-radius:.85rem;background:#fff;transition:background .15s,border-color .15s,box-shadow .15s}.month-day strong{font-size:1.22rem}.month-day small{font-size:.76rem;line-height:1.3;white-space:nowrap}.month-day.has-events{background:#edf6fa;border-color:#b6d3e2}.month-day.has-events small{background:#0f587a;padding:.25rem .45rem;border-radius:1rem;font-size:.72rem}.month-day.selected{background:#dceefa;border:2px solid #155d80;box-shadow:0 0 0 2px #c6e2f2}.month-day.outside{opacity:.5}.calendar-hint{margin:.9rem 0 0}
.calendar-agenda{padding:clamp(1rem,2vw,1.8rem)}.calendar-agenda-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.calendar-agenda-head h2{margin:.1rem 0 .6rem;font-size:clamp(1.2rem,2vw,1.65rem)}.calendar-filter{max-width:52rem;margin:.4rem 0 1rem;padding:.8rem;background:#f4f8fa;border:1px solid #dce7ed;border-radius:.8rem}.agenda-list{margin:0}.agenda-list li+li{border-top:1px solid #e0e9ee}.agenda-list a{grid-template-columns:8rem minmax(0,1fr) 2rem;align-items:center;gap:1rem;padding:1rem .5rem}.agenda-list time{grid-row:auto;display:flex;flex-direction:column;gap:.15rem}.agenda-list time strong{color:#164764}.agenda-list time span,.agenda-content>span{color:#526b7a;font-size:.9rem}.agenda-content{display:flex;flex-direction:column;gap:.2rem;min-width:0}.agenda-arrow{font-size:1.3rem;color:#a45e2f}.agenda-list .empty-state{display:flex;flex-direction:column;gap:.35rem;padding:2rem 1rem;text-align:center;background:#f7fafb;border-radius:.7rem}.agenda-list .empty-state span{color:#536b7b}
.concept-stage{position:sticky;top:1rem}.concept-facts [hidden]{display:none}.concept-config{background:#f8fafb;border:1px solid #dce7ed;border-radius:.8rem;padding:1.2rem;margin-top:1.4rem}.concept-field-grid .field{min-width:0}.concept-field-grid .field:has(input[type=checkbox]){border:1px solid #dde8ed}.concept-config .inline-actions{margin-top:1rem}
@media(max-width:800px){.concept-stage{position:static}.calendar-intro .button{flex:none}.month-day{min-height:5.5rem}}
@media(max-width:480px){.calendar-intro{align-items:flex-start;flex-direction:column}.calendar-intro .button{align-self:flex-start}.calendar-month,.calendar-agenda{padding:.8rem}.month-head{gap:.4rem}.month-head .button{min-width:2.65rem;min-height:2.65rem}.month-grid{gap:.18rem}.weekday{font-size:.72rem}.month-day{padding:.32rem .2rem;min-height:4rem;align-items:center;border-radius:.45rem}.month-day strong{font-size:1rem}.month-day small{font-size:.6rem}.month-day.has-events small{font-size:.6rem;padding:.15rem .25rem}.calendar-filter{grid-template-columns:1fr 1fr;padding:.6rem;gap:.45rem}.agenda-list a{grid-template-columns:5.5rem minmax(0,1fr) 1rem;gap:.5rem}.agenda-list time strong{font-size:.85rem}.agenda-list time span,.agenda-content>span{font-size:.78rem}.agenda-arrow{font-size:1rem}}
@media(max-width:340px){.month-day small{font-size:.53rem}.month-day.has-events small{font-size:.53rem}.calendar-filter{grid-template-columns:1fr}.calendar-filter button{grid-column:1}.concept-stepper{grid-template-columns:2.5rem minmax(0,1fr) 2.5rem}}
.calendar-intro h1{color:#fff}.calendar-intro p:not(.eyebrow){color:#e3edf3}
/* Laptop calendar density: keep full month and the first agenda row in view. */
@media(min-width:801px){
 body:has(main.calendar-page)>header{min-height:68px;padding-top:.35rem;padding-bottom:.35rem}
 body:has(main.calendar-page)>header .brand img{max-height:66px;width:auto}
 main.calendar-page{margin-top:.7rem}
 .calendar-page .breadcrumbs{margin:.2rem 0 .55rem}
 .calendar-intro{min-height:0;padding:.7rem 1.3rem;gap:.7rem}
 .calendar-intro .eyebrow{margin:0 0 .15rem}
 .calendar-intro h1{font-size:1.7rem;line-height:1.15;margin:0}
 .calendar-intro p:not(.eyebrow){margin:.2rem 0 0;font-size:.88rem}
 .calendar-intro .button{padding:.5rem .75rem}
 .calendar-layout{gap:.55rem}
 .calendar-month{padding:.7rem 1rem}
 .month-head{gap:.65rem;margin-bottom:.3rem}
 .month-head .eyebrow{font-size:.68rem}
 .month-head h2{font-size:1.45rem}
 .month-head .button{min-width:2.55rem;min-height:2.55rem;padding:.2rem}
 .month-grid{gap:.28rem}
 .weekday{font-size:.8rem;padding:.12rem 0}
 .month-day{min-height:3.15rem;padding:.3rem .5rem;flex-direction:row;align-items:flex-start;border-radius:.55rem}
 .month-day strong{font-size:1.08rem}
 .month-day small{align-self:flex-end;font-size:.67rem}
 .month-day.has-events small{font-size:.65rem;padding:.18rem .35rem}
 .calendar-hint{margin:.35rem 0 0;font-size:.76rem}
 .calendar-agenda{display:grid;grid-template-columns:minmax(0,1fr) minmax(25rem,.8fr);align-items:center;gap:.4rem 1rem;padding:.65rem 1rem}
 .calendar-agenda-head h2{font-size:1.18rem;margin:.1rem 0}
 .calendar-agenda-head .eyebrow{margin:0}
 .calendar-filter{margin:0;padding:.35rem .5rem;gap:.4rem;grid-template-columns:minmax(7.2rem,1fr) minmax(7rem,.7fr) auto}
 .calendar-filter label{font-size:.76rem}
 .calendar-filter input,.calendar-filter select{min-height:38px;padding:.35rem;font-size:.86rem}
 .calendar-filter button{min-height:38px;padding:.35rem .65rem;font-size:.84rem}
 .agenda-list{grid-column:1/-1}
 .agenda-list a{padding:.65rem .4rem}
}
@media(min-width:801px){
 .calendar-intro{padding:.45rem 1.3rem}
 .calendar-intro h1{font-size:1.55rem}
 .calendar-layout .card+.card{margin-top:0}
 .calendar-month{padding:.55rem 1rem}
 .month-day{min-height:2.9rem}
 .calendar-hint{display:none}
 .calendar-agenda{padding:.45rem 1rem;gap:.2rem 1rem}
 .calendar-filter{padding:.2rem .45rem}
 .calendar-filter input,.calendar-filter select,.calendar-filter button{min-height:34px}
}
@media(min-width:1100px){
 .calendar-agenda{grid-template-columns:minmax(0,1fr) minmax(32rem,.85fr)}
 .calendar-filter{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;padding:.25rem .45rem}
 .calendar-filter label{display:flex;align-items:center;gap:.3rem;white-space:nowrap}
 .calendar-filter input{width:8.2rem}
 .calendar-filter select{width:6.3rem}
 .calendar-filter button{white-space:nowrap}
}
/* Manufacturer/system identity is an explicit label, never a parts rendering. */
.concept-identity{display:flex;align-items:center;gap:.8rem;padding:.75rem 1rem;margin:.5rem 0 .25rem;background:#eef5f9;border:1px solid #bed4e0;border-radius:.8rem}
.concept-identity-mark{display:grid;place-items:center;flex:none;width:3rem;height:3rem;border:2px solid #164b69;border-radius:.55rem;background:repeating-linear-gradient(135deg,#fff 0 7px,#e5f0f6 7px 14px);font-size:1.3rem;font-weight:800;color:#163f58}
.concept-identity-mark.is-modular{border-style:dashed;border-radius:50%;background:radial-gradient(circle,#dbeaf2 2px,transparent 2px) 0 0/10px 10px,#fff}
.concept-identity-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:.1rem}.concept-identity-copy .eyebrow{font-size:.7rem}.concept-identity-copy strong{font-size:1.05rem;color:#173d57;overflow-wrap:anywhere}.concept-identity-copy>span:last-child{font-size:.82rem;color:#456477}.concept-identity .badge{flex:none}.concept-identity-hint{margin:.25rem 0 .65rem}
.inventory-boundary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.8rem 0}.inventory-boundary-card{padding:1rem;border-top:3px solid #2b6c89}.inventory-boundary-card .eyebrow{margin:0}.inventory-boundary-card h2{margin:.2rem 0}.inventory-boundary-card p{margin:.3rem 0 .55rem;line-height:1.45}.system-catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:0;list-style:none}.system-catalog-list li{display:flex;min-width:0;flex-wrap:wrap;gap:.1rem .45rem;align-items:baseline;padding:.5rem;border:1px solid #d9e5eb;border-radius:.5rem}.system-catalog-list li strong{width:100%;overflow-wrap:anywhere}.system-catalog-list li span{color:#526b7b;font-size:.85rem}.system-catalog-list li a{font-size:.85rem}
@media(max-width:800px){.inventory-boundary,.system-catalog-list{grid-template-columns:1fr}.concept-identity{align-items:flex-start;flex-wrap:wrap}.concept-identity .badge{margin-left:3.8rem}}
@media(max-width:390px){.concept-identity{padding:.65rem}.concept-identity-mark{width:2.5rem;height:2.5rem}.concept-identity .badge{margin-left:0}}
