*{box-sizing:border-box}body{margin:0;background:#f3f5f5;color:#21353d;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid #d8dfe0;border-radius:8px;padding:10px 16px;background:white;color:#21353d;font-weight:600}button:hover{background:#e9eeee}button:disabled{opacity:.5;cursor:wait}.primary{background:#193c3c;color:white;border-color:#193c3c}.primary:hover{background:#285352}.accent{background:#bce86a;border-color:#bce86a;color:#172e36}.muted,small{color:#63757c}small{font-size:.8125rem}h1{font-size:2.1rem;letter-spacing:-.04em;line-height:1.2;margin:4px 0 16px}h2{font-size:1.22rem;letter-spacing:-.02em;margin:0 0 16px}h3{font-size:1rem;margin:0}p{margin:0 0 16px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:700;color:#597069}.brand{font-size:1.35rem;font-weight:800;letter-spacing:-.04em;display:flex;align-items:center;gap:12px}.brand img{width:36px}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#172e36;color:#f3f7f7;padding:32px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar .brand{padding:0 8px 34px}.nav{display:grid;gap:7px}.nav button{border:0;text-align:left;background:transparent;color:#adc0c5;font-weight:500;display:flex;align-items:center;gap:12px}.nav button.active{background:#bce86a;color:#172e36;font-weight:700}.nav button:hover:not(.active){background:#25414a;color:white}.nav svg{width:19px;height:19px}.sidebottom{margin-top:auto;padding:30px 8px 0;font-size:.875rem;color:#abc0c6}.sidebottom strong{color:white;display:block}.sidebottom button{margin-top:16px;background:transparent;color:white;border-color:#47616a}.workspace{min-width:0}.topbar{height:83px;padding:0 40px;background:white;border-bottom:1px solid #dfe5e5;display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar p{margin:0;font-size:.875rem}.avatar{width:36px;height:36px;background:#e5ebea;border-radius:50%;display:grid;place-items:center;font-weight:700}.content{padding:32px 40px 60px;max-width:1600px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.heading h1{margin-bottom:6px}.heading p{margin:0;color:#63757c}.actions{display:flex;gap:10px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat,.panel{background:white;border:1px solid #dfe5e5;border-radius:12px}.stat{padding:22px}.stat .number{display:block;font-size:2.2rem;line-height:1.3;font-weight:650;letter-spacing:-.05em;margin:10px 0}.stat small{display:block}.stat.warn{border-top:3px solid #b67637}.stat.good{border-top:3px solid #86b248}.grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:22px}.panel{padding:24px;min-width:0}.panelhead{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.panelhead h2{margin:0}.listrow{padding:17px 0;border-top:1px solid #e7ebec;display:flex;justify-content:space-between;align-items:center;gap:15px}.listrow p{margin:3px 0 0;font-size:.875rem;color:#63757c}.link{border:0;padding:0;background:none;color:#28665e;text-align:left;font-weight:650}.badge{font-size:.8125rem;padding:4px 9px;border-radius:5px;background:#eef2f2;white-space:nowrap}.badge.warn{background:#fff0e1;color:#986029}.badge.good{background:#ebf4df;color:#486c29}.note{padding:15px 18px;background:#edf2ee;border-left:3px solid #80a861;border-radius:5px;font-size:.875rem;margin-top:22px}.toolbar{display:flex;gap:12px;margin-bottom:20px;align-items:center;flex-wrap:wrap}.toolbar input{flex:1;min-width:180px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:.875rem}th{background:#f4f6f6;color:#62747a;font-weight:600;padding:13px 16px;white-space:nowrap}td{padding:17px 16px;border-bottom:1px solid #e6ebeb}tr:last-child td{border-bottom:0}td strong{display:block}td small{display:block;margin-top:3px}.empty{text-align:center;padding:48px 20px;color:#63757c}.empty h2{color:#21353d}input,select,textarea{width:100%;border:1px solid #cdd7d9;background:white;border-radius:7px;padding:11px 12px;color:#21353d}textarea{min-height:95px;resize:vertical}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:6px}.field{margin-bottom:17px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.wide{grid-column:1/-1}.tabs{display:flex;gap:20px;border-bottom:1px solid #d6dfe0;margin-bottom:24px}.tabs button{border:0;border-radius:0;background:transparent;padding:12px 4px;color:#63757c}.tabs button.active{border-bottom:3px solid #335f51;color:#21353d}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.facts dt{font-size:.8125rem;color:#63757c}.facts dd{margin:4px 0 0;font-weight:600}.login{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}.loginintro{background:#172e36;color:#f8fbfa;padding:50px 9%;display:flex;flex-direction:column;justify-content:space-between}.loginintro h1{font-size:3.2rem;max-width:520px;margin:60px 0 24px;letter-spacing:-.05em}.loginintro h1 em{color:#bce86a;font-style:normal}.loginintro p{color:#b6c8cc;max-width:410px;font-size:1.1rem}.loginform{display:grid;place-items:center;padding:40px}.loginform section{max-width:390px;width:100%}.loginform .primary{width:100%;margin-top:10px}.loginform h1{font-size:1.9rem}.introfeatures{display:grid;gap:20px;margin:36px 0}.introfeatures div{display:flex;gap:16px;align-items:center}.introfeatures svg{width:22px;height:22px;color:#bce86a}.loginfoot{font-size:.8125rem;color:#96adb5}.error{color:#a4372c;background:#fff1ed;padding:12px 15px;border-radius:6px;margin:12px 0;font-size:.875rem}.error:empty{display:none}dialog{border:0;border-radius:14px;width:min(660px,calc(100% - 30px));padding:28px;max-height:90vh;box-shadow:0 24px 80px #10272e33}dialog::backdrop{background:#11272e88;backdrop-filter:blur(3px)}.dialoghead{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.dialoghead h2{margin:0}.dialoghead button{padding:3px 10px;border:0;font-size:1.3rem}.dialogactions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid #e0e5e5;padding-top:20px;margin-top:10px}#notice:not(:empty){position:fixed;bottom:24px;right:24px;max-width:450px;padding:16px 22px;background:#193c3c;color:white;border-radius:10px;box-shadow:0 6px 30px #0003;z-index:10}.back{margin-bottom:14px}.loading{padding:80px 20px;text-align:center}.photo{max-width:100%;max-height:260px;object-fit:contain;border-radius:8px}.photogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.cost{font-variant-numeric:tabular-nums}.exportrow{padding:24px 0;border-top:1px solid #e4e9e9;display:flex;align-items:center;justify-content:space-between;gap:20px}.exportrow p{margin:4px 0 0;color:#63757c;font-size:.875rem}.statusline{font-size:.8125rem;color:#63757c;margin-top:16px}.demo{background:#fff0d9;color:#744f19;font-size:.875rem;padding:9px 20px;text-align:center}.details-title{font-size:1.5rem}.termfilter{width:auto}.highlight{background:#193c3c;color:white;padding:25px;border-radius:10px;margin-bottom:22px}.highlight p{color:#bfd0d0}.highlight .eyebrow{color:#bce86a}.highlight h2{font-size:1.6rem;margin:12px 0}.highlight button{margin-top:5px}.formhint{font-size:.8125rem;color:#63757c;margin-top:5px}
@media(max-width:1100px){.shell{grid-template-columns:200px 1fr}.content{padding:25px}.topbar{padding:0 25px}.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.shell{display:block}.sidebar{position:static;height:auto;padding:16px}.sidebar .brand{padding:0 0 16px}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap;padding:10px 13px}.nav svg{display:none}.sidebottom{display:none}.topbar{height:auto;min-height:60px;padding:12px 18px}.topbar .muted{display:none}.content{padding:24px 16px}.heading{align-items:flex-start;flex-direction:column}.stats{gap:10px}.stat{padding:16px}.panel{padding:18px}.formgrid{grid-template-columns:1fr}.facts{grid-template-columns:1fr 1fr}h1{font-size:1.8rem}.login{display:block}.loginintro{padding:25px}.loginintro h1{font-size:2rem;margin:28px 0 18px}.introfeatures,.loginfoot{display:none}.loginform{padding:35px 25px}.exportrow{align-items:start;flex-direction:column}.topbar button{padding:8px 10px}.avatar{display:none}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}

