:root{--navy-dark:#0c1c4a;--navy:#132766;--navy-light:#1b3480;--orange:#ef7f24;--orange-dark:#d96b12;--blue-link:#1a56c4;--blue-soft:#e6f0fd;--border:#e2e5ec;--text-main:#1c2333;--text-muted:#6b7280;--bg:#f4f6fb;--green:#1a7f3c;--green-bg:#e4f6e8}*{box-sizing:border-box}body{background:var(--bg);color:var(--text-main);margin:0;font-family:Segoe UI,Arial,sans-serif}.app{min-height:100vh;display:flex}.sidebar{background:var(--navy-dark);color:#fff;flex-direction:column;flex-shrink:0;width:270px;padding:20px 0;display:flex}.logo{border-bottom:1px solid #ffffff1f;align-items:center;gap:8px;margin-bottom:12px;padding:0 20px 20px;display:flex}.logo .bars{color:var(--orange);letter-spacing:-2px;font-size:20px;font-weight:800}.logo-text{letter-spacing:.5px;font-size:14px;font-weight:800;line-height:1.2}.logo-text span{display:block}nav{flex:1;overflow-y:auto}.nav-group{margin-bottom:2px}.nav-header{cursor:pointer;letter-spacing:.4px;text-transform:uppercase;color:#c9d2ea;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:12px 20px;font-size:13px;font-weight:700;transition:background .15s;display:flex}.nav-header:hover{color:#fff;background:#ffffff0f}.nav-header.open{color:#fff;background:#ffffff14}.nav-header .chev{color:var(--orange);font-size:11px;transition:transform .15s}.nav-header.open .chev{transform:rotate(90deg)}.nav-sub{max-height:0;transition:max-height .2s;overflow:hidden}.nav-sub.open{max-height:800px}.nav-item{color:#aebadb;cursor:pointer;border-left:3px solid #0000;justify-content:space-between;align-items:center;padding:9px 16px 9px 36px;font-size:13px;transition:background .15s,color .15s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0d}.nav-item.active{color:#fff;border-left:3px solid var(--orange);background:#ef7f2426;font-weight:600}.fav-star{color:#6b7280;border-radius:3px;padding:2px 4px;font-size:14px;transition:color .15s,transform .15s}.fav-star.active,.nav-item:hover .fav-star{color:gold}.fav-star:hover{transform:scale(1.25)}.sidebar-footer{color:#8894b8;border-top:1px solid #ffffff1f;margin-top:12px;padding:14px 20px 0;font-size:12px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;padding:16px 28px;display:flex}.topbar h1{margin:0;font-size:18px;font-weight:700}.topbar .breadcrumb{color:#b7c2e6;margin-top:2px;font-size:12px}.btn-primary{background:var(--orange);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;border:none;border-radius:6px;padding:9px 18px;font-size:13px;font-weight:700}.btn-primary:hover{background:var(--orange-dark)}.content-split{flex:1;min-height:0;display:flex}.middle{border-right:1px solid var(--border);flex:1;padding:24px;overflow-y:auto}.middle h2{text-transform:uppercase;letter-spacing:.4px;color:var(--navy);margin:0 0 16px;font-size:15px}.right{background:#fff;flex-shrink:0;width:360px;padding:24px;overflow-y:auto}.right h2{text-transform:uppercase;letter-spacing:.4px;color:var(--navy);margin:0 0 16px;font-size:15px}.card{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:12px;padding:16px;transition:border-color .15s,box-shadow .15s}.card-clickable{cursor:pointer}.card-clickable:hover{border-color:var(--navy-light)}.card-clickable.selected{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange);background:#fff8f2}.car-card{justify-content:space-between;align-items:center;display:flex}.car-card .name{color:var(--text-main);font-size:14px;font-weight:700}.car-card .meta{color:var(--text-muted);margin-top:2px;font-size:12px}.status-pill{text-transform:uppercase;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700}.status-verfuegbar{background:var(--green-bg);color:var(--green)}.status-vermietet{color:var(--orange-dark);background:#fdeee0}.status-wartung{color:#c0392b;background:#feeaea}.status-bezahlt{background:var(--green-bg);color:var(--green)}.status-offen{color:#856404;background:#fff3cd}.detail-card{border:1px solid var(--border);border-radius:10px;overflow:hidden}.detail-card .head{background:var(--navy);color:#fff;padding:14px 16px}.detail-card .head .name{font-size:15px;font-weight:700}.detail-card .head .sub{color:#b7c2e6;margin-top:2px;font-size:12px}.detail-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 16px;font-size:13px;display:flex}.detail-row:last-child{border-bottom:none}.detail-row .label{color:var(--text-muted)}.detail-row .value{text-align:right;font-weight:600}.detail-actions{flex-wrap:wrap;gap:8px;padding:14px 16px;display:flex}.btn-secondary{border:1px solid var(--navy);color:var(--navy);cursor:pointer;text-transform:uppercase;background:#fff;border-radius:6px;flex:1;padding:8px;font-size:12.5px;font-weight:700}.btn-secondary:hover{background:var(--blue-soft)}.form-group{margin-bottom:14px}.form-group label{color:var(--navy);text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:700;display:block}.form-control{border:1px solid var(--border);border-radius:6px;width:100%;padding:9px 12px;font-family:inherit;font-size:13px}.form-control:focus{border-color:var(--navy);outline:none}.grid-2{grid-template-columns:1fr 1fr}.grid-2,.grid-3{gap:12px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr}.grid-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat-card{border:1px solid var(--border);background:#fff;border-radius:8px;padding:14px}.stat-card .num{color:var(--navy);margin-top:4px;font-size:22px;font-weight:800}.stat-card .lbl{text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.stat-card .trend{color:var(--green);margin-top:4px;font-size:11px;font-weight:600}.link-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.link-card{border:1px solid var(--border);background:#fff;border-radius:8px;flex-direction:column;justify-content:space-between;padding:14px;transition:border-color .15s,transform .15s;display:flex}.link-card:hover{border-color:var(--orange);transform:translateY(-2px)}.link-card .title{color:var(--navy);font-size:14px;font-weight:700}.link-card .url{color:var(--text-muted);word-break:break-all;margin:4px 0 12px;font-size:11px}.link-card a{background:var(--blue-soft);color:var(--blue-link);text-align:center;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:700;text-decoration:none;display:inline-block}.link-card a:hover{background:var(--navy);color:#fff}.data-table{border-collapse:collapse;width:100%;margin-top:8px}.data-table td,.data-table th{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px;font-size:13px}.data-table th{background:var(--bg);color:var(--navy);text-transform:uppercase;font-size:11px;font-weight:700}.gantt-container{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:20px;overflow:hidden}.gantt-scroll-wrapper{max-width:100%;position:relative;overflow-x:auto}.gantt-grid{flex-direction:column;min-width:max-content;display:flex}.gantt-header-row{background:var(--navy);color:#fff;display:flex}.gantt-sidebar-header{background:var(--navy);z-index:10;border-right:1px solid #fff3;width:220px;min-width:220px;padding:12px;font-size:13px;font-weight:700;position:sticky;left:0}.gantt-months-container{display:flex}.gantt-month-block{text-align:center;border-right:1px solid #fff3}.gantt-month-title{background:var(--navy-dark);border-bottom:1px solid #ffffff1a;padding:6px 0;font-size:12px;font-weight:700}.gantt-days-row{display:flex}.gantt-day-cell{text-align:center;border-right:1px solid #ffffff1a;width:38px;min-width:38px;padding:6px 0;font-size:11px}.gantt-day-cell.is-weekend{background:#ffffff26}.gantt-day-cell.is-today{background:var(--orange);color:#fff;font-weight:800}.gantt-category-row{background:var(--navy-light);color:#fff;text-transform:uppercase;letter-spacing:.5px;z-index:9;padding:8px 12px;font-size:12px;font-weight:700;position:sticky;left:0}.gantt-row{border-bottom:1px solid var(--border);display:flex;position:relative}.gantt-row:hover{background:#fdfdfd}.gantt-vehicle-cell{border-right:1px solid var(--border);z-index:8;background:#fff;width:220px;min-width:220px;padding:10px 12px;position:sticky;left:0}.gantt-vehicle-cell .v-name{color:var(--navy);font-size:13px;font-weight:700}.gantt-vehicle-cell .v-plate{color:var(--text-muted);font-size:11px}.gantt-timeline-cells{display:flex;position:relative}.gantt-cell{border-right:1px solid #f0f2f7;width:38px;min-width:38px;height:48px}.gantt-cell.is-weekend{background:#f8f9fc}.gantt-cell.is-today{background:#fff8f0}.gantt-booking-bar{color:#fff;cursor:pointer;z-index:5;white-space:nowrap;text-overflow:ellipsis;border-radius:6px;align-items:center;height:32px;padding:0 8px;font-size:11px;font-weight:700;transition:transform .15s,box-shadow .15s;display:flex;position:absolute;top:8px;overflow:hidden;box-shadow:0 2px 4px #0000001f}.gantt-booking-bar:hover{z-index:7;transform:translateY(-1px);box-shadow:0 4px 8px #0003}.bg-auto{background:linear-gradient(135deg,#1a56c4,#132766)}.bg-transporter{background:linear-gradient(135deg,#ef7f24,#d96b12)}.bg-neunsitzer{background:linear-gradient(135deg,#1a7f3c,#115828)}.gantt-legend{border:1px solid var(--border);background:#fff;border-radius:8px;gap:20px;margin-bottom:24px;padding:12px 18px}.gantt-legend,.legend-item{align-items:center;display:flex}.legend-item{gap:8px;font-size:12px;font-weight:600}.legend-color{border-radius:4px;width:16px;height:16px}.gantt-slidebar-container{border-top:1px solid var(--border);background:#f0f2f7;align-items:center;gap:12px;padding:10px 16px;display:flex}.gantt-slidebar{accent-color:var(--navy);cursor:pointer;flex:1}.tab-bar{border-bottom:2px solid var(--border);gap:4px;margin-bottom:16px;display:flex}.tab-item{color:var(--text-muted);cursor:pointer;border-bottom:3px solid #0000;margin-bottom:-2px;padding:10px 16px;font-size:13px;font-weight:700}.tab-item.active{color:var(--navy);border-bottom-color:var(--orange)}.sketch-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.sketch-box{border:2px dashed var(--navy-light);text-align:center;background:#fafbfe;border-radius:8px;flex-direction:column;min-height:160px;padding:20px;position:relative}.damage-point,.sketch-box{justify-content:center;align-items:center;display:flex}.damage-point{color:#fff;cursor:pointer;background:red;border-radius:50%;width:22px;height:22px;font-size:11px;font-weight:800;position:absolute;box-shadow:0 2px 4px #0000004d}.modal-overlay{z-index:1000;background:#0c1c4a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:#fff;border-radius:12px;width:540px;max-width:90%;animation:.2s ease-out popIn;overflow:hidden;box-shadow:0 10px 25px #00000040}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-header{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header h3{margin:0;font-size:16px}.modal-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:20px}.modal-body{max-height:80vh;padding:20px;overflow-y:auto}.widget-item-selectable{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px;transition:all .15s;display:flex}.widget-item-selectable:hover{border-color:var(--orange);background:var(--blue-soft)}.widget-item-selectable.active{border-color:var(--orange);background:#ef7f2414}.dashboard-widget-card{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:16px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 2px 6px #00000008}.dashboard-widget-card.dragging{opacity:.5;border:2px dashed var(--orange)}.widget-header{background:var(--navy);color:#fff;cursor:move;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.widget-header h3{text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:700;display:flex}.widget-body{padding:16px}.btn-remove-widget{color:#ffffffb3;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.btn-remove-widget:hover{color:#ff6b6b}:root{--text:var(--text-main);--muted:var(--text-muted);--surface:#fff;--danger:#b3261e;--radius:10px;--shadow:0 2px 10px #1327660f}.logo-sub{color:#9fabce;margin-top:4px;font-size:11px;font-weight:400}.sidebar-footer .tenant-name{color:var(--orange);margin-top:2px;font-weight:700}.sidebar-footer .logout{color:#8894b8;cursor:pointer;background:0 0;border:none;padding:6px 0 0;font-size:12px;text-decoration:underline}.sidebar-footer .logout:hover{color:#fff}a.nav-item{text-decoration:none}.nav-item .external{opacity:.6;font-size:11px}.nav-empty-link{color:inherit}.nav-item.empty{color:#7b88ab;cursor:default;font-style:italic}.nav-item.empty:hover{color:#7b88ab;background:0 0}.nav-item.disabled{opacity:.4;cursor:default}.nav-item.disabled:hover{color:#aebadb;background:0 0}.main>:not(.topbar):not(.content-split){flex:1;min-height:0;padding:24px;overflow-y:auto}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:16px;display:flex}.page-title{text-transform:uppercase;letter-spacing:.4px;color:var(--navy);margin:0;font-size:15px;font-weight:700}.button{background:var(--orange);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:9px 18px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){background:var(--orange-dark)}.button:disabled{opacity:.55;cursor:not-allowed}.button-secondary{color:var(--navy);border:1px solid var(--navy);background:#fff}.button-secondary:hover:not(:disabled){background:var(--blue-soft)}.button-navy{background:var(--navy)}.link-button{color:var(--blue-link);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:none}.field{gap:5px;margin-bottom:14px;display:grid}.field label{color:var(--navy);text-transform:uppercase;font-size:12px;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;padding:9px 12px;font-family:inherit;font-size:13px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);outline:none}.table{border-collapse:collapse;width:100%;font-size:13px}.table td,.table th{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}.table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;background:#fafbfd;font-size:11px;font-weight:700}.table tr:last-child td{border-bottom:none}.badge{text-transform:uppercase;background:var(--blue-soft);color:var(--navy);white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.badge-green{background:var(--green-bg);color:var(--green)}.badge-orange{color:var(--orange-dark);background:#fdeee0}.badge-red{color:#c0392b;background:#feeaea}.error{color:var(--danger)}.muted,.status-message{color:var(--text-muted)}.status-message{text-align:center;padding:2rem}button,input,select,textarea{font-family:inherit}@media (width<=900px){.app{flex-direction:column}.sidebar{width:100%}.content-split{flex-direction:column}.right{border-top:1px solid var(--border);width:100%}}
