*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3f6fa;color:#102238;font:14px system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.muted{color:#7c8a9c}.eyebrow{font-size:10px;font-weight:850;letter-spacing:.16em;color:#7db4ff}.eyebrow.dark{color:#2475df}
.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:2px solid #2d80ed;border-right-color:transparent;border-radius:50%;font-size:17px;color:#2d80ed}.brand b{font-size:20px;letter-spacing:-.04em}.brand b span{color:#2d80ed}.brand small{display:block;color:#7c8a9c;font-size:10px;margin-top:1px}.brand.inverse b{color:#fff}.brand.inverse small{color:#8fa7c2}
.login-bg{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 70% 20%,#173b63 0,#08192d 34%,#061426 72%);padding:20px}.login-card{width:min(430px,100%);background:#fff;border-radius:20px;padding:30px;box-shadow:0 30px 80px #0005}.login-copy{margin:35px 0 20px}.login-copy h1{font-size:32px;margin:7px 0}.login-copy p{color:#77869a}.login-card label,.stack label{display:grid;gap:7px;font-size:12px;font-weight:750;margin:13px 0}.login-card input,.stack input{padding:12px;border:1px solid #d3dde8;border-radius:9px;outline:none}.login-card input:focus,.stack input:focus{border-color:#2679e7;box-shadow:0 0 0 3px #2679e712}.login-card footer{text-align:center;color:#8a97a7;margin-top:24px;font-size:11px}.login-card footer a,.app-footer a{text-decoration:none;color:#2d70bf}#msg{color:#9e2525;margin-top:10px}
.shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{background:#07172a;color:#cbd8e7;padding:22px 14px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:10}.sidebar .brand{padding:0 9px;margin-bottom:28px}.sidebar nav{display:grid;gap:4px}.nav-item{display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;color:#aebfd2;padding:11px 12px;border-radius:9px;text-align:left}.nav-item:hover,.nav-item.active{background:#112b47;color:#fff}.nav-item.active{box-shadow:inset 3px 0 #2b82f3}.sidebar-foot{margin-top:auto;border-top:1px solid #18314c;padding:15px 10px 0;display:flex;align-items:center;gap:8px;font-size:11px;color:#8da2b8}.status-dot{width:8px;height:8px;background:#2fc78c;border-radius:50%;box-shadow:0 0 0 4px #2fc78c18}
.workspace{min-width:0;padding:0 30px 25px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dfe6ee;margin-bottom:24px}.topbar>div:first-of-type{display:grid}.topbar small{color:#8290a1}.top-actions{display:flex;align-items:center;gap:14px}.top-actions a{text-decoration:none;color:#45637e}.role{font-size:10px;text-transform:uppercase;background:#e7eef7;color:#49627c;padding:6px 8px;border-radius:999px}.topbar #mobileNav{display:none}
.subscription-warning{background:#fff3e8;border:1px solid #ffd6b5;color:#8e470f;border-radius:10px;padding:12px 15px;margin-bottom:18px;display:flex;justify-content:space-between;gap:14px}
.view{display:none;animation:fade .18s ease}.view.active{display:block}@keyframes fade{from{opacity:.3;transform:translateY(3px)}to{opacity:1;transform:none}}
.hero{background:linear-gradient(130deg,#07172a,#0d2948 65%,#12375f);color:#fff;border-radius:18px;padding:31px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;right:-70px;top:-120px;width:300px;height:300px;border:1px solid #4b8fd944;border-radius:50%;box-shadow:0 0 0 45px #2f7ec614,0 0 0 90px #2f7ec60b}.hero h1{font-size:34px;letter-spacing:-.04em;margin:7px 0}.hero p{color:#b8c9db}.hero-status{background:#0f4135;color:#9fe5c6;padding:9px 12px;border-radius:999px;z-index:1}.hero-status i{display:inline-block;width:7px;height:7px;background:#51dca6;border-radius:50%;margin-right:6px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:15px 0}.metric-grid article,.panel{background:#fff;border:1px solid #dfe7f0;border-radius:13px;box-shadow:0 3px 12px #10223808}.metric-grid article{padding:17px}.metric-grid span{font-size:11px;color:#738398}.metric-grid strong{display:block;font-size:27px;margin:5px 0;letter-spacing:-.04em}.metric-grid small{color:#8392a4}.metric-grid.small{grid-template-columns:repeat(3,1fr)}.metric-grid.small article{box-shadow:none;background:#f7f9fc}
.two-col{display:grid;grid-template-columns:1.45fr 1fr;gap:14px}.panel{padding:18px;margin-bottom:14px}.panel h2{font-size:17px;margin:4px 0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.panel-head p{margin:4px 0}.section-title{display:flex;justify-content:space-between;align-items:flex-end;margin:2px 0 18px}.section-title h1{font-size:30px;letter-spacing:-.04em;margin:6px 0}.section-title p{color:#738398;margin:0}.danger-title{background:#571717;color:#fff;padding:22px;border-radius:15px;align-items:center}.danger-title p{color:#e7baba}
.primary,.ghost,.danger-mini,.stop{border-radius:9px;padding:10px 13px;font-weight:750}.primary{border:0;background:#176fe5;color:#fff}.primary:hover{background:#0f62d2}.ghost{border:1px solid #cad7e5;background:#fff;color:#34546f}.danger-mini{border:0;background:#fff0f0;color:#a52323;padding:7px 9px}.hidden{display:none!important}
.form-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:12px}.form-row.four{grid-template-columns:1fr 1fr 1fr 1fr 1fr auto}.form-row.five{grid-template-columns:1fr 1fr 120px 1fr auto}.form-row.compact{grid-template-columns:1fr auto;margin-top:15px}.form-row input,.form-row select,.signal-form input,.signal-form select,.panel-head select{min-width:0;padding:10px;border:1px solid #ced9e5;border-radius:8px;background:#fff}.signal-form{display:grid;grid-template-columns:130px 125px 1fr 1fr auto;gap:8px;margin:12px 0}
.row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid #edf1f5}.row:first-child{border-top:0}.row-main{display:grid;gap:3px}.row-main small{color:#7c8b9d}.row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.pill{font-size:10px;border-radius:999px;padding:5px 8px;background:#edf3f8;color:#50677f}.pill.ok{background:#e4f7ef;color:#1c7559}.pill.warn{background:#fff2df;color:#95601a}.pill.bad{background:#fee9e9;color:#9e3030}
.activation-code{font:800 25px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;color:#0d3968;background:#edf5ff;border:1px dashed #9ac5f5;padding:14px;border-radius:10px;text-align:center}.device-card{display:grid;grid-template-columns:1.5fr 1fr auto;gap:12px;padding:14px 0;border-top:1px solid #edf1f5}.device-card:first-child{border-top:0}.device-card h3{margin:0 0 4px}.device-meta{color:#77889b;font-size:12px}.device-status{display:flex;gap:6px;align-items:center;justify-content:flex-end}
.alarm-panel{border-color:#e7c0c0}.alarm-target{max-width:380px;margin-bottom:14px}.alarm-target label{display:grid;gap:6px;font-weight:700}.alarm-target select{padding:10px;border:1px solid #d7c9c9;border-radius:8px}.alarm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.alarm-grid button{border:0;background:#771d1d;color:#fff;padding:18px 12px;border-radius:10px;display:grid;gap:4px;text-align:left}.alarm-grid button span{font-size:11px;color:#efc5c5}.alarm-grid .clear{background:#245e4c}.stop{width:100%;margin-top:10px;border:2px solid #9b2424;background:#fff;color:#9b2424}.legal-note{font-size:11px;color:#8b7979}.quota{display:flex;justify-content:space-between;background:#f5f8fb;padding:11px;border-radius:9px;margin-bottom:12px}.quota span{color:#78899b;font-size:12px}
.stack{display:grid;gap:4px}.stack label{margin:6px 0}.toast{position:fixed;right:20px;bottom:20px;z-index:50;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s;padding:11px 14px;border-radius:9px}.toast.ok{opacity:1;transform:none;background:#103d34;color:#a8e7ca}.toast.bad{opacity:1;transform:none;background:#7f1d1d;color:#fee2e2}
#mfaSetup:not(:empty){background:#f6f8fb;padding:12px;border-radius:9px;margin:12px 0}.recovery{display:block;background:#07172a;color:#fff;padding:12px;border-radius:8px;line-height:1.7}.app-footer{text-align:center;color:#8491a1;font-size:11px;padding:16px}
@media(max-width:1100px){.two-col{grid-template-columns:1fr}.form-row.four,.form-row.five{grid-template-columns:1fr 1fr}.alarm-grid{grid-template-columns:1fr 1fr}.signal-form{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-265px;width:248px;transition:.2s}.sidebar.open{left:0;box-shadow:10px 0 40px #0005}.workspace{padding:0 17px 20px}.topbar #mobileNav{display:block;border:0;background:#e8eef5;border-radius:7px;padding:7px 9px}.topbar{gap:12px}.topbar>div:first-of-type{margin-right:auto}.metric-grid{grid-template-columns:1fr 1fr}.subscription-warning{flex-direction:column}.section-title{align-items:flex-start;gap:12px;flex-direction:column}}
@media(max-width:560px){.workspace{padding:0 12px 18px}.top-actions .role{display:none}.hero{align-items:flex-start;flex-direction:column}.hero h1{font-size:28px}.metric-grid,.metric-grid.small,.alarm-grid{grid-template-columns:1fr}.form-row,.form-row.four,.form-row.five,.signal-form{grid-template-columns:1fr}.section-title h1{font-size:26px}.row,.device-card{align-items:flex-start;grid-template-columns:1fr;flex-direction:column}.row-actions,.device-status{justify-content:flex-start}.quota{flex-direction:column;gap:4px}}

.brand-logo img{display:block;width:min(330px,100%);height:auto}
.brand-sidebar{display:grid!important;gap:5px!important}
.brand-sidebar img{display:block;width:190px;height:auto;background:#fff;border-radius:8px;padding:5px}
.brand-sidebar small{padding-left:7px;color:#8fa7c2!important;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:560px){.brand-logo img{width:min(280px,100%)}}

.smtp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.smtp-grid label{display:grid;gap:6px;font-size:12px;font-weight:750}
.smtp-grid input,.smtp-grid select,.smtp-actions input{padding:10px;border:1px solid #ced9e5;border-radius:8px;background:#fff;min-width:0}
.toggle-label{display:flex!important;align-items:center;gap:8px!important;align-self:end;padding-bottom:10px}
.toggle-label input{width:auto}.smtp-actions{margin-top:14px}.smtp-actions input{min-width:230px}
@media(max-width:1100px){.smtp-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.smtp-grid{grid-template-columns:1fr}.smtp-actions{display:grid}.smtp-actions input{min-width:0;width:100%}}

.health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}
.health-grid>div{display:grid;gap:5px;padding:12px;border:1px solid #dbe5ef;border-radius:10px;background:#f8fbff}
.health-grid b{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.health-grid span{font-weight:750}.login-help{margin-top:10px}.link-button{border:0;background:none;color:#2563eb;padding:0;cursor:pointer}
.reset-box{display:grid;gap:8px;margin-top:12px}.hidden{display:none!important}
@media(max-width:900px){.health-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.health-grid{grid-template-columns:1fr}}

/* 0.38 production hardening */
.tenant-context-bar{margin:0 24px 18px;padding:12px 16px;border:1px solid rgba(37,99,235,.22);border-radius:14px;background:#eff6ff;display:flex;align-items:center;justify-content:space-between;gap:16px}.tenant-context-bar div{display:flex;flex-direction:column;gap:2px}.tenant-context-bar span{font-size:11px;font-weight:800;letter-spacing:.08em;color:#2563eb}.tenant-context-bar strong{color:#07172a}.error-home{display:inline-flex;text-decoration:none;justify-content:center}.readonly-note{padding:10px 12px;border-radius:10px;background:#f8fafc;color:#475569;font-size:13px;margin-bottom:12px}
@media(max-width:760px){.tenant-context-bar{margin:0 12px 14px;align-items:flex-start;flex-direction:column}.tenant-context-bar .ghost{width:100%}}


/* 0.38.1 responsive hardening — iPhone / iPad / Android tablet */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
button,input,select,textarea{font:inherit}
button,.nav-item,.link-button{touch-action:manipulation}
input,select,textarea{max-width:100%}
table{width:100%}

/* Prevent long IDs, e-mails, URLs and device names from breaking cards. */
.card,.panel,.row-main,.device-card,.section-title,.metric,.topbar{min-width:0}
.row-main b,.row-main small,.device-card *,.card *{overflow-wrap:anywhere}

/* Generic horizontal safety for data-heavy areas. */
.table-wrap,.data-table,.audit-table,.schedule-table,.users-table,.devices-table{
  max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch
}

/* Tablet landscape / compact desktop */
@media(max-width:1024px){
  .workspace{max-width:100%;overflow:hidden}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .two-col,.three-col{grid-template-columns:1fr}
  .topbar{position:sticky;top:0;z-index:30}
  .top-actions{gap:8px}
  .top-actions button{white-space:nowrap}
}

/* iPad portrait and smaller tablets */
@media(max-width:820px){
  .sidebar{z-index:80;height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .sidebar.open:after{content:"";position:fixed;inset:0 0 0 248px;background:rgba(7,23,42,.38);z-index:-1}
  .workspace{width:100%;min-width:0}
  .topbar{padding-left:12px;padding-right:12px;min-height:58px}
  .topbar .brand-title,.topbar .page-subtitle{min-width:0}
  .top-actions{margin-left:auto}
  .tenant-context-bar{max-width:calc(100vw - 24px)}
  .section-title{margin-top:16px}
  .card,.panel{max-width:100%}
  .form-row,.form-row.four,.form-row.five,.smtp-grid{gap:12px}
}

/* Phones */
@media(max-width:600px){
  body{font-size:14px}
  .workspace{padding-left:10px;padding-right:10px}
  .topbar{gap:8px}
  .topbar #mobileNav{min-width:44px;min-height:44px;padding:10px}
  .top-actions{gap:6px}
  .top-actions button,.top-actions a{min-height:40px}
  .metric-grid,.metric-grid.small{grid-template-columns:1fr}
  .card,.panel,.metric{border-radius:12px}
  .section-title h1,.hero h1{font-size:24px;line-height:1.15}
  .section-title p,.hero p{font-size:13px}
  .row-actions{width:100%;display:flex;flex-wrap:wrap;gap:8px}
  .row-actions button,.row-actions .primary,.row-actions .ghost{flex:1 1 140px;min-height:44px}
  form button,.primary,.ghost,.danger{min-height:44px}
  input,select,textarea{min-height:44px;font-size:16px} /* avoids iOS focus zoom */
  textarea{min-height:96px}
  .alarm-grid button{min-height:72px}
  .toast{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:auto}
  .app-footer{padding-bottom:max(18px,env(safe-area-inset-bottom))}
  .sidebar{padding-bottom:max(18px,env(safe-area-inset-bottom))}
}

/* Very small iPhones */
@media(max-width:390px){
  .workspace{padding-left:8px;padding-right:8px}
  .tenant-context-bar{margin-left:8px;margin-right:8px;max-width:calc(100vw - 16px)}
  .section-title h1,.hero h1{font-size:22px}
  .brand-logo img{width:min(240px,100%)}
  .row-actions button{flex-basis:100%}
}

/* Landscape phones: retain usable vertical space. */
@media(max-height:500px) and (orientation:landscape){
  .sidebar{height:100dvh}
  .topbar{min-height:50px}
  .workspace{padding-bottom:12px}
}

/* 0.38.2 operations dashboard */
.ops-strip{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:12px;margin:0 0 14px}.ops-strip article{background:#07172a;color:#fff;border-radius:14px;padding:16px;display:grid;gap:5px}.ops-strip span{font-size:10px;letter-spacing:.1em;color:#8fa7c2;font-weight:800}.ops-strip strong{font-size:23px}.ops-strip small{color:#b8c7d9}.ops-strip .next-signal{background:linear-gradient(135deg,#07172a,#123a72)}.warn-text{color:#f59e0b!important}.quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.quick-actions button{min-height:42px}.dashboard-warning{display:flex;gap:12px;align-items:center;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;padding:11px 14px;border-radius:11px;margin-bottom:14px}.tenant-row .danger{min-height:38px}
@media(max-width:820px){.ops-strip{grid-template-columns:1fr}.quick-actions button{flex:1 1 140px}.dashboard-warning{align-items:flex-start;flex-direction:column;gap:3px}}
@media(max-width:600px){.quick-actions{display:grid;grid-template-columns:1fr 1fr}.quick-actions button{width:100%}}
@media(max-width:390px){.quick-actions{grid-template-columns:1fr}}

/* 0.38.3 login security */
.security-alert-note{margin-top:10px;padding:10px 12px;background:#f8fafc;border-radius:9px}

/* 0.38.4 platform systemcheck */
.ok-text{color:#15803d!important}.bad-text{color:#b91c1c!important}.systemcheck-head article:first-child{background:#0f5132}.cron-help code{display:inline-block;max-width:100%;overflow-wrap:anywhere;background:#07172a;color:#fff;padding:4px 7px;border-radius:6px}.health-grid small{color:#64748b;overflow-wrap:anywhere}.pill.warn{background:#fff7ed;color:#9a3412}
\n/* 0.39 Operations & Monitoring */\n.superadmin-context{border:2px solid #176fe5;box-shadow:0 4px 18px #176fe51f}.notification-wrap{position:relative}.notification-button{position:relative;border:0;background:#e8eef5;color:#334155;width:40px;height:40px;border-radius:10px;cursor:pointer}.notification-button>span{position:absolute;right:-5px;top:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#64748b;color:#fff;font-size:10px;display:grid;place-items:center}.notification-button.has-alerts>span{background:#b91c1c}.notification-panel{position:absolute;right:0;top:48px;width:min(380px,calc(100vw - 24px));max-height:460px;overflow:auto;background:#fff;border:1px solid #dbe5ef;box-shadow:0 18px 45px #0f172a26;border-radius:13px;padding:12px;z-index:100}.notification-item{display:grid;gap:3px;padding:10px;border-bottom:1px solid #eef2f7}.notification-item small{color:#64748b}.notification-item.critical{border-left:3px solid #b91c1c}.notification-item.warning{border-left:3px solid #d97706}.audit-filters{align-items:end}@media(max-width:600px){.notification-panel{position:fixed;top:64px;left:10px;right:10px;width:auto}}\n

/* 0.39.3 tenant profile + full platform tenant editor */
.profile-card{max-width:1050px}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin-top:16px}
.profile-grid label{display:flex;flex-direction:column;gap:7px;font-size:.9rem;font-weight:700;color:#334155}
.profile-grid input,.profile-grid select{width:100%;min-height:44px}
.profile-actions{margin-top:22px;justify-content:flex-end}
.tenant-edit-summary{margin-bottom:18px}
.tenant-edit-columns{align-items:start}
#view-tenant-edit .panel{min-width:0}
#view-tenant-edit .row-actions{margin-top:22px;flex-wrap:wrap}
@media(max-width:820px){.profile-grid{grid-template-columns:1fr}.tenant-edit-columns{grid-template-columns:1fr}.tenant-edit-summary{grid-template-columns:1fr}}

/* 0.39.10 Standort-/Zonen-UI */
#view-locations .panel,#view-zones .panel{padding:20px}
#locationsList,#zonesList{display:grid;gap:10px;margin-top:16px}
.structure-row{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:15px 16px;border:1px solid #e1e8f0;border-radius:12px;background:#fff;
  box-shadow:0 2px 8px rgba(16,34,56,.035)
}
.structure-row:hover{border-color:#cbd9e8;background:#fbfdff}
.structure-main{display:grid;gap:5px;min-width:0}
.structure-main b{font-size:14px;color:#102238}
.structure-main small{display:block;color:#7c8b9d;font-size:12px}
.structure-row .row-actions{margin-left:auto;justify-content:flex-end}
.structure-row .danger-mini{border:1px solid #f0caca;background:#fff7f7;color:#a52323}
.structure-row .danger-mini:hover{background:#feecec;border-color:#e8aaaa}
#view-locations .form-row,#view-zones .form-row{align-items:center}
@media(max-width:640px){
  .structure-row{align-items:flex-start;flex-direction:column}
  .structure-row .row-actions{width:100%;margin-left:0}
  .structure-row .row-actions .danger-mini{margin-left:auto}
}

/* 0.39.11 Strukturseiten */
.structure-heading{margin-bottom:18px}
.structure-heading>div{max-width:850px}
.section-help{margin:8px 0 0;color:#64748b;line-height:1.55;max-width:820px}
.structure-panel{padding:20px!important}
.structure-create{display:grid;gap:12px;align-items:center;margin-bottom:18px}
.structure-create-location{grid-template-columns:minmax(260px,1fr) minmax(190px,280px)}
.structure-create-zone{grid-template-columns:minmax(210px,.8fr) minmax(260px,1fr) minmax(170px,240px)}
.structure-create input,.structure-create select,.structure-create button{width:100%;min-height:46px}
.structure-list{display:grid;gap:10px}
.structure-row{width:100%;box-sizing:border-box}
.structure-main b,.structure-main small{display:block}
.structure-main b{margin-bottom:3px}
@media(max-width:850px){
 .structure-create-location,.structure-create-zone{grid-template-columns:1fr}
}

/* 0.39.13 Standort-/Zonen-Bearbeitung */
.structure-row .edit-mini{border:1px solid #cad8e8;background:#f8fbff;color:#1d4f91}
.structure-row .edit-mini:hover{background:#edf5ff;border-color:#a9c4e3}
.structure-row.is-editing{border-color:#9bbce3;background:#fbfdff}
.inline-edit{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.inline-edit>input{min-width:260px;max-width:520px;flex:1}
.inline-edit-actions{display:flex;align-items:center;gap:8px}
.inline-edit .small{min-height:38px;padding:8px 12px}
@media(max-width:640px){
 .inline-edit{width:100%;align-items:stretch;flex-direction:column}
 .inline-edit>input{min-width:0;max-width:none;width:100%}
 .inline-edit-actions{width:100%}
}

/* 0.39.14 Zeitplan-Standortauswahl */
.schedule-create-panel{padding:20px}
.schedule-create-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1fr) minmax(190px,240px);gap:12px;align-items:end;margin-bottom:18px}
.schedule-create-grid .form-field{display:grid;gap:7px}
.schedule-create-grid label{font-size:12px;font-weight:700;color:#526477}
.schedule-create-grid select,.schedule-create-grid input,.schedule-create-grid button{width:100%;min-height:46px}
.schedule-create-action .field-spacer{display:block;height:17px}
@media(max-width:850px){.schedule-create-grid{grid-template-columns:1fr}.schedule-create-action .field-spacer{display:none}}

/* 0.39.20 Signalzeiten-Tabelle */
.schedule-entry-create{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,.55fr) minmax(120px,.5fr) minmax(190px,.8fr) minmax(190px,.8fr) minmax(160px,.6fr);gap:10px;align-items:end;margin:14px 0 18px}
.schedule-entry-create .form-field{display:grid;gap:6px}.schedule-entry-create label{font-size:12px;font-weight:700;color:#526477}
.schedule-entry-create input,.schedule-entry-create select,.schedule-entry-create button{width:100%;min-height:44px}
.schedule-table-wrap{overflow-x:auto;border:1px solid #e1e8f0;border-radius:12px}
.schedule-table{width:100%;border-collapse:collapse;min-width:820px;background:#fff}
.schedule-table th,.schedule-table td{padding:12px 14px;text-align:left;border-bottom:1px solid #edf1f5;vertical-align:middle}
.schedule-table th{font-size:12px;color:#64748b;background:#f8fafc}.schedule-table tbody tr:last-child td{border-bottom:0}
.schedule-table input,.schedule-table select{width:100%;min-height:38px}
@media(max-width:900px){.schedule-entry-create{grid-template-columns:1fr 1fr}.schedule-entry-action{grid-column:1/-1}}
@media(max-width:560px){.schedule-entry-create{grid-template-columns:1fr}}

/* 0.39.23 MFA QR + Platform SMTP */
.mfa-setup-grid{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(280px,1fr);gap:24px;align-items:start;margin-top:14px}
.mfa-qr{display:inline-flex;padding:12px;background:#fff;border:1px solid #dbe4ee;border-radius:12px;margin:8px 0}
.mfa-qr svg{max-width:100%;height:auto}
.mfa-secret{display:block;padding:12px;margin:10px 0 14px;word-break:break-all;font-size:15px}
@media(max-width:720px){.mfa-setup-grid{grid-template-columns:1fr}}

/* WhatsApp support lives in the sidebar so it never covers toast/error messages. */
.sidebar-support{padding:10px 12px 16px}
.whatsapp-support{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border-radius:10px;background:#25D366;color:#fff!important;text-decoration:none;font-size:13px;font-weight:700;line-height:1;box-shadow:none}
.whatsapp-support:hover{filter:brightness(.97)}
.whatsapp-support svg{width:18px;height:18px;fill:currentColor;flex:0 0 auto}
.activation-create-row{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(130px,.8fr) minmax(150px,1fr) minmax(150px,1fr) auto;gap:10px;align-items:center}
@media(max-width:1100px){.activation-create-row{grid-template-columns:1fr 1fr}.activation-create-row .primary{grid-column:1/-1}}
@media(max-width:620px){.activation-create-row{grid-template-columns:1fr}}

.ops-strip-time{grid-template-columns:repeat(4,minmax(0,1fr))}
.time-reference strong{font-variant-numeric:tabular-nums;letter-spacing:.04em}
.time-reference small{max-width:260px}
.device-clock{font-variant-numeric:tabular-nums}
@media(max-width:1100px){.ops-strip-time{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.ops-strip-time{grid-template-columns:1fr}}

.version-badge{margin-left:.55rem;padding:.16rem .42rem;border:1px solid currentColor;border-radius:999px;font-size:.72rem;font-weight:700;opacity:.78;white-space:nowrap}

.device-zone-select{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#526477}
.device-zone-select select{min-height:34px;max-width:220px;padding:5px 28px 5px 9px;border:1px solid #d8e0e8;border-radius:8px;background:#fff;color:#243447}
@media(max-width:650px){.device-zone-select{width:100%;justify-content:space-between}.device-zone-select select{max-width:none;flex:1}}

.device-schedule-info{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr));gap:8px;margin-top:10px;padding:10px;border:1px solid #e3eaf1;border-radius:10px;background:#f8fafc}
.device-schedule-info>div{display:grid;gap:2px}
.device-schedule-info span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#718096}
.device-schedule-info strong{font-size:13px;color:#243447}
.device-schedule-info strong.ok{color:#14804a}
.device-schedule-info strong.warn{color:#9a6700}
.device-schedule-info strong.bad{color:#b42318}
@media(max-width:900px){.device-schedule-info{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.device-schedule-info{grid-template-columns:1fr}}

.schedule-entry-create{grid-template-columns:minmax(180px,1fr) minmax(265px,1.05fr) minmax(120px,.5fr) minmax(190px,.8fr) minmax(190px,.8fr) minmax(160px,.6fr)}
.weekday-checks{display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));gap:5px;min-height:44px}
.weekday-checks label{position:relative;display:block}
.weekday-checks input{position:absolute;opacity:0;pointer-events:none;width:1px!important;height:1px!important;min-height:0!important}
.weekday-checks span{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #d8e1ea;border-radius:10px;background:#fff;color:#526477;font-size:12px;font-weight:800;cursor:pointer;user-select:none}
.weekday-checks input:checked+span{background:#eaf4ff;border-color:#2583e8;color:#0f67bd;box-shadow:inset 0 0 0 1px #2583e8}
.weekday-checks input:focus-visible+span{outline:2px solid #2583e8;outline-offset:2px}
@media(max-width:900px){.weekday-checks{grid-template-columns:repeat(7,1fr)}}
