:root{--gold:#ac8151;--rose:#c48e8a;--dark:#322829;--muted:#7b6f6e;--border:#eadbd6;--shadow:0 15px 50px rgba(123,79,78,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:15px/1.6 'Avenir Next','Helvetica Neue',Arial,sans-serif;color:var(--dark);background:#fff9f7 url('../assets/marble.svg') center / cover fixed}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}input,textarea{color:var(--dark)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:12px}.kicker{letter-spacing:.23em;font-size:10px;color:var(--gold);font-weight:700}.button{appearance:none;display:inline-flex;align-items:center;justify-content:center;border-radius:30px;border:1px solid var(--gold);padding:11px 19px;min-height:44px;font-size:13px;font-weight:650;background:white;color:var(--gold);transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #a67a5820}.button.primary{background:linear-gradient(110deg,#a97c50,#c9a575,#a47c56);color:#fff;border-color:#b79065}.button.danger{border-color:#cfa5a7;color:#994c58}.status{font-size:13px;min-height:20px;color:#9b515b}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(120deg,#fffdfaaf,#f9e2e1a3),url('../assets/marble.svg') center /cover}.login-card{background:#fffdfbe8;padding:clamp(25px,5vw,58px);border:1px solid #e8d6c9;border-radius:27px;box-shadow:0 25px 85px #9c66642a;width:min(490px,100%);text-align:center}.brand{font:italic 28px 'Bodoni MT',Georgia,serif;color:#a98762;display:flex;align-items:center;flex-direction:column;line-height:1.1}.brand strong{font:400 28px 'Bodoni MT',Georgia,serif;letter-spacing:.19em;color:var(--dark);margin:7px 0}.brand span{font-size:25px}.line{height:1px;width:80px;margin:16px auto 30px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.login-card h1{font:400 42px/1.1 'Bodoni MT',Georgia,serif;margin:8px 0}.login-card .muted{font-size:13px}.login-card form{display:grid;text-align:left;gap:12px;margin:22px 0 4px}.login-card label{font-size:12px;font-weight:700}.login-card input{padding:13px 15px;border:1px solid var(--border);border-radius:11px;background:#fff}.login-card .button{width:100%;margin:10px 0 0}#dashboard{min-height:100vh;display:grid;grid-template-columns:255px 1fr;background:#fff8f5ad}.sidebar{position:sticky;top:0;max-height:100vh;height:100vh;background:#fffaf9f2;border-right:1px solid var(--border);padding:37px 22px;display:flex;flex-direction:column;gap:24px}.admin-brand{display:flex;align-items:center;flex-direction:column;color:var(--gold)}.admin-brand .script{font:italic 28px 'Bodoni MT',Georgia,serif}.admin-brand strong{font:500 19px 'Bodoni MT',Georgia,serif;letter-spacing:.12em;color:var(--dark)}.admin-label{font-size:10px;text-align:center;letter-spacing:.25em;color:var(--gold);border-top:1px solid var(--border);padding-top:24px}.tabs{display:grid;gap:8px}.tab{border:0;background:transparent;border-radius:11px;padding:12px 13px;text-align:left;color:#766963;font-size:13px}.tab.active,.tab:hover{background:#f5e4e2;color:#8c6550}.sidebar-bottom{margin-top:auto;display:grid;gap:10px}.sidebar-link{text-align:left;border:0;background:transparent;font-size:12px;color:#846c63;padding:8px}.sidebar-link:hover{color:var(--gold)}.main-column{padding:35px clamp(22px,5vw,75px) 70px;min-width:0;max-width:1600px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px;gap:20px}.topbar h1{font:400 41px/1.15 'Bodoni MT',Georgia,serif;margin:5px 0 0}.pill{background:#fffdfb;border:1px solid var(--border);border-radius:30px;color:#8d7469;padding:8px 16px;font-size:11px;white-space:nowrap}.panel{background:#fffdfbec;border:1px solid var(--border);border-radius:22px;padding:clamp(22px,3.5vw,38px);box-shadow:var(--shadow)}.welcome{border-radius:17px;background:linear-gradient(115deg,#f7e2e0,#fff9f5);padding:clamp(25px,4vw,55px);display:flex;justify-content:space-between;align-items:center;gap:30px;position:relative;overflow:hidden}.welcome:before{content:'';position:absolute;inset:0;background:url('../assets/marble.svg') center/cover;opacity:.25}.welcome>div{position:relative}.welcome h2{font:400 clamp(35px,4.5vw,57px)/1.12 'Bodoni MT',Georgia,serif;margin:9px 0}.welcome h2 em{color:var(--gold);font-weight:400}.welcome p:not(.kicker){max-width:450px;color:#796a68}.welcome-art{font:200px Georgia,serif;color:#cca9869e;line-height:1}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:21px}.quick-grid button{border:1px solid var(--border);border-radius:16px;background:#fff;text-align:left;padding:25px 19px;display:flex;flex-direction:column;gap:7px}.quick-grid span{font-size:32px;color:var(--rose)}.quick-grid strong{font-family:Georgia,serif;font-size:20px;font-weight:400}.quick-grid small{color:var(--muted);font-size:11px}.info-note,.notice{border:1px solid #ead6cc;background:#fff7f1;color:#805e4d;border-radius:13px;padding:17px 20px;font-size:13px;margin-top:22px}.notice{margin:0 0 24px}.notice.error{background:#fff0f0;color:#983f4b;border-color:#e9b9c0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px}.section-heading h2{font:400 clamp(27px,3.8vw,41px) Georgia,serif;margin:5px 0}.panel h3{font:400 24px Georgia,serif;margin:30px 0 16px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.field-grid.one{grid-template-columns:1fr}.field-grid label,.service-field label,.gallery-entry label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#745e58}.field-grid input,.field-grid textarea,.service-field input,.service-field textarea,.gallery-entry input,.gallery-entry select{border-radius:10px;border:1px solid #e3cfca;background:#fff;padding:11px 13px;width:100%;font-size:14px;font-weight:400}.field-grid textarea,.service-field textarea{resize:vertical}.edit-form>.button{margin-top:26px}.service-field{border:1px solid var(--border);border-radius:15px;padding:22px;margin:15px 0;background:#fffcfb}.service-field h3{margin:0 0 15px;font-size:23px}.service-field-grid{display:grid;grid-template-columns:200px 1fr;gap:18px}.image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:24px}.image-entry{border:1px solid var(--border);background:#fff;border-radius:15px;padding:13px;min-width:0}.image-entry img{width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:10px}.image-entry strong{display:block;font-size:13px;margin:12px 0}.file-button{position:relative;width:100%;cursor:pointer}.file-button input{display:none}.upload-card{display:flex;align-items:center;gap:19px;padding:22px;border:1px dashed #d3b2ab;background:#fcf2f1;border-radius:16px;margin:18px 0 26px}.upload-icon{width:48px;height:48px;display:grid;place-items:center;background:#fff;border-radius:50%;font-size:28px;color:var(--gold)}.upload-card div:nth-child(2){flex:1}.upload-card strong{font-size:15px}.upload-card p{margin:4px 0 0;color:var(--muted);font-size:12px}.upload-card .button{white-space:nowrap;width:auto}.gallery-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gallery-entry{border:1px solid var(--border);border-radius:14px;background:#fff;display:grid;grid-template-columns:120px 1fr;gap:15px;padding:14px}.gallery-entry img{width:120px;height:160px;object-fit:cover;border-radius:9px}.gallery-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.gallery-controls .button{min-height:35px;padding:7px 11px;font-size:11px}.gallery-meta{display:grid;gap:8px}.gallery-meta label{font-size:11px}@media(max-width:1190px){.quick-grid{grid-template-columns:repeat(2,1fr)}.image-grid{grid-template-columns:repeat(2,1fr)}.gallery-editor{grid-template-columns:1fr}}@media(max-width:790px){#dashboard{display:block}.sidebar{height:auto;max-height:none;position:static;padding:17px 17px 9px;gap:12px}.admin-brand{align-items:flex-start}.admin-brand .script{font-size:20px}.admin-brand strong{font-size:16px}.admin-label{display:none}.tabs{display:flex;overflow:auto;gap:5px;padding:8px 0}.tab{white-space:nowrap;font-size:12px}.sidebar-bottom{display:flex;justify-content:flex-end}.main-column{padding:25px 17px 55px}.pill{display:none}.topbar h1{font-size:32px}.welcome-art{display:none}.section-heading{align-items:flex-start;flex-direction:column}.field-grid,.service-field-grid{grid-template-columns:1fr}.upload-card{flex-wrap:wrap}.gallery-entry{grid-template-columns:105px 1fr}.gallery-entry img{width:105px;height:146px}}@media(max-width:500px){.quick-grid,.image-grid{grid-template-columns:1fr}.gallery-entry{grid-template-columns:1fr}.gallery-entry img{width:100%;height:190px}.upload-card .button{width:100%}}

/* Galerie-Kategorien: vollständig im privaten Admin-Bereich verwaltbar */
.category-manager{margin:27px 0 30px;border:1px solid #eadbd6;border-radius:19px;padding:clamp(17px,3vw,27px);background:linear-gradient(135deg,#fffefdfa,#fff7f4fa)}
.category-manager h3,.gallery-admin-header h3{font:400 29px/1.2 'Bodoni MT',Georgia,serif;margin:0 0 17px}
.category-editor{display:grid;gap:10px}
.category-admin-row{background:#fff;border:1px solid #eadbd6;border-radius:13px;padding:12px 14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.category-admin-row .category-order{font:italic 25px Georgia,serif;color:var(--gold);min-width:24px}
.category-admin-row .category-name-field{flex:1 1 210px;min-width:0;display:grid;gap:3px;font-size:11px;color:#85736f}
.category-admin-row .category-name-field input{background:#fffaf9;width:100%;border:1px solid #eadbd6;border-radius:9px;padding:9px 11px;min-height:42px;font-size:14px}
.category-count{font-size:11px;color:#846a60;white-space:nowrap}
.category-row-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.category-row-actions .button{min-height:36px;padding:7px 11px;font-size:11px}
.category-add-form{border-top:1px solid #eadbd6;margin-top:18px;padding-top:17px;display:grid;gap:8px}
.category-add-form>label{font-weight:600;font-size:12px}
.category-add-controls{display:flex;gap:10px;flex-wrap:wrap}
.category-add-controls input{flex:1 1 220px;min-width:0;border:1px solid #e6d1ca;border-radius:11px;padding:11px 14px;background:#fff}
.gallery-admin-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:24px 0 13px}
.gallery-admin-header h3{margin:0 auto 0 0}
.gallery-admin-header label{font-size:12px;color:var(--muted)}
.gallery-admin-header select,.gallery-meta select{min-height:42px;border-radius:10px;border:1px solid #dcc5be;background:#fffdfb;color:#594943;padding:9px 12px;font:inherit;max-width:100%}
.gallery-meta select{width:100%}
@media(max-width:680px){.category-admin-row{align-items:stretch}.category-row-actions{width:100%}.gallery-admin-header{align-items:stretch;flex-direction:column}.gallery-admin-header label,.gallery-admin-header select{width:100%}}

.upload-category-label{display:grid;gap:6px;font-size:12px;color:#765d53;margin-top:10px}.upload-category-label select{min-height:42px;border-radius:9px;border:1px solid #dcc5be;background:#fffdfb;padding:8px 11px;color:#594943;max-width:280px;width:100%;font:inherit}


/* Neue Seiten ohne FTP verwalten */
.pages-editor{display:grid;gap:18px;margin-top:26px}
.page-add-form{border:1px solid var(--border);border-radius:17px;padding:22px;background:#fff9f7;display:grid;gap:10px;margin-top:25px}
.page-add-form>label{font-size:12px;font-weight:700}
.page-add-form input{flex:1 1 220px;min-width:0;border:1px solid #e6d1ca;border-radius:11px;padding:11px 14px;background:#fff}
.page-admin-help{margin-top:17px;font-size:12px;color:var(--muted)}
.page-admin-card{border:1px solid var(--border);border-radius:18px;background:#fff;overflow:hidden}
.page-card-head{padding:20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.page-card-intro{flex:1 1 200px;min-width:0}
.page-card-intro h3{margin:0 0 6px;font:400 26px Georgia,serif}
.page-url{color:#816f64;font-size:12px;overflow-wrap:anywhere;margin-bottom:6px}
.page-state{border-radius:20px;font-size:10px;padding:4px 10px;display:inline-flex;background:#fbede7;color:#875c50}
.page-state.live{background:#eaf4e9;color:#486d44}
.page-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.page-actions .button{font-size:11px;min-height:36px;padding:7px 11px}
.page-actions .is-disabled{opacity:.45;cursor:not-allowed}
.page-editor{padding:24px;border-top:1px solid var(--border);background:linear-gradient(140deg,#fffdfb,#fff7f5)}
.page-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.page-form-fields label{display:flex;flex-direction:column;gap:7px;color:#745e58;font-size:12px;font-weight:600;min-width:0}
.page-form-fields label:nth-child(n+3){grid-column:1/-1}
.page-form-fields input,.page-form-fields textarea{width:100%;padding:11px 13px;border-radius:10px;background:#fff;border:1px solid #e3cfca;font:400 14px/1.55 'Helvetica Neue',Arial,sans-serif}
.page-form-fields textarea{resize:vertical}
.page-options{display:flex;flex-wrap:wrap;gap:15px 28px;padding:23px 0}
.page-options .check-label{display:flex;align-items:center;gap:9px;font-weight:600;font-size:13px}
.page-options input{width:18px;height:18px;accent-color:#ac8151}
.page-media{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--border);border-radius:13px;padding:15px;margin-bottom:24px;flex-wrap:wrap}
.page-media>img{width:150px;height:125px;object-fit:cover;border-radius:10px}
.page-media>img[hidden]{display:none}
.page-image-actions{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.page-image-actions .button{width:auto}
.page-image-actions strong{font-size:13px}
.empty-pages{padding:30px;color:var(--muted);text-align:center;border:1px dashed #dac5bd;border-radius:13px}
@media(max-width:760px){.page-form-fields{grid-template-columns:1fr}.page-form-fields label{grid-column:1/-1}.page-card-head{align-items:stretch}.page-actions{width:100%}}
/* Verwaltung aller bestehenden Seiten und Designoptionen */
.admin-divider{border:0;border-top:1px solid #ead8d1;margin:35px 0}
.builtin-section-list{display:grid;gap:8px;margin:15px 0 28px}
.builtin-section-row{display:flex;align-items:center;gap:8px;background:#fcf6f3;border:1px solid #ead7cf;padding:12px;border-radius:13px}
.builtin-section-row .check-label{flex:1;margin:0}
.builtin-section-row .button{padding:7px 10px;min-width:38px}
.cms-text-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:14px 0 25px}
.cms-text-fields label{display:grid;gap:6px;font-size:12px;font-weight:600;color:#79564f}
.cms-text-fields textarea{width:100%;resize:vertical;padding:11px;border:1px solid #dfc7be;border-radius:12px;background:#fffdfc;color:#42312f}
.cms-blocks{display:grid;gap:12px;margin:20px 0}
.cms-block-item{display:grid;gap:12px;background:#fffaf7;border:1px solid #ebd9d1;border-radius:16px;padding:18px}
.cms-block-item strong{font-family:Georgia,serif;font-weight:400;font-size:20px}
.cms-block-item .gallery-controls{display:flex;flex-wrap:wrap;gap:7px}
.cms-image-preview{max-height:175px;max-width:250px;object-fit:cover;border-radius:12px}
.cms-block-item label.cms-field-label{display:grid;gap:8px}
.cms-block-item label.cms-field-label input,.cms-block-item label.cms-field-label textarea{width:100%;padding:11px;border:1px solid #dfc7be;border-radius:10px;background:#fff}
#panel-design input[type=color]{width:100%;height:48px;padding:2px 4px}
#panel-design input[type=range]{width:100%}
.builtin-admin-card .page-editor h4{font-size:21px;font-weight:500;margin:22px 0 5px}
@media(max-width:720px){.cms-text-fields{grid-template-columns:1fr}.builtin-section-row{flex-wrap:wrap}}

/* Account management and booking inbox */
.security-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:end;gap:14px;margin:20px 0 30px}.security-form label{display:flex;flex-direction:column;gap:7px;color:#7b605b;font-size:13px}.security-form input{padding:12px;border:1px solid #dac6be;border-radius:10px;min-height:44px;background:white}.security-card{background:#fffdfb;border:1px solid #eadbd4;border-radius:16px;padding:19px;margin:14px 0;box-shadow:0 7px 23px #5b383212}.security-card p{margin:6px 0;font-size:13px}.security-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:14px}.security-actions .button,.security-actions select{font-size:13px;padding:9px 13px;min-height:40px}.security-actions select{border-radius:10px;border:1px solid #dac6be;background:#fff}.booking-detail{overflow-wrap:anywhere}

/* Mitarbeiterrechte und Owner-Profil */
.tab[hidden], [data-jump][hidden] {display:none!important}
.permission-fieldset{border:1px solid rgba(183,145,122,.33);border-radius:12px;padding:16px;margin:12px 0}
.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;margin:12px 0 18px}
.permission-option{display:flex;align-items:center;gap:9px;padding:12px;border-radius:10px;border:1px solid rgba(173,128,81,.24);background:rgba(255,248,247,.85);font-size:13px;cursor:pointer}
.permission-option input{width:17px;height:17px;flex:none;accent-color:#a57c51}
.permission-profile{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:16px 0}
.permission-profile label{display:flex;flex-direction:column;gap:6px;min-width:145px;flex:1;font-size:13px}
.permission-profile input{max-width:300px}

/* Eigenständiger Owner-Bereich für Mitarbeiterberechtigungen */
.sidebar{overflow-y:auto;scrollbar-width:thin}
.permissions-editor{display:grid;gap:18px;margin:25px 0 30px}
.permission-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:clamp(18px,3vw,27px);box-shadow:0 9px 22px rgba(123,79,78,.05)}
.permission-card-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.permission-card-heading h3{margin:0 0 3px;font:400 28px Georgia,serif}
.permission-card-heading p{margin:0;font-size:13px}
.permission-user-status{font-size:11px;letter-spacing:.05em;border-radius:30px;padding:7px 13px;background:#edf6ee;color:#426c49}
.permission-user-status.disabled{background:#fff0f0;color:#94515b}
.permission-card .permission-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:16px 0}
.permission-card-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
@media(max-width:790px){.sidebar{overflow-y:visible}.permissions-editor{margin-top:18px}}

/* Terminübersicht mit Statusfiltern */
.booking-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}
.booking-stat{border:1px solid #ead5cc;border-radius:16px;padding:18px 16px;min-height:101px;background:linear-gradient(145deg,#fffdfa,#fff5f1);text-align:left;display:flex;flex-direction:column;gap:5px;color:#69514b;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}
.booking-stat strong{font-size:33px;line-height:1.15;color:#493535;font-weight:500}.booking-stat span{font-size:12px;font-weight:600}
.booking-stat:hover,.booking-stat[aria-pressed=true]{border-color:#b68b70;box-shadow:0 9px 25px #a27b6a24;transform:translateY(-2px)}
.booking-stat-neu{background:#fff7ef}.booking-stat-kontaktiert{background:#fffaf0}.booking-stat-confirmed{background:#eef8ee}.booking-stat-erledigt{background:#f4eff8}
.booking-toolbar{display:grid;grid-template-columns:1fr 1.1fr 1.5fr;gap:12px;margin:25px 0 11px}
.booking-toolbar label{display:grid;gap:5px;color:#775c53;font-size:12px;font-weight:650}.booking-toolbar select,.booking-toolbar input{min-width:0;width:100%;background:white;border:1px solid #dec9c0;border-radius:11px;padding:11px 12px;min-height:45px;font:inherit;color:#493935}
.booking-list{display:grid;gap:14px;margin-top:15px}
.booking-card{border:1px solid #eadbd4;background:linear-gradient(130deg,#fffefd,#fff8f7);border-radius:18px;padding:23px;box-shadow:0 9px 28px #7651430e}
.booking-card-top{display:flex;align-items:start;justify-content:space-between;gap:12px}
.booking-card-intro h3{font:400 29px/1.15 Georgia,serif;margin:0 0 6px}.booking-card-intro p{margin:0}
.booking-state{border-radius:20px;padding:6px 12px;font-size:11px;font-weight:700;background:#fbede2;color:#855744;white-space:nowrap}
.booking-state-kontaktiert{background:#fff3d8;color:#86632d}.booking-state-confirmed{background:#e5f4e6;color:#356846}.booking-state-erledigt{background:#eee7f4;color:#67527a}
.booking-compact{display:flex;flex-wrap:wrap;gap:10px 25px;margin:15px 0;color:#826c64;font-size:12px}
.booking-card-actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:10px 0 15px}
.booking-state-picker{display:grid;gap:4px;font-size:11px;color:#76554e;font-weight:600}.booking-state-picker select{border:1px solid #ddc8bd;background:white;border-radius:10px;padding:9px 12px;min-height:40px;font-size:13px;color:#52403b}
.booking-action-confirm{background:#edf8ec;color:#355e3a;border-color:#b6d8b3}.booking-action-done{background:#eee8f6;color:#634d76;border-color:#d7c8e9}
.booking-details{border-top:1px solid #eadbd6;padding-top:12px}.booking-details summary{cursor:pointer;font-size:12px;font-weight:700;color:#a07860;list-style-position:inside}
.booking-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.booking-detail-entry{display:grid;gap:3px;font-size:13px;overflow-wrap:anywhere}.booking-detail-entry strong{color:#85665d;font-size:11px}
.booking-contact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.booking-contact-actions .button{font-size:12px}
.booking-action-delete{color:#925458;background:#fff7f6;border-color:#f1dad6}
.booking-empty{border:1px dashed #d9bcb1;border-radius:16px;padding:40px;text-align:center;color:#90766a;background:#fffaf7}
.booking-next{border:1px solid #d7e5d4;background:#f7fbf7;border-radius:18px;padding:20px 23px;margin:20px 0}.booking-next h3{font:400 24px Georgia,serif;margin:0 0 14px;color:#476446}
.booking-upcoming{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.booking-upcoming-item{display:grid;gap:3px;border:1px solid #dce8d8;background:white;padding:12px;border-radius:12px;font-size:12px}.booking-upcoming-item strong{color:#3f6a45}
.wa-settings{border:1px solid #ead5ce;border-radius:17px;padding:21px;background:#fffaf7;margin:26px 0}.wa-settings h3{margin-top:0}.wa-settings textarea{width:100%;min-height:110px;padding:12px;border:1px solid #e1cdc6;border-radius:10px;background:white;resize:vertical;font:inherit}
@media(max-width:760px){.booking-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.booking-toolbar{grid-template-columns:1fr 1fr}.booking-toolbar label:last-child{grid-column:1/-1}.booking-detail-grid,.booking-upcoming{grid-template-columns:1fr}}
@media(max-width:480px){.booking-card{padding:16px}.booking-card-top{flex-direction:column}.booking-card-intro h3{font-size:26px}}

/* Email notification settings are independent of the public contact email. */
.email-notify-settings{margin:28px 0;padding:23px;border:1px solid rgba(172,129,81,.28);border-radius:18px;background:rgba(255,247,246,.58)}
.email-notify-settings h3{margin-top:0}
.email-notify-settings .check-label{display:flex;align-items:center;gap:10px}
.email-notify-settings .check-label input{width:auto}


/* ============================================================
   Nails by Annalena · Klarer Verwaltungsbereich
   Die bestehenden Editoren und Schnittstellen bleiben erhalten.
   ============================================================ */
:root{--admin-ink:#342c31;--admin-pink:#f8edeb;--admin-gold:#a27b4f;--admin-border:#eadfdc;--admin-muted:#756c6f;--admin-surface:#fffefd;--admin-soft:#fbf6f4;--admin-shadow:0 9px 30px rgba(102,65,64,.07)}
body{background:#fbf7f5;color:var(--admin-ink)}
#dashboard{grid-template-columns:282px minmax(0,1fr);background:linear-gradient(135deg,#fcf8f6,#fffefe 68%)}
.sidebar{height:100vh;max-height:100vh;top:0;position:sticky;background:#fffefd;padding:30px 19px 20px;gap:0;border-right:1px solid var(--admin-border);z-index:50}
.admin-brand{padding:0 7px 18px;align-items:flex-start;flex:none;border-bottom:1px solid var(--admin-border);gap:1px}
.admin-brand .script{font-size:25px}
.admin-brand strong{font-size:19px}
.admin-brand small{font:700 9px/1.2 'Avenir Next',Arial,sans-serif;letter-spacing:.25em;color:#a38f8a;margin-top:8px}
.sidebar-search{position:relative;padding:20px 5px 16px;flex:none}
.sidebar-search label{display:block;color:var(--admin-muted);font-size:11px;font-weight:700;margin-bottom:7px}
.sidebar-search input{width:100%;border:1px solid #eadbd5;border-radius:11px;background:#fbf7f5;font-size:12px;padding:11px 34px 11px 12px;min-height:43px;outline:0}
.sidebar-search input:focus{border-color:#bc987d;box-shadow:0 0 0 3px #d8bba332}
.sidebar-search>span{position:absolute;bottom:24px;right:18px;font-size:21px;color:#a78f86;line-height:1;pointer-events:none}
.tabs{display:block;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;flex:1;min-height:0;margin-right:-8px;padding-right:8px}
.nav-group{margin:4px 0 22px}
.nav-group-label{margin:0 0 8px 11px;color:#a18b86;font-size:10px;font-weight:750;letter-spacing:.17em}
.tab{display:flex;gap:12px;align-items:center;width:100%;margin:2px 0;padding:10px 12px;text-align:left;font-size:13px;font-weight:550;color:#685f60;line-height:1.35;min-height:45px;border:1px solid transparent;border-radius:11px;transition:background .14s,color .14s,border-color .14s}
.tab-icon{display:inline-grid;place-items:center;width:22px;height:22px;flex:none;font:20px/1 Georgia,serif;color:#b29187}
.tab.active,.tab:hover{color:#7c5258;background:#f7e9e8;border-color:#efd9d9}
.tab.active{font-weight:750}
.tab.active .tab-icon{color:#ad8178}
.tab.filtered-out{display:none}
.nav-count{margin-left:auto;border-radius:100px;padding:1px 8px;background:#b77c80;color:#fff;font:700 11px/1.7 Arial,sans-serif;min-width:22px;text-align:center}
.sidebar-bottom{border-top:1px solid var(--admin-border);margin-top:9px;padding-top:10px;display:grid;gap:1px;flex:none}
.sidebar-link{display:flex;width:100%;gap:8px;align-items:center;color:#6e6061;padding:10px 12px;border-radius:9px;text-align:left;font-size:12px}
.sidebar-link:hover{background:#f9efed}
.sidebar-logout{color:#9c5863}
.main-column{padding:0 clamp(20px,3.7vw,56px) 75px;min-width:0;max-width:none;width:100%}
.topbar{position:sticky;top:0;z-index:20;min-height:130px;display:flex;align-items:center;padding:24px 0 18px;margin-bottom:24px;background:linear-gradient(180deg,#fffdfcf7,#fffaf9f1);border-bottom:1px solid #ecdfda;backdrop-filter:blur(18px)}
.topbar-leading{display:flex;align-items:center;gap:16px;min-width:0}
.topbar .kicker{letter-spacing:.17em;font-size:10px}
.topbar h1{font-size:clamp(27px,3vw,40px);margin:3px 0 2px;color:#342c30}
.topbar-description{margin:0;color:#8a7b77;font-size:12px}
.topbar-right{display:flex;align-items:center;gap:12px;flex-shrink:0}
.topbar-visit{display:inline-flex;align-items:center;gap:7px;color:#876e66;font-size:12px;font-weight:700;border:1px solid #e7d9d2;border-radius:999px;background:white;padding:9px 14px;white-space:nowrap}
.topbar-visit:hover{background:#f9eeee}
.pill{border-color:#e8d9d5;background:#fffefd;font-size:12px;padding:9px 13px}
.mobile-nav-toggle{display:none;align-items:center;gap:8px;border:1px solid #e9d8d4;background:#fff;border-radius:11px;padding:11px 13px;color:#755b56;font-weight:700;font-size:12px;white-space:nowrap}
.mobile-nav-toggle span{font-size:19px;line-height:1}
.panel{background:#fffefd;border:1px solid #eddfd9;border-radius:18px;padding:clamp(20px,2.8vw,35px);box-shadow:var(--admin-shadow);max-width:1220px;margin:0 auto}
.panel-overview{background:transparent;border:0;padding:0;box-shadow:none;max-width:1220px}
.welcome{background:linear-gradient(110deg,#f8eae7 0%,#fffdfb 75%);border:1px solid #efdfd8;box-shadow:var(--admin-shadow);border-radius:19px;padding:36px clamp(24px,3.5vw,44px);min-height:225px}
.welcome-art{font-size:165px}
.welcome h2{font-size:clamp(32px,4vw,48px)}
.welcome p:not(.kicker){font-size:14px;margin-bottom:18px}
.dashboard-stats{margin:20px 0 26px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.dashboard-stat{background:#fffefd;border:1px solid #ebded8;border-radius:16px;box-shadow:0 6px 22px #6445400b;padding:19px;text-align:left;min-height:140px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;transition:transform .16s,border-color .16s}
.dashboard-stat:hover{transform:translateY(-3px);border-color:#c9a49a}
.stat-label{font-size:12px;font-weight:650;color:#796767}
.dashboard-stat strong{font-size:39px;line-height:1.05;color:#583e44;font-weight:600;font-variant-numeric:tabular-nums}
.stat-foot{color:#b08073;font-size:11px;font-weight:650}
.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,1fr);gap:18px}
.dashboard-section{padding:25px;background:#fffefd;border:1px solid #ebded8;border-radius:17px;box-shadow:var(--admin-shadow)}
.dashboard-section-title{margin-bottom:17px}
.dashboard-section-title h3{margin:0 0 3px;font:400 27px Georgia,serif;color:#493a3e}
.dashboard-section-title p{font-size:12px;color:#897875;margin:0}
.quick-grid{margin:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.quick-grid button{border-radius:13px;min-height:115px;padding:15px 17px;gap:5px;background:#fffaf8;border-color:#ecded8;transition:transform .17s,border-color .17s}
.quick-grid button:hover{border-color:#cbaaa3;transform:translateY(-2px)}
.quick-grid span{font-size:23px;line-height:1;color:#bc938b}
.quick-grid strong{font:550 16px/1.2 Georgia,serif}
.quick-grid small{font-size:11px;line-height:1.4}
.help-steps{display:grid;gap:17px;padding:2px 0 12px;margin:0;list-style:none}
.help-steps li{display:flex;gap:13px;align-items:flex-start}
.help-steps li>span{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:50%;background:#f5e6e1;color:#9e7169;font-weight:700;font-size:12px}
.help-steps strong{font-size:13px;color:#5d4b4c}.help-steps p{margin:2px 0 0;color:#8a7875;font-size:11px;line-height:1.5}
.dashboard-open-site{margin-top:10px}
.section-heading{padding-bottom:18px;border-bottom:1px solid #f0e5df;margin-bottom:22px}
.section-heading h2{font-size:clamp(26px,3vw,35px)}
.panel h3{font-size:23px}
.panel-intro{font-size:13px;color:#7e7271;margin:0 0 18px}
.info-note{background:#fcf6f2;border-color:#f0e4dc;color:#765f5d}
.field-grid input,.field-grid textarea,.field-grid select,.service-field input,.service-field textarea{min-height:44px}
.field-grid label,.service-field label,.gallery-entry label{color:#5f5151;font-size:12px}
.admin-accordion{border:1px solid #ede0da;background:#fffdfc;border-radius:14px;margin:12px 0 15px;overflow:hidden}
.admin-accordion[open]{border-color:#e0cbc2;box-shadow:0 6px 18px #956a590b}
.admin-accordion summary{list-style:none;display:flex;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;color:#473a3e;font-size:16px;font-weight:700;position:relative}
.admin-accordion summary::-webkit-details-marker{display:none}
.admin-accordion summary:after{content:'+';margin-left:auto;font-size:23px;line-height:1;font-weight:300;color:#a8857a}
.admin-accordion[open] summary:after{content:'−'}
.admin-accordion summary>span:nth-child(2){display:grid;gap:2px}
.admin-accordion summary small{display:block;color:#9d8a84;font-size:12px;font-weight:400}
.accordion-icon{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:11px;background:#f8eae7;color:#a77c73;font-size:22px}
.accordion-body{border-top:1px solid #f1e6e2;padding:24px 22px}
.admin-accordion .wa-settings,.admin-accordion .email-notify-settings{margin:0;background:transparent;border:0;padding:0}
#global-status.notice{position:fixed;bottom:23px;right:24px;top:auto;left:auto;z-index:1100;margin:0;max-width:min(480px,calc(100% - 40px));box-shadow:0 18px 40px #54352d33;border-radius:14px;padding:15px 21px;background:#fffaf4;border-color:#e6cfac;color:#654d3f}
#global-status.notice.success{background:#f3fbf3;border-color:#cde3ce;color:#3d6b48}
#global-status.notice.error{background:#fff2f3;border-color:#e5b5b9;color:#873e4b}
.nav-backdrop{display:none}
@media(max-width:1250px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns{grid-template-columns:1fr}}
@media(max-width:1050px){#dashboard{grid-template-columns:242px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.tab{font-size:12px}.topbar-visit{display:none}}
@media(max-width:860px){
 #dashboard{display:block}
 .sidebar{position:fixed;top:0;bottom:0;left:0;height:100dvh;max-height:100dvh;width:min(310px,88vw);padding:21px 19px 18px;z-index:250;transform:translateX(-105%);transition:transform .24s ease;box-shadow:22px 0 55px #36242f26}
 .sidebar.nav-open{transform:translateX(0)}
 .nav-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:240;background:#2f2229a6;border:0;cursor:pointer}
 body.admin-nav-open{overflow:hidden}
 .admin-brand{align-items:flex-start}.admin-brand .script{font-size:25px}.admin-brand strong{font-size:18px}
 .tabs{display:block;overflow-y:auto;flex:1;padding:0;margin-right:-8px}
 .tab{white-space:normal;font-size:13px}
 .main-column{padding:0 16px 50px;max-width:none}
 .topbar{padding:14px 0 15px;min-height:93px;margin-bottom:18px}
 .topbar-leading{gap:12px}
 .mobile-nav-toggle{display:flex}
 .topbar h1{font-size:clamp(25px,5vw,32px)}
 .topbar-description{display:none}
 .pill{display:none}
 .section-heading{flex-direction:column;align-items:flex-start}
 .welcome-art{display:none}
 .welcome{min-height:0;padding:26px 22px}
 .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .dashboard-stat{min-height:115px;padding:15px}
 .dashboard-stat strong{font-size:30px}
 .dashboard-columns{grid-template-columns:1fr}
 .admin-accordion summary{padding:16px 15px}
 .accordion-body{padding:17px 14px}
 .field-grid,.service-field-grid{grid-template-columns:1fr}
}
@media(max-width:500px){
 .topbar .kicker{font-size:9px}.topbar h1{font-size:26px}
 .dashboard-section{padding:19px 15px}
 .dashboard-stats{gap:8px}
 .dashboard-stat{min-height:107px;padding:13px}
 .stat-label{font-size:11px}
 .stat-foot{font-size:10px}
 .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .quick-grid button{min-height:118px;padding:12px 10px}
 .quick-grid strong{font-size:14px}
 .quick-grid small{font-size:10px}
 .image-grid{grid-template-columns:1fr}
 .booking-toolbar{grid-template-columns:1fr}
 .booking-toolbar label:last-child{grid-column:auto}
 .section-heading .button{width:100%}
}
@media(prefers-reduced-motion:reduce){.sidebar,.tab,.dashboard-stat,.quick-grid button{transition:none}}

/* Admin-App: install and push settings */
.push-feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0 26px}
.push-feature{display:flex;gap:12px;padding:18px;background:#fff8f6;border:1px solid #eedbd5;border-radius:17px}
.push-feature>span{display:grid;place-items:center;flex:none;width:36px;height:36px;background:#f1d8dc;border-radius:50%;color:#775057;font-weight:700}
.push-feature strong,.push-setting-card strong{font-size:14px;color:#5b3f47}.push-feature p,.push-setting-card p{margin:6px 0 0;line-height:1.6;font-size:12px;color:#76636a}
.push-setting-card{border:1px solid #dec2ba;border-radius:18px;padding:22px;background:linear-gradient(115deg,#fffdfa,#fff2f1);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.push-buttons{display:flex;flex-wrap:wrap;gap:8px}.push-buttons .button{font-size:12px;white-space:normal}
#push-feedback{margin-top:12px;min-height:22px}
@media(max-width:1150px){.push-feature-list{grid-template-columns:1fr}}
@media(max-width:650px){.push-setting-card{flex-direction:column;align-items:stretch}.push-buttons{flex-direction:column}.push-buttons .button{width:100%}}


/* Mobile refinement update */
@media(max-width:860px){
  main{padding:0}
  #login-view{padding:18px 12px}
  .login-card{padding:24px 18px;border-radius:20px}
  .panel{padding:18px 14px;border-radius:16px}
  .button,.topbar-visit,.mobile-nav-toggle,.sidebar-link,.tab{min-height:48px}
  .field-grid input,.field-grid textarea,.field-grid select,.service-field input,.service-field textarea{font-size:16px}
  .topbar{position:sticky;top:0;padding:12px 0 14px;min-height:84px}
  .topbar-leading{align-items:flex-start}
  .topbar-right{margin-left:auto}
  .section-heading button,.section-heading .button{width:100%;justify-content:center}
  .section-heading > div{width:100%}
  .dashboard-stat,.dashboard-section,.welcome{border-radius:16px}
  .quick-grid{grid-template-columns:1fr 1fr}
  .booking-card-actions,.gallery-actions,.page-actions,.user-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .image-grid,.gallery-grid,.category-grid,.permissions-grid{grid-template-columns:1fr}
  .booking-list{gap:12px}
  .booking-card{padding:14px}
  .status-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .status-pills .pill{width:100%;justify-content:center}
}
@media(max-width:560px){
  .main-column{padding:0 12px 36px}
  .topbar h1{font-size:24px}
  .dashboard-stats{grid-template-columns:1fr 1fr}
  .quick-grid{grid-template-columns:1fr}
  .quick-grid button{min-height:96px}
  .field-grid,.service-field-grid,.two-col,.three-col,.booking-toolbar{grid-template-columns:1fr!important}
  .button-row,.form-actions,.inline-actions{display:grid;grid-template-columns:1fr;gap:10px}
  .button-row .button,.form-actions .button,.inline-actions .button{width:100%;justify-content:center}
  .sidebar{width:min(92vw,330px)}
  #global-status.notice{left:12px;right:12px;bottom:12px;max-width:none}
}


/* ================================================================
   iPhone / Android layout stability — 2026-10-14
   Do not disable user pinch-zoom: prevent unintended focus zoom.
   ================================================================ */
@media (max-width: 860px) {
  html, body { width: 100%; max-width: 100%; overflow-x: clip; scroll-behavior: auto; }
  #dashboard, .main-column, .topbar, .topbar-leading, .panel,
  .dashboard-section, .admin-accordion, .booking-card, .page-admin-card,
  .field-grid > *, .service-field-grid > * { min-width: 0; max-width: 100%; }
  .panel, .admin-accordion, .booking-card, .page-admin-card { overflow-wrap: anywhere; }
  .sidebar { overflow-x: hidden; }
  .main-column { overflow-x: clip; }
  .field-grid input, .field-grid textarea, .field-grid select,
  .service-field input, .service-field textarea, .gallery-entry input,
  .gallery-entry select, .login-card input, .sidebar-search input,
  .page-form-fields input, .page-form-fields textarea,
  .page-add-form input, .category-add-controls input,
  .category-name-field input, .upload-category-label select,
  .gallery-admin-header select, .gallery-meta select,
  .cms-text-fields textarea, .cms-block-item input,
  .cms-block-item textarea, .security-form input,
  .security-actions select, .permission-profile input,
  .booking-toolbar select, .booking-toolbar input,
  .booking-state-picker select, .wa-settings textarea,
  #notify-recipient, #admin-nav-search,
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  select, textarea {
    font-size: 16px !important;
    max-width: 100%;
  }
  /* With font-size >= 16px, iOS Safari no longer zooms focused fields. */
  .mobile-nav-toggle { min-width: 0; touch-action: manipulation; }
  .tab, .button, .sidebar-link, .dashboard-stat, .quick-grid button,
  .mobile-nav-toggle { touch-action: manipulation; }
}
@media (max-width: 560px) {
  .main-column { width: 100%; max-width: 100%; }
  .topbar { width: 100%; }
  .topbar-leading > div { min-width: 0; }
  .topbar h1 { overflow-wrap: anywhere; }
  .field-grid, .service-field-grid, .gallery-editor, .page-form-fields,
  .security-form, .dashboard-columns { min-width: 0; max-width: 100%; }
}

/* Auf Wunsch: Finger-Zoom nur im geschützten Admin-Bereich sperren. */
@media (pointer: coarse) {
  html, body { touch-action: pan-x pan-y; }
}

/* Finance bookkeeping – separate owner-only module */
.finance-panel{max-width:1220px}
.finance-bar,.finance-actions{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:22px 0}
.finance-bar label,.finance-form label,.finance-tax{display:grid;gap:7px;color:#6b5754;font-size:13px;font-weight:650}
.finance-bar input,.finance-form input,.finance-form select,.finance-form textarea,.finance-tax select{font:inherit;font-size:16px;min-height:47px;width:100%;border:1px solid #e3cec8;border-radius:11px;padding:11px;background:#fff;color:#453837;max-width:100%}
.finance-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.finance-form .finance-full{grid-column:1/-1}
.finance-form textarea{resize:vertical}
.finance-form input[type=file]{padding:10px;min-height:52px}
.finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:21px 0}
.finance-summary>div{border:1px solid #e9dad4;border-radius:15px;padding:20px 14px;background:#fff8f6;min-width:0;display:grid;gap:10px}
.finance-summary span{font-size:12px;color:#746665;font-weight:650}
.finance-summary strong{font:500 clamp(19px,2.2vw,30px)/1.2 Georgia,serif;color:#533b3d;overflow-wrap:anywhere}
.finance-section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:30px 0 12px;flex-wrap:wrap}
.finance-section-title h3{margin:0}
.finance-list{display:grid;gap:11px;margin-bottom:25px}
.finance-row{border:1px solid #e8d9d4;background:#fffcfa;border-radius:13px;padding:15px;display:grid;gap:7px}
.finance-row-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}
.finance-row-top strong{font-size:15px;color:#513a3b}
.finance-amount{font-weight:750;font-size:17px;color:#376e4b;font-variant-numeric:tabular-nums}
.finance-amount.expense{color:#9a4c55}
.finance-row p{margin:0;font-size:12px;color:#8c7875;overflow-wrap:anywhere}
.finance-row .finance-row-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:7px}
.finance-row-actions button{min-height:39px}
.finance-row.voided{opacity:.7;background:#f7f4f3}
.finance-row.voided .finance-amount{text-decoration:line-through}
.launch-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:18px}
.launch-checklist label{display:flex;gap:11px;align-items:flex-start;border:1px solid #e9d9d3;background:#fffaf9;padding:12px;border-radius:11px;color:#58494b;font-size:13px;line-height:1.55}
.launch-checklist input{flex:none;width:19px;height:19px;margin-top:2px;accent-color:#9d7880}
.finance-actions>.button{min-height:47px}
@media(max-width:860px){.finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-summary>div{padding:14px}.finance-form{grid-template-columns:1fr}.launch-checklist{grid-template-columns:1fr}.finance-bar>button,.finance-actions>.button{flex:1 1 190px}}
@media(max-width:460px){.finance-summary strong{font-size:21px}.finance-actions{display:grid;grid-template-columns:1fr}.finance-list{margin-bottom:28px}}

.finance-audit{border:1px solid #e8d8d0;background:#fff9f3;color:#73554e;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.7}
.finance-category-line{display:flex;justify-content:space-between;gap:13px;border-bottom:1px solid #efe1dc;padding:11px 1px;font-size:13px;align-items:center}
.finance-category-line strong{font-variant-numeric:tabular-nums;white-space:nowrap}

/* Studio modules: consistent touch-friendly management on iPhone / Android / desktop */
.studio-panel{color:#59484c}
.studio-toolbar,.studio-actions,.studio-record-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.studio-toolbar{margin:16px 0 22px}
.studio-toolbar label{display:grid;gap:5px;font-size:12px;color:#715b60}
.studio-toolbar input,.studio-search input,.studio-form input:not([type=checkbox]),.studio-form select,.studio-form textarea,.studio-inline-form input,.studio-hour-row input{width:100%;min-height:45px;font-size:16px;padding:9px 12px;border:1px solid #e2cbc9;border-radius:10px;background:white;color:#4b373f}
.studio-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.studio-form label,.studio-inline-form label,.studio-search{display:grid;gap:7px;font-size:12px;color:#6d555d;min-width:0}
.studio-form .studio-full{grid-column:1/-1}
.studio-form textarea{resize:vertical}
.studio-toggle{display:flex!important;align-items:start;gap:12px;background:#fff8f6;padding:14px;border-radius:12px;border:1px solid #e9d6d3}
.studio-toggle input{width:22px;height:22px;flex:none;margin-top:2px}
.studio-toggle span{display:grid;gap:5px}.studio-toggle small{font-size:12px;color:#786a6c;line-height:1.6}
.studio-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:15px}
.studio-weekday{text-align:center;color:#a17980;font-weight:700;font-size:12px;padding:8px 0}
.studio-day{position:relative;display:flex;flex-direction:column;gap:5px;min-width:0;min-height:115px;text-align:left;border:1px solid #eadcda;border-radius:12px;background:#fffdfc;padding:9px;color:#59454b;cursor:pointer}
.studio-day:not(.outside):hover,.studio-day:not(.outside):focus-visible{border-color:#b88d93;background:#fff4f3}
.studio-day.today{border:2px solid #b3858e;background:#fff7f6}.studio-day.closed{background:#f8f3f1}.studio-day.outside{border:0;background:transparent;cursor:default}
.studio-day-num{font-size:15px}.studio-day small{font-size:10px;line-height:1.2;overflow-wrap:anywhere}
.studio-event{background:#eddee2;border-radius:5px;padding:5px 4px;color:#6a4354}.studio-event.cancelled{text-decoration:line-through;opacity:.65;background:#efefef}
.studio-closed{color:#a4898c}.studio-more{color:#816970}
.studio-summary{margin:25px 0 20px}.studio-summary h3{margin-bottom:15px}
.studio-list{display:grid;gap:11px;margin:14px 0 22px}
.studio-record{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 17px;border:1px solid #e8dbd8;background:#fffdfb;border-radius:13px;min-width:0}
.studio-record>div:first-child{min-width:0;overflow-wrap:anywhere}.studio-record p{margin:6px 0 0}
.studio-record-actions{flex:none}.studio-record-actions .button{min-height:42px}
.studio-search{max-width:420px;margin:20px 0 10px}
.studio-hour-row{display:grid;grid-template-columns:minmax(90px,1fr) 98px minmax(90px,145px) minmax(90px,145px);gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #eee5e2}
.studio-hour-active{display:flex;align-items:center;gap:7px;font-size:12px}.studio-hour-active input{width:19px;height:19px}
.studio-inline-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(150px,2fr) auto;align-items:end;gap:10px}
@media(max-width:760px){
 .studio-form{grid-template-columns:1fr}.studio-form .studio-full{grid-column:1}
 .studio-day{min-height:78px;padding:6px 4px;gap:3px;border-radius:9px}.studio-day-num{font-size:13px}.studio-day small{font-size:9px}
 .studio-event{padding:4px 3px}
 .studio-record{flex-direction:column;align-items:stretch}.studio-record-actions{display:flex;flex-wrap:wrap;width:100%}.studio-record-actions .button{flex:1 1 auto}
 .studio-toolbar{gap:6px}.studio-toolbar input{width:165px}.studio-toolbar .button{min-height:46px}
 .studio-hour-row{grid-template-columns:1fr 1fr}.studio-inline-form{grid-template-columns:1fr}
 .studio-panel h3{font-size:22px}
}
@media(max-width:390px){.studio-day{min-height:68px}.studio-day small{font-size:8px}.studio-toolbar input{width:150px}}

.studio-automation-note{border:1px solid #ead1c6;background:#fff8f5;border-radius:14px;padding:14px 17px;margin:12px 0 20px;color:#68484e;font-size:13px;line-height:1.65}.studio-automation-note strong{color:#855b60}


/* Fixed two-hour appointment block (2026-10) */
.studio-fixed-duration{display:flex;flex-direction:column;gap:5px;padding:11px 15px;border:1px solid #e6c9b6;background:#fff8f3;border-radius:13px;color:#5f454b;min-height:86px}
.studio-fixed-duration strong{font-size:13px}
.studio-fixed-duration output{font-size:22px;font-weight:750;color:#926943}
.studio-fixed-duration output.invalid{color:#b34450}
.studio-fixed-duration small{font-size:12px;line-height:1.55;color:#826b64}

/* Studio-Leitzentrale */
.studio-today-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0;}
.today-card{background:var(--card,#fff);border:1px solid rgba(120,80,70,.12);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:8px;min-height:120px;box-shadow:0 8px 24px rgba(80,40,30,.05);}
.today-card span{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;opacity:.75;}
.today-card strong{font-size:1.1rem;}
.today-card small{opacity:.7;}
@media(max-width:900px){.studio-today-board{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.studio-today-board{grid-template-columns:1fr;}}

/* Studio Cockpit Erweiterung */
#panel-cockpit .dashboard-stat{min-height:140px}

/* Studio-Leitzentrale v5 – echte Daten, klare Karten und mobile Lesbarkeit. */
.panel-cockpit .studio-cockpit-welcome{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.panel-cockpit .dashboard-stats{margin-top:20px}
.panel-cockpit .dashboard-stat{text-align:left;cursor:pointer;overflow-wrap:anywhere;min-width:0}
.panel-cockpit .dashboard-stat strong{font-size:clamp(19px,2.5vw,29px);line-height:1.2}
.cockpit-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px;margin-top:22px}
.cockpit-box{border:1px solid rgba(154,107,107,.18);border-radius:18px;padding:22px;background:rgba(255,255,255,.78);min-width:0}
.cockpit-box-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.cockpit-box h3{margin:0 0 12px}
.cockpit-agenda{display:grid;gap:10px}
.cockpit-agenda-row{display:grid;grid-template-columns:minmax(90px,auto) minmax(0,1fr);align-items:center;gap:16px;padding:13px 15px;background:#fff9f9;border:1px solid #efdfde;border-radius:12px}
.cockpit-agenda-row p{margin:5px 0 0}
.cockpit-agenda-time{white-space:nowrap;font-variant-numeric:tabular-nums}
.cockpit-next{background:#fff9f9;padding:16px;border-radius:12px;margin-bottom:14px}
.cockpit-next p{margin:7px 0 0}
.cockpit-next-title{font-size:20px}
.cockpit-actions{display:flex;gap:8px;flex-wrap:wrap}
.cockpit-footnote{margin-top:18px}
.admin-release{display:block;padding:9px 0}
@media(max-width:850px){.cockpit-columns{grid-template-columns:1fr}}
@media(max-width:560px){.panel-cockpit .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit-box{padding:16px}.cockpit-agenda-row{grid-template-columns:80px minmax(0,1fr);gap:10px}.cockpit-actions .button{width:100%}}

/* V8: a clear build indicator on desktop, mobile, and the login screen. */
.admin-version-label{font-size:12px;color:#735355;font-weight:700;border:1px solid #e8d6c9;background:#fff9f6;padding:7px 11px;border-radius:9px;display:inline-block;margin:8px auto}.admin-version-top{font-size:11px;font-weight:700;padding:6px 9px;border-radius:8px;background:#f0dfd9;color:#67494e;white-space:nowrap}.admin-release{font-weight:700;color:#735355}.push-reminder-area{margin-top:26px}.push-reminder-area>.kicker{margin-bottom:12px}@media(max-width:560px){.admin-version-top{font-size:12px}}

/* V9: protected client file, treatment gallery and day/week/month calendar */
.studio-view-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:10px 0 14px}
.studio-view-toolbar button[aria-pressed="true"]{background:#704e57;color:#fff;border-color:#704e57}
.studio-view-toolbar label{font-size:12px;display:grid;gap:4px;min-width:170px}
.studio-view-toolbar input{min-height:42px;padding:7px 10px;font-size:16px;border:1px solid #e2cbc9;border-radius:10px}
.studio-calendar.calendar-list-view{grid-template-columns:1fr;gap:12px}
.studio-agenda-day{background:#fff;min-width:0;border:1px solid #eddfda;border-radius:14px;padding:16px}
.studio-agenda-day.today{border-color:#af858d}
.studio-agenda-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.studio-agenda-appointment{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:10px 12px;margin:8px 0;border-left:5px solid #baa4aa;background:#fcf8f6;border-radius:9px}
.studio-agenda-appointment.status-bestaetigt{border-color:#4b9275}
.studio-agenda-appointment.status-geplant{border-color:#d4a650}
.studio-agenda-appointment.status-erledigt{border-color:#a0a0a0}
.studio-agenda-appointment.status-storniert{border-color:#cc7777;opacity:.65}
.studio-event.status-bestaetigt{background:#d7eee0;color:#285e47}
.studio-event.status-geplant{background:#fff0c6;color:#805c15}
.studio-event.status-erledigt{background:#e8e8e8;color:#555}
.studio-day.selected{box-shadow:inset 0 0 0 2px #876070}
.customer-detail{margin:25px 0;padding:22px;border:1px solid #e6cfcb;background:#fffaf8;border-radius:18px}
.customer-detail-head{display:flex;justify-content:space-between;gap:10px;align-items:start;flex-wrap:wrap}
.customer-detail-head h3{margin:0}.customer-detail h4{margin:18px 0 8px;font-size:17px}
.customer-detail-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}
.customer-preferences{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.customer-preferences span{font-size:12px;background:#f2e7e3;border-radius:20px;padding:7px 12px}
.studio-photo-form{display:flex;flex-wrap:wrap;gap:9px;align-items:end;background:white;border-radius:12px;padding:12px;border:1px solid #eadbd5}
.studio-photo-form label{font-size:12px;display:grid;gap:5px;min-width:110px;flex:1 1 110px}
.studio-photo-form select,.studio-photo-form input{max-width:100%;min-height:40px;border:1px solid #e2cbc9;border-radius:9px;padding:7px;background:white}
.studio-photo-form .studio-photo-file{flex:2 1 170px}
.customer-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:15px}
.customer-photo-card{min-width:0;background:#fff;border:1px solid #e9d8d3;border-radius:12px;padding:8px;display:grid;gap:6px}
.customer-photo-card img{width:100%;height:130px;object-fit:cover;border-radius:8px}
.customer-photo-card small{font-size:11px}.customer-photo-card .button{min-height:38px}
@media(max-width:760px){.customer-detail{padding:14px}.customer-detail-cols{grid-template-columns:1fr}.studio-agenda-appointment{align-items:start}}

.studio-photo-form .studio-consent-check{display:flex;flex:1 1 100%;align-items:flex-start;gap:9px;line-height:1.5;font-size:12px}.studio-photo-form .studio-consent-check input{min-height:0;margin-top:4px;width:16px;height:16px;flex-shrink:0}

/* V10 – Phase 1: customer statistics, visit journal, calendar move and breaks */
.studio-customer-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin:14px 0}
.studio-customer-filters label{display:grid;gap:5px;font-size:12px;min-width:190px}
.studio-customer-filters select{min-height:44px;border:1px solid #dec7c1;border-radius:10px;padding:7px 12px;background:#fff}
.customer-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.customer-stat{display:grid;gap:5px;padding:12px;background:#fff;border:1px solid #edd9d1;border-radius:12px;min-width:0}
.customer-stat strong{font-size:16px;overflow-wrap:anywhere}.customer-stat span{font-size:11px}
.studio-record-editor{margin:14px 0;padding:12px;background:#fff;border:1px solid #e9d6d3;border-radius:12px}
.studio-record-editor summary{font-weight:600;cursor:pointer}
.studio-record-editor .studio-form{margin-top:16px}
.studio-break-chip{padding:8px 10px;border-radius:10px;background:#f2e7d4;font-size:12px;color:#73551f;margin:5px 0}
.studio-agenda-day.drop-target{outline:3px dashed #865b69;outline-offset:-4px;background:#f6eeeb}
.studio-agenda-appointment[draggable=true]{cursor:grab}
.studio-agenda-appointment[draggable=true]:active{cursor:grabbing}
.studio-photo-compare{border:1px solid #e8d4cf;border-radius:14px;background:#fff;padding:12px;margin-top:14px}
.studio-photo-compare h5{margin:0 0 10px;font-size:14px}
.studio-photo-compare-images{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.studio-photo-compare figure{margin:0;min-width:0}
.studio-photo-compare img{width:100%;max-height:300px;aspect-ratio:1;object-fit:contain;background:#faf5f2;border-radius:10px}
.studio-photo-compare figcaption{font-size:12px;text-align:center;margin-top:6px;font-weight:600}
#studio-quick-move{margin:10px 0}
@media(max-width:690px){.customer-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-customer-filters label{width:100%}.studio-customer-filters select{width:100%}}

/* V11 – phase-1 studio finish: mobile navigation, high-visibility status cards and templates. */
.studio-template-panel{margin:18px 0}.studio-template-panel .studio-list{margin-top:15px}
.customer-mini-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.customer-mini-badges span{font-size:11px;padding:5px 8px;border-radius:20px;background:#f7ebe1;color:#775057;border:1px solid #edd8d0}
.studio-photo-filter{display:grid;gap:5px;font-size:12px;margin:12px 0;max-width:250px}.studio-photo-filter select{border:1px solid #dec8c3;border-radius:9px;padding:8px;background:white;min-height:42px}
.studio-event{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.studio-agenda-appointment{border-left-width:6px}.studio-event.status-storniert{text-decoration:line-through;background:#fdecec;color:#943c3c}
.studio-mobile-bottom-nav{display:none}
@media(max-width:850px){
 .studio-mobile-bottom-nav{display:grid;position:fixed;bottom:0;left:0;right:0;grid-template-columns:repeat(5,minmax(0,1fr));z-index:75;background:rgba(255,251,250,.97);border-top:1px solid #e5cfc9;box-shadow:0 -4px 20px #5d303016;backdrop-filter:blur(12px);padding:5px 5px max(5px,env(safe-area-inset-bottom))}
 .studio-mobile-bottom-nav button{background:transparent;border:none;min-width:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;min-height:51px;padding:4px 1px;color:#5f3b4a;font-size:10px;font-weight:650;cursor:pointer}
 .studio-mobile-bottom-nav button span{font-size:19px;line-height:1.2}
 .studio-mobile-bottom-nav button[hidden]{display:none}
 #dashboard{padding-bottom:calc(75px + env(safe-area-inset-bottom))}
}

/* V12 · Studio-Auswertung und Journalfilter */
.analytics-toolbar,.finance-journal-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:16px 0 20px}
.analytics-toolbar label,.finance-journal-filters label{display:grid;gap:6px;font-size:12px;font-weight:600;min-width:150px;flex:1 1 150px}
.analytics-toolbar input,.finance-journal-filters input,.finance-journal-filters select{min-height:44px;padding:9px 11px;font:inherit;border:1px solid #dec9c5;border-radius:10px;background:white;max-width:100%}
.analytics-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 22px}
.analytics-stat{background:white;border:1px solid #ebd9d4;border-radius:14px;padding:16px;min-width:0}
.analytics-stat span{display:block;color:#735b5b;font-size:12px;margin-bottom:7px}.analytics-stat strong{font-size:22px;overflow-wrap:anywhere}.analytics-stat small{display:block;margin-top:6px;color:#715c5c;font-size:11px}
.analytics-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:10px 0 24px}
.analytics-card{background:#fff;border:1px solid #eddad6;border-radius:16px;padding:18px;min-width:0}
.analytics-card h3{margin:0 0 9px;font-size:18px}
.analytics-breakdown{display:grid;gap:9px}.analytics-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;font-size:13px}
.analytics-line strong{font-variant-numeric:tabular-nums}.analytics-line .analytics-track{grid-column:1 / -1}
.analytics-track{width:100%;height:9px;background:#f2e7e3;border-radius:99px;overflow:hidden}
.analytics-fill{height:100%;border-radius:99px;background:#9a6b78}.analytics-fill.expense{background:#c5a56a}
.analytics-trend{display:grid;gap:12px;max-height:400px;overflow:auto}.analytics-trend-row{display:grid;grid-template-columns:68px minmax(0,1fr) 104px;gap:10px;align-items:center;font-size:12px}
.analytics-trend-bars{display:grid;gap:3px}.analytics-trend-row .analytics-track{height:9px}
.analytics-trend-numbers{text-align:right;font-variant-numeric:tabular-nums;font-size:11px}
@media(max-width:1000px){.analytics-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-columns{grid-template-columns:1fr}}
@media(max-width:550px){.analytics-stat{padding:12px}.analytics-stat strong{font-size:18px}.analytics-card{padding:14px}.analytics-trend-row{grid-template-columns:58px minmax(0,1fr) 80px;gap:6px}.analytics-trend-numbers{font-size:10px}.analytics-toolbar .button{flex:1 1 140px}}

/* V12.1: straightforward period comparison, no inferred customer matching. */
.analytics-compare-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:9px 0;border-bottom:1px solid #eedfda;font-size:13px}
.analytics-compare-row span{font-variant-numeric:tabular-nums}.analytics-compare-row small{grid-column:1/-1;color:#766060}
#finance-customer-wrap[hidden]{display:none!important}
@media(max-width:580px){.analytics-compare-row{grid-template-columns:1fr}.analytics-compare-row small{grid-column:auto}}

/* V13: interner Monatsabschluss – übersichtlich auf Handy und Desktop. */
.finance-closing{margin:24px 0;padding:22px;border:1px solid #e3ccc1;border-radius:17px;background:linear-gradient(150deg,#fffdfa,#fff7f3)}
.finance-closing-head{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap}
.finance-closing h3{margin:3px 0 6px;font-size:22px}
.finance-closing-head .kicker{margin:0}
.closing-status{display:block;margin:16px 0 13px;padding:10px 13px;border-radius:10px;background:#fff3e7;color:#7a5941;font-weight:700}
.closing-status.closing-locked{background:#eaf5ea;color:#365c40}
.closing-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}
.closing-stat{background:#fff;border:1px solid #e8d8cf;border-radius:12px;padding:12px;display:grid;gap:5px;min-width:0}
.closing-stat span{font-size:12px;color:#765f55}.closing-stat strong{font-size:17px;color:#493833;overflow-wrap:anywhere}
.closing-warning{padding:10px 12px;background:#fff0df;border-left:3px solid #b17740;border-radius:6px;color:#83552c}
.closing-checkbox{display:flex;align-items:flex-start;gap:10px;font-size:13px;margin:10px 0}.closing-checkbox input{width:18px;height:18px;flex:none}
.closing-note{display:grid;gap:7px;font-size:13px;font-weight:650;margin:14px 0}.closing-note textarea{border:1px solid #dbc6be;border-radius:10px;padding:12px;font:inherit;background:white;resize:vertical;width:100%}
.closing-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.closing-history{display:grid;gap:9px;margin-top:12px}
.closing-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 15px;background:white;border:1px solid #eadbd4;border-radius:10px;padding:12px;font-size:13px}
.closing-history-row small{grid-column:1/-1;overflow-wrap:anywhere}
.finance-closing details summary{cursor:pointer;font-weight:650;margin-top:17px}
@media(max-width:720px){.finance-closing{padding:14px}.closing-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.closing-stat strong{font-size:15px}.closing-buttons>.button{flex:1 1 100%}}

/* V14 Phase 2 – owner-only financial dashboard and print report */
.overview-finance{margin:20px 0;padding:20px;background:#fff;border:1px solid #ead3cd;border-radius:18px;box-shadow:0 4px 20px rgba(80,50,50,.035)}
.overview-finance-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:15px}
.overview-finance-heading h3{margin:1px 0 6px;font-size:21px}.overview-finance-heading p{margin:0}
.overview-finance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.overview-finance-grid>div{padding:14px;border-radius:12px;background:#fff9f7;border:1px solid #f0e0da;display:grid;gap:7px;min-width:0}
.overview-finance-grid span{font-size:12px;color:#725f5d}.overview-finance-grid strong{font-size:clamp(16px,1.9vw,23px);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.overview-finance-grid small{font-size:11px;color:#776864}
.overview-finance-attention{margin:13px 0 0;font-size:12px;padding:10px 12px;background:#f7faf7;border-radius:10px;color:#355947}
.overview-finance-attention.has-warning{background:#fff6e6;color:#76511e}
.analytics-annual{margin:20px 0;max-width:none}.analytics-table-wrap{overflow-x:auto}
.analytics-report-table{border-collapse:collapse;width:100%;font-size:13px}
.analytics-report-table th,.analytics-report-table td{padding:10px 11px;text-align:left;border-bottom:1px solid #e9d9d3;white-space:nowrap;font-variant-numeric:tabular-nums}
.analytics-report-table th{background:#fff7f4;font-weight:700}.analytics-report-table tbody tr:nth-child(even){background:#fffaf8}
.analytics-month-choice{cursor:pointer}.analytics-month-choice:hover,.analytics-month-choice:focus{background:#f5e2e0!important;outline:2px solid #ad7c84;outline-offset:-2px}
.analytics-print-report{display:none}
@media(max-width:970px){.overview-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.overview-finance{padding:14px}.overview-finance-grid strong{font-size:18px}}
@media print{
 body[data-nails-report-print="1"]{background:white!important;color:#161616!important;font:11pt/1.45 Arial,sans-serif!important}
 body[data-nails-report-print="1"] #login-view,body[data-nails-report-print="1"] #dashboard .sidebar,body[data-nails-report-print="1"] #dashboard .topbar,body[data-nails-report-print="1"] #dashboard .studio-mobile-bottom-nav,body[data-nails-report-print="1"] #dashboard .nav-backdrop,body[data-nails-report-print="1"] #dashboard #global-status,body[data-nails-report-print="1"] #dashboard .panel:not(#panel-analytics),body[data-nails-report-print="1"] #panel-analytics> :not(#analytics-print-report){display:none!important}
 body[data-nails-report-print="1"] #dashboard,body[data-nails-report-print="1"] #dashboard .main-column,body[data-nails-report-print="1"] #panel-analytics,body[data-nails-report-print="1"] #analytics-print-report{display:block!important;position:static!important;overflow:visible!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:white!important;min-height:0!important}
 body[data-nails-report-print="1"] #analytics-print-report h2{font-size:22pt;margin:4px 0 8px}
 body[data-nails-report-print="1"] .report-logo{font-size:10pt;font-weight:700;letter-spacing:1px;color:#694354}
 body[data-nails-report-print="1"] .analytics-print-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}
 body[data-nails-report-print="1"] .analytics-print-kpis>div{border:1px solid #aaa;padding:10px;display:grid;gap:8px}
 body[data-nails-report-print="1"] .analytics-print-kpis small{font-size:9pt}
 body[data-nails-report-print="1"] .analytics-report-table{width:100%;font-size:10pt}
 body[data-nails-report-print="1"] .analytics-report-table th,body[data-nails-report-print="1"] .analytics-report-table td{white-space:normal;border-bottom:1px solid #bbb;padding:8px}
 body[data-nails-report-print="1"] .analytics-report-table th{background:#eee!important}
 body[data-nails-report-print="1"] .analytics-report-table tr{break-inside:avoid}
 @page{size:A4 portrait;margin:15mm}
}

/* V15 – Studio-Automationen */
.automation-card{margin:22px 0;padding:22px;border:1px solid var(--line,#e4d8d9);border-radius:16px;background:var(--surface,#fff)}
.automation-card h3{margin:4px 0 8px}.automation-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin:18px 0}
.automation-form>label{display:flex;flex-direction:column;gap:6px;min-width:0}.automation-form label input[type=time],.automation-form label select{width:100%;max-width:100%;min-height:42px}
.automation-form .automation-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:12px;border-radius:10px;background:rgba(120,88,100,.06)}
.automation-row span{display:flex;flex-direction:column;gap:4px}.automation-row small{color:#786b70}.automation-row input[type=checkbox]{width:22px;height:22px;flex-shrink:0}
.automation-form button{grid-column:1/-1;justify-self:start}@media(max-width:680px){.automation-form{grid-template-columns:1fr}.automation-card{padding:15px}}

/* V16: diskrete, mobil nutzbare Kundinnen-Hinweise ohne automatischen Kundenkontakt. */
.customer-signal-panel{margin:18px 0 24px;padding:19px;border:1px solid #e7d6d1;border-radius:16px;background:rgba(255,250,249,.85)}
.customer-signal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.customer-signal-head h3{margin:3px 0 6px}
.customer-signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:14px}
.customer-signal-group{padding:13px;border:1px solid #ecdeda;border-radius:14px;min-width:0;background:#fff}
.customer-signal-group h4{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;gap:5px}
.customer-signal-group h4 span{font-size:13px;background:#f8e9e7;border-radius:20px;padding:3px 9px}
.customer-signal-group .studio-record{flex-wrap:wrap;overflow-wrap:anywhere}
.customer-signal-group .studio-record-actions{margin-top:6px}
@media(max-width:950px){.customer-signal-grid{grid-template-columns:1fr}}

/* V17 – geschützter Studio-Blick und übersichtliche Fehlerdiagnose */
.automation-insights{border:1px solid var(--line,#e4d8d9);border-radius:14px;padding:17px;margin:18px 0;background:var(--surface,#fff)}
.automation-insights h3{margin:0 0 12px}.automation-insights-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:13px 0}
.automation-mini-card{padding:13px;border-radius:10px;background:#f8f2f2;display:flex;gap:7px;flex-direction:column}
.automation-mini-card strong{font-size:1.45rem;line-height:1.2}.automation-gap-list{margin-top:13px;max-height:360px;overflow:auto}
@media(max-width:780px){.automation-insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.automation-insights{padding:12px}}

/* V18: lesbarer Sicherungsstatus auch auf schmalen Handybildschirmen */
#panel-security code {white-space:normal;overflow-wrap:anywhere}
#panel-security .security-card {margin:12px 0;padding:14px}
#panel-security .security-card p {margin:5px 0 0}

/* V19: mobile-first Lagerverwaltung */
.inventory-summary{margin:15px 0 18px}.inventory-form,.inventory-edit,.inventory-move-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;align-items:end}
.inventory-form label,.inventory-edit label,.inventory-move-form label,.inventory-filters label{display:grid;gap:5px;font-size:12px;font-weight:600;color:#765e55;min-width:0}
.inventory-form input,.inventory-form select,.inventory-edit input,.inventory-edit select,.inventory-move-form input,.inventory-move-form select,.inventory-filters input,.inventory-filters select{width:100%;padding:11px 12px;border-radius:10px;border:1px solid #e4ccc3;background:#fff;color:#4b403e;font:inherit;min-width:0}
.inventory-filters{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin:20px 0}.inventory-products{display:grid;gap:13px;margin:18px 0}.inventory-product{background:#fff;border:1px solid #ead7d0;border-radius:15px;padding:18px;min-width:0}.inventory-product[aria-disabled="true"]{opacity:.7}.inventory-product-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.inventory-product-head h3{margin:0;font-size:21px}.inventory-product-head small{color:#806d67}.inventory-stock{font-size:23px;font-weight:700;color:#745448;white-space:nowrap}.inventory-warning{color:#a14b4a;font-weight:650}.inventory-product-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 2px}.inventory-move-form{margin-top:15px;border-top:1px solid #efdfd9;padding-top:15px}.inventory-movement{border-bottom:1px solid #efdfd9;padding:10px 0;display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap}.inventory-movement small{display:block;color:#796d68}.inventory-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inventory-product details{margin-top:10px}.inventory-product summary{cursor:pointer;color:#8b6457;font-weight:600}.inventory-products .inventory-empty{padding:22px;border:1px dashed #d6b5a9;border-radius:13px}
@media(max-width:700px){.inventory-form,.inventory-edit,.inventory-move-form,.inventory-filters{grid-template-columns:1fr}.inventory-product{padding:14px}.inventory-product-head{align-items:flex-start}.inventory-stock{font-size:20px}}

/* V19.1: destruktive Lageraktionen klar gekennzeichnet und auf Handy bedienbar. */
.inventory-delete-button{border:1px solid #c98181!important;color:#973b3b!important;background:#fff6f6!important}
.inventory-delete-button:hover,.inventory-delete-button:focus-visible{background:#ffe7e7!important;outline-color:#973b3b}
.inventory-delete-button:disabled{opacity:.5;cursor:wait}
.inventory-movement-actions{display:flex;align-items:flex-end;flex-direction:column;gap:8px;margin-left:auto}
.inventory-movement-actions strong{text-align:right}
.inventory-movement-actions button{min-height:36px;font-size:12px}
@media(max-width:700px){.inventory-movement-actions{flex:1;min-width:125px}.inventory-movement-actions button{width:100%}}

/* V19.3 – Einheitlicher Bestätigungsstandard: Ja links, Nein rechts. */
.inventory-confirm-dialog{box-sizing:border-box;width:min(430px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:24px;border:1px solid #decdd3;border-radius:16px;background:#fff;color:#342d31;box-shadow:0 18px 50px rgba(40,20,30,.24)}
.inventory-confirm-dialog::backdrop{background:rgba(22,18,22,.56)}
.inventory-confirm-dialog h3{margin:0 0 12px;font-size:1.15rem;line-height:1.4}
.inventory-confirm-dialog p{margin:0 0 22px;line-height:1.5}
/* Feste Anordnung: Ja links, Nein rechts, auf Handy und Desktop. */
.inventory-confirm-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;direction:ltr}
.inventory-confirm-actions .button{width:100%}
.inventory-confirm-actions .button{min-width:88px;min-height:42px}
@media(max-width:430px){.inventory-confirm-dialog{padding:20px}.inventory-confirm-actions .button{flex:1}}

/* V20: Übersichtliche bestehende Zahlungseingänge je Rechnung */
.studio-payment-detail{margin-top:12px;padding:12px;border:1px solid var(--border, #ded6dc);border-radius:12px;background:rgba(255,255,255,.035)}
.studio-payment-detail[hidden]{display:none}
.studio-payment-detail .studio-record{margin-bottom:8px}
.studio-payment-picker{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin:12px 0}
.studio-payment-picker label{min-width:min(100%,280px);flex:1}
.studio-payment-picker select{width:100%;max-width:100%}

/* V20.1 – Owner-Push-Geräteverwaltung */
.push-device-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line, #e9e1e7)}
.push-device-row span{overflow-wrap:anywhere;min-width:0;flex:1 1 220px}
.push-device-row button{flex:0 0 auto}

/* V20.2 – per-device push test results */
#push-test-results{margin:16px 0;padding:12px;border:1px solid #e4ccd1;border-radius:12px;background:#fffafa}
#push-test-results[hidden]{display:none}
.push-test-row{display:block;overflow-wrap:anywhere}
.push-test-row p{margin:4px 0 0}

/* V21 · Premium-Finish: schneller, rollenabhängiger Bereichswechsel. */
.admin-command-open{white-space:nowrap;min-height:42px;border:1px solid #decac5;background:#fffaf8;color:#714f59;font-weight:700;font-size:12px;padding:9px 12px;border-radius:12px}
.admin-command-open kbd{font:600 10px system-ui,sans-serif;opacity:.72;border:1px solid #dbc9c1;border-radius:5px;padding:3px 5px;margin-left:5px}
.admin-command-dialog{position:fixed;inset:auto;top:min(13vh,120px);left:50%;transform:translateX(-50%);margin:0;width:min(94vw,530px);max-height:min(75vh,630px);background:#fffdfc;border:1px solid #ddc5bf;border-radius:18px;padding:20px;box-shadow:0 24px 80px #26161b70;color:#47383f;overflow:auto}
.admin-command-dialog::backdrop{background:#241b24a1;backdrop-filter:blur(3px)}
.admin-command-heading{display:flex;justify-content:space-between;gap:14px;align-items:start}
.admin-command-heading h2{margin:0;font:400 25px Georgia,serif}
.admin-command-heading p{margin:5px 0 15px;font-size:12px;color:#786a6e}
.admin-command-close{width:40px;height:40px;border-radius:10px;border:1px solid #e2d2cb;background:white;font-size:26px;cursor:pointer;flex-shrink:0}
#admin-command-search{display:block;width:100%;font:inherit;font-size:16px;padding:13px;border:1px solid #d7beb7;border-radius:11px;outline-offset:3px;background:#fff}
.admin-command-results{max-height:min(43vh,350px);overflow:auto;display:grid;gap:5px;margin:12px 0}
.admin-command-result{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border:1px solid transparent;background:#fff;border-radius:10px;cursor:pointer;color:inherit;text-align:left;min-height:56px}
.admin-command-result strong{font-size:14px}.admin-command-result small{font-size:11px;color:#816d72}
.admin-command-result:hover,.admin-command-result:focus-visible,.admin-command-result.is-selected{background:#f9eff0;border-color:#e6cbd1;outline-offset:2px}
.admin-command-empty{font-size:13px;padding:15px;color:#756468}
.admin-command-hint{font-size:11px;margin:10px 0 0;color:#816d72}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.admin-recent{margin:20px 0 24px;padding:18px 20px;border:1px solid #e5d6d0;border-radius:15px;background:#fffaf7;display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.admin-recent[hidden]{display:none}.admin-recent h3{margin:0;font:400 22px Georgia,serif}.admin-recent p{font-size:12px;color:#806e71;margin:4px 0 0}
.admin-recent-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-recent-button{min-height:40px}
@media(max-width:850px){.admin-command-open{min-width:46px;padding:8px;font-size:0}.admin-command-open::before{content:'⌕';font-size:22px}.admin-command-open kbd{display:none}.studio-mobile-bottom-nav button.active,.studio-mobile-bottom-nav button[aria-current="page"]{color:#8d3f60;background:#f7e7eb;border-radius:9px}.admin-command-dialog{top:8vh;padding:15px}.admin-recent{padding:14px}}
@media(prefers-reduced-motion:reduce){.admin-command-dialog::backdrop{backdrop-filter:none}}

/* V22.1: Das Studio-Cockpit ist die einzige Startübersicht. */
#panel-cockpit #overview-finance{margin-top:22px}
#panel-cockpit #admin-recent{margin-top:22px}

/* V22.2 – Calendar subnavigation. Hide inaccessible views before scroll actions. */
.calendar-section-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;background:#f8edeb;border:1px solid #ead6d2;border-radius:16px;padding:6px;margin:18px 0 22px}
.calendar-section-tab{cursor:pointer;min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;background:transparent;border-radius:12px;color:#75585f;font:inherit;font-size:14px;font-weight:650;padding:10px 12px;transition:background .13s,border-color .13s}
.calendar-section-tab[aria-selected="true"]{background:#fffdfc;color:#57383f;border-color:#e7d3ce;box-shadow:0 2px 9px rgba(94,51,61,.09)}
.calendar-section-tab:focus-visible{outline:3px solid #a86d7b;outline-offset:2px}
.calendar-subpanel[hidden]{display:none!important}
.calendar-section-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}
.calendar-section-intro h3{font-size:21px;margin:0 0 4px}
.calendar-section-intro p{font-size:13px;color:#7a646b;margin:0;line-height:1.6}
.calendar-inline-note{padding:12px 14px;background:#fff8f5;border:1px solid #ead6d2;border-radius:12px;line-height:1.55}
#calendar-section-appointments .studio-summary{margin-top:8px}
#calendar-section-appointments .studio-template-panel{margin-top:22px}
#calendar-section-hours>.admin-accordion{margin-top:12px}
@media(max-width:600px){.calendar-section-nav{gap:4px;padding:4px;border-radius:12px}.calendar-section-tab{gap:4px;padding:10px 4px;font-size:12px;min-height:48px}.calendar-section-tab span{display:none}.calendar-section-intro{flex-wrap:wrap}.calendar-section-intro .button{width:100%}}

/* V22.3: Kundinnenakte – getrennte, auch mobil nutzbare Reiter. */
.customer-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:1.1rem 0;padding:.4rem;border:1px solid var(--line, #e2dadd);border-radius:14px;background:var(--surface-soft,rgba(120,110,115,.05))}
.customer-tab{appearance:none;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit;padding:.7rem .85rem;min-height:43px;font:inherit;font-weight:650;cursor:pointer;flex:1 1 auto}
.customer-tab[aria-selected="true"]{background:var(--card, #fff);border-color:var(--line,#ded5da);box-shadow:0 1px 5px rgba(0,0,0,.08)}
.customer-tab:focus-visible{outline:3px solid #a96a93;outline-offset:2px}
.customer-section[hidden]{display:none!important}
.customer-section{min-width:0;padding:.8rem 0 1rem}
.customer-section-body{min-width:0}
.customer-section .studio-form{max-width:100%}
@media(max-width:600px){.customer-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.customer-tab{font-size:.88rem;padding:.65rem .35rem;min-width:0}.customer-section{padding:.5rem 0}}

/* V22.4 – sichere Weitergabe einzelner Kundenfotos an die öffentliche Galerie. */
.studio-publication-form{display:grid;gap:10px;margin-top:10px;padding:12px;border:1px solid var(--border, #ded0d0);border-radius:12px;background:var(--surface,#fff)}
.studio-publication-form label{display:grid;gap:5px;font-size:.9rem}
.studio-publication-form input:not([type=checkbox]),.studio-publication-form select{max-width:100%;width:100%;box-sizing:border-box;padding:9px;border-radius:8px;border:1px solid #aaa}
.studio-publication-form .studio-consent-check{display:flex;align-items:flex-start;gap:8px;line-height:1.35}
.studio-publication-form .studio-consent-check input{margin-top:3px}
.studio-gallery-published{display:block;color:#276747;font-weight:700;margin-block:4px}

/* V22.5 – Galerie und Website: klare Navigation mit mobilen Filtern */
.website-quick-nav{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 24px;border-bottom:1px solid #e9d9d2;padding:0 0 14px}
.website-quick-button{border:1px solid #e6d3cc;border-radius:100px;background:#fff;color:#675551;font:600 12px/1.35 system-ui,sans-serif;padding:9px 14px;min-height:40px;cursor:pointer}
.website-quick-button:hover,.website-quick-button.active{border-color:#bb897a;background:#f5e7e1;color:#774d43}
.website-quick-button[hidden]{display:none!important}
.gallery-section[hidden]{display:none!important}
.gallery-section-tabs{display:flex;gap:8px;margin:3px 0 23px;border-bottom:1px solid #e5d5d0;padding-bottom:12px}
.gallery-section-tab{border:1px solid #e6d3cc;border-radius:11px;background:#fff;color:#785f58;padding:11px 20px;min-height:45px;font:650 14px system-ui,sans-serif;cursor:pointer}
.gallery-section-tab.active{background:#f4e0da;border-color:#d6aea2;color:#6d443a}
.gallery-section-tab:focus-visible,.website-quick-button:focus-visible{outline:3px solid #ac7666;outline-offset:2px}
.gallery-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:0 0 19px}
.gallery-summary>div{background:#fff7f2;border:1px solid #ead8d0;border-radius:13px;padding:16px 14px;display:grid;gap:3px}
.gallery-summary strong{color:#795048;font:400 29px/1.15 Georgia,serif}
.gallery-summary span{color:#7d6a62;font-size:12px}
.gallery-search-toolbar{display:grid;grid-template-columns:minmax(130px,1.4fr) repeat(3,minmax(115px,1fr)) auto;align-items:end;gap:9px;padding:17px;background:#fff9f6;border:1px solid #eadbd6;border-radius:15px;margin:18px 0 11px}
.gallery-search-toolbar label{display:grid;gap:6px;color:#64534f;font-size:12px;font-weight:600;min-width:0}
.gallery-search-toolbar input,.gallery-search-toolbar select{width:100%;min-width:0;border:1px solid #decac4;border-radius:9px;background:white;color:#483a38;min-height:42px;padding:9px 10px;font:400 14px system-ui,sans-serif}
.gallery-reset-filters{min-height:42px;white-space:nowrap}
.gallery-origin{align-self:start;justify-self:start;border:1px solid #e5d8d1;background:#faf7f3;color:#725e55;border-radius:100px;font-size:11px;font-weight:650;padding:5px 10px}
.gallery-origin-customer{background:#eaf4ef;border-color:#b7dac7;color:#2a654b}
.gallery-origin-upload{background:#f6ece9;border-color:#e9d5cf;color:#805e50}
.gallery-empty{grid-column:1/-1;text-align:center;background:#fff9f5;border:1px dashed #dfc9c2;border-radius:12px;padding:24px;color:#6f625b;font-size:13px}
#gallery-result-count{margin:11px 0 18px}
#gallery-sort-hint{margin:0 0 14px}
@media(max-width:1120px){.gallery-search-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-reset-filters{justify-self:start}}
@media(max-width:600px){.website-quick-nav{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:12px}.website-quick-button{white-space:nowrap;flex:0 0 auto;scroll-snap-align:start}.gallery-summary{gap:6px}.gallery-summary>div{padding:10px 8px}.gallery-summary strong{font-size:23px}.gallery-summary span{font-size:10px}.gallery-search-toolbar{grid-template-columns:1fr}.gallery-section-tab{flex:1;padding:11px 8px}.gallery-reset-filters{width:100%}}

/* V22.6 · Finanzen und Rechnungen: schnelle, zugängliche Bereichswechsel */
.finance-workspace-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;border:1px solid var(--border);border-radius:15px;background:#fff5f1;margin:18px 0 22px}
.finance-workspace-tab{appearance:none;min-height:48px;min-width:0;cursor:pointer;border:0;background:transparent;border-radius:11px;padding:9px 10px;color:#685551;font-weight:700;font-size:14px}
.finance-workspace-tab[aria-selected="true"]{background:#fff;border:1px solid #e9d7cf;box-shadow:0 3px 12px #76524716;color:#6d413d}
.finance-workspace-tab:hover{background:#fffaf8}
.finance-workspace-view{min-width:0}
.finance-workspace-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:8px 0 18px}
.finance-workspace-heading h3{margin:0;font-size:24px}.finance-workspace-heading p{margin:3px 0 0}
.finance-workspace-actions{display:flex;gap:8px;flex-wrap:wrap}
.invoice-search-tools{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;margin:18px 0 10px}
.invoice-search-tools label{display:grid;gap:6px;min-width:0;font-weight:650;font-size:13px;color:#745e58}
.invoice-search-tools input,.invoice-search-tools select{background:#fff;min-height:46px;width:100%;min-width:0;border:1px solid #e3cec8;border-radius:11px;font:inherit;font-size:16px;color:#493935;padding:10px 12px}
.invoice-search-result{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:15px;color:var(--muted);font-size:13px}
@media(max-width:640px){.finance-workspace-tab{font-size:12px;padding:9px 4px;min-height:48px}.finance-workspace-heading{align-items:stretch;flex-direction:column}.finance-workspace-actions{display:grid;grid-template-columns:1fr}.invoice-search-tools{grid-template-columns:1fr}.invoice-search-result .button{width:100%}.finance-workspace-heading>.button{width:100%}}


/* V22.7 – App & Mitteilungen: kompakte, tastaturbedienbare Owner-Reiter. */
.push-workspace-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;border:1px solid #ead6d2;border-radius:15px;background:#fff5f1;margin:18px 0 22px}
.push-workspace-tab{appearance:none;min-height:49px;min-width:0;border:1px solid transparent;border-radius:11px;background:transparent;color:#695550;font:700 14px system-ui,sans-serif;cursor:pointer;padding:10px 8px}
.push-workspace-tab[aria-selected="true"]{background:#fff;border-color:#e6cec7;box-shadow:0 2px 10px #76524718;color:#6b403e}
.push-workspace-tab:focus-visible,.push-workspace-actions .button:focus-visible{outline:3px solid #ad6f7f;outline-offset:2px}
.push-workspace-view[hidden]{display:none!important}
.push-workspace-view{min-width:0}
.push-workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 18px}
.push-workspace-heading h3{margin:0 0 4px;font-size:24px}
.push-workspace-heading p{margin:0}
.push-workspace-actions{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0 20px}
.push-install-guide ol{padding-left:22px;line-height:1.75;margin:4px 0 8px}
#push-view-devices .push-setting-card{align-items:flex-start}
#push-view-devices .push-setting-card>div:first-child{flex:1 1 220px}
#push-view-devices .push-buttons{flex:1 1 360px}
#push-view-devices .push-buttons .button{flex:1 1 145px}
#push-view-tech .push-buttons{margin-top:12px}
#push-view-tech .automation-card{margin-top:14px}
#push-view-devices .info-note{margin-top:20px}
@media(max-width:640px){.push-workspace-tab{font-size:12px;min-height:52px;padding:8px 3px}.push-workspace-tabs{gap:3px;padding:4px}.push-workspace-heading{flex-direction:column;align-items:stretch}.push-workspace-actions{display:flex;flex-direction:column}.push-workspace-actions .button{width:100%}.push-workspace-heading>.button{width:100%}}

#panel-security .accordion-body code {overflow-wrap:anywhere;word-break:break-word}

/* V23.1 R2-Sicherungen: mobile-friendly, clearly separated sensitive controls. */
.security-r2{margin:20px 0;padding:20px;border:1px solid var(--line, #e1dce0);border-radius:16px;background:var(--card, #fff)}
.security-r2-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:15px 0}
.security-r2-actions label{flex:1 1 280px;min-width:0}
.security-r2-actions input{display:block;width:100%;max-width:100%;margin-top:7px}
.security-r2-direct{padding:14px 16px;margin:18px 0;background:var(--soft, #f8f6f7);border-radius:12px}
.security-r2-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid #e9e4e7}
.security-r2-row:last-child{border-bottom:0}
.security-r2-row .security-r2-actions-inline{display:flex;gap:8px;flex-wrap:wrap}
.security-r2-row strong{overflow-wrap:anywhere}
@media(max-width:640px){.security-r2{padding:14px}.security-r2-actions>.button{width:100%}.security-r2-row .button{flex:1}}

