:root{--bg:#f4f7fb;--surface:#fff;--header-bg:#ffffffd1;--border:#dfe8f3;--text:#1f2937;--text-h:#0f172a;--muted:#64748b;--primary:#2563eb;--primary-soft:#2563eb1a;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:400;line-height:1.5}body[data-theme=dark]{--bg:#0f172a;--surface:#111c2f;--header-bg:#0f172acc;--border:#94a3b82e;--text:#dbeafe;--text-h:#f8fafc;--muted:#9fb5d8;--primary:#60a5fa;--primary-soft:#60a5fa1f}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);min-height:100vh;color:var(--text)}button,input{font:inherit}h1,h2,h3,p{margin-top:0}small{font-size:.78rem}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg-primary:#0f172a;--color-bg-secondary:#1e293b;--color-bg-tertiary:#334155;--color-text-primary:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-tertiary:#7dd3fc;--color-border:#94a3b833;--color-accent:#3b82f6;--color-accent-light:#60a5fa;--color-gradient-start:#2563eb;--color-gradient-end:#60a5fa;--bg:#0f172a;--surface:#1e293b;--header-bg:#0f172af2;--border:#94a3b833;--text-h:#f8fafc;--text-s:#cbd5e1;--muted:#94a3b8;--btn-primary-bg:#3b82f6;--btn-primary-hover:#2563eb;--btn-secondary-bg:#94a3b81a;--btn-secondary-border:#94a3b84d;--btn-danger-bg:#ef444426;--btn-danger-border:#ef444466;--input-bg:#0f172a4d;--danger-text:#fecaca;--danger-text-strong:#fca5a5;--success-text:#86efac;--info-text:#93c5fd;--warning-text:#fbbf24;--purple-text:#c084fc}:root.light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg-primary:#fff;--color-bg-secondary:#f8fafc;--color-bg-tertiary:#e2e8f0;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#0284c7;--color-border:#47556933;--color-accent:#2563eb;--color-accent-light:#3b82f6;--color-gradient-start:#1d4ed8;--color-gradient-end:#2563eb;--bg:#fff;--surface:#f8fafc;--header-bg:#fffffff2;--border:#47556926;--text-h:#0f172a;--text-s:#475569;--muted:#64748b;--btn-primary-bg:#2563eb;--btn-primary-hover:#1d4ed8;--btn-secondary-bg:#4755691a;--btn-secondary-border:#4755694d;--btn-danger-bg:#ef44441a;--btn-danger-border:#ef44444d;--input-bg:#f1f5f9;--danger-text:#b91c1c;--danger-text-strong:#991b1b;--success-text:#15803d;--info-text:#1d4ed8;--warning-text:#92400e;--purple-text:#7e22ce}html{transition:background-color .3s,color .3s}body{background-color:var(--color-bg-primary);color:var(--color-text-primary)}:root{--button-padding-sm:8px 12px;--button-padding-md:12px 20px;--button-padding-lg:14px 24px;--button-border-radius:10px;--button-font-weight:500;--button-transition:all .2s ease;--input-padding:12px 16px;--input-height:44px;--input-border-radius:10px;--input-font-size:.95rem;--input-transition:all .2s ease;--shadow-sm:0 2px 8px #0000001a;--shadow-md:0 4px 16px #00000026;--shadow-lg:0 8px 24px #0003;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px}.login-shell{background:linear-gradient(135deg, #0b1220, #14233b 38%, var(--color-bg-primary));place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(480px,100%);color:var(--color-bg-tertiary);background:#0b111bbd;border:1px solid #3b82f633;border-radius:22px;padding:32px;box-shadow:0 30px 60px #0f172a6b}.login-header{margin-bottom:20px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:8px;font-size:.72rem;display:inline-block}.login-header h1{color:var(--color-text-primary);margin:0 0 8px;font-size:2rem}.login-header p{color:var(--color-text-secondary);margin:0}.login-card label{color:var(--color-text-secondary);gap:8px;margin-bottom:18px;font-size:.95rem;font-weight:500;display:grid}.login-card input{color:var(--color-text-primary);border-radius:var(--input-border-radius);padding:var(--input-padding);font-size:var(--input-font-size);height:var(--input-height);transition:var(--input-transition);background:#0f172ab8;border:1px solid #94a3b86b}.login-card input:focus{background:#0f172af2;border-color:#60a5fa99;outline:none;box-shadow:0 0 0 3px #3b82f61a}.login-card input::placeholder{color:#94a3b880}.login-card button,.ghost-button,.theme-toggle,.nav-item{border-radius:var(--button-border-radius);cursor:pointer;border:none}.login-card button,.ghost-button{background:linear-gradient(135deg, var(--color-gradient-start), var(--color-gradient-end));color:#fff;padding:var(--button-padding-md);transition:var(--button-transition);box-shadow:var(--shadow-md);font-weight:600}.login-card button:hover,.ghost-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.login-card button:active,.ghost-button:active{transform:translateY(0)}.login-card button:disabled{opacity:.66;cursor:not-allowed;transform:none}.security-note{color:var(--info-text);margin-top:14px;font-size:.85rem;display:block}.error-box,.global-alert{border-radius:var(--input-border-radius);color:var(--danger-text);background:#ef44441f;border:1px solid #ef444466;margin-bottom:12px;padding:12px 16px}.alert{border-radius:var(--input-border-radius);align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:.92rem;line-height:1.4;display:flex}.alert-icon{flex-shrink:0;font-size:1.05rem}.alert-text{word-break:break-word;flex:1}.alert-close{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:2px 6px;font-size:1.2rem;line-height:1;transition:opacity .15s,background .15s}.alert-close:hover{opacity:1;background:#00000014}.alert-error{color:var(--danger-text);background:#ef44441f;border:1px solid #ef444466}.alert-success{color:var(--success-text);background:#22c55e1f;border:1px solid #22c55e66}.alert-info{color:var(--info-text);background:#3b82f61f;border:1px solid #3b82f666}.alert-warning{color:var(--warning-text);background:#f59e0b1f;border:1px solid #f59e0b66}.primary-button{padding:var(--button-padding-md);background:linear-gradient(135deg, var(--color-gradient-start), var(--color-gradient-end));color:#fff;border-radius:var(--button-border-radius);font-weight:var(--button-font-weight);cursor:pointer;transition:var(--button-transition);box-shadow:var(--shadow-md);border:none;font-size:.95rem}.primary-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.primary-button:active{transform:translateY(0)}.primary-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.secondary-button{padding:var(--button-padding-md);background:var(--surface);color:var(--text-h);border:1.5px solid var(--border);border-radius:var(--button-border-radius);font-weight:var(--button-font-weight);cursor:pointer;transition:var(--button-transition);font-size:.95rem}.secondary-button:hover{background:var(--border);border-color:#60a5fa80}.secondary-button:active{transform:scale(.98)}.secondary-button:disabled{opacity:.5;cursor:not-allowed}.danger-button{padding:var(--button-padding-md);color:var(--danger-text);border-radius:var(--button-border-radius);font-weight:var(--button-font-weight);cursor:pointer;transition:var(--button-transition);background:#ef444426;border:1.5px solid #ef444466;font-size:.95rem}.danger-button:hover{background:#ef444440;border-color:#ef444499;box-shadow:0 4px 12px #ef444433}.danger-button:active{transform:scale(.98)}.danger-button:disabled{opacity:.5;cursor:not-allowed}.tertiary-button{padding:var(--button-padding-md);color:var(--color-gradient-end);border-radius:var(--button-border-radius);font-weight:var(--button-font-weight);cursor:pointer;transition:var(--button-transition);background:0 0;border:none;font-size:.95rem}.tertiary-button:hover{background:#60a5fa1a}.tertiary-button:active{transform:scale(.95)}.tertiary-button:disabled{opacity:.5;cursor:not-allowed}.ghost-button{padding:var(--button-padding-md);background:linear-gradient(135deg, var(--color-gradient-start), var(--color-gradient-end));color:#fff;border-radius:var(--button-border-radius);font-weight:var(--button-font-weight);cursor:pointer;transition:var(--button-transition);box-shadow:var(--shadow-md);border:none;font-size:.95rem}.toast-container{z-index:1000;flex-direction:column;gap:12px;max-width:400px;display:flex;position:fixed;top:24px;right:24px}.toast{color:var(--danger-text);background:#ef44441f;border:1px solid #ef444466;border-radius:12px;align-items:flex-start;gap:12px;padding:16px 20px;animation:.3s slideInRight;display:flex;box-shadow:0 8px 24px #0000004d}.toast.success{color:var(--success-text);background:#22c55e1f;border-color:#22c55e66}.toast.info{color:var(--info-text);background:#3b82f61f;border-color:#3b82f666}.toast.warning{color:var(--warning-text);background:#f59e0b1f;border-color:#f59e0b66}.toast-message{flex:1;font-size:.95rem;line-height:1.4}.toast-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:1.2rem;transition:opacity .2s}.toast-close:hover{opacity:1}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{to{opacity:0;transform:translate(100%)}}.app-shell,.app-wrapper{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.app-container,.content-shell{flex:1;grid-template-columns:240px minmax(0,1fr);height:calc(100vh - 56px);min-height:0;display:grid;overflow:hidden}.app-container.sidebar-hidden{grid-template-columns:minmax(0,1fr)}.topbar{z-index:200;background:var(--header-bg);border-bottom:1px solid var(--border);align-items:center;gap:12px;height:56px;min-height:56px;padding:0 20px;display:flex;position:sticky;top:0;overflow:visible}.brand-block{align-items:center;gap:12px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--color-gradient-start), var(--color-gradient-end));color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;display:inline-flex}.brand-block h2{color:var(--text-h);margin:0;font-size:1.3rem}.brand-block small{color:var(--muted)}.toolbar-right{align-items:center;gap:12px;display:flex}.theme-toggle{background:var(--surface);width:42px;height:42px;color:var(--text-h);border:1px solid var(--border);border-radius:10px;justify-content:center;align-items:center;font-size:1.2rem;transition:all .2s;display:flex}.theme-toggle:hover{background:var(--border);transform:scale(1.05)}.profile-dropdown-wrapper{z-index:300;position:relative}.profile-button{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text-h);white-space:nowrap;border-radius:10px;align-items:center;gap:8px;padding:5px 10px 5px 5px;font-size:.92rem;transition:all .2s;display:flex}.profile-button:hover{background:#60a5fa1a;border-color:#60a5fa66}.profile-avatar{background:linear-gradient(135deg, var(--color-gradient-start), var(--color-gradient-end));color:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:700;display:inline-flex}.profile-info{text-align:left;flex-direction:column;gap:2px;display:flex}.profile-name{color:var(--text-h);font-weight:500;display:block}.profile-role{color:var(--muted);font-size:.8rem;display:block}.dropdown-arrow{color:var(--muted);margin-left:4px;font-size:.7rem;transition:transform .2s}.profile-button[aria-expanded=true] .dropdown-arrow{transform:rotate(180deg)}.profile-dropdown-menu{background:var(--surface);border:1px solid var(--border);z-index:9999;border-radius:12px;min-width:210px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 12px 32px #00000040}.dropdown-indicator{color:var(--muted);font-size:.7rem;transition:transform .2s}.dropdown-indicator.open{transform:rotate(180deg)}.dropdown-item{text-align:left;width:100%;color:var(--text-h);cursor:pointer;transition:var(--button-transition);background:0 0;border:none;align-items:center;gap:12px;padding:14px 18px;font-size:.95rem;font-weight:500;display:flex}.dropdown-item:hover{color:var(--color-gradient-end);background:#60a5fa1f;padding-left:20px}.dropdown-item:active{background:#60a5fa33}.dropdown-item.logout{color:var(--danger-text)}.dropdown-item.logout:hover{color:var(--danger-text-strong);background:#ef444426;border-left:3px solid #ef4444;padding-left:15px}.dropdown-divider{background:var(--border);height:1px;margin:4px 0}.user-pill{display:none}.content-shell{flex:1;grid-template-columns:240px minmax(0,1fr);min-height:100%;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:16px 12px;display:flex;overflow:hidden auto}.sidebar nav{flex-direction:column;gap:2px;display:flex}.nav-group{flex-direction:column;display:flex}.nav-item{text-align:left;color:var(--text-h);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:.92rem;font-weight:500;transition:all .15s;display:flex}.nav-item:hover{background:#60a5fa14}.nav-item.active{color:var(--color-gradient-end);background:#2563eb24;border-color:#60a5fa4d}.nav-icon{flex-shrink:0;font-size:1rem;line-height:1}.nav-label{flex:1}.nav-arrow{color:var(--muted);font-size:.85rem;transition:transform .2s;display:inline-block}.nav-arrow.expanded{transform:rotate(90deg)}.nav-subpages{border-left:2px solid var(--border);flex-direction:column;gap:4px;margin-top:4px;margin-left:6px;padding-left:8px;display:flex}.nav-subpage{text-align:left;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;width:100%;padding:8px 10px 8px 14px;font-size:.88rem;transition:all .15s}.nav-subpage:hover{color:var(--text-h);background:#60a5fa14}.nav-subpage.active{color:var(--color-gradient-end);background:#2563eb1f;border-color:#0000;font-weight:500}.main-panel{padding:24px;overflow-y:auto}.panel{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:22px}.panel h3{color:var(--text-h);margin-top:0;margin-bottom:18px;font-size:1.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;display:grid}.stat-card{border:1px solid var(--border);background:linear-gradient(#2563eb1f,#0f172a05);border-radius:16px;flex-direction:column;gap:10px;padding:18px;display:flex}.stat-card span{color:var(--muted)}.stat-card strong{color:var(--text-h);font-size:2rem}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;padding:12px 10px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.profile-panel{max-width:720px}.profile-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:20px;display:grid}.profile-grid label{color:var(--muted);margin-bottom:10px;font-size:.9rem;font-weight:500;display:block}.value-box{border:1px solid var(--border);border-radius:var(--input-border-radius);padding:var(--input-padding);color:var(--text-h);height:var(--input-height);transition:var(--input-transition);background:#94a3b814;align-items:center;font-size:.95rem;display:flex}.profile-grid input,.profile-grid textarea,.profile-grid select{width:100%;padding:var(--input-padding);border:1px solid var(--border);border-radius:var(--input-border-radius);background:var(--input-bg);color:var(--text-h);font-size:var(--input-font-size);transition:var(--input-transition);height:var(--input-height);font-family:inherit}.profile-grid input:focus,.profile-grid textarea:focus,.profile-grid select:focus{background:#0f172a80;border-color:#60a5fa99;outline:none;box-shadow:0 0 0 3px #3b82f61a}.profile-grid input::placeholder,.profile-grid textarea::placeholder{color:#94a3b880}.tabs-container{margin-bottom:24px}.tabs-header{border-bottom:2px solid var(--border);scrollbar-width:none;-ms-overflow-style:none;gap:4px;display:flex;overflow:auto visible}.tabs-header::-webkit-scrollbar{display:none}.tab-button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:12px 18px;font-size:.95rem;font-weight:500;transition:color .2s;position:relative}.tab-button:hover{color:var(--text-h)}.tab-button.active{color:var(--color-gradient-end)}.tab-button.active:after{content:"";background:linear-gradient(135deg, var(--color-gradient-start), var(--color-gradient-end));height:2px;position:absolute;bottom:-2px;left:0;right:0}.tab-icon{margin-right:6px;font-size:1rem}.tab-label{display:inline-block}.tabs-content{animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.progress-spinner{border:2px solid var(--border);border-top-color:var(--accent,#4f8ef7);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.theme-toggle-button{background:linear-gradient(135deg, var(--color-gradient-start), var(--color-gradient-end));color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:.95rem;font-weight:500;transition:all .3s}.theme-toggle-button:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.theme-toggle-button:active{transform:translateY(0)}@media (width<=820px){.content-shell,.app-container:not(.sidebar-hidden){grid-template-columns:1fr;height:auto;overflow:visible}.topbar{flex-flow:wrap;align-items:center;gap:6px;height:auto;min-height:56px;padding:0 12px}.brand-text h2{font-size:.95rem}.brand-text small,.page-title{display:none}.header-spacer{flex:1;min-width:10px}.header-actions{gap:6px}.profile-name{display:none}.app-container,.content-shell{height:auto;min-height:0;overflow:visible}.main-panel{padding:12px;overflow-y:visible}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:10px}.stat-card strong{font-size:1.4rem}.card-grid{grid-template-columns:1fr;gap:8px}.panel{border-radius:12px;padding:14px}.profile-grid,.form-grid{grid-template-columns:1fr}.main-panel table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow:auto visible}.tab-bar{flex-wrap:wrap}.tab-btn{text-align:center;flex:auto;padding:8px 10px;font-size:.82rem}}.page-header{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-header h3{color:var(--text-h);margin:0;font-size:1.4rem}.page-subtitle{color:var(--muted);margin:4px 0 0;font-size:.9rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:8px;display:grid}.card-item{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;color:var(--text-h);border-radius:14px;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:20px 18px;transition:all .2s;display:flex}.card-item:hover{box-shadow:var(--shadow-md);background:#2563eb14;border-color:#60a5fa80;transform:translateY(-2px)}.card-item.static{cursor:default}.card-item.static:hover{transform:none}.card-icon{margin-bottom:4px;font-size:1.6rem;line-height:1}.card-name{color:var(--text-h);font-size:.95rem;font-weight:600}.card-count{color:var(--muted);font-size:.82rem}.back-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-h);cursor:pointer;white-space:nowrap;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:.9rem;transition:all .2s;display:inline-flex}.back-btn:hover{background:#60a5fa1a;border-color:#60a5fa66}.tab-bar{border-bottom:2px solid var(--border);gap:4px;margin-bottom:20px;padding-bottom:0;display:flex}.tab-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;margin-bottom:-2px;padding:10px 18px;font-size:.9rem;font-weight:500;transition:all .2s}.tab-btn:hover{color:var(--text-h);background:#60a5fa0f}.tab-btn.active{color:var(--color-gradient-end);border-bottom-color:var(--color-gradient-end);background:#2563eb14}.tab-content{margin-top:8px}.info-grid{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:0;display:flex;overflow:hidden}.info-row{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:14px 18px;display:flex}.info-row:last-child{border-bottom:none}.info-row span{color:var(--muted);flex-shrink:0;min-width:140px;font-size:.88rem}.info-row strong{color:var(--text-h);font-weight:500}.empty-hint{color:var(--muted);text-align:center;border:1px dashed var(--border);background:#94a3b80d;border-radius:12px;margin-top:12px;padding:24px;font-style:italic}.role-badge{border-radius:20px;padding:3px 10px;font-size:.8rem;font-weight:600;display:inline-block}.role-superadmin{color:var(--purple-text);background:#a855f726}.role-admin{color:var(--info-text);background:#3b82f626}.role-benutzer{color:var(--success-text);background:#22c55e26}.role-azubi{color:var(--warning-text);background:#fbbf2426}.status-active{color:var(--success-text);font-weight:500}.status-inactive{color:var(--muted);font-weight:500}.menu-toggle{border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.2rem;transition:all .2s;display:flex}.menu-toggle:hover{background:#60a5fa1a;border-color:#60a5fa66}.page-title h1{color:var(--text-h);margin:0;font-size:1.1rem;font-weight:600}.brand-logo{align-items:center;gap:10px;display:flex}.logo-badge{background:linear-gradient(135deg, var(--color-gradient-start), var(--color-gradient-end));color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;font-weight:700;display:flex}.brand-text h2{color:var(--text-h);margin:0;font-size:1.05rem;font-weight:700;line-height:1.2}.brand-text small{color:var(--muted);font-size:.72rem}.header-spacer{flex:1}.header-actions{align-items:center;gap:8px;display:flex}.icon-button{cursor:pointer;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;transition:all .2s;display:flex}.list-view{flex-direction:column;gap:2px;display:flex}.list-item{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;color:var(--text-h);border-radius:10px;align-items:center;gap:12px;width:100%;min-width:0;padding:12px 16px;transition:all .15s;display:flex;overflow:hidden}.list-item:hover{background:#2563eb0f;border-color:#60a5fa66}.list-icon{flex-shrink:0;font-size:1.1rem}.list-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.95rem;font-weight:500;overflow:hidden}.list-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;max-width:45%;font-size:.82rem;overflow:hidden}.list-arrow{color:var(--muted);flex-shrink:0;margin-left:4px;font-size:1rem}.page-header-actions{gap:4px;margin-left:auto;display:flex}.view-toggle{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--muted);border-radius:7px;justify-content:center;align-items:center;font-size:1rem;transition:all .15s;display:flex}.view-toggle:hover,.view-toggle.active{color:var(--color-gradient-end);background:#2563eb26;border-color:#60a5fa80}.template-selector{margin-top:8px}.audit-template-badge{color:var(--text-h);background:#2563eb1a;border:1px solid #60a5fa4d;border-radius:8px;align-items:center;gap:8px;margin-left:auto;padding:6px 12px;font-size:.88rem;display:flex}.status-badge{color:var(--color-gradient-end);background:#2563eb1f;border-radius:20px;padding:2px 8px;font-size:.8rem;font-weight:500;display:inline-block}.field-builder{flex-direction:column;gap:6px;display:flex}.field-builder-row{border:1px solid var(--border);background:#94a3b80d;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.field-order{width:24px;height:24px;color:var(--color-gradient-end);background:#2563eb1f;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.field-name-input{background:var(--surface);border:1px solid var(--border);color:var(--text-h);border-radius:7px;flex:1;min-width:0;padding:6px 10px;font-size:.9rem}.field-name-input:focus{border-color:#60a5fa99;outline:none;box-shadow:0 0 0 2px #3b82f61a}.field-builder-row select{background:var(--surface);border:1px solid var(--border);color:var(--text-h);cursor:pointer;border-radius:7px;padding:6px 10px;font-size:.88rem}.field-required-check{color:var(--muted);white-space:nowrap;cursor:pointer;align-items:center;gap:4px;font-size:.82rem;display:flex}.daten-raum{border:1px solid var(--border);border-radius:10px;margin-bottom:8px;overflow:hidden}.daten-raum-header{background:#94a3b80d;align-items:center;gap:10px;padding:12px 16px;font-size:.95rem;display:flex}.daten-audit-list{padding:4px 0}.daten-audit-item{color:var(--text-h);border-top:1px solid #94a3b81a;align-items:center;gap:10px;padding:8px 16px 8px 36px;font-size:.88rem;display:flex}.export-panel{flex-direction:column;gap:16px;display:flex}.export-mode-tabs{gap:8px;display:flex}.brand-section{align-items:center;display:flex}.brand-text h2{color:var(--text-h);margin:0;font-size:1.1rem;font-weight:700}.page-title{text-align:center;flex:1}.page-title span{color:var(--muted);font-size:.95rem;font-weight:500}.form-card input,.form-card select,.form-card textarea{width:100%;padding:var(--input-padding);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--input-border-radius);color:var(--text-h);font-size:var(--input-font-size);transition:var(--input-transition);box-sizing:border-box;font-family:inherit;display:block}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:#60a5fa99;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-card label{color:var(--muted);flex-direction:column;gap:6px;font-size:.88rem;font-weight:500;display:flex}.form-card h4{color:var(--text-h);margin:0 0 14px;font-size:1rem}table{border-radius:10px;overflow:hidden}thead{background:#94a3b80f}@media (width<=768px){.app-container,.content-shell{grid-template-columns:minmax(0,1fr);height:calc(100vh - 56px)}.sidebar{z-index:500;width:78vw;max-width:300px;animation:.2s slideInMobileNav;position:fixed;top:56px;bottom:0;left:0;box-shadow:6px 0 28px #0006}}@keyframes slideInMobileNav{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-nav-backdrop{display:none}@media (width<=768px){.mobile-nav-backdrop{z-index:490;background:#0f172a8c;animation:.2s fadeInBackdrop;display:block;position:fixed;inset:56px 0 0}}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.field-builder-item{flex-direction:column;gap:4px;display:flex}.field-type-select{background:var(--surface);border:1px solid var(--border);color:var(--text-h);cursor:pointer;border-radius:7px;min-width:90px;max-width:120px;padding:6px 8px;font-size:.85rem}tr.row-editing{outline-offset:-2px;background:#2563eb14;outline:2px solid #2563eb4d}.dropdown-options-row{background:#2563eb0d;border:1px solid #2563eb26;border-top:none;border-radius:0 0 7px 7px;align-items:center;gap:8px;padding:6px 10px 6px 36px;display:flex}.field-builder-section{border:1px solid var(--border);background:#94a3b80a;border-radius:12px;margin-bottom:16px;padding:14px 16px}.field-builder-section:last-child{margin-bottom:0}.field-builder-section-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.field-builder-section-header strong{color:var(--text-h);font-size:.92rem}.ground-data-card{border:1px solid var(--border);background:#94a3b80a;border-radius:12px;margin-top:20px;padding:16px 18px}.pdf-designer{flex-direction:column;gap:16px;display:flex}.pdf-designer-header{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding-bottom:16px;display:flex}.pdf-designer-header h4{color:var(--text-h);margin:0;font-size:1rem}.pdf-designer-body{grid-template-columns:1fr 320px;align-items:start;gap:20px;display:grid}@media (width<=900px){.pdf-designer-body{grid-template-columns:1fr}}.pdf-section-list{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;padding:16px;display:flex}.pdf-section-item{border:1px solid var(--border);cursor:default;background:#94a3b80a;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.pdf-section-icon{flex-shrink:0;font-size:1.1rem}.pdf-section-info{flex:1;min-width:0}.pdf-section-title-input{width:100%;color:var(--text-h);background:0 0;border:none;outline:none;padding:0;font-size:.9rem;font-weight:500;display:block}.pdf-section-title-input:focus{border-bottom:1px solid #60a5fa80}.pdf-section-type{color:var(--muted);font-size:.78rem}.pdf-designer-settings{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.pdf-designer-settings h4{color:var(--text-h);margin:0 0 14px;font-size:.95rem}.pdf-canvas-wrapper{flex-direction:column;gap:8px;display:flex}.pdf-canvas-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex}.pdf-toolbar-group{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pdf-toolbar-label{color:var(--muted);margin-right:4px;font-size:.82rem}.pdf-tool-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text-h);white-space:nowrap;border-radius:6px;padding:5px 10px;font-size:.82rem;transition:all .15s}.pdf-tool-btn:hover{background:#2563eb1a;border-color:#60a5fa80}.pdf-tool-btn.danger:hover{color:var(--danger-text-strong);background:#ef44441a;border-color:#ef444480}.pdf-canvas-area{align-items:flex-start;gap:16px;display:flex;overflow-x:auto}.pdf-page{background:#fff;border-radius:2px;flex-shrink:0;overflow:hidden;box-shadow:0 4px 20px #00000040}.pdf-properties h4{color:var(--text-h);margin:0 0 12px;font-size:.9rem}.pdf-format-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text-h);border-radius:5px;padding:4px 10px;font-size:.88rem;font-weight:700;transition:all .15s}.pdf-format-btn.active{color:var(--color-gradient-end);background:#2563eb33;border-color:#60a5fa99}.pdf-format-btn:hover{background:#2563eb1a}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.form-grid label{color:var(--muted);box-sizing:border-box;border-left:3px solid #0000;flex-direction:column;gap:6px;margin-bottom:0;padding-left:8px;font-size:.88rem;font-weight:500;transition:border-color .15s;display:flex}.form-grid label.full-width{grid-column:1/-1}.form-grid>div.full-width{box-sizing:border-box;border-left:3px solid #0000;padding-left:8px}.form-grid label.field-required-missing,.form-grid>div.full-width.field-required-missing{border-left-color:#ef4444}.form-grid label.field-required-ok,.form-grid>div.full-width.field-required-ok{border-left-color:#22c55e}.form-grid label.field-required-duplicate,.form-grid>div.full-width.field-required-duplicate{border-left-color:#eab308}.field-hint-warning{color:#eab308;margin-top:2px;font-size:.78rem;font-weight:500}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:var(--input-padding);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--input-border-radius);color:var(--text-h);font-size:var(--input-font-size);transition:var(--input-transition);box-sizing:border-box;font-family:inherit;display:block}.form-grid input[type=checkbox]{flex:none;width:auto;margin:0;padding:0;display:inline-block}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#60a5fa99;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-card{border:1px solid var(--border);background:#94a3b80f;border-radius:14px;margin-bottom:0;padding:20px}.form-card>h4{margin:0 0 16px}.form-card>button[type=submit],.form-card>button[type=button].primary-button,.form-card .form-grid+button,.form-card .form-grid+.primary-button,.form-card .form-grid+div{margin-top:16px}.form-inline-row{grid-template-columns:140px 1fr;align-items:center;gap:12px;padding:6px 0;display:grid}.form-inline-row label{color:var(--muted);font-size:.88rem;font-weight:500}.button-group{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}table{margin-top:0}.table-wrapper{margin-top:16px}.panel>.form-card+.table-wrapper,.panel>.form-card+table,.panel>.form-card+div>table{margin-top:24px}.pdf-global-settings{background:#3b82f60d;border:1px solid #3b82f626;border-radius:10px;padding:12px 16px}.pdf-canvas-body{align-items:flex-start;gap:12px;min-height:500px;display:flex;overflow-x:auto}.pdf-page-list{flex-direction:column;flex-shrink:0;gap:6px;width:120px;display:flex}.pdf-page-list-header{color:var(--muted);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:4px;padding-bottom:4px;font-size:.8rem;font-weight:600;display:flex}.pdf-page-thumb{border:2px solid var(--border);cursor:pointer;background:var(--surface);border-radius:6px;flex-direction:column;transition:border-color .15s;display:flex;overflow:hidden}.pdf-page-thumb:hover{border-color:#60a5fa80}.pdf-page-thumb.active{border-color:#3b82f6}.pdf-page-thumb-preview{background:#fff;justify-content:center;align-items:center;width:100%;min-height:60px;display:flex}.pdf-page-thumb-label{padding:2px 4px;font-size:.75rem}.pdf-page-settings-bar{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;padding:6px 8px;font-size:.85rem;display:flex}.pdf-canvas-scroll{flex-direction:column;flex-shrink:0;display:flex}.pdf-properties{background:var(--surface);border:1px solid var(--border);box-sizing:border-box;border-radius:10px;flex:1 0 320px;min-width:260px;max-width:460px;max-height:calc(100vh - 220px);padding:14px;overflow:hidden auto}.pdf-properties-empty{justify-content:center;align-items:center;min-height:100px;display:flex}.pdf-prop-group{border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:14px}.pdf-prop-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.pdf-prop-row2{grid-template-columns:1fr 1fr;gap:6px;display:grid}.pdf-prop-row2 label{color:var(--muted);flex-direction:column;gap:2px;font-size:.78rem;display:flex}.pdf-prop-row2 input{background:var(--input-bg);border:1px solid var(--border);color:var(--text-h);border-radius:5px;width:100%;padding:4px 6px;font-size:.82rem}.pdf-prop-group label{color:var(--muted);flex-direction:column;gap:3px;font-size:.82rem;font-weight:500;display:flex}.pdf-prop-group input[type=text],.pdf-prop-group input[type=number],.pdf-prop-group select,.pdf-prop-group textarea{background:var(--input-bg);border:1px solid var(--border);color:var(--text-h);box-sizing:border-box;border-radius:6px;width:100%;max-width:100%;padding:5px 7px;font-family:inherit;font-size:.82rem}.pdf-prop-group input[type=color]{cursor:pointer;border-radius:5px;width:100%;height:30px;padding:2px}.pdf-prop-group input[type=range]{cursor:pointer;width:100%}.pdf-checkbox-row{cursor:pointer;word-break:break-word;align-items:center;gap:6px;margin-bottom:4px;font-size:.82rem;flex-direction:row!important;font-weight:400!important;display:flex!important}.pdf-field-picker-group{margin-bottom:10px}.pdf-field-picker-group-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.76rem;font-weight:600;display:block}.pdf-toolbar-sep{background:var(--border);flex-shrink:0;width:1px;height:20px;margin:0 4px}@media (width<=600px){.dashboard-quick .card-grid{grid-template-columns:1fr}.list-meta{display:none}}.room-list{flex-direction:column;gap:12px;display:flex}.room-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.room-card-header{border-bottom:1px solid var(--border);background:#94a3b80f;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.room-card-name{color:var(--text-h);font-size:.95rem;font-weight:600}.room-card-fields{flex-wrap:wrap;gap:8px 20px;padding:10px 16px;display:flex}.room-field-item{align-items:center;gap:4px;font-size:.88rem;display:flex}.room-field-label{color:var(--muted);white-space:nowrap}.room-field-value{color:var(--text-h);font-weight:500}.room-card-images{scrollbar-width:none;gap:8px;padding:8px 16px;display:flex;overflow-x:auto}.room-thumb{object-fit:cover;cursor:zoom-in;border:2px solid #0000;border-radius:8px;flex-shrink:0;width:72px;height:72px;transition:border-color .15s}.room-thumb:hover{border-color:#60a5fa99}.room-image-upload{flex-direction:column;gap:10px;margin-top:4px;display:flex}.image-upload-btn{cursor:pointer;color:var(--color-gradient-end);background:#2563eb14;border:1px dashed #60a5fa80;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.88rem;transition:all .15s;display:inline-flex}.image-upload-btn:hover{background:#2563eb24}.room-image-thumbs{flex-wrap:wrap;gap:8px;display:flex}.room-image-thumb{border-radius:8px;width:80px;height:80px;position:relative;overflow:visible}.room-image-thumb img{object-fit:cover;cursor:zoom-in;border:2px solid var(--border);border-radius:8px;width:100%;height:100%}.thumb-remove{color:#fff;cursor:pointer;z-index:1;background:#ef4444;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:.7rem;display:flex;position:absolute;top:-6px;right:-6px}.gallery-modal-overlay{z-index:9999;background:#000000d9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.gallery-modal{background:var(--surface);border-radius:16px;flex-direction:column;width:min(900px,100vw - 40px);height:min(700px,100vh - 80px);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000080}.gallery-modal-close{color:#fff;cursor:pointer;z-index:10;background:#ef4444e6;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:background .15s;display:flex;position:absolute;top:12px;right:12px}.gallery-modal-close:hover{background:#dc2626}.gallery-modal-image-wrap{background:#0003;flex:1;justify-content:center;align-items:center;padding:40px 16px 8px;display:flex;overflow:hidden}.gallery-modal-image-wrap img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;max-height:100%}.gallery-modal-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.gallery-nav-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:40px;height:40px;color:var(--text-h);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;transition:all .15s;display:flex}.gallery-nav-btn:disabled{opacity:.3;cursor:not-allowed}.gallery-nav-btn:not(:disabled):hover{background:#60a5fa26;border-color:#60a5fa80}.gallery-modal-info{flex-direction:column;align-items:center;gap:6px;display:flex}.gallery-zoom-controls{align-items:center;gap:4px;font-size:.82rem;display:flex}.gallery-zoom-controls button{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:26px;height:26px;color:var(--text-h);border-radius:5px;justify-content:center;align-items:center;font-size:1rem;display:flex}.gallery-zoom-controls button:hover{background:#60a5fa1f}@media (width<=600px){.gallery-modal-overlay{padding:0}.gallery-modal{border-radius:0;width:100vw;height:80vh}.gallery-modal-image-wrap{padding:44px 8px 8px}}.styled-input{padding:var(--input-padding);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--input-border-radius);color:var(--text-h);font-size:var(--input-font-size);transition:var(--input-transition);box-sizing:border-box;font-family:inherit}.styled-input:focus{border-color:#60a5fa99;outline:none;box-shadow:0 0 0 3px #3b82f61a}.styled-select{padding:var(--input-padding);background:var(--input-bg);border:1px solid var(--border);border-radius:var(--input-border-radius);color:var(--text-h);font-size:var(--input-font-size);transition:var(--input-transition);box-sizing:border-box;cursor:pointer;font-family:inherit}.styled-select:focus{border-color:#60a5fa99;outline:none;box-shadow:0 0 0 3px #3b82f61a}.styled-select:hover{border-color:#94a3b880}.confirm-modal-overlay{z-index:10000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:min(440px,100%);padding:24px;box-shadow:0 24px 60px #00000080}.confirm-modal h4{color:var(--text-h);margin:0 0 12px;font-size:1.05rem}.confirm-modal p{color:var(--muted);margin:0 0 22px;font-size:.92rem;line-height:1.5}.confirm-modal-actions{justify-content:flex-end;gap:10px;display:flex}.detail-text-modal{width:min(560px,100%);max-height:80vh;overflow-y:auto}.detail-text-modal p{color:var(--text-h);max-height:55vh;overflow-y:auto}.link-button{color:var(--color-gradient-start,#3b82f6);font-size:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;text-decoration:underline}.link-button:hover{filter:brightness(1.15)}.truncatable-mobile{display:none}@media (width<=768px){.truncatable-desktop{display:none}.truncatable-mobile{display:inline}}.repeat-block-modal-overlay{z-index:10000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.repeat-block-modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:min(1100px,100%);max-height:92vh;padding:20px;overflow-y:auto;box-shadow:0 24px 60px #00000080}.repeat-block-modal-body{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.repeat-block-modal-canvas{background:#fff;border:1px solid #cbd5e1;flex-shrink:0;position:relative}@media (width<=900px){.pdf-canvas-wrapper{display:none}.pdf-designer:after{content:"🖥️ Der PDF-Designer ist für die Bearbeitung auf einem PC oder Tablet mit größerem Bildschirm ausgelegt. Bitte wechseln Sie das Gerät, um Designs zu erstellen oder zu bearbeiten.";background:var(--surface);border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:12px;margin-top:16px;padding:24px;font-size:.95rem;line-height:1.5;display:block}}
