:root{font-family:Inter,system-ui,sans-serif;color:#132b41;background:#edf2f6;font-size:16px}*{box-sizing:border-box}body{margin:0}header{height:86px;background:#102d43;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 32px}.brand{display:flex;gap:13px;align-items:center;font-size:23px;font-weight:700}.brand small{display:block;font-size:12px;letter-spacing:2px;color:#a9c5d6;margin-top:4px}.logo{color:#53d5c7;font-size:36px}.tag{font-size:14px;color:#bad4e3}main{display:grid;grid-template-columns:345px 1fr;max-width:1800px;margin:auto}aside{background:white;border-right:1px solid #d6e1e9;padding:25px 24px}section{margin-bottom:24px}h1{font-size:30px;line-height:1.18;letter-spacing:-1px;margin:0 0 15px}p{line-height:1.55;color:#536879;font-size:14px}.upload{display:flex;flex-direction:column;border:1.5px dashed #658ca4;background:#f2f8fb;padding:23px 15px;text-align:center;cursor:pointer;border-radius:8px;gap:9px}.upload:hover{background:#e4f1f7}.upload span{font-size:12px;color:#536879}button,input,select{font:inherit}button{cursor:pointer;background:white;color:#173e57;border:1px solid #abc1cf;padding:10px 14px;border-radius:6px;font-size:14px;font-weight:600}button:disabled{opacity:.45;cursor:default}button:hover:not(:disabled){background:#e5f2f5}.primary{background:#087d79;color:white;border-color:#087d79}.primary:hover:not(:disabled){background:#096864}.controls{display:grid;grid-template-columns:1fr 65px;gap:10px;margin:18px 0 12px}label{font-size:14px}input,select{width:100%;padding:9px;border:1px solid #b9cbd7;border-radius:5px;background:white;color:#173e57;margin-top:6px}#filename{font-size:12px;overflow-wrap:anywhere;margin-top:8px}#read,#locate,#route,#stop{width:100%;margin-bottom:9px}.summary{display:flex;border-top:1px solid #dde6ed;border-bottom:1px solid #dde6ed;padding:18px 0;gap:35px}.summary div{display:flex;flex-direction:column;gap:4px}.summary strong{font-size:30px}.summary span{font-size:12px;color:#617b8d}#notice{font-size:14px;line-height:1.5;background:#eef5f8;padding:12px;border-radius:6px;margin-bottom:12px}.help{font-size:14px}.help p{font-size:12px}.help a{color:#087d79}.workspace{padding:24px;min-width:0}.map-wrap{height:440px;position:relative;border-radius:10px;overflow:hidden;border:1px solid #c6d6e0}#map{height:100%;background:#dbe7eb}.map-caption{position:absolute;top:15px;left:58px;z-index:500;background:#ffffffef;padding:12px 17px;border-radius:6px;box-shadow:0 3px 16px #102d4320;pointer-events:none}.map-caption b{display:block;font-size:14px}.map-caption span{font-size:12px;color:#5a7281}.map-fit{position:absolute;bottom:25px;right:12px;z-index:500;box-shadow:0 2px 10px #102d4320}.list-head{display:flex;justify-content:space-between;align-items:center;margin:24px 0 14px;gap:15px}.list-head h2{font-size:19px;margin:0}.list-head span{font-size:12px;color:#607b8e}.empty{background:white;padding:35px;border-radius:8px;border:1px solid #d9e4eb;text-align:center}.route-card{background:white;border:1px solid #d0dee8;border-radius:8px;margin-bottom:12px;padding:16px}.card-top{display:flex;justify-content:space-between;gap:15px;align-items:center}.card-top b{font-size:14px;overflow-wrap:anywhere}.badge{font-size:12px;padding:5px 8px;border-radius:4px;background:#edf2f6;white-space:nowrap}.badge.ok{background:#d8f4ea;color:#09654d}.badge.error{background:#fff0d6;color:#865815}.points{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.point{flex:1;min-width:180px}.point label{font-size:12px;color:#516b7e}.point select{font-size:14px}.point .searchline{display:flex;gap:6px}.point .searchline button{margin-top:6px;flex-shrink:0}.card-actions{display:flex;gap:8px;align-items:center}.card-actions span{font-size:12px;color:#5c7585}.error-text{color:#9a5920;font-size:14px;line-height:1.5;margin:8px 0}.leaflet-container{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible,.upload:focus-visible{outline:3px solid #e69b3c;outline-offset:2px}@media(max-width:900px){main{grid-template-columns:290px 1fr}aside{padding:20px 16px}.workspace{padding:16px}.map-caption{display:none}}@media(max-width:650px){header{height:72px;padding:0 18px}.tag{display:none}main{display:block}aside{border-right:0}h1{font-size:26px}aside .help{display:none}.summary{margin:12px 0}.workspace{padding:12px}.map-wrap{height:380px}.list-head{align-items:start}.points{display:block}.point{margin:10px 0}}

summary.card-top{cursor:pointer;list-style:none}summary.card-top::-webkit-details-marker{display:none}details:not([open]){border-left:4px solid #087d79}details[open]>summary{margin-bottom:8px}.point small{display:block;font-size:12px;margin-top:6px;color:#607b8e}

#pdf{width:100%;margin:14px 0 9px;background:#102d43;color:white}#codesinfo{font-size:12px;color:#536879;line-height:1.5;margin-top:10px}.validity{font-size:14px;margin-top:12px;color:#49667b}

.company-logo{display:block;width:118px;height:59px;object-fit:contain;background:white;border-radius:4px;padding:4px;flex-shrink:0}.company-motif{display:block;width:100%;height:auto;background:white;border-radius:6px;margin:20px 0 0}.brand{gap:18px}@media(max-width:650px){.company-logo{width:92px;height:46px}.brand{font-size:20px;gap:12px}.brand small{font-size:10px;letter-spacing:1px}.company-motif{display:none}}

[hidden]{display:none!important} #portal label{display:inline-block;margin:6px} #portal input,#portal select{padding:9px;border:1px solid #bccacc;border-radius:6px} #portal button{margin:6px}

header,main,.portal-panel{width:100%;max-width:1800px;margin-left:auto;margin-right:auto}
.portal-panel{padding:24px;background:#fff;border:1px solid #ccd9dd;border-radius:12px;margin-top:20px;margin-bottom:20px}
#portal form,#portal article,#portal #reviews,#portal #additions{width:100%;min-width:0}
#portal label{display:block;margin:0}#portal .addition-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#portal .addition-fields .wide{grid-column:1/-1}
.addition-card{padding:20px;border:1px solid #ccd9dd;border-radius:10px;background:#f8fbfc;margin:16px 0}
.draft-heading,.draft-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.draft-heading h3{margin:0 0 12px}.draft-actions{justify-content:flex-start;margin:14px 0}
.addition-map{height:360px;width:100%;border:1px solid #bccacc;border-radius:8px;background:#dbe7eb}.draft-status{padding:12px;background:#eef5f8;border-radius:6px;overflow-wrap:anywhere}.draft-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}#portal .review-note{width:100%}#portal .review p{display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:12px}#portal .review select,#portal .review input{margin:0}.card-top{flex-wrap:wrap}
@media(max-width:650px){.portal-panel{padding:14px;margin-top:12px}.addition-card{padding:14px}#portal .addition-fields,.draft-candidates,#portal .review p{grid-template-columns:1fr}.addition-map{height:300px}}

/* Gemeinsame Außenkanten der Hintergrundflächen, unabhängig vom Inhalt. */
header,main,.portal-panel{width:calc(100% - 40px);max-width:1760px;margin-left:auto;margin-right:auto}
header{margin-top:20px;border-radius:12px}
main{background:#fff;border:1px solid #ccd9dd;border-radius:12px;margin-bottom:20px}
aside{border-radius:12px 0 0 12px}.workspace{background:#fff;border-radius:0 12px 12px 0}
#portal .review p{display:block}#portal .review select{width:auto;margin:6px 0}#portal .review-note{width:45%;margin:6px}#portal .review button{margin:6px}
@media(max-width:650px){header,main,.portal-panel{width:calc(100% - 24px)}header{margin-top:12px}aside,.workspace{border-radius:12px}#portal .review-note{width:100%;margin:6px 0}}

.admin-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.admin-top h1{margin-bottom:6px}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid #ccd9dd;padding:12px 0 20px;margin-bottom:20px}#portal .admin-nav button.active{background:#102d43;color:white;border-color:#102d43}#admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.admin-stat{border:1px solid #ccd9dd;border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:8px;background:#f1f7f9}.admin-stat strong{font-size:32px}.admin-stat span{font-size:14px;color:#536879}#portal [data-admin-page]>label{max-width:600px}#admin-issues input,#addition-inbox input{max-width:900px}@media(max-width:650px){#admin-stats{grid-template-columns:1fr}.admin-nav button{flex:1}.admin-top{align-items:flex-start}}

.workorder-export{padding:16px;background:#eef5f8;border:1px solid #ccd9dd;border-radius:8px;margin:16px 0}#portal .workorder-export input{width:auto;margin-right:8px}

.confirmation-box{padding:20px;border:1px solid #a8c7ca;border-radius:10px;background:#edf7f5;margin-top:24px}#portal .confirmation-box input{width:auto;margin-right:8px}.confirmation-box details{margin:16px 0}.confirmation-box details p{border-bottom:1px solid #cbdedc;padding-bottom:10px}

.confirmation-current{display:inline-block;padding:8px 12px;border-radius:6px;background:#d5f1e3;color:#0b6549}
.rail-success{background:linear-gradient(120deg,#e9f8f1,#f3f9fd);border:2px solid #168465;border-radius:14px;padding:22px;margin:24px 0;box-shadow:0 8px 26px #102d4310;animation:rail-success-appear .3s ease-out}
.rail-success:focus{outline:3px solid #168465;outline-offset:3px}.rail-success-heading{display:flex;gap:14px;align-items:center}.rail-success-heading h3{font-size:24px;margin:0 0 6px;color:#0a5949}.rail-success-heading strong{font-size:16px;color:#173e57}.rail-success-check{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:50%;background:#148366;color:white;font-size:29px}
.rail-success-scene{position:relative;width:100%;height:110px;overflow:hidden;margin:12px 0 16px;border-radius:8px;background:linear-gradient(to bottom,#eaf5fc 0%,#eef8f4 78%,#e2ece8 78%)}
.rail-success-track{position:absolute;left:0;right:0;bottom:13px;height:12px;border-top:3px solid #607787;border-bottom:3px solid #607787;background:repeating-linear-gradient(90deg,transparent 0 15px,#8b9b9f 15px 20px)}
.rail-success-train{position:absolute;width:210px;height:83px;bottom:13px;left:calc(100% - 260px);animation:rail-train-arrive 2.6s cubic-bezier(.18,.55,.28,1) both}
.rail-success-signal{position:absolute;right:20px;bottom:24px;width:24px;height:73px;background:#122e42;border-radius:8px;box-shadow:0 2px 7px #102d4322}.rail-success-signal span{display:block;width:14px;height:14px;border-radius:50%;background:#3ee7a3;margin:10px auto;box-shadow:0 0 13px #22da9d}.rail-success-signal i{display:block;position:absolute;top:66px;left:10px;width:5px;height:11px;background:#455d6b}
#portal .rail-success-time{font-size:14px;color:#174d42;margin:0 0 8px}.rail-success p{margin-bottom:0}
@keyframes rail-train-arrive{from{left:-220px}to{left:calc(100% - 260px)}}@keyframes rail-success-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.rail-success{padding:15px}.rail-success-heading h3{font-size:21px}.rail-success-heading strong{font-size:14px}.rail-success-scene{height:100px}.rail-success-train{width:170px;height:67px;left:calc(100% - 215px);animation-name:rail-train-arrive-small}.rail-success-signal{right:10px}@keyframes rail-train-arrive-small{from{left:-180px}to{left:calc(100% - 215px)}}}
@media(prefers-reduced-motion:reduce){.rail-success,.rail-success-train{animation:none!important}}

#admin-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-stat{text-align:left;cursor:pointer}#portal .admin-stat{margin:0;width:100%;padding:20px}#confirmation-rate progress{width:100%;height:18px;accent-color:#087d79}.statistics-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;margin:20px 0}.statistics-table-wrap{overflow-x:auto;border:1px solid #ccd9dd;border-radius:8px;margin:14px 0 28px}.statistics-table{width:100%;border-collapse:collapse;font-size:14px;text-align:left;table-layout:fixed;min-width:850px}.statistics-table th{background:#edf5f8;font-size:13px}.statistics-table td,.statistics-table th{padding:12px;vertical-align:top;border-bottom:1px solid #d8e3e9;overflow-wrap:anywhere}.statistics-table tr:last-child td{border-bottom:0}.statistics-table small{display:block;margin-top:6px;color:#536879}.statistics-table td button{font-size:12px}.statistics-chip{display:inline-block;padding:12px 16px;border:1px solid #ccd9dd;border-radius:8px;background:#f1f7f9;margin:4px 8px 4px 0;font-size:14px}.statistics-chip b{font-size:20px;margin-right:6px}#portal [data-admin-page="overview"] h3{margin-top:28px}@media(max-width:1000px){#admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){#admin-stats{grid-template-columns:1fr}.statistics-filters{grid-template-columns:1fr}}

#import-comparison{padding:20px;border:2px solid #8eb8bd;border-radius:10px;margin-top:20px;background:#f7fbfc}#portal #accept-import{width:auto;margin-right:8px}#work-list form label{margin:12px 0}#work-list form{max-width:900px}

.admin-disclosure{border:1px solid #d3e0e7;border-radius:10px;margin:16px 0;background:#fff;padding:0 18px}.admin-disclosure>summary{padding:18px 0;font-size:16px;font-weight:700;cursor:pointer;color:#173e57}.admin-disclosure[open]>summary{border-bottom:1px solid #e0e9ed;margin-bottom:16px}.admin-disclosure h3:first-of-type{margin-top:16px!important}.admin-updated{font-size:12px;margin:0 0 12px}.admin-next-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}.admin-next-actions>div{background:#f1f7f9;border:1px solid #d3e0e7;border-radius:10px;padding:18px}.admin-subnav{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0;border-bottom:1px solid #d3e0e7;padding-bottom:16px}#portal .admin-subnav .active{background:#087d79;color:#fff;border-color:#087d79}.admin-subnav span{display:inline-block;padding:2px 7px;border-radius:12px;background:#102d4314;margin-left:6px}.feedback-card{border:1px solid #cbdce5;border-radius:9px;padding:0 18px;margin:12px 0;background:#f8fbfc}.feedback-card>summary{cursor:pointer;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 0;list-style:none}.feedback-card>summary::-webkit-details-marker{display:none}.feedback-card-title{flex:1;min-width:180px;overflow-wrap:anywhere;font-size:14px}.feedback-open-hint{font-size:12px;color:#087d79}.feedback-card[open]>summary{border-bottom:1px solid #d8e4ea;margin-bottom:16px}.feedback-card form{padding:0 0 18px}.feedback-card .addition-card{margin:0}#portal [data-feedback-page]>label{max-width:600px}.feedback-card summary:focus-visible,.admin-disclosure summary:focus-visible{outline:3px solid #e69b3c;outline-offset:3px}@media(max-width:650px){.admin-next-actions{grid-template-columns:1fr}.admin-disclosure,.feedback-card{padding:0 12px}.feedback-open-hint{width:100%}.admin-subnav button{flex:1}}

.site-footer{text-align:center;padding:20px 16px;color:#536879;font-size:14px;border-top:1px solid #d6e1e9}

.privacy-tools{max-width:1800px;margin:0 auto;padding:14px 24px;background:#fff;border-bottom:1px solid #d6e1e9}.privacy-tools summary{cursor:pointer;font-weight:600}.privacy-tools button,.privacy-tools a,#privacy-account-tools button{margin:8px}.privacy-document{max-width:900px;margin:32px auto;padding:28px;background:#fff;line-height:1.6}.privacy-document p{white-space:pre-wrap}.privacy-document h2{margin-top:28px}.privacy-document #privacy-completeness{padding:16px;background:#fff1d5;color:#533c11}#privacy-info-form label{display:block;margin:14px 0}textarea{display:block;width:100%;max-width:800px;font:inherit;padding:10px;margin:6px 0;border:1px solid #abc1cf;border-radius:6px}input[type=checkbox]{width:auto;margin-right:8px}[data-admin-page=privacy] form{margin:18px 0;padding:16px;background:#f1f7f9;border-radius:8px}[data-admin-page=privacy] label{display:block;margin:8px 0}[data-admin-page=privacy] input:not([type=checkbox]){max-width:600px}#privacy-invite-list p{display:flex;align-items:center;gap:12px;flex-wrap:wrap}#privacy-account-tools{margin-top:12px}@media(max-width:650px){.privacy-document{margin:12px;padding:18px}.privacy-tools{padding:12px}}