.inherit{color:inherit}.spaced{margin-top:22px}

.statlink{text-align:left;font-weight:400;display:block;width:100%;color:inherit}.statlink:hover{background:#f5faee;border-color:#83a45d}.statlink:focus-visible{outline:3px solid #3b715a;outline-offset:3px}

.docfilters>div{flex:1;min-width:180px}.docfilters select{max-width:100%}.documentlink{display:inline-block;padding:10px 16px;background:#193c3c;color:white;border-radius:8px;text-decoration:none}.actions{align-items:center}
.field[hidden]{display:none}

.field input[type=checkbox]{width:auto;min-height:auto;accent-color:#193c3c}.spaced+.grid{margin-top:22px}

.datepair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.datepair input{min-width:0}.asset-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.defect-check label{display:flex;align-items:center;gap:10px;white-space:nowrap;margin:0}.defect-check input[type=checkbox]{flex:0 0 auto;width:18px;height:18px;margin:0;padding:0}.defect-description{margin-left:.4em}
.termfilters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:20px}.termfilters>div{min-width:0}.termsort{grid-template-columns:minmax(170px,240px) minmax(170px,240px) auto;align-items:end;border-top:1px solid #e6ebeb;padding-top:18px}.termsort>button{justify-self:start}.sortheader{border:0;background:transparent;padding:0;color:inherit;white-space:nowrap}.sortheader:hover{color:#193c3c;background:transparent;text-decoration:underline}
@media(max-width:540px){.termsort{grid-template-columns:1fr}.datepair{gap:10px}.datepair input{padding:10px 4px}.defect-check label{font-size:.875rem}}

.word-preview{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;background:#f5f7f7;border:1px solid #dde4e4;border-radius:8px;padding:18px;margin-top:12px;max-height:50vh;overflow:auto;font-size:1rem}
.danger-solid{background:#c5221f;border-color:#c5221f;color:#fff !important}.danger-solid:hover{background:#a50e0e;border-color:#a50e0e;color:#fff !important}.danger-solid:focus-visible{outline:3px solid #a50e0e;outline-offset:2px}.small{padding:5px 9px;font-size:.78rem;line-height:1.2;white-space:nowrap}

.document-back{position:sticky;top:-28px;z-index:2;background:white;padding:12px 0;margin-bottom:12px;border-bottom:1px solid #e0e5e5}.document-image{display:block;max-width:100%;height:auto;margin-top:16px}.document-pdf{display:block;width:100%;height:60vh;border:1px solid #d8dfe0;border-radius:8px;margin-top:16px}

.export-buildings{border:1px solid #d8dfe0;border-radius:8px;margin:18px 0;max-height:45vh;overflow:auto}.export-buildings label{display:flex;align-items:center;gap:12px;padding:10px;cursor:pointer}.export-buildings input{width:18px;height:18px;flex:0 0 auto}.export-buildings small{display:block;margin-top:3px}
.danger{color:#9a3029;border-color:#e6c5c0}.assignment-list{display:grid;gap:0;max-height:55vh;overflow:auto;border:1px solid #dfe5e5;border-radius:8px;margin:18px 0}.assignment-list label{display:flex;align-items:flex-start;gap:12px;padding:14px;border-bottom:1px solid #e6ebeb;margin:0;cursor:pointer}.assignment-list label:last-child{border-bottom:0}.assignment-list input{width:18px;height:18px;flex:0 0 auto;margin:3px 0 0;accent-color:#193c3c}.assignment-list small{display:block;margin-top:3px;font-weight:400}

/* Vertrags- und Dokumentangaben: thematisch gruppiert, Wartungsrhythmus kompakt */
.metadata-section{grid-column:1/-1;border:1px solid #dfe7e7;border-radius:10px;background:#fafcfc;padding:18px 20px 2px;margin:0 0 14px}.metadata-section[hidden]{display:none}.metadata-section>h3{font-size:.98rem;color:#28534e;margin:0 0 15px;padding-bottom:10px;border-bottom:1px solid #e2e9e9}.metadata-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 18px}.maintenance-frequency{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:10px;align-items:center}.maintenance-frequency input{width:5.5rem;max-width:100%;font-variant-numeric:tabular-nums}.maintenance-frequency select{min-width:0}.maintenance-frequency-field{max-width:380px}
@media(max-width:720px){.metadata-section{padding:15px 14px 0}.metadata-grid{grid-template-columns:1fr}.maintenance-frequency{grid-template-columns:5rem minmax(0,1fr);gap:8px}.maintenance-frequency input{width:5rem}}

dialog:has(#document-form){width:min(820px,calc(100% - 30px))}.metadata-section .field:last-child{margin-bottom:14px}

.maintenance-table{min-width:1100px}.maintenance-table th:nth-child(1){min-width:190px}.maintenance-table th:nth-child(2){min-width:150px}.maintenance-table th:nth-child(3){min-width:300px}.maintenance-table th:nth-child(4){min-width:220px}.maintenance-long{white-space:normal;vertical-align:top;line-height:1.55;max-width:420px}.maintenance-table td{vertical-align:top}.maintenance-table td .actions{align-items:flex-start;flex-direction:column}.maintenance-table td small{white-space:nowrap}
.inspection-table{min-width:1600px}.inspection-table th:nth-child(1){min-width:190px}.inspection-table th:nth-child(2){min-width:220px}.inspection-table th:nth-child(3){min-width:180px}.inspection-table th:nth-child(4){min-width:320px}.inspection-table th:nth-child(5){min-width:210px}.inspection-table th:nth-child(6){min-width:260px}
.inspection-table{min-width:0!important;table-layout:fixed;font-size:.8rem}.inspection-table .inspection-main-col{width:46%}.inspection-table .inspection-qualification-col{width:17%}.inspection-table .inspection-legal-col{width:25%}.inspection-table .inspection-actions-col{width:12%}.inspection-table th,.inspection-table td{padding:10px 9px;white-space:normal;overflow-wrap:anywhere;vertical-align:top}.inspection-table th:nth-child(n){min-width:0}.inspection-table th select{display:block;width:100%;min-width:0;margin-top:8px;padding:7px 8px;font-size:.75rem}.inspection-table td .actions{gap:6px}.inspection-table td .actions button{padding:6px 8px;font-size:.72rem;line-height:1.25}.inspection-main-cell>strong{font-size:.9rem;margin-bottom:5px}.inspection-subline{display:flex;gap:14px;flex-wrap:wrap;font-size:.78rem;line-height:1.4}.inspection-subline b,.inspection-scope b{color:#52676e}.inspection-scope{margin-top:6px;font-size:.76rem;line-height:1.4;color:#52676e}.inspection-table td.maintenance-long{font-size:.76rem;line-height:1.4}
