:root{
  --bg:#f4f6fb;--surface:#fff;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;
  --brand:#7E2BFF;--brand-2:#A35CFF;--brand-soft:#F1EBFF;--nav:#4D16E8;
  --success:#0f9f6e;--success-bg:#eafaf4;--danger:#dc3f5f;--danger-bg:#fff0f3;
  --warning:#c47a10;--warning-bg:#fff8e8;--shadow:0 18px 55px rgba(17,24,39,.09);
}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Inter",system-ui,-apple-system,sans-serif;font-size:14px}a{text-decoration:none;color:inherit}button,input,select{font:inherit}
.app-shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#111827 0%,#17152b 100%);color:#fff;padding:22px 16px;display:flex;flex-direction:column;z-index:30}
.brand{display:flex;align-items:center;gap:12px;padding:2px 8px 24px}.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--brand),var(--brand-2));font-size:19px;box-shadow:0 12px 28px rgba(109,74,255,.35)}.brand strong{display:block;font-size:15px;font-weight:800}.brand small{display:block;color:#9ca3af;font-size:10px;margin-top:2px}
.nav-label{padding:0 12px 8px;color:#6b7280;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.side-nav{display:grid;gap:6px}.side-nav a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:#aeb5c2;font-weight:650;transition:.18s}.side-nav a i{font-size:17px}.side-nav a:hover{color:#fff;background:rgba(255,255,255,.06)}.side-nav a.active{color:#fff;background:linear-gradient(90deg,rgba(109,74,255,.28),rgba(109,74,255,.12));box-shadow:inset 3px 0 0 var(--brand-2)}
.sidebar-bottom{margin-top:auto;padding:16px 8px 2px}.cloud-state{display:flex;align-items:center;gap:8px;color:#aeb5c2;font-size:11px;margin-bottom:12px}.cloud-state span{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.12)}.logout-link{display:flex;align-items:center;gap:10px;color:#c7cbd4;padding:10px 12px;border-radius:11px}.logout-link:hover{background:rgba(255,255,255,.06);color:#fff}
.workspace{min-width:0}.topbar{height:72px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(229,231,235,.9);background:rgba(255,255,255,.82);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.topbar-title{font-weight:800}.topbar-meta{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font-weight:800}
.main-wrap{padding:30px;max-width:1500px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head h1{margin:0;font-size:32px;line-height:1.1;font-weight:800;letter-spacing:-1px}.page-head p{margin:6px 0 0;color:var(--muted)}
.hero-line{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;border-radius:22px;background:linear-gradient(90deg,#4D16E8 0%,#7E2BFF 55%,#A35CFF 100%);color:#fff;box-shadow:var(--shadow);margin-bottom:22px;overflow:hidden;position:relative}.hero-line:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-80px;top:-120px;background:rgba(255,255,255,.14)}.hero-line>*{position:relative;z-index:1}.hero-line h2{margin:0 0 6px;font-size:23px;font-weight:800}.hero-line p{margin:0;color:rgba(255,255,255,.76)}
.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:22px}.kpi{padding:18px 20px;border-right:1px solid var(--line)}.kpi:last-child{border-right:0}.kpi span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.kpi strong{font-size:25px;line-height:1}.kpi i{color:var(--brand);margin-right:7px}
.section{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line)}.section-head h2{margin:0;font-size:16px;font-weight:800}.section-head p{margin:3px 0 0;color:var(--muted);font-size:12px}
.data-head,.data-row{display:grid;grid-template-columns:1.35fr .8fr .8fr .8fr 124px;gap:18px;align-items:center}.data-head{padding:11px 20px;background:#fafafa;color:#8b93a1;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.08em}.data-row{padding:15px 20px;border-top:1px solid var(--line);transition:.15s}.data-row:hover{background:#fbfbff}.data-row:first-of-type{border-top:0}.primary-cell{display:flex;align-items:center;gap:12px;min-width:0}.entity-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font-size:17px;flex:0 0 auto}.primary-cell strong{display:block;font-size:13px}.primary-cell small{display:block;color:var(--muted);font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.muted-value{color:#4b5563;font-size:12px}.actions{display:flex;justify-content:flex-end;gap:6px}.status{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:750}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status.on{color:var(--success)}.status.off{color:var(--danger)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.door-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.door-top{display:flex;justify-content:space-between;gap:12px}.door-card h3{font-size:16px;margin:14px 0 3px}.door-card small{color:var(--muted)}.door-meta{display:flex;justify-content:space-between;gap:12px;padding:14px 0;color:var(--muted);font-size:11px}.open-btn{width:100%;height:44px;border:0;border-radius:12px;background:var(--nav);color:#fff;font-weight:800}.open-btn:hover{background:#242938}.open-btn:disabled{opacity:.45;cursor:not-allowed}
.btn-main,.btn-soft,.icon-btn{border:0;cursor:pointer;transition:.16s}.btn-main{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:12px;background:var(--brand);color:#fff;font-weight:800;box-shadow:0 10px 22px rgba(109,74,255,.2)}.btn-main:hover{background:#5d3fe5;color:#fff;transform:translateY(-1px)}.btn-soft{padding:10px 13px;border-radius:10px;background:var(--brand-soft);color:var(--brand);font-weight:750}.icon-btn{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#f3f4f6;color:#4b5563}.icon-btn:hover{background:#ebeef2}.icon-btn.danger{background:var(--danger-bg);color:var(--danger)}
.notice{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;margin-bottom:16px;font-weight:700}.notice.success{background:var(--success-bg);color:#087852}.notice.error{background:var(--danger-bg);color:#b72f4b}.empty{padding:42px 20px;text-align:center;color:var(--muted)}
.code-chip,.tag{display:inline-flex;padding:5px 8px;border-radius:8px;background:#f4f1ff;color:#6347ce;font-size:10px;font-weight:700}.tags{display:flex;flex-wrap:wrap;gap:6px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{padding:12px 18px;background:#fafafa;text-align:left;color:#8b93a1;font-size:10px;text-transform:uppercase;letter-spacing:.08em}td{padding:14px 18px;border-top:1px solid var(--line);font-size:12px}
.modal-content{border:0!important;border-radius:22px!important;box-shadow:0 28px 80px rgba(17,24,39,.22)}.modal-header{padding:22px 24px 10px;border:0}.modal-body{padding:18px 24px}.modal-footer{padding:8px 24px 22px;border:0}.form-control,.form-select{min-height:48px;border-radius:12px;border-color:#dfe3ea}.form-control:focus,.form-select:focus{border-color:#9c86ff;box-shadow:0 0 0 .22rem rgba(109,74,255,.12)}.device-choice{display:flex;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.device-choice:has(input:checked){border-color:#9f8bff;background:#f6f3ff}
.toast-app{position:fixed;right:24px;bottom:24px;z-index:9999;padding:13px 16px;border-radius:12px;background:#111827;color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);transition:.2s}.toast-app.show{opacity:1;transform:none}.toast-app.ok{background:#087852}.toast-app.err{background:#b72f4b}
.login{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 20% 15%,#efeaff,transparent 35%),#f5f6fa}.loginbox{width:min(430px,calc(100% - 32px));background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow)}.login-logo{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,var(--brand),var(--brand-2));color:#fff;font-size:22px;margin-bottom:18px}.loginbox h1{font-size:28px;font-weight:800;margin:0}.loginbox .muted{color:var(--muted);margin:6px 0 22px}.loginbox label{display:block;font-weight:700;margin:13px 0 0}.loginbox input{width:100%;height:48px;border:1px solid var(--line);border-radius:12px;padding:0 13px;margin-top:7px}.loginbox button{width:100%;height:48px;margin-top:18px;border:0;border-radius:12px;background:var(--brand);color:#fff;font-weight:800}
.mobile-toggle{display:none}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-260px;width:244px;transition:.2s;box-shadow:20px 0 50px rgba(17,24,39,.2)}body.nav-open .sidebar{left:0}.mobile-toggle{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:10px;background:#f3f4f6}.main-wrap{padding:22px}.topbar{padding:0 18px}.data-head{display:none}.data-row{grid-template-columns:1fr auto}.data-row>*:not(:first-child):not(:last-child){display:none}.kpi-strip{grid-template-columns:1fr 1fr}.kpi:nth-child(2){border-right:0}.kpi:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:600px){.page-head{align-items:flex-start}.page-head h1{font-size:27px}.page-head .btn-main{padding:0 12px}.hero-line{padding:20px}.hero-line .hero-action{display:none}.main-wrap{padding:16px}.topbar-meta span{display:none}.card-grid{grid-template-columns:1fr}.kpi{padding:15px}.kpi strong{font-size:21px}.section-head{padding:15px}.data-row{padding:14px}.actions{gap:4px}}
.device-dashboard-grid .door-card{height:100%;display:flex;flex-direction:column}.device-dashboard-grid .door-meta{margin-top:auto}.token-input-group .form-control{font-size:12px;letter-spacing:.02em;background:#f8f9fb}.token-input-group .form-control.token-generated{background:#f0fff8;border-color:#65c99b}.token-note{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;background:#fff8e8;color:#8a6116;font-size:12px;line-height:1.45}.token-note i{font-size:16px;margin-top:1px}@media(max-width:767px){.device-dashboard-grid>.col-12{width:100%}.token-input-group{display:grid;grid-template-columns:1fr}.token-input-group .form-control,.token-input-group .btn{width:100%;border-radius:12px!important}.token-input-group .btn{margin-top:8px}}
/* Android-inspired account and device flow */
.account-hero,.device-hero{background:linear-gradient(90deg,#4D16E8 0%,#7E2BFF 55%,#A35CFF 100%);color:#fff;border-radius:28px;padding:32px;box-shadow:0 22px 60px rgba(86,76,180,.22);position:relative;overflow:hidden;margin-bottom:26px}.account-hero:after,.device-hero:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-90px;top:-170px;background:rgba(255,255,255,.13)}.account-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.14em;opacity:.8}.account-hero h1,.device-hero h1{font-size:34px;margin:8px 0 4px;letter-spacing:-1px}.account-hero p,.device-hero p{margin:0;color:rgba(255,255,255,.82)}.hero-user-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.14);border-radius:999px;backdrop-filter:blur(8px);z-index:1}.status-dot{width:8px;height:8px;border-radius:50%;background:#42d392}.device-list-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 18px}.device-list-head h2{font-size:20px;margin:0}.device-list-head p{color:var(--muted);margin:5px 0 0}.location-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}.location-card{display:block;background:#fff;border:1px solid #e9e8f2;border-radius:24px;padding:22px;color:inherit;box-shadow:0 14px 35px rgba(45,47,74,.08);transition:.2s}.location-card:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(75,65,155,.13);color:inherit}.location-card-top{display:flex;justify-content:space-between;align-items:center}.location-icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:#eee8ff;color:#6049c9;font-size:22px}.location-card h3{margin:18px 0 4px;font-size:20px}.location-card p{margin:0;color:var(--muted);font-size:12px}.location-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.location-stats span{display:flex;align-items:center;gap:9px;padding:12px;background:#f8f7fc;border-radius:14px;color:#6d7280;font-size:11px}.location-stats i{color:#6a52d4;font-size:16px}.location-stats b{color:#252838}.location-card-footer{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:10px;border-top:1px solid #ececf3;padding-top:15px;font-size:11px;color:#717786}.location-card-footer i{color:#7257df}.device-hero{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px}.device-hero-icon{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.2);border:10px solid rgba(255,255,255,.12);font-size:32px;z-index:1}.device-hero-copy,.device-settings-btn{z-index:1}.hero-online{display:inline-flex;align-items:center;gap:8px;margin-top:15px;padding:8px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.12);font-size:12px;font-weight:750}.hero-online i{width:8px;height:8px;border-radius:50%;background:#ff6b7a}.hero-online.on i{background:#45d391}.device-settings-btn{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.14);font-size:22px}.device-tabs{display:flex;gap:8px;margin:0 0 18px;overflow:auto}.device-tabs a{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:#fff;border:1px solid var(--line);color:#656b78;font-weight:700;font-size:12px;white-space:nowrap}.device-tabs a.active{background:#6a54d4;color:#fff;border-color:#6a54d4}.device-info-card{background:#fff;border:1px solid #e9e8f2;border-radius:25px;overflow:hidden;box-shadow:0 14px 35px rgba(45,47,74,.08)}.device-info-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid #ececf3}.device-info-row:last-child{border-bottom:0}.device-info-row strong{display:block;font-size:14px}.device-info-row small{display:block;color:var(--muted);margin-top:3px}.info-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:18px}.info-icon.purple{background:#eee8ff;color:#674dce}.info-icon.blue{background:#e8efff;color:#4f72d9}.info-icon.red{background:#ffecee;color:#d84b62}.soft-badge{padding:8px 11px;border-radius:999px;font-size:11px;font-weight:800}.soft-badge.green{background:#e7f7ef;color:#249a67}.soft-badge.red{background:#ffeaed;color:#d44760}.soft-badge.gray{background:#f1f2f5;color:#737986}.soft-badge.purple{background:#eee8ff;color:#674dce}.device-open-primary{margin-top:18px;height:54px;border-radius:17px;background:linear-gradient(135deg,#7E2BFF,#735ee4);box-shadow:0 15px 30px rgba(105,81,223,.23);font-size:14px}.device-open-primary:hover{background:linear-gradient(135deg,#5d46d0,#6852dc)}
@media(max-width:700px){.account-hero{align-items:flex-start;flex-direction:column}.device-hero{grid-template-columns:auto 1fr}.device-settings-btn{grid-column:2;grid-row:1;justify-self:end}.device-hero-icon{width:64px;height:64px;font-size:25px}.account-hero h1,.device-hero h1{font-size:28px}.location-grid{grid-template-columns:1fr}.device-info-row{padding:15px}.soft-badge{max-width:120px;overflow:hidden;text-overflow:ellipsis}.main-wrap{padding-bottom:30px}}

/* Access Cloud visual refresh — aligned with the Android application */
:root{
  --bg:#f6f5fa;
  --surface:#ffffff;
  --surface-soft:#faf9fd;
  --ink:#211b35;
  --muted:#777386;
  --line:#ece9f2;
  --brand:#6748e8;
  --brand-2:#8068f3;
  --brand-dark:#5030c8;
  --brand-soft:#eee9ff;
  --nav:#ffffff;
  --success:#239769;
  --success-bg:#e9f8f1;
  --danger:#d45168;
  --danger-bg:#ffedf1;
  --warning:#bd7717;
  --warning-bg:#fff6e7;
  --shadow:0 5px 18px rgba(42,31,79,.075);
  --shadow-hover:0 10px 30px rgba(64,43,126,.12);
}
body{background:var(--bg);color:var(--ink);letter-spacing:-.01em}
.app-shell{grid-template-columns:238px minmax(0,1fr)}
.sidebar{background:#fff;color:var(--ink);border-right:1px solid var(--line);padding:20px 14px;box-shadow:4px 0 18px rgba(42,31,79,.035)}
.brand{padding:3px 8px 26px}.brand-mark{border-radius:15px;background:linear-gradient(145deg,#7b64f2,#5d39d6);box-shadow:0 8px 20px rgba(103,72,232,.25)}
.brand strong{color:var(--ink);font-size:16px}.brand small{color:var(--muted)}
.nav-label{color:#aaa5b5}.side-nav{gap:5px}.side-nav a{color:#777386;padding:12px 13px;border-radius:14px}.side-nav a i{font-size:18px}.side-nav a:hover{color:var(--brand);background:var(--brand-soft)}.side-nav a.active{color:var(--brand);background:var(--brand-soft);box-shadow:none}.side-nav a.active:before{content:"";width:4px;height:22px;border-radius:4px;background:var(--brand);margin-left:-13px;margin-right:9px}
.sidebar-bottom{border-top:1px solid var(--line);padding-top:16px}.cloud-state{color:var(--muted)}.logout-link{color:#777386}.logout-link:hover{background:var(--danger-bg);color:var(--danger)}
.topbar{height:82px;padding:0 30px;border-bottom:0;background:linear-gradient(90deg,#4D16E8 0%,#7E2BFF 55%,#A35CFF 100%);color:#fff;box-shadow:0 4px 18px rgba(82,52,187,.17)}
.topbar-title{font-size:22px;font-weight:800}.topbar-meta{color:rgba(255,255,255,.82)}.avatar{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.27)}
.main-wrap{padding:28px 30px 42px;max-width:1440px}.page-head{margin-bottom:22px}.page-head h1{font-size:29px;color:var(--ink)}.page-head p{color:var(--muted)}
.account-hero,.hero-line,.device-hero{background:linear-gradient(90deg,#4D16E8 0%,#7E2BFF 55%,#A35CFF 100%)!important;border-radius:26px!important;box-shadow:0 8px 25px rgba(87,55,194,.18)!important}
.account-hero:after,.hero-line:after{background:rgba(255,255,255,.10)!important}.eyebrow{color:rgba(255,255,255,.72)!important}.hero-user-pill,.hero-online{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.25)!important}
.device-list-head{margin:27px 0 15px}.device-list-head h2{font-size:18px;font-weight:800;margin:0}.device-list-head p{color:var(--muted);margin:4px 0 0}
.location-grid{gap:16px}.location-card,.door-card,.section,.device-info-card,.kpi-strip{border:0!important;box-shadow:var(--shadow)!important;background:#fff}.location-card{border-radius:24px!important;padding:20px!important;transition:.2s ease}.location-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)!important}.location-icon,.entity-icon,.info-icon.purple{background:var(--brand-soft)!important;color:var(--brand)!important}.location-stats{background:var(--surface-soft)!important}.location-card-footer{border-color:var(--line)!important}
.section{border-radius:24px}.section-head{padding:19px 21px;border-color:var(--line)}.data-head,th{background:#fbfafd}.data-row{border-color:var(--line);padding:17px 21px}.data-row:hover{background:#faf8ff}.table-wrap table td{border-color:var(--line)}
.kpi-strip{border-radius:22px}.kpi{border-color:var(--line);padding:20px 22px}.kpi strong{color:var(--ink)}
.btn-main{border-radius:14px;background:linear-gradient(135deg,var(--brand-2),var(--brand));box-shadow:0 7px 18px rgba(103,72,232,.20)}.btn-main:hover{background:linear-gradient(135deg,#7258e9,#5935cf)}.btn-soft{border-radius:12px}.icon-btn{background:#f4f2f8}.icon-btn:hover{background:var(--brand-soft);color:var(--brand)}
.status.on{color:var(--success)}.status.off{color:#a8a3b1}.soft-badge.red{background:#f1f0f4;color:#777386}.soft-badge.green{background:var(--success-bg);color:var(--success)}
.device-tabs{gap:9px}.device-tabs a{border:0;box-shadow:0 3px 12px rgba(42,31,79,.055);border-radius:14px}.device-tabs a.active{background:var(--brand);box-shadow:0 6px 16px rgba(103,72,232,.20)}
.device-info-card{border-radius:25px}.device-info-row{border-color:var(--line);padding:19px 21px}.device-open-primary,.open-btn{background:linear-gradient(90deg,#4D16E8 0%,#7E2BFF 55%,#A35CFF 100%);box-shadow:0 8px 20px rgba(103,72,232,.22);border-radius:15px}.open-btn:hover{background:linear-gradient(135deg,#4310D8 0%,#7020EF 55%,#9448F2 100%)}
.form-control,.form-select,.loginbox input{border:1px solid #e3dfea!important;background:#fff}.form-control:focus,.form-select:focus,.loginbox input:focus{border-color:#9d89f5!important;box-shadow:0 0 0 .22rem rgba(103,72,232,.11)!important;outline:0}.form-check-input:checked{background-color:var(--brand);border-color:var(--brand)}
.modal-content{border-radius:24px!important}.notice{border-radius:14px}.code-chip,.tag{background:var(--brand-soft);color:var(--brand)}
.login{background:radial-gradient(circle at 18% 10%,#e9e1ff 0,transparent 34%),radial-gradient(circle at 88% 90%,#eee9ff 0,transparent 30%),var(--bg)}.loginbox{border:0;border-radius:28px;box-shadow:0 16px 50px rgba(47,33,91,.12);padding:38px}.login-logo{background:linear-gradient(90deg,#4D16E8 0%,#7E2BFF 55%,#A35CFF 100%);box-shadow:0 9px 20px rgba(103,72,232,.25)}.loginbox button{border-radius:14px;background:linear-gradient(90deg,#4D16E8 0%,#7E2BFF 55%,#A35CFF 100%);box-shadow:0 8px 20px rgba(103,72,232,.21)}
.mobile-toggle{background:rgba(255,255,255,.17);color:#fff}
@media(max-width:980px){
  .sidebar{box-shadow:16px 0 45px rgba(42,31,79,.18)}
  .topbar{height:72px;padding:0 17px}.topbar-title{font-size:19px}.topbar-meta>span{display:none}
  .main-wrap{padding:20px 16px 34px}.page-head h1{font-size:25px}
  .account-hero,.hero-line,.device-hero{border-radius:22px!important}
}
@media(max-width:700px){
  .location-card{border-radius:21px!important}.section{border-radius:21px}.loginbox{padding:30px 24px}
}


/* Header content and account menu refinements */
.topbar{min-height:82px;height:auto;padding-top:14px;padding-bottom:14px}
.topbar.topbar-rich{min-height:112px}
.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}
.topbar-copy{display:flex;flex-direction:column;min-width:0}
.topbar-eyebrow{font-size:10px;font-weight:800;letter-spacing:.14em;color:rgba(255,255,255,.68);margin-bottom:3px}
.topbar-title{line-height:1.15}
.topbar-subtitle{margin-top:6px;color:rgba(255,255,255,.78);font-size:13px;font-weight:500}
.avatar-button{width:auto;min-width:47px;padding:0 11px;gap:7px;border:1px solid rgba(255,255,255,.28);cursor:pointer}
.avatar-button i{font-size:10px}
.account-menu{width:225px;padding:8px;border:0;border-radius:17px;box-shadow:0 16px 42px rgba(31,23,59,.18);margin-top:10px}
.account-menu-head{display:flex;flex-direction:column;padding:11px 12px 13px;border-bottom:1px solid var(--line);margin-bottom:6px}
.account-menu-head strong{font-size:14px;color:var(--ink)}
.account-menu-head small{color:var(--muted);font-size:11px;margin-top:2px}
.account-menu .dropdown-item{display:flex;align-items:center;gap:10px;border-radius:11px;padding:10px 11px;font-size:13px;font-weight:650}
.account-menu .logout-popup{color:var(--danger)}
.account-menu .logout-popup:hover{background:var(--danger-bg);color:var(--danger)}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.settings-section{padding:24px}
.settings-section>.row{margin:0}
.settings-section .card{border-radius:19px!important;background:#fff!important;box-shadow:0 4px 16px rgba(42,31,79,.065)!important}
@media(max-width:980px){.topbar.topbar-rich{min-height:98px}.topbar-subtitle{font-size:12px}.topbar-meta>span{display:none}}
@media(max-width:700px){.topbar.topbar-rich{min-height:104px}.topbar-title{font-size:18px}.topbar-subtitle{max-width:240px}.settings-section{padding:17px}.section-head{align-items:flex-start}.section-head .btn-main{flex-shrink:0}}

/* Dashboard location cards and devices table alignment */
.dashboard-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dashboard-location-card{display:flex;flex-direction:column;min-width:0;padding:22px;border-radius:24px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 4px 16px rgba(42,31,79,.07);transition:transform .18s ease,box-shadow .18s ease}
.dashboard-location-card:hover{color:var(--ink);transform:translateY(-2px);box-shadow:0 10px 28px rgba(58,39,114,.11)}
.dashboard-location-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.dashboard-location-title{display:flex;align-items:center;gap:13px;min-width:0}.dashboard-location-title h2{margin:0;font-size:18px;font-weight:800}.dashboard-location-title p{margin:4px 0 0;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-device-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:18px 0}
.dashboard-device-fact{display:flex;align-items:center;gap:11px;min-width:0;padding:11px 12px;border-radius:16px;background:#faf9fd}.dashboard-device-fact div{min-width:0}.dashboard-device-fact small{display:block;color:var(--muted);font-size:10px;font-weight:700;margin-bottom:3px}.dashboard-device-fact strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fact-icon{width:35px;height:35px;flex:0 0 35px;border-radius:11px;display:grid;place-items:center}.fact-icon.purple{background:var(--brand-soft);color:var(--brand)}.fact-icon.green{background:var(--success-bg);color:var(--success)}.fact-icon.gray{background:#f0eff4;color:#85808f}
.dashboard-location-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:15px;border-top:1px solid var(--line);color:var(--brand);font-size:12px;font-weight:800}.dashboard-location-card-footer i{font-size:17px}
@media(max-width:980px){.dashboard-location-grid{grid-template-columns:1fr}}
@media(max-width:560px){.dashboard-location-card{padding:18px}.dashboard-device-facts{grid-template-columns:1fr}.dashboard-location-card-head{align-items:flex-start}.dashboard-location-title{align-items:flex-start}}
/* Dashboard device cards + settings modal */
.dashboard-device-card{cursor:pointer;position:relative;display:flex;flex-direction:column;min-height:100%;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.dashboard-device-card:hover{transform:translateY(-4px);border-color:#d8d0ff;box-shadow:0 22px 52px rgba(80,63,166,.15)}.dashboard-device-card:focus-visible{outline:3px solid rgba(106,84,212,.25);outline-offset:3px}.dashboard-location-card-actions{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid #ececf3}.dashboard-card-open,.dashboard-card-settings{height:46px;border:0;border-radius:14px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px}.dashboard-card-open{background:linear-gradient(90deg,#4D16E8 0%,#7E2BFF 55%,#A35CFF 100%);color:#fff;box-shadow:0 10px 22px rgba(105,81,223,.22)}.dashboard-card-open:disabled{background:#e7e7ed;color:#999ca7;box-shadow:none}.dashboard-card-settings{padding:0 16px;background:#f1edff;color:#6048ca}.device-settings-modal .modal-dialog{max-width:760px}.device-modal-header{padding:22px 24px 16px;border-bottom:1px solid #ececf3}.device-modal-title{display:flex;align-items:center;gap:14px}.device-modal-title small{display:block;color:#7259da;font-size:10px;font-weight:850;letter-spacing:.13em}.device-modal-title h5{font-size:21px;font-weight:800;margin:3px 0 1px}.device-modal-title p{font-size:11px;color:var(--muted);margin:0}.device-modal-body{padding:20px 24px 24px}.device-modal-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:14px;background:#f8f7fc;margin-bottom:16px;color:var(--muted);font-size:12px}.dashboard-settings-form{display:grid;gap:12px}.settings-field-card,.settings-switch-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:16px;border:1px solid #e8e7f0;border-radius:17px;background:#fff}.settings-field-card>div:first-child,.settings-switch-card{ }.settings-field-card>div:first-child{display:flex;align-items:center;gap:13px}.settings-switch-card{grid-template-columns:auto 1fr auto;cursor:pointer}.settings-field-card strong,.settings-switch-card strong{display:block;font-size:13px}.settings-field-card small,.settings-switch-card small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.settings-field-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:17px}.settings-field-icon.purple{background:#eee8ff;color:#674dce}.settings-field-icon.blue{background:#e8efff;color:#4f72d9}.settings-field-icon.green{background:#e7f7ef;color:#249a67}.relay-input{width:170px}.settings-switch-card .form-check{margin:0}.settings-switch-card .form-check-input{width:46px;height:24px;cursor:pointer}.device-modal-message{min-height:20px;font-size:12px;font-weight:700}.device-modal-message.success{color:#16815a}.device-modal-message.error{color:#c23d57}.device-modal-footer-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.device-modal-footer-actions .btn-main{border:0}.dashboard-location-grid{align-items:stretch}@media(max-width:650px){.dashboard-location-card-actions{grid-template-columns:1fr}.dashboard-card-settings{width:100%}.settings-field-card{grid-template-columns:1fr}.relay-input{width:100%}.device-modal-body{padding:16px}.device-modal-header{padding:18px 16px 14px}.device-modal-footer-actions{display:grid;grid-template-columns:1fr}.device-modal-footer-actions>*{width:100%}}

/* Relay duration slider */
.relay-slider-card{grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr)}
.relay-slider-heading{display:flex;align-items:center;gap:13px}
.relay-slider-control{min-width:0;padding:4px 2px 0}
.relay-slider-value{margin-bottom:8px;text-align:right;color:var(--brand);font-size:15px;font-weight:850;font-variant-numeric:tabular-nums}
.relay-range{width:100%;height:22px;padding:0;background:transparent;border:0!important;box-shadow:none!important;cursor:pointer}
.relay-range::-webkit-slider-runnable-track{height:7px;border-radius:999px;background:linear-gradient(90deg,#7458e5,#a68ff7)}
.relay-range::-webkit-slider-thumb{width:22px;height:22px;margin-top:-7.5px;border:4px solid #fff;border-radius:50%;background:#684bd5;box-shadow:0 3px 12px rgba(73,49,164,.32)}
.relay-range::-moz-range-track{height:7px;border-radius:999px;background:linear-gradient(90deg,#7458e5,#a68ff7)}
.relay-range::-moz-range-thumb{width:16px;height:16px;border:4px solid #fff;border-radius:50%;background:#684bd5;box-shadow:0 3px 12px rgba(73,49,164,.32)}
.relay-slider-scale{display:flex;justify-content:space-between;margin-top:2px;color:var(--muted);font-size:10px;font-weight:700}
@media(max-width:650px){.relay-slider-card{grid-template-columns:1fr}.relay-slider-value{text-align:left;margin-top:5px}}

/* Compact account block and uniform device action buttons */
.topbar-meta{flex:0 0 auto;white-space:nowrap}
.account-menu-head{min-width:0}
.account-menu-head strong{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}
.account-menu-head small{line-height:1.2}
.actions{align-items:center}
.actions form{display:flex;margin:0;padding:0}
.actions .icon-btn{box-sizing:border-box;flex:0 0 36px;width:36px!important;height:36px!important;min-width:36px;min-height:36px;padding:0!important;margin:0;line-height:1;border-radius:10px}
.actions .icon-btn i{display:block;font-size:15px;line-height:1}

/* Compact account trigger */
.topbar-meta{display:flex;align-items:center}
.account-trigger{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:4px 7px 4px 13px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.10);color:#fff;white-space:nowrap;cursor:pointer;transition:.18s}
.account-trigger:hover,.account-trigger:focus{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.4)}
.account-trigger-role{font-size:12px;font-weight:650;line-height:1}
.account-trigger-avatar{width:34px;height:34px;min-width:34px;border:0;background:rgba(255,255,255,.20)}
.account-trigger-chevron{font-size:10px;margin-right:3px;transition:transform .18s}
.account-trigger[aria-expanded="true"] .account-trigger-chevron{transform:rotate(180deg)}
@media(max-width:600px){.account-trigger-role{display:none}.account-trigger{padding-left:5px;gap:5px}}

/* Activity pagination */
.events-pagination{display:flex;justify-content:center;align-items:center;gap:7px;padding:20px 18px 8px;border-top:1px solid var(--line)}
.page-number,.page-control{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);background:#fff;color:#5f6572;font-size:12px;font-weight:750;transition:.16s}
.page-number:hover,.page-control:hover{background:var(--brand-soft);border-color:#cfc5ff;color:var(--brand)}
.page-number.active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 7px 18px rgba(105,81,223,.2)}
.page-control.disabled{opacity:.38;pointer-events:none}
.page-gap{color:var(--muted);padding:0 2px}
.events-page-meta{text-align:center;color:var(--muted);font-size:11px;padding:3px 18px 18px}

/* Dashboard cards are informational; only their explicit action buttons are interactive. */
.dashboard-device-card,
.dashboard-device-card:hover {
  cursor: default;
  transform: none !important;
  box-shadow: 0 4px 16px rgba(42,31,79,.07) !important;
  border-color: transparent !important;
}
.dashboard-device-card:focus,
.dashboard-device-card:focus-visible {
  outline: none !important;
}
.device-modal-footer-actions .btn,
.device-modal-footer-actions .btn-main {
  min-height: 46px;
  border-radius: 14px !important;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Unified violet palette — matched to the Android authentication button */
:root{
  --brand:#7E2BFF;
  --brand-2:#4D16E8;
  --brand-3:#A35CFF;
  --brand-dark:#4D16E8;
  --brand-soft:#F1EBFF;
}

.topbar,
.account-hero,
.hero-line,
.device-hero{
  background:linear-gradient(90deg,#4D16E8 0%,#7E2BFF 55%,#A35CFF 100%)!important;
  box-shadow:0 8px 24px rgba(77,22,232,.22)!important;
}

.brand-mark,
.login-logo,
.loginbox button,
.btn-main,
.device-open-primary,
.open-btn,
.dashboard-card-open{
  background:linear-gradient(90deg,#4D16E8 0%,#7E2BFF 55%,#A35CFF 100%)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(77,22,232,.24)!important;
}

.btn-main:hover,
.loginbox button:hover,
.device-open-primary:hover,
.open-btn:hover,
.dashboard-card-open:hover{
  background:linear-gradient(135deg,#4310D8 0%,#7020EF 55%,#9448F2 100%)!important;
  color:#fff!important;
}

.side-nav a.active,
.device-tabs a.active,
.page-number.active{
  background:#7E2BFF!important;
  border-color:#7E2BFF!important;
  color:#fff!important;
}

/* Switches: neutral when OFF, violet only when ON */
.form-switch .form-check-input{
  background-color:#D7D9E0!important;
  border-color:#D7D9E0!important;
  box-shadow:none!important;
}
.form-switch .form-check-input:focus{
  border-color:#C5C7D0!important;
  box-shadow:0 0 0 .18rem rgba(126,43,255,.12)!important;
}
.form-switch .form-check-input:checked{
  background-color:#7E2BFF!important;
  border-color:#7E2BFF!important;
}

.side-nav a.active:before{
  background:#A35CFF!important;
}

.side-nav a:hover,
.btn-soft,
.icon-btn:hover,
.location-icon,
.entity-icon,
.info-icon.purple,
.code-chip,
.tag{
  background:#F1EBFF!important;
  color:#6420D7!important;
}

.form-control:focus,
.form-select:focus,
.loginbox input:focus{
  border-color:#A35CFF!important;
  box-shadow:0 0 0 .22rem rgba(126,43,255,.14)!important;
}

.device-open-primary:disabled,
.open-btn:disabled,
.dashboard-card-open:disabled,
.btn-main:disabled{
  background:linear-gradient(135deg,#BBB3D0,#C8C0DB)!important;
  color:#fff!important;
  box-shadow:none!important;
}


/* Access Cloud Android violet — forced final rules */
.topbar,.hero-line,.device-hero,.account-hero{
 background:linear-gradient(90deg,#4D16E8 0%,#7E2BFF 55%,#A35CFF 100%)!important;
}
.btn-main,.open-btn,.device-open-primary,.dashboard-card-open,.loginbox button,.brand-mark{
 background:linear-gradient(90deg,#4D16E8 0%,#7E2BFF 55%,#A35CFF 100%)!important;
 border-color:transparent!important;color:#fff!important;
}
.side-nav a.active{
 background:linear-gradient(90deg,rgba(126,43,255,.18),rgba(163,92,255,.10))!important;
 box-shadow:inset 3px 0 0 #7E2BFF!important;
 color:#6420D7!important;
}
.side-nav a.active i{
 color:#6420D7!important;
}

/* Exact Android horizontal gradient for page headers */
.topbar,
.hero-line,
.device-hero,
.account-hero {
  background-image: linear-gradient(90deg, #4D16E8 0%, #7E2BFF 55%, #A35CFF 100%) !important;
  background-color: #7E2BFF !important;
}


/* Violet button audit — remove every remaining Bootstrap blue action */
.btn-primary,
.btn-main,
button.btn-main,
a.btn-main,
input.btn-main,
.generate-token-btn.btn-outline-violet {
  --bs-btn-bg:#7E2BFF;
  --bs-btn-border-color:transparent;
  --bs-btn-hover-bg:#7020EF;
  --bs-btn-hover-border-color:transparent;
  --bs-btn-active-bg:#6420D7;
  --bs-btn-active-border-color:transparent;
  --bs-btn-disabled-bg:#BBB3D0;
  --bs-btn-disabled-border-color:transparent;
}

.btn-primary,
.btn-main,
button.btn-main,
a.btn-main,
input.btn-main {
  background:linear-gradient(90deg,#4D16E8 0%,#7E2BFF 55%,#A35CFF 100%)!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(77,22,232,.24)!important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-main:hover,
.btn-main:focus,
.btn-main:active {
  background:linear-gradient(90deg,#4310D8 0%,#7020EF 55%,#9448F2 100%)!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(77,22,232,.28)!important;
}

.btn-outline-primary,
.btn-outline-violet,
.generate-token-btn {
  background:#F1EBFF!important;
  border-color:#A35CFF!important;
  color:#6420D7!important;
  box-shadow:none!important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-violet:hover,
.btn-outline-violet:focus,
.btn-outline-violet:active,
.generate-token-btn:hover,
.generate-token-btn:focus,
.generate-token-btn:active {
  background:#E7DCFF!important;
  border-color:#7E2BFF!important;
  color:#4D16E8!important;
  box-shadow:0 0 0 .18rem rgba(126,43,255,.12)!important;
}

.dashboard-card-settings,
.device-settings-btn {
  color:#6420D7!important;
}

.btn-check:checked + .btn-primary,
.btn-check:active + .btn-primary,
.btn-primary.active,
.btn-primary.show {
  background:linear-gradient(90deg,#4310D8 0%,#7020EF 55%,#9448F2 100%)!important;
  border-color:transparent!important;
  color:#fff!important;
}

.btn-primary:disabled,
.btn-primary.disabled,
.btn-main:disabled,
.btn-main.disabled {
  background:linear-gradient(135deg,#BBB3D0,#C8C0DB)!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:none!important;
  opacity:.72;
}

/* Firmware installer */
.installer-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);gap:24px;align-items:start}.installer-card{background:#fff;border:1px solid #e9e3f4;border-radius:22px;box-shadow:0 16px 40px rgba(51,24,93,.08);padding:28px}.installer-card-head{display:flex;gap:18px;align-items:flex-start}.installer-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:17px;background:linear-gradient(135deg,#4d16e8,#9b52ff);color:#fff;font-size:25px;box-shadow:0 10px 24px rgba(77,22,232,.25);flex:0 0 auto}.installer-kicker{display:block;color:#7a6a94;font-size:12px;font-weight:800;letter-spacing:.11em;margin-bottom:5px}.installer-card h2,.installer-card h3{margin:0;color:#261840;font-weight:800}.installer-card-head p{margin:7px 0 0;color:#746986}.installer-release{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.installer-release>div{padding:15px 16px;border-radius:15px;background:#f8f5fd;border:1px solid #eee7f7}.installer-release small{display:block;color:#857a96;font-size:12px;margin-bottom:4px}.installer-release strong{color:#2b1b48}.installer-warning{display:flex;gap:11px;align-items:flex-start;background:#fff8e8;border:1px solid #f4dfad;color:#76540d;border-radius:15px;padding:14px 16px;margin-bottom:20px}.installer-warning i{color:#dc9400;margin-top:2px}.installer-action{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:14px;padding:15px 20px;background:linear-gradient(90deg,#4d16e8,#7e2bff 55%,#a35cff);color:#fff;font-weight:800;font-size:15px;box-shadow:0 10px 24px rgba(77,22,232,.24);cursor:pointer}.installer-action:hover{filter:brightness(.97)}.installer-browser-error,.installer-unavailable{margin-top:16px;border-radius:15px;padding:17px;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}.installer-unavailable{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;padding:30px 20px}.installer-unavailable i{font-size:32px}.installer-unavailable code{font-size:12px;word-break:break-all}.installer-steps-card h3{margin-bottom:20px}.installer-steps{list-style:none;padding:0;margin:0;display:grid;gap:18px}.installer-steps li{display:flex;gap:13px;align-items:flex-start}.installer-steps li>span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#efe8ff;color:#6420d7;font-weight:800;flex:0 0 auto}.installer-steps strong{display:block;color:#302047;font-size:14px}.installer-steps small{display:block;color:#81758f;line-height:1.45;margin-top:3px}@media(max-width:900px){.installer-grid{grid-template-columns:1fr}.installer-release{grid-template-columns:1fr}}


/* Account security modal */
.account-settings-modal{border:0;border-radius:22px;overflow:hidden}.account-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.account-setting-card{border:1px solid #e9e3f4;border-radius:16px;padding:18px;background:#fff}.account-setting-card h6{font-weight:800;color:#302047}.account-setting-card p{color:#746986;font-size:13px}.account-setting-card.danger-zone{border-color:#fecdd3;background:#fffafb}.account-setting-card.danger-zone h6{color:#b91c1c}.account-trigger{cursor:pointer}@media(max-width:760px){.account-settings-grid{grid-template-columns:1fr}}

/* Account dropdown + focused action modals */
.account-menu{width:330px!important;padding:10px!important;border:1px solid rgba(91,64,148,.10)!important;border-radius:20px!important;box-shadow:0 24px 60px rgba(37,20,71,.22)!important;background:rgba(255,255,255,.98)!important;backdrop-filter:blur(18px);overflow:hidden}
.account-menu-head{display:grid!important;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:11px;padding:10px 10px 14px!important;margin:0 0 6px!important;border-bottom:1px solid #eee8f6!important}
.account-menu-avatar{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#4d16e8,#9b52ff);color:#fff;font-size:16px;font-weight:800;box-shadow:0 9px 20px rgba(88,28,220,.22)}
.account-menu-head strong{font-size:14px!important;color:#24163b!important;line-height:1.25}.account-menu-head small{display:block;color:#84788f!important;font-size:11px!important;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-menu .dropdown-item{display:grid!important;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px!important;padding:10px!important;border-radius:13px!important;color:#322344!important;background:transparent;border:0;text-align:left;width:100%}
.account-menu .dropdown-item:hover,.account-menu .dropdown-item:focus{background:#f5f0ff!important;color:#4d16e8!important}
.account-menu .dropdown-item>span:last-child{display:flex;flex-direction:column;min-width:0}.account-menu .dropdown-item b{font-size:12.5px;line-height:1.2}.account-menu .dropdown-item small{font-size:10.5px;color:#91869d;margin-top:3px;line-height:1.2}
.account-menu-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#f0e9ff;color:#6824df;font-size:15px}
.account-menu .account-delete-item{color:#a9283e!important}.account-menu .account-delete-item .account-menu-icon{background:#fff0f2;color:#c73951}.account-menu .account-delete-item:hover{background:#fff4f5!important;color:#a9283e!important}
.account-menu-divider{height:1px;background:#eee8f6;margin:7px 4px}.account-menu .logout-popup{color:#5e5369!important}.account-menu .logout-popup .account-menu-icon{background:#f3f1f5;color:#665c70}.account-menu .logout-popup:hover{background:#f6f4f8!important;color:#31293a!important}
.account-action-modal .modal-content{border:0;border-radius:24px;overflow:hidden;box-shadow:0 28px 80px rgba(36,18,71,.25)}
.account-modal-head{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;padding:22px 24px 18px;border-bottom:1px solid #eee8f6;background:linear-gradient(180deg,#fff,#fbf9ff)}
.account-modal-head .btn-close{margin:0}.account-modal-head h5{font-size:18px;font-weight:800;color:#28183f;margin:0}.account-modal-head p{font-size:12px;color:#81748d;margin:4px 0 0}
.account-modal-title-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#eee5ff,#f7f2ff);color:#6924df;font-size:21px;border:1px solid #e5d8ff}
.account-modal-head.danger{background:linear-gradient(180deg,#fff,#fff8f9)}.account-modal-head.danger .account-modal-title-icon{background:#fff0f2;color:#c52f49;border-color:#ffd8de}.account-modal-head.danger h5{color:#9f2037}
.account-modal-body{padding:24px}.account-modal-body .form-label{font-size:12px;font-weight:750;color:#483a57;margin:0 0 7px}.account-modal-body .form-label:not(:first-of-type){margin-top:15px}
.current-account-value{padding:13px 15px;border:1px solid #ebe4f3;border-radius:14px;background:#faf8fd;margin-bottom:18px}.current-account-value small{display:block;color:#8c8197;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.current-account-value strong{display:block;color:#332344;font-size:13px;margin-top:3px;word-break:break-all}
.account-input-wrap{position:relative}.account-input-wrap>i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#806e93;font-size:14px;z-index:2}.account-input-wrap .form-control{height:48px;border-radius:14px;border-color:#e3dbea;padding-left:41px;font-size:13px;box-shadow:none}.account-input-wrap .form-control:focus{border-color:#8b4bea;box-shadow:0 0 0 .2rem rgba(126,43,255,.10)}
.account-modal-note{display:flex;gap:10px;align-items:flex-start;margin-top:18px;padding:13px 14px;border-radius:14px;background:#f2ecff;color:#59416f;font-size:11.5px;line-height:1.5}.account-modal-note i{color:#6f28df;margin-top:1px}.account-modal-note.danger{background:#fff1f3;color:#85293b}.account-modal-note.danger i{color:#c42d48}
.account-modal-footer{padding:16px 24px 22px;border-top:1px solid #f1edf5;gap:9px}.account-modal-footer .btn{border-radius:12px;padding:10px 16px;font-size:12px;font-weight:750}.account-modal-footer .btn-main{display:inline-flex;align-items:center;gap:7px}
.delete-warning-list{display:grid;gap:10px}.delete-warning-list>div{display:grid;grid-template-columns:38px 1fr;gap:11px;align-items:center;padding:11px 13px;border:1px solid #f1e8eb;border-radius:14px;background:#fffafb;color:#553944;font-size:12px}.delete-warning-list i{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#fff0f2;color:#bd3049;font-size:15px}.account-danger-btn{display:inline-flex;align-items:center;gap:7px;background:#bd2d47;border-color:#bd2d47}.account-danger-btn:hover{background:#a5223b;border-color:#a5223b}
@media(max-width:600px){.account-menu{width:min(330px,calc(100vw - 24px))!important}.account-modal-head{grid-template-columns:44px minmax(0,1fr) auto;padding:18px}.account-modal-title-icon{width:44px;height:44px;border-radius:14px}.account-modal-body{padding:18px}.account-modal-footer{padding:14px 18px 18px}.account-modal-footer .btn{flex:1}.account-modal-footer{display:flex;flex-wrap:nowrap}}

/* Account confirmation page */
.account-confirm-page{min-height:100vh;margin:0;display:grid;place-items:center;padding:32px 18px;background:radial-gradient(circle at 15% 0%,rgba(123,76,255,.12),transparent 34%),radial-gradient(circle at 90% 100%,rgba(91,53,219,.09),transparent 38%),#f7f5fb;color:#211832}
.account-confirm-shell{width:min(100%,680px)}
.account-confirm-card{position:relative;overflow:hidden;padding:42px 46px 38px;border:1px solid rgba(93,68,130,.11);border-radius:30px;background:rgba(255,255,255,.96);box-shadow:0 28px 80px rgba(46,28,77,.13)}
.account-confirm-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#5f20f5,#9c4cff)}
.account-confirm-card.is-danger:before{background:linear-gradient(90deg,#b51f42,#ef5a67)}
.account-confirm-brand{display:flex;align-items:center;gap:10px;color:#6c6278;font-size:12px;font-weight:850;letter-spacing:.04em}
.account-confirm-brand span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#241635;color:#fff;font-size:11px;letter-spacing:-.02em}
.account-confirm-icon{width:66px;height:66px;margin:34px 0 20px;display:grid;place-items:center;border-radius:20px;background:#eee8ff;color:#6f25f2;box-shadow:0 14px 30px rgba(111,37,242,.17)}
.account-confirm-card.is-danger .account-confirm-icon{background:#fff0f2;color:#c72d4a;box-shadow:0 14px 30px rgba(199,45,74,.14)}
.account-confirm-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.account-confirm-header{margin-bottom:26px}.account-confirm-eyebrow{margin:0 0 8px;color:#7b6b8b;font-size:10px;font-weight:900;letter-spacing:.16em}.account-confirm-card.is-danger .account-confirm-eyebrow{color:#b32846}.account-confirm-header h1{margin:0;color:#21162f;font-size:clamp(27px,5vw,38px);line-height:1.08;letter-spacing:-.035em}.account-confirm-header>p:last-child{margin:12px 0 0;color:#756b80;font-size:14px;line-height:1.65}
.account-confirm-message{display:grid;gap:5px;margin:0 0 22px;padding:15px 17px;border-radius:15px;font-size:13px;line-height:1.5}.account-confirm-message strong{font-size:13px}.account-confirm-message.error{background:#fff0f2;color:#9f203b;border:1px solid #ffd9df}.account-confirm-message.success{background:#ebfaf4;color:#087755;border:1px solid #c9f1e2}
.account-delete-summary{padding:22px;border:1px solid #eee8f1;border-radius:20px;background:#fcfbfd}.account-delete-summary h2{margin:0 0 15px;font-size:13px;color:#493b54}.account-delete-summary ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.account-delete-summary li{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #f0ebf2}.account-delete-summary li:first-child{border-top:0;padding-top:0}.account-delete-summary li:last-child{padding-bottom:0}.account-delete-summary li>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#fff0f2;color:#b52845;font-size:10px;font-weight:900}.account-delete-summary strong{display:block;color:#34263e;font-size:12.5px}.account-delete-summary small{display:block;margin-top:3px;color:#84788d;font-size:11px;line-height:1.45}
.account-delete-warning{margin:16px 0 24px;padding:14px 16px;border-left:4px solid #c72d4a;border-radius:0 13px 13px 0;background:#fff7f8;color:#7c3544;font-size:12px;line-height:1.55}.account-delete-warning strong{color:#a71e3a}
.account-confirm-actions{display:grid;gap:10px}.account-confirm-delete-btn,.account-confirm-primary,.account-confirm-cancel{min-height:52px;display:flex;align-items:center;justify-content:center;border-radius:14px;text-decoration:none;font-weight:850;font-size:13px;transition:transform .16s,box-shadow .16s,background .16s}.account-confirm-delete-btn{width:100%;border:0;cursor:pointer;background:linear-gradient(135deg,#b82042,#e34d5d);color:#fff;box-shadow:0 14px 28px rgba(190,35,68,.22)}.account-confirm-delete-btn:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(190,35,68,.28)}.account-confirm-primary{background:linear-gradient(135deg,#5c1ff0,#9747ff);color:#fff;box-shadow:0 14px 28px rgba(94,31,240,.2)}.account-confirm-cancel{min-height:46px;color:#665b70;background:#f5f2f7}.account-confirm-cancel:hover{background:#eee9f2;color:#3a2e43}.account-confirm-footer{text-align:center;margin:17px 0 0;color:#94899e;font-size:10px}
@media(max-width:620px){.account-confirm-page{padding:16px}.account-confirm-card{padding:30px 22px 26px;border-radius:23px}.account-confirm-icon{margin-top:28px;width:58px;height:58px;border-radius:17px}.account-delete-summary{padding:17px}.account-confirm-header h1{font-size:29px}}

/* Compact account confirmation redesign */
.compact-confirm-page{min-height:100vh;margin:0;display:grid;place-items:center;padding:24px 16px;background:linear-gradient(145deg,#f6f3fb 0%,#fbfaff 52%,#f4f1f8 100%);color:#241a31}
.compact-confirm-shell{width:min(100%,560px)}
.compact-confirm-card{position:relative;padding:30px;border:1px solid #ebe5f0;border-radius:24px;background:#fff;box-shadow:0 24px 65px rgba(42,24,67,.12)}
.compact-confirm-card:before{content:"";position:absolute;inset:0 26px auto;height:3px;border-radius:0 0 10px 10px;background:linear-gradient(90deg,#5d20ef,#9948ff)}
.compact-confirm-card.is-danger:before{background:#c52e49}
.compact-confirm-brand{display:flex;align-items:center;gap:10px;margin-bottom:27px;color:#695f72;font-size:12px;letter-spacing:.02em}
.compact-confirm-brand span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#261737;color:#fff;font-size:11px;font-weight:900}
.compact-confirm-status{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;margin-bottom:18px;background:#efe9ff;color:#6e29e8}
.compact-confirm-status.danger{background:#fff0f2;color:#c52e49}.compact-confirm-status.success{background:#eaf9f3;color:#07805a}
.compact-confirm-status svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.compact-confirm-header{margin-bottom:22px}.compact-confirm-eyebrow{margin:0 0 7px;color:#b32643;font-size:10px;font-weight:900;letter-spacing:.15em}.compact-confirm-header h1{margin:0;color:#21162e;font-size:clamp(27px,6vw,34px);line-height:1.12;letter-spacing:-.035em}.compact-confirm-header>p:last-child{margin:10px 0 0;color:#756b7e;font-size:13px;line-height:1.6}
.compact-confirm-message{display:grid;gap:4px;margin:0 0 18px;padding:13px 14px;border-radius:13px;font-size:12px;line-height:1.5}.compact-confirm-message.error{background:#fff1f3;color:#9c263d;border:1px solid #ffd9df}.compact-confirm-message.success{background:#eaf9f3;color:#087554;border:1px solid #c9efdf}
.compact-delete-panel{padding:17px 18px;border:1px solid #eee8f1;border-radius:16px;background:#fbfafc}.compact-delete-panel>strong{display:block;margin-bottom:10px;color:#372a40;font-size:13px}.compact-delete-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}.compact-delete-panel li{position:relative;padding-left:17px;color:#6f6478;font-size:12px;line-height:1.45}.compact-delete-panel li:before{content:"";position:absolute;left:1px;top:.55em;width:6px;height:6px;border-radius:50%;background:#c52e49}
.compact-confirm-form{display:grid;gap:10px;margin-top:20px}.compact-confirm-form label{color:#493b53;font-size:12px;font-weight:750}.compact-confirm-form input{height:48px;border:1px solid #ded6e5;border-radius:13px;padding:0 14px;background:#fff;color:#2c2036;font-size:14px;font-weight:800;letter-spacing:.08em;outline:0;transition:border-color .16s,box-shadow .16s}.compact-confirm-form input:focus{border-color:#c52e49;box-shadow:0 0 0 4px rgba(197,46,73,.09)}.compact-delete-note{margin:0 0 4px;color:#9a4052;font-size:11px;line-height:1.45}
.compact-delete-button,.compact-cancel-button,.compact-primary-button{min-height:49px;display:flex;align-items:center;justify-content:center;border-radius:13px;text-decoration:none;font-size:12.5px;font-weight:850;transition:transform .15s,box-shadow .15s,background .15s}.compact-delete-button{width:100%;border:0;cursor:pointer;background:#bf2945;color:#fff;box-shadow:0 12px 24px rgba(191,41,69,.2)}.compact-delete-button:hover{background:#aa203a;transform:translateY(-1px);box-shadow:0 15px 28px rgba(191,41,69,.25)}.compact-cancel-button{min-height:45px;background:#f4f1f6;color:#62576a}.compact-cancel-button:hover{background:#ece7ef;color:#33283a}.compact-primary-button{background:linear-gradient(90deg,#4d16e8,#8c3eff);color:#fff;box-shadow:0 12px 24px rgba(77,22,232,.2)}
.compact-confirm-actions{display:grid}.compact-confirm-footer{text-align:center;margin:14px 0 0;color:#94899d;font-size:10px}
@media(max-width:600px){.compact-confirm-page{padding:12px}.compact-confirm-card{padding:24px 20px;border-radius:20px}.compact-confirm-brand{margin-bottom:22px}.compact-confirm-header h1{font-size:28px}.compact-delete-panel{padding:15px}}

/* Minimal account deletion confirmation */
.minimal-delete-card{max-width:560px;padding:30px;border-top:0!important}
.minimal-delete-card:before,.minimal-delete-card:after{display:none!important}
.minimal-delete-panel{margin:0;padding:24px;border:1px solid #eadfe4;border-radius:18px;background:#fff}
.minimal-delete-panel>strong{display:block;margin-bottom:14px;font-size:17px;color:#261c2d}
.minimal-delete-panel ul{gap:11px}
.minimal-delete-panel li{font-size:14px;color:#65596d;padding-left:20px}
.minimal-delete-panel li:before{width:7px;height:7px;top:.52em}
.minimal-delete-card .compact-confirm-form{margin-top:18px}
.minimal-delete-card .compact-delete-button{min-height:52px;font-size:14px}
.ajax-form-message{display:none;border-radius:12px;padding:11px 13px;font-size:13px;line-height:1.45}
.ajax-form-message.is-error{display:block;background:#fff0f2;color:#a91f39;border:1px solid #f4cbd3}
.ajax-form-message.is-success{display:block;background:#ecfbf2;color:#167044;border:1px solid #bfe8cf}
.account-delete-result{text-align:center;padding:18px 8px}
.account-delete-result-icon{width:62px;height:62px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#eaf9f0;color:#16834c;font-size:30px;font-weight:900}
.account-delete-result h1{margin:0 0 10px;color:#24192c;font-size:30px}
.account-delete-result p{margin:0;color:#716579;line-height:1.6}
.account-delete-result .compact-primary-button{margin-top:22px}
@media(max-width:600px){.minimal-delete-card{padding:20px}.minimal-delete-panel{padding:19px}.minimal-delete-panel>strong{font-size:16px}}
.account-ajax-notice{display:none;margin-bottom:14px;padding:11px 13px;border-radius:12px;font-size:13px;line-height:1.45}
.account-ajax-notice.success{display:block;background:#ecfbf2;color:#167044;border:1px solid #bfe8cf}
.account-ajax-notice.error{display:block;background:#fff0f2;color:#a91f39;border:1px solid #f4cbd3}

/* Final delete-account confirmation adjustments */
body.account-confirm-page .minimal-delete-card,
body.account-confirm-page .minimal-delete-card.is-danger{
  border-top-color:#ebe5f0!important;
  box-shadow:0 24px 65px rgba(42,24,67,.12)!important;
}
body.account-confirm-page .minimal-delete-card::before,
body.account-confirm-page .minimal-delete-card::after,
body.account-confirm-page .minimal-delete-card.is-danger::before,
body.account-confirm-page .minimal-delete-card.is-danger::after{
  content:none!important;
  display:none!important;
  background:none!important;
  height:0!important;
}
.minimal-delete-warning{
  margin:18px 0 0;
  padding:13px 14px;
  border:0;
  border-radius:12px;
  background:#fff1f3;
  color:#a22740;
  font-size:13px;
  font-weight:750;
  line-height:1.5;
}

/* Global button hover: no shadow */
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.btn:hover,
a[class*="btn"]:hover,
[role="button"]:hover,
.btn-main:hover,
.btn-soft:hover,
.icon-btn:hover,
.open-btn:hover,
.device-open-primary:hover,
.dashboard-card-open:hover,
.generate-token-btn:hover,
.installer-action:hover,
.account-danger-btn:hover,
.account-confirm-delete-btn:hover,
.account-confirm-primary:hover,
.account-confirm-cancel:hover,
.compact-delete-button:hover,
.compact-cancel-button:hover,
.compact-primary-button:hover {
  box-shadow: none !important;
}


/* Dashboard empty state — centered directly on the workspace background */
.dashboard-location-grid:has(.dashboard-empty-state){
  display:flex;
  min-height:clamp(360px,58vh,680px);
  align-items:center;
  justify-content:center;
}
.dashboard-empty-state{
  width:min(760px,100%);
  padding:48px 24px;
  text-align:center;
  color:#a9a7b2;
  background:transparent;
  border:0;
  box-shadow:none;
}
.dashboard-empty-state i{
  display:block;
  margin-bottom:18px;
  color:#d7d4df;
  font-size:64px;
  line-height:1;
  text-shadow:1px 1px 0 #fff,-1px -1px 0 rgba(75,65,100,.08);
}
.dashboard-empty-state strong{
  display:block;
  color:#b5b2be;
  font-size:clamp(26px,3vw,44px);
  font-weight:850;
  letter-spacing:-.035em;
  line-height:1.08;
  text-shadow:1px 1px 0 rgba(255,255,255,.95),-1px -1px 0 rgba(67,58,86,.08);
}
.dashboard-empty-state span{
  display:block;
  margin-top:12px;
  color:#aaa7b2;
  font-size:clamp(13px,1.3vw,17px);
  font-weight:600;
  text-shadow:1px 1px 0 rgba(255,255,255,.9);
}
@media(max-width:600px){
  .dashboard-location-grid:has(.dashboard-empty-state){min-height:50vh}
  .dashboard-empty-state{padding:36px 14px}
  .dashboard-empty-state i{font-size:52px}
}


/* Remove every shadow/glow from every button in every state */
button,
.btn,
a.btn,
.button,
input[type="button"],
input[type="submit"],
input[type="reset"],
[role="button"],
.btn-main,
.btn-soft,
.icon-btn,
.open-btn,
.dashboard-card-open,
.dashboard-card-settings,
.device-open-primary,
.generate-token-btn,
.installer-action,
.account-danger-btn,
.account-confirm-delete-btn,
.account-confirm-primary,
.account-confirm-cancel,
.compact-delete-button,
.compact-cancel-button,
.compact-primary-button,
.loginbox button {
  box-shadow:none !important;
  filter:none !important;
}
button:hover, button:focus, button:focus-visible, button:active,
.btn:hover, .btn:focus, .btn:focus-visible, .btn:active,
a.btn:hover, a.btn:focus, a.btn:focus-visible, a.btn:active,
.button:hover, .button:focus, .button:focus-visible, .button:active,
input[type="button"]:hover, input[type="button"]:focus, input[type="button"]:active,
input[type="submit"]:hover, input[type="submit"]:focus, input[type="submit"]:active,
input[type="reset"]:hover, input[type="reset"]:focus, input[type="reset"]:active,
[role="button"]:hover, [role="button"]:focus, [role="button"]:active,
.btn-main:hover, .btn-main:focus, .btn-main:active,
.btn-soft:hover, .btn-soft:focus, .btn-soft:active,
.icon-btn:hover, .icon-btn:focus, .icon-btn:active,
.open-btn:hover, .open-btn:focus, .open-btn:active,
.dashboard-card-open:hover, .dashboard-card-open:focus, .dashboard-card-open:active,
.dashboard-card-settings:hover, .dashboard-card-settings:focus, .dashboard-card-settings:active,
.device-open-primary:hover, .device-open-primary:focus, .device-open-primary:active,
.generate-token-btn:hover, .generate-token-btn:focus, .generate-token-btn:active,
.installer-action:hover, .installer-action:focus, .installer-action:active,
.account-danger-btn:hover, .account-danger-btn:focus, .account-danger-btn:active,
.account-confirm-delete-btn:hover, .account-confirm-delete-btn:focus, .account-confirm-delete-btn:active,
.compact-delete-button:hover, .compact-delete-button:focus, .compact-delete-button:active,
.compact-primary-button:hover, .compact-primary-button:focus, .compact-primary-button:active,
.loginbox button:hover, .loginbox button:focus, .loginbox button:active {
  box-shadow:none !important;
  filter:none !important;
}
button::before, button::after,
.btn::before, .btn::after,
a.btn::before, a.btn::after,
.button::before, .button::after,
[role="button"]::before, [role="button"]::after {
  box-shadow:none !important;
  filter:none !important;
}

/* True centered embossed dashboard empty state */
.dashboard-location-grid.is-empty {
  display:grid !important;
  grid-template-columns:1fr !important;
  place-items:center !important;
  min-height:calc(100vh - 210px) !important;
  width:100%;
}
.dashboard-location-grid.is-empty .dashboard-empty-state {
  width:min(920px, 100%);
  margin:0 auto;
  padding:32px 20px 70px;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.dashboard-location-grid.is-empty .dashboard-empty-state i {
  font-size:clamp(68px, 8vw, 112px);
  color:#dedce5;
  text-shadow:2px 2px 1px rgba(255,255,255,.95), -2px -2px 1px rgba(83,74,102,.08);
}
.dashboard-location-grid.is-empty .dashboard-empty-state strong {
  font-size:clamp(34px, 5vw, 68px);
  color:#d0ced8;
  text-shadow:2px 2px 1px rgba(255,255,255,.98), -2px -2px 1px rgba(73,65,90,.10);
}
.dashboard-location-grid.is-empty .dashboard-empty-state span {
  margin-top:16px;
  font-size:clamp(15px, 1.5vw, 21px);
  color:#bbb8c4;
  text-shadow:1px 1px 0 rgba(255,255,255,.95);
}

.auth-ajax-message{display:none;margin:16px 0 2px;padding:12px 14px;border-radius:12px;font-size:13px;font-weight:700;line-height:1.45}
.auth-ajax-message.success{display:block;background:#ecfdf5;color:#087852;border:1px solid #bbf7d0}
.auth-ajax-message.error{display:block;background:#fff1f2;color:#b4233f;border:1px solid #fecdd3}

/* Smaller embossed empty-dashboard message */
.dashboard-location-grid.is-empty {
  min-height:calc(100vh - 250px) !important;
}
.dashboard-location-grid.is-empty .dashboard-empty-state {
  width:min(620px,100%);
  padding:18px 20px 42px;
}
.dashboard-location-grid.is-empty .dashboard-empty-state i {
  margin-bottom:12px;
  font-size:clamp(42px,5vw,64px);
}
.dashboard-location-grid.is-empty .dashboard-empty-state strong {
  font-size:clamp(24px,3vw,38px);
  line-height:1.12;
}
.dashboard-location-grid.is-empty .dashboard-empty-state span {
  margin-top:10px;
  font-size:clamp(13px,1.15vw,16px);
}

/* Invalid/expired token: show only the error */
.compact-confirm-card:has(.token-only-error) {
  width:min(620px,calc(100vw - 32px));
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none !important;
}
.token-only-error {
  margin:0;
  padding:18px 20px;
  border-radius:16px;
}

/* Editor acces utilizatori integrat în modalul dispozitivului */
.device-access-modal .modal-dialog{max-width:1040px}.device-access-modal .modal-header{align-items:flex-start}.device-access-subtitle{margin:5px 0 0;color:var(--muted);font-size:12px}.device-access-heading{display:flex;justify-content:space-between;align-items:end;margin:0 0 12px}.device-access-heading strong{display:block;font-size:14px}.device-access-heading small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.device-access-list{display:grid;gap:12px;max-height:54vh;overflow:auto;padding-right:4px}.device-access-user{border:1px solid #e7e4ef;border-radius:17px;background:#fff;overflow:hidden;transition:border-color .16s ease,background .16s ease}.device-access-user.is-enabled{border-color:#cfc2ff;background:#fcfbff}.device-access-user.is-owner{border-color:#bba8ff;background:#f8f5ff}.device-access-user-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px}.device-access-identity{display:flex;align-items:center;gap:11px;min-width:0;cursor:pointer}.device-access-identity>span:last-child{min-width:0}.device-access-identity strong,.device-access-identity small{display:block}.device-access-identity strong{font-size:13px;color:#2f263c}.device-access-identity small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-access-avatar{width:38px;height:38px;border-radius:12px;display:grid!important;place-items:center;background:#eee8ff;color:#633ed1;font-size:13px;font-weight:850;flex:0 0 auto}.owner-badge,.custom-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800;white-space:nowrap}.owner-badge{background:#e9f8f0;color:#16825a}.custom-badge{background:#f2eff8;color:#756c80}.device-permission-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 16px 16px}.permission-option{display:grid;grid-template-columns:auto 34px minmax(0,1fr);gap:9px;align-items:center;padding:11px;border:1px solid #ebe8f1;border-radius:13px;background:#fff;cursor:pointer}.permission-option:has(input:checked){border-color:#cdbfff;background:#f7f4ff}.permission-option>i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f1edff;color:#6748d3}.permission-option strong,.permission-option small{display:block}.permission-option strong{font-size:11.5px;color:#342a42}.permission-option small{font-size:9.5px;color:var(--muted);line-height:1.35;margin-top:2px}.device-access-message{min-height:18px;margin-top:12px;font-size:12px;font-weight:750}.device-access-message.success{color:#17815b}.device-access-message.error{color:#c3324f}.device-access-form .modal-footer .btn{box-shadow:none!important;filter:none!important}@media(max-width:780px){.device-access-modal .modal-dialog{margin:10px}.device-permission-panel{grid-template-columns:1fr}.device-access-user-head{align-items:flex-start}.custom-badge,.owner-badge{font-size:9px}.device-access-list{max-height:58vh}}@media(max-width:520px){.device-access-user-head{display:grid;grid-template-columns:1fr}.owner-badge,.custom-badge{justify-self:start}.device-access-modal .modal-body{padding:16px}.device-permission-panel{padding:0 12px 12px}.device-access-user-head{padding:12px}}
/* Cards page — permission denied empty state */
.cards-permission-empty{
  min-height:calc(100vh - 240px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:44px 24px 88px;
}
.cards-permission-empty__content{
  width:min(760px,100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  color:#cfc9dc;
  user-select:none;
}
.cards-permission-empty__content i{
  display:block;
  margin:0 0 4px;
  font-size:54px;
  line-height:1;
  color:#d9d4e5;
  text-shadow:1px 1px 0 rgba(255,255,255,.98),-1px -1px 0 rgba(88,73,117,.16),0 10px 22px rgba(255,255,255,.35);
}
.cards-permission-empty__content strong{
  display:block;
  font-size:clamp(26px,3.2vw,40px);
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.03em;
  color:#cfc9dc;
  text-shadow:1px 1px 0 rgba(255,255,255,.98),-1px -1px 0 rgba(92,77,118,.17),0 12px 26px rgba(255,255,255,.26);
}
.cards-permission-empty__content span{
  display:block;
  max-width:560px;
  margin:0;
  font-size:15px;
  line-height:1.65;
  color:#b8b1c7;
  text-shadow:1px 1px 0 rgba(255,255,255,.94),-1px -1px 0 rgba(92,77,118,.08);
}
@media(max-width:650px){
  .cards-permission-empty{min-height:58vh;padding:30px 18px 64px}
  .cards-permission-empty__content i{font-size:42px}
  .cards-permission-empty__content strong{font-size:25px}
  .cards-permission-empty__content span{font-size:13px;max-width:320px}
}

/* Production UX: empty administrator list and inline RFID scan */
.device-users-empty-embossed{
  min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;color:#aaa5b5;font-weight:800;font-size:1.05rem;letter-spacing:.01em;
  text-shadow:1px 1px 0 #fff,-1px -1px 0 rgba(80,65,110,.08)
}
.device-users-empty-embossed i{font-size:2rem;margin-bottom:10px;color:#bbb5c8}
.card-scan-control{width:100%}
.card-scan-launch,.card-scan-result{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:center}
.card-scan-launch .form-select,.card-scan-result .form-control{min-width:0}
.card-scan-result[hidden],.card-scan-launch[hidden]{display:none!important}
@media(max-width:700px){.device-users-empty-embossed{min-height:170px}.card-scan-launch,.card-scan-result{grid-template-columns:minmax(0,1fr) 44px}}

/* Auth production refresh */
.auth-page{position:relative;overflow-x:hidden;isolation:isolate;background:linear-gradient(135deg,#f6f4ff 0%,#edf4ff 48%,#f9f7ff 100%)!important;padding:32px 0}
.auth-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.auth-background:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(89,65,176,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(89,65,176,.035) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 85%)}
.auth-background span{position:absolute;border-radius:999px;filter:blur(4px);opacity:.72}
.auth-background span:nth-child(1){width:420px;height:420px;left:-130px;top:-150px;background:radial-gradient(circle,#cfc2ff 0%,rgba(207,194,255,0) 70%)}
.auth-background span:nth-child(2){width:520px;height:520px;right:-180px;bottom:-210px;background:radial-gradient(circle,#bfe2ff 0%,rgba(191,226,255,0) 70%)}
.auth-background span:nth-child(3){width:240px;height:240px;right:12%;top:8%;background:radial-gradient(circle,#eadcff 0%,rgba(234,220,255,0) 70%)}
.auth-page .loginbox{position:relative;width:min(440px,calc(100% - 32px));border:1px solid rgba(255,255,255,.82)!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 24px 70px rgba(45,35,88,.13)!important}
.auth-page .login-logo{box-shadow:none!important}
.auth-page .auth-switch{text-align:center;margin:18px 0 0;color:#6b7280;font-size:13px}
.auth-page .auth-switch a,.auth-forgot-row a{color:#6748e8;font-weight:750;text-decoration:none}
.auth-page .auth-switch a:hover,.auth-forgot-row a:hover{text-decoration:underline}
.auth-forgot-row{display:flex;justify-content:flex-end;margin-top:10px;font-size:13px}
.auth-ajax-message{display:none;margin:16px 0 0;padding:0!important;border:0!important;background:transparent!important;color:inherit!important;font-weight:inherit!important}
.alert{display:flex;align-items:flex-start;gap:10px;width:100%;padding:13px 15px;border:1px solid transparent;border-radius:14px;line-height:1.45;font-size:13px;font-weight:650;box-shadow:none!important}
.alert i{font-size:16px;line-height:1.35;flex:0 0 auto}
.alert-info{color:#432a74;background:#f1eaff;border-color:#d8c7ff}
.alert-success{color:#146c43;background:#e8f7ef;border-color:#bfe7d0}
.alert-danger{color:#b4233d;background:#fff0f3;border-color:#ffcbd4}
.alert-warning{color:#7a4c00;background:#fff7df;border-color:#ffe09a}
.auth-ajax-message.alert-host{display:block}
.auth-ajax-message.alert-host>.alert{margin:0}
@media(max-width:560px){.auth-page{padding:18px 0}.auth-page .loginbox{padding:28px 22px!important;border-radius:22px!important}.auth-background span:nth-child(1){width:300px;height:300px}.auth-background span:nth-child(2){width:360px;height:360px}}


/* Device role editor — corrected layout */
.device-role-panel{
  display:block;
  padding:0 16px 16px;
}
.device-role-heading{
  margin:0 0 10px;
  font-size:13px;
  font-weight:800;
  color:#31283f;
}
.device-role-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.device-role-option{
  display:flex;
  align-items:flex-start;
  gap:11px;
  min-height:86px;
  padding:15px 16px;
  border:1px solid #e5e0ee;
  border-radius:16px;
  background:#fff;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease;
}
.device-role-option:has(input:checked){
  border-color:#8b5cf6;
  background:#f6f1ff;
}
.device-role-option input{
  margin-top:3px;
  flex:0 0 auto;
}
.device-role-option span{
  min-width:0;
}
.device-role-option strong,
.device-role-option small{
  display:block;
}
.device-role-option strong{
  font-size:14px;
  color:#30273d;
}
.device-role-option small{
  margin-top:4px;
  font-size:11px;
  line-height:1.45;
  color:var(--muted);
}
.device-role-option:has(input:disabled){
  opacity:.72;
  cursor:not-allowed;
}
.device-role-note{
  display:block;
  margin-top:9px;
  font-size:11px;
  color:var(--muted);
}
.device-access-user.is-owner .device-access-user-head{
  padding-bottom:14px;
}
@media(max-width:700px){
  .device-role-options{grid-template-columns:1fr}
  .device-role-panel{padding:0 12px 12px}
}


/* Cards inline editor — production layout reset */
.cards-inline-section{
  overflow:visible;
}
.cards-inline-section .section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.cards-inline-section .section-head .btn-main{
  flex:0 0 auto;
  white-space:nowrap;
}
.cards-table-grid{
  display:grid !important;
  grid-template-columns:minmax(220px,1.15fr) minmax(260px,1fr) minmax(280px,1.15fr) 112px !important;
  align-items:center;
  gap:20px;
}
.data-head.cards-table-grid{
  padding-left:24px;
  padding-right:24px;
}
.card-inline-editor{
  position:relative;
  padding:18px 24px !important;
  background:#fbfaff !important;
  border-top:1px solid #eeeaf5;
  border-bottom:1px solid #eeeaf5;
  border-left:0 !important;
  border-right:0 !important;
  border-radius:0 !important;
}
.card-inline-editor[hidden]{display:none !important}
.card-inline-editor>div{
  min-width:0;
}
.card-inline-editor .form-control,
.card-inline-editor .form-select,
.card-inline-editor .device-picker-toggle{
  width:100%;
  min-width:0;
  min-height:48px;
  box-sizing:border-box;
  border:1px solid #ded9ea;
  border-radius:14px;
  background:#fff;
  color:#2f2839;
  font-size:14px;
  box-shadow:none !important;
}
.card-inline-editor .form-control,
.card-inline-editor .form-select{
  padding:0 15px;
}
.card-inline-editor .form-select{
  appearance:auto;
}
.card-scan-control{
  width:100%;
  min-width:0;
}
.card-scan-launch,
.card-scan-result{
  display:grid;
  grid-template-columns:minmax(0,1fr) 48px;
  align-items:center;
  gap:10px;
  width:100%;
}
.card-scan-launch .icon-btn,
.card-scan-result .icon-btn{
  width:48px;
  height:48px;
  min-width:48px;
  border-radius:14px;
}
.device-multi-select{
  position:relative;
  width:100%;
  min-width:0;
}
.device-picker-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 15px;
  text-align:left;
  font-weight:650;
  cursor:pointer;
}
.device-picker-toggle span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.device-picker-menu{
  position:absolute;
  z-index:80;
  top:calc(100% + 8px);
  left:0;
  right:0;
  max-height:240px;
  overflow:auto;
  padding:8px;
  background:#fff;
  border:1px solid #ded9ea;
  border-radius:14px;
  box-shadow:0 16px 40px rgba(42,31,76,.14);
}
.device-picker-option{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 11px;
  border-radius:10px;
  cursor:pointer;
}
.device-picker-option:hover{background:#f5f1ff}
.card-inline-editor .actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  min-width:104px;
}
.card-inline-editor .actions .icon-btn{
  width:46px;
  height:46px;
  min-width:46px;
  border-radius:14px;
}
.card-inline-note{
  grid-column:1/-1;
  margin:0 !important;
}
@media(max-width:1180px){
  .cards-table-grid{
    grid-template-columns:minmax(190px,1fr) minmax(230px,1fr) minmax(230px,1fr) 104px !important;
    gap:14px;
  }
}
@media(max-width:900px){
  .data-head.cards-table-grid{display:none !important}
  .cards-table-grid{
    grid-template-columns:1fr !important;
    gap:12px;
  }
  .card-inline-editor{
    margin:12px 16px;
    padding:16px !important;
    border:1px solid #e7e1f3 !important;
    border-radius:18px !important;
  }
  .card-inline-editor .actions{
    justify-content:flex-end;
  }
}

/* Final device-role layout override */
.device-role-panel{
  display:block;
  padding:0 16px 16px;
}
.device-role-heading{
  margin:0 0 10px;
  font-size:13px;
  font-weight:800;
  color:#31283f;
}
.device-role-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.device-role-option{
  display:flex;
  align-items:flex-start;
  gap:11px;
  min-height:86px;
  padding:15px 16px;
  border:1px solid #e5e0ee;
  border-radius:16px;
  background:#fff;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease;
}
.device-role-option:has(input:checked){
  border-color:#8b5cf6;
  background:#f6f1ff;
}
.device-role-option input{
  margin-top:3px;
  flex:0 0 auto;
}
.device-role-option span{min-width:0}
.device-role-option strong,
.device-role-option small{display:block}
.device-role-option strong{font-size:14px;color:#30273d}
.device-role-option small{margin-top:4px;font-size:11px;line-height:1.45;color:var(--muted)}
.device-role-option:has(input:disabled){opacity:.72;cursor:not-allowed}
.device-role-note{display:block;margin-top:9px;font-size:11px;color:var(--muted)}
.device-access-user.is-owner .device-access-user-head{padding-bottom:14px}
@media(max-width:700px){
  .device-role-options{grid-template-columns:1fr}
  .device-role-panel{padding:0 12px 12px}
}


/* Final fixes: card scan picker and device role selector */
.device-single-select{
  position:relative;
  width:100%;
  min-width:0;
}
.device-single-select .device-picker-toggle{
  width:100%;
  height:48px;
  min-height:48px;
  border:1px solid #ded9ea;
  border-radius:14px;
  background:#fff;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#312a43;
  font-size:14px;
  font-weight:650;
  text-align:left;
}
.device-single-select .device-picker-toggle:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.device-picker-option-button{
  width:100%;
  border:0;
  background:transparent;
  color:#312a43;
  text-align:left;
}
.device-picker-option-button.is-selected{
  background:#f1eaff;
  color:#5c2bd9;
}
.card-scan-launch{
  grid-template-columns:minmax(0,1fr) 48px !important;
}
.card-scan-launch > .device-single-select{
  min-width:0;
}
.device-access-user .device-role-panel[hidden]{
  display:none !important;
}
.device-access-user .device-role-panel{
  padding:0 16px 16px;
}
.device-access-user .device-role-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  width:100%;
}
.device-access-user .device-role-option{
  width:100%;
  min-width:0;
}
@media(max-width:700px){
  .device-access-user .device-role-options{grid-template-columns:1fr}
}


/* Device state icons inside card dropdowns */
.device-picker-option .device-option-content{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.device-picker-option .device-option-name{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.device-picker-option .device-signal{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 28px;
  width:28px;
  height:28px;
  border-radius:9px;
  font-size:14px;
}
.device-picker-option .device-signal.is-online{
  color:#14804a;
  background:#e8f7ef;
}
.device-picker-option .device-signal.is-offline{
  color:#c92c48;
  background:#fff0f3;
}
.device-picker-option-button{
  padding:9px 10px;
}


/* RFID unavailable state inside the UID column */
.card-scan-unavailable{
  min-height:48px;
  width:100%;
  display:flex;
  align-items:center;
  gap:11px;
  padding:0 14px;
  border:1px solid #f0d9a6;
  border-radius:14px;
  background:#fff9ea;
  color:#9a6400;
  font-size:13px;
  font-weight:700;
  line-height:1.35;
}
.card-scan-unavailable i{
  flex:0 0 auto;
  font-size:17px;
  color:#d38a00;
}
.card-scan-unavailable span{min-width:0}


/* Final button alignment and RFID scan icon */
.device-settings-modal .device-modal-footer-actions > .btn,
.device-settings-modal .device-modal-footer-actions > .btn-main,
.device-settings-modal .device-modal-footer-actions > button {
  min-height: 46px !important;
  height: 46px;
  padding: 0 18px !important;
  border-radius: 14px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
[data-card-scan] .bi-upc-scan {
  font-size: 17px;
  line-height: 1;
}

/* Privacy-safe user assignment in device editor */
.device-user-add-card{
  margin:0 0 20px;
  padding:16px;
  border:1px solid #e6e0ef;
  border-radius:16px;
  background:#faf8ff;
}
.device-user-add-heading{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.device-user-add-heading > div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.device-user-add-heading small{color:#786f88}
.device-user-add-icon{
  width:40px;
  height:40px;
  flex:0 0 40px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eee7ff;
  color:#6736d7;
}
.device-user-add-fields{
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  gap:12px;
}
.device-user-add-fields .form-control,
.device-user-add-fields .form-select{
  min-height:46px;
  border-radius:14px;
}
@media(max-width:700px){
  .device-user-add-fields{grid-template-columns:1fr}
}

/* Device access editor — final production layout */
.device-access-modal .modal-content{
  border:0;
  border-radius:28px;
  overflow:hidden;
}
.device-access-modal .modal-header{
  padding:28px 30px 18px;
  border-bottom:0;
}
.device-access-modal .modal-title{font-size:22px;color:#26213a}
.device-access-modal .device-access-subtitle{
  margin-top:7px;
  font-size:13px;
  line-height:1.5;
}
.device-access-modal .modal-body{padding:18px 30px 26px}
.device-access-modal .modal-footer{
  padding:18px 30px 26px;
  border-top:0;
  gap:10px;
}
.device-access-modal .modal-footer .btn{
  min-height:46px;
  padding:0 20px;
  border-radius:14px!important;
}
.device-user-add-card{
  margin:0 0 24px;
  padding:18px;
  border:1px solid #e3dcf0;
  border-radius:20px;
  background:linear-gradient(180deg,#fcfbff 0%,#f8f5ff 100%);
}
.device-user-add-heading{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:17px;
}
.device-user-add-heading > div{display:flex;flex-direction:column;gap:3px;min-width:0}
.device-user-add-heading strong{font-size:15px;color:#29223a}
.device-user-add-heading small{font-size:12px;line-height:1.4;color:#7b7389}
.device-user-add-icon{
  width:42px;height:42px;flex:0 0 42px;border-radius:13px;
  display:grid;place-items:center;background:#eee7ff;color:#6034d9;font-size:17px;
}
.device-user-add-fields{
  display:grid;
  grid-template-columns:minmax(280px,1.15fr) minmax(360px,1fr);
  gap:16px;
  align-items:start;
}
.device-user-add-email,.device-user-add-role{margin:0;min-width:0}
.device-user-add-email>span,.device-user-add-role>legend{
  display:block;margin:0 0 8px;padding:0;font-size:11px;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;color:#746b82;
}
.device-user-add-email .form-control{
  width:100%;height:50px;border:1px solid #ded8e8;border-radius:15px;
  padding:0 15px;background:#fff;box-shadow:none!important;
}
.device-user-add-email .form-control:focus{border-color:#a989ff}
.device-user-add-role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.device-user-add-role-option{position:relative;margin:0;cursor:pointer}
.device-user-add-role-option>input{position:absolute;opacity:0;pointer-events:none}
.device-user-add-role-option>span{
  min-height:50px;padding:8px 11px;border:1px solid #ded8e8;border-radius:15px;
  background:#fff;display:flex;align-items:center;gap:9px;transition:border-color .15s,background .15s;
}
.device-user-add-role-option>span>i{
  width:31px;height:31px;flex:0 0 31px;border-radius:9px;display:grid;place-items:center;
  background:#f0ebff;color:#6840d7;
}
.device-user-add-role-option strong,.device-user-add-role-option small{display:block}
.device-user-add-role-option strong{font-size:11.5px;color:#302842}
.device-user-add-role-option small{margin-top:1px;font-size:9.5px;line-height:1.25;color:#81798d}
.device-user-add-role-option>input:checked+span{border-color:#9c78ff;background:#f5f0ff}
.device-user-add-role-option>input:focus-visible+span{outline:3px solid rgba(112,70,224,.18);outline-offset:2px}
.device-access-heading{
  align-items:center;margin:2px 0 12px;padding-top:2px;
}
.device-access-heading strong{font-size:14px;color:#29223a}
.device-access-heading small{font-size:11.5px;line-height:1.4}
.device-access-list{gap:12px;padding-right:2px}
.device-access-user{border-radius:18px}
.device-access-user-head{padding:15px 17px}
.device-access-identity{gap:12px}
.device-access-identity .form-check-input{margin:0;flex:0 0 auto}
.device-access-avatar{width:42px;height:42px;border-radius:13px}
.owner-badge{margin-left:12px;padding:8px 12px}
@media(max-width:900px){
  .device-user-add-fields{grid-template-columns:1fr}
}
@media(max-width:600px){
  .device-access-modal .modal-header{padding:22px 18px 14px}
  .device-access-modal .modal-body{padding:14px 18px 20px}
  .device-access-modal .modal-footer{padding:14px 18px 20px}
  .device-user-add-card{padding:15px;border-radius:17px}
  .device-user-add-role-options{grid-template-columns:1fr}
}
