.home__admin-hint{color:var(--text-muted);font-size:14px}.login__remember{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-3) 0 var(--space-4);font-size:15px;color:var(--text);cursor:pointer}.login__remember input{width:18px;height:18px;accent-color:var(--accent);flex:none}.login__card--checking{display:flex;align-items:center;justify-content:center;min-height:120px}.login__invite{color:var(--text-muted);font-size:13px;text-align:center}.login__card .btn svg{width:20px;height:20px}:root{--accent: #2563eb;--accent-hover: #1d4ed8;--accent-contrast: #ffffff;--navy: #172444;--navy-soft: #22305a;--nav-bg: #f5f8fe;--nav-active: #e5e8ee;--surface: #ffffff;--border: #eaeaea;--border-input: #e9e9e9;--text: #171b26;--text-muted: #66708a;--danger: #dc2626;--danger-soft: #fee2e2;--success: #16a34a;--success-soft: #dcfce7;--warning: #b45309;--warning-soft: #fef3c7;--tab-bg: #efefef;--overlay: rgba(17, 24, 39, .5);--focus: #2563eb;--radius: 10px;--radius-lg: 12px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sidebar-width: 64px;--nav-width: 232px;--card-max: 640px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 8px 24px rgba(16, 24, 40, .14)}[data-theme=dark]{--navy: #0f1830;--navy-soft: #1d2a50;--nav-bg: #1b2338;--nav-active: #27304a;--surface: #1f2937;--border: #374151;--border-input: #374151;--text: #f3f4f6;--text-muted: #9ca3af;--danger: #f87171;--danger-soft: rgba(220, 38, 38, .22);--success: #4ade80;--success-soft: rgba(22, 163, 74, .28);--warning: #fbbf24;--warning-soft: rgba(217, 119, 6, .25);--tab-bg: #172033;--overlay: rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{font-family:var(--font);font-size:16px;-webkit-text-size-adjust:100%}body{background:var(--nav-bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}#app{min-height:100vh}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5);border-radius:var(--radius);font-weight:600;font-size:16px;transition:background-color .15s ease,opacity .15s ease}.btn>span{display:inline-flex;align-items:center;gap:var(--space-2);line-height:1}.btn svg{display:block;flex-shrink:0}.btn--primary{background:var(--accent);color:var(--accent-contrast)}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn--secondary:hover:not(:disabled){background:var(--nav-bg)}.btn--danger{background:var(--danger);color:#fff}.btn:disabled{opacity:.55;cursor:not-allowed}.chip-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{min-height:36px;padding:7px 14px;border-radius:var(--radius-pill);border:1px solid var(--border-input);background:var(--surface);color:var(--accent);font-size:15px;font-weight:500;transition:background-color .12s ease,color .12s ease}.chip:hover:not(:disabled){border-color:var(--accent)}.chip--selected{background:var(--accent);border-color:var(--accent);color:#fff}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6)}.card__header{margin-bottom:var(--space-4)}.card__title{font-size:18px;font-weight:700}.card__subtitle{color:var(--text-muted);margin-top:var(--space-1);font-size:14px}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.field__label-row{display:flex;align-items:baseline}.field__label{font-weight:600;font-size:15px}.field__required{color:var(--danger);margin-left:2px}.field__input{min-height:48px;width:100%;padding:0 var(--space-3);border:1px solid var(--border-input);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:16px}.field__control{position:relative}.field__control--password .field__input{padding-right:52px}.field__reveal{position:absolute;top:0;right:0;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:var(--text-muted, var(--text));cursor:pointer;border-radius:var(--radius)}.field__reveal svg{width:20px;height:20px}textarea.field__input{min-height:96px;padding:var(--space-3);resize:vertical}.field__input:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--accent)}.field--error .field__input{border-color:var(--danger)}.field__hint{color:var(--text-muted);font-size:13px}.field__error{color:var(--danger);font-size:14px}.select{display:flex;flex-direction:column;gap:var(--space-2)}.select__label{font-weight:600;font-size:15px}.select__control{min-height:48px;width:100%;padding:0 var(--space-3);border:1px solid var(--border-input);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:16px}.switch{display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer}.switch__input{position:absolute;width:1px;height:1px;opacity:0}.switch__track{position:relative;width:44px;height:24px;flex:none;border-radius:var(--radius-pill);background:var(--nav-active);transition:background-color .15s ease}.switch__thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .15s ease}.switch__input:checked+.switch__track{background:var(--accent)}.switch__input:checked+.switch__track .switch__thumb{transform:translate(20px)}.switch__input:focus-visible+.switch__track{outline:2px solid var(--focus);outline-offset:2px}.switch__label{font-size:15px}.dialog__overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--overlay)}.dialog{width:100%;max-width:480px;padding:var(--space-6);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.dialog__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.dialog__title{font-size:18px;font-weight:700}.dialog__close{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);padding:var(--space-1);border-radius:var(--radius)}.dialog__close:hover{background:var(--nav-bg)}.dialog__body{color:var(--text)}.dialog__actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6)}.toast__container{position:fixed;bottom:96px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:var(--space-2);width:min(420px,calc(100% - 32px))}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow-md)}.toast--success{border-left-color:var(--success)}.toast--error{border-left-color:var(--danger)}.toast__message{flex:1;font-size:15px}.toast__close{color:var(--text-muted);display:inline-flex}.spinner{display:inline-block;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;color:var(--text-muted)}.empty__icon{color:var(--text-muted)}.empty__title{font-weight:600;color:var(--text)}.empty__desc{font-size:14px}.badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600}.badge--planned,.badge--pending{background:var(--warning-soft);color:var(--warning)}.badge--active,.badge--sent{background:var(--success-soft);color:var(--success)}.badge--revoked,.badge--failed{background:var(--danger-soft);color:var(--danger)}.badge--used,.badge--expired,.badge--neutral{background:var(--nav-active);color:var(--text-muted)}.section-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.copy-button{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--accent);font-size:15px;font-weight:500}.copy-button svg{width:18px;height:18px}.sidebar{position:sticky;top:0;height:100vh;grid-column:1 / 3;display:flex}.sidebar__profile{width:var(--sidebar-width);background:var(--navy);display:flex;flex-direction:column;align-items:center;padding:var(--space-4) 0;gap:var(--space-3)}.sidebar__profile-spacer{flex:1}.sidebar__avatar{width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;background:var(--navy-soft)}.sidebar__avatar--active{background:var(--accent)}.sidebar__icon-btn{display:inline-flex;align-items:center;justify-content:center;color:#fff;opacity:.85;padding:var(--space-2);border-radius:var(--radius)}.sidebar__icon-btn:hover{opacity:1;background:var(--navy-soft)}.sidebar__nav{width:var(--nav-width);background:var(--nav-bg);display:flex;flex-direction:column;padding:var(--space-4) var(--space-3);gap:var(--space-4);overflow-y:auto}.sidebar__group{display:flex;flex-direction:column;gap:var(--space-1)}.sidebar__site{font-size:14px;color:var(--text-muted);padding:var(--space-2) var(--space-3);word-break:break-word}.sidebar__spacer{flex:1}.nav__item{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius);color:var(--text);font-size:15px;font-weight:500;text-align:left}.nav__item svg{width:20px;height:20px;color:var(--text-muted)}.nav__item:hover{background:var(--nav-active)}.nav__item--active{background:var(--nav-active);font-weight:600}.nav__item--active svg{color:var(--accent)}.header{position:sticky;top:0;z-index:50;background:var(--nav-bg);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.header__row{display:flex;align-items:center;gap:var(--space-3)}.header__logo{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius);background:var(--accent);color:#fff}.header__name{flex:1;font-weight:700;font-size:17px}.header__actions{display:flex;gap:var(--space-2)}.header__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius);color:var(--text)}.header__icon:hover{background:var(--nav-active)}.tabbar{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:60;display:flex;width:min(480px,calc(100% - 24px));background:var(--tab-bg);border-radius:var(--radius-lg);padding:6px;box-shadow:var(--shadow-md)}.tabbar__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:var(--radius);color:var(--text-muted);font-size:11px;font-weight:600}.tabbar__item svg{width:22px;height:22px}.tabbar__item--active{color:var(--accent)}.page{display:flex;justify-content:center;padding:var(--space-6) var(--space-4);background:var(--surface)}.page__card{width:100%;max-width:var(--card-max);align-self:flex-start}.page__header{margin-bottom:var(--space-5)}.page__title{font-size:24px;font-weight:800}.page__subtitle{color:var(--text-muted);margin-top:var(--space-1);font-size:15px}.login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);padding:var(--space-6)}.login__card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);box-shadow:var(--shadow-sm)}.login__brand{text-align:center;margin-bottom:var(--space-6)}.login__logo{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius);background:var(--accent);color:#fff;margin-bottom:var(--space-3)}.login__title{font-size:22px;font-weight:800}.login__subtitle{color:var(--text-muted);margin-top:var(--space-1);font-size:14px}.login__error{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius);padding:var(--space-3);margin-bottom:var(--space-4);font-size:14px}.login__prefs{margin-top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.app-footer{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border);text-align:center;color:var(--text-muted);font-size:12px;line-height:1.7}.app-footer__sep{margin:0 6px;color:var(--text-muted)}@media(min-width:900px){.app{display:grid;grid-template-columns:var(--sidebar-width) var(--nav-width) 1fr;min-height:100vh}.header,.tabbar{display:none}.page{grid-column:3}}@media(max-width:899px){.app{display:block;min-height:100vh;padding-bottom:88px}.sidebar{display:none}}.page__body>.card+.card,.page__body>.card+.rows,.page__body>.rows+.card{margin-top:var(--space-4)}.rows{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.row:last-child{border-bottom:none}.row__main{flex:1;min-width:0}.row__title{font-weight:600;font-size:15px}.row__sub{color:var(--text-muted);font-size:13px}.row__aside{display:flex;align-items:center;gap:var(--space-3);flex:none}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0}.switch-row__label{font-size:15px}.door-grid{display:flex;flex-direction:column;gap:var(--space-4)}.door-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);width:100%;min-height:140px;border-radius:var(--radius-lg);font-size:20px;font-weight:700;color:#fff}.door-btn svg{width:40px;height:40px}.door-btn--haustuer{background:var(--accent)}.door-btn--haustuer:hover:not(:disabled){background:var(--accent-hover)}.door-btn--wohnung{background:var(--navy)}.door-btn--wohnung:hover:not(:disabled){background:var(--navy-soft)}.door-btn:disabled{opacity:.5;cursor:not-allowed}.door-btn__hint{font-size:13px;font-weight:500;opacity:.85}.info-block{background:var(--nav-bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.info-block__title{font-weight:600;font-size:14px;margin-bottom:var(--space-2)}.info-block__value{font-size:15px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:22px;letter-spacing:.2em;color:var(--text-muted)}.invite-link{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.invite-link__url{word-break:break-all;font-size:13px;color:var(--text-muted);background:var(--nav-bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3)}.qr{display:flex;justify-content:center;margin:var(--space-4) 0}.qr svg{width:200px;height:200px}.hint-list{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);color:var(--text-muted);font-size:13px}
