/* dezibel App – mobile/desktop UI refresh 1.7.1 */
#dezibel-app{max-width:860px;margin:20px auto;padding:0 12px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#333}
.dezibel-card{background:#fff;border:1px solid #dedede;border-radius:20px;padding:28px;box-shadow:0 8px 30px rgba(0,0,0,.07)}
.dezibel-logo{margin-bottom:16px}.dezibel-logo img{display:block;max-width:360px;width:100%;height:auto;margin:0 auto 12px}
.dezibel-card h1{margin:0 0 8px;font-size:26px;line-height:1.2;color:#3b3b3b}.dezibel-card h2{margin:24px 0 12px;font-size:21px;color:#444}.dezibel-card h3{color:#444}
.dezibel-card p{color:#666;line-height:1.5}
.dezibel-card input,.dezibel-card textarea,.dezibel-card select{box-sizing:border-box;width:100%;padding:12px 13px;border:1px solid #bbb;border-radius:10px;font-size:16px;margin:7px 0;background:#fff}
.dezibel-card button{padding:12px 16px;border:0;border-radius:10px;background:#bb0c2c;color:#fff;font-size:16px;font-weight:650;cursor:pointer;transition:transform .12s,opacity .12s}.dezibel-card button:hover{opacity:.92}.dezibel-card button:active{transform:scale(.98)}.dezibel-card button.secondary{background:#777575}
.dz-nav{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}.dz-nav button{background:#777575}
.dz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.dz-tile{border:1px solid #ddd;border-radius:16px;padding:17px;background:#fafafa;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.dz-tile strong{font-size:17px;color:#3f3f3f}.dz-tile p{margin:8px 0;font-size:14px}.dz-tile ul{margin:9px 0 0;padding-left:19px}.dz-tile li{margin:5px 0}
/* subtle category colours – deliberately restrained */
.dz-tile:nth-child(1){background:#fff5f7;border-color:#f0c8d0}.dz-tile:nth-child(2){background:#f7f8fb;border-color:#dfe3eb}.dz-tile:nth-child(3){background:#fffaf0;border-color:#eadfc2}.dz-tile:nth-child(4){background:#f7f7f7;border-color:#dedede}.dz-tile:nth-child(5){background:#f4f8f6;border-color:#d7e5dc}
.dz-tile button,.dz-tile .dz-app-link-button{margin-top:auto}
.dz-app-link-button{display:block;width:100%;text-align:center;text-decoration:none;box-sizing:border-box;padding:12px 16px;border-radius:10px;background:#bb0c2c;color:#fff;font-size:16px;font-weight:650}.dz-app-link-button:hover{color:#fff}
.dz-child-switcher{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid #ddd;border-radius:14px;background:#f7f7f7;margin:10px 0 16px}.dz-child-switcher span{font-weight:700;white-space:nowrap}.dz-child-switcher select{margin:0;max-width:390px}
.dz-message{border:1px solid #ddd;border-radius:12px;padding:14px;margin:10px 0;background:#fff}.dz-message.unread{border-left:5px solid #bb0c2c}.dz-muted{color:#777;font-size:13px}.dz-error{background:#fff0f0;padding:12px;border-radius:10px;border-left:4px solid #bb0c2c}.dz-success{background:#edf8ee;padding:12px;border-radius:10px}
.dz-student{display:flex;gap:10px;align-items:center;padding:11px;border-bottom:1px solid #eee}.dz-student input{width:auto;margin:0}.dz-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.dz-response{margin:14px 0;padding:16px;border:1px solid #ddd;border-radius:12px;background:#fafafa}.dz-response label{display:block;margin:8px 0;font-weight:600}.dz-response input,.dz-response textarea{margin-top:5px}.dz-response h3{margin-top:0}
.dz-inbox-pulse{animation:dzInboxPulse .8s ease}@keyframes dzInboxPulse{0%{opacity:.45;transform:translateY(-3px)}100%{opacity:1;transform:translateY(0)}}
.dz-message-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}.dz-message-tabs button{min-width:150px;position:relative}.dz-message-tabs button:not(.secondary){font-weight:700}
.dz-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#bb0c2c;color:#fff;font-size:13px;font-weight:700;line-height:1;vertical-align:middle;margin-left:5px}
.dz-important-label{font-weight:700;margin-bottom:6px}.dz-important-status{margin:10px 0;padding:10px;border:1px solid #dcdcde;border-radius:8px;background:#f6f7f7}.dz-open-important{font-weight:650}.dz-group-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.dz-group-btn{margin:0!important}.dz-group-btn:active{transform:scale(.98)}
/* compact controls */
#dzinstall,#dznotify,#dzteachernotify{font-size:14px;padding:10px 13px}
@media(max-width:600px){
  #dezibel-app{margin:6px auto;padding:0 7px}
  .dezibel-card{padding:14px;border-radius:16px;box-shadow:0 5px 18px rgba(0,0,0,.06)}
  .dezibel-logo img{max-width:265px;margin-bottom:8px}
  .dezibel-card h1{font-size:22px}.dezibel-card h2{font-size:19px;margin-top:20px}
  .dz-child-switcher{align-items:stretch;flex-direction:column;gap:6px;padding:10px;margin:8px 0 12px}.dz-child-switcher select{max-width:none}
  .dz-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}
  .dz-tile{padding:12px;border-radius:13px;min-height:0}.dz-tile strong{font-size:15px;line-height:1.25}.dz-tile p{font-size:12px;line-height:1.35;margin:6px 0}.dz-tile ul{font-size:13px;padding-left:17px}.dz-tile li{margin:4px 0}
  .dz-tile button,.dz-app-link-button{width:100%;font-size:14px;padding:10px 9px;margin-top:9px}
  .dz-nav{gap:6px;margin:8px 0 12px}.dz-nav button{font-size:13px;padding:9px 10px}
  .dz-message-tabs{gap:6px}.dz-message-tabs button{min-width:0;flex:1;font-size:14px;padding:10px}
  .dz-actions button{width:100%}
}
@media(max-width:360px){.dz-grid{grid-template-columns:1fr}.dz-tile{padding:13px}.dezibel-card h1{font-size:21px}}

/* 1.7.1 navigation and mail-style UI */
.dz-mobile-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px}.dz-mobile-head h1{margin-bottom:2px}.dz-menu-btn{white-space:nowrap!important;background:#777575!important}.dz-dropdown-menu[hidden]{display:none!important}.dz-dropdown-menu{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid #ddd;border-radius:14px;padding:8px;margin:8px 0 14px;box-shadow:0 8px 24px rgba(0,0,0,.09)}.dz-dropdown-menu button{background:transparent!important;color:#333!important;text-align:left!important;font-weight:600!important;padding:11px 12px!important;border-radius:9px!important}.dz-dropdown-menu button:hover{background:#f5f5f5!important}.dz-mainview{min-height:180px}.dz-welcome{padding:18px 0}.dz-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.dz-summary>div{border:1px solid #ddd;border-radius:12px;padding:13px;background:#fafafa;display:flex;flex-direction:column;gap:5px}.dz-summary span{font-size:13px;color:#777}.dz-logout{margin-top:22px}.dz-mail-list{border:1px solid #ddd;border-radius:12px;overflow:hidden;background:#fff}.dz-mail-row{width:100%!important;display:grid!important;grid-template-columns:minmax(90px,20%) minmax(120px,28%) 1fr auto!important;gap:10px!important;align-items:center!important;text-align:left!important;background:#fff!important;color:#333!important;border:0!important;border-bottom:1px solid #eee!important;border-radius:0!important;padding:13px 14px!important;font-weight:400!important}.dz-mail-row:last-child{border-bottom:0!important}.dz-mail-row:hover{background:#fafafa!important}.dz-mail-row.unread{font-weight:700!important}.dz-mail-row.unread .dz-mail-preview,.dz-mail-row.unread .dz-mail-date{font-weight:500}.dz-mail-preview{color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.dz-mail-date{font-size:12px;color:#777;white-space:nowrap;font-weight:400}.dz-mail-subject{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dz-mail-who{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dz-detail-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-weight:700}.dz-message-detail{background:#fff;border:1px solid #ddd;border-radius:14px;padding:18px}.dz-detail-body{margin:20px 0;line-height:1.6}.dz-search input,.dz-recipient-picker input{margin-bottom:8px}.dz-section{margin:18px 0}.dz-section h3{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.dz-count{font-size:12px;color:#777;font-weight:500}.dz-collapse-row{width:100%!important;display:flex!important;justify-content:space-between!important;align-items:center!important;background:#f7f7f7!important;color:#333!important;border:1px solid #ddd!important;margin:4px 0!important;text-align:left!important}.dz-collapse-content{border:1px solid #eee;border-top:0;padding:4px 10px;margin-bottom:6px}.dz-list-row{display:flex;justify-content:space-between;align-items:center;padding:11px 4px;border-bottom:1px solid #eee}.dz-list-row:last-child{border-bottom:0}.dz-recipient-results{max-height:360px;overflow:auto}.dz-picker-row{width:100%!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;background:#fff!important;color:#333!important;border:1px solid #ddd!important;text-align:left!important;margin:4px 0!important}.dz-picker-row span{font-size:12px;color:#777}.dz-picker-row.is-selected{background:#f7e8ec!important;border-color:#bb0c2c!important;box-shadow:inset 4px 0 0 #bb0c2c}.dz-picker-row.is-selected strong:before{content:"✓ ";color:#bb0c2c}.dz-selected-count{margin:10px 0;padding:9px 11px;background:#f7f7f7;border-radius:9px;font-weight:650}.dz-checkline{display:flex;gap:8px;align-items:center;margin:14px 0;font-weight:650}.dz-checkline input{width:auto!important;margin:0!important}.dz-settings-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:600px){.dz-mobile-head{align-items:flex-start}.dz-mobile-head h1{font-size:22px}.dz-summary{grid-template-columns:1fr 1fr}.dz-summary>div:last-child{grid-column:1/-1}.dz-mail-row{grid-template-columns:1fr auto!important;gap:3px 8px!important;padding:12px!important}.dz-mail-who{grid-column:1}.dz-mail-date{grid-column:2;grid-row:1}.dz-mail-subject{grid-column:1/-1}.dz-mail-preview{grid-column:1/-1;font-size:13px}.dz-mail-tabs button{min-width:0}.dz-settings-actions button{width:100%}}
@media(max-width:360px){.dz-summary{grid-template-columns:1fr}.dz-summary>div:last-child{grid-column:auto}}

.dz-home-banner-wrap{margin:0 0 18px;border-radius:16px;overflow:hidden;background:#f5f5f5;border:1px solid #e2e2e2;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.dz-home-banner{display:block;width:100%;height:auto;max-height:420px;object-fit:cover}

.dz-dropdown-menu{display:none!important}.dz-dropdown-menu.is-open{display:flex!important}.dz-dropdown-menu[aria-hidden="true"]{display:none!important}.dz-dropdown-menu[aria-hidden="false"]{display:flex!important}
/* 1.8.0: compact mail actions */
.dz-mail-row{position:relative;display:flex!important;align-items:center;gap:8px!important;padding:8px 10px!important;min-height:58px}
.dz-mail-main{flex:1!important;display:grid!important;grid-template-columns:minmax(80px,20%) minmax(120px,28%) 1fr auto!important;gap:8px!important;align-items:center!important;text-align:left!important;background:transparent!important;color:#333!important;border:0!important;border-radius:0!important;padding:3px!important;margin:0!important;font-weight:400!important;min-width:0!important}
.dz-mail-main-static{flex:1;display:grid;grid-template-columns:minmax(80px,20%) minmax(120px,28%) 1fr auto;gap:8px;align-items:center;min-width:0}
.dz-mail-actions{display:flex;align-items:center;gap:3px;flex:0 0 auto}
.dz-mail-action{width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;margin:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#777!important;font-size:17px!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important}
.dz-mail-action:hover{background:#f1f1f1!important;color:#bb0c2c!important}
.dz-mail-status{font-size:11px;color:#777;white-space:nowrap;margin-right:3px}
@media(max-width:700px){.dz-mail-row{padding:7px 6px!important}.dz-mail-main{grid-template-columns:30% 1fr!important;gap:2px 7px!important}.dz-mail-main .dz-mail-preview{grid-column:2;grid-row:2}.dz-mail-main .dz-mail-date{grid-column:1;grid-row:2;font-size:11px}.dz-mail-main-static{grid-template-columns:30% 1fr;gap:2px 7px}.dz-mail-main-static .dz-mail-preview{grid-column:2;grid-row:2}.dz-mail-main-static .dz-mail-date{grid-column:1;grid-row:2;font-size:11px}.dz-mail-actions{gap:1px}.dz-mail-action{width:31px!important;height:31px!important;min-width:31px!important;font-size:16px!important}.dz-mail-status{display:none}}
/* 1.8.12: öffentliche Unterrichtsinformationen */
.dz-public-notices-wrap{margin:0 0 16px}.dz-public-notice-title{font-weight:800;font-size:18px;margin:0 0 12px;text-align:center;color:#bb0c2c}.dz-public-notice-card{border:1px solid #e7c2ca;border-radius:16px;padding:18px 20px;margin:8px 0;background:#fff7f8;text-align:center;box-sizing:border-box}.dz-public-notice-subject{font-weight:800;font-size:18px;margin-bottom:8px}.dz-public-notice-body{line-height:1.6;white-space:normal}.dz-public-template-wrap{padding:12px;border:1px solid #ead0d5;border-radius:12px;background:#fff8f9;margin:8px 0 12px}.dz-public-template-preview{padding:10px 12px;border-radius:10px;background:#fff;text-align:center;color:#555;font-size:14px;line-height:1.5;border:1px solid #eee}.dezibel-public-notices{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-width:860px;box-sizing:border-box;margin:20px auto;padding:0 12px;text-align:center}.dezibel-public-empty{padding:20px;border:1px solid #ddd;border-radius:16px;background:#fafafa;text-align:center;color:#666}.dezibel-public-notice{border:1px solid #e7c2ca;border-left:5px solid #bb0c2c;border-radius:16px;padding:20px;margin:12px 0;background:#fff7f8;text-align:center;box-sizing:border-box}.dezibel-public-notice-head{display:flex;justify-content:center;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.dezibel-public-notice-label{font-weight:800;color:#bb0c2c}.dezibel-public-notice-date{font-size:12px;color:#777}.dezibel-public-notice h3{margin:4px 0 8px}.dezibel-public-notice-body{line-height:1.6}

.dz-dance-portal{max-width:760px;margin:0 auto}.dz-card{background:#fff;border:1px solid #ddd;border-radius:18px;padding:22px;margin:18px 0;box-shadow:0 4px 18px rgba(0,0,0,.06)}.dz-card label{display:block;margin:12px 0;font-weight:600}.dz-card input{width:100%;box-sizing:border-box;padding:11px;border:1px solid #ccc;border-radius:8px}.dz-card button{margin:8px 8px 0 0}.dz-dance-card{text-align:center}.dz-card-title{font-size:24px;font-weight:700}.dz-card-number{font-size:32px;font-weight:800;letter-spacing:2px;margin:10px 0}.dz-barcode{width:100%;max-width:760px;height:150px;display:block;margin:10px auto;background:#fff}.dz-loyalty{margin:18px 0;padding:18px;border-radius:14px;background:#fff8c9}.dz-loyalty-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:17px}.dz-loyalty-pass{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;margin:16px 0}.dz-loyalty-dot{display:block;aspect-ratio:1;border-radius:50%;background:#e3e3e3;border:2px solid #cfcfcf;box-sizing:border-box;position:relative}.dz-loyalty-dot.filled{background:#bb0c2c;border-color:#bb0c2c}.dz-loyalty-dot.milestone15{box-shadow:0 0 0 3px rgba(187,12,44,.18)}.dz-loyalty-dot.milestone30{box-shadow:0 0 0 3px rgba(187,12,44,.32)}.dz-loyalty-rewards{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;font-weight:700}.dz-loyalty-reward{margin-top:12px;padding:10px;border-radius:10px;background:#fff;border:1px solid #e3b8c1;font-weight:800;color:#bb0c2c}.dz-loyalty-hint{margin-top:10px;font-size:12px;color:#777} .dz-points{font-size:28px;font-weight:800;margin-top:6px}.dz-success{padding:18px;background:#ecfdf3;border:1px solid #86efac;border-radius:12px;margin-top:12px}.dz-error{padding:12px;border-radius:10px;background:#fee2e2;color:#991b1b;margin-top:10px}
/* 1.9.16: Vorverkauf / PayPal */
.dz-presale-card{background:#fff;border:1px solid #ddd;border-radius:18px;padding:18px;margin:16px 0;text-align:left;box-shadow:0 4px 18px rgba(0,0,0,.05)}
.dz-presale-card h3{margin:0 0 6px;font-size:20px}.dz-presale-image{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:12px;margin-bottom:14px}.dz-presale-prices{display:flex;gap:16px;flex-wrap:wrap;margin:12px 0;font-size:15px}.dz-presale-prices strong{color:#bb0c2c}.dz-presale-card label{display:block;margin-top:14px;font-weight:650}.dz-presale-qty{display:block;width:100%;max-width:180px;padding:11px;border:1px solid #ccc;border-radius:9px;margin-top:6px;background:#fff;font-size:16px}.dz-presale-total{font-size:19px;font-weight:800;margin:14px 0}.dz-paypal-button{max-width:420px;margin:10px auto 0}.dz-presale-status{margin-top:10px;font-size:14px}.dz-presale-status.dz-success,.dz-presale-status.dz-error{padding:10px;border-radius:10px}.dz-muted{color:#777}

.dz-message{border:1px solid #ddd;border-radius:12px;padding:14px;margin:10px 0;background:#fff}.dz-message.unread{border-left:5px solid #bb0c2c}.dz-muted{color:#777;font-size:13px}.dz-error{background:#fff0f0;padding:12px;border-radius:10px;border-left:4px solid #bb0c2c}.dz-loyalty-redeem{margin-top:14px}.dz-loyalty-redeem button{margin:6px 6px 0 0}.dz-loyalty-confirm{margin-top:10px;padding:12px;border:1px solid #e3b8c1;border-radius:10px;background:#fff}.dz-loyalty-confirm p{margin:8px 0;font-size:13px;color:#555}.dz-success{background:#edf8ee;padding:12px;border-radius:10px}

.dz-digital-card-shell{position:relative;overflow:hidden;text-align:left;padding:18px 18px 16px;border-radius:18px;background:linear-gradient(135deg,#2b2b2b,#5b5b5b);color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.18);margin-bottom:18px}.dz-digital-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:1.5px;font-weight:800}.dz-digital-card-logo{width:86px;height:34px;object-fit:contain;background:#fff;border-radius:6px;padding:3px}.dz-digital-card-number-label{margin-top:18px;font-size:10px;text-transform:uppercase;letter-spacing:1.3px;opacity:.78}.dz-digital-card-shell .dz-card-number{font-size:28px;letter-spacing:3px;margin:3px 0 10px;color:#fff}.dz-digital-card-shell .dz-barcode{height:145px;margin:0;width:100%;max-width:none;border:0;border-radius:5px}.dz-digital-card-name{margin-top:10px;font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.dz-loyalty-history{margin-top:16px;padding-top:14px;border-top:1px solid rgba(0,0,0,.08)}.dz-loyalty-history-title{font-weight:800;margin-bottom:8px}.dz-loyalty-history-row{display:grid;grid-template-columns:1.2fr .7fr .9fr;gap:8px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.07);font-size:12px;align-items:center}.dz-loyalty-history-row:last-child{border-bottom:0}.dz-loyalty-history-empty{margin-top:14px;padding-top:12px;border-top:1px solid rgba(0,0,0,.08);font-size:12px;color:#777}@media(max-width:420px){.dz-loyalty-pass{gap:5px}.dz-loyalty-head{font-size:15px}.dz-loyalty-rewards{font-size:12px}.dz-digital-card-shell{padding:15px}.dz-digital-card-logo{width:72px;height:30px}.dz-digital-card-shell .dz-card-number{font-size:22px;letter-spacing:2px}.dz-digital-card-shell .dz-barcode{height:120px}.dz-loyalty-history-row{grid-template-columns:1fr .6fr .8fr;font-size:11px}}

/* Tanzschüler Startseite */
.dz-dance-home{padding:4px 0 18px}.dz-dance-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:10px 0 18px}.dz-dance-tile{aspect-ratio:1/1;width:100%;border:1px solid #ddd!important;border-radius:18px!important;padding:18px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:7px!important;color:#333!important;box-shadow:0 5px 16px rgba(0,0,0,.08)!important;cursor:pointer}.dz-dance-tile:hover{transform:translateY(-1px)}.dz-dance-tile .dz-tile-icon{font-size:44px;line-height:1}.dz-dance-tile strong{font-size:18px}.dz-dance-tile small{font-size:12px;line-height:1.35;color:#666}.dz-tile-card{background:#f4f4f4!important}.dz-tile-loyalty{background:#fff8c9!important}.dz-tile-events{background:#fff0f3!important}.dz-tile-schedule{background:#eef7ff!important}.dz-dance-greeting{padding:13px 15px;border:1px solid #ddd;border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:4px}.dz-dance-greeting span{font-size:12px;color:#777}.dz-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.dz-schedule-list{display:flex;flex-direction:column;gap:10px}.dz-schedule-card{padding:14px;border:1px solid #e1e1e1;border-radius:14px;background:#fff}.dz-schedule-card h3{margin:3px 0 4px}.dz-schedule-date{font-weight:800;color:#bb0c2c;font-size:14px}.dz-schedule-meta{color:#666;font-size:13px}.dz-schedule-teacher{margin-top:9px;font-weight:700}.dz-install-steps{padding:14px;border-radius:12px;background:#f7f7f7;border:1px solid #ddd}@media(max-width:420px){.dz-dance-tiles{gap:10px}.dz-dance-tile{padding:12px!important;border-radius:15px!important}.dz-dance-tile .dz-tile-icon{font-size:36px}.dz-dance-tile strong{font-size:15px}.dz-dance-tile small{font-size:11px}}
.dz-ticket-card{border:1px solid #ddd;border-radius:10px;padding:12px;margin:10px 0;background:#fff}.dz-ticket-card strong{display:block}.dz-ticket-card>div{margin-top:4px}.dz-my-tickets{margin-bottom:14px}

/* 1.9.25: Ticket-QR-Codes */
.dz-ticket-qr-wrap{text-align:center;margin:12px 0 8px;padding:12px;border-radius:12px;background:#fafafa;border:1px solid #eee}.dz-ticket-qr{display:block;width:220px;height:220px;max-width:100%;margin:0 auto;image-rendering:auto}.dz-ticket-number{margin-top:8px;font-size:13px;word-break:break-all}

/* 1.9.28 – separate, clearer login areas */
.dz-login-page{max-width:700px;margin:0 auto;padding:4px 0 8px}.dz-login-intro{text-align:center;padding:8px 8px 18px}.dz-login-intro h1{margin:0 0 6px;font-size:30px;color:#333}.dz-login-intro p{margin:0;color:#777;font-size:16px}.dz-login-section{border:1px solid #ddd;border-radius:18px;padding:20px;margin:14px 0;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.05)}.dz-login-section-head{display:flex;gap:14px;align-items:flex-start}.dz-login-section-icon{font-size:32px;line-height:1}.dz-login-section h2{margin:0 0 5px;font-size:21px;color:#333}.dz-login-section p{margin:0;color:#666;line-height:1.45}.dz-login-section form{margin-top:16px}.dz-login-section label{display:block;font-weight:700;margin-bottom:5px}.dz-login-section input{box-sizing:border-box;width:100%;padding:13px;border:1px solid #bbb;border-radius:10px;font-size:16px;background:#fff;margin:0 0 9px}.dz-login-section button{padding:12px 18px;border:0;border-radius:10px;background:#bb0c2c;color:#fff;font-size:16px;font-weight:700;cursor:pointer}.dz-login-section button.secondary{background:#777575}.dz-login-note{font-size:13px!important;margin-top:12px!important}.dz-login-two-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:17px}.dz-login-two-actions button{width:100%}.dz-login-teacher{text-align:center;margin:16px 0 4px}.dz-login-teacher button{padding:10px 16px;border:0;border-radius:10px;background:#777575;color:#fff;font-weight:650;cursor:pointer}.dz-login-music{border-top:4px solid #bb0c2c}.dz-login-dance{border-top:4px solid #777575}.dz-login-teacher .secondary:hover,.dz-login-two-actions .secondary:hover{opacity:.92}@media(max-width:600px){.dz-login-page{padding:0}.dz-login-intro{padding:5px 4px 14px}.dz-login-intro h1{font-size:25px}.dz-login-section{padding:16px;margin:10px 0;border-radius:15px}.dz-login-section-icon{font-size:28px}.dz-login-section h2{font-size:19px}.dz-login-two-actions{grid-template-columns:1fr;gap:8px}.dz-login-teacher{margin-top:12px}}


/* 1.9.29 – Musikschüler-Dashboard */
.dz-home-info{display:flex;gap:12px;align-items:flex-start;margin:12px 0 16px;padding:14px 16px;border:1px solid #e1e1e1;border-left:4px solid #bb0c2c;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.04)}.dz-home-info-icon{font-size:22px;line-height:1.2}.dz-home-info strong{display:block;font-size:16px;margin-bottom:4px}.dz-home-info p{margin:0;color:#555;line-height:1.5}.dz-student-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 16px}.dz-student-tile{min-height:132px!important;background:#fff!important;color:#333!important;border:1px solid #ddd!important;border-radius:16px!important;padding:16px 12px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:5px!important;box-shadow:0 4px 14px rgba(0,0,0,.06)!important}.dz-student-tile:hover{border-color:#bb0c2c!important;transform:translateY(-1px)}.dz-student-tile>span{font-size:32px;line-height:1}.dz-student-tile strong{font-size:16px}.dz-student-tile small{font-size:12px;color:#777;line-height:1.3}.dz-student-tile-info{border-top:3px solid #bb0c2c!important}.dz-home-banner-compact{margin-top:6px}.dz-home-banner-compact .dz-home-banner{height:155px;max-height:155px;object-fit:cover;object-position:center}.dz-home-actions{margin-top:10px}.dz-mainview{min-height:0}@media(max-width:420px){.dz-student-tiles{gap:9px}.dz-student-tile{min-height:116px!important;padding:12px 8px!important}.dz-student-tile>span{font-size:28px}.dz-student-tile strong{font-size:14px}.dz-home-banner-compact .dz-home-banner{height:125px;max-height:125px}}
\n.dz-back-home{width:auto!important;margin:4px 0 14px!important;padding:9px 13px!important;border-radius:10px!important;background:#f3f3f3!important;color:#333!important;border:1px solid #d6d6d6!important;font-weight:700!important}.dz-back-home:hover{background:#e9e9e9!important}.dz-unread{border-left:4px solid #bb0c2c!important;background:#fffafa!important}.dz-info-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.dz-period{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #eee}.dz-period label:last-child{grid-column:1/-1}@media(max-width:520px){.dz-info-head{flex-direction:column}.dz-period{grid-template-columns:1fr}.dz-period label:last-child{grid-column:auto}}\n

/* 1.9.31 – visueller Feinschliff & einheitliche Navigation */
.dz-mainview h2,#dzdcontent h2{margin:6px 0 5px;font-size:23px;letter-spacing:-.25px;color:#2f2f2f}
.dz-mainview>p.dz-muted,#dzdcontent>p.dz-muted{margin-top:0;margin-bottom:16px}
.dz-back-home{display:inline-flex!important;align-items:center!important;gap:5px!important;width:auto!important;margin:2px 0 13px!important;padding:7px 11px!important;border-radius:999px!important;background:#fff!important;color:#555!important;border:1px solid #dedede!important;box-shadow:0 2px 7px rgba(0,0,0,.04)!important;font-size:13px!important;font-weight:700!important;line-height:1.2!important}
.dz-back-home:hover{color:#bb0c2c!important;border-color:#d9a0ac!important;background:#fffafa!important}
.dz-home-info{position:relative;overflow:hidden;padding:16px 17px;border:0;border-left:4px solid #bb0c2c;background:linear-gradient(135deg,#fff,#fff8fa);box-shadow:0 4px 15px rgba(0,0,0,.055)}
.dz-home-info-icon{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#f8e8ec;font-size:18px}
.dz-home-info strong{font-size:17px;color:#333}.dz-home-info p{font-size:14px;color:#5c5c5c}
.dz-student-tiles{gap:13px;margin:12px 0 18px}.dz-student-tile{position:relative;min-height:138px!important;border:0!important;border-radius:19px!important;padding:18px 13px!important;box-shadow:0 5px 18px rgba(0,0,0,.075)!important;transition:transform .15s ease,box-shadow .15s ease!important}.dz-student-tile:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.1)!important}.dz-student-tile>span{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:15px;background:#f6f6f6;font-size:27px}.dz-student-tile strong{font-size:16px;color:#333}.dz-student-tile small{min-height:16px;color:#747474}.dz-student-tile-info{border-top:0!important}.dz-student-tile-info>span{background:#fff0f3}
.dz-badge{min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#bb0c2c;color:#fff;font-size:11px;font-weight:800;align-items:center;justify-content:center}
.dz-home-banner-compact{overflow:hidden;border-radius:17px;box-shadow:0 4px 15px rgba(0,0,0,.06)}.dz-home-banner-compact .dz-home-banner{display:block;width:100%;height:130px;max-height:130px;border-radius:17px;object-fit:cover}
.dz-card{border-color:#e4e4e4!important;border-radius:16px!important;box-shadow:0 3px 13px rgba(0,0,0,.045)}
.dz-parent-info{transition:box-shadow .15s ease}.dz-parent-info.dz-unread{border-left:4px solid #bb0c2c!important;background:#fffafb!important;box-shadow:0 4px 16px rgba(187,12,44,.07)}
.dz-info-head strong{line-height:1.35}.dz-info-confirm:disabled{opacity:.65}
.dz-dance-back{margin-top:4px!important}.dz-dance-tiles{gap:13px}.dz-dance-tile{border:0!important;border-radius:19px!important;box-shadow:0 5px 18px rgba(0,0,0,.075)!important;transition:transform .15s ease,box-shadow .15s ease!important}.dz-dance-tile:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.1)!important}
@media(max-width:420px){.dz-student-tiles{gap:10px}.dz-student-tile{min-height:122px!important;border-radius:16px!important;padding:13px 8px!important}.dz-student-tile>span{width:43px;height:43px;border-radius:13px;font-size:24px}.dz-home-banner-compact .dz-home-banner{height:105px;max-height:105px}.dz-back-home{margin-bottom:11px!important}}

/* 1.9.33 – Tanzschul-Startseite kompakter, klar umrandete Kacheln */
.dz-dance-tiles{gap:10px!important;max-width:520px;margin:8px auto 16px!important}.dz-dance-tile{aspect-ratio:auto!important;min-height:128px!important;border:2px solid #d8d8d8!important;border-radius:16px!important;padding:12px 10px!important;box-shadow:0 3px 10px rgba(0,0,0,.055)!important}.dz-dance-tile .dz-tile-icon{font-size:34px!important}.dz-dance-tile strong{font-size:15px!important}.dz-dance-tile small{font-size:11px!important}.dz-dance-tile:hover{border-color:#bb0c2c!important}.dz-tile-loyalty{border-color:#e5d993!important}.dz-tile-events{border-color:#e9c9d0!important}.dz-tile-schedule{border-color:#cbddea!important}@media(max-width:420px){.dz-dance-tile{min-height:112px!important;padding:10px 7px!important;border-radius:14px!important}.dz-dance-tile .dz-tile-icon{font-size:30px!important}.dz-dance-tile strong{font-size:14px!important}}


/* 1.9.38 – kompaktere Tanzkreis-Termine und neue digitale dezibel-Card */
.dz-schedule-list{gap:7px!important}
.dz-schedule-card{padding:9px 11px!important;border-radius:11px!important}
.dz-schedule-card h3{margin:1px 0 2px!important;font-size:15px!important;line-height:1.25!important}
.dz-schedule-date{font-size:12px!important;line-height:1.25!important}
.dz-schedule-meta{font-size:12px!important;line-height:1.3!important}
.dz-schedule-card p{margin:5px 0!important;font-size:12px!important;line-height:1.35!important}
.dz-schedule-teacher{margin-top:4px!important;font-size:12px!important}
.dz-digital-card-image{position:relative;overflow:hidden;background:#fff!important;padding:0!important;border-radius:18px!important;min-height:0!important}
.dz-digital-card-art{display:block;width:100%;height:auto;border-radius:18px}
.dz-digital-card-data{position:absolute;left:3.2%;bottom:4%;width:48%;box-sizing:border-box;background:rgba(255,255,255,.94);border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:8px 10px;box-shadow:0 3px 12px rgba(0,0,0,.16);text-align:left}
.dz-digital-card-data .dz-digital-card-number-label{font-size:10px;color:#666;margin:0}
.dz-digital-card-data .dz-card-number{font-size:17px;line-height:1.1;letter-spacing:1px;margin:2px 0 4px}
.dz-digital-card-data .dz-barcode{height:42px;margin:2px 0;width:100%;max-width:none;background:#fff}
.dz-digital-card-data .dz-digital-card-name{font-size:12px;font-weight:700;margin-top:2px}
@media(max-width:520px){.dz-digital-card-data{left:2.5%;bottom:3%;width:53%;padding:6px 7px;border-radius:9px}.dz-digital-card-data .dz-card-number{font-size:14px}.dz-digital-card-data .dz-barcode{height:34px}.dz-digital-card-data .dz-digital-card-name{font-size:10px}}


/* 1.9.39 – digitale dezibel-Card stabil als echtes Kartenmotiv */
.dz-dance-card{padding:14px!important}
.dz-digital-card-image{position:relative!important;width:100%!important;aspect-ratio:1004/658!important;overflow:hidden!important;background:#fff!important;padding:0!important;margin:0 0 14px!important;border:1px solid #e2e2e2!important;border-radius:16px!important;box-shadow:0 5px 16px rgba(0,0,0,.10)!important}
.dz-digital-card-art{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background-position:center!important;background-repeat:no-repeat!important;background-size:100% 100%!important;border-radius:0!important}
.dz-digital-card-data{position:absolute!important;left:4%!important;bottom:5.5%!important;width:46%!important;z-index:2!important;box-sizing:border-box!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(0,0,0,.14)!important;border-radius:10px!important;padding:7px 9px!important;box-shadow:0 3px 10px rgba(0,0,0,.13)!important;text-align:left!important;color:#222!important}
.dz-digital-card-data .dz-digital-card-number-label{margin:0!important;font-size:9px!important;line-height:1.1!important;color:#666!important;text-transform:uppercase!important;letter-spacing:.8px!important}
.dz-digital-card-data .dz-card-number{margin:2px 0 4px!important;font-size:16px!important;line-height:1.1!important;letter-spacing:1px!important;color:#222!important}
.dz-digital-card-data .dz-barcode{display:block!important;width:100%!important;max-width:none!important;height:40px!important;margin:2px 0!important;border:0!important;border-radius:3px!important;background:#fff!important}
.dz-digital-card-data .dz-digital-card-name{margin-top:3px!important;font-size:11px!important;line-height:1.2!important;font-weight:800!important;color:#222!important;text-transform:none!important;letter-spacing:0!important}
.dz-dance-card>.dz-card-actions{justify-content:flex-start!important;margin-top:8px!important}
@media(max-width:520px){.dz-dance-card{padding:10px!important}.dz-digital-card-image{border-radius:13px!important}.dz-digital-card-data{left:3%!important;bottom:4%!important;width:50%!important;padding:5px 6px!important;border-radius:8px!important}.dz-digital-card-data .dz-digital-card-number-label{font-size:8px!important}.dz-digital-card-data .dz-card-number{font-size:12px!important;letter-spacing:.5px!important;margin:1px 0 2px!important}.dz-digital-card-data .dz-barcode{height:29px!important}.dz-digital-card-data .dz-digital-card-name{font-size:9px!important;margin-top:1px!important}}


/* 1.9.40 – Kartenbild direkt laden; robuste Darstellung */
.dz-digital-card-art{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;object-fit:fill!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important}


/* Frontend-Adminbereich */
.dz-admin-intro{background:#fff;border:1px solid #e5e5e5;border-radius:14px;padding:14px 16px;margin:12px 0 18px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.dz-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 22px}
.dz-admin-tile{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;text-decoration:none!important;color:#222!important;background:#fff;border:1px solid #e2e2e2;border-radius:13px;padding:13px 14px;box-shadow:0 2px 8px rgba(0,0,0,.035)}
.dz-admin-tile:hover{border-color:#bb0c2c;box-shadow:0 3px 12px rgba(0,0,0,.07)}
.dz-admin-icon{font-size:22px}.dz-admin-count{background:#bb0c2c;color:#fff;border-radius:999px;min-width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px;font-weight:700;font-size:12px}
@media(max-width:620px){.dz-admin-grid{grid-template-columns:1fr}}
.dz-admin-tools{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.dz-admin-tools input{flex:1;min-width:230px}.dz-admin-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 15px;margin:9px 0;border:1px solid #ddd;border-radius:12px;background:#fff}.dz-admin-row>div:first-child{display:grid;gap:3px}.dz-admin-row small{color:#666}.dz-admin-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.dz-admin-edit{margin-top:18px}.dz-admin-edit form{display:grid;gap:10px}.dz-admin-edit label{display:grid;gap:4px}.dz-admin-tile{width:100%;text-align:left;cursor:pointer}.dz-admin-tile strong{flex:1}@media(max-width:700px){.dz-admin-row{align-items:flex-start;flex-direction:column}.dz-admin-actions{justify-content:flex-start;width:100%}}

/* 1.9.62: Admin-Kacheln bewusst wie im ursprünglichen weißen Design; Theme-Buttonregeln übersteuern */
#dezibel-app .dz-admin-tile, .dezibel-app .dz-admin-tile, .dz-admin-tile{background:#fff!important;color:#222!important;border:1px solid #e2e2e2!important;border-radius:13px!important;box-shadow:0 2px 8px rgba(0,0,0,.035)!important;padding:13px 14px!important;min-height:0!important;text-transform:none!important;font:inherit!important;}
#dezibel-app .dz-admin-tile:hover, .dezibel-app .dz-admin-tile:hover, .dz-admin-tile:hover{background:#fff!important;color:#222!important;border-color:#bb0c2c!important;box-shadow:0 3px 12px rgba(0,0,0,.07)!important;}
.dz-admin-tile .dz-admin-count{background:#bb0c2c!important;color:#fff!important;border-radius:999px!important;padding:3px 9px!important;font-size:12px!important;justify-self:end;}

/* Admin compact action icons 1.9.65 */
.dz-admin-legend{display:flex;flex-wrap:wrap;gap:7px 14px;margin:8px 0 14px;font-size:12px;color:#666}
.dz-admin-icon-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.dz-admin-icon-actions .dz-icon-action{width:42px;min-width:42px;height:40px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border-radius:8px!important;font-size:17px!important;line-height:1!important;background:#fff!important;color:#333!important;border:1px solid #d7d7d7!important;box-shadow:none!important}
.dz-admin-icon-actions .dz-icon-action:hover{border-color:#bb0c2c!important;background:#fff7f8!important}
.dz-admin-icon-actions .dz-icon-action.danger-soft{color:#bb0c2c!important}
.dz-admin-icon-actions .dz-icon-action.success-soft{color:#287a38!important}
@media(max-width:700px){.dz-admin-row{align-items:flex-start}.dz-admin-icon-actions{justify-content:flex-start;margin-top:10px}.dz-admin-legend{display:none}}
/* 1.9.72 – Tanzkurse im Tanzschülerbereich */
.dz-course-section{margin:20px 0;border:1px solid #ddd;border-radius:14px;overflow:hidden;background:#fff}
.dz-course-section>h3{margin:0;padding:13px 16px;text-align:center;background:#f5d2d5;font-size:1.25rem}
.dz-course-month{padding:8px 14px;text-align:center;background:#f7f7f7;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;font-weight:600}
.dz-course-item{padding:14px 16px;text-align:center;border-bottom:1px solid #e8e8e8}
.dz-course-item:last-child{border-bottom:0}.dz-course-item>strong{display:block;font-size:1.05rem;margin-bottom:3px}
.dz-course-date{margin:6px 0;color:#bb0c2c;font-weight:600}.dz-course-item small{display:block;margin:6px auto;max-width:650px}
.dz-course-book{margin-top:9px}.dz-dance-tiles .dz-tile-courses{grid-column:auto}

/* 1.9.73: Tanzkurs-Kachel dezent grün */
.dz-dance-tiles .dz-tile-courses{background:#edf7ef!important;border-color:#b9d9bf!important;color:#244b2c!important}
.dz-dance-tiles .dz-tile-courses:hover{background:#e2f2e5!important}
.dz-course-payment{display:flex;flex-direction:column;gap:8px;margin:16px 0}.dz-course-booking label{display:block;margin:10px 0}.dz-course-booking input:not([type=radio]){width:100%;box-sizing:border-box;margin-top:4px}
.dz-course-booking #dzcbqty{max-width:220px}.dz-course-booking #dzcbcompanion{margin:12px 0;padding:12px;border:1px solid #e2e2e2;border-radius:12px;background:#fafafa}.dz-course-total{margin:12px 0;padding:10px 12px;border-radius:10px;background:#f3f8f3}

/* 1.9.84: anklickbare Lehrer-Startseitenkacheln */
.dz-summary>.dz-summary-card{border:1px solid #ddd!important;border-radius:12px!important;padding:13px!important;background:#fafafa!important;color:#333!important;display:flex!important;flex-direction:column!important;gap:5px!important;text-align:left!important;width:100%!important;min-width:0!important;box-shadow:none!important;font:inherit!important}
.dz-summary>.dz-summary-card:hover,.dz-summary>.dz-summary-card:focus{background:#fff!important;border-color:#bbb!important;box-shadow:0 4px 12px rgba(0,0,0,.07)!important;transform:translateY(-1px)}
.dz-summary>.dz-summary-card strong{color:#333!important}
.dz-summary>.dz-summary-card span{font-size:13px!important;color:#777!important}
