.ha-root{position:fixed;bottom:24px;right:24px;z-index:9000;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.ha-badge{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#3d2b1f,#5c3a1e);border:2px solid #C8843A;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 4px 20px #0006;transition:transform .15s,box-shadow .15s}.ha-badge:hover{transform:scale(1.08);box-shadow:0 6px 24px #00000080}.ha-badge-icon{width:50px;height:50px}.ha-badge-puls{position:absolute;top:-3px;right:-3px;width:14px;height:14px;border-radius:50%;background:#c8843a;animation:ha-puls 2s ease-in-out infinite}@keyframes ha-puls{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.3}}.ha-panel{width:360px;max-height:600px;background:#1a120a;border:1.5px solid #C8843A;border-radius:18px;overflow:hidden;box-shadow:0 16px 48px #0000008c;display:flex;flex-direction:column;animation:ha-slide-up .2s ease-out}@keyframes ha-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.ha-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#2a1a0e;border-bottom:1px solid rgba(200,132,58,.25);flex-shrink:0}.ha-header-left{display:flex;align-items:center;gap:10px}.ha-mini-char{width:36px;height:36px;flex-shrink:0}.ha-titel{font-size:15px;font-weight:800;color:#c8843a;line-height:1.1}.ha-status{font-size:11px;color:#8b7355;margin-top:1px}.ha-icon-btn{background:none;border:none;color:#8b7355;font-size:14px;cursor:pointer;padding:4px 6px;border-radius:6px;line-height:1;transition:background .12s,color .12s}.ha-icon-btn:hover{background:#c8843a26;color:#c8843a}.ha-close{background:none;border:none;color:#8b7355;font-size:22px;cursor:pointer;line-height:1;padding:0 4px;transition:color .12s}.ha-close:hover{color:#c8843a}.ha-chat{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:12px;min-height:200px;max-height:380px;scrollbar-width:thin;scrollbar-color:rgba(200,132,58,.3) transparent}.ha-chat::-webkit-scrollbar{width:4px}.ha-chat::-webkit-scrollbar-thumb{background:#c8843a4d;border-radius:2px}.ha-msg{display:flex;gap:8px;align-items:flex-start}.ha-msg-user{flex-direction:row-reverse}.ha-msg-user .ha-msg-bubble{background:#3d2b1f;border-color:#c8843a80;color:#e8d5b0;border-radius:14px 14px 4px;align-self:flex-end}.ha-msg-holzli .ha-msg-bubble{background:#2a1a0e;border-color:#c8843a40;border-radius:4px 14px 14px}.ha-msg-avatar{width:38px;height:54px;flex-shrink:0}.ha-msg-avatar-sm{width:36px;height:50px;flex-shrink:0}.ha-msg-bubble{border:1px solid rgba(200,132,58,.25);border-radius:14px;padding:10px 12px;max-width:calc(100% - 52px);flex:1}.ha-msg-loading{display:flex;align-items:center;min-height:38px}.ha-msg-text{font-size:13px;color:#e8d5b0;line-height:1.5;font-weight:500}.ha-msg-holzli .ha-msg-text{color:#c8843a;font-weight:600}.ha-msg-liste{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:4px}.ha-msg-liste li{font-size:12px;color:#d4b896;padding:5px 8px;background:#ffffff0a;border-radius:6px;border-left:2px solid #C8843A;line-height:1.4}.ha-msg-tipp{font-size:11px;color:#8b7355;margin-top:8px;font-style:italic;border-top:1px solid rgba(200,132,58,.15);padding-top:6px}.ha-tipper{display:flex;gap:5px;align-items:center;padding:2px 4px}.ha-tipper span{width:7px;height:7px;border-radius:50%;background:#c8843a;animation:ha-dot 1.2s ease-in-out infinite}.ha-tipper span:nth-child(2){animation-delay:.2s}.ha-tipper span:nth-child(3){animation-delay:.4s}@keyframes ha-dot{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.ha-vorschlaege{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 10px;flex-shrink:0}.ha-vorschlag-btn{display:flex;align-items:center;gap:5px;padding:6px 10px;background:#2a1a0e;border:1px solid rgba(200,132,58,.3);border-radius:20px;color:#c8843a;font-size:11.5px;font-weight:600;cursor:pointer;transition:all .12s;white-space:nowrap}.ha-vorschlag-btn:hover:not(:disabled){background:#3d2b1f;border-color:#c8843a}.ha-vorschlag-btn:disabled{opacity:.4;cursor:default}.ha-eingabe-wrap{display:flex;gap:8px;padding:10px 12px;background:#2a1a0e;border-top:1px solid rgba(200,132,58,.2);flex-shrink:0}.ha-eingabe{flex:1;background:#1a120a;border:1px solid rgba(200,132,58,.35);border-radius:22px;padding:9px 14px;color:#e8d5b0;font-size:13px;outline:none;transition:border-color .15s;font-family:inherit}.ha-eingabe::placeholder{color:#5a4535}.ha-eingabe:focus{border-color:#c8843a}.ha-eingabe:disabled{opacity:.5}.ha-senden-btn{width:38px;height:38px;border-radius:50%;background:#c8843a;border:none;color:#1a120a;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .1s;line-height:1}.ha-senden-btn:hover:not(:disabled){background:#e89a50;transform:scale(1.05)}.ha-senden-btn:disabled{opacity:.35;cursor:default}.ha-char{width:100%;height:100%;flex-shrink:0}@keyframes ha-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes ha-nod{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-6px) rotate(-3deg)}75%{transform:translateY(-3px) rotate(2deg)}}@keyframes ha-blink{0%,88%,to{transform:scaleY(1)}92%,96%{transform:scaleY(.1)}}@keyframes ha-denk{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes ha-wave-arm{0%{transform:rotate(0)}25%{transform:rotate(-50deg)}75%{transform:rotate(-30deg)}to{transform:rotate(0)}}.ha-idle{animation:ha-idle 3s ease-in-out infinite}.ha-nod{animation:ha-nod .5s ease-in-out 3}.ha-denk{animation:ha-denk .6s ease-in-out infinite}.ha-char #ha-eye-l,.ha-idle #ha-eye-l,.ha-nod #ha-eye-l,.ha-denk #ha-eye-l{animation:ha-blink 4s ease-in-out 1s infinite}.ha-char #ha-eye-r,.ha-idle #ha-eye-r,.ha-nod #ha-eye-r,.ha-denk #ha-eye-r{animation:ha-blink 4s ease-in-out 1.3s infinite}.ha-nod #ha-arm-r{animation:ha-wave-arm .5s ease-in-out 3}@media (max-width: 420px){.ha-panel{width:calc(100vw - 32px)}.ha-root{right:12px;bottom:12px}}.layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:220px;min-width:220px;background:var(--braun-dunkel);display:flex;flex-direction:column;overflow:visible}.sidebar-logo{padding:20px 18px 16px;border-bottom:1px solid var(--braun-mittel);display:flex;align-items:center;gap:10px;flex-shrink:0}.logo-icon{width:36px;height:36px;object-fit:contain}.logo-text{font-size:16px;font-weight:700;color:var(--gold-hell)}.logo-sub{font-size:10px;color:var(--braun-hell);letter-spacing:1px;text-transform:uppercase}.sidebar-nav{flex:1;padding:8px 0;overflow-y:auto}.nav-section{padding:10px 0 2px}.nav-label{font-size:9px;color:#4a3a28;letter-spacing:1.5px;text-transform:uppercase;padding:0 18px 4px}.nav-item{display:flex;align-items:center;gap:9px;padding:9px 18px;color:#a09070;font-size:13.5px;transition:all .12s;border-left:3px solid transparent}.nav-item:hover{background:var(--braun-mittel);color:var(--gold-hell)}.nav-item.active{background:var(--braun-mittel);color:var(--gold-hell);border-left-color:var(--gold)}.nav-icon{width:18px;text-align:center}.nav-item-parent{width:100%;background:none;border:none;cursor:pointer;text-align:left;font-size:13.5px;font-family:inherit;display:flex;align-items:center;gap:9px;padding:9px 18px;color:#a09070;transition:all .12s;border-left:3px solid transparent}.nav-item-parent:hover{background:var(--braun-mittel);color:var(--gold-hell)}.nav-item-parent.active{background:var(--braun-mittel);color:var(--gold-hell);border-left-color:var(--gold)}.nav-item-label{flex:1}.nav-arrow{font-size:10px;opacity:.6}.nav-submenu{background:#0000002e;border-left:2px solid var(--gold);margin:0 0 2px 22px;border-radius:0 0 4px 4px}.nav-subitem{padding:7px 14px 7px 10px!important;font-size:12.5px!important}.sidebar-bottom{padding:14px 18px;border-top:1px solid var(--braun-mittel);display:flex;align-items:center;gap:10px;flex-shrink:0}.avatar{width:30px;height:30px;border-radius:50%;background:var(--gold);color:var(--braun-dunkel);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-size:12px;color:#d4b870;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:10px;color:#4a3a28;text-transform:capitalize}.logout-btn{background:none;border:none;color:#4a3a28;font-size:16px;padding:4px;transition:color .12s}.logout-btn:hover{color:var(--rot)}.bell-wrapper{position:relative}.bell-btn{background:none;border:none;font-size:16px;padding:4px 6px;cursor:pointer;position:relative;border-radius:6px;transition:background .15s;color:#a09070}.bell-btn:hover{background:var(--braun-mittel)}.bell-btn.bell-active{animation:bellShake .6s ease}@keyframes bellShake{0%,to{transform:rotate(0)}20%{transform:rotate(-15deg)}40%{transform:rotate(15deg)}60%{transform:rotate(-10deg)}80%{transform:rotate(10deg)}}.bell-badge{position:absolute;top:-2px;right:-2px;background:#dc3545;color:#fff;border-radius:10px;font-size:9px;font-weight:700;padding:1px 4px;min-width:16px;text-align:center;line-height:14px}.bell-dropdown{position:fixed;bottom:70px;left:14px;width:300px;max-height:400px;background:var(--card-bg, #fff);border:1.5px solid var(--border, #dee2e6);border-radius:10px;box-shadow:0 8px 24px #00000047;z-index:99999;overflow:hidden;display:flex;flex-direction:column}.bell-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border, #dee2e6);font-size:.9rem}.bell-dropdown-close{background:none;border:none;cursor:pointer;color:var(--text-muted, #6c757d);font-size:14px;padding:2px 6px;border-radius:4px}.bell-dropdown-close:hover{background:var(--bg, #f4f5f7)}.bell-leer{padding:24px 14px;text-align:center;color:var(--text-muted, #6c757d);font-size:.85rem}.bell-liste{overflow-y:auto;flex:1}.bell-item{padding:10px 14px;border-bottom:1px solid var(--border, #f0f0f0);cursor:pointer;transition:background .12s}.bell-item:hover{background:var(--bg, #f8f9fa)}.bell-item.ungelesen{background:#f0f7ff}.bell-item-text{font-size:.83rem;color:var(--text, #333);line-height:1.4}.bell-item-zeit{font-size:.75rem;color:var(--text-muted, #6c757d);margin-top:3px}.bell-dropdown-footer{padding:10px 14px;border-top:1px solid var(--border, #dee2e6);text-align:center}.bell-dropdown-footer button{background:none;border:none;cursor:pointer;color:var(--accent, #007bff);font-size:.85rem;font-weight:600}.bell-dropdown-footer button:hover{text-decoration:underline}.main-content{flex:1;overflow-y:auto;padding:28px 32px}@media (max-width: 768px){.sidebar{width:60px;min-width:60px}.logo-text,.logo-sub,.nav-label,.nav-item span:last-child,.user-info,.logout-btn{display:none}.nav-item{justify-content:center;padding:12px}.sidebar-logo{justify-content:center;padding:16px 0}.sidebar-bottom{justify-content:center}.main-content{padding:16px}}.login-page{min-height:100vh;background:var(--braun-dunkel);display:flex;align-items:center;justify-content:center;padding:20px}.login-card{background:var(--weiss);border-radius:16px;padding:40px 36px;width:100%;max-width:380px;box-shadow:0 20px 60px #0000004d;text-align:center}.login-logo{display:block;height:68px;width:auto;margin:0 auto 12px}.login-title{font-size:26px;font-weight:800;color:var(--braun-dunkel)}.login-sub{font-size:13px;color:var(--text-grau);margin-bottom:28px}.login-form{text-align:left}.login-error{background:#fee;border:1px solid #fcc;color:var(--rot);border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:14px;font-size:13px}.dashboard{width:100%}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-card{background:var(--weiss);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.stat-icon{font-size:22px;margin-bottom:6px}.stat-label{font-size:11px;color:var(--text-grau);text-transform:uppercase;letter-spacing:.8px}.stat-value{font-size:30px;font-weight:800;line-height:1.1;margin:4px 0}.stat-sub{font-size:11px;color:var(--text-grau)}.stat-orange .stat-value{color:var(--orange)}.stat-gruen .stat-value{color:var(--gruen)}.stat-blau .stat-value{color:var(--blau)}.stat-gold .stat-value{color:var(--gold)}.dash-grid{display:grid;grid-template-columns:1fr minmax(320px,420px);gap:18px}.zeit-widget{display:flex;align-items:center;justify-content:space-between;background:var(--braun-dunkel);border-radius:8px;padding:14px 16px;margin-bottom:14px}.zeit-uhr{font-size:30px;font-weight:800;color:var(--gold-hell);letter-spacing:2px}.team-list{display:flex;flex-direction:column;gap:8px}.team-row{display:flex;align-items:center;gap:9px}.team-avatar{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:10px;color:#fff;flex-shrink:0}.team-name{flex:1;font-size:13px;font-weight:600}.team-status{font-size:11px}.team-status.anwesend{color:var(--gruen)}.team-status.abwesend{color:var(--text-grau)}.team-zeit{font-size:12px;color:var(--text-grau);font-weight:600;min-width:32px;text-align:right}.termin-liste{display:flex;flex-direction:column;gap:8px}.termin-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:7px;background:var(--beige-hell);border-left:3px solid var(--border)}.termin-lieferung{border-left-color:var(--orange)}.termin-montage{border-left-color:var(--gruen)}.termin-besprechung{border-left-color:var(--blau)}.termin-datum{text-align:center;min-width:32px;font-size:10px;color:var(--text-grau)}.termin-tag{font-size:18px;font-weight:800;color:var(--text);line-height:1}@media (max-width: 1100px){.dash-grid{grid-template-columns:1fr}}@media (max-width: 900px){.stats-grid{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr 1fr}}@media (max-width: 500px){.stats-grid{grid-template-columns:1fr}}.projekte-page{padding-bottom:32px}.archiv-zeile:hover{background:#faf7f3}.archiv-zeile{transition:background .12s}.kanban-board{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;align-items:start;overflow-x:auto;padding-bottom:8px}@media (max-width: 1100px){.kanban-board{grid-template-columns:repeat(3,1fr)}}@media (max-width: 700px){.kanban-board{grid-template-columns:1fr 1fr}}.kanban-spalte{background:#f5f0ea;border-radius:var(--radius);overflow:hidden;min-width:0}.kanban-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--s-farbe)}.kanban-label{font-size:13px;font-weight:800;color:#fff;letter-spacing:.3px}.kanban-count{background:#ffffff40;color:#fff;font-size:12px;font-weight:700;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center}.kanban-karten{padding:10px 8px;display:flex;flex-direction:column;gap:8px;min-height:60px}.kanban-leer{font-size:12px;color:#bbb;text-align:center;padding:16px 8px}.projekt-karte{background:#fff;border-radius:10px;padding:12px 14px;cursor:pointer;border:1.5px solid transparent;transition:all .12s;box-shadow:0 1px 4px #0000000f}.projekt-karte:hover{border-color:var(--gold);box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.pk-nr{font-size:10px;color:var(--text-grau);font-family:monospace;margin-bottom:4px}.pk-titel{font-size:14px;font-weight:700;color:var(--text);margin-bottom:3px;line-height:1.3}.pk-kunde{font-size:12px;color:var(--text-grau);margin-bottom:8px}.pk-footer{display:flex;justify-content:space-between;align-items:center}.pk-kat{font-size:10px;background:var(--beige);color:var(--text-grau);padding:2px 7px;border-radius:10px;font-weight:600}.pk-lt{font-size:11px;font-weight:800;padding:2px 8px;border-radius:10px}.pk-lt-gruen{background:#d5f5e3;color:#1e8449}.pk-lt-gelb{background:#fef9e7;color:#b7770d}.pk-lt-rot{background:#fde8e8;color:#c0392b}.projekt-karte:active{box-shadow:0 8px 24px #00000026}.kanban-drop-hint{font-size:12px;font-weight:700;text-align:center;padding:10px 8px;border:2px dashed;border-radius:8px;background:#fff9}.kalender-grid{overflow:hidden}.kal-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--beige-hell)}.kal-wt{text-align:center;font-size:11px;font-weight:700;color:var(--text-grau);padding:10px 4px;text-transform:uppercase;letter-spacing:.5px}.kal-body{display:grid;grid-template-columns:repeat(7,1fr)}.kal-tag{min-height:82px;border:1px solid var(--border);padding:6px 8px;cursor:pointer;transition:background .1s;overflow:hidden}.kal-tag:hover{background:var(--beige-hell)}.kal-tag.ander-monat{background:#fafafa}.kal-tag.ander-monat .kal-tag-nr{color:#ccc}.kal-tag.heute{background:#fff8e0}.kal-tag.heute .kal-tag-nr{background:var(--gold);color:var(--braun-dunkel);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-weight:800}.kal-tag.gewaehlt{background:#f0ece4;box-shadow:inset 0 0 0 2px var(--gold)}.kal-tag-nr{font-size:13px;font-weight:600;margin-bottom:4px}.kal-termine{display:flex;flex-direction:column;gap:2px;max-height:50px;overflow:hidden}.kal-termin-pill{font-size:10px;padding:2px 5px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.kal-mehr{font-size:10px;color:var(--text-grau);padding:1px 4px}.termin-detail{padding:12px 14px;border-radius:8px;background:var(--beige-hell);border-left:4px solid var(--border);margin-bottom:10px}@media (max-width: 1024px){.kal-tag{min-height:56px;padding:4px 5px}.kal-tag-nr{font-size:12px;margin-bottom:2px}.kal-termine{max-height:28px}.kal-termin-pill{font-size:9px;padding:1px 4px}.kal-mehr{font-size:9px;padding:0 3px}.termin-aktionen .btn{padding:7px 11px}}@media (max-width: 600px){.kal-tag{min-height:44px;padding:3px 4px}.kal-termine{display:none}.termin-aktionen{flex-wrap:wrap;justify-content:flex-end}.termin-aktionen .btn{padding:9px 13px;font-size:13px}}.zeit-hero{background:linear-gradient(135deg,var(--braun-dunkel),var(--braun-mittel));padding:28px 32px;display:flex;align-items:center;justify-content:space-between}.zeit-hero-label{font-size:12px;color:var(--braun-hell);text-transform:uppercase;letter-spacing:1px}.zeit-hero-uhr{font-size:52px;font-weight:800;color:var(--gold-hell);letter-spacing:4px;font-variant-numeric:tabular-nums}.zeit-hero-seit{font-size:12px;color:var(--braun-hell);margin-top:4px}.links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.link-karte{background:var(--weiss);border:2px solid var(--border);border-radius:var(--radius);padding:24px 20px;text-align:left;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden}.link-karte:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--link-farbe)}.link-karte:hover{border-color:var(--link-farbe);box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.link-karte:hover .link-pfeil{opacity:1}.link-add{opacity:.5;cursor:default}.link-add:hover{transform:none;box-shadow:none;border-color:var(--border)}.link-icon{font-size:32px;margin-bottom:4px}.link-name{font-size:17px;font-weight:800;color:var(--text)}.link-beschreibung{font-size:12px;color:var(--text-grau)}.link-url{font-size:11px;color:var(--link-farbe);font-weight:600;margin-top:4px}.link-pfeil{font-size:12px;color:var(--link-farbe);font-weight:700;opacity:0;transition:opacity .15s;margin-top:8px}.info-box{background:var(--weiss);border:1.5px solid var(--gold);border-radius:var(--radius);padding:18px 22px}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:2px;margin-bottom:16px;background:var(--weiss);border:1.5px solid var(--border);border-radius:var(--radius);padding:10px 16px}.bc-trenner{color:var(--text-grau);font-size:14px}.bc-item{background:none;border:none;padding:4px 8px;border-radius:6px;font-size:13px;font-weight:600;color:var(--text-grau);cursor:pointer;transition:all .12s}.bc-item:hover{background:var(--beige);color:var(--text)}.bc-item.aktiv{color:var(--text);font-weight:700;cursor:default}.bc-item.aktiv:hover{background:none}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:24px;text-align:center;transition:all .15s;cursor:default}.drop-zone.drag-over{border-color:var(--gold);background:var(--gold-hell)}.drop-zone.uploading{border-color:var(--gold);background:var(--beige)}.drop-text{font-size:14px;color:var(--text-grau);font-weight:600}.qr-url-status{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:var(--radius);margin-bottom:16px;font-size:13px;line-height:1.5}.qr-url-status.ok{background:#eafaf1;border:1.5px solid #27ae60}.qr-url-status.warnung{background:#fef9e7;border:1.5px solid #f39c12}.qr-url-status code{background:#00000012;padding:1px 6px;border-radius:4px;font-size:12px}.qr-tabs{display:flex;gap:8px;margin-bottom:20px}.qr-tab{padding:8px 20px;border:2px solid var(--border);border-radius:var(--radius);background:var(--weiss);font-size:14px;font-weight:700;color:var(--text-grau);cursor:pointer;transition:all .15s}.qr-tab.aktiv{border-color:var(--gold);background:var(--gold);color:var(--weiss)}.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.qr-karte{background:var(--weiss);border:1.5px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px}.qr-karte-name{font-size:18px;font-weight:800;color:var(--text);text-align:center}.qr-pair{display:flex;gap:16px;width:100%}.qr-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}.qr-item-label{font-size:10px;font-weight:800;letter-spacing:.5px;color:var(--text-grau)}.qr-img{width:120px;height:120px;border-radius:8px}.qr-url{font-size:9px;color:var(--text-grau);word-break:break-all;text-align:center}.qr-actions{display:flex;gap:6px}*{box-sizing:border-box;margin:0;padding:0}.scan-page{min-height:100vh;background:#1a1a2e;display:flex;flex-direction:column;align-items:center;padding:24px 16px 40px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.scan-logo{color:#c9a96e;font-size:22px;font-weight:900;letter-spacing:1px;margin-bottom:20px}.scan-card{background:#fff;border-radius:20px;padding:24px 20px;width:100%;max-width:400px;box-shadow:0 20px 60px #0006;display:flex;flex-direction:column;gap:12px}.scan-card.scan-erfolg{border-top:6px solid #27ae60}.scan-card.scan-info{border-top:6px solid #f39c12}.scan-card.scan-fehler{border-top:6px solid #e74c3c}.scan-icon{font-size:60px;text-align:center;line-height:1}.scan-text{font-size:18px;font-weight:700;color:#2c3e50;text-align:center;line-height:1.4}.scan-zeit{font-size:14px;color:#7f8c8d;text-align:center}.scan-spinner{width:48px;height:48px;border:4px solid #eee;border-top-color:#c9a96e;border-radius:50%;animation:spin .8s linear infinite;margin:8px auto}.scan-auftrag-box{background:#f8f6f2;border-radius:14px;padding:14px 16px;border-left:4px solid #c9a96e}.scan-auftrag-nr{font-size:22px;font-weight:900;color:#c9a96e}.scan-auftrag-titel{font-size:16px;font-weight:700;color:#2c3e50;margin-top:2px}.scan-auftrag-kunde{font-size:13px;color:#7f8c8d;margin-top:2px}.scan-liefertermin{display:flex;align-items:center;gap:12px;border-radius:12px;padding:12px 14px}.scan-liefertermin.ok{background:#eafaf1;border:1.5px solid #27ae60}.scan-liefertermin.kritisch{background:#fef9e7;border:1.5px solid #f39c12}.scan-liefertermin.ueberschritten{background:#fdf2f0;border:1.5px solid #e74c3c}.lt-icon{font-size:28px;flex-shrink:0}.lt-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#95a5a6}.lt-datum{font-size:17px;font-weight:800;color:#2c3e50}.lt-tage{font-size:12px;color:#555;margin-top:2px}.scan-liefertermin.ueberschritten .lt-tage{color:#e74c3c;font-weight:700}.scan-liefertermin.kritisch .lt-tage{color:#e67e22;font-weight:700}.scan-warnungen{background:#fdf2f0;border:1.5px solid #e74c3c;border-radius:12px;padding:12px 14px}.warn-titel{font-size:13px;font-weight:700;color:#c0392b;margin-bottom:6px}.warn-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-top:1px solid #fad7d0}.warn-name{font-size:13px;color:#2c3e50;font-weight:600}.warn-tage{font-size:12px;color:#e74c3c;font-weight:800;background:#fad7d0;padding:2px 8px;border-radius:20px}.scan-section-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#95a5a6;margin-top:4px}.scan-ma-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.scan-ma-btn{padding:14px 8px;border:2px solid #e0d8cc;border-radius:10px;background:#fff;font-size:15px;font-weight:700;color:#2c3e50;cursor:pointer;transition:all .12s}.scan-ma-btn.aktiv{border-color:#c9a96e;background:#fdf6ec;color:#b8945a}.scan-ag-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.scan-ag-btn{padding:12px 8px;border:2px solid var(--ag-farbe, #9a8a70);border-radius:10px;background:#fff;color:var(--ag-farbe, #9a8a70);font-size:14px;font-weight:800;cursor:pointer;transition:all .12s}.scan-ag-btn:hover{background:var(--ag-farbe, #9a8a70);color:#fff}.scan-ag-gewaehlt{font-size:18px;font-weight:800;padding:12px 16px;background:#f8f6f2;border-radius:10px;display:flex;align-items:center;justify-content:space-between}.ag-reset-btn{background:none;border:none;font-size:20px;cursor:pointer;color:#95a5a6;line-height:1}.scan-qr-btn{width:100%;padding:14px;border:2px dashed #c9a96e;border-radius:12px;background:#fdf6ec;color:#b8945a;font-size:15px;font-weight:700;cursor:pointer;transition:all .15s}.scan-qr-btn.aktiv{background:#3d2b1f;color:#c9a96e;border-style:solid}.scan-oder{text-align:center;font-size:12px;color:#95a5a6;font-weight:600;letter-spacing:.5px}.scan-weiter-btn,.scan-stempel-btn{width:100%;padding:16px;border:none;border-radius:12px;background:#c9a96e;color:#fff;font-size:16px;font-weight:800;cursor:pointer;transition:background .15s;margin-top:4px}.scan-weiter-btn:hover:not(:disabled),.scan-stempel-btn:hover:not(:disabled){background:#b8945a}.scan-weiter-btn:disabled,.scan-stempel-btn:disabled{background:#d0c9c0;cursor:default}.scan-back-btn{background:none;border:none;color:#95a5a6;font-size:14px;font-weight:600;cursor:pointer;text-align:center;padding:4px}.holzli-char{width:110px;height:155px;margin:0 auto 4px;flex-shrink:0}@keyframes hlz-sc-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes hlz-sc-wave-arm{0%{transform:rotate(0)}15%{transform:rotate(-58deg)}30%{transform:rotate(-82deg)}50%{transform:rotate(-55deg)}65%{transform:rotate(-80deg)}80%{transform:rotate(-50deg)}to{transform:rotate(0)}}@keyframes hlz-sc-blink{0%,90%,to{transform:scaleY(1)}94%,96%{transform:scaleY(.07)}}@keyframes hlz-sc-nod{0%,to{transform:translateY(0)}30%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.holzli-idle,.holzli-wave{animation:hlz-sc-idle 3s ease-in-out infinite}.holzli-wave #sc-arm-r{animation:hlz-sc-wave-arm .78s ease-in-out 4}.holzli-nod{animation:hlz-sc-nod .65s ease-in-out 3}.holzli-char #sc-eye-l{animation:hlz-sc-blink 4.5s ease-in-out 1.2s infinite}.holzli-char #sc-eye-r{animation:hlz-sc-blink 4.5s ease-in-out 1.5s infinite}.scan-erfolg-name{font-size:26px;font-weight:900;color:#2c3e50;text-align:center}.scan-erfolg-text{font-size:18px;font-weight:700;color:#2c3e50;text-align:center;line-height:1.4}.scan-erfolg-sub{font-size:15px;color:#27ae60;font-weight:600;text-align:center;line-height:1.5}.scan-card.scan-info .scan-erfolg-sub{color:#e67e22}.scan-info-name{font-size:22px;font-weight:900;color:#2c3e50;text-align:center}.scan-info-text{font-size:16px;font-weight:600;color:#2c3e50;text-align:center;line-height:1.4}.scan-info-sub{font-size:13px;color:#7f8c8d;text-align:center}.scan-erinnert-banner{background:#eafaf1;border:1.5px solid #27ae60;border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:2px;position:relative}.erinnert-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#27ae60}.erinnert-name{font-size:20px;font-weight:900;color:#1e8449}.erinnert-andere-btn{position:absolute;top:10px;right:12px;background:none;border:1px solid #27ae60;border-radius:20px;color:#27ae60;font-size:12px;font-weight:600;padding:4px 10px;cursor:pointer}.erinnert-andere-btn:hover{background:#d5f5e3}.scan-nicht-eingestempelt{display:flex;align-items:flex-start;gap:12px;background:#fdf2f0;border:1.5px solid #e74c3c;border-radius:12px;padding:14px 16px}.nein-icon{font-size:28px;flex-shrink:0}.nein-titel{font-size:15px;font-weight:800;color:#c0392b}.nein-text{font-size:13px;color:#7f8c8d;margin-top:3px;line-height:1.4}.scan-tageszeit{background:#eafaf1;border:1.5px solid #27ae60;border-radius:10px;padding:10px 16px;font-size:15px;color:#1e8449;text-align:center}.scan-tageszeit strong{font-size:22px;display:block;margin-top:2px}.scan-tages-projekte{border-top:1.5px solid #f0ede8;padding-top:12px;display:flex;flex-direction:column;gap:8px}.tages-proj-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#95a5a6;margin-bottom:2px}.tages-proj-item{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 12px;background:#f8f6f2;border-radius:10px}.tages-proj-info{flex:1;min-width:0}.tages-proj-titel{font-size:13px;font-weight:700;color:#2c3e50;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tages-proj-ag{font-size:11px;color:#95a5a6;margin-top:1px}.tages-proj-dauer{font-size:13px;font-weight:800;color:#c9a96e;white-space:nowrap;flex-shrink:0}.scan-gruss-box{background:linear-gradient(135deg,#eafaf1,#c8f0da);border:3px solid #27ae60;border-radius:20px;padding:22px 24px;text-align:center;box-shadow:0 4px 18px #27ae602e;width:100%}.scan-gruss-zeile1{font-size:24px;font-weight:900;color:#1a7a3c;line-height:1.3;letter-spacing:-.3px}.scan-gruss-zeile2{font-size:14px;color:#27ae60;font-weight:600;margin-top:12px;line-height:1.6}.ios-cert-schritt{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border-radius:14px}.ios-cert-done{background:#eafaf1;border:1.5px solid #27ae60}.ios-cert-aktiv{background:#fff8f0;border:2px solid #c9a96e}.ios-cert-nr{font-size:22px;font-weight:900;color:#c9a96e;min-width:28px;text-align:center;line-height:1.2;margin-top:1px}.ios-cert-titel{font-size:15px;font-weight:800;color:#2c3e50}.ios-cert-sub{font-size:13px;color:#7f8c8d;margin-top:3px;line-height:1.5}.ios-cert-download-btn{display:block;background:linear-gradient(135deg,#c9a96e,#a07840);color:#fff;border:none;border-radius:14px;padding:16px;font-size:17px;font-weight:800;text-align:center;text-decoration:none;cursor:pointer;box-shadow:0 4px 16px #c09a6459;transition:opacity .15s}.ios-cert-download-btn:hover{opacity:.88}.ios-cert-anleitung-schritt{display:flex;align-items:flex-start;gap:14px;background:#f8f4ef;border-radius:12px;padding:12px 14px;font-size:14px;color:#2c3e50;line-height:1.4}.ios-ca-nr{background:#c9a96e;color:#fff;font-weight:900;font-size:14px;border-radius:50%;min-width:26px;height:26px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.scan-wiedereinstieg{background:#fff8f0;border:2.5px solid #c9a96e;border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:10px;width:100%}.wrei-frage{font-size:16px;font-weight:800;color:#5a3a1a;text-align:center}.wrei-auftrag{font-size:15px;font-weight:700;color:#2c3e50;text-align:center;line-height:1.3}.wrei-ag{display:inline-block;align-self:center;font-size:13px;font-weight:700;border-radius:20px;padding:4px 14px;text-align:center}.wrei-btns{display:flex;gap:10px;margin-top:4px}.wrei-ja{flex:2;background:#27ae60;color:#fff;border:none;border-radius:12px;padding:14px 8px;font-size:15px;font-weight:800;cursor:pointer;transition:background .15s}.wrei-ja:hover:not(:disabled){background:#219a52}.wrei-ja:disabled{opacity:.65;cursor:default}.wrei-nein{flex:1;background:#f0ede8;color:#7f8c8d;border:none;border-radius:12px;padding:14px 8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.wrei-nein:hover{background:#e8e2db;color:#5d6d7e}.scan-ag-warnung{background:#fef9e7;border:1.5px solid #f39c12;border-radius:10px;padding:12px 14px}.ag-warn-titel{font-size:14px;font-weight:800;color:#e67e22;margin-bottom:4px}.ag-warn-text{font-size:12px;color:#7f8c8d;line-height:1.5}.anfragen-page{padding-bottom:40px}.af-toast{position:fixed;top:20px;right:24px;z-index:9999;padding:14px 22px;border-radius:10px;font-size:14px;font-weight:700;box-shadow:0 4px 20px #0000002e;cursor:pointer;animation:af-toast-in .25s ease;max-width:380px}.af-toast-erfolg{background:#27ae60;color:#fff}.af-toast-fehler{background:#e74c3c;color:#fff}@keyframes af-toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.af-statistik{background:#fff;border-radius:var(--radius);border:1px solid var(--border);padding:18px 20px;margin-bottom:0;display:flex;flex-direction:column;gap:16px}.af-kpis{display:flex;gap:12px;flex-wrap:wrap}.af-kpi{background:var(--beige);border-radius:10px;padding:12px 20px;min-width:90px;display:flex;flex-direction:column;align-items:center;gap:2px}.af-kpi-blau{background:#eaf4fd}.af-kpi-gruen{background:#eafaf1}.af-kpi-rot{background:#fdf0ef}.af-kpi-gold{background:#fef9e7}.af-kpi-zahl{font-size:26px;font-weight:900;color:var(--dunkel);line-height:1}.af-kpi-blau .af-kpi-zahl{color:#2980b9}.af-kpi-gruen .af-kpi-zahl{color:#27ae60}.af-kpi-rot .af-kpi-zahl{color:#e74c3c}.af-kpi-gold .af-kpi-zahl{color:#b7770d}.af-kpi-label{font-size:11px;font-weight:600;color:var(--text-grau);text-transform:uppercase;letter-spacing:.4px}.af-charts{display:flex;gap:16px;flex-wrap:wrap}.af-chart-card{background:var(--beige);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;min-width:160px}.af-chart-monatlich{flex:1;min-width:240px}.af-chart-titel{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--text-grau)}.af-donut-wrap{position:relative;width:110px;height:110px;align-self:center}.af-donut-svg{width:110px;height:110px}.af-donut-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.af-donut-pct{font-size:20px;font-weight:900;color:var(--dunkel);line-height:1}.af-donut-sub{font-size:10px;color:var(--text-grau);font-weight:600}.af-donut-legende{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--text-grau)}.af-donut-legende span{display:flex;align-items:center;gap:4px}.af-legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0}.af-chart-bars{display:flex;align-items:flex-end;gap:5px;height:88px;padding-bottom:18px}.af-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;height:100%;justify-content:flex-end}.af-bar-stack{width:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:1px}.af-bar-verloren{background:#e74c3c;border-radius:2px 2px 0 0;opacity:.85;transition:height .3s;min-width:4px}.af-bar-gewonnen{background:#27ae60;border-radius:2px 2px 0 0;opacity:.9;transition:height .3s;min-width:4px}.af-bar-label{font-size:9px;color:#aaa;font-family:monospace;text-align:center;white-space:nowrap}.af-chart-leer{font-size:12px;color:#bbb;text-align:center;padding:24px 0}.anfragen-board{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:start;overflow-x:auto}@media (max-width: 1100px){.anfragen-board{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.anfragen-board{grid-template-columns:1fr}.af-charts{flex-direction:column}}.anfragen-spalte{background:#f5f0ea;border-radius:var(--radius);overflow:hidden;min-width:0;transition:outline .1s}.anfragen-spalte-ziel{outline:2px dashed var(--ziel-farbe, var(--gold));border-radius:var(--radius)}.anfragen-spalte-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--af-farbe);font-size:13px;font-weight:800;color:#fff;letter-spacing:.3px}.anfragen-count{background:#ffffff40;color:#fff;font-size:12px;font-weight:700;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center}.anfragen-karten{padding:10px 8px;display:flex;flex-direction:column;gap:8px;min-height:80px}.anfragen-leer{font-size:12px;color:#bbb;text-align:center;padding:20px 8px;border:1.5px dashed #ddd;border-radius:8px;margin:4px 0}.anfragen-datei-drop{margin:8px;padding:12px;background:#eaf3ff;border:2px dashed #3498db;border-radius:8px;font-size:12px;font-weight:700;color:#2980b9;text-align:center}.anfrage-karte{background:#fff;border-radius:10px;padding:12px 14px;border:1.5px solid transparent;box-shadow:0 1px 4px #0000000f;cursor:grab;transition:all .12s;display:flex;flex-direction:column;gap:6px}.anfrage-karte:hover{border-color:var(--gold);box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.anfrage-karte:active{cursor:grabbing}.ak-header{display:flex;justify-content:space-between;align-items:center}.ak-datum{font-size:11px;color:var(--text-grau);font-family:monospace}.ak-dl{font-size:11px;font-weight:800;padding:2px 7px;border-radius:10px}.ak-dl-gruen{background:#d5f5e3;color:#1e8449}.ak-dl-gelb{background:#fef9e7;color:#b7770d}.ak-dl-rot{background:#fde8e8;color:#c0392b}.ak-beschreibung{font-size:14px;font-weight:700;color:var(--text);line-height:1.3}.ak-kunde{font-size:12px;color:var(--text-grau)}.ak-kategorie{font-size:11px;color:#7f8c8d;background:#f0ede8;border-radius:5px;padding:2px 7px;display:inline-block;align-self:flex-start}.ak-wert{font-size:12px;font-weight:700;color:#b7770d}.ak-datei{font-size:11px;color:#7f8c8d;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ak-notiz{font-size:12px;color:var(--text-grau);background:var(--beige);border-radius:6px;padding:4px 8px;line-height:1.4}.ak-auftrag-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;color:#27ae60;background:#eafaf1;border:1px solid #a9dfbf;border-radius:6px;padding:3px 9px;cursor:pointer;transition:background .12s;align-self:flex-start}.ak-auftrag-badge:hover{background:#d5f5e3}.ak-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px;align-items:center}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--braun-dunkel: #2c2416;--braun-mittel: #3d3222;--braun-hell: #7a6a50;--gold: #c8a84b;--gold-hell: #e8c97a;--beige: #f0ece4;--beige-hell: #faf7f2;--weiss: #ffffff;--text: #2c2416;--text-grau: #9a8a70;--border: #e8e0d0;--gruen: #4a8c5c;--orange: #c8700a;--blau: #3a6ea8;--lila: #7a5ab8;--rot: #e05a3a;--shadow: 0 2px 8px rgba(0,0,0,.07);--radius: 10px;--radius-sm: 6px}body{font-family:Segoe UI,system-ui,sans-serif;background:var(--beige);color:var(--text);font-size:14px;line-height:1.5}button{cursor:pointer;font-family:inherit;font-size:inherit}input,select,textarea{font-family:inherit;font-size:inherit}a{text-decoration:none;color:inherit}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;border:none;transition:opacity .15s}.btn:hover{opacity:.85}.btn-primary{background:var(--gold);color:var(--braun-dunkel)}.btn-secondary{background:var(--beige);color:var(--text);border:1px solid var(--border)}.btn-danger{background:var(--rot);color:#fff}.btn-sm{padding:5px 12px;font-size:12px}.btn-lg{padding:11px 22px;font-size:15px}.card{background:var(--weiss);border-radius:var(--radius);box-shadow:var(--shadow)}.card-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}.card-body{padding:16px 20px}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700}.badge-angebot{background:#f0ebff;color:var(--lila)}.badge-planung{background:#e8f0fa;color:var(--blau)}.badge-produktion{background:#fff0e8;color:var(--orange)}.badge-lieferung,.badge-montage{background:#e8f5ee;color:var(--gruen)}.badge-abgeschlossen{background:#f0f0f0;color:#666}.badge-storniert{background:#fee;color:var(--rot)}.badge-grosskunde{background:#fff8e0;color:var(--gold)}.badge-kunde{background:var(--beige);color:var(--braun-hell)}.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.form-group label{font-size:12px;font-weight:600;color:var(--text-grau);text-transform:uppercase;letter-spacing:.5px}.form-control{padding:9px 12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--weiss);color:var(--text);transition:border-color .15s;width:100%}.form-control:focus{outline:none;border-color:var(--gold)}.form-row{display:grid;gap:14px}.form-row-2{grid-template-columns:1fr 1fr}.form-row-3{grid-template-columns:1fr 1fr 1fr}.table{width:100%;border-collapse:collapse}.table th{font-size:11px;color:var(--text-grau);text-transform:uppercase;letter-spacing:.8px;padding:0 12px 10px;text-align:left;border-bottom:1px solid var(--border)}.table td{padding:11px 12px;border-bottom:1px solid var(--beige-hell);vertical-align:middle}.table tbody tr:hover{background:var(--beige-hell)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.page-title{font-size:20px;font-weight:800}.search-bar{display:flex;align-items:center;gap:8px;background:var(--weiss);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:8px 14px;flex:1;max-width:340px}.search-bar input{border:none;outline:none;background:transparent;flex:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--weiss);border-radius:var(--radius);width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:17px;font-weight:700}.modal-close{background:none;border:none;font-size:22px;color:var(--text-grau);line-height:1}.modal-body{padding:20px 24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end}.empty-state{text-align:center;padding:48px 20px;color:var(--text-grau)}.empty-state .icon{font-size:48px;margin-bottom:12px}.empty-state p{font-size:15px}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading{display:flex;align-items:center;justify-content:center;padding:48px}.tag-typ{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.tag-lieferung{background:#fff0e8;color:var(--orange)}.tag-montage{background:#e8f5ee;color:var(--gruen)}.tag-besprechung{background:#e8f0fa;color:var(--blau)}.tag-termin{background:var(--beige);color:var(--braun-hell)}.tag-urlaub{background:#f0ebff;color:var(--lila)}@media (max-width: 768px){.form-row-2,.form-row-3{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:12px}}
