:root{
  --bg:#f5f5f7;
  --surface:#ffffff;
  --surface-2:#fafafa;
  --surface-3:#f0f2f5;
  --text:#1d1d1f;
  --muted:#6e6e73;
  --subtle:#8e8e93;
  --line:#e4e6ea;
  --line-strong:#d7d9de;
  --brand-accent:#0071e3;
  --accent-soft:color-mix(in srgb,var(--brand-accent) 9%,white);
  --accent-line:color-mix(in srgb,var(--brand-accent) 25%,white);
  --good:#248a3d;
  --good-soft:#eef8f1;
  --warn:#9a6700;
  --warn-soft:#fff8e6;
  --bad:#c62828;
  --bad-soft:#fff0f0;
  --shadow:0 10px 32px rgba(15,23,42,.055);
  --shadow-pop:0 18px 55px rgba(15,23,42,.14);
  --radius:14px;
  --radius-sm:10px;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;min-width:320px;font:13px/1.5 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
body[data-theme="soft_gray"]{--bg:#f1f3f5;--surface:#fbfbfc;--surface-2:#f6f7f8}
body[data-theme="clean_white"]{--bg:#fff;--surface:#fff;--surface-2:#fbfbfb;--shadow:0 8px 24px rgba(15,23,42,.035)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
code{padding:2px 5px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);font-size:11px;color:#46464a}

/* Header / top navigation */
.app-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);border-bottom:1px solid rgba(225,227,231,.9);backdrop-filter:saturate(180%) blur(18px)}
.header-inner{width:min(1480px,calc(100% - 36px));height:64px;margin:0 auto;display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:9px;min-width:max-content}
.brand-logo{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;overflow:hidden;background:var(--brand-accent);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--brand-accent) 20%,transparent)}
.brand-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.brand-logo b{font-size:14px;font-weight:750}
.brand-copy{display:grid;line-height:1.15}.brand-copy strong{font-size:13px;font-weight:720}.brand-copy small{font-size:9px;color:var(--muted);margin-top:3px}
.top-nav{flex:1;display:flex;align-items:center;justify-content:center;gap:2px;min-width:0}
.nav-menu{position:relative}.nav-menu>summary{list-style:none}.nav-menu>summary::-webkit-details-marker{display:none}
.nav-trigger{display:flex;align-items:center;gap:3px;padding:7px 9px;border-radius:8px;color:#4b4b50;font-size:11.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:.15s ease}
.nav-trigger .ui-icon{width:12px;height:12px;transition:transform .15s}.nav-menu[open] .nav-trigger .ui-icon{transform:rotate(90deg)}
.nav-trigger:hover,.nav-trigger.active,.nav-menu[open] .nav-trigger{background:var(--surface-3);color:var(--text)}
.nav-trigger.active:after{content:"";width:4px;height:4px;border-radius:50%;background:var(--brand-accent);margin-left:2px}
.nav-popover{position:absolute;left:50%;top:calc(100% + 12px);transform:translateX(-50%);width:270px;padding:7px;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-pop)}
.nav-popover:before{content:"";position:absolute;top:-6px;left:50%;width:10px;height:10px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:translateX(-50%) rotate(45deg)}
.nav-item{position:relative;display:grid;grid-template-columns:30px 1fr 14px;gap:9px;align-items:center;padding:8px;border-radius:9px;transition:.12s ease}
.nav-item:hover,.nav-item.active{background:var(--surface-2)}.nav-item.active{color:var(--brand-accent)}
.nav-icon{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;background:#fff}.nav-icon .ui-icon{width:15px;height:15px}
.nav-item b{display:block;font-size:11.5px;font-weight:650}.nav-item small{display:block;color:var(--muted);font-size:9px;margin-top:1px}.nav-chev{width:13px;height:13px;color:var(--subtle)}
.header-actions{display:flex;align-items:center;gap:9px;margin-left:auto}.system-state{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.system-state i{width:6px;height:6px;border-radius:50%;background:#34c759;box-shadow:0 0 0 3px #eaf8ed}
.user-menu{position:relative}.user-menu>summary{list-style:none}.user-menu>summary::-webkit-details-marker{display:none}.user-trigger{display:flex;align-items:center;gap:7px;padding:4px 6px 4px 4px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.avatar{width:28px;height:28px;border-radius:8px;background:var(--accent-soft);color:var(--brand-accent);display:grid;place-items:center;font-weight:750}.user-text{display:grid;line-height:1.1;max-width:135px}.user-text b{font-size:10.5px;overflow:hidden;text-overflow:ellipsis}.user-text small{font-size:8.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.user-trigger>.ui-icon{width:12px;height:12px;color:var(--subtle)}
.user-popover{position:absolute;right:0;top:calc(100% + 10px);width:205px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-pop)}.user-popover a,.user-popover button{width:100%;display:flex;align-items:center;gap:9px;border:0;background:transparent;padding:9px;border-radius:8px;text-align:left;color:var(--text);font-size:11px}.user-popover a:hover,.user-popover button:hover{background:var(--surface-2)}.user-popover .ui-icon{width:15px;height:15px;color:var(--muted)}

/* Page shell */
.app-main{width:min(1480px,calc(100% - 36px));margin:0 auto;padding:22px 0 28px;min-height:calc(100vh - 64px)}
.auth-main{width:100%;min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--brand-accent) 6%,white),#f7f7f8 42%)}
.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 18px;padding:0 2px}.page-header h1{margin:2px 0 0;font-size:21px;letter-spacing:-.025em;font-weight:720}.page-host{font-size:9px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.page-context{font-size:10px;color:var(--muted);padding:5px 8px;border:1px solid var(--line-strong);border-radius:8px;background:rgba(255,255,255,.5)}
.page-intro,.integration-detail-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px}.page-intro h2,.integration-detail-head h2{font-size:20px;letter-spacing:-.025em;margin:2px 0 3px}.page-intro p,.integration-detail-head p{margin:0;color:var(--muted);max-width:820px;font-size:11.5px}.compact-intro{padding:3px 2px 2px}.eyebrow{font-size:9px;font-weight:700;color:var(--brand-accent);letter-spacing:.11em;text-transform:uppercase}.page-actions{display:flex;align-items:center;gap:7px}
.page-footer{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding:16px 2px 0;border-top:1px solid var(--line);color:var(--subtle);font-size:9px}

/* Layout */
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-9{grid-column:span 9}.span-12{grid-column:span 12}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:15px;box-shadow:var(--shadow)}.card h3{margin:0 0 10px;font-size:13px;font-weight:690}.card p{font-size:11.5px}.dashed-card{border-style:solid;box-shadow:none;background:color-mix(in srgb,var(--surface) 86%,var(--bg))}.module-section{margin:18px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:0 0 9px}.section-head h3{margin:0 0 2px;font-size:13px}.section-head span{display:block;color:var(--muted);font-size:9.5px}.section-head>a{flex:0 0 auto}
.metric{border-style:solid;box-shadow:none}.metric small{color:var(--muted);font-size:9.5px}.metric strong{display:block;font-size:23px;letter-spacing:-.03em;margin:4px 0 1px}.metric em{font-style:normal;color:var(--brand-accent);font-size:9px}

/* Controls */
.btn{appearance:none;border:1px solid var(--brand-accent);background:var(--brand-accent);color:#fff;min-height:32px;padding:6px 10px;border-radius:9px;font-weight:650;font-size:10.5px;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:.15s ease;box-shadow:0 3px 8px color-mix(in srgb,var(--brand-accent) 12%,transparent)}.btn:hover{filter:brightness(.97);transform:translateY(-1px)}.btn .ui-icon{width:14px;height:14px}.btn.secondary{border-color:var(--line-strong);background:#fff;color:#36363b;box-shadow:none}.btn.secondary:hover{background:var(--surface-2);border-color:#c7c9cf}.btn.danger{border-color:#f2c8c8;background:var(--bad-soft);color:var(--bad);box-shadow:none}.btn.compact,.compact{min-height:27px;padding:4px 8px;font-size:9.5px}
.icon-btn{appearance:none;width:29px;height:29px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:#5b5b61;display:grid;place-items:center;transition:.12s ease}.icon-btn:hover{background:var(--surface-2);border-color:var(--line-strong);color:var(--text)}.icon-btn.primary{color:var(--brand-accent);border-color:var(--accent-line);background:var(--accent-soft)}.icon-btn.danger{color:var(--bad);border-color:#f1d0d0;background:#fff}.icon-btn .ui-icon{width:14px;height:14px}.row-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.inline{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.spread{justify-content:space-between}.text-link{color:var(--brand-accent);font-weight:650;border-bottom:1px solid var(--accent-line)}
.ghost{border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:9px;padding:7px 10px}.soft-label,.mini-pill{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:9px;color:#55555a;white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:#f5f5f6;color:#616166;font-size:9px;font-weight:650;white-space:nowrap}.badge.good{color:var(--good);border-color:#cfe8d5;background:var(--good-soft)}.badge.warn{color:var(--warn);border-color:#eee0b8;background:var(--warn-soft)}.badge.bad{color:var(--bad);border-color:#f0cccc;background:var(--bad-soft)}

.form{display:grid;gap:10px}.form-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-2 .full,.full{grid-column:1/-1}.field{display:grid;gap:4px}.field label{font-size:9.5px;font-weight:650;color:#5d5d62}.field-help{font-size:9px;color:var(--muted)}
input,select,textarea{width:100%;min-height:34px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--text);padding:7px 9px;outline:none;font-size:11px;transition:.14s ease}textarea{min-height:78px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px var(--accent-soft)}input::placeholder,textarea::placeholder{color:#aaaab0}input[type="color"]{padding:3px;height:34px;min-height:34px;width:46px}.color-field{display:flex;gap:7px}.color-field input[data-color-text]{flex:1}.tenant-switch{display:flex;align-items:center;gap:7px}.tenant-switch label{font-size:9.5px;color:var(--muted)}.tenant-switch select{width:auto;min-width:190px}.switch-row{display:flex!important;align-items:center;gap:8px!important;padding:8px 10px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface-2)}.switch-row input{width:15px;min-height:15px;height:15px}.switch-row span{font-size:10.5px;color:var(--text)}
.card hr{border:0;border-top:1px solid var(--line);margin:14px 0}

/* Tables */
.table-wrap{overflow:auto;border-radius:10px}.table{width:100%;border-collapse:separate;border-spacing:0}.table th{padding:8px 9px;text-align:left;color:var(--muted);font-size:8.5px;text-transform:uppercase;letter-spacing:.075em;font-weight:700;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:9px;border-bottom:1px solid #eff0f2;font-size:10.5px;vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:#fbfbfc}.table b{font-weight:650}.block{display:block}.muted{color:var(--muted)}.truncate{max-width:390px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Devices */
.device-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.device-card{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:12px;border-radius:12px}.device-card-icon,.device-hero-icon{display:grid;place-items:center;background:var(--accent-soft);color:var(--brand-accent);border:1px solid var(--accent-line)}.device-card-icon{width:38px;height:38px;border-radius:10px}.device-card-icon .ui-icon{width:18px;height:18px}.device-card-main b{display:block;font-size:11.5px}.device-card-main small{display:block;font-size:9px;color:var(--muted);margin-top:2px}.device-facts{display:flex;gap:14px;margin-top:7px;color:var(--muted);font-size:8.5px}.device-facts b{display:inline;font-size:8.5px;color:#58585d}.device-identity{display:flex;align-items:center;gap:8px;min-width:210px}.device-identity b{display:block}.device-identity small{display:block;color:var(--muted);font-size:8.5px;margin-top:2px}.mini-icon{width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:#68686e}.mini-icon.large{width:34px;height:34px}.mini-icon .ui-icon{width:14px;height:14px}.master-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.master-card{padding:12px;border-radius:12px}.master-card-head{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;margin-bottom:10px}.master-card-head b{display:block;font-size:11px}.master-card-head small{display:block;color:var(--muted);font-size:8.5px}.device-detail-card{text-align:center}.device-hero-icon{width:54px;height:54px;border-radius:15px;margin:3px auto 10px}.device-hero-icon .ui-icon{width:25px;height:25px}.device-detail-card h3{margin-bottom:1px}.device-detail-card>p{margin-top:0}.detail-list{margin:13px 0;text-align:left}.detail-list>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}.detail-list>div:last-child{border-bottom:0}.detail-list dt{font-size:9px;color:var(--muted)}.detail-list dd{margin:0;font-size:9.5px;text-align:right;max-width:58%;word-break:break-all}

/* Branding/settings */
.branding-preview{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line-strong);border-radius:11px;background:var(--surface-2)}.logo-preview{width:43px;height:43px;border-radius:11px;display:grid;place-items:center;overflow:hidden;background:#fff;border:1px solid var(--line);color:var(--brand-accent);font-weight:760}.logo-preview img{width:100%;height:100%;object-fit:contain}.branding-preview b{display:block}.branding-preview small{display:block;color:var(--muted);font-size:9px}.mini-feature{display:flex;gap:9px;padding:9px 0;border-bottom:1px solid var(--line)}.mini-feature:last-child{border-bottom:0}.mini-feature>.ui-icon{width:18px;height:18px;color:var(--brand-accent);flex:0 0 auto}.mini-feature b{display:block;font-size:10.5px}.mini-feature span{display:block;color:var(--muted);font-size:9px;margin-top:2px}

/* Empty / callouts */
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:22px;text-align:center;color:var(--muted)}.empty-state b{color:var(--text);font-size:11px}.empty-state span{font-size:9.5px}.empty-icon{width:26px;height:26px;color:var(--subtle)}.empty-page{max-width:640px;margin:40px auto;text-align:center;padding:36px}.empty-page h2{font-size:18px;margin:10px 0 4px}.empty-page p{color:var(--muted);max-width:480px;margin:0 auto 16px}.empty-hero{width:58px;height:58px;border-radius:16px;background:var(--accent-soft);color:var(--brand-accent);display:grid;place-items:center;margin:auto}.empty-hero .ui-icon{width:28px;height:28px}.callout,.notice{padding:10px 11px;border:1px solid var(--accent-line);border-radius:10px;background:var(--accent-soft);color:#414147;font-size:10px}

/* TV content */
.content-cards{display:grid;gap:7px}.content-card{display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:10px}.content-card b{display:block;font-size:10.5px;margin-top:3px}.content-card small{display:block;color:var(--muted);font-size:8.5px}.tv-admin-hero,.finance-hero{padding:18px;border:1px solid var(--line-strong);border-radius:var(--radius);background:linear-gradient(145deg,#fff,var(--surface-2))}.tv-mini{display:flex;gap:8px;flex-wrap:wrap}

/* Integrations / channels */
.integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.integration-card{position:relative;display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:.15s ease}.integration-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.integration-card:before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--brand,#6b7280)}.brand-tile{--brand:#6870e8;width:37px;height:37px;flex:0 0 37px;border-radius:9px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--brand) 22%,white);background:color-mix(in srgb,var(--brand) 7%,white);color:var(--brand);font-weight:750}.brand-tile img{width:21px;height:21px;object-fit:contain;filter:none}.brand-tile.lg{width:48px;height:48px;flex-basis:48px}.brand-tile.lg img{width:27px;height:27px}.integration-main{min-width:0;flex:1}.integration-title{display:flex;justify-content:space-between;gap:7px;align-items:center}.integration-main>small{display:block;color:#65656b;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.integration-main p{font-size:9px;color:var(--muted);margin:7px 0}.meta-row{display:flex;justify-content:space-between;gap:6px;font-size:8px;color:var(--subtle)}.chev{color:var(--subtle);font-size:18px}.integration-detail-head{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.detail-status{margin-left:auto;display:flex;align-items:center;gap:6px}.chip-list{display:flex;flex-wrap:wrap;gap:5px}.chip-list span{padding:4px 6px;border:1px solid var(--line);border-radius:7px;background:var(--surface-2);font-size:8.5px}
.channel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.channel-card{display:flex;flex-direction:column;gap:9px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;min-height:160px}.channel-logo{display:flex;justify-content:space-between;align-items:center}.channel-copy h3{margin:0;font-size:11px}.channel-copy small{font-size:8.5px;color:var(--muted)}.channel-copy p{font-size:9px;color:var(--muted);flex:1}.channel-actions{display:flex;align-items:center;gap:6px;margin-top:auto}.sync-orbit{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px}.sync-orbit i{width:5px;height:5px;border-radius:50%;background:var(--brand-accent)}

/* Misc existing modules */
.profile-grid,.report-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.profile-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.profile-icon{width:34px;height:34px;border-radius:9px;background:var(--surface-2);display:grid;place-items:center}.settings-list{display:grid}.settings-list>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.settings-list>div:last-child{border-bottom:0}.settings-list span{color:var(--muted);font-size:9.5px}.settings-list b{font-size:10px}.req-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.req-note{padding:8px;border:1px solid var(--line);border-radius:9px}.danger-hero{border-color:#f0cccc;background:var(--bad-soft)}.danger-button{background:var(--bad);color:#fff}.alarm-list{display:grid;gap:7px}.alarm{padding:9px;border:1px solid var(--line);border-radius:9px}.device-dot{width:7px;height:7px;border-radius:50%;background:var(--good)}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.success{color:var(--good)}.token,.debug-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all}.check{color:var(--good)}.progress{height:4px;background:var(--surface-3);border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:var(--brand-accent)}

/* Login */
.auth-card{width:min(390px,94vw);padding:24px;border-radius:18px}.auth-card h1{margin:0 0 4px;font-size:21px}.auth-card p{margin:0 0 18px;color:var(--muted);font-size:10.5px}

/* Toast */
.toast{position:fixed;right:18px;top:78px;z-index:80;width:min(380px,calc(100vw - 36px));display:grid;grid-template-columns:32px 1fr 22px;gap:9px;align-items:start;padding:11px;background:rgba(255,255,255,.98);border:1px solid #dce9df;border-radius:12px;box-shadow:var(--shadow-pop);animation:toastin .2s ease}.toast-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--good-soft);color:var(--good)}.toast-icon .ui-icon{width:15px;height:15px}.toast b{font-size:10.5px}.toast p{margin:2px 0 0;color:var(--muted);font-size:9.5px}.toast button{border:0;background:transparent;color:var(--subtle);font-size:18px;line-height:1}@keyframes toastin{from{transform:translateY(-5px);opacity:0}to{transform:none;opacity:1}}

/* Confirm modal */
.confirm-dialog{border:0;padding:0;border-radius:16px;background:transparent;max-width:none}.confirm-dialog::backdrop{background:rgba(20,20,24,.28);backdrop-filter:blur(3px)}.confirm-card{width:min(410px,calc(100vw - 32px));padding:18px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.18)}.confirm-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--warn-soft);color:var(--warn);margin-bottom:10px}.confirm-icon .ui-icon{width:19px;height:19px}.confirm-card h3{margin:0 0 4px;font-size:15px}.confirm-card p{margin:0;color:var(--muted);font-size:10.5px}.confirm-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:16px}

.ui-icon{width:16px;height:16px;display:inline-block;vertical-align:-3px;flex:0 0 auto}

@media(max-width:1180px){.brand-copy small,.system-state span,.user-text{display:none}.top-nav{justify-content:flex-start;overflow:auto;padding:0 2px}.nav-trigger{font-size:10.5px}.header-inner{gap:10px}.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.channel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.header-inner,.app-main{width:min(100% - 20px,1480px)}.app-header{position:relative}.header-inner{height:auto;min-height:58px;flex-wrap:wrap;padding:8px 0}.top-nav{order:3;width:100%;justify-content:flex-start}.nav-popover{position:fixed;left:10px;right:10px;top:108px;transform:none;width:auto;max-height:65vh;overflow:auto}.nav-popover:before{display:none}.page-header{margin-top:2px}.grid{grid-template-columns:1fr}.span-3,.span-4,.span-5,.span-6,.span-7,.span-8,.span-9,.span-12{grid-column:1}.form-2{grid-template-columns:1fr}.device-cards,.master-grid,.integration-grid,.channel-grid,.profile-grid,.report-cards{grid-template-columns:1fr}.device-card{grid-template-columns:38px 1fr}.device-card>.btn{grid-column:1/-1}.page-intro,.integration-detail-head{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.table td,.table th{white-space:nowrap}.user-menu{margin-left:auto}}

/* === Mira v0.7 Next Generation Visual System === */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');
:root{--bg:#f5f6f8;--surface:#fff;--surface-2:#f9fafb;--text:#171719;--muted:#73737a;--line:#e8e9ed;--radius:20px;--radius-sm:14px;--shadow:0 12px 40px rgba(20,24,32,.055);--shadow-pop:0 28px 80px rgba(20,24,32,.16)}
body{font-family:Poppins,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);letter-spacing:-.01em}
.app-header{width:100%;border:0;background:rgba(255,255,255,.9);box-shadow:0 1px 0 rgba(20,20,22,.05)}
.header-inner{width:100%;max-width:none;padding:0 clamp(18px,3vw,54px);margin:0;height:68px}
.app-main{width:100%;max-width:none;padding:26px clamp(18px,3vw,54px) 36px}
.page-header{padding:0 0 20px;border-bottom:1px solid #dedfe4;margin-bottom:22px}
.card,.panel,.integration-card,.channel-card,.profile-card,.auth-card{border:0!important;box-shadow:none!important;background:var(--surface);border-radius:var(--radius)}
.card{padding:18px}
.btn{border:0!important;border-radius:12px;min-height:40px;padding:10px 15px;font-weight:600;box-shadow:none!important;display:inline-flex;align-items:center;justify-content:center;gap:7px}
.btn.secondary{background:#f0f1f4;color:#27272a}.btn:hover{transform:translateY(-1px)}
input,select,textarea{border:0!important;background:#f3f4f6!important;border-radius:12px!important;min-height:42px;padding:10px 12px!important;box-shadow:inset 0 0 0 1px transparent!important}
input:focus,select:focus,textarea:focus{outline:none!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-accent) 13%,transparent)!important;background:#fff!important}
.table{border-collapse:separate;border-spacing:0 7px}.table thead th{border:0!important;color:var(--muted);font-size:9px;font-weight:600}.table tbody tr{background:#fff}.table td{border:0!important;background:#fff}.table td:first-child{border-radius:12px 0 0 12px}.table td:last-child{border-radius:0 12px 12px 0}
.nav-popover,.user-popover{border:0!important;border-radius:18px!important;box-shadow:var(--shadow-pop)!important}
.nav-popover:before{border:0!important}.nav-icon{border:0!important;background:#f3f4f6!important;border-radius:10px}
.confirm-card{border:0!important;border-radius:22px!important;padding:22px!important;box-shadow:0 35px 100px rgba(0,0,0,.18)!important}
.confirm-dialog::backdrop{background:rgba(26,26,28,.32);backdrop-filter:blur(10px)}
.dropzone,.upload-zone,[class*="drop-zone"],[class*="upload-zone"]{border:1.5px solid #cfd2d9!important;background:#fafbfc!important;border-radius:18px!important;min-height:150px;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px}

/* Login */
.auth-main{width:100%!important;max-width:none!important;padding:0!important;min-height:100vh;background:#f4f5f7}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);background:#fff}
.login-showcase{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(34px,5vw,76px);background:radial-gradient(circle at 22% 18%,rgba(0,113,227,.14),transparent 30%),linear-gradient(145deg,#f7f8fa 0%,#eef1f5 100%)}
.login-showcase:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(69,75,88,.14);border-radius:50%;right:-180px;bottom:-220px}
.login-brand{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.login-brand-mark{width:42px;height:42px;border-radius:13px;background:var(--brand-accent);color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px}.login-brand b{display:block;font-size:15px}.login-brand small{display:block;color:var(--muted);font-size:9px;margin-top:1px}
.login-copy{max-width:720px;position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:700;letter-spacing:.13em;color:var(--brand-accent);text-transform:uppercase}.login-copy h1{font-size:clamp(34px,4.6vw,72px);line-height:1.06;letter-spacing:-.045em;margin:14px 0 18px;max-width:900px}.login-copy p{font-size:clamp(13px,1.25vw,17px);line-height:1.75;color:#666970;max-width:680px;margin:0}.login-points{display:flex;flex-wrap:wrap;gap:10px;position:relative;z-index:1}.login-points span{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.7);font-size:10px;font-weight:500;backdrop-filter:blur(10px)}
.login-panel{display:grid;place-items:center;padding:32px clamp(28px,5vw,76px);background:#fff}.login-form-wrap{width:min(420px,100%)}.login-form-wrap h2{font-size:30px;letter-spacing:-.035em;margin:10px 0 7px}.login-form-wrap>p{color:var(--muted);font-size:11px;line-height:1.7;margin:0 0 24px}.login-form{gap:14px}.login-form .field label{font-size:9.5px;font-weight:600;margin-bottom:6px}.login-submit{width:100%;min-height:46px;margin-top:3px}.login-note{display:block;margin-top:16px;color:#98999e;font-size:8.5px;line-height:1.6}

/* responsive */
@media(max-width:980px){.login-shell{grid-template-columns:1fr}.login-showcase{min-height:40vh;padding:34px}.login-copy h1{font-size:38px}.login-points{display:none}.login-panel{padding:38px 24px}.top-nav{overflow-x:auto;justify-content:flex-start}.header-inner{padding:0 18px}.app-main{padding:20px 18px 32px}}
@media(max-width:640px){.login-showcase{min-height:34vh;padding:24px}.login-copy h1{font-size:29px;margin:9px 0 10px}.login-copy p{font-size:11px}.login-panel{padding:30px 20px}.login-form-wrap h2{font-size:24px}.brand-copy{display:none}.header-actions .system-state{display:none}.app-main{padding:16px 12px 28px}.card{padding:14px;border-radius:16px}.btn{width:100%}.page-actions{display:grid;grid-template-columns:1fr}.confirm-card{width:calc(100vw - 24px)!important}}


/* ==========================================================================
   MIRA v0.8 — NEXT GENERATION LIGHT UI
   Full-width header, Poppins typography, borderless surfaces, module hubs,
   responsive layouts, dropzones, modern modals and permission controls.
   ========================================================================== */

:root{
  --bg:#f4f5f7;
  --surface:#ffffff;
  --surface-soft:#f8f9fb;
  --surface-muted:#eef1f5;
  --text:#17181b;
  --text-2:#545760;
  --muted:#858a94;
  --line:#e7e9ee;
  --line-dash:#d8dce4;
  --brand-accent:#0071e3;
  --accent-soft:color-mix(in srgb,var(--brand-accent) 8%,white);
  --accent-mid:color-mix(in srgb,var(--brand-accent) 18%,white);
  --good:#1e8e4a;
  --warn:#a66300;
  --bad:#d13b36;
  --shadow-soft:0 8px 28px rgba(26,31,44,.055);
  --shadow-hover:0 18px 46px rgba(26,31,44,.10);
  --shadow-modal:0 28px 90px rgba(26,31,44,.18);
  --r-xl:24px;
  --r-lg:20px;
  --r-md:15px;
  --r-sm:11px;
  --header-h:70px;
  --content-max:1680px;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{
  margin:0;
  min-width:320px;
  font-family:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:13px;
  line-height:1.55;
  letter-spacing:-.006em;
  color:var(--text);
  background:
    radial-gradient(circle at 10% -10%,rgba(255,255,255,.95),transparent 28%),
    linear-gradient(180deg,#f7f8fa 0,#f3f4f6 100%);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
button,input,select,textarea{font-family:inherit}
a{text-decoration:none;color:inherit}

/* Header */
.app-header{
  position:sticky;
  top:0;
  z-index:100;
  width:100%;
  min-height:var(--header-h);
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(24px) saturate(160%);
  -webkit-backdrop-filter:blur(24px) saturate(160%);
  box-shadow:0 1px 0 rgba(23,24,27,.055);
  border:0;
}
.header-bar{
  width:100%;
  min-height:var(--header-h);
  padding:0 clamp(16px,2.1vw,38px);
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
}
.brand{display:flex;align-items:center;gap:10px;min-width:max-content}
.brand-logo{
  width:36px;height:36px;border-radius:12px;display:grid;place-items:center;
  overflow:hidden;color:#fff;background:var(--brand-accent);
  box-shadow:0 7px 20px color-mix(in srgb,var(--brand-accent) 20%,transparent);
}
.brand-logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.brand-logo b{font-size:15px;font-weight:700}
.brand-copy{display:grid;line-height:1.18}
.brand-copy strong{font-size:13px;font-weight:700;letter-spacing:-.02em}
.brand-copy small{font-size:9.5px;color:var(--muted);margin-top:3px;font-weight:500}
.top-nav{
  min-width:0;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:4px;
  overflow-x:auto;
  scrollbar-width:none;
  padding:5px;
}
.top-nav::-webkit-scrollbar{display:none}
.nav-link{
  position:relative;
  display:flex;align-items:center;gap:7px;
  min-height:38px;
  padding:0 12px;
  border-radius:12px;
  color:#545861;
  font-size:11.5px;
  font-weight:600;
  white-space:nowrap;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.nav-link:hover{background:#f1f3f6;color:var(--text)}
.nav-link.active{background:#eceff3;color:var(--text)}
.nav-link.active:after{
  content:"";position:absolute;left:50%;bottom:4px;width:16px;height:2px;border-radius:999px;
  transform:translateX(-50%);background:var(--brand-accent);
}
.nav-link-icon{width:18px;height:18px;display:grid;place-items:center;color:var(--muted)}
.nav-link.active .nav-link-icon{color:var(--brand-accent)}
.nav-link-icon .ui-icon{width:16px;height:16px}
.header-actions{display:flex;align-items:center;gap:10px}
.system-state,.page-live-status,.hub-live{
  display:inline-flex;align-items:center;gap:7px;
  white-space:nowrap;color:#5d626b;font-size:10.5px;font-weight:600;
}
.system-state i,.page-live-status i,.hub-live i{
  width:7px;height:7px;border-radius:50%;background:#28a65a;
  box-shadow:0 0 0 4px rgba(40,166,90,.10);
}
.page-live-status[data-state="loading"] i{background:#f0a128;box-shadow:0 0 0 4px rgba(240,161,40,.1)}
.page-live-status[data-state="error"] i{background:#d13b36;box-shadow:0 0 0 4px rgba(209,59,54,.1)}
.user-menu{position:relative}
.user-menu>summary{list-style:none}.user-menu>summary::-webkit-details-marker{display:none}
.user-trigger{
  min-height:42px;padding:4px 7px 4px 5px;border-radius:14px;
  display:flex;align-items:center;gap:8px;cursor:pointer;transition:background .15s ease;
}
.user-trigger:hover,.user-menu[open] .user-trigger{background:#f0f2f5}
.avatar{
  width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  background:#e9edf2;color:#424750;font-weight:700;font-size:11px;flex:0 0 auto;
}
.user-text{display:grid;min-width:100px;line-height:1.18}
.user-text b{font-size:10.5px;font-weight:650;max-width:150px;overflow:hidden;text-overflow:ellipsis}
.user-text small{font-size:8.5px;color:var(--muted);margin-top:3px;max-width:150px;overflow:hidden;text-overflow:ellipsis}
.user-trigger>.ui-icon{width:12px;color:#8d929c}
.user-popover{
  position:absolute;right:0;top:calc(100% + 10px);width:235px;padding:8px;
  background:rgba(255,255,255,.98);border:0;border-radius:17px;box-shadow:var(--shadow-modal);
}
.user-popover a,.user-popover button{
  width:100%;border:0;background:transparent;display:flex;align-items:center;gap:10px;
  padding:10px 11px;border-radius:11px;color:#3f434a;font-size:11px;text-align:left;
}
.user-popover a:hover,.user-popover button:hover{background:#f3f5f7}
.user-popover .ui-icon{width:15px;height:15px;color:#747983}
.mobile-nav-button{
  display:none;width:38px;height:38px;border:0;border-radius:12px;background:#f1f3f6;color:#4c5057;place-items:center;
}

/* Main */
.app-main{
  width:min(var(--content-max),100%);
  margin:0 auto;
  padding:clamp(20px,2.1vw,36px) clamp(16px,2.3vw,42px) 30px;
}
.page-header{
  display:flex;justify-content:space-between;align-items:flex-end;gap:18px;
  padding:2px 2px clamp(18px,2vw,28px);
}
.page-breadcrumb{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.page-breadcrumb i{width:3px;height:3px;background:#b7bbc3;border-radius:50%}
.page-header h1{margin:5px 0 0;font-size:clamp(24px,2.2vw,34px);line-height:1.12;letter-spacing:-.04em;font-weight:650}
#live-page-content{min-height:360px;transition:opacity .16s ease}
#live-page-content.live-flash{animation:miraLiveFlash .42s ease}
@keyframes miraLiveFlash{0%{opacity:.92}100%{opacity:1}}
.page-footer{
  display:flex;justify-content:space-between;gap:20px;padding:28px 3px 4px;
  color:#a0a4ac;font-size:9.5px;
}

/* Surface system */
.card,.panel,.surface{
  background:rgba(255,255,255,.94);
  border:0!important;
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-soft);
}
.card{padding:clamp(18px,1.7vw,26px)}
.dashed-card{
  border:1.5px solid var(--line-dash)!important;
  background:rgba(255,255,255,.58)!important;
  box-shadow:none!important;
}
.grid{gap:16px}
hr{height:1px;border:0;background:#eceef2;margin:20px 0}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:17px}
.section-head h3{margin:0;font-size:14px;line-height:1.3;letter-spacing:-.02em;font-weight:650}
.section-head span,.section-head small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.page-intro{
  border:0!important;background:transparent!important;box-shadow:none!important;
  padding:2px 2px 20px!important;margin:0!important;
}
.page-intro h2{font-size:clamp(20px,1.9vw,29px);letter-spacing:-.04em}
.page-intro p{max-width:780px;color:var(--text-2);font-size:11px}

/* Buttons */
.btn{
  min-height:38px;
  border:0!important;
  border-radius:12px;
  padding:0 14px;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  background:var(--brand-accent);
  color:#fff;
  font-size:10.5px;
  font-weight:650;
  line-height:1;
  box-shadow:none;
  transition:transform .14s ease,filter .14s ease,background .14s ease;
}
.btn:hover{filter:brightness(.96);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn .ui-icon{width:14px;height:14px}
.btn.secondary{background:#edf0f4;color:#3d424a}
.btn.ghost{background:#f5f6f8;color:#4f545c}
.btn.danger{background:#d9443f;color:#fff}
.btn.good{background:#218c4b;color:#fff}
.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* Forms */
.form,.form-grid{display:grid;gap:14px}
.field{display:grid;gap:6px}
.field label,.field>span{font-size:9.5px;color:#6d727b;font-weight:600}
input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
select,textarea{
  width:100%;
  min-height:42px;
  padding:0 13px;
  border:0!important;
  border-radius:12px;
  outline:0;
  background:#f3f5f7;
  color:var(--text);
  box-shadow:inset 0 0 0 1px transparent;
  transition:background .14s ease,box-shadow .14s ease;
  font-size:11px;
}
textarea{padding-top:11px;min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{
  background:#fff!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-accent) 13%,transparent)!important;
}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8a8f98 50%),linear-gradient(135deg,#8a8f98 50%,transparent 50%);background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}
.inline-form{grid-template-columns:repeat(4,minmax(150px,1fr)) auto;align-items:end}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-grid .span-2{grid-column:span 2}
.color-field{display:grid;grid-template-columns:50px 1fr;gap:8px}
.color-field input[type="color"]{width:50px;height:42px;border:0;background:#f3f5f7;border-radius:12px;padding:5px}

/* Dropzones */
.dropzone{
  min-height:150px;
  border:1.5px solid #cfd4dc!important;
  border-radius:18px;
  background:#f8f9fb;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:24px;cursor:pointer;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.dropzone:hover,.dropzone.dragging{
  border-color:color-mix(in srgb,var(--brand-accent) 55%,#cfd4dc)!important;
  background:var(--accent-soft);transform:translateY(-1px)
}
.dropzone.has-file{background:#f2f8f4;border-color:#9ccdac!important}
.dropzone input[type="file"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.dropzone-icon{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;
  background:#fff;box-shadow:0 6px 18px rgba(32,37,48,.06);color:var(--brand-accent);margin-bottom:11px
}
.dropzone-icon .ui-icon{width:20px;height:20px}
.dropzone b{font-size:11.5px;font-weight:650}
.dropzone span{font-size:9.5px;color:var(--muted);margin-top:4px}

/* Tables */
.table-wrap{width:100%;overflow:auto;border-radius:16px}
.table{width:100%;border-collapse:separate;border-spacing:0;font-size:10.5px}
.table thead th{
  background:#f6f7f9;color:#7b8089;font-size:8.8px;font-weight:650;text-transform:uppercase;letter-spacing:.045em;
  padding:11px 12px;border:0;white-space:nowrap
}
.table thead th:first-child{border-radius:12px 0 0 12px}.table thead th:last-child{border-radius:0 12px 12px 0}
.table tbody td{padding:12px;border:0;border-bottom:1px solid #eff1f4;vertical-align:middle}
.table tbody tr:last-child td{border-bottom:0}
.table tbody tr:hover td{background:#fbfbfc}
.badge{
  border:0!important;border-radius:999px;padding:5px 8px;font-size:8.8px;font-weight:650;background:#edf0f4;color:#636872
}
.badge.good{background:#eaf7ee;color:#237443}.badge.bad{background:#fff0ef;color:#b93d38}.badge.warn{background:#fff6e4;color:#986311}

/* Hub / full page module centers */
.hub-hero{
  min-height:150px;
  margin-bottom:18px;
  padding:clamp(22px,2.3vw,34px);
  border-radius:var(--r-xl);
  background:
    radial-gradient(circle at 90% 15%,color-mix(in srgb,var(--brand-accent) 9%,transparent),transparent 31%),
    linear-gradient(135deg,#fff,#f8f9fb);
  box-shadow:var(--shadow-soft);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.hub-hero.compact{min-height:126px}
.hub-title-row{display:flex;align-items:center;gap:15px;margin-top:8px}
.hub-title-icon{
  width:52px;height:52px;border-radius:17px;display:grid;place-items:center;
  background:var(--accent-soft);color:var(--brand-accent);flex:0 0 auto
}
.hub-title-icon .ui-icon{width:24px;height:24px}
.hub-hero h2{font-size:clamp(24px,2.5vw,38px);font-weight:650;letter-spacing:-.05em;line-height:1.05;margin:0}
.hub-hero p{margin:6px 0 0;color:var(--text-2);font-size:11px;max-width:650px}
.eyebrow{font-size:8.5px!important;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)!important;font-weight:700}
.hub-live{
  padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 5px 18px rgba(32,37,48,.04)
}
.app-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.app-tile{
  min-height:178px;
  padding:19px;
  border:0;
  border-radius:20px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--shadow-soft);
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:15px;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
  overflow:hidden;
  position:relative;
}
.app-tile:before{
  content:"";position:absolute;inset:0;background:linear-gradient(145deg,color-mix(in srgb,var(--brand-accent) 4%,transparent),transparent 42%);opacity:0;transition:opacity .18s
}
.app-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}
.app-tile:hover:before{opacity:1}
.app-tile-icon{
  width:42px;height:42px;border-radius:14px;display:grid;place-items:center;
  background:#f1f3f6;color:#59606a;position:relative;z-index:1
}
.app-tile:hover .app-tile-icon{background:var(--accent-soft);color:var(--brand-accent)}
.app-tile-icon .ui-icon{width:20px;height:20px}
.app-tile-body{display:block;position:relative;z-index:1}
.app-tile-body b{display:block;font-size:13px;font-weight:650;letter-spacing:-.02em}
.app-tile-body small{display:block;margin-top:5px;color:#858a93;font-size:9.5px;line-height:1.55}
.app-tile-meta{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;color:#9aa0a9}
.app-tile-meta em{
  font-style:normal;min-width:28px;height:24px;padding:0 8px;border-radius:999px;
  display:grid;place-items:center;background:#f2f4f6;color:#575d66;font-size:9.5px;font-weight:700
}
.app-tile-meta .ui-icon{width:14px;height:14px}
.app-grid-empty{grid-column:1/-1;min-height:180px}

/* Permissions */
.permission-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:16px;align-items:start;margin:16px 0}
.permission-sidebar{position:sticky;top:calc(var(--header-h) + 18px);padding:15px}
.role-list{display:grid;gap:5px}
.role-choice{
  width:100%;border:0;background:transparent;padding:10px;border-radius:13px;
  display:grid;grid-template-columns:8px 1fr;gap:10px;text-align:left;color:var(--text);align-items:start
}
.role-choice:hover{background:#f5f6f8}.role-choice.active{background:#eef1f5}
.role-dot{width:7px;height:7px;border-radius:50%;background:#c5cad1;margin-top:5px}.role-choice.active .role-dot{background:var(--brand-accent);box-shadow:0 0 0 4px var(--accent-soft)}
.role-choice b{display:block;font-size:10.5px}.role-choice small{display:block;color:var(--muted);font-size:8.5px;margin-top:3px}
.role-panel{display:none}.role-panel.active{display:block}
.permission-head{position:sticky;top:calc(var(--header-h) + 8px);z-index:4;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);padding:4px 0 12px}
.permission-dropzone{
  min-height:92px;margin-bottom:18px;border:1.5px solid #d3d8e0;border-radius:16px;background:#f9fafb;
  display:flex;align-items:center;justify-content:center;padding:18px;color:#7d828c;transition:.15s
}
.permission-dropzone.dragging{background:var(--accent-soft);border-color:var(--brand-accent)}
.permission-drop-copy{display:flex;align-items:center;gap:9px;font-size:9.5px}.permission-drop-copy .ui-icon{width:15px}
.permission-groups{display:grid;gap:17px}
.permission-group{padding-top:2px}
.permission-group-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}
.permission-group-title b{font-size:10px}.permission-group-title span{font-size:8.5px;color:var(--muted)}
.permission-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.permission-pill{
  min-height:58px;padding:9px 10px;border-radius:14px;background:#f5f6f8;
  display:grid;grid-template-columns:25px 1fr;gap:8px;align-items:center;cursor:pointer;transition:.15s;user-select:none
}
.permission-pill:hover{background:#eef1f4}
.permission-pill.selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-mid)}
.permission-pill input{position:absolute;opacity:0;pointer-events:none}
.permission-check{width:25px;height:25px;border-radius:9px;background:#fff;display:grid;place-items:center;color:transparent}
.permission-pill.selected .permission-check{background:var(--brand-accent);color:#fff}
.permission-check .ui-icon{width:13px}
.permission-pill b{display:block;font-size:9.5px;font-weight:600}.permission-pill small{display:block;font-size:7.8px;color:var(--muted);margin-top:2px;word-break:break-all}
.permission-pill.dragging{opacity:.45}
.user-overrides{margin-top:16px}
.user-override-list{display:grid;gap:7px}
.user-override-item{border:0;border-radius:14px;background:#f7f8fa;overflow:hidden}
.user-override-item>summary{
  list-style:none;cursor:pointer;display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:10px 12px
}
.user-override-item>summary::-webkit-details-marker{display:none}
.user-override-item>summary b{display:block;font-size:10.5px}.user-override-item>summary small{display:block;font-size:8.5px;color:var(--muted);margin-top:2px}
.summary-state{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9px}.summary-state .ui-icon{width:13px;transition:transform .15s}
.user-override-item[open] .summary-state .ui-icon{transform:rotate(90deg)}
.user-override-form{padding:4px 12px 12px}
.override-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.override-row{padding:10px;border-radius:12px;background:#fff;display:grid;gap:8px}
.override-row b{font-size:9px}.override-row small{display:block;font-size:7.5px;color:var(--muted)}
.segmented-permission{display:grid;grid-template-columns:repeat(3,1fr);padding:3px;border-radius:10px;background:#f1f3f6}
.segmented-permission label{cursor:pointer}
.segmented-permission input{position:absolute;opacity:0}
.segmented-permission span{display:block;text-align:center;padding:6px 4px;border-radius:8px;font-size:7.7px;color:#757b84}
.segmented-permission label.active span{background:#fff;box-shadow:0 2px 8px rgba(32,37,48,.07);color:#33383f;font-weight:650}
.segmented-permission label:has(input[value="allow"]:checked) span{color:#207442}
.segmented-permission label:has(input[value="deny"]:checked) span{color:#b93d38}
.sticky-form-actions{display:flex;justify-content:flex-end;padding-top:12px}
.permission-create{margin-bottom:16px}

/* Dialogs / modals */
.confirm-dialog{
  width:min(430px,calc(100vw - 28px));padding:0;border:0;border-radius:22px;background:transparent;overflow:visible
}
.confirm-dialog::backdrop{background:rgba(20,24,32,.28);backdrop-filter:blur(6px)}
.confirm-card{
  padding:23px;background:#fff;border-radius:22px;box-shadow:var(--shadow-modal);display:grid;grid-template-columns:44px 1fr;gap:14px
}
.confirm-icon{width:44px;height:44px;border-radius:14px;background:#fff1ef;color:#c74742;display:grid;place-items:center}
.confirm-icon .ui-icon{width:20px}
.confirm-copy h3{margin:4px 0 5px;font-size:15px;letter-spacing:-.03em}.confirm-copy p{margin:0;color:var(--muted);font-size:10px}
.confirm-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.modal-layer{position:fixed;inset:0;z-index:200;background:rgba(23,24,27,.2);backdrop-filter:blur(8px)}

/* Toast */
.toast{
  position:fixed!important;right:20px;top:86px;z-index:170;width:min(360px,calc(100vw - 32px));
  border:0!important;border-radius:17px!important;background:rgba(255,255,255,.96)!important;
  box-shadow:var(--shadow-modal)!important;padding:13px!important;display:grid!important;grid-template-columns:34px 1fr 24px!important;gap:9px!important
}
.toast-icon{width:34px;height:34px;border-radius:11px;background:#eaf7ee;color:#267b46;display:grid;place-items:center}
.toast b{font-size:10px}.toast p{font-size:9px;color:var(--muted);margin:2px 0 0}.toast button{border:0;background:transparent;color:#8e939c;font-size:16px}

/* Login */
.auth-main{width:100%!important;max-width:none!important;padding:0!important;min-height:100dvh}
.login-shell{
  min-height:100dvh;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);
  background:#f4f5f7;
}
.login-showcase{
  min-height:100dvh;
  padding:clamp(32px,5vw,76px);
  display:grid;
  grid-template-rows:auto 1fr auto;
  color:#fff;
  background:
    radial-gradient(circle at 14% 15%,rgba(83,142,255,.38),transparent 27%),
    radial-gradient(circle at 88% 76%,rgba(88,223,199,.18),transparent 30%),
    linear-gradient(145deg,#101722,#182434 55%,#111922);
  overflow:hidden;position:relative
}
.login-showcase:after{
  content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-130px;bottom:-140px
}
.login-brand{display:flex;align-items:center;gap:11px;position:relative;z-index:1}
.login-brand-mark{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#fff;color:#172130;font-weight:700}
.login-brand b{display:block;font-size:13px}.login-brand small{display:block;color:rgba(255,255,255,.55);font-size:9px;margin-top:2px}
.login-copy{align-self:center;max-width:720px;position:relative;z-index:1}
.login-copy .eyebrow{color:rgba(255,255,255,.55)!important}
.login-copy h1{font-size:clamp(38px,5vw,72px);line-height:1.02;letter-spacing:-.06em;margin:14px 0 20px;font-weight:600}
.login-copy p{max-width:590px;font-size:clamp(12px,1.1vw,16px);color:rgba(255,255,255,.64);line-height:1.7}
.login-points{display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}
.login-points span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.08);font-size:9px;color:rgba(255,255,255,.75);backdrop-filter:blur(8px)}
.login-panel{min-height:100dvh;display:grid;place-items:center;padding:clamp(28px,5vw,72px);background:#fff}
.login-form-wrap{width:min(390px,100%)}
.login-form-wrap h2{font-size:30px;letter-spacing:-.045em;margin:9px 0 8px;font-weight:650}
.login-form-wrap>p{color:var(--muted);font-size:10.5px;margin:0 0 24px;line-height:1.65}
.login-form{gap:13px}.login-form .field label{font-size:9px}.login-form input{min-height:48px!important;border-radius:14px!important}
.login-submit{min-height:48px;margin-top:4px;border-radius:14px;font-size:11px}
.login-note{display:block;margin-top:16px;color:#a0a4ac;font-size:8.5px;line-height:1.6}

/* Existing device cards / utility lists get new skin */
.device-card,.alarm,.mini-feature,.branding-preview,.empty-state,.callout{
  border:0!important;border-radius:16px!important
}
.device-card{background:#fff!important;box-shadow:var(--shadow-soft)!important}
.empty-state{background:#f7f8fa;padding:24px;text-align:center}
.callout{background:#f7f8fa!important;color:#656b74!important}
.inline.spread{justify-content:space-between}

/* Responsive */
@media (max-width:1240px){
  .app-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .permission-pills{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .inline-form>.btn{min-height:42px}
}
@media (max-width:980px){
  :root{--header-h:64px}
  .header-bar{grid-template-columns:auto auto 1fr auto;gap:10px;padding:0 14px}
  .mobile-nav-button{display:grid}
  .top-nav{
    display:none;position:absolute;left:12px;right:12px;top:calc(100% + 8px);
    background:rgba(255,255,255,.98);box-shadow:var(--shadow-modal);border-radius:18px;padding:9px;
    grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch
  }
  .top-nav.open{display:grid}
  .nav-link{justify-content:flex-start;min-height:44px;padding:0 11px}
  .user-text,.system-state span{display:none}
  .user-trigger{padding:4px}
  .app-main{padding:20px 15px 24px}
  .app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .permission-layout{grid-template-columns:1fr}
  .permission-sidebar{position:static}
  .role-list{display:flex;overflow-x:auto;padding-bottom:4px}.role-choice{min-width:220px}
  .permission-head{position:static}
  .override-grid{grid-template-columns:1fr}
  .login-shell{grid-template-columns:1fr 420px}
  .login-showcase{padding:36px}
}
@media (max-width:760px){
  .brand-copy small{display:none}
  .header-bar{grid-template-columns:auto auto 1fr auto}
  .page-header{align-items:flex-start}.page-live-status span{display:none}
  .app-grid{gap:10px}
  .app-tile{min-height:155px;padding:15px;border-radius:17px}
  .hub-hero{min-height:auto;padding:20px;border-radius:20px;align-items:flex-start}
  .hub-live{display:none}
  .hub-title-icon{width:45px;height:45px;border-radius:14px}
  .hub-hero h2{font-size:26px}
  .permission-pills{grid-template-columns:1fr}
  .form-grid,.inline-form{grid-template-columns:1fr}
  .form-grid .span-2{grid-column:auto}
  .login-shell{display:block}
  .login-showcase{min-height:46dvh;padding:26px 20px 30px}
  .login-copy{align-self:end;margin-top:50px}
  .login-copy h1{font-size:38px}
  .login-copy p{font-size:11px}
  .login-points{display:none}
  .login-panel{min-height:54dvh;padding:30px 20px}
}
@media (max-width:520px){
  .brand-copy{display:none}
  .header-actions{gap:4px}
  .system-state{display:none}
  .app-main{padding-left:11px;padding-right:11px}
  .page-header{padding-left:4px;padding-right:4px}
  .page-header h1{font-size:25px}
  .app-grid{grid-template-columns:1fr 1fr}
  .app-tile{min-height:145px;padding:13px}
  .app-tile-body small{font-size:8.3px}
  .app-tile-icon{width:38px;height:38px}
  .card{padding:15px;border-radius:17px}
  .confirm-card{grid-template-columns:40px 1fr;padding:18px}
  .confirm-actions{grid-template-columns:1fr}
}
@media (max-width:390px){
  .app-grid{grid-template-columns:1fr}
  .app-tile{min-height:132px}
}
@media (min-width:1800px){
  :root{--content-max:1880px}
  .app-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}

.user-policy-top{display:grid;grid-template-columns:minmax(180px,.5fr) minmax(0,1.5fr);gap:14px;padding:12px 0 16px}
.policy-label{display:block;font-size:8.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:7px}
.switch-pill,.role-pill{cursor:pointer}
.switch-pill input,.role-pill input{position:absolute;opacity:0;pointer-events:none}
.switch-pill>span{
  min-height:38px;padding:0 12px;border-radius:12px;background:#f1f3f6;display:inline-flex;align-items:center;gap:7px;color:#717680
}
.switch-pill input:checked+span{background:#eaf7ee;color:#247545}
.switch-pill .ui-icon{width:14px}
.switch-pill b{font-size:9.5px}
.role-pills{display:flex;flex-wrap:wrap;gap:7px}
.role-pill>span{
  min-height:34px;padding:0 10px;border-radius:11px;background:#f1f3f6;display:inline-flex;align-items:center;gap:6px;color:#70757e
}
.role-pill .ui-icon{width:12px;color:transparent}
.role-pill b{font-size:8.8px;font-weight:600}
.role-pill input:checked+span{background:var(--accent-soft);color:var(--brand-accent);box-shadow:inset 0 0 0 1px var(--accent-mid)}
.role-pill input:checked+span .ui-icon{color:var(--brand-accent)}
.override-divider{height:1px;background:#eceef2;position:relative;margin:2px 0 16px}
.override-divider span{position:absolute;left:10px;top:50%;transform:translateY(-50%);background:#f7f8fa;padding:0 7px;color:var(--muted);font-size:8.3px;font-weight:600}
@media(max-width:760px){.user-policy-top{grid-template-columns:1fr}}

.login-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:28px;max-width:700px}
.login-proof-grid>span{padding:13px 14px;border-radius:15px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px)}
.login-proof-grid b{display:block;font-size:10.5px}.login-proof-grid small{display:block;margin-top:4px;color:rgba(255,255,255,.52);font-size:8.5px;line-height:1.5}
.login-form-heading{margin-bottom:22px}.login-form-heading h2{font-size:30px;letter-spacing:-.045em;margin:9px 0 8px}.login-form-heading p{color:var(--muted);font-size:10.5px;line-height:1.65;margin:0}
.login-security{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:16px;color:#9ca1aa}
.login-security span{width:6px;height:6px;border-radius:50%;background:#2aa45c;box-shadow:0 0 0 4px rgba(42,164,92,.08)}
.login-security small{font-size:8.2px}
@media(max-width:760px){.login-proof-grid{grid-template-columns:1fr 1fr}.login-proof-grid>span:last-child{display:none}}

.dashboard-hero{
  min-height:132px;margin-bottom:14px;padding:clamp(22px,2.2vw,32px);
  border-radius:var(--r-xl);background:linear-gradient(135deg,#fff,#f8f9fb);
  box-shadow:var(--shadow-soft);display:flex;align-items:center;justify-content:space-between;gap:20px
}
.dashboard-hero h2{font-size:clamp(26px,2.6vw,40px);line-height:1.05;letter-spacing:-.055em;margin:7px 0 8px;font-weight:650}
.dashboard-hero p{margin:0;color:var(--text-2);font-size:10.5px}
.dashboard-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:14px}
.metric-card{
  min-height:130px;padding:15px;border-radius:18px;background:#fff;box-shadow:var(--shadow-soft);
  display:grid;align-content:space-between;gap:16px
}
.metric-icon{width:34px;height:34px;border-radius:11px;background:#f1f3f6;color:#646a74;display:grid;place-items:center}
.metric-icon .ui-icon{width:16px;height:16px}
.metric-card strong{display:block;font-size:24px;line-height:1;font-weight:650;letter-spacing:-.045em}
.metric-card b{display:block;margin-top:5px;font-size:9.5px}.metric-card small{display:block;margin-top:2px;color:var(--muted);font-size:7.9px}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:14px}
.quick-center-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.quick-center-grid>a{
  min-height:70px;padding:11px 12px;border-radius:14px;background:#f6f7f9;
  display:grid;grid-template-columns:31px 1fr 14px;gap:9px;align-items:center;transition:.15s
}
.quick-center-grid>a:hover{background:#eef1f5;transform:translateY(-1px)}
.quick-center-grid>a>.ui-icon:first-child{width:17px;height:17px;color:var(--brand-accent)}
.quick-center-grid>a>.ui-icon:last-child{width:12px;color:#a0a4ad}
.quick-center-grid b{display:block;font-size:9.8px}.quick-center-grid small{display:block;margin-top:2px;color:var(--muted);font-size:8px}
.text-link{font-size:9px;font-weight:650;color:var(--brand-accent)}
.event-feed{display:grid}
.event-row{display:grid;grid-template-columns:9px 1fr auto;gap:10px;align-items:center;padding:10px 2px;border-bottom:1px solid #eff1f4}
.event-row:last-child{border-bottom:0}
.event-dot{width:7px;height:7px;border-radius:50%;background:#b7bdc6}.event-dot.good{background:#2b9b57}.event-dot.bad{background:#d64b45}
.event-row b{display:block;font-size:9.2px}.event-row small{display:block;color:var(--muted);font-size:7.8px;margin-top:2px}.event-row time{font-size:8px;color:#999ea7}
.empty-state.compact{padding:16px;font-size:9px}
@media(max-width:1280px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.dashboard-grid{grid-template-columns:1fr}.dashboard-hero{align-items:flex-start}.dashboard-hero-actions{justify-content:flex-start}}
@media(max-width:620px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-center-grid{grid-template-columns:1fr}.dashboard-hero{display:grid}.dashboard-hero-actions .btn{flex:1}.dashboard-hero-actions{width:100%}}

.section-head{padding-bottom:10px;border-bottom:1px solid #e1e4e9}
.switch-row,.check{
  display:inline-flex!important;align-items:center;gap:8px;min-height:38px;padding:0 11px;
  border-radius:12px;background:#f2f4f6;color:#626872!important;cursor:pointer;font-size:9.5px!important;font-weight:600
}
.switch-row input[type="checkbox"],.check input[type="checkbox"]{
  appearance:none;width:22px;height:22px;margin:0;border:0;border-radius:8px;background:#fff;
  box-shadow:inset 0 0 0 1px #dfe3e8;display:grid;place-items:center;cursor:pointer
}
.switch-row input[type="checkbox"]:checked,.check input[type="checkbox"]:checked{
  background:var(--brand-accent);box-shadow:none
}
.switch-row input[type="checkbox"]:checked:after,.check input[type="checkbox"]:checked:after{
  content:"✓";color:#fff;font-size:12px;font-weight:700;line-height:1
}
.icon-btn{
  width:34px!important;height:34px!important;border:0!important;border-radius:11px!important;
  background:#f1f3f6!important;color:#59606a!important;display:inline-grid!important;place-items:center!important;box-shadow:none!important
}
.icon-btn:hover{background:#e9edf2!important;transform:translateY(-1px)}
.icon-btn.primary{background:var(--accent-soft)!important;color:var(--brand-accent)!important}
.icon-btn.danger{background:#fff0ef!important;color:#c74742!important}
.icon-btn .ui-icon{width:15px;height:15px}
.row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
@media(max-width:620px){.form>.btn,.field.full>.btn{width:100%}.page-actions>.btn{flex:1}}


/* ======================================================================
   MIRA v0.9 — PREMIUM MODULAR PRODUCT UI
   ====================================================================== */
:root{
  --content-max:1760px;
  --header-h:72px;
  --bg:#f4f5f7;
  --surface:#fff;
  --surface-glass:rgba(255,255,255,.82);
  --ink:#17181b;
  --muted:#737780;
  --dash:#d9dce2;
  --shadow-soft:0 14px 42px rgba(18,24,35,.055);
  --shadow-hover:0 22px 58px rgba(18,24,35,.105);
  --shadow-modal:0 36px 110px rgba(18,24,35,.22);
}
html,body{font-family:"Poppins",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;background:var(--bg)}
body{font-size:12.5px;color:var(--ink)}
.app-header{height:var(--header-h);border:0!important;background:rgba(249,250,251,.82);backdrop-filter:saturate(180%) blur(24px);box-shadow:0 1px 0 rgba(25,29,35,.055)}
.header-bar{width:100%;height:100%;margin:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:0 clamp(18px,3vw,52px)}
.brand-logo{width:38px;height:38px;border-radius:13px;border:0}.brand-copy strong{font-size:12.5px;letter-spacing:-.02em}.brand-copy small{font-size:8px}
.top-nav{display:flex;justify-content:center;gap:4px;overflow:auto;scrollbar-width:none}.top-nav::-webkit-scrollbar{display:none}
.nav-link{height:42px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-radius:13px;color:#5f646c;font-size:10px;font-weight:600;white-space:nowrap;transition:.2s ease}
.nav-link:hover{background:#fff;color:#191b20;box-shadow:0 7px 20px rgba(18,24,35,.05)}.nav-link.active{background:#fff;color:var(--brand-accent);box-shadow:0 8px 24px rgba(18,24,35,.07)}
.nav-link-icon{width:23px;height:23px;border-radius:7px;display:grid;place-items:center;background:#f1f3f6}.nav-link.active .nav-link-icon{background:var(--accent-soft)}.nav-link-icon .ui-icon{width:13px;height:13px}
.user-trigger{border:0!important;background:#fff;min-height:42px;border-radius:14px;box-shadow:0 8px 24px rgba(18,24,35,.055)}
.user-popover{border:0!important;border-radius:18px;padding:8px;box-shadow:var(--shadow-modal)}
.app-main{width:min(var(--content-max),calc(100% - clamp(24px,5vw,80px)))!important;max-width:none!important;padding:25px 0 34px!important}
.page-header{min-height:56px;margin-bottom:18px;align-items:center}.page-header-main{display:flex;align-items:center;gap:11px}.page-header h1{font-size:clamp(20px,1.65vw,27px);font-weight:650;letter-spacing:-.045em}.page-breadcrumb{font-size:8px;color:#9498a0;display:flex;gap:6px;align-items:center}.page-breadcrumb i{width:3px;height:3px;border-radius:50%;background:#c4c7cd}
.page-back{width:38px;height:38px;border:0;background:#fff;border-radius:13px;display:grid;place-items:center;color:#555b64;box-shadow:0 8px 24px rgba(18,24,35,.06);transition:.2s}.page-back:hover{transform:translateX(-2px);box-shadow:0 12px 30px rgba(18,24,35,.09)}.page-back .ui-icon{width:17px;height:17px}
.card{border:0!important;border-radius:22px!important;background:#fff!important;box-shadow:var(--shadow-soft)!important;padding:clamp(17px,1.8vw,26px)!important}.card:hover{box-shadow:0 16px 46px rgba(18,24,35,.07)}
hr{border:0;border-top:1px solid var(--dash);margin:20px 0}
.btn{border:0!important;min-height:39px;padding:8px 14px;border-radius:12px;font-size:9.5px;box-shadow:none!important}.btn:hover{transform:translateY(-1px);filter:none;box-shadow:0 10px 25px color-mix(in srgb,var(--brand-accent) 18%,transparent)!important}.btn.secondary,.btn.ghost{border:0!important;background:#f1f3f6!important;color:#4a4f57!important}.btn.danger{border:0!important;background:#fff0ef!important}.btn .ui-icon{width:15px;height:15px}

/* Full-page product centers */
.hub-hero,.product-hero,.dashboard-hero{position:relative;overflow:hidden;border:0!important;border-radius:28px!important;background:linear-gradient(135deg,#fff 0%,#fafbfc 70%,color-mix(in srgb,var(--brand-accent) 5%,white) 100%)!important;box-shadow:var(--shadow-soft);padding:clamp(24px,3vw,42px)!important;margin-bottom:20px}
.hub-hero:after,.product-hero:after,.dashboard-hero:after{content:"";position:absolute;right:-95px;top:-120px;width:320px;height:320px;border:1px solid color-mix(in srgb,var(--brand-accent) 22%,#d7dbe2);border-radius:50%;pointer-events:none}
.hub-title-row{display:flex;gap:17px;align-items:center}.hub-title-icon,.hero-orb>span{width:72px;height:72px;border:0!important;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,var(--brand-accent),color-mix(in srgb,var(--brand-accent) 70%,#6f7cff));color:#fff;box-shadow:0 18px 34px color-mix(in srgb,var(--brand-accent) 22%,transparent)}
.hub-title-icon .ui-icon,.hero-orb .ui-icon{width:31px;height:31px;stroke-width:1.55}.hub-hero h2,.product-hero h2{font-size:clamp(28px,3vw,44px)!important;font-weight:620!important;letter-spacing:-.055em!important;margin:3px 0 7px!important}.hub-hero p,.product-hero p{max-width:760px;color:#767b84;font-size:11px;line-height:1.75}
.hub-live,.page-live-status{border:0!important;background:rgba(255,255,255,.72)!important;border-radius:999px!important;padding:8px 11px!important;box-shadow:0 8px 22px rgba(18,24,35,.045)}
.app-grid,.app-grid-premium{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
.app-tile{position:relative;min-height:210px!important;border:0!important;border-radius:24px!important;background:#fff!important;padding:21px!important;box-shadow:var(--shadow-soft)!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;transition:transform .22s ease,box-shadow .22s ease,background .22s ease;overflow:hidden}
.app-tile:after{content:"";position:absolute;width:100px;height:100px;border:1px solid #e3e5e9;border-radius:50%;right:-35px;bottom:-44px;transition:.22s}.app-tile:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)!important}.app-tile:hover:after{transform:scale(1.18);border-color:var(--accent-line)}
.app-tile-icon{width:60px!important;height:60px!important;border:0!important;border-radius:18px!important;background:linear-gradient(145deg,var(--accent-soft),#f5f7fb)!important;color:var(--brand-accent)!important;display:grid;place-items:center;margin-bottom:auto;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)}.app-tile-icon .ui-icon{width:27px!important;height:27px!important;stroke-width:1.55}.app-tile-body{margin-top:24px}.app-tile-body b{display:block;font-size:14px!important;letter-spacing:-.025em}.app-tile-body small{display:block;margin-top:6px;font-size:9.4px!important;color:#7d818a;line-height:1.6;max-width:250px}.app-tile-meta{width:100%;display:flex;align-items:center;justify-content:space-between;margin-top:15px;color:#9ca0a8}.app-tile-meta em{font-style:normal;min-width:32px;height:25px;padding:0 8px;display:grid;place-items:center;border-radius:999px;background:#f2f4f7;color:#4d535b;font-size:9px;font-weight:700}.app-tile-meta>.ui-icon{width:15px;height:15px}

/* Product/module licensing */
.product-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.product-hero-copy{position:relative;z-index:1}.hero-orb{position:relative;z-index:1;padding:18px}.hero-chips,.license-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.hero-chips span,.license-pills span{padding:6px 9px;background:rgba(255,255,255,.82);border-radius:999px;font-size:8.5px;color:#6b7079;box-shadow:0 6px 18px rgba(18,24,35,.04)}
.module-policy-form{display:grid;gap:20px}.module-policy-section{padding:4px 0 20px;border-bottom:1px solid var(--dash)}.module-policy-section:last-of-type{border:0}.module-license-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.module-license-card{position:relative;display:grid;grid-template-columns:52px 1fr auto;gap:13px;align-items:center;padding:15px;background:#f7f8fa;border:0;border-radius:18px;cursor:pointer;transition:.18s ease}.module-license-card:hover{background:#f2f4f7}.module-license-card.active{background:color-mix(in srgb,var(--brand-accent) 7%,white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-accent) 15%,white)}.module-license-card input{position:absolute;opacity:0}.module-license-icon{width:52px;height:52px;border-radius:16px;background:#fff;display:grid;place-items:center;color:var(--brand-accent);box-shadow:0 8px 20px rgba(18,24,35,.05)}.module-license-icon .ui-icon{width:23px;height:23px}.module-license-card b{display:block;font-size:10.5px}.module-license-card small{display:block;font-size:8.2px;color:#7a7f88;line-height:1.5;margin-top:3px}.module-switch{width:43px;height:25px;background:#dfe2e7;border-radius:999px;padding:3px;transition:.2s}.module-switch:after{content:"";display:block;width:19px;height:19px;background:#fff;border-radius:50%;box-shadow:0 2px 7px rgba(20,24,30,.16);transition:.2s}.module-license-card.active .module-switch{background:var(--brand-accent)}.module-license-card.active .module-switch:after{transform:translateX(18px)}.sticky-save-bar{position:sticky;bottom:16px;z-index:20;display:flex;justify-content:flex-end;padding:11px;border-radius:18px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);box-shadow:0 16px 50px rgba(18,24,35,.13)}

/* Tenant / dealer cards */
.tenant-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.tenant-pro-card{background:#fff;border:0;border-radius:23px;padding:20px;box-shadow:var(--shadow-soft);transition:.2s}.tenant-pro-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.tenant-card-top{display:flex;justify-content:space-between;align-items:center}.tenant-type-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#f3f5f8;color:var(--brand-accent)}.tenant-type-icon .ui-icon{width:25px;height:25px}.tenant-pro-card h3{font-size:14px;margin:18px 0 5px}.tenant-pro-card p{font-size:8.5px;color:#858a92}.tenant-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:18px 0;padding:14px 0;border-top:1px solid var(--dash);border-bottom:1px solid var(--dash)}.tenant-stats span{text-align:center;font-size:7.5px;color:#8a8f97}.tenant-stats b{display:block;color:#25282d;font-size:15px}.tenant-actions{display:flex;gap:7px}.tenant-actions>*{flex:1}

/* Forms / dropzones */
.form-stage{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:22px;align-items:start}.form-stage-intro{position:sticky;top:95px;padding:22px 5px}.form-stage-intro h2{font-size:31px;letter-spacing:-.05em;margin:7px 0}.form-stage-intro p{font-size:10px;color:#777c85;line-height:1.8}.pro-form{padding:26px!important}.form-divider{margin:24px 0 12px;border-top:1px solid var(--dash);position:relative}.form-divider span{position:relative;top:-8px;background:#fff;padding-right:10px;color:#858a93;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.module-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.module-choice{position:relative;display:grid;grid-template-columns:42px 1fr 22px;gap:10px;align-items:center;padding:11px;border-radius:15px;background:#f5f6f8;cursor:pointer}.module-choice input{position:absolute;opacity:0}.module-choice.selected{background:var(--accent-soft)}.module-choice-icon{width:42px;height:42px;border-radius:13px;background:#fff;display:grid;place-items:center;color:var(--brand-accent)}.module-choice-icon .ui-icon{width:19px}.module-choice b{font-size:9.5px}.module-choice small{display:block;font-size:7.5px;color:#868b93;margin-top:2px}.module-choice>i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#e2e5ea;color:transparent}.module-choice.selected>i{background:var(--brand-accent);color:#fff}.module-choice>i .ui-icon{width:12px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}
.dropzone,[data-dropzone]{border:1.5px solid #cfd3da!important;border-radius:20px!important;background:#f8f9fa!important;min-height:150px;display:grid;place-items:center;text-align:center;padding:24px;transition:.2s}.dropzone:hover,[data-dropzone]:hover,.dropzone.dragging,[data-dropzone].dragging{border-color:var(--brand-accent)!important;background:var(--accent-soft)!important;transform:translateY(-1px)}

/* Integration brands */
.integration-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}.integration-card{border:0!important;border-radius:21px!important;background:#fff!important;box-shadow:var(--shadow-soft)!important;padding:16px!important;transition:.2s}.integration-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)!important}.brand-tile{width:52px!important;height:52px!important;border:0!important;border-radius:16px!important;background:var(--brand)!important;display:grid;place-items:center;overflow:hidden;box-shadow:0 10px 24px color-mix(in srgb,var(--brand) 20%,transparent)}.brand-tile img{width:25px!important;height:25px!important;object-fit:contain}.brand-tile span{font-size:12px!important;font-weight:750!important;color:#fff;letter-spacing:-.04em}.brand-tile.lg{width:68px!important;height:68px!important;border-radius:21px!important}.brand-tile.lg img{width:32px!important;height:32px!important}

/* Modal / dialog */
.confirm-dialog{width:min(520px,calc(100vw - 28px))!important;border-radius:28px!important}.confirm-dialog::backdrop{background:rgba(30,33,38,.25)!important;backdrop-filter:blur(14px)!important}.confirm-card{border-radius:28px!important;padding:27px!important;box-shadow:var(--shadow-modal)!important}.confirm-icon{width:54px!important;height:54px!important;border-radius:17px!important}.confirm-copy h3{font-size:18px!important}.confirm-copy p{font-size:9.5px!important;line-height:1.7}

@media(max-width:1320px){.app-grid,.app-grid-premium{grid-template-columns:repeat(3,minmax(0,1fr))!important}.module-license-grid,.tenant-card-grid,.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:980px){.header-bar{padding:0 15px;grid-template-columns:auto auto 1fr auto}.app-main{width:calc(100% - 28px)!important}.app-grid,.app-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important}.module-license-grid{grid-template-columns:1fr!important}.form-stage{grid-template-columns:1fr}.form-stage-intro{position:static;padding:10px 3px}.product-hero{grid-template-columns:1fr}.hero-orb{display:none}}
@media(max-width:680px){.app-main{width:calc(100% - 20px)!important;padding-top:16px!important}.app-grid,.app-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.app-tile{min-height:178px!important;padding:15px!important;border-radius:20px!important}.app-tile-icon{width:52px!important;height:52px!important;border-radius:16px!important}.app-tile-icon .ui-icon{width:24px!important;height:24px!important}.app-tile-body{margin-top:19px}.app-tile-body b{font-size:11px!important}.app-tile-body small{font-size:7.8px!important}.hub-title-icon{width:58px;height:58px;border-radius:18px}.hub-title-icon .ui-icon{width:26px}.tenant-card-grid,.integration-grid{grid-template-columns:1fr!important}.module-picker{grid-template-columns:1fr}.page-live-status span{display:none}}
@media(max-width:410px){.app-grid,.app-grid-premium{grid-template-columns:1fr!important}.app-tile{min-height:162px!important}.hub-title-row{align-items:flex-start;flex-direction:column}}
@media(min-width:1900px){.app-grid,.app-grid-premium{grid-template-columns:repeat(5,minmax(0,1fr))!important}.integration-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}

/* v0.9 tenant portfolio */
.tenant-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.new-tenant-panel{position:sticky;top:92px}.new-tenant-panel h3{font-size:18px;margin:7px 0 5px}.new-tenant-panel>.muted{font-size:8.8px;line-height:1.7;margin-bottom:18px}.tenant-mini-meta{display:flex;gap:12px;flex-wrap:wrap;margin:-5px 0 14px;color:#858a92;font-size:8px}.tenant-mini-meta span{display:flex;gap:5px;align-items:center}.tenant-mini-meta .ui-icon{width:12px;height:12px}.new-tenant-panel .btn{width:100%;margin-top:5px}
@media(max-width:1120px){.tenant-admin-layout{grid-template-columns:1fr}.new-tenant-panel{position:static}}

.integration-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 22px}.integration-search{flex:1;max-width:560px;min-height:48px;padding:0 15px;border-radius:16px;background:#fff;box-shadow:var(--shadow-soft);display:flex;align-items:center;gap:10px}.integration-search .ui-icon{width:17px;height:17px;color:#8d929a}.integration-search input{width:100%;border:0;outline:0;background:transparent;font-size:10px;color:#282b30}.integration-filter-note{display:flex;align-items:center;gap:7px;color:#858a92;font-size:8px}.integration-filter-note i{width:7px;height:7px;border-radius:50%;background:#34c759;box-shadow:0 0 0 4px #eaf8ee}.module-section.is-empty{display:none}
@media(max-width:680px){.integration-toolbar{align-items:stretch;flex-direction:column}.integration-search{max-width:none;width:100%}.integration-filter-note{padding-left:4px}}

/* ==========================================================
   v0.9.1 visual refinement — stronger product presence
   ========================================================== */
:root{
  --surface:#ffffff;
  --surface-soft:#f5f6f8;
  --surface-softer:#fafbfc;
  --text-strong:#181a1f;
  --text-soft:#6f747d;
  --radius-xl:26px;
  --radius-lg:20px;
}

/* Full-bleed product header, content aligned on one rhythm */
.app-header{width:100%;border:0!important;background:rgba(250,251,252,.88)!important;backdrop-filter:blur(24px) saturate(150%)}
.header-bar{width:100%;max-width:none!important;padding-left:clamp(18px,2.8vw,54px)!important;padding-right:clamp(18px,2.8vw,54px)!important}
.top-nav{gap:5px!important}.nav-link{min-height:42px!important;padding:0 13px!important;border-radius:13px!important;font-size:10.5px!important;font-weight:600!important}.nav-link .ui-icon{width:17px!important;height:17px!important}

/* Stronger page hierarchy */
.page-header h1{font-size:clamp(26px,2.2vw,38px)!important;letter-spacing:-.045em!important;font-weight:650!important;color:var(--text-strong)}
.page-header p,.page-intro p{font-size:10.5px!important;line-height:1.75!important;color:var(--text-soft)!important}
.hub-hero,.product-hero{border:0!important;border-radius:30px!important;min-height:190px!important;padding:clamp(24px,3.1vw,42px)!important;box-shadow:0 22px 70px rgba(30,38,55,.06)!important}
.hub-hero h2,.product-hero h2{font-size:clamp(31px,3.2vw,48px)!important;line-height:1.04!important;letter-spacing:-.055em!important;font-weight:650!important}
.hub-title-icon{width:72px!important;height:72px!important;border-radius:22px!important;box-shadow:0 18px 40px color-mix(in srgb,var(--brand-accent) 18%,transparent)!important}
.hub-title-icon .ui-icon{width:32px!important;height:32px!important}

/* App-center tiles — icon-forward, balanced and fully clickable */
.app-grid,.app-grid-premium{gap:15px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
.app-tile,.app-tile.premium{
  min-height:205px!important;padding:20px!important;border:0!important;border-radius:25px!important;background:linear-gradient(180deg,#fff 0%,#fcfcfd 100%)!important;
  box-shadow:0 12px 38px rgba(24,31,44,.055)!important;position:relative;overflow:hidden;isolation:isolate
}
.app-tile:before{content:"";position:absolute;width:128px;height:128px;border:1px solid color-mix(in srgb,var(--brand-accent) 18%,transparent);border-radius:50%;right:-54px;top:-54px;z-index:-1;transition:.25s ease}
.app-tile:hover{transform:translateY(-6px)!important;box-shadow:0 24px 65px rgba(24,31,44,.105)!important}
.app-tile:hover:before{transform:scale(1.12) rotate(12deg)}
.app-tile-icon,.app-tile-icon.xl{width:66px!important;height:66px!important;border-radius:21px!important;background:color-mix(in srgb,var(--brand-accent) 9%,#fff)!important;color:var(--brand-accent)!important;box-shadow:0 14px 34px color-mix(in srgb,var(--brand-accent) 12%,transparent)!important}
.app-tile-icon .ui-icon,.app-tile-icon.xl .ui-icon{width:29px!important;height:29px!important}
.app-tile-body{margin-top:26px!important}.app-tile-body b{font-size:13px!important;letter-spacing:-.025em!important;font-weight:650!important;color:var(--text-strong)!important}.app-tile-body small{font-size:9.5px!important;line-height:1.65!important;color:#7b8088!important;margin-top:5px!important}
.app-tile-meta em{min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#f0f2f5;display:grid;place-items:center;font-size:9px;font-style:normal;font-weight:700}

/* Cards and sections: no hard borders, solid rhythm only where useful */
.card,.module-section{border:0!important}.card{border-radius:24px!important;box-shadow:0 10px 34px rgba(25,32,44,.05)!important}.module-section{padding-top:10px}.section-head{padding-bottom:13px;margin-bottom:14px;border-bottom:1px solid var(--dash)}
.section-head h3{font-size:14px!important;letter-spacing:-.025em!important}.section-head span{font-size:9px!important}

/* Buttons: compact but tactile */
.btn{min-height:42px!important;padding:0 15px!important;border:0!important;border-radius:13px!important;font-size:10px!important;font-weight:650!important;gap:7px!important;box-shadow:none!important}.btn .ui-icon{width:15px!important;height:15px!important}.btn:not(.secondary):not(.danger){box-shadow:0 9px 22px color-mix(in srgb,var(--brand-accent) 18%,transparent)!important}.btn:hover{transform:translateY(-1px)}
.icon-btn{width:39px!important;height:39px!important;border-radius:12px!important;border:0!important;background:#f3f4f6!important}.icon-btn .ui-icon{width:16px!important;height:16px!important}.icon-btn.primary{background:var(--brand-accent)!important;color:#fff!important}

/* Product-license and tenant cards */
.module-license-grid{gap:14px!important}.module-license-card{min-height:102px!important;padding:17px!important;border-radius:22px!important}.module-license-icon{width:58px!important;height:58px!important;border-radius:18px!important}.module-license-icon .ui-icon{width:26px!important;height:26px!important}.module-license-card b{font-size:11.5px!important}.module-license-card small{font-size:8.8px!important}
.tenant-pro-card{border-radius:26px!important;padding:22px!important}.tenant-type-icon{width:64px!important;height:64px!important;border-radius:20px!important}.tenant-type-icon .ui-icon{width:28px!important;height:28px!important}.tenant-pro-card h3{font-size:15px!important}.tenant-pro-card p{font-size:9px!important}

/* Integration catalog: logo has visual priority */
.integration-grid{gap:14px!important}.integration-card{min-height:150px!important;padding:19px!important;border-radius:24px!important;align-items:flex-start!important}.brand-tile{width:62px!important;height:62px!important;border-radius:19px!important;flex:0 0 62px}.brand-tile img{width:30px!important;height:30px!important}.brand-tile span{font-size:14px!important}.integration-title b{font-size:11.5px!important}.integration-main>small{font-size:8.5px!important;line-height:1.55!important}.integration-main>p{font-size:8.8px!important;line-height:1.65!important;color:#7a7f88!important}.mini-pill{font-size:7.8px!important}

/* Forms / uploader */
.form input,.form select,.form textarea{border:0!important;background:#f3f4f6!important;border-radius:14px!important;box-shadow:inset 0 0 0 1px transparent!important}.form input:focus,.form select:focus,.form textarea:focus{background:#fff!important;box-shadow:0 0 0 3px var(--accent-soft),inset 0 0 0 1px var(--accent-mid)!important}.field label{font-size:9px!important;font-weight:650!important}
.dropzone,[data-dropzone]{min-height:185px!important;border:1.5px solid #c8cdd5!important;border-radius:24px!important;background:linear-gradient(180deg,#fafbfc,#f5f6f8)!important;padding:30px!important}

/* Modal: clear hierarchy and forgiving touch targets */
.confirm-dialog{width:min(560px,calc(100vw - 28px))!important}.confirm-card{padding:30px!important;border-radius:30px!important;grid-template-columns:58px 1fr!important;gap:16px!important}.confirm-icon{width:58px!important;height:58px!important;border-radius:19px!important}.confirm-icon .ui-icon{width:24px!important;height:24px!important}.confirm-copy h3{font-size:19px!important}.confirm-copy p{font-size:10px!important}.confirm-actions .btn{min-height:46px!important}

/* Login gets more premium depth without sacrificing clarity */
.login-showcase{background:radial-gradient(circle at 12% 13%,rgba(74,139,255,.42),transparent 28%),radial-gradient(circle at 82% 78%,rgba(82,223,193,.18),transparent 27%),linear-gradient(145deg,#0d1420,#172537 54%,#0c131d)!important}.login-showcase:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 75%)}.login-copy h1{font-size:clamp(44px,5.2vw,78px)!important}.login-form-wrap{width:min(410px,100%)!important}.login-form-wrap h2,.login-form-heading h2{font-size:34px!important}.login-form input{min-height:52px!important}.login-submit{min-height:52px!important}

@media(max-width:1320px){.app-grid,.app-grid-premium{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:920px){.app-grid,.app-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important}.app-tile{min-height:190px!important}.hub-title-icon{width:64px!important;height:64px!important}.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.app-main{width:calc(100% - 18px)!important}.hub-hero,.product-hero{padding:20px!important;border-radius:24px!important}.hub-hero h2,.product-hero h2{font-size:30px!important}.app-grid,.app-grid-premium{gap:9px!important}.app-tile{min-height:168px!important;padding:14px!important;border-radius:20px!important}.app-tile-icon,.app-tile-icon.xl{width:54px!important;height:54px!important;border-radius:17px!important}.app-tile-icon .ui-icon,.app-tile-icon.xl .ui-icon{width:24px!important;height:24px!important}.app-tile-body{margin-top:18px!important}.app-tile-body b{font-size:11px!important}.app-tile-body small{font-size:8px!important}.integration-grid{grid-template-columns:1fr!important}.confirm-card{padding:21px!important}.dropzone,[data-dropzone]{min-height:155px!important;padding:22px!important}}
@media(max-width:400px){.app-grid,.app-grid-premium{grid-template-columns:1fr!important}.app-tile{min-height:150px!important}}
@media(min-width:1900px){.app-grid,.app-grid-premium{grid-template-columns:repeat(5,minmax(0,1fr))!important}}

/* ======================================================================
   MIRA v0.10 — EXECUTIVE ZERO-RADIUS DESIGN SYSTEM
   Full redesign: sharp geometry, live dashboards, full-screen workspaces.
   ====================================================================== */
:root{
  --header-h:78px;
  --bg:#f1f2f4;
  --surface:#ffffff;
  --surface-soft:#f7f8f9;
  --surface-deep:#eceef1;
  --text:#17191d;
  --text-2:#464b54;
  --muted:#747a84;
  --dash:#cfd3d9;
  --dash-soft:#e2e5e9;
  --shadow-soft:0 12px 38px rgba(20,25,34,.05);
  --shadow-hover:0 22px 58px rgba(20,25,34,.10);
  --shadow-modal:0 28px 90px rgba(15,20,28,.16);
}

/* User requirement: absolutely no rounded corners anywhere. */
html *,html *::before,html *::after{border-radius:0!important}
html,body{font-family:"Poppins",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;background:var(--bg)!important}
body{font-size:14px!important;line-height:1.55!important;color:var(--text)!important}
body.workspace-open{overflow:hidden}
button,input,select,textarea{font-family:inherit!important}

/* Header — true full bleed, larger but still disciplined. */
.app-header{height:var(--header-h)!important;width:100%!important;background:rgba(248,249,250,.94)!important;box-shadow:0 1px 0 rgba(20,24,30,.07)!important;border:0!important;backdrop-filter:blur(24px) saturate(150%)!important}
.header-bar{height:100%!important;width:100%!important;max-width:none!important;padding:0 clamp(16px,2.6vw,52px)!important;gap:24px!important;grid-template-columns:auto minmax(0,1fr) auto!important}
.brand{gap:11px!important}.brand-logo{width:42px!important;height:42px!important;background:var(--brand-accent)!important;border:0!important;box-shadow:none!important}.brand-logo b{font-size:17px!important}.brand-copy strong{font-size:14px!important;font-weight:700!important}.brand-copy small{font-size:10px!important;margin-top:2px!important;color:var(--muted)!important}
.top-nav{gap:2px!important;justify-content:center!important;overflow-x:auto!important;scrollbar-width:none!important}.top-nav::-webkit-scrollbar{display:none!important}
.nav-link{min-height:46px!important;padding:0 14px!important;gap:8px!important;font-size:12.5px!important;font-weight:600!important;color:#555b64!important;background:transparent!important;box-shadow:none!important;position:relative!important}
.nav-link:hover{background:#fff!important;color:#16191e!important}.nav-link.active{background:#fff!important;color:var(--brand-accent)!important;box-shadow:0 8px 24px rgba(20,25,34,.055)!important}
.nav-link.active:after{content:"";position:absolute;left:12px;right:12px;bottom:0;border-bottom:2px solid var(--brand-accent)}
.nav-link-icon{width:28px!important;height:28px!important;background:#eceef1!important;display:grid!important;place-items:center!important}.nav-link.active .nav-link-icon{background:var(--accent-soft)!important}.nav-link-icon .ui-icon{width:18px!important;height:18px!important;stroke-width:1.6!important}
.header-actions{gap:10px!important}.system-state{font-size:11px!important}.system-state i{width:7px!important;height:7px!important;border-radius:0!important}
.user-trigger{min-height:46px!important;padding:5px 9px!important;background:#fff!important;border:0!important;box-shadow:0 8px 24px rgba(20,25,34,.05)!important}.avatar{width:32px!important;height:32px!important;background:#eef0f3!important;color:#353a42!important}.user-text b{font-size:11px!important}.user-text small{font-size:9px!important}.user-popover{border:0!important;box-shadow:var(--shadow-modal)!important;padding:8px!important}.user-popover a,.user-popover button{min-height:42px!important;font-size:11.5px!important}

/* Full-width content rhythm. */
.app-main{width:100%!important;max-width:none!important;padding:26px clamp(16px,2.6vw,52px) 38px!important;margin:0!important}
.page-header{min-height:62px!important;margin-bottom:20px!important}.page-header h1{font-size:clamp(26px,2vw,36px)!important;line-height:1.1!important;font-weight:650!important;letter-spacing:-.045em!important}.page-breadcrumb{font-size:9.5px!important;letter-spacing:.03em!important}.page-breadcrumb i{width:4px!important;height:4px!important;border-radius:0!important;background:#b8bdc5!important}.page-back{width:44px!important;height:44px!important;background:#fff!important;border:0!important;box-shadow:0 7px 20px rgba(20,25,34,.05)!important}.page-back .ui-icon{width:19px!important;height:19px!important}.page-live-status,.hub-live{font-size:10.5px!important;padding:8px 10px!important;background:transparent!important;border-left:1px solid var(--dash)!important;box-shadow:none!important}.page-live-status i,.hub-live i{border-radius:0!important}
.page-footer{border-top:1px solid var(--dash)!important;margin-top:26px!important;padding-top:18px!important;font-size:10px!important}

/* Core surfaces: no solid borders; solid structure where hierarchy benefits. */
.card,.executive-panel,.app-tile,.tenant-pro-card,.integration-card,.form-stage,.module-license-card,.module-choice,.permission-pill,.role-pill,.user-policy-card,.access-panel{border:0!important;background:#fff!important;box-shadow:var(--shadow-soft)!important}
.section-head{border-bottom:1px solid var(--dash)!important;padding-bottom:14px!important;margin-bottom:16px!important}.section-head h3{font-size:15px!important}.section-head span{font-size:10.5px!important}
.module-policy-section,.form-divider,.table-wrap thead,.data-table thead{border-bottom:1px solid var(--dash)!important}
.data-table tr,.table tr{border-bottom:1px solid var(--dash-soft)!important}

/* Buttons: sharp, larger touch targets, restrained hierarchy. */
.btn{min-height:44px!important;padding:0 16px!important;border:0!important;font-size:12px!important;font-weight:650!important;gap:8px!important;box-shadow:none!important;transition:transform .15s ease,background .15s ease,color .15s ease!important}
.btn:not(.secondary):not(.ghost):not(.danger){background:var(--brand-accent)!important;color:#fff!important}.btn.secondary,.btn.ghost{background:#eceef1!important;color:#343941!important}.btn.danger{background:#ffeceb!important;color:#b52a24!important}.btn:hover{transform:translateY(-1px)!important;filter:brightness(.985)!important}.btn .ui-icon{width:17px!important;height:17px!important}
.icon-btn{width:44px!important;height:44px!important;background:#eceef1!important;border:0!important}.icon-btn .ui-icon{width:18px!important;height:18px!important}
.text-link{font-size:11.5px!important;font-weight:650!important}

/* Inputs and forms — calm, spacious, square. */
.field{gap:7px!important}.field label{font-size:11px!important;font-weight:650!important;color:#4e535b!important}.form input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),.form select,.form textarea,input.input,select.input,textarea.input{min-height:46px!important;padding:10px 13px!important;border:0!important;background:#eef0f2!important;color:#181b20!important;font-size:12.5px!important;box-shadow:inset 0 -1px 0 #d9dde2!important;outline:0!important}.form textarea{min-height:110px!important}.form input:focus,.form select:focus,.form textarea:focus{background:#fff!important;box-shadow:inset 0 -2px 0 var(--brand-accent),0 8px 25px rgba(20,25,34,.045)!important}.form-grid{gap:15px!important}.form-actions{gap:8px!important;padding-top:16px!important;border-top:1px solid var(--dash)!important}

/* Universal square checkbox / radio language. */
input[type="checkbox"],input[type="radio"]{appearance:none;-webkit-appearance:none;width:22px;height:22px;min-width:22px;border:1px solid #aeb4bd!important;background:#fff;display:inline-grid;place-items:center;vertical-align:middle;cursor:pointer;box-shadow:none!important}
input[type="checkbox"]:checked,input[type="radio"]:checked{background:var(--brand-accent)!important;border-color:var(--brand-accent)!important}
input[type="checkbox"]:checked:after{content:"✓";font-size:13px;line-height:1;color:#fff;font-weight:800}
input[type="radio"]:checked:after{content:"";width:8px;height:8px;background:#fff}
.switch-row,.check{gap:10px!important;font-size:12px!important}.switch-row input[type="checkbox"],.check input[type="checkbox"]{width:24px!important;height:24px!important;border-radius:0!important}

/* Permission UI becomes professional selectable surfaces. */
.permission-pills{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}.permission-pill{min-height:64px!important;padding:12px 13px!important;gap:10px!important;box-shadow:none!important;background:#f1f3f5!important;border-left:2px solid transparent!important}.permission-pill:hover{background:#e9ecef!important}.permission-pill.selected{background:var(--accent-soft)!important;border-left-color:var(--brand-accent)!important;box-shadow:none!important}.permission-pill b{font-size:12px!important;font-weight:650!important}.permission-pill small{font-size:10px!important;line-height:1.45!important;color:#747a84!important;word-break:normal!important}.permission-check{width:26px!important;height:26px!important;background:#fff!important;border:1px solid #b7bcc4!important;display:grid!important;place-items:center!important}.permission-pill.selected .permission-check{background:var(--brand-accent)!important;border-color:var(--brand-accent)!important;color:#fff!important}
.role-pill{min-height:42px!important;padding:0 13px!important;font-size:11.5px!important;background:#eef0f2!important;box-shadow:none!important}.role-pill.selected{background:var(--accent-soft)!important;color:var(--brand-accent)!important;border-left:2px solid var(--brand-accent)!important}.role-pill input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.segmented-permission{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:1px!important;background:#dfe2e6!important;padding:1px!important}.segmented-permission label{min-height:38px!important;display:grid!important;place-items:center!important;background:#f4f5f7!important;font-size:10.5px!important;font-weight:600!important;color:#6a7079!important}.segmented-permission label.active{background:var(--brand-accent)!important;color:#fff!important}.segmented-permission input{position:absolute!important;opacity:0!important;pointer-events:none!important}

/* Module licensing — not a fake rounded toggle. */
.module-license-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}.module-license-card{min-height:112px!important;grid-template-columns:60px 1fr auto!important;gap:15px!important;padding:17px!important;background:#f4f5f7!important;box-shadow:none!important;border-left:2px solid transparent!important}.module-license-card:hover{background:#eceff2!important}.module-license-card.active{background:var(--accent-soft)!important;border-left-color:var(--brand-accent)!important}.module-license-card input{position:absolute!important;opacity:0!important;pointer-events:none!important}.module-license-icon{width:60px!important;height:60px!important;background:#fff!important;display:grid!important;place-items:center!important;box-shadow:0 8px 22px rgba(20,25,34,.045)!important}.module-license-icon .ui-icon{width:27px!important;height:27px!important}.module-license-card b{font-size:12.5px!important}.module-license-card small{font-size:10px!important;line-height:1.5!important}.module-switch{width:auto!important;height:34px!important;padding:0 11px!important;background:#e0e3e7!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:9.5px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.04em!important}.module-switch:after{display:none!important}.module-license-card.active .module-switch{background:var(--brand-accent)!important;color:#fff!important}.module-switch em{font-style:normal!important}.module-choice{min-height:76px!important;padding:13px!important;background:#f2f4f6!important;box-shadow:none!important;border-left:2px solid transparent!important}.module-choice.selected{background:var(--accent-soft)!important;border-left-color:var(--brand-accent)!important}.module-choice input{position:absolute!important;opacity:0!important}.module-choice b{font-size:11.5px!important}.module-choice small{font-size:9.5px!important}.sticky-save-bar{bottom:14px!important;padding:12px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 14px 45px rgba(20,25,34,.10)!important;border-top:1px solid var(--dash)!important}

/* Drag & drop — clearly intentional solid system. */
.dropzone,[data-dropzone]{min-height:190px!important;border:1.5px solid #aeb4bd!important;background:#f7f8f9!important;padding:30px!important;box-shadow:none!important;transition:background .15s ease,border-color .15s ease!important}.dropzone:hover,[data-dropzone]:hover,.dropzone.dragging,[data-dropzone].dragging{border-color:var(--brand-accent)!important;background:var(--accent-soft)!important}.dropzone .ui-icon,[data-dropzone] .ui-icon{width:30px!important;height:30px!important}.dropzone b,[data-dropzone] b{font-size:13px!important}.dropzone small,[data-dropzone] small{font-size:10.5px!important}

/* Product / module centers — stronger icon-first squares. */
.hub-hero,.product-hero{min-height:180px!important;margin:0 0 18px!important;padding:28px clamp(22px,3vw,42px)!important;background:#fff!important;box-shadow:var(--shadow-soft)!important;overflow:hidden!important;position:relative!important}.hub-hero:after,.product-hero:after,.dashboard-hero:after{content:""!important;position:absolute!important;right:-50px!important;top:-80px!important;width:260px!important;height:260px!important;border:1px solid var(--dash)!important;border-radius:0!important;transform:rotate(20deg)!important;background:transparent!important}.hub-title-icon,.hero-orb>span{width:78px!important;height:78px!important;background:var(--brand-accent)!important;color:#fff!important;box-shadow:none!important}.hub-title-icon .ui-icon,.hero-orb .ui-icon{width:35px!important;height:35px!important}.hub-hero h2,.product-hero h2{font-size:clamp(32px,3.2vw,52px)!important;font-weight:650!important;letter-spacing:-.055em!important}.hub-hero p,.product-hero p{font-size:12px!important;line-height:1.7!important;max-width:820px!important}
.app-grid,.app-grid-premium{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.app-tile,.app-tile.premium{min-height:220px!important;padding:20px!important;background:#fff!important;box-shadow:var(--shadow-soft)!important;transition:transform .16s ease,box-shadow .16s ease!important;border-top:1px solid var(--dash-soft)!important}.app-tile:before,.app-tile:after{display:none!important}.app-tile:hover{transform:translateY(-3px)!important;box-shadow:var(--shadow-hover)!important}.app-tile-icon,.app-tile-icon.xl{width:70px!important;height:70px!important;background:var(--accent-soft)!important;color:var(--brand-accent)!important;display:grid!important;place-items:center!important;box-shadow:none!important}.app-tile-icon .ui-icon,.app-tile-icon.xl .ui-icon{width:31px!important;height:31px!important}.app-tile-body{margin-top:28px!important}.app-tile-body b{font-size:15px!important;font-weight:650!important}.app-tile-body small{font-size:10.5px!important;line-height:1.6!important}.app-tile-meta{border-top:1px solid var(--dash)!important;padding-top:13px!important}.app-tile-meta em{height:28px!important;min-width:34px!important;background:#eceef1!important;font-size:10px!important}

/* Executive dashboard. */
.executive-hero{min-height:245px;background:#111820;color:#fff;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px;align-items:stretch;padding:clamp(28px,4vw,58px);margin-bottom:14px;position:relative;overflow:hidden;box-shadow:0 18px 54px rgba(20,25,34,.14)}
.executive-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.45) 70%,transparent)}
.executive-copy,.executive-signal{position:relative;z-index:1}.executive-copy{align-self:center;max-width:900px}.executive-copy .eyebrow{color:#97a8ba!important}.executive-copy h2{margin:8px 0 12px;font-size:clamp(34px,4vw,62px);line-height:1.02;letter-spacing:-.06em;font-weight:600;color:#fff}.executive-copy p{max-width:800px;margin:0;color:#b9c2cc;font-size:12px;line-height:1.75}.executive-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.executive-actions .btn.secondary{background:#29333f!important;color:#fff!important}.executive-signal{border-left:1px solid #4c5967;padding:24px 0 24px 30px;display:flex;flex-direction:column;justify-content:center}.signal-label{font-size:9px;letter-spacing:.16em;color:#81909f;font-weight:700}.executive-signal strong{font-size:66px;line-height:1;margin-top:12px;letter-spacing:-.065em;font-weight:600}.executive-signal small{font-size:11px;color:#99a7b5;margin-top:6px}.signal-bars{display:flex;gap:5px;align-items:end;height:48px;margin-top:23px}.signal-bars i{display:block;width:8px;background:var(--brand-accent)}.signal-bars i:nth-child(1){height:20%}.signal-bars i:nth-child(2){height:45%}.signal-bars i:nth-child(3){height:35%}.signal-bars i:nth-child(4){height:72%}.signal-bars i:nth-child(5){height:58%}.signal-bars i:nth-child(6){height:92%}
.executive-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--dash);margin-bottom:14px}.executive-metric{min-height:150px;background:#fff;padding:18px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;gap:8px;position:relative;transition:background .15s ease}.executive-metric:hover{background:#f8f9fa}.executive-metric-icon{width:42px;height:42px;background:#eef0f2;color:var(--brand-accent);display:grid;place-items:center}.executive-metric-icon .ui-icon{width:20px;height:20px}.executive-metric-value{grid-column:1/-1;align-self:end;font-size:34px;line-height:1;font-weight:600;letter-spacing:-.055em}.executive-metric-copy{display:grid}.executive-metric-copy b{font-size:11.5px}.executive-metric-copy small{font-size:9px;color:var(--muted);margin-top:2px}.metric-arrow{align-self:end;color:#9aa0a8}.metric-arrow .ui-icon{width:15px;height:15px}
.executive-dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.executive-panel{padding:22px;background:#fff!important;box-shadow:var(--shadow-soft)!important;min-width:0}.trend-panel{grid-column:span 7;min-height:385px}.health-panel{grid-column:span 5}.mix-panel{grid-column:span 4}.action-panel{grid-column:span 4}.feed-panel{grid-column:span 4}.executive-panel-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--dash);padding-bottom:15px;margin-bottom:18px}.executive-panel-head h3{font-size:16px;margin:3px 0 3px;letter-spacing:-.025em}.executive-panel-head p{font-size:9.5px;color:var(--muted);margin:0}.executive-panel-head>a{display:flex;gap:5px;align-items:center;font-size:10px;font-weight:650;color:var(--brand-accent);white-space:nowrap}.executive-panel-head>a .ui-icon{width:13px;height:13px}
.trend-chart{height:220px;position:relative;margin-top:4px}.trend-chart svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:2}.trend-chart polyline{fill:none;stroke:var(--brand-accent);stroke-width:1.3;vector-effect:non-scaling-stroke}.trend-area{fill:color-mix(in srgb,var(--brand-accent) 9%,transparent);stroke:none}.trend-grid-lines{position:absolute;inset:0;display:grid;grid-template-rows:repeat(4,1fr)}.trend-grid-lines i{border-top:1px solid var(--dash-soft)}.trend-labels{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;border-top:1px solid var(--dash);padding-top:11px}.trend-labels span{display:grid;text-align:center}.trend-labels b{font-size:8.5px;text-transform:uppercase;color:#8b9199}.trend-labels small{font-size:11px;font-weight:700;margin-top:2px}.health-composition{display:grid;grid-template-columns:145px 1fr;gap:24px;align-items:center;min-height:255px}.health-total{height:145px;background:#141b23;color:#fff;display:grid;place-items:center;align-content:center}.health-total strong{font-size:44px;line-height:1;font-weight:600}.health-total small{font-size:9px;color:#9eabb8;margin-top:7px}.health-bars{display:grid;gap:15px}.health-bars span{display:grid;grid-template-columns:92px 1fr 30px;gap:10px;align-items:center}.health-bars b{font-size:9.5px}.health-bars i{height:10px;background:#e9ebee;position:relative}.health-bars i:after{content:"";display:block;width:var(--w);height:100%;background:var(--brand-accent)}.health-bars em{font-style:normal;font-size:11px;font-weight:700;text-align:right}
.mix-bars{display:grid;gap:14px}.mix-bars>div>span{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.mix-bars b{font-size:10px}.mix-bars em{font-style:normal;font-size:10px;font-weight:700}.mix-bars i{display:block;height:8px;background:#eceef1}.mix-bars u{display:block;height:100%;background:#242d38;text-decoration:none}.executive-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--dash)}.executive-action-grid a{min-height:112px;background:#f7f8f9;padding:14px;display:flex;flex-direction:column;gap:11px}.executive-action-grid a:hover{background:var(--accent-soft)}.executive-action-grid>a>.ui-icon{width:22px;height:22px;color:var(--brand-accent)}.executive-action-grid span{display:grid}.executive-action-grid b{font-size:10.5px}.executive-action-grid small{font-size:8.5px;color:var(--muted);margin-top:2px}.executive-feed{display:grid}.executive-feed-row{display:grid;grid-template-columns:8px 1fr auto;gap:10px;align-items:center;min-height:48px;border-bottom:1px solid var(--dash-soft)}.executive-feed-row:last-child{border-bottom:0}.executive-feed-row .event-dot{width:7px;height:7px;background:#a8adb5}.executive-feed-row .event-dot.good{background:#248a3d}.executive-feed-row .event-dot.bad{background:#c62828}.executive-feed-row b{font-size:10px}.executive-feed-row small{font-size:8.5px;color:var(--muted);display:block}.executive-feed-row time{font-size:8.5px;color:#9297a0}

/* Integration and tenant catalog gets the same sharp product geometry. */
.tenant-card-grid,.integration-grid{gap:12px!important}.tenant-pro-card,.integration-card{padding:19px!important;background:#fff!important;box-shadow:var(--shadow-soft)!important;border-top:1px solid var(--dash-soft)!important}.tenant-type-icon,.brand-tile{width:64px!important;height:64px!important;background:#eef0f2!important;display:grid!important;place-items:center!important}.tenant-type-icon .ui-icon{width:28px!important;height:28px!important}.brand-tile img{max-width:34px!important;max-height:34px!important}.tenant-pro-card h3{font-size:15px!important}.tenant-pro-card p,.integration-main>p{font-size:10px!important}.integration-title b{font-size:12.5px!important}.integration-main>small{font-size:9.5px!important}

/* Full-screen workspace modal — one work surface, no nested page stacks. */
.workspace-modal[hidden]{display:none!important}.workspace-modal{position:fixed;inset:0;z-index:300;background:var(--bg);display:grid;grid-template-rows:70px minmax(0,1fr);animation:workspaceIn .18s ease-out}.workspace-modal-toolbar{height:70px;background:rgba(255,255,255,.96);backdrop-filter:blur(22px);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(14px,2.4vw,42px);box-shadow:0 1px 0 rgba(20,24,30,.07)}.workspace-modal-nav,.workspace-modal-actions{display:flex;align-items:center;gap:12px}.workspace-modal-nav>div{display:grid}.workspace-modal-nav strong{font-size:15px;line-height:1.15}.workspace-modal-back,.workspace-modal-close{width:44px;height:44px;border:0;background:#eceef1;color:#343941;display:grid;place-items:center}.workspace-modal-back .ui-icon{width:19px;height:19px}.workspace-modal-close{font-size:28px;font-weight:300;line-height:1}.workspace-live{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:650;color:#5f656d}.workspace-live i{width:7px;height:7px;background:#248a3d}.workspace-modal-body{overflow:auto;padding:24px clamp(14px,2.6vw,52px) 42px}.workspace-content{width:100%;max-width:none;margin:0 auto}.workspace-content>.page-header{display:none!important}.workspace-loading,.workspace-error{min-height:calc(100vh - 150px);display:grid;place-items:center;align-content:center;text-align:center;gap:9px}.workspace-loading span{width:34px;height:34px;border:2px solid #d7dbe0;border-top-color:var(--brand-accent);animation:workspaceSpin .7s linear infinite}.workspace-loading b,.workspace-error b{font-size:14px}.workspace-loading small,.workspace-error p{font-size:10px;color:var(--muted)}.workspace-content .back-row,.workspace-content .page-back{display:none!important}.workspace-content .form-stage{max-width:1500px;margin:0 auto}.workspace-content .product-hero,.workspace-content .hub-hero{margin-top:0!important}.form-inline-error{padding:12px;background:#ffeceb;color:#9e2924;border-left:3px solid #c62828;margin-bottom:12px;font-size:11px}.is-submitting{opacity:.65;pointer-events:none}
@keyframes workspaceIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes workspaceSpin{to{transform:rotate(360deg)}}

/* Confirmation modal also follows sharp geometry. */
.confirm-dialog{border:0!important;background:transparent!important;width:min(560px,calc(100vw - 24px))!important}.confirm-dialog::backdrop{background:rgba(17,22,29,.36)!important;backdrop-filter:blur(8px)!important}.confirm-card{padding:26px!important;background:#fff!important;box-shadow:var(--shadow-modal)!important;border:0!important;display:grid!important;grid-template-columns:54px 1fr!important;gap:16px!important}.confirm-icon{width:54px!important;height:54px!important;background:#fff0e0!important;display:grid!important;place-items:center!important}.confirm-actions{grid-column:1/-1!important;border-top:1px solid var(--dash)!important;padding-top:15px!important;margin-top:4px!important}.confirm-copy h3{font-size:18px!important}.confirm-copy p{font-size:11px!important;line-height:1.6!important}

/* Login — edge-to-edge, energetic, responsive. */
.auth-main{padding:0!important;width:100%!important;min-height:100vh!important}.login-v10{min-height:100dvh;width:100%;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(430px,.82fr);background:#101820}.login-v10-stage{min-height:100dvh;padding:clamp(28px,4vw,64px);position:relative;overflow:hidden;color:#fff;display:grid;grid-template-rows:auto 1fr auto;align-items:center;background:radial-gradient(circle at 8% 10%,color-mix(in srgb,var(--brand-accent) 35%,transparent),transparent 29%),linear-gradient(145deg,#0f1822,#162331 58%,#0c131b)}.login-v10-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:50px 50px;mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.4) 75%,transparent)}.login-v10-brand,.login-v10-message,.login-v10-board,.login-v10-footer{position:relative;z-index:1}.login-v10-brand{align-self:start;display:flex;align-items:center;gap:12px}.login-v10-mark{width:46px;height:46px;background:#fff;color:#111820;display:grid;place-items:center;font-size:18px;font-weight:750}.login-v10-brand>div{display:grid}.login-v10-brand b{font-size:15px}.login-v10-brand small{font-size:9px;color:#9ba8b6;margin-top:2px}.login-v10-message{align-self:end;max-width:900px;margin-top:clamp(45px,8vh,110px)}.login-v10-message .eyebrow{color:#8da1b4!important}.login-v10-message h1{font-size:clamp(48px,6.1vw,96px);line-height:.95;letter-spacing:-.065em;font-weight:560;margin:12px 0 22px}.login-v10-message p{font-size:12px;line-height:1.8;max-width:760px;color:#b2beca;margin:0}.login-v10-board{align-self:center;width:min(760px,100%);margin-top:40px;border-top:1px solid #53606d;border-bottom:1px solid #53606d;padding:18px 0 20px}.login-board-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:9px;letter-spacing:.14em;color:#8393a3;font-weight:700}.login-board-head i{width:8px;height:8px;background:#5fe08b}.login-board-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#3c4955}.login-board-grid>span{min-height:105px;background:rgba(15,24,34,.88);padding:14px;display:flex;flex-direction:column;justify-content:flex-end}.login-board-grid .ui-icon{width:21px;height:21px;color:#79aefb;margin-bottom:auto}.login-board-grid b{font-size:10px}.login-board-grid small{font-size:7.8px;color:#8595a5;margin-top:3px}.login-board-flow{height:42px;display:flex;align-items:end;gap:6px;margin-top:15px}.login-board-flow i{width:9px;background:var(--brand-accent)}.login-board-flow i:nth-child(1){height:24%}.login-board-flow i:nth-child(2){height:42%}.login-board-flow i:nth-child(3){height:35%}.login-board-flow i:nth-child(4){height:66%}.login-board-flow i:nth-child(5){height:54%}.login-board-flow i:nth-child(6){height:86%}.login-board-flow i:nth-child(7){height:72%}.login-board-flow i:nth-child(8){height:100%}.login-v10-footer{align-self:end;display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:30px}.login-v10-footer span{font-size:8.5px;color:#8393a3;text-transform:uppercase;letter-spacing:.07em}.login-v10-panel{min-height:100dvh;background:#f5f6f7;display:grid;place-items:center;padding:clamp(24px,4vw,72px);position:relative}.login-v10-panel:before{content:"";position:absolute;top:0;bottom:0;left:0;border-left:1px solid #cbd0d6}.login-v10-form-wrap{width:min(430px,100%)}.login-v10-form-head{margin-bottom:28px}.login-v10-form-head h2{font-size:42px;line-height:1.04;letter-spacing:-.05em;margin:7px 0 10px;font-weight:620}.login-v10-form-head p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.login-v10-form{display:grid;gap:15px}.login-v10-form input{min-height:54px!important;background:#fff!important;box-shadow:inset 0 -1px 0 #cfd4da!important;font-size:13px!important}.login-v10-form .field label{font-size:10.5px!important}.login-submit{min-height:54px!important;margin-top:5px;font-size:12.5px!important}.login-v10-security{display:grid;grid-template-columns:8px 1fr;column-gap:9px;margin-top:23px;padding-top:16px;border-top:1px solid var(--dash)}.login-v10-security i{width:7px;height:7px;background:#248a3d;margin-top:5px}.login-v10-security span{font-size:10px;font-weight:650}.login-v10-security small{grid-column:2;font-size:8.5px;color:var(--muted);margin-top:2px}

/* Responsive system-wide. */
@media(max-width:1420px){.executive-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.app-grid,.app-grid-premium{grid-template-columns:repeat(3,minmax(0,1fr))!important}.module-license-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.permission-pills{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:1180px){.executive-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-panel,.health-panel,.mix-panel,.action-panel,.feed-panel{grid-column:auto}.trend-panel{grid-column:1/-1}.executive-hero{grid-template-columns:1fr 220px}.login-v10{grid-template-columns:minmax(0,1fr) 430px}.login-board-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){
  .app-header{height:68px!important}.header-bar{grid-template-columns:auto auto minmax(0,1fr) auto!important;padding:0 14px!important;gap:10px!important}.brand-copy small{display:none}.mobile-nav-button{display:grid!important;width:42px!important;height:42px!important;place-items:center!important;border:0!important;background:#eceef1!important}.top-nav{position:fixed!important;left:0!important;right:0!important;top:68px!important;display:none!important;background:#f7f8f9!important;padding:10px 14px 14px!important;box-shadow:0 18px 40px rgba(20,25,34,.12)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1px!important}.top-nav.open{display:grid!important}.nav-link{justify-content:flex-start!important;background:#fff!important;min-height:48px!important}.header-actions .system-state,.user-text{display:none!important}.user-trigger{padding:5px!important}.app-main{padding:18px 14px 30px!important}.page-live-status{display:none!important}
  .app-grid,.app-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important}.module-license-grid{grid-template-columns:1fr!important}.permission-pills{grid-template-columns:1fr!important}.executive-hero{grid-template-columns:1fr!important;min-height:0}.executive-signal{border-left:0!important;border-top:1px solid #4c5967;padding:20px 0 0!important;display:grid!important;grid-template-columns:auto 1fr!important;gap:4px 14px!important}.executive-signal strong{grid-row:1/4;font-size:52px!important}.signal-bars{display:none}.executive-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.executive-dashboard-grid{grid-template-columns:1fr}.trend-panel,.health-panel,.mix-panel,.action-panel,.feed-panel{grid-column:auto}.login-v10{grid-template-columns:1fr!important}.login-v10-stage{min-height:auto!important;padding:30px 24px 38px!important;display:block!important}.login-v10-message{margin-top:65px!important}.login-v10-message h1{font-size:clamp(44px,10vw,68px)!important}.login-v10-board{margin-top:35px!important}.login-v10-footer{margin-top:26px!important}.login-v10-panel{min-height:auto!important;padding:46px 24px 56px!important}.login-v10-panel:before{display:none!important}.workspace-modal{grid-template-rows:64px minmax(0,1fr)}.workspace-modal-toolbar{height:64px!important;padding:0 12px!important}.workspace-modal-body{padding:16px 12px 30px!important}
}
@media(max-width:680px){
  body{font-size:13px!important}.page-header h1{font-size:26px!important}.executive-copy h2{font-size:38px!important}.executive-hero{padding:24px 18px!important}.executive-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-metric{min-height:135px;padding:14px}.executive-metric-value{font-size:30px}.app-grid,.app-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.app-tile,.app-tile.premium{min-height:175px!important;padding:14px!important}.app-tile-icon,.app-tile-icon.xl{width:56px!important;height:56px!important}.app-tile-icon .ui-icon,.app-tile-icon.xl .ui-icon{width:25px!important;height:25px!important}.app-tile-body{margin-top:19px!important}.app-tile-body b{font-size:12.5px!important}.app-tile-body small{font-size:9px!important}.health-composition{grid-template-columns:1fr}.health-total{height:100px!important}.health-bars span{grid-template-columns:82px 1fr 26px}.executive-action-grid{grid-template-columns:1fr 1fr}.confirm-card{grid-template-columns:1fr!important;padding:20px!important}.confirm-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.confirm-actions .btn{width:100%!important}.workspace-modal-nav .eyebrow,.workspace-live{display:none!important}.workspace-modal-nav strong{font-size:13px!important}.login-board-grid{grid-template-columns:1fr 1fr}.login-v10-message p{font-size:11px!important}.login-v10-form-head h2{font-size:34px!important}.form-grid{grid-template-columns:1fr!important}.field.span-two{grid-column:auto!important}
}
@media(max-width:430px){.executive-metrics{grid-template-columns:1fr 1fr}.app-grid,.app-grid-premium{grid-template-columns:1fr!important}.executive-action-grid{grid-template-columns:1fr}.login-board-grid{grid-template-columns:1fr 1fr}.login-v10-stage{padding-left:18px!important;padding-right:18px!important}.login-v10-panel{padding-left:18px!important;padding-right:18px!important}.top-nav{grid-template-columns:1fr!important}}
@media(min-width:1900px){.app-grid,.app-grid-premium{grid-template-columns:repeat(5,minmax(0,1fr))!important}.executive-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* Tables remain usable on phones without breaking the page grid. */
.table-wrap{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.table,.data-table{width:100%!important;min-width:760px!important;border-collapse:collapse!important;border-spacing:0!important}.table th,.data-table th{font-size:10px!important;padding:11px 12px!important;background:#eef0f2!important;border:0!important;border-bottom:1px solid var(--dash)!important}.table td,.data-table td{font-size:11px!important;padding:12px!important;border:0!important;border-bottom:1px solid var(--dash-soft)!important;background:#fff!important}.table tbody tr:hover td,.data-table tbody tr:hover td{background:#f8f9fa!important}.card:has(>.table),.card:has(.table-wrap){overflow-x:auto!important}
@media(max-width:680px){.table,.data-table{min-width:680px!important}.table th,.data-table th{font-size:9px!important}.table td,.data-table td{font-size:10px!important}}

/* ======================================================================
   MIRA v0.11 — EDITORIAL EXECUTIVE UI
   Cleaner hierarchy, unmistakable modal workspaces, refined motion.
   User rule remains absolute: zero radius across the entire product.
   ====================================================================== */
:root{
  --v11-page:#f2f3f5;
  --v11-paper:#ffffff;
  --v11-paper-soft:#f8f9fa;
  --v11-ink:#15181d;
  --v11-ink-2:#414750;
  --v11-muted:#747b85;
  --v11-dash:#c9ced5;
  --v11-dash-soft:#e0e3e7;
  --v11-shadow:0 12px 36px rgba(17,23,32,.055);
  --v11-shadow-float:0 24px 70px rgba(12,17,24,.15);
  --v11-modal-shadow:0 40px 120px rgba(8,12,18,.30);
}
html *,html *::before,html *::after{border-radius:0!important}
html,body{background:var(--v11-page)!important;color:var(--v11-ink)!important}
body{font-size:14px!important;line-height:1.58!important;letter-spacing:-.005em!important}

/* Editorial page rhythm */
.app-main{padding-top:30px!important;padding-bottom:46px!important}
.page-header{padding-bottom:18px!important;border-bottom:1px solid var(--v11-dash)!important;margin-bottom:22px!important}
.page-header h1{font-size:clamp(28px,2.15vw,39px)!important;font-weight:650!important;letter-spacing:-.052em!important}
.page-breadcrumb{font-size:10px!important;color:#858b94!important}.page-context{font-size:10.5px!important;background:transparent!important;border:0!important;border-left:1px solid var(--v11-dash)!important;padding:6px 0 6px 12px!important}
.page-footer{padding-bottom:4px!important}
.section-head{align-items:center!important;padding-bottom:13px!important;margin-bottom:16px!important}.section-head h3{font-size:16px!important;letter-spacing:-.025em!important}.section-head span{font-size:10.5px!important;line-height:1.5!important}
.eyebrow{font-size:9.5px!important;letter-spacing:.13em!important;font-weight:750!important}

/* Surfaces are quiet; hierarchy comes from spacing + solid rules. */
.card,.executive-panel,.tenant-pro-card,.integration-card,.access-panel,.form-stage{background:var(--v11-paper)!important;box-shadow:var(--v11-shadow)!important;border:0!important}
.card{padding:clamp(20px,1.9vw,30px)!important}.card h3{font-size:15px!important}.card p{font-size:12px!important;color:var(--v11-muted)!important}
.dashed-card{box-shadow:none!important;border:1px solid var(--v11-dash)!important;background:rgba(255,255,255,.62)!important}

/* Header feels deliberate and slightly larger without becoming bulky. */
.app-header{height:82px!important;background:rgba(248,249,250,.95)!important;box-shadow:0 1px 0 rgba(22,28,36,.08)!important}
.header-bar{padding-left:clamp(16px,2.8vw,58px)!important;padding-right:clamp(16px,2.8vw,58px)!important;gap:28px!important}
.brand-logo{width:44px!important;height:44px!important}.brand-copy strong{font-size:14.5px!important}.brand-copy small{font-size:10px!important}
.nav-link{min-height:48px!important;padding:0 15px!important;font-size:13px!important;transition:background .18s ease,color .18s ease,transform .18s ease!important}
.nav-link:hover{transform:translateY(-1px)!important}.nav-link-icon{width:30px!important;height:30px!important}.nav-link-icon .ui-icon{width:18px!important;height:18px!important}
.user-trigger{min-height:48px!important}.avatar{width:34px!important;height:34px!important}

/* System-wide motion. */
.btn,.icon-btn,.page-back,.workspace-modal-back,.workspace-modal-close,.app-tile,.tenant-pro-card,.integration-card,.module-license-card,.permission-pill,.role-pill,.executive-action-grid a{
  transition:transform .18s cubic-bezier(.2,.75,.25,1),background .18s ease,color .18s ease,box-shadow .18s ease,opacity .18s ease!important
}
.btn{position:relative!important;overflow:hidden!important;min-height:46px!important;padding:0 18px!important;font-size:12.5px!important}
.btn:hover{transform:translateY(-2px)!important;box-shadow:0 13px 26px color-mix(in srgb,var(--brand-accent) 16%,transparent)!important}
.btn:active{transform:translateY(0)!important}.btn .ui-icon{transition:transform .18s ease!important}.btn:hover .ui-icon{transform:translateX(2px)!important}
.btn.secondary:hover .ui-icon,.btn.ghost:hover .ui-icon{transform:translateX(1px)!important}.btn.danger:hover{box-shadow:0 12px 26px rgba(181,42,36,.12)!important}
.icon-btn:hover{transform:translateY(-2px) scale(1.03)!important}.icon-btn:hover .ui-icon{transform:scale(1.08)!important}
.page-back:hover{transform:translateX(-3px)!important}.page-back .ui-icon{transition:transform .18s ease!important}.page-back:hover .ui-icon{transform:translateX(-2px)!important}

/* Forms read like chapters, not disconnected cards. */
.form-stage{grid-template-columns:minmax(270px,.62fr) minmax(0,1.38fr)!important;gap:0!important;overflow:visible!important}
.form-stage-intro{padding:30px 30px 30px 4px!important;border-right:1px solid var(--v11-dash)!important;margin-right:30px!important}.form-stage-intro h2{font-size:clamp(30px,2.3vw,40px)!important;line-height:1.05!important}.form-stage-intro p{font-size:11.5px!important;line-height:1.8!important}
.pro-form{padding:30px!important;box-shadow:none!important}.field label{font-size:11.5px!important}.form input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),.form select,.form textarea,input.input,select.input,textarea.input{min-height:48px!important;font-size:13px!important;background:#f0f2f4!important}.form textarea{min-height:126px!important}.form-divider{margin:30px 0 18px!important}.form-divider span{font-size:9.5px!important;letter-spacing:.11em!important}
.form-actions{margin-top:28px!important;padding-top:18px!important}

/* Upload/drop areas: unmistakable drag & drop zones. */
.dropzone,[data-dropzone]{min-height:210px!important;background:#f8f9fa!important;border:1.5px solid #aeb5be!important;padding:34px!important;position:relative!important;overflow:hidden!important}
.dropzone:before,[data-dropzone]:before{content:"";position:absolute;inset:9px;border:1px solid #e0e3e7;pointer-events:none}
.dropzone:hover,[data-dropzone]:hover,.dropzone.dragging,[data-dropzone].dragging{background:color-mix(in srgb,var(--brand-accent) 5%,white)!important;border-color:var(--brand-accent)!important;transform:translateY(-2px)!important;box-shadow:0 16px 38px rgba(20,25,34,.06)!important}
.dropzone .ui-icon,[data-dropzone] .ui-icon{width:34px!important;height:34px!important}.dropzone b,[data-dropzone] b{font-size:14px!important}.dropzone span,.dropzone small,[data-dropzone] span,[data-dropzone] small{font-size:11px!important;line-height:1.55!important}

/* Module policy — professional license matrix, not toy switches. */
.module-policy-form{gap:0!important}.module-policy-section{position:relative;padding:24px 0 30px!important;border-bottom:1px solid var(--v11-dash)!important}.module-policy-section>.section-head{border-bottom:0!important;margin-bottom:14px!important;padding-bottom:0!important}.module-policy-section>.section-head h3{font-size:19px!important;letter-spacing:-.035em!important}
.module-license-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.module-license-card{min-height:108px!important;grid-template-columns:54px minmax(0,1fr) 96px!important;gap:15px!important;padding:16px!important;background:#f6f7f8!important;box-shadow:none!important;border:1px solid transparent!important;position:relative!important}
.module-license-card:hover{background:#f0f2f4!important;border-color:#c7ccd3!important;transform:translateY(-2px)!important;box-shadow:0 12px 28px rgba(18,24,32,.05)!important}
.module-license-card.active{background:color-mix(in srgb,var(--brand-accent) 5%,white)!important;border-color:color-mix(in srgb,var(--brand-accent) 45%,#cfd4da)!important;box-shadow:none!important}
.module-license-card.core{background:#f2f4f6!important}.module-license-icon{width:54px!important;height:54px!important;background:#fff!important;box-shadow:inset 0 0 0 1px #eceef1!important}.module-license-icon .ui-icon{width:25px!important;height:25px!important}.module-license-copy b{font-size:13px!important;line-height:1.35!important}.module-license-copy small{font-size:10px!important;line-height:1.55!important;margin-top:4px!important;color:#747b85!important}
.module-switch{width:96px!important;height:46px!important;padding:0 12px!important;background:#eceff2!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;border-left:1px solid #c7ccd3!important}
.module-switch:after{display:none!important;content:none!important}.module-switch i{display:block!important;width:9px!important;height:9px!important;background:#aab0b8!important;flex:0 0 auto!important}.module-switch em{font-style:normal!important;font-size:9.5px!important;font-weight:750!important;letter-spacing:.07em!important;text-transform:uppercase!important;color:#666d76!important}.module-license-card.active .module-switch{background:var(--brand-accent)!important;border-left-color:rgba(255,255,255,.35)!important}.module-license-card.active .module-switch i{background:#fff!important}.module-license-card.active .module-switch em{color:#fff!important}.module-license-card.core .module-switch{background:#242a32!important}.module-license-card.core .module-switch i{background:#fff!important}.module-license-card.core .module-switch em{color:#fff!important}

/* The old passive sticky bar becomes an explicit policy command dock. */
.sticky-save-bar.module-policy-dock{position:sticky!important;bottom:12px!important;z-index:35!important;display:grid!important;grid-template-columns:52px minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;padding:13px 14px!important;margin-top:20px!important;background:rgba(255,255,255,.96)!important;border-top:1px solid var(--v11-dash)!important;border-bottom:1px solid var(--v11-dash)!important;box-shadow:0 20px 55px rgba(16,22,30,.13)!important;backdrop-filter:blur(20px)!important}
.module-policy-dock-icon{width:52px;height:52px;display:grid;place-items:center;background:#edf0f3;color:#4e5560}.module-policy-dock-icon .ui-icon{width:23px;height:23px}.module-policy-dock-copy{display:grid;gap:2px;min-width:0}.module-policy-dock-copy b{font-size:13px;letter-spacing:-.015em}.module-policy-dock-copy small{font-size:9.5px;color:var(--v11-muted)}.module-policy-dock-actions{display:flex;align-items:center;gap:10px}.module-policy-count{min-height:34px;padding:0 11px;display:flex;align-items:center;background:#f0f2f4;color:#6d747e;font-size:10px;font-weight:700;border-left:2px solid #c7ccd3}.module-policy-dock.has-changes{box-shadow:0 23px 65px rgba(16,22,30,.18)!important}.module-policy-dock.has-changes .module-policy-dock-icon{background:var(--accent-soft)!important;color:var(--brand-accent)!important}.module-policy-dock.has-changes .module-policy-count{background:var(--accent-soft)!important;color:var(--brand-accent)!important;border-left-color:var(--brand-accent)!important}

/* Permission controls: clearer selection state and larger readable labels. */
.permission-pills{gap:11px!important}.permission-pill{min-height:76px!important;padding:14px!important;background:#f4f5f7!important;border:1px solid transparent!important;border-left:3px solid transparent!important}.permission-pill:hover{background:#eef0f3!important;border-color:#d0d4da!important;transform:translateY(-1px)!important}.permission-pill.selected{background:var(--accent-soft)!important;border-color:color-mix(in srgb,var(--brand-accent) 30%,#d3d7dd)!important;border-left-color:var(--brand-accent)!important}.permission-pill b{font-size:12.5px!important}.permission-pill small{font-size:10.5px!important}.permission-check{width:30px!important;height:30px!important}.role-pill{min-height:46px!important;font-size:12px!important}.segmented-permission label{min-height:42px!important;font-size:11px!important}

/* ======================================================================
   Workspace modal: must LOOK like a modal, even when nearly fullscreen.
   ====================================================================== */
.workspace-modal[hidden]{display:none!important}
.workspace-modal{
  position:fixed!important;inset:0!important;z-index:300!important;
  padding:clamp(8px,1vw,14px)!important;
  display:grid!important;grid-template-rows:minmax(0,1fr)!important;
  background:rgba(12,17,24,.44)!important;
  backdrop-filter:blur(12px) saturate(110%)!important;
  animation:v11BackdropIn .18s ease-out!important;
}
.workspace-modal-frame{
  width:100%!important;height:100%!important;min-height:0!important;
  display:grid!important;grid-template-rows:76px minmax(0,1fr)!important;
  overflow:hidden!important;background:#fff!important;
  box-shadow:var(--v11-modal-shadow)!important;
  outline:1px solid rgba(255,255,255,.46)!important;outline-offset:4px!important;
  animation:v11ModalIn .22s cubic-bezier(.2,.75,.25,1)!important;
}
.workspace-modal-toolbar{height:76px!important;padding:0 clamp(14px,2.1vw,34px)!important;background:#fff!important;backdrop-filter:none!important;border-bottom:1px solid var(--v11-dash)!important;box-shadow:none!important}
.workspace-modal-nav,.workspace-modal-actions{gap:13px!important}.workspace-modal-heading{display:grid!important;gap:2px!important}.workspace-modal-kicker{display:flex!important;align-items:center!important;gap:7px!important;color:#8a9099!important;font-size:8.5px!important;font-weight:750!important;letter-spacing:.14em!important}.workspace-modal-kicker i{width:7px;height:7px;background:var(--brand-accent)!important}.workspace-modal-nav strong{font-size:16px!important;font-weight:650!important;letter-spacing:-.025em!important;color:#20242a!important}
.workspace-modal-back,.workspace-modal-close{width:48px!important;height:48px!important;background:#eef0f2!important;color:#353b44!important;border:0!important;box-shadow:none!important}.workspace-modal-back .ui-icon,.workspace-modal-close .ui-icon{width:20px!important;height:20px!important;transition:transform .2s ease!important}.workspace-modal-back:hover{background:#e4e7ea!important;transform:translateX(-3px)!important}.workspace-modal-back:hover .ui-icon{transform:translateX(-2px)!important}.workspace-modal-close{background:#171b21!important;color:#fff!important}.workspace-modal-close:hover{background:#c63832!important;transform:translateY(-2px)!important}.workspace-modal-close:hover .ui-icon{transform:rotate(90deg) scale(1.08)!important}.workspace-modal-close:active{transform:translateY(0)!important}.workspace-modal-hint{font-size:8px!important;font-weight:750!important;letter-spacing:.09em!important;color:#969ca4!important;border-left:1px solid var(--v11-dash)!important;padding-left:12px!important}.workspace-live{font-size:10px!important;background:#f4f6f7!important;padding:7px 9px!important}.workspace-live i{background:#249449!important}
.workspace-modal-body{min-height:0!important;overflow:auto!important;padding:26px clamp(16px,2.4vw,42px) 44px!important;background:#f4f5f7!important;scrollbar-gutter:stable!important}.workspace-content{max-width:1760px!important;margin:0 auto!important}.workspace-content>.page-header{display:none!important}.workspace-content>.product-hero:first-child,.workspace-content>.hub-hero:first-child,.workspace-content>.form-stage:first-child{margin-top:0!important}.workspace-content .card,.workspace-content .form-stage,.workspace-content .product-hero,.workspace-content .hub-hero{box-shadow:0 10px 34px rgba(16,22,30,.05)!important}
.workspace-loading,.workspace-error{min-height:calc(100dvh - 180px)!important}.workspace-loading span{width:38px!important;height:38px!important;border:2px solid #c8cdd4!important;border-top-color:var(--brand-accent)!important}.workspace-loading b,.workspace-error b{font-size:15px!important}.workspace-loading small,.workspace-error p{font-size:10.5px!important}
@keyframes v11BackdropIn{from{background:rgba(12,17,24,0);backdrop-filter:blur(0)}to{background:rgba(12,17,24,.44);backdrop-filter:blur(12px)}}
@keyframes v11ModalIn{from{opacity:.25;transform:translateY(12px) scale(.995)}to{opacity:1;transform:none}}

/* Confirmation modal gets the same visual language. */
.confirm-dialog{width:min(590px,calc(100vw - 28px))!important;background:transparent!important}.confirm-dialog::backdrop{background:rgba(12,17,24,.44)!important;backdrop-filter:blur(10px)!important}.confirm-card{padding:28px!important;box-shadow:var(--v11-modal-shadow)!important;border-top:1px solid var(--v11-dash)!important;border-bottom:1px solid var(--v11-dash)!important}.confirm-icon{background:#fff1e5!important}.confirm-copy h3{font-size:20px!important;letter-spacing:-.03em!important}.confirm-copy p{font-size:11.5px!important}.confirm-actions{padding-top:18px!important}

/* Dashboard / application-center refinements. */
.executive-panel-head h3{font-size:17px!important}.executive-panel-head p{font-size:10.5px!important}.executive-panel-head>a{font-size:10.5px!important;transition:transform .18s ease!important}.executive-panel-head>a:hover{transform:translateX(3px)!important}
.app-tile{min-height:220px!important;padding:22px!important;box-shadow:0 10px 32px rgba(16,22,30,.045)!important;border-top:1px solid transparent!important;border-bottom:1px solid transparent!important}.app-tile:hover{transform:translateY(-4px)!important;border-top-color:var(--v11-dash)!important;border-bottom-color:var(--v11-dash)!important;box-shadow:0 22px 52px rgba(16,22,30,.095)!important}.app-tile-icon{width:64px!important;height:64px!important}.app-tile-icon .ui-icon{width:29px!important;height:29px!important}.app-tile-body b{font-size:15px!important}.app-tile-body small{font-size:10px!important}.app-tile-meta em{font-size:9.5px!important;background:#eef0f2!important}

/* Tables are cleaner and book-like. */
.table-wrap{background:#fff!important;box-shadow:var(--v11-shadow)!important}.table th,.data-table th{font-size:10.5px!important;padding:13px 14px!important;background:#eceff2!important;color:#626973!important}.table td,.data-table td{font-size:12px!important;padding:14px!important;border-bottom:1px solid var(--v11-dash-soft)!important}.table tbody tr:hover td,.data-table tbody tr:hover td{background:#f6f7f9!important}

/* Login gets a little more visual depth without compromising clarity. */
.login-v10-stage{background:linear-gradient(145deg,#111923 0%,#172431 50%,#0d151e 100%)!important}.login-v10-stage:after{background-size:44px 44px!important;opacity:.9!important}.login-v10-message h1{font-weight:570!important;text-wrap:balance!important}.login-v10-board{border-color:#5e6a77!important}.login-v10-panel{background:#f4f5f7!important}.login-v10-form-wrap{width:min(450px,100%)!important}.login-v10-form-head h2{font-size:44px!important}.login-v10-form input{font-size:13.5px!important}.login-submit:hover{transform:translateY(-2px)!important}

/* Responsive: preserve modal frame identity on every device. */
@media(max-width:1420px){.module-license-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:980px){
  .app-header{height:70px!important}.top-nav{top:70px!important}.app-main{padding-left:14px!important;padding-right:14px!important}
  .form-stage{grid-template-columns:1fr!important}.form-stage-intro{position:static!important;border-right:0!important;border-bottom:1px solid var(--v11-dash)!important;margin-right:0!important;padding:22px 20px!important}.pro-form{padding:22px!important}
  .workspace-modal{padding:8px!important}.workspace-modal-frame{grid-template-rows:68px minmax(0,1fr)!important}.workspace-modal-toolbar{height:68px!important;padding:0 10px!important}.workspace-modal-body{padding:18px 12px 30px!important}.workspace-modal-hint{display:none!important}.workspace-modal-back,.workspace-modal-close{width:44px!important;height:44px!important}.workspace-modal-kicker{font-size:7.5px!important}
  .module-license-grid{grid-template-columns:1fr!important}.sticky-save-bar.module-policy-dock{grid-template-columns:44px minmax(0,1fr)!important}.module-policy-dock-icon{width:44px;height:44px}.module-policy-dock-actions{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important}.module-policy-dock-actions .btn{width:100%!important}
}
@media(max-width:680px){
  body{font-size:13.5px!important}.page-header h1{font-size:28px!important}.workspace-modal{padding:5px!important}.workspace-modal-frame{grid-template-rows:62px minmax(0,1fr)!important}.workspace-modal-toolbar{height:62px!important}.workspace-modal-nav strong{font-size:13.5px!important}.workspace-modal-kicker,.workspace-live{display:none!important}.workspace-modal-back,.workspace-modal-close{width:42px!important;height:42px!important}.workspace-modal-body{padding:12px 8px 24px!important}
  .module-license-card{grid-template-columns:48px minmax(0,1fr) 82px!important;padding:13px!important;gap:11px!important}.module-license-icon{width:48px!important;height:48px!important}.module-switch{width:82px!important;height:42px!important;padding:0 8px!important}.module-switch em{font-size:8.5px!important}.module-license-copy b{font-size:12px!important}.module-license-copy small{font-size:9.5px!important}
  .sticky-save-bar.module-policy-dock{bottom:5px!important;padding:10px!important}.module-policy-dock-copy small{display:none!important}.module-policy-dock-actions{grid-template-columns:1fr!important}.module-policy-count{display:none!important}.module-policy-dock-actions .btn{min-height:48px!important}
  .app-tile{min-height:185px!important}.app-tile-body b{font-size:13.5px!important}.app-tile-body small{font-size:9.5px!important}
  .confirm-card{padding:22px!important}.confirm-copy h3{font-size:18px!important}
}
@media(max-width:430px){.workspace-modal{padding:3px!important}.workspace-modal-body{padding:10px 6px 22px!important}.module-license-card{grid-template-columns:44px minmax(0,1fr)!important}.module-switch{grid-column:1/-1!important;width:100%!important;height:36px!important;border-left:0!important;border-top:1px solid #c7ccd3!important}.module-policy-dock-icon{display:none!important}.sticky-save-bar.module-policy-dock{grid-template-columns:1fr!important}.module-policy-dock-copy{padding:0 2px!important}}


/* ======================================================================
   MIRA v0.12 — PRECISION UI REFINEMENT
   Semantic icons, quieter hero scale, nested CRUD modal, date controls,
   static permission headers and separated device-profile summary.
   ====================================================================== */

/* Re-assert sharp geometry after every legacy layer. */
html *,html *::before,html *::after{border-radius:0!important}

/* Hero typography: one measured step smaller, not tiny. */
.executive-copy h2{
  font-size:clamp(31px,3.25vw,52px)!important;
  line-height:1.035!important;
  letter-spacing:-.052em!important;
}
.product-hero h2,.hub-hero h2{
  font-size:clamp(25px,2.45vw,37px)!important;
  line-height:1.06!important;
  letter-spacing:-.047em!important;
}
.page-intro h2,.integration-detail-head h2{
  font-size:clamp(20px,1.75vw,27px)!important;
  line-height:1.12!important;
}

/* Role editor heading belongs to the document flow; it no longer follows scroll. */
.permission-head{
  position:static!important;
  top:auto!important;
  z-index:auto!important;
  background:transparent!important;
  backdrop-filter:none!important;
  padding-top:0!important;
}

/* Institution portfolio: full-width list, short top action, no side form. */
.tenant-portfolio{width:100%;display:grid;gap:14px}
.tenant-list-head{align-items:center!important}
.compact-action{min-height:40px!important;padding:0 13px!important;white-space:nowrap}
.tenant-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.tenant-pro-card{
  min-height:238px!important;
  padding:18px!important;
  display:flex!important;
  flex-direction:column!important;
  border-top:1px solid transparent!important;
  border-bottom:1px solid transparent!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease!important;
}
.tenant-pro-card:hover{transform:translateY(-3px)!important;border-color:var(--dash)!important;box-shadow:0 20px 44px rgba(18,24,32,.09)!important}
.tenant-pro-card .tenant-actions{margin-top:auto!important;padding-top:14px!important;border-top:1px solid var(--dash-soft)!important}
.tenant-empty{min-height:240px!important}

/* Secondary / nested CRUD modal.
   It clearly reads as a modal over the main workspace. */
.child-workspace-modal[hidden]{display:none!important}
.child-workspace-modal{
  position:fixed!important;
  inset:0!important;
  z-index:390!important;
  display:grid!important;
  place-items:center!important;
  padding:clamp(22px,5vh,58px) clamp(14px,8vw,150px)!important;
  background:rgba(10,14,20,.58)!important;
  backdrop-filter:blur(14px) saturate(105%)!important;
  animation:v12ChildBackdrop .16s ease-out!important;
}
.child-workspace-frame{
  width:min(920px,100%)!important;
  max-height:calc(100dvh - clamp(44px,10vh,116px))!important;
  min-height:420px!important;
  display:grid!important;
  grid-template-rows:68px minmax(0,1fr)!important;
  background:#fff!important;
  box-shadow:0 34px 110px rgba(5,10,18,.34)!important;
  outline:1px solid rgba(255,255,255,.52)!important;
  outline-offset:5px!important;
  overflow:hidden!important;
  animation:v12ChildIn .2s cubic-bezier(.2,.78,.25,1)!important;
}
.child-workspace-toolbar{
  min-height:68px!important;
  padding:0 16px 0 22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  border-bottom:1px solid var(--dash)!important;
  background:#fff!important;
}
.child-workspace-heading{display:grid!important;gap:2px!important;min-width:0!important}
.child-workspace-kicker{display:flex!important;align-items:center!important;gap:7px!important;color:#8a9099!important;font-size:8px!important;font-weight:750!important;letter-spacing:.14em!important}
.child-workspace-kicker i{width:7px!important;height:7px!important;background:var(--brand-accent)!important}
.child-workspace-heading strong{font-size:15px!important;font-weight:650!important;letter-spacing:-.025em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.child-workspace-close{
  width:44px!important;height:44px!important;display:grid!important;place-items:center!important;
  border:0!important;background:#171b21!important;color:#fff!important;cursor:pointer!important;
  transition:transform .18s ease,background .18s ease!important;
}
.child-workspace-close .ui-icon{width:19px!important;height:19px!important;transition:transform .2s ease!important}
.child-workspace-close:hover{background:#c63832!important;transform:translateY(-2px)!important}
.child-workspace-close:hover .ui-icon{transform:rotate(90deg) scale(1.07)!important}
.child-workspace-body{min-height:0!important;overflow:auto!important;padding:24px!important;background:#f3f4f6!important}
.child-workspace-content{max-width:820px!important;margin:0 auto!important}
.child-workspace-content>.page-header{display:none!important}
.child-workspace-content .modal-form-sheet{margin:0!important}
@keyframes v12ChildBackdrop{from{opacity:0}to{opacity:1}}
@keyframes v12ChildIn{from{opacity:.25;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}
body.child-workspace-open{overflow:hidden!important}

/* Modal CRUD form — clean chapter-like layout. */
.modal-form-sheet{background:#fff!important;box-shadow:0 12px 36px rgba(18,24,32,.055)!important}
.modal-form-intro{
  display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;gap:16px!important;
  align-items:start!important;padding:22px!important;border-bottom:1px solid var(--dash)!important;
}
.modal-form-icon{width:58px!important;height:58px!important;display:grid!important;place-items:center!important;background:#eef0f3!important;color:var(--brand-accent)!important}
.modal-form-icon .ui-icon{width:26px!important;height:26px!important}
.modal-form-intro h2{margin:3px 0 5px!important;font-size:22px!important;letter-spacing:-.035em!important}
.modal-form-intro p{margin:0!important;max-width:610px!important;color:var(--muted)!important;font-size:10.5px!important;line-height:1.65!important}
.modal-crud-form{padding:22px!important}
.modal-form-note{
  min-height:72px!important;padding:13px!important;background:#f1f3f5!important;
  display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;
  border-left:2px solid var(--brand-accent)!important;
}
.modal-form-note>span{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;background:#fff!important;color:var(--brand-accent)!important}
.modal-form-note .ui-icon{width:17px!important;height:17px!important}
.modal-form-note b{display:block!important;font-size:11px!important}.modal-form-note small{display:block!important;margin-top:2px!important;color:var(--muted)!important;font-size:9px!important;line-height:1.5!important}
.modal-form-actions{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important;border-top:1px solid var(--dash)!important;padding-top:16px!important;margin-top:3px!important}

/* Modern date inputs: the entire field is clickable and visually consistent. */
.modern-date-control{
  position:relative!important;width:100%!important;min-height:46px!important;
  display:block!important;background:#eef0f2!important;box-shadow:inset 0 -1px 0 #d9dde2!important;
  overflow:hidden!important;cursor:pointer!important;
}
.modern-date-control:focus-within{background:#fff!important;box-shadow:inset 0 -2px 0 var(--brand-accent),0 8px 25px rgba(20,25,34,.045)!important}
.modern-date-display{
  min-height:46px!important;padding:0 13px!important;display:grid!important;
  grid-template-columns:19px minmax(0,1fr) 10px!important;gap:10px!important;align-items:center!important;
  color:#747a84!important;font-size:12px!important;font-weight:550!important;pointer-events:none!important;
}
.modern-date-control.has-value .modern-date-display{color:#20242a!important;font-weight:600!important}
.modern-date-display svg{width:18px!important;height:18px!important;color:var(--brand-accent)!important}
.modern-date-display i{width:7px!important;height:7px!important;border-right:1.5px solid #777e87!important;border-bottom:1.5px solid #777e87!important;transform:rotate(45deg) translateY(-2px)!important}
.modern-date-native{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  opacity:0!important;cursor:pointer!important;z-index:2!important;padding:0!important;margin:0!important;
}
.modern-date-native::-webkit-calendar-picker-indicator{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;cursor:pointer!important}

/* Date-range filter popover. */
.date-filter-shell{position:relative!important;margin:15px 0 18px!important;width:max-content!important;max-width:100%!important;z-index:12!important}
.date-filter-trigger{
  min-width:min(360px,100%)!important;min-height:58px!important;padding:0 14px!important;
  display:grid!important;grid-template-columns:38px minmax(0,1fr) 18px!important;gap:10px!important;align-items:center!important;
  border:0!important;background:#eef0f2!important;color:#24282e!important;text-align:left!important;cursor:pointer!important;
  border-left:2px solid var(--brand-accent)!important;
  transition:background .17s ease,transform .17s ease,box-shadow .17s ease!important;
}
.date-filter-trigger:hover{background:#e7eaed!important;transform:translateY(-1px)!important;box-shadow:0 10px 24px rgba(18,24,32,.055)!important}
.date-filter-trigger-icon{width:38px!important;height:38px!important;display:grid!important;place-items:center!important;background:#fff!important;color:var(--brand-accent)!important}
.date-filter-trigger-icon .ui-icon{width:18px!important;height:18px!important}
.date-filter-trigger-copy{display:grid!important;gap:2px!important;min-width:0!important}
.date-filter-trigger-copy small{font-size:7.5px!important;letter-spacing:.12em!important;color:#8a9099!important;font-weight:750!important}
.date-filter-trigger-copy b{font-size:11.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.date-filter-trigger>.ui-icon{width:16px!important;height:16px!important;color:#7e858e!important;transition:transform .18s ease!important}
.date-filter-trigger[aria-expanded="true"]>.ui-icon{transform:rotate(90deg)!important}
.date-filter-popover{
  position:absolute!important;left:0!important;top:calc(100% + 8px)!important;width:min(570px,calc(100vw - 40px))!important;
  padding:18px!important;background:#fff!important;box-shadow:0 26px 75px rgba(10,15,22,.18)!important;
  border-top:1px solid var(--dash)!important;border-bottom:1px solid var(--dash)!important;z-index:80!important;
}
.date-filter-popover-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:15px!important;padding-bottom:12px!important;border-bottom:1px solid var(--dash-soft)!important}
.date-filter-popover-head h4{margin:2px 0 0!important;font-size:15px!important;letter-spacing:-.02em!important}
.date-filter-close{width:38px!important;height:38px!important;border:0!important;background:#eef0f2!important;display:grid!important;place-items:center!important;cursor:pointer!important;transition:.18s ease!important}
.date-filter-close:hover{background:#1d2229!important;color:#fff!important;transform:rotate(90deg)!important}
.date-filter-close .ui-icon{width:16px!important;height:16px!important}
.date-preset-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin:14px 0!important}
.date-preset-grid button{min-height:40px!important;border:0!important;background:#f0f2f4!important;color:#4d535b!important;font:600 10.5px/1 "Poppins",sans-serif!important;cursor:pointer!important;transition:.16s ease!important}
.date-preset-grid button:hover{background:var(--accent-soft)!important;color:var(--brand-accent)!important;transform:translateY(-1px)!important}
.date-custom-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;padding-top:13px!important;border-top:1px solid var(--dash-soft)!important}
.date-filter-actions{display:flex!important;justify-content:flex-end!important;gap:7px!important;margin-top:14px!important;padding-top:13px!important;border-top:1px solid var(--dash-soft)!important}

/* Device profile summary is its own visual chapter and no longer collides
   with the category/revision cards below. */
.device-profile-intro{margin-bottom:16px!important}
.profile-summary-zone{
  margin:0 0 28px!important;padding:20px 0 24px!important;
  border-top:1px solid var(--dash)!important;border-bottom:1px solid var(--dash)!important;
}
.profile-summary-head{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:18px!important;margin-bottom:14px!important}
.profile-summary-head h3{margin:3px 0 2px!important;font-size:16px!important;letter-spacing:-.025em!important}
.profile-summary-head p{margin:0!important;color:var(--muted)!important;font-size:10px!important}
.profile-summary-count{min-height:34px!important;padding:0 10px!important;display:flex!important;align-items:center!important;background:#eef0f2!important;font-size:9.5px!important;font-weight:700!important;color:#606771!important;border-left:2px solid var(--brand-accent)!important}
.profile-summary-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important}
.profile-summary-card{
  min-height:112px!important;padding:16px!important;display:grid!important;
  grid-template-columns:52px minmax(0,1fr) auto!important;gap:13px!important;align-items:center!important;
  background:#fff!important;box-shadow:0 10px 30px rgba(18,24,32,.05)!important;
  border-top:1px solid transparent!important;border-bottom:1px solid transparent!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.profile-summary-card:hover{transform:translateY(-2px)!important;border-color:var(--dash)!important;box-shadow:0 18px 42px rgba(18,24,32,.085)!important}
.profile-summary-icon{width:52px!important;height:52px!important;display:grid!important;place-items:center!important;background:#eef0f3!important;color:var(--brand-accent)!important}
.profile-summary-icon .ui-icon{width:24px!important;height:24px!important}
.profile-summary-copy{min-width:0!important}.profile-code{display:block!important;font-size:8px!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#9298a1!important;font-weight:700!important}.profile-summary-copy h3{margin:3px 0 2px!important;font-size:12.5px!important;letter-spacing:-.018em!important}.profile-summary-copy p{margin:0!important;font-size:9.5px!important;color:var(--muted)!important}
.profile-state{display:flex!important;align-items:center!important;gap:6px!important;font-size:8.5px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.06em!important;color:#447153!important}.profile-state i{width:7px!important;height:7px!important;background:#2f9850!important}
.profile-content-divider{display:flex!important;align-items:center!important;gap:12px!important;margin:0 0 14px!important;color:#9298a1!important;font-size:8px!important;font-weight:750!important;letter-spacing:.12em!important}
.profile-content-divider:before,.profile-content-divider:after{content:"";height:1px!important;border-top:1px solid var(--dash)!important;flex:1!important}
.device-profile-content{margin-top:0!important;row-gap:16px!important}
.profile-category-form{align-self:start!important}
.revision-inline{max-width:680px!important}.revision-inline input{min-width:260px!important}

/* Small systemic motion; buttons/icons feel responsive without looking playful. */
.btn .ui-icon,.nav-link .ui-icon,.tenant-actions .ui-icon{transition:transform .17s ease!important}
.btn:hover .ui-icon{transform:translateX(2px)!important}
.btn.secondary:hover .ui-icon,.btn.ghost:hover .ui-icon{transform:translateX(1px)!important}

/* Mobile / tablet tuning for new components. */
@media(max-width:1280px){
  .tenant-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .profile-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:980px){
  .tenant-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .profile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .child-workspace-modal{padding:18px!important}
  .child-workspace-frame{max-height:calc(100dvh - 36px)!important}
  .date-filter-popover{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:12px!important;width:auto!important;max-height:calc(100dvh - 24px)!important;overflow:auto!important}
}
@media(max-width:680px){
  .executive-copy h2{font-size:34px!important}
  .product-hero h2,.hub-hero h2{font-size:27px!important}
  .tenant-card-grid,.profile-summary-grid{grid-template-columns:1fr!important}
  .profile-summary-head{align-items:flex-start!important;flex-direction:column!important}
  .profile-summary-card{grid-template-columns:48px minmax(0,1fr) auto!important}
  .child-workspace-modal{padding:6px!important}
  .child-workspace-frame{width:100%!important;max-height:calc(100dvh - 12px)!important;grid-template-rows:62px minmax(0,1fr)!important}
  .child-workspace-toolbar{min-height:62px!important;padding:0 8px 0 14px!important}.child-workspace-body{padding:10px!important}
  .modal-form-intro{grid-template-columns:46px minmax(0,1fr)!important;padding:16px!important}.modal-form-icon{width:46px!important;height:46px!important}.modal-form-intro h2{font-size:18px!important}
  .modal-crud-form{padding:16px!important}.modal-form-actions{display:grid!important;grid-template-columns:1fr 1fr!important}.modal-form-actions .btn{width:100%!important}
  .date-filter-shell{width:100%!important}.date-filter-trigger{width:100%!important;min-width:0!important}
  .date-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.date-custom-grid{grid-template-columns:1fr!important}
  .revision-inline{width:100%!important;display:grid!important;grid-template-columns:1fr!important}.revision-inline input{min-width:0!important;width:100%!important}.revision-inline .btn{width:100%!important}
}
@media(max-width:430px){
  .modal-form-actions{grid-template-columns:1fr!important}
  .profile-summary-card{grid-template-columns:44px minmax(0,1fr)!important}.profile-state{grid-column:1/-1!important;padding-top:8px!important;border-top:1px solid var(--dash-soft)!important}
}


/* ======================================================================
   MIRA v0.12.1 — PROFESSIONAL CHOICE BUTTONS + SEMANTIC DEVICE ACTIONS
   ====================================================================== */

/* Standalone native checkbox/radio: fixed-size button surface with an SVG
   mark painted by background-image. No pseudo-element = no drifting tick. */
input[type="checkbox"]:not(.visually-hidden),
input[type="radio"]:not(.visually-hidden){
  -webkit-appearance:none!important;appearance:none!important;
  width:36px!important;height:36px!important;min-width:36px!important;margin:0!important;
  display:inline-grid!important;place-items:center!important;
  border:1px solid #aeb5be!important;background-color:#eef0f3!important;
  background-repeat:no-repeat!important;background-position:center!important;background-size:17px 17px!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72)!important;
  cursor:pointer!important;vertical-align:middle!important;
  transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
input[type="checkbox"]:not(.visually-hidden):hover,
input[type="radio"]:not(.visually-hidden):hover{transform:translateY(-1px)!important;background-color:#e5e8ec!important;border-color:#8f98a3!important}
input[type="checkbox"]:not(.visually-hidden):checked,
input[type="radio"]:not(.visually-hidden):checked{
  background-color:var(--brand-accent)!important;border-color:var(--brand-accent)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E")!important;
  box-shadow:none!important;
}
input[type="checkbox"]:not(.visually-hidden):checked:after,
input[type="radio"]:not(.visually-hidden):checked:after{content:none!important;display:none!important}
input[type="checkbox"]:disabled,input[type="radio"]:disabled{opacity:.5!important;cursor:not-allowed!important;transform:none!important}

/* Text checkbox rows become complete selection buttons. */
label.switch-row,label.check{
  position:relative!important;min-height:46px!important;padding:0 15px 0 52px!important;
  display:inline-flex!important;align-items:center!important;gap:10px!important;
  border:1px solid #c8cdd4!important;background:#f2f4f6!important;color:#3d434b!important;
  font-size:12px!important;font-weight:650!important;cursor:pointer!important;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease!important;
}
label.switch-row:hover,label.check:hover{transform:translateY(-1px)!important;background:#eceff2!important;border-color:#aab1ba!important}
label.switch-row>input[type="checkbox"],label.check>input[type="checkbox"]{
  position:absolute!important;left:10px!important;top:50%!important;transform:translateY(-50%)!important;
  width:30px!important;height:30px!important;min-width:30px!important;
}
label.switch-row:hover>input[type="checkbox"],label.check:hover>input[type="checkbox"]{transform:translateY(calc(-50% - 1px))!important}
label.switch-row:has(input:checked),label.check:has(input:checked){
  background:color-mix(in srgb,var(--brand-accent) 8%,white)!important;
  border-color:color-mix(in srgb,var(--brand-accent) 42%,#c8cdd4)!important;color:#20252b!important;
}

/* Components that already use the whole card as the click target: hide the
   native control completely and make the card itself read as the button. */
.permission-pill>input[type="checkbox"],.role-pill>input[type="checkbox"],.switch-pill>input[type="checkbox"],
.module-choice>input[type="checkbox"],.module-license-card>input[type="checkbox"]{
  position:absolute!important;width:1px!important;height:1px!important;min-width:1px!important;opacity:0!important;pointer-events:none!important;
  background:none!important;border:0!important;box-shadow:none!important;
}
.permission-pill,.role-pill,.switch-pill>span,.module-choice,.module-license-card{
  transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.permission-pill:hover,.role-pill:hover,.module-choice:hover,.module-license-card:hover{transform:translateY(-2px)!important}
.role-pill>span,.switch-pill>span{min-height:44px!important;padding:0 14px!important;border:1px solid #c8cdd4!important;background:#eef0f3!important;display:inline-flex!important;align-items:center!important;gap:8px!important}
.role-pill input:checked+span,.switch-pill input:checked+span{background:color-mix(in srgb,var(--brand-accent) 9%,white)!important;border-color:var(--brand-accent)!important;color:var(--brand-accent)!important}
.role-pill input:checked+span .ui-icon{color:var(--brand-accent)!important}

/* Permission check surface is itself a clear square button. */
.permission-check{width:34px!important;height:34px!important;min-width:34px!important;background:#fff!important;border:1px solid #aeb5be!important;color:transparent!important;display:grid!important;place-items:center!important}
.permission-pill.selected .permission-check{
  background:var(--brand-accent)!important;border-color:var(--brand-accent)!important;color:#fff!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:center!important;background-size:16px 16px!important;
}
.permission-pill.selected .permission-check .ui-icon{opacity:0!important}

/* Semantic device actions: same geometry, different visual role. */
.device-table .row-actions{gap:7px!important}.device-table .icon-btn{position:relative!important}
.device-table .icon-btn[title="Aç"]{background:#eaf7ef!important;color:#197344!important}
.device-table .icon-btn[title="Wi‑Fi aç"]{background:#eaf2ff!important;color:#2468c9!important}
.device-table .icon-btn[title="Wi‑Fi kapat"]{background:#f3eefc!important;color:#7350a8!important}
.device-table .icon-btn[title="Pasife al"]{background:#fff4e8!important;color:#a45c12!important}
.device-table .icon-btn[title="Etkinleştir"]{background:#eaf7ef!important;color:#197344!important}
.device-table .icon-btn[title="Düzenle"]{background:#eef0f3!important;color:#4f5864!important}
.device-table .icon-btn[title="Sil"]{background:#fff0ef!important;color:#c03932!important}
.device-table .icon-btn[title="BLE tara"]{background:#eaf7f7!important;color:#24767a!important}
.device-table .icon-btn[title="Geri yükle"]{background:#eef5ec!important;color:#4f7a3f!important}
.icon-text-link{display:inline-flex!important;align-items:center!important;gap:6px!important}.icon-text-link .ui-icon{width:14px!important;height:14px!important}

/* Slightly stronger focus for keyboard/mobile accessibility. */
input[type="checkbox"]:focus-visible,input[type="radio"]:focus-visible,.role-pill:focus-within,.permission-pill:focus-within,.module-choice:focus-within,.module-license-card:focus-within{
  outline:2px solid color-mix(in srgb,var(--brand-accent) 65%,white)!important;outline-offset:3px!important;
}

@media(max-width:680px){
  label.switch-row,label.check{width:100%!important;min-height:48px!important}
  .role-pill>span,.switch-pill>span{min-height:46px!important}
  input[type="checkbox"]:not(.visually-hidden),input[type="radio"]:not(.visually-hidden){width:38px!important;height:38px!important;min-width:38px!important}
}

/* ============================================================
   Mira v0.14 · professional tenant context / safe realtime UI
   ============================================================ */
.tenant-context-chip{display:flex;align-items:center;gap:9px;min-width:150px;max-width:250px;padding:7px 10px;border:1px solid rgba(15,23,42,.08);border-radius:12px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 5px 18px rgba(15,23,42,.04)}
.tenant-context-chip>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.tenant-context-chip small{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#7b8190)}.tenant-context-chip b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tenant-context-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--brand-accent) 11%,#fff);color:var(--brand-accent)}.tenant-context-chip.needs-context{border-color:rgba(217,119,6,.24);background:#fffbeb}
.onboarding-progress-banner{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:10px 14px;border-radius:14px;text-decoration:none;color:inherit;background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid rgba(15,23,42,.08)}.onboarding-progress-banner>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--brand-accent) 12%,#fff);color:var(--brand-accent)}.onboarding-progress-banner div{display:flex;flex-direction:column;flex:1}.onboarding-progress-banner small{color:var(--muted,#7b8190)}.onboarding-progress-banner b{font-size:13px}
.page-live-status{display:flex;align-items:center;gap:7px}.page-live-status button{border:0;border-radius:999px;padding:5px 9px;font:inherit;font-size:10px;font-weight:700;cursor:pointer;background:#111827;color:#fff}.page-live-status[data-state="changed"]{background:#fff8e8;border-color:#f1d18a}.page-live-status[data-state="changed"] i{background:#f59e0b}.page-live-status[data-state="error"] i{background:#ef4444}.live-value-flash{animation:mira-value-flash .7s ease}@keyframes mira-value-flash{0%{background:rgba(34,197,94,.2)}100%{background:transparent}}
.context-required{min-height:52vh;display:grid;align-content:center;gap:24px}.context-required-copy{max-width:760px}.context-required-copy h2{margin:.3rem 0;font-size:clamp(28px,4vw,48px);letter-spacing:-.04em}.context-required-copy p{max-width:680px;color:var(--muted,#6b7280)}.context-pick-grid,.tenant-card-grid-v14{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.context-pick-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:18px;box-shadow:0 10px 30px rgba(15,23,42,.04)}.context-pick-card h3{margin:0}.context-pick-card p{margin:0 0 8px;color:var(--muted,#6b7280)}
.tenant-type-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:16px 0}.tenant-type-box{display:flex;align-items:center;gap:10px;padding:13px;border-radius:14px;background:#fff;border:1px solid rgba(15,23,42,.08);text-decoration:none;color:inherit}.tenant-type-box.active{border-color:color-mix(in srgb,var(--brand-accent) 40%,#d1d5db);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-accent) 8%,transparent)}.tenant-type-box>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;background:#f4f5f7}.tenant-type-box div{display:flex;flex-direction:column}.tenant-type-box b{font-size:13px}.tenant-type-box small{color:var(--muted,#6b7280)}
.tenant-pro-card,.partner-card{position:relative;padding:18px;border-radius:18px;border:1px solid rgba(15,23,42,.08);background:#fff;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.tenant-pro-card:hover,.partner-card:hover{transform:translateY(-2px);box-shadow:0 18px 45px rgba(15,23,42,.08);border-color:rgba(15,23,42,.14)}.tenant-pro-card.is-current{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-accent) 34%,transparent)}
.card-corner-actions{position:absolute;right:10px;top:10px;display:flex;gap:5px;opacity:0;transform:translateY(-3px);transition:.16s ease;z-index:2}.tenant-pro-card:hover .card-corner-actions,.partner-card:hover .card-corner-actions,[data-crud-card]:focus-within .card-corner-actions{opacity:1;transform:none}.card-corner-actions form{margin:0}.icon-action{width:34px;height:34px;display:inline-grid;place-items:center;border:1px solid rgba(15,23,42,.09);border-radius:10px;background:rgba(255,255,255,.94);color:#334155;cursor:pointer;text-decoration:none}.icon-action.danger{color:#b42318;background:#fff7f6}.icon-action:hover{box-shadow:0 5px 14px rgba(15,23,42,.09)}
.tenant-card-top{display:flex;align-items:center;gap:8px;padding-right:70px}.tenant-type-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#f5f6f8}.tenant-pro-card h3,.partner-card h3{margin:13px 0 2px}.tenant-pro-card>p,.partner-card>p{margin:0;color:var(--muted,#6b7280);font-size:12px}.tenant-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.tenant-stats span{padding:9px;border-radius:11px;background:#f7f8fa;display:flex;flex-direction:column;font-size:10px;color:var(--muted,#6b7280)}.tenant-stats b{font-size:14px;color:#111827}.tenant-mini-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:#64748b}.tenant-mini-meta span{display:flex;align-items:center;gap:5px}.tenant-actions-v14{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.tenant-actions-v14 form{margin:0}
.onboarding-hero{display:grid;gap:18px}.onboarding-track{display:grid;gap:10px}.onboarding-step{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:15px;border-radius:15px;border:1px solid rgba(15,23,42,.08);background:#fff}.onboarding-step.done{background:#f7fbf8}.onboarding-step.locked{opacity:.55;filter:saturate(.5)}.step-index{width:36px;height:36px;border-radius:11px;background:#f3f4f6;display:grid;place-items:center;font-weight:700}.onboarding-step.done .step-index{background:#e8f7ec}.onboarding-step h3{margin:0 0 2px;font-size:14px}.onboarding-step p{margin:0;color:#6b7280;font-size:12px}.context-inline-callout{display:flex;gap:10px;align-items:center;padding:11px 13px;border-radius:13px;background:#fff8e8;border:1px solid #f2d590}.onboarding-progress{height:8px;border-radius:999px;background:#eceff3;overflow:hidden}.onboarding-progress i{display:block;height:100%;background:var(--brand-accent);border-radius:inherit}
.structure-create-grid,.qr-create-grid,.partner-create-grid,.access-admin-grid,.content-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.structure-create-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pro-form{display:flex;flex-direction:column;gap:10px}.pro-form h3{margin:0}.bulk-room-card{margin:14px 0}.structure-parent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.crud-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(15,23,42,.06)}.crud-row:last-child{border-bottom:0}.crud-row>div{min-width:0;flex:1}.crud-row b,.crud-row small{display:block}.crud-row p{margin:3px 0 0;color:#6b7280;font-size:11px}.crud-row-actions{display:flex;gap:5px}.permission-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:14px;margin-top:14px}.permission-sidebar{align-self:start;position:sticky;top:90px}.role-panel{display:none}.role-panel.active{display:block}.permission-groups{display:grid;gap:12px}.permission-group{border:1px solid rgba(15,23,42,.07);border-radius:14px;padding:12px}.permission-group-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.permission-option{display:flex;gap:8px;align-items:flex-start;padding:8px;border-radius:10px;background:#f8f9fb}.permission-option small{display:block;color:#6b7280}.scope-editor{margin:8px 0;border-top:1px solid rgba(15,23,42,.12);padding-top:8px}.scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:220px;overflow:auto}.permission-ceiling{margin-bottom:14px}.partner-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.settlement-countdown{display:flex;gap:7px;align-items:center;padding:9px;border-radius:10px;background:#f7f8fa;font-size:11px}.settlement-countdown i{width:7px;height:7px;border-radius:50%;background:#22c55e}.inline-create{margin-top:10px}.inline-create summary{cursor:pointer;font-size:12px;font-weight:600}.inline-create form{display:grid;gap:7px;margin-top:8px}.content-list-v14{display:grid}.content-kind{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#f3f4f6}
.modal-form-sheet{padding:2px}.modal-form-intro{display:flex;align-items:center;gap:12px;margin-bottom:18px}.modal-form-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#f3f4f6}.modal-form-intro h2{margin:2px 0}.modal-crud-form{gap:12px}.modal-form-actions{display:flex;justify-content:flex-end;gap:8px}.modal-form-note{display:flex;gap:8px;padding:10px;border-radius:12px;background:#f7f8fa}.modal-form-note small{display:block;color:#6b7280}.empty-state.full{grid-column:1/-1}

/* Full-bleed login: no accidental viewport gaps on desktop, mobile or TV. */
.auth-main{width:100%;max-width:none!important;margin:0!important;padding:0!important;min-height:100dvh}.login-v10{width:100vw;min-height:100dvh;margin:0!important;border-radius:0!important}.app-guest{margin:0;min-height:100dvh;overflow-x:hidden}

@media(max-width:1100px){.context-pick-grid,.tenant-card-grid-v14,.partner-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-type-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.structure-create-grid{grid-template-columns:1fr 1fr}.permission-layout{grid-template-columns:1fr}.permission-sidebar{position:static}.tenant-context-chip{min-width:0;max-width:180px}.tenant-context-chip small{display:none}}
@media(max-width:760px){.tenant-context-chip{max-width:48px;padding:7px}.tenant-context-chip>span:nth-child(2),.tenant-context-chip>svg{display:none}.context-pick-grid,.tenant-card-grid-v14,.partner-card-grid,.structure-create-grid,.structure-parent-grid,.qr-create-grid,.partner-create-grid,.access-admin-grid,.content-admin-grid,.permission-grid,.scope-grid{grid-template-columns:1fr}.tenant-type-strip{grid-template-columns:1fr 1fr}.card-corner-actions{opacity:1;transform:none}.tenant-pro-card{padding-top:50px}.tenant-card-top{padding-right:0}.onboarding-step{grid-template-columns:36px 1fr}.onboarding-step>a,.onboarding-step>button{grid-column:2}.page-live-status span{display:none}.page-live-status button{font-size:9px}.tenant-stats{grid-template-columns:repeat(2,1fr)}.modal-form-actions{position:sticky;bottom:0;background:#fff;padding-top:8px}.login-v10{min-height:100dvh}}
@media(min-width:1600px){.app-main{max-width:1760px}.tenant-pro-card,.partner-card{padding:22px}.login-v10-form-wrap{max-width:560px}.page-header h1{font-size:30px}}

/* v0.15 user-level scoped authorization and settlement operations */
.user-scope-editor{grid-column:1/-1;margin-top:12px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fbfcfd;overflow:hidden}.user-scope-editor>summary{display:flex;align-items:center;gap:9px;padding:12px 14px;cursor:pointer;list-style:none}.user-scope-editor>summary::-webkit-details-marker{display:none}.user-scope-editor>summary>span{display:flex;align-items:center;gap:7px;flex:1}.user-scope-editor>summary small{color:#64748b}.user-scope-permissions{padding:0 12px 12px;display:grid;gap:9px}.user-scope-permission{padding:12px;border-radius:12px;background:#fff;border:1px solid rgba(15,23,42,.07)}.user-scope-permission>div:first-child{display:flex;flex-direction:column;margin-bottom:9px}.user-scope-permission>div:first-child small{color:#64748b}.scope-dual{display:grid;grid-template-columns:1fr 1fr;gap:10px}.scope-dual select{width:100%;min-height:130px}.partner-settlement-admin{margin-top:14px}.settlement-pay-form{min-width:260px;align-items:center}.settlement-pay-form input{min-width:150px}.partner-settlement-admin td{vertical-align:middle}
@media(max-width:760px){.scope-dual{grid-template-columns:1fr}.settlement-pay-form{min-width:0;flex-direction:column;align-items:stretch}.settlement-pay-form input{min-width:0}}

/* ========================================================================== 
   MIRA v0.17 — Professional admin shell, tenant workspace and authorization UI
   Final cascade layer: prevents collisions, hides implementation noise and
   keeps desktop/tablet/mobile layouts structurally stable.
   ========================================================================== */
:root{
  --v17-surface:#fff;
  --v17-soft:#f6f7f9;
  --v17-softer:#fafbfc;
  --v17-line:#e5e8ed;
  --v17-line-strong:#d5dae1;
  --v17-text:#1f242b;
  --v17-muted:#6f7782;
  --v17-shadow:0 14px 38px rgba(20,27,38,.07);
  --v17-shadow-pop:0 24px 70px rgba(20,27,38,.16);
}

/* Global collision guards */
.ui-icon{display:block!important;flex:0 0 auto!important;max-width:100%!important}
.card,.section-head,.section-head>*,.page-header,.page-header>*,.hub-title-row,.hub-title-row>*,.crud-row,.crud-row>*,.user-override-item,.user-override-item>summary>*{min-width:0}
.section-head h3,.section-head span,.card h3,.card p,.crud-row b,.crud-row p,.permission-pill b,.permission-pill small,.user-override-item b,.user-override-item small{overflow-wrap:anywhere;word-break:normal}
.row-actions{flex-wrap:wrap!important;justify-content:flex-end}

/* ---------- Header / selected institution ---------- */
.app-header{height:auto!important;overflow:visible!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(20px) saturate(150%)!important}
.header-bar{min-height:72px!important;height:auto!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:22px!important;padding:0 clamp(16px,2.6vw,48px)!important}
.top-nav{min-width:0!important;overflow:hidden!important;justify-content:center!important}
.header-actions{min-width:0!important;flex:0 0 auto!important}
.tenant-context-menu{position:relative;min-width:0}
.tenant-context-menu>summary{list-style:none}.tenant-context-menu>summary::-webkit-details-marker{display:none}
.tenant-context-chip{min-width:0!important;max-width:310px!important;height:46px!important;padding:6px 9px!important;border:1px solid var(--v17-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important;gap:9px!important}
.tenant-context-chip:hover,.tenant-context-menu[open]>.tenant-context-chip{background:var(--v17-soft)!important;border-color:var(--v17-line-strong)!important}
.tenant-context-copy{display:grid!important;min-width:0!important;line-height:1.12!important}
.tenant-context-copy small{font-size:8px!important;font-weight:700!important;letter-spacing:.09em!important;color:#9299a3!important;text-transform:uppercase!important}
.tenant-context-copy b{display:block!important;max-width:150px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:11.5px!important;color:var(--v17-text)!important}
.tenant-context-type{display:inline-flex!important;align-items:center!important;min-height:24px!important;padding:0 8px!important;border-radius:999px!important;background:#f0f2f5!important;color:#5d6570!important;font-size:8.5px!important;font-weight:650!important;white-space:nowrap!important}
.tenant-context-chip>.ui-icon:last-child{width:14px!important;height:14px!important;color:#9aa1aa!important;transition:transform .16s ease!important}
.tenant-context-menu[open]>.tenant-context-chip>.ui-icon:last-child{transform:rotate(90deg)!important}
.tenant-context-popover{position:absolute!important;right:0!important;top:calc(100% + 10px)!important;width:min(370px,calc(100vw - 24px))!important;padding:9px!important;background:#fff!important;border:1px solid var(--v17-line)!important;border-radius:18px!important;box-shadow:var(--v17-shadow-pop)!important;z-index:120!important}
.tenant-context-popover-head{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;gap:11px!important;align-items:center!important;padding:10px 10px 13px!important;border-bottom:1px solid #eef0f3!important;margin-bottom:5px!important}
.tenant-context-popover-icon{width:42px!important;height:42px!important;border-radius:13px!important;background:color-mix(in srgb,var(--brand-accent) 10%,white)!important;color:var(--brand-accent)!important;display:grid!important;place-items:center!important}
.tenant-context-popover-icon .ui-icon{width:19px!important;height:19px!important}
.tenant-context-popover-head div{display:grid!important;min-width:0!important}.tenant-context-popover-head small{font-size:8.5px!important;color:#9299a3!important}.tenant-context-popover-head b{font-size:12.5px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.tenant-context-popover-head span{font-size:9px!important;color:#717984!important}
.tenant-context-popover>a,.tenant-context-popover form>button{width:100%!important;min-height:54px!important;display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;gap:9px!important;align-items:center!important;padding:8px 10px!important;border:0!important;border-radius:12px!important;background:transparent!important;color:var(--v17-text)!important;text-align:left!important;box-shadow:none!important}
.tenant-context-popover>a:hover,.tenant-context-popover form>button:hover{background:var(--v17-soft)!important;transform:none!important}
.tenant-context-popover>a>.ui-icon,.tenant-context-popover form>button>.ui-icon{width:17px!important;height:17px!important;color:#68717c!important;justify-self:center!important}
.tenant-context-popover>a span,.tenant-context-popover form>button span{display:grid!important;min-width:0!important}.tenant-context-popover>a b,.tenant-context-popover form>button b{font-size:10.5px!important}.tenant-context-popover>a small,.tenant-context-popover form>button small{font-size:8.5px!important;color:#89919c!important;margin-top:2px!important}
.tenant-context-popover form{margin:4px 0 0!important;padding-top:4px!important;border-top:1px solid #eef0f3!important}.tenant-context-popover form>button.tenant-context-exit{color:#ad3833!important}.tenant-context-popover form>button.tenant-context-exit>.ui-icon{color:#c2433d!important}

/* Institution navigation is a dedicated rail; it never competes with global nav. */
.tenant-workspace-bar{min-height:62px!important;width:100%!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;padding:8px clamp(16px,2.6vw,48px)!important;background:#f7f8fa!important;border-top:1px solid #eef0f3!important;border-bottom:1px solid #e7eaee!important;overflow:hidden!important}
.tenant-workspace-label{display:flex!important;align-items:center!important;gap:8px!important;min-width:max-content!important;color:#69717c!important;font-size:9px!important;font-weight:700!important;letter-spacing:.07em!important;text-transform:uppercase!important}.tenant-workspace-label i{width:7px!important;height:7px!important;border-radius:50%!important;background:var(--brand-accent)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-accent) 9%,transparent)!important}
.tenant-workspace-nav{min-width:0!important;display:flex!important;align-items:center!important;gap:5px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;overscroll-behavior-inline:contain!important;padding:2px!important;white-space:nowrap!important}.tenant-workspace-nav::-webkit-scrollbar{display:none!important}
.tenant-workspace-link{flex:0 0 auto!important;min-height:42px!important;display:inline-flex!important;align-items:center!important;gap:7px!important;padding:0 11px!important;border-radius:11px!important;color:#626a75!important;text-decoration:none!important;transition:background .15s ease,color .15s ease!important}
.tenant-workspace-link:hover{background:#fff!important;color:#2f353d!important}.tenant-workspace-link.active{background:#fff!important;color:var(--brand-accent)!important;box-shadow:0 4px 16px rgba(20,27,38,.06)!important}
.tenant-workspace-link-icon{width:25px!important;height:25px!important;display:grid!important;place-items:center!important;border-radius:8px!important;background:#eceff2!important}.tenant-workspace-link.active .tenant-workspace-link-icon{background:color-mix(in srgb,var(--brand-accent) 10%,white)!important}.tenant-workspace-link-icon .ui-icon{width:14px!important;height:14px!important}.tenant-workspace-link b{font-size:9.5px!important;font-weight:650!important}
.tenant-workspace-setup{min-height:40px!important;display:inline-flex!important;align-items:center!important;gap:6px!important;padding:0 10px!important;border:1px solid #dfe3e8!important;border-radius:11px!important;background:#fff!important;color:#4e5762!important;font-size:9px!important;font-weight:650!important;white-space:nowrap!important}.tenant-workspace-setup:hover{border-color:#ccd2d9!important;background:#fbfbfc!important}.tenant-workspace-setup .ui-icon{width:14px!important;height:14px!important}

/* ---------- Onboarding as a professional task flow ---------- */
.onboarding-hero{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:20px!important;padding:24px!important;margin-bottom:14px!important;border-radius:22px!important;background:linear-gradient(135deg,#fff,#f8fafc)!important;box-shadow:var(--v17-shadow)!important}.onboarding-hero h2{margin:5px 0 7px!important;font-size:clamp(24px,2.5vw,36px)!important;letter-spacing:-.04em!important}.onboarding-hero p{margin:0!important;max-width:760px!important;color:var(--v17-muted)!important;font-size:11px!important;line-height:1.7!important}.onboarding-score{width:96px!important;height:96px!important;border-radius:50%!important;display:grid!important;place-items:center!important;align-content:center!important;background:#fff!important;box-shadow:inset 0 0 0 8px #f0f2f5!important}.onboarding-score strong{font-size:23px!important;letter-spacing:-.04em!important}.onboarding-score span{font-size:8.5px!important;color:#858d97!important;text-transform:uppercase!important;letter-spacing:.07em!important}
.onboarding-flow{background:#fff!important;border-radius:22px!important;padding:20px!important;box-shadow:var(--v17-shadow)!important;overflow:hidden!important}.onboarding-track-head{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(180px,260px)!important;align-items:end!important;gap:20px!important;padding:0 2px 17px!important;border-bottom:1px solid #edf0f3!important}.onboarding-track-head h3{margin:4px 0!important;font-size:17px!important;letter-spacing:-.025em!important}.onboarding-track-head p{margin:0!important;color:var(--v17-muted)!important;font-size:10px!important;line-height:1.65!important}.onboarding-progress-summary{display:grid!important;gap:7px!important}.onboarding-progress-summary>span{font-size:9px!important;color:#737c87!important;text-align:right!important}.onboarding-progress{height:6px!important;background:#edf0f3!important}
.onboarding-steps{display:grid!important;gap:8px!important;padding-top:12px!important}
.onboarding-task{width:100%!important;min-height:86px!important;display:grid!important;grid-template-columns:46px 44px minmax(220px,1fr) minmax(175px,auto) 28px!important;align-items:center!important;gap:12px!important;padding:12px 14px!important;border:1px solid #e8ebef!important;border-radius:16px!important;background:#fff!important;color:var(--v17-text)!important;text-decoration:none!important;text-align:left!important;overflow:hidden!important;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease!important}
.onboarding-task:hover{transform:translateY(-1px)!important;border-color:#d7dde4!important;background:#fbfcfd!important;box-shadow:0 8px 24px rgba(20,27,38,.05)!important}.onboarding-task.current{border-color:color-mix(in srgb,var(--brand-accent) 34%,#e3e7ec)!important;background:color-mix(in srgb,var(--brand-accent) 3%,white)!important}.onboarding-task.done{background:#fbfdfb!important;border-color:#e0ece3!important}.onboarding-task.locked{opacity:1!important;filter:none!important;background:#fafbfc!important;color:#606975!important}
.onboarding-task-marker{width:46px!important;height:46px!important;display:grid!important;place-items:center!important;position:relative!important}.onboarding-task-marker:after{content:""!important;position:absolute!important;left:50%!important;top:44px!important;width:1px!important;height:54px!important;background:#e6e9ed!important}.onboarding-task:last-child .onboarding-task-marker:after{display:none!important}.onboarding-task-number{width:34px!important;height:34px!important;border-radius:11px!important;display:grid!important;place-items:center!important;background:#eff1f4!important;color:#58616d!important;font-size:11px!important;font-weight:750!important}.onboarding-task-number .ui-icon{width:15px!important;height:15px!important}.onboarding-task.current .onboarding-task-number{background:var(--brand-accent)!important;color:#fff!important}.onboarding-task.done .onboarding-task-number{background:#e7f5eb!important;color:#237846!important}
.onboarding-task-icon{width:40px!important;height:40px!important;border-radius:12px!important;display:grid!important;place-items:center!important;background:#f1f3f5!important;color:#68717d!important}.onboarding-task.current .onboarding-task-icon{background:color-mix(in srgb,var(--brand-accent) 9%,white)!important;color:var(--brand-accent)!important}.onboarding-task-icon .ui-icon{width:18px!important;height:18px!important}
.onboarding-task-copy{display:grid!important;min-width:0!important;gap:4px!important}.onboarding-task-copy b{font-size:12.5px!important;font-weight:650!important;letter-spacing:-.015em!important}.onboarding-task-copy small{max-width:680px!important;color:#7c8590!important;font-size:9.5px!important;line-height:1.55!important;overflow-wrap:anywhere!important}
.onboarding-task-state{display:grid!important;justify-items:start!important;gap:3px!important;min-width:0!important}.onboarding-state-line{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important}.onboarding-state-line i{width:7px!important;height:7px!important;border-radius:50%!important;background:#aab1ba!important}.onboarding-task.current .onboarding-state-line i{background:var(--brand-accent)!important}.onboarding-task.done .onboarding-state-line i{background:#2d9654!important}.onboarding-task-state b{font-size:9.5px!important;white-space:nowrap!important}.onboarding-task-state small{font-size:8.5px!important;color:#8c949e!important;overflow-wrap:anywhere!important}.onboarding-task-chevron{width:28px!important;height:28px!important;display:grid!important;place-items:center!important;color:#9ba2ab!important}.onboarding-task-chevron .ui-icon{width:15px!important;height:15px!important}
.core-only-confirm{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;margin-top:12px!important;padding:14px 16px!important;border-radius:15px!important;background:#fffaf0!important;border:1px solid #f1dfb7!important}.core-only-confirm span{display:grid!important}.core-only-confirm b{font-size:10.5px!important}.core-only-confirm small{font-size:9px!important;color:#7f7662!important;margin-top:2px!important}

/* ---------- Authorization center ---------- */
.access-section-head{align-items:flex-start!important;margin-bottom:14px!important}.access-section-head .eyebrow{margin-bottom:5px!important}.permission-ceiling{padding:20px!important;overflow:hidden!important}.permission-filter-bar{display:grid!important;grid-template-columns:minmax(260px,420px) minmax(0,1fr)!important;gap:12px!important;align-items:center!important;margin:8px 0 14px!important;padding:10px!important;border-radius:14px!important;background:#f7f8fa!important}.permission-search{min-height:44px!important;display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;align-items:center!important;gap:7px!important;padding:0 11px!important;border-radius:11px!important;background:#fff!important;box-shadow:inset 0 0 0 1px #e5e8ec!important}.permission-search .ui-icon{width:15px!important;height:15px!important;color:#87909b!important}.permission-search input{min-width:0!important;width:100%!important;min-height:40px!important;padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important}.permission-filter-note{display:flex!important;align-items:center!important;gap:7px!important;color:#7b8490!important;font-size:9px!important;line-height:1.45!important}.permission-filter-note .ui-icon{width:15px!important;height:15px!important}
.policy-groups{display:grid!important;gap:10px!important}.policy-group{display:block!important;border:1px solid #e7eaee!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;padding:0!important}.policy-group[hidden]{display:none!important}.policy-group-summary{list-style:none!important;cursor:pointer!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto 28px!important;gap:12px!important;align-items:center!important;min-height:66px!important;padding:11px 14px!important;background:#fafbfc!important}.policy-group-summary::-webkit-details-marker{display:none!important}.policy-group-heading{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;min-width:0!important}.policy-group-icon{width:38px!important;height:38px!important;border-radius:11px!important;background:#eef1f4!important;color:#66707b!important;display:grid!important;place-items:center!important}.policy-group-icon .ui-icon{width:17px!important;height:17px!important}.policy-group-heading>span:last-child{display:grid!important;min-width:0!important}.policy-group-heading b{font-size:11.5px!important}.policy-group-heading small{margin-top:2px!important;color:#89919b!important;font-size:8.5px!important;overflow-wrap:anywhere!important}.policy-group-count{padding:5px 8px!important;border-radius:999px!important;background:#eef1f4!important;color:#68717c!important;font-size:8.5px!important;font-weight:650!important;white-space:nowrap!important}.policy-group-chevron{width:28px!important;height:28px!important;display:grid!important;place-items:center!important;color:#9aa2ac!important}.policy-group-chevron .ui-icon{width:14px!important;height:14px!important;transition:transform .16s ease!important}.policy-group[open] .policy-group-chevron .ui-icon{transform:rotate(90deg)!important}
.policy-list{display:grid!important}.policy-row{display:grid!important;grid-template-columns:minmax(220px,1fr) minmax(430px,.95fr)!important;gap:18px!important;align-items:center!important;min-height:82px!important;padding:13px 14px!important;border-top:1px solid #edf0f3!important;background:#fff!important}.policy-row[hidden]{display:none!important}.policy-row:hover{background:#fcfcfd!important}.policy-name{display:grid!important;gap:6px!important;min-width:0!important}.policy-name>b{font-size:10.8px!important;font-weight:650!important;line-height:1.45!important;overflow-wrap:anywhere!important}.policy-meta{display:flex!important;align-items:center!important;gap:6px!important;flex-wrap:wrap!important}.policy-meta em{font-style:normal!important;display:inline-flex!important;align-items:center!important;min-height:22px!important;padding:0 7px!important;border-radius:999px!important;font-size:7.8px!important;font-weight:650!important;white-space:nowrap!important}.permission-risk{background:#f1f3f5!important;color:#66707b!important}.permission-risk.risk-critical{background:#fff0ef!important;color:#b63b35!important}.permission-risk.risk-high{background:#fff7e8!important;color:#946219!important}.permission-risk.risk-low{background:#edf7f0!important;color:#39734d!important}.permission-scope{background:#eef4fb!important;color:#4e6d91!important}
.policy-controls{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;min-width:0!important}.policy-toggle{min-width:0!important;min-height:54px!important;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;align-items:center!important;gap:9px!important;padding:7px 9px!important;border-radius:12px!important;background:#f6f7f9!important;border:1px solid transparent!important;cursor:pointer!important;transition:background .15s ease,border-color .15s ease,opacity .15s ease!important}.policy-toggle:hover{background:#f0f2f5!important}.policy-toggle input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}.policy-toggle-track{width:36px!important;height:22px!important;border-radius:999px!important;background:#cdd2d8!important;position:relative!important;transition:background .16s ease!important}.policy-toggle-track i{position:absolute!important;left:3px!important;top:3px!important;width:16px!important;height:16px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 1px 4px rgba(0,0,0,.15)!important;transition:transform .16s ease!important}.policy-toggle input:checked+.policy-toggle-track{background:var(--brand-accent)!important}.policy-toggle input:checked+.policy-toggle-track i{transform:translateX(14px)!important}.policy-toggle-copy{display:grid!important;min-width:0!important;gap:1px!important}.policy-toggle-copy b{font-size:8.8px!important;font-weight:650!important}.policy-toggle-copy small{font-size:7.5px!important;line-height:1.35!important;color:#89919b!important;overflow-wrap:anywhere!important}.policy-toggle.is-disabled{opacity:.48!important;cursor:not-allowed!important}.policy-toggle.is-disabled:hover{background:#f6f7f9!important}.policy-save-bar{position:sticky!important;bottom:10px!important;z-index:8!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;margin-top:14px!important;padding:10px 12px!important;border-radius:14px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(16px)!important;box-shadow:0 12px 36px rgba(20,27,38,.11)!important;border:1px solid #e5e8ec!important}.policy-save-bar>span{display:grid!important}.policy-save-bar>span b{font-size:9.5px!important}.policy-save-bar>span small{font-size:8px!important;color:#89919c!important}

/* Role permissions use the same calm, readable hierarchy. */
.permission-layout{grid-template-columns:minmax(220px,270px) minmax(0,1fr)!important;gap:14px!important}.permission-sidebar{min-width:0!important;overflow:hidden!important}.permission-main{min-width:0!important}.permission-group{padding:13px!important}.permission-group-title{align-items:center!important;gap:10px!important}.permission-group-title b{font-size:10.5px!important}.permission-group-title span{font-size:8.5px!important;white-space:nowrap!important}.permission-pills{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;gap:7px!important}.permission-pill{min-width:0!important;min-height:68px!important;grid-template-columns:36px minmax(0,1fr)!important;padding:10px!important}.permission-pill span:last-child{min-width:0!important}.permission-pill b{font-size:9.7px!important;line-height:1.4!important}.permission-pill small{font-size:7.8px!important;line-height:1.4!important;word-break:normal!important;color:#7d8590!important}.scope-editor summary{display:grid!important;grid-template-columns:minmax(0,1fr) auto 20px!important;align-items:center!important;gap:8px!important;min-width:0!important}.scope-editor summary span{min-width:0!important}.scope-editor summary b{overflow-wrap:anywhere!important}.scope-editor summary small{white-space:normal!important;text-align:right!important}.user-scope-permission>div:first-child small{overflow-wrap:anywhere!important}
.user-override-item>summary{grid-template-columns:34px minmax(0,1fr) auto!important}.summary-state{white-space:nowrap!important}.role-pills{gap:6px!important}.role-pill>span{max-width:100%!important}.role-pill b{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;max-width:190px!important}

/* Generic row/table/form guards used across the platform. */
.crud-row{min-width:0!important}.crud-row>div{min-width:0!important}.crud-row-actions,.card-corner-actions{flex:0 0 auto!important}.table{width:100%!important;max-width:100%!important}.table th,.table td{max-width:440px!important;overflow-wrap:anywhere!important;word-break:normal!important}.form-grid>*{min-width:0!important}.field{min-width:0!important}.field input,.field select,.field textarea{max-width:100%!important}.inline,.inline-form{min-width:0!important}

@media(max-width:1280px){
  .header-bar{gap:14px!important}.tenant-context-type{display:none!important}.tenant-context-copy b{max-width:118px!important}
  .tenant-workspace-label span{display:none!important}.tenant-workspace-label{min-width:14px!important}
  .policy-row{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}.policy-controls{max-width:760px!important}
}

@media(max-width:980px){
  .app-header{position:sticky!important;top:0!important}.header-bar{min-height:66px!important;grid-template-columns:auto auto minmax(0,1fr) auto!important;padding:0 12px!important;gap:8px!important}.top-nav{top:66px!important;overflow:auto!important;z-index:110!important}.tenant-context-chip{height:42px!important;max-width:180px!important}.tenant-context-copy small{display:none!important}.tenant-context-copy b{max-width:94px!important}.tenant-context-icon{width:28px!important;height:28px!important}
  .tenant-workspace-bar{min-height:54px!important;grid-template-columns:minmax(0,1fr) auto!important;padding:6px 10px!important;gap:8px!important}.tenant-workspace-label{display:none!important}.tenant-workspace-link{min-height:38px!important;padding:0 9px!important}.tenant-workspace-setup{min-height:38px!important}
  .onboarding-track-head{grid-template-columns:1fr!important}.onboarding-progress-summary{max-width:300px!important}.onboarding-progress-summary>span{text-align:left!important}
  .permission-layout{grid-template-columns:1fr!important}.permission-sidebar{position:static!important}.role-list{display:flex!important;overflow-x:auto!important;padding-bottom:4px!important}.role-choice{flex:0 0 220px!important}
  .permission-filter-bar{grid-template-columns:1fr!important}.permission-filter-note{padding:0 3px!important}
}

@media(max-width:760px){
  .tenant-context-chip{max-width:138px!important;padding:5px 7px!important}.tenant-context-copy b{max-width:72px!important}.tenant-context-popover{right:-46px!important}
  .tenant-workspace-link b{font-size:9px!important}.tenant-workspace-link-icon{width:23px!important;height:23px!important}.tenant-workspace-setup span{display:none!important}.tenant-workspace-setup{width:38px!important;padding:0!important;justify-content:center!important}
  .onboarding-hero{grid-template-columns:1fr!important;padding:18px!important}.onboarding-score{width:74px!important;height:74px!important;justify-self:start!important}.onboarding-score strong{font-size:18px!important}.onboarding-flow{padding:13px!important}.onboarding-task{grid-template-columns:40px minmax(0,1fr) 26px!important;gap:9px!important;padding:11px!important;min-height:96px!important}.onboarding-task-marker{width:40px!important;height:40px!important;grid-row:1/3!important}.onboarding-task-marker:after{top:40px!important;height:68px!important}.onboarding-task-icon{display:none!important}.onboarding-task-copy{grid-column:2!important;grid-row:1!important}.onboarding-task-state{grid-column:2!important;grid-row:2!important;align-self:start!important}.onboarding-task-chevron{grid-column:3!important;grid-row:1/3!important}.onboarding-task-state b{white-space:normal!important}.core-only-confirm{grid-template-columns:1fr!important}.core-only-confirm .btn{width:100%!important}
  .permission-ceiling{padding:13px!important}.policy-group-summary{grid-template-columns:minmax(0,1fr) auto 24px!important;padding:9px!important}.policy-group-heading{grid-template-columns:34px minmax(0,1fr)!important}.policy-group-icon{width:34px!important;height:34px!important}.policy-group-heading small{display:none!important}.policy-row{padding:12px 10px!important}.policy-controls{grid-template-columns:1fr!important}.policy-toggle{min-height:52px!important}.policy-save-bar{grid-template-columns:1fr!important;bottom:6px!important}.policy-save-bar .btn{width:100%!important}
  .permission-pills{grid-template-columns:1fr!important}.permission-head{display:grid!important;gap:10px!important}.permission-head>.inline{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important}.permission-head>.inline .btn{width:100%!important}.user-override-item>summary{grid-template-columns:34px minmax(0,1fr)!important}.summary-state{grid-column:2!important;justify-self:start!important}.scope-editor summary{grid-template-columns:minmax(0,1fr) 20px!important}.scope-editor summary>small{grid-column:1!important;text-align:left!important}.scope-editor summary>.ui-icon{grid-column:2!important;grid-row:1/3!important}
  .crud-row{display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;align-items:start!important}.crud-row .row-actions,.crud-row .crud-row-actions{grid-column:2!important;justify-content:flex-start!important;margin-top:6px!important}
  .table{display:block!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}.table thead,.table tbody{min-width:680px!important}
}

@media(max-width:460px){
  .header-bar{padding:0 8px!important}.tenant-context-copy{display:none!important}.tenant-context-chip{width:40px!important;height:40px!important;padding:5px!important;justify-content:center!important}.tenant-context-chip>.ui-icon:last-child{display:none!important}.tenant-context-popover{right:-44px!important;width:calc(100vw - 16px)!important}.tenant-context-icon{width:30px!important;height:30px!important}
  .tenant-workspace-bar{padding-left:7px!important;padding-right:7px!important}.tenant-workspace-link{padding:0 8px!important;gap:5px!important}.tenant-workspace-link b{font-size:8.6px!important}
  .onboarding-task-copy b{font-size:11.5px!important}.onboarding-task-copy small{font-size:8.7px!important}.onboarding-task-state small{font-size:7.9px!important}.onboarding-flow{padding:10px!important}
  .policy-group-count{display:none!important}.policy-group-summary{grid-template-columns:minmax(0,1fr) 24px!important}.policy-group-chevron{grid-column:2!important}.permission-filter-note{display:none!important}
}
@media(max-width:460px){
  .tenant-context-copy{display:grid!important}.tenant-context-copy small{display:none!important}.tenant-context-copy b{display:block!important;max-width:62px!important;font-size:9.5px!important}.tenant-context-chip{width:auto!important;max-width:108px!important;padding:5px 7px!important;justify-content:flex-start!important}.tenant-context-chip>.ui-icon:last-child{display:none!important}
}

/* ============================================================
   Mira v0.18 · unified card/list/modal responsiveness
   Fixes overlapping copy, missing component styles and portfolio grid.
   ============================================================ */

/* Institution portfolio type cards */
.tenant-type-overview{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
  margin:18px 0 22px!important;
  width:100%!important;
}
.tenant-type-overview .tenant-type-box{
  position:relative!important;
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr)!important;
  grid-template-rows:auto 1fr!important;
  align-items:start!important;
  gap:11px 13px!important;
  min-width:0!important;
  min-height:168px!important;
  padding:18px!important;
  border:1px solid #c8ced7!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fff 0%,#fafbfc 100%)!important;
  color:#242a31!important;
  text-decoration:none!important;
  box-shadow:none!important;
  overflow:hidden!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.tenant-type-overview .tenant-type-box:hover{
  transform:translateY(-3px)!important;
  border-color:color-mix(in srgb,var(--brand-accent) 44%,#b7bec8)!important;
  box-shadow:0 14px 36px rgba(18,27,39,.08)!important;
  background:#fff!important;
}
.tenant-type-overview .tenant-type-box.active{
  border-style:solid!important;
  border-color:color-mix(in srgb,var(--brand-accent) 62%,#c8ced7)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-accent) 12%,transparent),0 12px 32px rgba(18,27,39,.07)!important;
}
.tenant-type-overview .tenant-type-box.active:after{
  content:'Aktif filtre';position:absolute;right:11px;top:11px;padding:5px 8px;border-radius:999px;
  background:color-mix(in srgb,var(--brand-accent) 10%,white);color:var(--brand-accent);font-size:9px;font-weight:750;letter-spacing:.03em;
}
.tenant-type-box-icon{
  grid-column:1;grid-row:1/3;width:56px!important;height:56px!important;display:grid!important;place-items:center!important;
  border:1px solid #d3d8df!important;border-radius:16px!important;background:#f2f4f6!important;color:#4a525d!important;
}
.tenant-type-box-icon .ui-icon,.tenant-type-box-icon svg{width:25px!important;height:25px!important}
.tenant-type-box-count{
  grid-column:2;grid-row:1;display:block!important;font-size:30px!important;line-height:1!important;font-weight:760!important;letter-spacing:-.04em!important;color:#20252b!important;
}
.tenant-type-box-copy{grid-column:2;grid-row:2;display:grid!important;align-content:start!important;gap:5px!important;min-width:0!important}
.tenant-type-box-copy b{font-size:13px!important;line-height:1.3!important;overflow-wrap:anywhere!important}
.tenant-type-box-copy small{font-size:10px!important;line-height:1.55!important;color:#7a828d!important;white-space:normal!important;overflow-wrap:anywhere!important}

/* Global device inventory - each semantic block owns its space. */
.global-device-rows{display:grid!important;gap:10px!important;margin-top:10px!important}
.global-device-row{
  display:grid!important;
  grid-template-columns:52px minmax(180px,1.35fr) minmax(170px,1fr) minmax(150px,.9fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
  padding:12px!important;
  border:1px solid #d0d5dc!important;
  border-radius:16px!important;
  background:#fff!important;
}
.global-device-icon,.tenant-mini-icon{
  display:grid!important;place-items:center!important;flex:0 0 auto!important;border:1px solid #d3d8df!important;background:#f3f5f7!important;color:#515a65!important;
}
.global-device-icon{width:52px!important;height:52px!important;border-radius:14px!important}
.tenant-mini-icon{width:38px!important;height:38px!important;border-radius:11px!important}
.global-device-icon .ui-icon,.global-device-icon svg{width:23px!important;height:23px!important}
.global-device-main,.global-device-tenant,.global-device-state{min-width:0!important}
.global-device-main{display:grid!important;gap:4px!important}
.global-device-main b{font-size:13px!important;line-height:1.35!important;overflow-wrap:anywhere!important}
.global-device-main small{font-size:10px!important;line-height:1.45!important;color:#7d8590!important;white-space:normal!important;overflow-wrap:anywhere!important}
.global-device-tenant,.global-device-state{
  display:flex!important;align-items:center!important;gap:9px!important;padding:9px 10px!important;border:1px solid #d9dde3!important;border-radius:12px!important;background:#f8f9fa!important;
}
.global-device-tenant>span:last-child,.global-device-state>span:last-child{display:grid!important;gap:2px!important;min-width:0!important}
.global-device-tenant b,.global-device-state b{font-size:10.5px!important;line-height:1.3!important;overflow-wrap:anywhere!important}
.global-device-tenant small,.global-device-state small{font-size:8.8px!important;line-height:1.35!important;color:#858d97!important;white-space:normal!important;overflow-wrap:anywhere!important}
.global-device-state .state-dot{width:9px!important;height:9px!important;min-width:9px!important;border-radius:50%!important;background:#9ca3af!important}
.global-device-state .state-dot.online{background:#22a563!important;box-shadow:0 0 0 4px rgba(34,165,99,.1)!important}
.global-device-state .state-dot.offline{background:#a8afb8!important}
.global-device-actions{display:flex!important;justify-content:flex-end!important;min-width:max-content!important}
.global-device-actions form{margin:0!important}.global-device-actions .btn{white-space:nowrap!important}

/* Shared CRUD/list primitives that were previously referenced without CSS. */
.mini-crud-row,.compact-list>div,.device-row{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-width:0!important;
  padding:10px 11px!important;margin-top:7px!important;border:1px solid #d6dbe1!important;border-radius:12px!important;background:#fafbfc!important;
}
.mini-crud-row>span,.compact-list>div>span,.device-row>div,.device-row>span:first-child{
  display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;
}
.mini-crud-row b,.compact-list b,.device-row b{font-size:10.5px!important;line-height:1.35!important;overflow-wrap:anywhere!important}
.compact-list small,.device-row small{font-size:8.8px!important;line-height:1.4!important;color:#858d97!important;white-space:normal!important;overflow-wrap:anywhere!important}
.row-hover-actions,.row-actions{
  display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex:0 0 auto!important;min-width:max-content!important;
}
.row-hover-actions form,.row-actions form{margin:0!important;display:flex!important}
@media(hover:hover) and (pointer:fine){
  .crud-row .row-hover-actions,.mini-crud-row .row-hover-actions{opacity:.18!important;transform:translateX(3px)!important;transition:opacity .16s ease,transform .16s ease!important}
  .crud-row:hover .row-hover-actions,.mini-crud-row:hover .row-hover-actions,.crud-row:focus-within .row-hover-actions,.mini-crud-row:focus-within .row-hover-actions{opacity:1!important;transform:none!important}
}

/* Content administration - calm form/card hierarchy. */
.content-admin-grid{align-items:start!important}
.content-admin-grid>.card{min-width:0!important;border:1px solid #d0d5dc!important;border-radius:18px!important}
.content-admin-grid .pro-form{padding:17px!important}
.content-admin-grid .pro-form h3{font-size:15px!important;margin:0 0 3px!important}
.content-admin-grid .field{display:grid!important;gap:6px!important}
.content-admin-grid .field label{font-size:10px!important;font-weight:700!important;color:#555e69!important}
.content-admin-grid .field input,.content-admin-grid .field select,.content-admin-grid .field textarea{
  width:100%!important;min-width:0!important;border:1px solid #dfe3e8!important;border-radius:11px!important;background:#fbfcfd!important;padding:10px 11px!important;font-size:11px!important;line-height:1.45!important;
}
.content-admin-grid .field textarea{resize:vertical!important;min-height:130px!important}
.content-list-v14{display:grid!important;gap:8px!important;margin-top:10px!important}
.content-list-v14 .crud-row{display:grid!important;grid-template-columns:40px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;padding:10px!important;border:1px solid #d6dbe1!important;border-radius:13px!important;background:#fafbfc!important}
.content-kind{width:40px!important;height:40px!important;border:1px solid #d4d9df!important;border-radius:12px!important;background:#f1f3f5!important}
.content-list-v14 .crud-row small{font-size:8.5px!important;color:#818995!important;text-transform:uppercase!important;letter-spacing:.04em!important}
.content-list-v14 .crud-row b{font-size:11px!important;line-height:1.35!important}
.content-list-v14 .crud-row p{font-size:9.5px!important;line-height:1.5!important;white-space:normal!important;overflow-wrap:anywhere!important}

/* Modal/workspace guardrails: no content is allowed to escape the sheet. */
.workspace-shell,.child-workspace-shell,.workspace-body,.child-workspace-body,.workspace-content,.child-workspace-content,.modal-form-sheet{min-width:0!important;max-width:100%!important}
.modal-form-sheet{width:min(760px,100%)!important;margin:0 auto!important;padding:2px!important;overflow:hidden!important}
.modal-form-sheet .modal-crud-form{min-width:0!important;display:grid!important;gap:11px!important}
.modal-form-sheet input,.modal-form-sheet select,.modal-form-sheet textarea{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
.modal-form-intro{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:12px!important;align-items:center!important;min-width:0!important}
.modal-form-intro h2{font-size:18px!important;line-height:1.25!important;overflow-wrap:anywhere!important}
.modal-form-icon{width:48px!important;height:48px!important;display:grid!important;place-items:center!important;border:1px solid #d1d7de!important;border-radius:14px!important;background:#f3f5f7!important}
.form-inline-error{border:1px solid #dfaaa6!important;border-radius:12px!important;background:#fff6f5!important;color:#9e3932!important;padding:10px 11px!important;font-size:10px!important;line-height:1.45!important}

/* Permission ceiling: readable, not developer-centric or microscopic. */
.permission-ceiling .policy-row{min-width:0!important;border:1px solid #d7dce2!important;border-radius:13px!important;background:#fbfcfd!important;padding:11px!important}
.permission-ceiling .policy-row-copy{min-width:0!important}.permission-ceiling .policy-row-copy b{font-size:11px!important;line-height:1.4!important;overflow-wrap:anywhere!important}
.permission-ceiling .policy-row-copy small{font-size:9px!important;line-height:1.45!important;color:#838b95!important;white-space:normal!important;overflow-wrap:anywhere!important}
.permission-ceiling .policy-controls{display:grid!important;grid-template-columns:repeat(2,minmax(180px,1fr))!important;gap:8px!important;min-width:0!important}
.permission-ceiling .policy-toggle{min-width:0!important;min-height:58px!important;padding:9px 10px!important;border:1px solid #d3d8df!important;border-radius:11px!important;background:#f7f8fa!important}
.permission-ceiling .policy-toggle-copy b{font-size:10px!important;line-height:1.3!important}.permission-ceiling .policy-toggle-copy small{font-size:8.5px!important;line-height:1.4!important}

@media(max-width:1180px){
  .tenant-type-overview{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .global-device-row{grid-template-columns:48px minmax(180px,1.25fr) minmax(160px,1fr) minmax(145px,.9fr)!important}
  .global-device-actions{grid-column:2/5!important;justify-content:flex-start!important}
}
@media(max-width:820px){
  .tenant-type-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tenant-type-overview .tenant-type-box{min-height:150px!important}
  .global-device-row{grid-template-columns:46px minmax(0,1fr)!important;align-items:start!important}
  .global-device-icon{width:46px!important;height:46px!important;grid-row:1/4!important}
  .global-device-main{grid-column:2!important}.global-device-tenant,.global-device-state{grid-column:2!important;width:100%!important}
  .global-device-actions{grid-column:2!important}
  .permission-ceiling .policy-controls{grid-template-columns:1fr!important}
}
@media(max-width:600px){
  .tenant-type-overview{grid-template-columns:1fr!important;gap:10px!important}
  .tenant-type-overview .tenant-type-box{min-height:116px!important;grid-template-columns:48px minmax(0,1fr)!important;padding:14px!important}
  .tenant-type-box-icon{width:48px!important;height:48px!important;border-radius:13px!important}
  .tenant-type-box-count{font-size:25px!important}.tenant-type-box-copy small{font-size:9.5px!important}
  .global-device-row{padding:10px!important;gap:9px!important}.global-device-tenant,.global-device-state{padding:8px!important}
  .global-device-actions,.global-device-actions form,.global-device-actions .btn{width:100%!important}.global-device-actions .btn{justify-content:center!important}
  .mini-crud-row,.compact-list>div,.device-row{align-items:flex-start!important;flex-wrap:wrap!important}
  .content-list-v14 .crud-row{grid-template-columns:38px minmax(0,1fr)!important}.content-list-v14 .row-actions{grid-column:2!important;justify-content:flex-start!important}
  .modal-form-actions{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}.modal-form-actions .btn{width:100%!important}
}

/* ============================================================
   MIRA v0.19 — Institution operations design system
   Dense operational information is always boxed, wrapped and responsive.
   ============================================================ */
.ops-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:24px;margin-bottom:14px;border:1px solid #d9dee5;border-radius:22px;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 12px 36px rgba(22,30,42,.045);overflow:hidden}.ops-hero h2{margin:5px 0 8px;font-size:clamp(24px,2.5vw,36px);letter-spacing:-.045em;line-height:1.05}.ops-hero p{max-width:800px;margin:0;color:#727b86;font-size:11px;line-height:1.72}.ops-hero-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.ops-hero-chips>span{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 10px;border:1px solid #d8dde4;border-radius:11px;background:#fff;color:#68717c;font-size:9px;white-space:nowrap}.ops-hero-chips .ui-icon{width:15px;height:15px;color:var(--brand-accent)}.ops-hero-chips b{font-size:11px;color:#2d333b}.ops-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

.staff-group-strip,.menu-category-grid-v19,.order-status-grid-v19{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0 0 14px}.staff-group-card,.menu-category-card,.order-status-card{min-width:0;min-height:102px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;padding:14px;border:1px solid #d8dde4;border-radius:16px;background:#fff;color:#313842;text-decoration:none;box-shadow:0 7px 24px rgba(24,31,43,.035);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.staff-group-card:hover,.menu-category-card:hover,.order-status-card:hover{transform:translateY(-2px);border-color:#c5cdd7;box-shadow:0 10px 28px rgba(24,31,43,.065)}.staff-group-card>span:first-child,.menu-category-card>span:first-child,.order-status-card>span:first-child{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#f2f4f6;color:var(--brand-accent)}.staff-group-card .ui-icon,.menu-category-card .ui-icon,.order-status-card .ui-icon{width:20px;height:20px}.staff-group-card>div,.menu-category-card>div{min-width:0;display:grid;gap:3px}.staff-group-card b,.menu-category-card b{font-size:11px;line-height:1.35;overflow-wrap:anywhere}.staff-group-card small,.menu-category-card small{font-size:8.8px;line-height:1.45;color:#858d97;white-space:normal}.staff-group-card.add,.menu-category-card.add{appearance:none;text-align:left;cursor:pointer;color:inherit}.staff-group-card.is-all{border-color:color-mix(in srgb,var(--brand-accent) 30%,#d8dde4);background:color-mix(in srgb,var(--brand-accent) 3%,white)}.menu-category-card>strong{font-size:22px;letter-spacing:-.04em;color:#b0b6be}.order-status-card{grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;padding:12px;min-height:92px}.order-status-card>span{grid-row:1/3}.order-status-card>b{font-size:22px;line-height:1;letter-spacing:-.04em}.order-status-card>small{font-size:9px;color:#7e8792}.order-status-card.active{border-color:color-mix(in srgb,var(--brand-accent) 45%,#d8dde4);background:color-mix(in srgb,var(--brand-accent) 4%,white)}

.staff-toolbar-v19{display:grid;grid-template-columns:minmax(260px,480px) minmax(0,1fr);align-items:center;gap:14px;margin:0 0 12px}.staff-toolbar-v19>span{font-size:9px;color:#818a95;text-align:right}.staff-card-grid-v19{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.staff-card-v19{min-width:0;display:grid;gap:11px;padding:14px;border:1px solid #d7dce3;border-radius:18px;background:#fff;box-shadow:0 7px 24px rgba(24,31,43,.035);cursor:pointer;outline:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.staff-card-v19:hover,.staff-card-v19:focus-visible{transform:translateY(-2px);border-color:#c1c9d3;box-shadow:0 12px 30px rgba(24,31,43,.07)}.staff-card-v19.is-inactive{opacity:.62;background:#fafbfc}.staff-card-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0}.staff-avatar{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--brand-accent) 12%,white),#f1f3f6);color:var(--brand-accent);font-size:17px;font-weight:750}.staff-avatar img{width:100%;height:100%;object-fit:cover}.staff-avatar.xl{width:68px;height:68px;border-radius:19px;font-size:24px}.staff-card-identity{min-width:0;display:grid;gap:3px}.staff-card-identity b{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.staff-card-identity small{font-size:9px;color:#7f8791;white-space:normal;overflow-wrap:anywhere}.status-dot-label{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:0 8px;border-radius:999px;background:#f1f3f5;color:#707983;font-size:8.5px;font-weight:650;white-space:nowrap}.status-dot-label i{width:6px;height:6px;border-radius:50%;background:#9da4ad}.status-dot-label.good{background:#eef8f2;color:#3a7451}.status-dot-label.good i{background:#2ba765}.staff-card-contact{display:grid;grid-template-columns:1fr 1fr;gap:7px}.staff-card-contact>span{min-width:0;display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto auto;column-gap:6px;padding:9px;border:1px solid #dfe3e8;border-radius:11px;background:#fafbfc}.staff-card-contact .ui-icon{grid-row:1/3;width:14px;height:14px;align-self:center;color:#8a929d}.staff-card-contact small{font-size:7.5px;color:#9aa1aa;text-transform:uppercase;letter-spacing:.06em}.staff-card-contact b{font-size:8.8px;line-height:1.35;overflow-wrap:anywhere}.staff-card-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.staff-card-metrics>span{min-width:0;display:grid;gap:2px;text-align:center;padding:8px 5px;border-radius:10px;background:#f5f7f9}.staff-card-metrics b{font-size:14px}.staff-card-metrics small{font-size:7.5px;color:#89919b;line-height:1.25}.staff-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:9px;border-top:1px solid #edf0f3}.staff-card-foot>span{min-width:0;display:flex;align-items:center;gap:5px;font-size:8px;color:#858d97;overflow-wrap:anywhere}.staff-card-foot>span .ui-icon{width:12px;height:12px}.staff-card-foot>a{display:inline-flex;align-items:center;gap:4px;font-size:8.5px;font-weight:650;color:var(--brand-accent);white-space:nowrap}.staff-card-foot>a .ui-icon{width:12px;height:12px}

.staff-detail-v19{display:grid;gap:12px}.staff-detail-hero{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid #d7dce3;border-radius:18px;background:#fff}.staff-detail-title{min-width:0}.staff-detail-title h2{margin:3px 0 4px;font-size:22px;letter-spacing:-.035em}.staff-detail-title p{margin:0;color:#7b848f;font-size:9.5px;overflow-wrap:anywhere}.staff-detail-title .chip-list{margin-top:8px}.staff-detail-title .chip-list span{display:inline-flex;align-items:center;gap:4px}.staff-detail-title .chip-list .ui-icon{width:11px;height:11px}.staff-detail-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.staff-detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.staff-detail-metrics>span{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;gap:0 8px;align-items:center;padding:10px;border:1px solid #dde1e6;border-radius:13px;background:#fafbfc}.staff-detail-metrics i{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#fff;color:var(--brand-accent)}.staff-detail-metrics .ui-icon{width:16px;height:16px}.staff-detail-metrics b{font-size:15px;line-height:1}.staff-detail-metrics small{font-size:8px;color:#858e98;line-height:1.2}.staff-detail-grid>.card{min-width:0;overflow:hidden}.access-quick-form{padding:11px;margin-bottom:10px;border:1px solid #d9dee4;border-radius:13px;background:#fafbfc}.scope-card-list{display:grid;gap:6px}.scope-card-v19{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px;border:1px solid #dfe3e8;border-radius:11px;background:#fff;min-width:0}.scope-card-v19>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#f2f4f6;color:#626d79}.scope-card-v19>span .ui-icon{width:15px;height:15px}.scope-card-v19>div{min-width:0;display:grid;gap:2px}.scope-card-v19 b{font-size:9.5px;overflow-wrap:anywhere}.scope-card-v19 small{font-size:8px;color:#8b939d;white-space:normal}.scope-card-v19.is-past{opacity:.55}.staff-schedule-box{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px}.staff-schedule-box>span{display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;gap:0 8px;padding:10px;border:1px solid #dce1e6;border-radius:11px;background:#fafbfc}.staff-schedule-box .ui-icon{grid-row:1/3;width:16px;height:16px;align-self:center;color:var(--brand-accent)}.staff-schedule-box small{font-size:7.5px;color:#9199a3}.staff-schedule-box b{font-size:10px}.inline-details{margin-top:8px;border:1px solid #d8dde4;border-radius:12px;background:#fff;overflow:hidden}.inline-details>summary{display:flex;align-items:center;gap:6px;padding:10px;cursor:pointer;font-size:9px;font-weight:650}.inline-details>summary .ui-icon{width:13px;height:13px}.inline-details>.form{padding:0 10px 10px}.timeline-v19{display:grid;gap:6px;margin-top:9px}.timeline-v19>article{display:grid;grid-template-columns:8px minmax(0,1fr);gap:9px;align-items:start;padding:8px 9px;border:1px solid #e0e4e9;border-radius:10px;background:#fafbfc}.timeline-v19>article>i{width:7px;height:7px;margin-top:4px;border-radius:50%;background:#a9afb7}.timeline-v19>article>i.ok,.timeline-v19>article>i.sent,.timeline-v19>article>i.delivered{background:#2da667}.timeline-v19>article>i.denied,.timeline-v19>article>i.failed{background:#d65b51}.timeline-v19>article>div{min-width:0;display:grid;gap:2px}.timeline-v19 b{font-size:9.2px}.timeline-v19 small{font-size:8px;line-height:1.4;color:#727b86;white-space:normal;overflow-wrap:anywhere}.timeline-v19 em{font-size:7.5px;color:#a0a6ae;font-style:normal}.staff-admin-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.inline-form{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.inline-form select{min-width:180px}.empty-mini{padding:10px;border:1px solid #dfe3e8;border-radius:10px;color:#8a929d;font-size:8.5px;text-align:center}

.inline-sheet{margin:0 0 14px;padding:14px;border:1px solid #d4dae1;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(24,31,43,.04)}.inline-sheet[hidden]{display:none!important}.inline-sheet.nested{margin:0 0 12px;background:#fafbfc}.inline-sheet .section-head{margin-bottom:10px}

.menu-product-grid-v19{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.menu-product-card-v19{min-width:0;overflow:hidden;border:1px solid #d8dde4;border-radius:16px;background:#fff}.menu-product-card-v19.is-inactive{opacity:.58}.menu-product-image{position:relative;aspect-ratio:16/9;background:#f1f3f5;overflow:hidden;display:grid;place-items:center}.menu-product-image img{width:100%;height:100%;object-fit:cover}.menu-product-image>span{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#fff;color:#a0a7b0}.menu-product-image>span .ui-icon{width:23px;height:23px}.menu-product-image em{position:absolute;left:8px;top:8px;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.92);font-size:7.5px;font-style:normal;font-weight:700}.menu-product-body{display:grid;gap:10px;padding:12px}.menu-product-title{display:grid;gap:3px;min-width:0}.menu-product-title>span{font-size:7.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--brand-accent)}.menu-product-title b{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.menu-product-title small{font-size:8.5px;line-height:1.5;color:#7f8791;white-space:normal;overflow-wrap:anywhere}.menu-product-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.menu-product-meta>span{min-width:0;display:grid;gap:2px;padding:8px;border-radius:9px;background:#f5f7f9}.menu-product-meta small{font-size:7px;color:#979ea7}.menu-product-meta b{font-size:8.5px;line-height:1.3;overflow-wrap:anywhere}.menu-product-actions{display:flex;justify-content:flex-end;gap:6px;padding-top:9px;border-top:1px solid #edf0f3}

.order-card-list-v19{display:grid;gap:7px}.order-row-v19{display:grid;grid-template-columns:40px minmax(180px,1.4fr) 70px minmax(130px,.8fr) auto 20px;gap:10px;align-items:center;padding:10px;border:1px solid #dce1e6;border-radius:12px;background:#fff;color:#343b45;text-decoration:none;min-width:0;transition:border-color .15s ease,background .15s ease}.order-row-v19:hover{border-color:#c9d0d9;background:#fafbfc}.order-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#f1f3f5;color:var(--brand-accent)}.order-icon .ui-icon{width:17px;height:17px}.order-row-v19>div{min-width:0;display:grid;gap:2px}.order-row-v19>div b{font-size:10px;overflow-wrap:anywhere}.order-row-v19>div small{font-size:8.5px;color:#838c97;white-space:normal}.order-items,.order-total{display:grid;gap:2px;min-width:0}.order-items b,.order-total b{font-size:9px}.order-items small,.order-total small{font-size:7.5px;color:#9299a2}.order-row-v19>i .ui-icon{width:14px;height:14px;color:#a4aab2}.order-item-list-v19{display:grid;gap:6px;margin:10px 0}.order-item-list-v19>div{display:flex;justify-content:space-between;gap:12px;padding:10px;border:1px solid #dce1e6;border-radius:11px;background:#fafbfc}.order-item-list-v19>div>span{display:grid;gap:3px;min-width:0}.order-item-list-v19 b{font-size:10px}.order-item-list-v19 small{font-size:8px;color:#858d97}.order-item-list-v19 strong{font-size:10px;white-space:nowrap}.order-total-box{display:flex;justify-content:space-between;align-items:center;padding:12px 13px;border-radius:12px;background:#2d333b;color:#fff}.order-total-box span{font-size:9px}.order-total-box b{font-size:15px}.info-dashed{display:grid;gap:4px;padding:10px;margin-top:9px;border:1px solid #d8dde4;border-radius:11px;background:#fff}.info-dashed small{font-size:7.5px;color:#9299a2}.info-dashed b{font-size:9px;line-height:1.5}.order-status-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin-top:10px;padding:10px;border:1px solid #d8dde4;border-radius:12px;background:#fafbfc}

.staff-context-menu-v19{position:fixed;z-index:9999;width:220px;padding:7px;border:1px solid #e0e3e7;border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 18px 50px rgba(20,27,38,.16);backdrop-filter:blur(18px)}.staff-context-menu-v19[hidden]{display:none!important}.staff-context-menu-v19 a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;padding:8px;border-radius:9px;color:#343b44;text-decoration:none;font-size:9px}.staff-context-menu-v19 a:hover{background:#f3f5f7}.staff-context-menu-v19 .ui-icon{width:14px;height:14px;color:#727b86;justify-self:center}.staff-context-menu-v19 b{font-size:9.5px}.staff-context-menu-v19 small{display:block;margin-top:1px;font-size:7.5px;color:#9299a3;white-space:normal}

/* Never let operational tables/rows visually collide. */
.card,.modal-form-sheet,.workspace-modal-body,.child-workspace-modal-body{min-width:0}.card h2,.card h3,.card p,.modal-form-sheet h2,.modal-form-sheet p{overflow-wrap:anywhere}.table-wrap{overflow-x:auto;overscroll-behavior-inline:contain}.table th,.table td{vertical-align:middle}.badge,.mini-pill{max-width:100%;white-space:normal;text-align:center;line-height:1.25}.form input,.form select,.form textarea{min-width:0;max-width:100%}.workspace-modal-body .grid,.child-workspace-modal-body .grid{min-width:0}

@media(max-width:1120px){.staff-card-grid-v19,.menu-product-grid-v19{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-detail-metrics{grid-template-columns:repeat(2,1fr)}.order-row-v19{grid-template-columns:40px minmax(160px,1.2fr) 62px minmax(120px,.8fr) auto}.order-row-v19>i{display:none}}
@media(max-width:820px){.ops-hero{grid-template-columns:1fr;padding:18px}.ops-hero-actions{justify-content:flex-start}.staff-toolbar-v19{grid-template-columns:1fr}.staff-toolbar-v19>span{text-align:left}.staff-card-grid-v19,.menu-product-grid-v19{grid-template-columns:1fr}.staff-detail-hero{grid-template-columns:56px minmax(0,1fr)}.staff-avatar.xl{width:56px;height:56px;border-radius:16px}.staff-detail-actions{grid-column:1/3;justify-content:flex-start}.staff-detail-metrics{grid-template-columns:1fr 1fr}.order-row-v19{grid-template-columns:38px minmax(0,1fr) auto}.order-items{grid-column:2}.order-total{grid-column:2}.order-row-v19>.badge{grid-column:3;grid-row:1/4}.order-status-form{grid-template-columns:1fr}.staff-group-strip,.menu-category-grid-v19,.order-status-grid-v19{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.ops-hero{padding:14px;border-radius:17px}.ops-hero h2{font-size:24px}.ops-hero-actions,.ops-hero-actions .btn{width:100%}.ops-hero-actions .btn{justify-content:center}.staff-group-strip,.menu-category-grid-v19,.order-status-grid-v19{grid-template-columns:1fr}.staff-group-card,.menu-category-card{min-height:82px}.staff-card-head{grid-template-columns:44px minmax(0,1fr)}.staff-avatar{width:44px;height:44px}.staff-card-head>.status-dot-label{grid-column:2;justify-self:start}.staff-card-contact{grid-template-columns:1fr}.staff-card-metrics{grid-template-columns:1fr 1fr 1fr}.staff-card-foot{align-items:flex-start;flex-direction:column}.staff-detail-metrics{grid-template-columns:1fr}.staff-schedule-box{grid-template-columns:1fr}.staff-detail-hero{padding:11px}.staff-detail-actions{width:100%}.staff-detail-actions .btn{flex:1;justify-content:center}.menu-product-meta{grid-template-columns:1fr}.order-row-v19{padding:9px}.order-row-v19>.badge{justify-self:end}.inline-form,.inline-form select,.inline-form .btn{width:100%}.staff-admin-row form{width:100%}.staff-admin-row form .btn{width:100%;justify-content:center}}
/* v0.19.1 staff group interaction polish */
button.staff-group-card{appearance:none;font:inherit;text-align:left;cursor:pointer;width:100%}
.staff-group-card.active{border-color:color-mix(in srgb,var(--brand-accent) 48%,#d8dde4);background:color-mix(in srgb,var(--brand-accent) 5%,white);box-shadow:0 10px 28px rgba(24,31,43,.06)}
.staff-group-card.active>span:first-child{background:color-mix(in srgb,var(--brand-accent) 12%,white)}
/* v0.19.2 panel-wide defensive layout pass: legacy components share the same wrapping rules. */
.hub-hero-copy,.tenant-hero,.organization-hero,.module-hero,.dealer-hero,.dashboard-focus,.dashboard-events,.tenant-create-sheet,.account-create,.selected-permissions,.user-role-box,.compact-picker,.create-role-pills,.module-license-strip,.tv-card{min-width:0;max-width:100%;overflow-wrap:anywhere}
.hero-actions,.table-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}
.hero-actions>* ,.table-actions>*{min-width:0}
.selected-permissions,.user-role-box,.compact-picker,.account-create,.tenant-create-sheet{border:1px solid #d8dde4;border-radius:16px;background:#fff;padding:14px}
.form-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;min-width:0}.form-row>*{min-width:0;flex:1 1 180px}
.primary-lift{box-shadow:0 8px 24px rgba(24,31,43,.08);transition:transform .16s ease,box-shadow .16s ease}.primary-lift:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(24,31,43,.12)}
.back-link,.small-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:100%;white-space:normal;text-align:center}
.card,.panel,.modal-form-sheet,.workspace-content,.child-workspace-content,.table-wrap,.responsive-table,.module-card,.tenant-card,.device-row,.mini-crud-row{min-width:0;max-width:100%}
.card h1,.card h2,.card h3,.card h4,.card b,.card strong,.card small,.card span,.modal-form-sheet h1,.modal-form-sheet h2,.modal-form-sheet h3,.modal-form-sheet p{overflow-wrap:anywhere}
@media(max-width:720px){.hero-actions,.table-actions{justify-content:flex-start}.hero-actions .btn,.table-actions .btn{flex:1 1 auto}.form-row{align-items:stretch}.form-row>*{flex-basis:100%}}
/* v0.19.3: neutralize legacy tenant-type direct-child span sizing inside the new portfolio grid. */
.tenant-type-overview .tenant-type-box>span{width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;border-radius:0!important;background:transparent!important;place-items:initial!important}
.tenant-type-overview .tenant-type-box>.tenant-type-box-icon{width:56px!important;height:56px!important;min-width:56px!important;border-radius:16px!important;background:#f2f4f6!important;place-items:center!important}
.tenant-type-overview .tenant-type-box>.tenant-type-box-count{width:auto!important;height:auto!important;background:transparent!important}
.tenant-type-overview .tenant-type-box>.tenant-type-box-copy{width:auto!important;height:auto!important;background:transparent!important}
@media(max-width:520px){.tenant-type-overview .tenant-type-box>.tenant-type-box-icon{width:48px!important;height:48px!important;min-width:48px!important}}

/* v0.19.1 — institution modal + stale tenant/device state hardening */
.child-workspace-body{overflow-x:hidden!important}
.child-workspace-content{width:100%!important;max-width:860px!important;min-width:0!important}
.tenant-create-sheet{width:100%!important;max-width:820px!important;border:1px solid #d5dbe2!important;border-radius:18px!important;background:#fff!important}
.tenant-create-sheet .modal-crud-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:12px!important;row-gap:12px!important}
.tenant-create-sheet .field{min-width:0!important;padding:10px!important;border:1px solid #e0e4e9!important;border-radius:12px!important;background:#fafbfc!important}
.tenant-create-sheet .field>label{font-size:9px!important;letter-spacing:.015em!important;color:#68717c!important;margin-bottom:2px!important}
.tenant-create-sheet .field input,.tenant-create-sheet .field select{background:#fff!important;border-radius:9px!important;min-height:43px!important}
.tenant-create-sheet .form-divider{padding:12px 2px 5px!important;border:0!important;border-bottom:1px solid #d8dde4!important;border-radius:0!important;background:transparent!important}
.tenant-create-sheet .form-divider span{display:inline-flex!important;align-items:center!important;gap:6px!important;font-size:9px!important;font-weight:750!important;color:#747d88!important;text-transform:uppercase!important;letter-spacing:.08em!important}
.tenant-create-sheet .modal-form-note{padding:13px!important;background:#f4f6f8!important;border:1px solid #d7dde4!important;border-left:2px solid var(--brand-accent)!important}
.tenant-create-sheet .modal-form-actions{padding:16px 0 0!important;border:0!important;border-top:1px solid #d7dce3!important;background:#fff!important}
.global-device-tenant.is-stale{border-color:#e0c9a4!important;background:#fffaf2!important}
.global-device-tenant.is-stale .tenant-mini-icon{background:#fff!important;color:#a66b16!important}
.global-device-row.has-stale-tenant{border-color:#dfd5c4!important}
.global-device-row.has-stale-tenant .global-device-main small{white-space:normal!important}
@media(max-width:700px){
  .tenant-create-sheet .modal-crud-form{grid-template-columns:1fr!important;padding:14px!important}
  .tenant-create-sheet .field.full,.tenant-create-sheet .form-divider,.tenant-create-sheet .modal-form-note,.tenant-create-sheet .modal-form-actions{grid-column:1!important}
  .tenant-create-sheet .modal-form-intro{padding:16px!important}
}

/* ============================================================
   MIRA v0.20 — Contracted business / partner operations
   ============================================================ */
.partner-admin-hero{background:linear-gradient(135deg,#fff,#f7f9fb)}
.partner-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0 0 14px}.partner-category-card{position:relative;min-width:0;min-height:92px;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:11px;padding:14px;border:1px solid #d7dde4;border-radius:16px;background:#fff;color:#303740;text-decoration:none;box-shadow:0 7px 24px rgba(24,31,43,.035)}.partner-category-card>span:first-child{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#f2f4f6;color:var(--brand-accent)}.partner-category-card .ui-icon{width:21px;height:21px}.partner-category-card>div{min-width:0;display:grid;gap:3px}.partner-category-card b{font-size:11px;line-height:1.35}.partner-category-card small{font-size:8.7px;color:#858d97}.partner-category-card.active{border-color:color-mix(in srgb,var(--brand-accent) 42%,#d7dde4);background:color-mix(in srgb,var(--brand-accent) 4%,white)}
.partner-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.partner-admin-card{min-width:0;display:grid;gap:12px;padding:16px;border:1px solid #d7dde4;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(20,28,40,.04)}.partner-admin-card.is-paused{opacity:.72;background:#fafbfc}.partner-admin-head{display:grid;grid-template-columns:50px minmax(0,1fr);gap:11px;align-items:center}.partner-admin-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:#f1f4f6;color:var(--brand-accent);border:1px solid #d8dde4}.partner-admin-icon .ui-icon{width:22px;height:22px}.partner-admin-head h3{margin:2px 0 0;font-size:16px;line-height:1.25;overflow-wrap:anywhere}.partner-admin-head small{font-size:8.5px;color:#858d97;line-height:1.4}.partner-admin-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.partner-admin-kpis>span{min-width:0;display:grid;gap:3px;padding:10px;border:1px solid #dce1e7;border-radius:12px;background:#fafbfc}.partner-admin-kpis small,.partner-admin-kpis em{font-size:8px;color:#87909a;font-style:normal;line-height:1.35}.partner-admin-kpis b{font-size:11px;line-height:1.35;overflow-wrap:anywhere}.partner-admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;border-top:1px solid #e0e4e9;padding-top:10px}
.partner-create-sheet{max-width:900px!important}.partner-create-sheet .modal-crud-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}.partner-create-sheet .field{min-width:0;padding:10px;border:1px solid #e0e4e9;border-radius:12px;background:#fafbfc}.partner-create-sheet .field.full{grid-column:1/-1}.partner-create-sheet .form-divider{border:0;border-bottom:1px solid #d9dee5;border-radius:0;background:transparent;padding:14px 2px 6px}.partner-create-sheet .modal-form-actions{border:0;border-top:1px solid #d9dee5;background:#fff;padding-top:14px}
.partner-detail-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:18px;margin-bottom:12px;border:1px solid #d7dde4;border-radius:18px;background:#fff}.partner-detail-title{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center;min-width:0}.partner-detail-title h2{margin:3px 0 4px;font-size:25px;letter-spacing:-.04em;line-height:1.08}.partner-detail-title p{margin:0;font-size:9.5px;color:#7c8590;line-height:1.5}.partner-detail-actions{display:flex;gap:7px;flex-wrap:wrap}.report-filter-bar{display:grid;grid-template-columns:180px 180px auto;gap:9px;align-items:end;margin-bottom:12px;padding:12px;border:1px solid #d8dde4;border-radius:14px;background:#fafbfc}.report-filter-bar .field{margin:0}.report-filter-bar label{font-size:8.5px}.partner-detail-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:12px}.partner-detail-metrics article{min-width:0;display:grid;gap:4px;padding:13px;border:1px solid #d7dde4;border-radius:14px;background:#fff}.partner-detail-metrics article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f2f4f6;color:var(--brand-accent)}.partner-detail-metrics .ui-icon{width:16px;height:16px}.partner-detail-metrics small,.partner-detail-metrics em{font-size:8px;color:#858d97;font-style:normal;line-height:1.35}.partner-detail-metrics b{font-size:13px;line-height:1.3;overflow-wrap:anywhere}.partner-detail-grid,.partner-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.partner-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.partner-info-grid>div{min-width:0;padding:10px;border:1px solid #dce1e6;border-radius:11px;background:#fafbfc}.partner-info-grid>div.wide{grid-column:1/-1}.partner-info-grid dt{font-size:7.8px;color:#87909a;margin-bottom:3px}.partner-info-grid dd{margin:0;font-size:9.5px;line-height:1.5;overflow-wrap:anywhere}.partner-user-list{display:grid;gap:8px}.partner-user-row{position:relative;min-width:0;display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:9px;border:1px solid #dce1e6;border-radius:12px;background:#fafbfc}.partner-user-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eef1f4;color:#47505a;font-weight:750}.partner-user-row>div{min-width:0}.partner-user-row b{display:block;font-size:10px}.partner-user-row small{display:block;font-size:8px;color:#858d97;line-height:1.45;white-space:normal}.partner-user-create{margin-top:10px}.partner-user-create form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-top:9px}.partner-user-create form>*{min-width:0}.row-menu{position:relative}.row-menu>summary{list-style:none;width:32px;height:32px;display:grid;place-items:center;border:1px solid #d6dce3;border-radius:9px;background:#fff;cursor:pointer}.row-menu>summary::-webkit-details-marker{display:none}.row-menu[open]{z-index:20}.row-menu>form{position:relative;display:flex;gap:6px;align-items:center;margin-top:6px}.row-menu input{min-width:140px}.row-menu button{font-size:8px;padding:7px 8px}
.partner-sales-chart{margin-bottom:12px}.partner-daily-bars{display:grid;gap:8px}.partner-daily-bars>div{display:grid;grid-template-columns:minmax(120px,190px) minmax(120px,1fr) minmax(100px,150px);align-items:center;gap:10px;min-width:0}.partner-daily-bars span{display:grid}.partner-daily-bars b{font-size:9px}.partner-daily-bars small{font-size:7.8px;color:#8b939d}.partner-daily-bars i{display:block;height:8px;border-radius:999px;background:#eef1f4;overflow:hidden}.partner-daily-bars i u{display:block;height:100%;border-radius:inherit;background:var(--brand-accent)}.partner-daily-bars em{text-align:right;font-size:9px;font-style:normal;font-weight:650}
@media(max-width:1050px){.partner-admin-grid{grid-template-columns:1fr}.partner-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-detail-grid,.partner-report-grid{grid-template-columns:1fr}}
@media(max-width:720px){.partner-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-admin-kpis{grid-template-columns:1fr}.partner-create-sheet .modal-crud-form{grid-template-columns:1fr!important}.partner-detail-metrics{grid-template-columns:1fr 1fr}.report-filter-bar{grid-template-columns:1fr}.partner-info-grid{grid-template-columns:1fr}.partner-info-grid>div.wide{grid-column:auto}.partner-user-row{grid-template-columns:40px minmax(0,1fr) auto}.partner-user-row>.badge{grid-column:2;justify-self:start}.partner-user-row>.row-menu{grid-column:3;grid-row:1/3}.partner-user-create form{grid-template-columns:1fr}.partner-daily-bars>div{grid-template-columns:1fr}.partner-daily-bars em{text-align:left}.partner-detail-actions,.partner-detail-actions .btn{width:100%}.partner-detail-actions .btn{justify-content:center}}
@media(max-width:480px){.partner-category-grid,.partner-detail-metrics{grid-template-columns:1fr}.partner-category-card{min-height:76px}.partner-detail-title{grid-template-columns:46px minmax(0,1fr)}.partner-detail-title .partner-admin-icon{width:46px;height:46px}.partner-detail-title h2{font-size:21px}}


/* v0.20.2 · Legacy orphan device recovery */
.device-recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.device-recovery-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:start;padding:18px;border:1px solid var(--dash,#d7dbe2);border-radius:20px;background:linear-gradient(180deg,#fff,#fbfcfd);min-width:0}
.device-recovery-icon{width:64px;height:64px;border-radius:19px;display:grid;place-items:center;background:#f2f4f7;color:var(--brand-accent);border:1px solid var(--dash,#d7dbe2)}
.device-recovery-icon .ui-icon{width:28px;height:28px}
.device-recovery-copy{min-width:0}.device-recovery-copy b,.device-recovery-copy small,.device-recovery-copy p{overflow-wrap:anywhere;word-break:break-word}.device-recovery-copy p{margin:12px 0 14px}
.device-recovery-copy .tenant-mini-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.device-recovery-copy .tenant-mini-meta span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--dash,#d7dbe2);border-radius:11px;background:#fff;min-width:0;overflow-wrap:anywhere}.device-recovery-copy .tenant-mini-meta .ui-icon{width:14px;height:14px;flex:0 0 auto}
@media(max-width:900px){.device-recovery-grid{grid-template-columns:1fr}}
@media(max-width:560px){.device-recovery-card{grid-template-columns:1fr}.device-recovery-icon{width:54px;height:54px}.device-recovery-copy .inline{align-items:flex-start!important;flex-wrap:wrap}.device-recovery-copy form .btn{width:100%}}

/* v0.20.3 · temporary physical-device recovery window */
.device-recovery-window{border-style:solid!important;overflow:hidden}
.device-recovery-window.is-open{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-accent) 9%,transparent)}
.device-recovery-window .section-head{gap:16px;align-items:center;flex-wrap:wrap}
.device-recovery-window .section-head>div:first-child{min-width:0;flex:1 1 420px}
.device-recovery-window .section-head h3{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.device-recovery-window .section-head h3 .ui-icon{width:20px;height:20px;flex:0 0 auto}
.device-recovery-window .section-head span{display:block;overflow-wrap:anywhere;line-height:1.55}
.device-recovery-window .notice{margin-top:12px;border:1px solid var(--dash,#d7dbe2);border-radius:14px;padding:12px 14px}
@media(max-width:640px){.device-recovery-window .section-head .inline,.device-recovery-window form,.device-recovery-window .btn{width:100%}}

/* ============================================================
   MIRA v0.20.6 — Device fleet workspace / responsive hardening
   ============================================================ */
.device-fleet-page{
  --fleet-dash:#d8dde4;
  --fleet-soft:#f7f9fb;
  display:grid;
  gap:16px;
  min-width:0;
}
.device-fleet-page>*{min-width:0}
.device-fleet-hero{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:center!important;
  margin:0!important;
  padding:20px!important;
  border:1px solid var(--fleet-dash)!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,#fff 0%,#f8fafc 100%)!important;
  box-shadow:0 10px 32px rgba(24,31,43,.045)!important;
}
.device-fleet-hero-icon{
  width:72px;height:72px;display:grid;place-items:center;
  border:1px solid var(--fleet-dash);border-radius:20px;
  background:#f1f4f7;color:var(--brand-accent);flex:0 0 auto;
}
.device-fleet-hero-icon .ui-icon{width:31px;height:31px}
.device-fleet-hero-copy{min-width:0}
.device-fleet-hero-copy h2{margin:3px 0 6px!important;font-size:26px!important;line-height:1.12!important;letter-spacing:-.04em!important;overflow-wrap:anywhere}
.device-fleet-hero-copy p{margin:0!important;max-width:980px;font-size:11px!important;line-height:1.7!important;color:#69727d!important;overflow-wrap:anywhere}
.device-fleet-hero-pills{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.device-fleet-hero-pills span{
  display:inline-flex;align-items:center;gap:6px;min-width:0;
  padding:7px 10px;border:1px solid var(--fleet-dash);border-radius:999px;
  background:#fff;color:#59616c;font-size:9px;font-weight:650;line-height:1.2;
}
.device-fleet-hero-pills .ui-icon{width:14px;height:14px;flex:0 0 auto}

.device-fleet-section{
  margin:0!important;padding:18px!important;
  border:1px solid var(--fleet-dash)!important;border-radius:20px!important;
  background:#fff!important;box-shadow:0 9px 28px rgba(24,31,43,.04)!important;
  overflow:hidden!important;
}
.device-fleet-section>.section-head{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;
  gap:14px!important;flex-wrap:wrap!important;margin:0 0 14px!important;padding:0 0 13px!important;
  border-bottom:1px solid var(--fleet-dash)!important;
}
.device-fleet-section>.section-head>div:first-child{min-width:0;flex:1 1 360px}
.device-fleet-section>.section-head h3{
  display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;
  margin:0!important;font-size:16px!important;line-height:1.32!important;letter-spacing:-.025em!important;
  overflow-wrap:anywhere!important;
}
.device-fleet-section>.section-head h3 .ui-icon{width:19px;height:19px;flex:0 0 auto;color:var(--brand-accent)}
.device-fleet-section>.section-head span{
  display:block!important;margin-top:5px!important;max-width:900px!important;
  font-size:10px!important;line-height:1.6!important;color:#7a838e!important;overflow-wrap:anywhere!important;
}
.device-fleet-section>.section-head>.btn{flex:0 0 auto}

.device-recovery-window{
  position:relative!important;background:linear-gradient(135deg,#fff,#fbfcfd)!important;
}
.device-recovery-window:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
  background:color-mix(in srgb,var(--brand-accent) 55%,#d8dde4);
}
.device-recovery-window .section-head .inline{display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important}
.device-recovery-window .section-head form{margin:0!important}
.device-recovery-window .btn{min-height:40px!important;white-space:normal!important;text-align:center!important}
.device-recovery-window .notice{
  display:block!important;margin:0!important;padding:12px 14px!important;
  border:1px solid var(--fleet-dash)!important;border-radius:13px!important;
  background:#f7faf8!important;font-size:10px!important;line-height:1.6!important;
  overflow-wrap:anywhere!important;
}

.device-pending-card{
  display:grid;gap:14px;margin:12px 0 0;padding:16px;
  border:1px solid var(--fleet-dash);border-radius:17px;background:var(--fleet-soft);
  min-width:0;
}
.device-pending-card:first-of-type{margin-top:0}
.device-pending-head{
  display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:center;min-width:0;
}
.device-pending-icon{
  width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--fleet-dash);
  border-radius:14px;background:#fff;color:var(--brand-accent);
}
.device-pending-icon .ui-icon{width:22px;height:22px}
.device-pending-copy{min-width:0}
.device-pending-copy b{display:block;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.device-pending-copy small{font-size:8.8px!important;line-height:1.55!important;white-space:normal!important;overflow-wrap:anywhere!important}
.device-assign-form{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;margin:0!important;padding-top:13px!important;border-top:1px solid var(--fleet-dash)!important;
}
.device-assign-form .field{min-width:0!important;margin:0!important;padding:10px!important;border:1px solid #e0e4e9!important;border-radius:12px!important;background:#fff!important}
.device-assign-form .field.full{grid-column:1/-1!important;padding:0!important;border:0!important;background:transparent!important}
.device-assign-form label{font-size:8.5px!important;color:#737c87!important}
.device-assign-form input,.device-assign-form select{width:100%!important;min-width:0!important;max-width:100%!important}
.device-assign-form .field.full .btn{width:100%!important;justify-content:center!important}

.device-fleet-page .table-wrap{
  width:100%!important;max-width:100%!important;overflow-x:auto!important;
  border:1px solid var(--fleet-dash)!important;border-radius:15px!important;
  background:#fff!important;box-shadow:none!important;
}
.device-fleet-page .table{
  width:100%!important;min-width:840px!important;border-collapse:separate!important;border-spacing:0!important;
}
.device-fleet-page .table th{
  padding:12px 13px!important;background:#f5f7f9!important;color:#68717c!important;
  border:0!important;border-bottom:1px solid var(--fleet-dash)!important;
  font-size:9px!important;line-height:1.3!important;letter-spacing:.045em!important;white-space:nowrap!important;
}
.device-fleet-page .table td{
  min-width:0!important;padding:13px!important;background:#fff!important;
  border:0!important;border-bottom:1px solid #e5e8ec!important;
  font-size:10.5px!important;line-height:1.5!important;overflow-wrap:anywhere!important;
}
.device-fleet-page .table tbody tr:last-child td{border-bottom:0!important}
.device-fleet-page .table td small{font-size:8.5px!important;line-height:1.45!important;white-space:normal!important;overflow-wrap:anywhere!important}
.device-table-actions .inline{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
.device-table-actions form{margin:0!important}
.device-table-actions .btn{min-height:34px!important;padding:7px 9px!important;font-size:9px!important;white-space:normal!important}

.device-empty-state{
  display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;
  max-width:620px;margin:18px auto;padding:15px;border:1px solid var(--fleet-dash);
  border-radius:15px;background:var(--fleet-soft);text-align:left;
}
.device-empty-state>span{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--fleet-dash);border-radius:14px;background:#fff;color:#8a939e}
.device-empty-state>span .ui-icon{width:21px;height:21px}
.device-empty-state b{display:block;font-size:11px;line-height:1.35}
.device-empty-state small{display:block;margin-top:3px;font-size:8.8px!important;line-height:1.5!important;color:#858d97!important;white-space:normal!important}

.device-recovery-card .inline{min-width:0!important;flex-wrap:wrap!important}
.device-recovery-card .badge{flex:0 0 auto}
.device-recovery-card form,.device-recovery-card .btn{max-width:100%}

@media(max-width:980px){
  .device-assign-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .device-fleet-page .table{min-width:720px!important}
}

@media(max-width:760px){
  .device-fleet-page{gap:12px}
  .device-fleet-hero{grid-template-columns:56px minmax(0,1fr)!important;padding:16px!important;border-radius:18px!important}
  .device-fleet-hero-icon{width:56px;height:56px;border-radius:16px}
  .device-fleet-hero-icon .ui-icon{width:25px;height:25px}
  .device-fleet-hero-copy h2{font-size:22px!important}
  .device-fleet-section{padding:14px!important;border-radius:17px!important}
  .device-fleet-section>.section-head{align-items:stretch!important}
  .device-fleet-section>.section-head>.btn,.device-recovery-window .section-head .inline,.device-recovery-window .section-head form,.device-recovery-window .section-head .btn{width:100%!important}
  .device-assign-form{grid-template-columns:1fr!important}

  /* Device inventory becomes a card list instead of a horizontally crushed table. */
  .device-inventory-section .table-wrap,.device-scan-section .table-wrap{border:0!important;overflow:visible!important;background:transparent!important}
  .device-inventory-section .table,.device-scan-section .table{display:block!important;min-width:0!important;width:100%!important}
  .device-inventory-section thead,.device-scan-section thead{display:none!important}
  .device-inventory-section tbody,.device-scan-section tbody{display:grid!important;gap:10px!important;width:100%!important}
  .device-inventory-section tr.device-table-row,.device-scan-section tr.device-scan-row{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;
    width:100%!important;min-width:0!important;border:1px solid var(--fleet-dash)!important;
    border-radius:15px!important;background:#fff!important;overflow:hidden!important;
  }
  .device-inventory-section tr.device-table-row td,.device-scan-section tr.device-scan-row td{
    display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;gap:9px!important;align-items:start!important;
    width:100%!important;min-width:0!important;padding:11px!important;border:0!important;border-bottom:1px solid #e5e8ec!important;
    background:#fff!important;font-size:10px!important;
  }
  .device-inventory-section tr.device-table-row td:nth-child(odd),.device-scan-section tr.device-scan-row td:nth-child(odd){border-right:1px solid #e5e8ec!important}
  .device-inventory-section tr.device-table-row td:before,.device-scan-section tr.device-scan-row td:before{
    content:attr(data-label);font-size:8px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:#8a929c;line-height:1.45;
  }
  .device-inventory-section tr.device-table-row td:last-child,.device-scan-section tr.device-scan-row td:last-child{border-bottom:0!important}
  .device-inventory-section .device-table-actions{grid-column:1/-1!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
  .device-inventory-section .device-table-actions:before{flex:0 0 96px}
  .device-table-empty,.device-table-empty td{display:block!important;width:100%!important;border:0!important;padding:0!important}
  .device-empty-state{margin:0;max-width:none}
}

@media(max-width:520px){
  .device-fleet-hero{grid-template-columns:1fr!important;gap:12px!important}
  .device-fleet-hero-icon{width:52px;height:52px}
  .device-fleet-hero-pills{display:grid;grid-template-columns:1fr 1fr}
  .device-fleet-hero-pills span:last-child{grid-column:1/-1}
  .device-pending-head{grid-template-columns:44px minmax(0,1fr)!important;align-items:start!important}
  .device-pending-icon{width:44px;height:44px;border-radius:13px}
  .device-pending-head>.badge{grid-column:2;justify-self:start}
  .device-inventory-section tr.device-table-row,.device-scan-section tr.device-scan-row{grid-template-columns:1fr!important}
  .device-inventory-section tr.device-table-row td,.device-scan-section tr.device-scan-row td{grid-template-columns:92px minmax(0,1fr)!important;border-right:0!important}
  .device-inventory-section .device-table-actions{grid-column:auto!important;display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;justify-content:stretch!important}
  .device-inventory-section .device-table-actions:before{flex:none}
  .device-inventory-section .device-table-actions form,.device-inventory-section .device-table-actions .btn,.device-inventory-section .device-table-actions .inline{width:100%!important}
  .device-inventory-section .device-table-actions .inline{display:grid!important;grid-template-columns:1fr!important}
  .device-empty-state{grid-template-columns:42px minmax(0,1fr);padding:12px}.device-empty-state>span{width:42px;height:42px;border-radius:12px}
}


/* ============================================================
   MIRA v0.20.7 — fleet cards + workspace modal hardening
   ============================================================ */
.device-inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;min-width:0}
.device-inventory-card{display:grid;gap:13px;min-width:0;padding:15px;border:1px solid var(--fleet-dash,#d8dde4);border-radius:17px;background:linear-gradient(180deg,#fff,#fbfcfd);box-shadow:0 5px 18px rgba(24,31,43,.025)}
.device-inventory-card-head{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center;min-width:0}
.device-inventory-card-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--fleet-dash,#d8dde4);border-radius:13px;background:#f5f7f9;color:var(--brand-accent)}
.device-inventory-card-icon .ui-icon{width:21px;height:21px}.device-inventory-card-title{display:grid;gap:2px;min-width:0}.device-inventory-card-title small{font-size:8px!important;text-transform:uppercase;letter-spacing:.07em;color:#8a929c!important}.device-inventory-card-title b{font-size:12px;line-height:1.3;overflow-wrap:anywhere}.device-inventory-card-title em{font-size:8.8px;font-style:normal;color:#79828c;overflow-wrap:anywhere}.device-inventory-card-status{align-self:start;justify-self:end}
.device-inventory-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.device-inventory-meta>span{display:grid;gap:3px;min-width:0;padding:10px;border:1px solid #e0e4e9;border-radius:12px;background:#fff}.device-inventory-meta small{font-size:7.8px!important;text-transform:uppercase;letter-spacing:.05em;color:#9299a2!important}.device-inventory-meta b{font-size:9.5px;line-height:1.45;font-weight:650;overflow-wrap:anywhere}
.device-inventory-technical{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border:1px solid #e1e5e9;border-radius:11px;background:#f7f9fb;min-width:0}.device-inventory-technical span{font-size:7.8px;font-weight:750;letter-spacing:.05em;color:#9299a2}.device-inventory-technical code{font-size:8.5px;white-space:normal;overflow-wrap:anywhere;color:#59626d}
.device-inventory-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:11px;border-top:1px solid #e0e4e9;min-width:0}.device-inventory-actions form{margin:0}.device-inventory-actions .inline{display:flex;gap:6px;flex-wrap:wrap}
.device-scan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.device-scan-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;padding:12px;border:1px solid var(--fleet-dash,#d8dde4);border-radius:14px;background:#fff}.device-scan-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid #e0e4e9;border-radius:12px;background:#f6f8fa;color:var(--brand-accent)}.device-scan-copy{display:grid;gap:2px;min-width:0}.device-scan-copy small,.device-scan-copy em{font-size:8px!important;font-style:normal;color:#8a929c!important;overflow-wrap:anywhere}.device-scan-copy b{font-size:10px;overflow-wrap:anywhere}.device-scan-signal{display:grid;gap:2px;text-align:right}.device-scan-signal b{font-size:9px}.device-scan-signal small{font-size:7.8px!important;color:#8a929c!important;white-space:nowrap!important}
.workspace-modal-body .device-fleet-page,.workspace-modal-body .partner-admin-grid,.workspace-modal-body .partner-category-grid{max-width:100%;min-width:0}.workspace-modal-body .card,.workspace-modal-body section,.workspace-modal-body article{min-width:0}.workspace-modal-body h1,.workspace-modal-body h2,.workspace-modal-body h3,.workspace-modal-body p,.workspace-modal-body b,.workspace-modal-body small{overflow-wrap:anywhere}
@media(max-width:980px){.device-inventory-grid,.device-scan-grid{grid-template-columns:1fr}}
@media(max-width:560px){.device-inventory-card-head{grid-template-columns:42px minmax(0,1fr)}.device-inventory-card-icon{width:42px;height:42px}.device-inventory-card-status{grid-column:2;justify-self:start}.device-inventory-meta{grid-template-columns:1fr}.device-inventory-actions,.device-inventory-actions .inline,.device-inventory-actions form,.device-inventory-actions .btn{width:100%}.device-inventory-actions .inline{display:grid;grid-template-columns:1fr}.device-scan-card{grid-template-columns:38px minmax(0,1fr)}.device-scan-icon{width:38px;height:38px}.device-scan-signal{grid-column:2;text-align:left;display:flex;gap:8px;align-items:center;flex-wrap:wrap}}


/* ============================================================
   Mira v0.20.9 — active workspace card + reliable modal states
   ============================================================ */
.current-context{
  display:inline-flex!important;align-items:center!important;gap:6px!important;
  min-height:30px!important;padding:5px 9px!important;margin-left:auto!important;
  border:1px solid color-mix(in srgb,var(--brand-accent) 48%,#cfd5dc)!important;
  border-radius:10px!important;background:color-mix(in srgb,var(--brand-accent) 4%,#fff)!important;
  color:#56606b!important;font-size:8.5px!important;font-weight:750!important;
  letter-spacing:.035em!important;white-space:nowrap!important;
}
.current-context i{width:7px!important;height:7px!important;border-radius:999px!important;background:#2f9b59!important;box-shadow:0 0 0 4px rgba(47,155,89,.09)!important}

.tenant-workspace-label{
  min-width:210px!important;max-width:320px!important;min-height:46px!important;
  display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;
  align-items:center!important;gap:9px!important;padding:6px 9px!important;
  border:1px solid #cfd5dc!important;border-radius:13px!important;
  background:rgba(255,255,255,.82)!important;color:var(--v17-text)!important;
  text-transform:none!important;letter-spacing:0!important;
}
.tenant-workspace-label-icon{width:32px!important;height:32px!important;display:grid!important;place-items:center!important;border-radius:10px!important;background:color-mix(in srgb,var(--brand-accent) 9%,#fff)!important;color:var(--brand-accent)!important}
.tenant-workspace-label-icon .ui-icon{width:16px!important;height:16px!important}
.tenant-workspace-label-copy{display:grid!important;min-width:0!important;gap:1px!important}
.tenant-workspace-label-copy small{font-size:7.5px!important;font-weight:750!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:#9299a3!important}
.tenant-workspace-label-copy b{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:10px!important;font-weight:700!important;color:#333b45!important}
.tenant-workspace-label-state{display:inline-flex!important;align-items:center!important;gap:5px!important;padding:4px 7px!important;border-radius:999px!important;background:#eef8f1!important;color:#2f7d4d!important;font-size:7.6px!important;font-weight:750!important;white-space:nowrap!important}
.tenant-workspace-label-state i{width:6px!important;height:6px!important;border-radius:50%!important;background:#35a460!important;box-shadow:none!important}

.workspace-http-state{width:100%!important;min-width:0!important}
.workspace-error{max-width:620px!important;margin:clamp(24px,7vh,72px) auto!important;padding:24px!important;border:1px solid #d4d9df!important;border-radius:18px!important;background:#fff!important;text-align:center!important;box-shadow:0 16px 42px rgba(20,27,38,.06)!important}
.workspace-error-icon{width:42px!important;height:42px!important;margin:0 auto 10px!important;display:grid!important;place-items:center!important;border-radius:13px!important;background:#fff3f1!important;color:#b9423c!important;font-size:18px!important;font-weight:800!important}
.workspace-error b{display:block!important;font-size:15px!important;margin-bottom:6px!important}.workspace-error p{margin:0 auto 14px!important;max-width:520px!important;color:#77808b!important;font-size:10px!important;line-height:1.65!important;overflow-wrap:anywhere!important}.workspace-error-actions{display:flex!important;justify-content:center!important;gap:8px!important;flex-wrap:wrap!important}

@media(max-width:1280px){
  .tenant-workspace-label{min-width:170px!important;max-width:220px!important}.tenant-workspace-label-state{display:none!important}
}
@media(max-width:980px){
  .tenant-workspace-bar{grid-template-columns:minmax(0,1fr) auto!important}
  .tenant-workspace-label{grid-column:1/-1!important;max-width:none!important;min-width:0!important;min-height:42px!important;grid-template-columns:30px minmax(0,1fr) auto!important;padding:5px 8px!important}
  .tenant-workspace-label-state{display:inline-flex!important}.tenant-workspace-nav{grid-column:1!important}.tenant-workspace-setup{grid-column:2!important}
}
@media(max-width:560px){
  .tenant-workspace-label{grid-template-columns:28px minmax(0,1fr)!important}.tenant-workspace-label-state{display:none!important}.tenant-workspace-label-copy b{font-size:9.5px!important}.current-context{margin-left:0!important;margin-top:6px!important;width:max-content!important}
}

/* ============================================================
   Mira v0.20.10 — tenant cards + explicit onboarding workspaces
   ============================================================ */
.tenant-card-v14 .tenant-card-top{padding-right:70px!important;min-width:0!important}
.tenant-active-workspace{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;margin:13px 0 2px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--brand-accent) 42%,#d3d9df);border-radius:13px;background:linear-gradient(180deg,color-mix(in srgb,var(--brand-accent) 4%,#fff),#fff);min-width:0}
.tenant-active-workspace-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--brand-accent) 9%,#fff);color:var(--brand-accent)}
.tenant-active-workspace-icon .ui-icon{width:17px;height:17px}.tenant-active-workspace-copy{display:grid;gap:1px;min-width:0}.tenant-active-workspace-copy small{font-size:7.3px!important;font-weight:800!important;letter-spacing:.085em!important;color:#8d959f!important}.tenant-active-workspace-copy b{font-size:9.3px!important;line-height:1.35!important;color:#3c4651!important;overflow-wrap:anywhere}.tenant-active-workspace-state{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#eef8f1;color:#28754a;font-size:7.7px;font-weight:800;white-space:nowrap}.tenant-active-workspace-state i{width:6px;height:6px;border-radius:50%;background:#31a15d;box-shadow:0 0 0 4px rgba(49,161,93,.08)}
.tenant-mini-meta-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:12px 0 0!important}.tenant-mini-meta-grid>span{display:grid!important;grid-template-columns:20px auto minmax(0,1fr)!important;align-items:center!important;gap:5px!important;min-width:0!important;padding:8px 9px!important;border:1px solid #dce1e6!important;border-radius:11px!important;background:#fbfcfd!important}.tenant-mini-meta-grid .ui-icon{width:14px!important;height:14px!important;color:#7f8893!important}.tenant-mini-meta-grid b{font-size:10px!important;color:#303944!important}.tenant-mini-meta-grid small{font-size:8px!important;color:#8a929c!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.tenant-actions-v14{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:12px!important}.tenant-actions-v14 .tenant-primary-action{width:100%!important;margin:0!important}.tenant-actions-v14 .tenant-primary-action .btn{width:100%!important;justify-content:center!important;min-height:38px!important}.tenant-secondary-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.tenant-secondary-actions .btn{width:100%!important;justify-content:center!important;min-width:0!important}
@media(max-width:560px){.tenant-active-workspace{grid-template-columns:34px minmax(0,1fr)!important}.tenant-active-workspace-state{grid-column:2!important;justify-self:start!important}.tenant-mini-meta-grid{grid-template-columns:1fr 1fr!important}.tenant-mini-meta-grid>span{grid-template-columns:18px auto!important}.tenant-mini-meta-grid small{grid-column:1/-1!important;white-space:normal!important}.tenant-secondary-actions{grid-template-columns:1fr 1fr!important}}

/* ============================================================
   Mira v0.20.13 — hotel QR, menu operations, kitchen & stock
   Flat surfaces, permission-safe workspaces and typed feedback
   ============================================================ */
.toast.success{border:1px solid #cce8d5!important;background:#fbfffc!important}
.toast.success .toast-icon{background:#e8f7ed!important;color:#237a43!important}
.toast.error{border:1px solid #f0c7c3!important;background:#fffafa!important}
.toast.error .toast-icon{background:#ffebe9!important;color:#b52d27!important}
.toast.error b{color:#9f2823!important}
.toast.warning{border:1px solid #eddca9!important;background:#fffdf6!important}
.toast.warning .toast-icon{background:#fff3cf!important;color:#8c6500!important}
.workspace-flash{margin:0 0 14px;padding:11px 13px;border-radius:12px;border:1px solid #cce8d5;background:#f4fbf6;color:#267545;font-size:10px;font-weight:650}
.workspace-flash.error{border-color:#f0c7c3;background:#fff1ef;color:#a7312c}.workspace-flash.warning{border-color:#eddca9;background:#fff8e4;color:#876300}

/* Prevent tenant/sub-institution navigation collisions. */
.app-header,.header-inner,.top-nav,.tenant-workspace-bar,.tenant-workspace-nav{min-width:0!important}
.top-nav{overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;justify-content:flex-start!important;overscroll-behavior-inline:contain}
.top-nav::-webkit-scrollbar,.tenant-workspace-nav::-webkit-scrollbar{display:none}
.tenant-workspace-bar{overflow:hidden!important}.tenant-workspace-nav{overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity}
.tenant-workspace-link{flex:0 0 auto!important;scroll-snap-align:start}

/* Shared flat page surfaces. */
.flat-section-v2013{margin:0 0 14px;padding:18px 0 0;border-top:1px solid #e7eaee;background:transparent;min-width:0}
.flat-section-v2013.subtle{margin-top:22px}.flat-section-v2013>.section-head{padding:0 2px 12px}
.flat-section-v2013 .table-wrap{border:1px solid #e4e8ed;border-radius:16px;background:#fff;overflow:auto}
.flat-section-v2013 .table{margin:0}.flat-section-v2013 .table th{background:#f8f9fb}

/* Room QR studio */
.qr-page-head-v2013{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:6px 2px 18px;border-bottom:1px solid #e6e9ed;margin-bottom:16px}
.qr-page-head-v2013 h2{margin:3px 0 5px;font-size:clamp(24px,3vw,34px);letter-spacing:-.045em;line-height:1.05}.qr-page-head-v2013 p{margin:0;color:#78818c;font-size:10.5px}
.qr-page-stats-v2013{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.qr-page-stats-v2013>span{display:grid;gap:1px;min-width:92px;padding:9px 11px;border:1px solid #e2e6eb;border-radius:12px;background:#fff}.qr-page-stats-v2013 small{font-size:7.5px;color:#9098a2;text-transform:uppercase;letter-spacing:.07em;font-weight:750}.qr-page-stats-v2013 b{font-size:13px;color:#313842}
.qr-studio-v2013{display:grid;grid-template-columns:58px minmax(0,1fr);gap:15px;align-items:start;margin:0 0 18px;padding:17px 18px;border:1px solid #dfe4e9;border-radius:17px;background:#fff;box-shadow:0 10px 28px rgba(20,28,38,.035)}
.qr-studio-icon-v2013{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:color-mix(in srgb,var(--brand-accent) 9%,#fff);color:var(--brand-accent)}.qr-studio-icon-v2013 .ui-icon{width:26px;height:26px}
.qr-studio-v2013 h3{margin:1px 0 4px;font-size:15px}.qr-studio-v2013 p{margin:0 0 13px;color:#7c8590;font-size:9.5px}
.qr-studio-v2013 form{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.qr-studio-v2013 .field{margin:0;min-width:170px;flex:1 1 180px}.qr-studio-v2013 .btn{flex:0 0 auto}
.qr-range-v2013{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;min-width:min(360px,100%)}
.qr-table-v2013 td b{font-size:10px}.qr-table-v2013 .block{display:block;margin-top:2px;font-size:8px}.qr-table-v2013 .row-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.qr-batch-list-v2013{display:grid;gap:0;border:1px solid #e4e8ed;border-radius:16px;background:#fff;overflow:hidden}.qr-batch-list-v2013>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #edf0f3}.qr-batch-list-v2013>article:last-child{border-bottom:0}
.qr-preview-modal-v2013{max-width:560px!important;margin:0 auto}.qr-preview-sheet-v2013{display:grid;justify-items:center;text-align:center;padding:18px 8px 8px}.qr-preview-brand-v2013{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8a929c}.qr-preview-sheet-v2013 h2{margin:8px 0 1px;font-size:23px;letter-spacing:-.04em}.qr-preview-sheet-v2013>p{margin:0;color:#818a94;font-size:10px}.qr-preview-sheet-v2013 img,.qr-preview-sheet-v2013 svg{width:min(330px,82vw)!important;height:auto!important;margin:18px auto;padding:12px;border:1px solid #e2e6eb;border-radius:20px;background:#fff}
.qr-preview-actions-v2013{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:3px}.qr-preview-actions-v2013 .btn{width:100%}

/* Hotel menu management */
.menu-admin-head-v2013,.kitchen-head-v2013{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:5px 2px 17px;border-bottom:1px solid #e6e9ed;margin-bottom:14px}
.menu-admin-head-v2013 h2,.kitchen-head-v2013 h2{margin:3px 0 5px;font-size:clamp(24px,3vw,34px);letter-spacing:-.045em;line-height:1.05}.menu-admin-head-v2013 p,.kitchen-head-v2013 p{margin:0;color:#7b8490;font-size:10px;max-width:680px}
.menu-admin-actions-v2013,.kitchen-head-v2013>div:last-child{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.menu-admin-actions-v2013 .btn.has-alert,.kitchen-head-v2013 .btn.has-alert{background:#fff4e8!important;color:#995c00!important}.menu-admin-actions-v2013 .btn em{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#d96c19;color:#fff;font-size:8px;font-style:normal}
.menu-overview-v2013{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #e2e6eb;border-radius:15px;background:#fff;overflow:hidden;margin-bottom:14px}.menu-overview-v2013 article{display:grid;gap:3px;padding:13px 15px;border-right:1px solid #edf0f3}.menu-overview-v2013 article:last-child{border-right:0}.menu-overview-v2013 small{font-size:8px;color:#89929d;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.menu-overview-v2013 b{font-size:20px;letter-spacing:-.04em}.menu-overview-v2013 .warn{background:#fffaf2}.menu-overview-v2013 .warn b{color:#a35c00}
.menu-qr-publisher-v2013,.menu-category-strip-v2013{margin:0 0 14px;padding:16px 17px;border:1px solid #e2e6eb;border-radius:16px;background:#fff}.menu-qr-publisher-v2013>.section-head,.menu-category-strip-v2013>.section-head{margin:0 0 11px;padding:0}
.menu-qr-publisher-grid-v2013{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #e8ebef;border-radius:13px;overflow:hidden}.menu-qr-publisher-grid-v2013>div{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 13px;background:#fafbfc}.menu-qr-publisher-grid-v2013>div+div{border-left:1px solid #e7eaee}.qr-publish-icon-v2013{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#fff;color:var(--brand-accent);border:1px solid #e4e8ed}.qr-publish-icon-v2013 .ui-icon{width:18px;height:18px}.menu-qr-publisher-grid-v2013 b{display:block;font-size:10px}.menu-qr-publisher-grid-v2013 small{display:block;color:#858e98;font-size:8px;line-height:1.4}
.menu-category-strip-v2013{padding-bottom:13px}.menu-category-strip-v2013 .menu-category-grid-v19{margin:0!important}.menu-category-strip-v2013 .menu-category-card{box-shadow:none!important}
.menu-catalog-v2013{padding-top:16px}.menu-product-table-v2013{border:1px solid #e2e6eb;border-radius:16px;background:#fff;overflow:hidden}
.menu-product-row-v2013{display:grid;grid-template-columns:52px minmax(220px,2.2fr) repeat(4,minmax(86px,.7fr)) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #edf0f3;min-width:0}.menu-product-row-v2013:last-child{border-bottom:0}.menu-product-row-v2013.is-inactive{opacity:.58;background:#fafbfc}
.menu-product-thumb-v2013{width:50px;height:50px;display:grid;place-items:center;border-radius:13px;overflow:hidden;background:#f3f5f7;color:#727b86}.menu-product-thumb-v2013 img{width:100%;height:100%;object-fit:cover}.menu-product-thumb-v2013 .ui-icon{width:20px;height:20px}.menu-product-main-v2013{min-width:0;display:grid;gap:2px}.menu-product-main-v2013 small,.menu-product-cell-v2013 small{font-size:7.6px;color:#8c949e;text-transform:uppercase;letter-spacing:.055em;font-weight:700}.menu-product-main-v2013 b{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-product-main-v2013 span{font-size:8.2px;color:#7b8490;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-product-cell-v2013{display:grid;gap:2px;min-width:0}.menu-product-cell-v2013 b{font-size:9px;white-space:nowrap}.menu-product-row-v2013>.row-actions{display:flex;gap:5px;justify-content:flex-end}.menu-product-row-v2013>.row-actions form{margin:0}

/* Inventory & recipes */
.stock-alert-v2013{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center;margin:0 0 13px;padding:11px 13px;border:1px solid #edcf9b;border-radius:14px;background:#fffaf1;color:#8d5900}.stock-alert-v2013>.ui-icon{width:21px;height:21px;margin:auto}.stock-alert-v2013 b{display:block;font-size:10.5px}.stock-alert-v2013 span{display:block;margin-top:1px;font-size:8.5px;color:#8c7250}
.inventory-list-v2013{border:1px solid #e2e6eb;border-radius:16px;background:#fff;overflow:hidden}.inventory-row-v2013{display:grid;grid-template-columns:minmax(200px,1.6fr) minmax(170px,.8fr) auto;gap:16px;align-items:center;padding:12px 14px;border-bottom:1px solid #edf0f3}.inventory-row-v2013:last-child{border-bottom:0}.inventory-row-v2013.low{background:#fffaf4}.inventory-row-v2013>div:first-child{display:grid;gap:2px;min-width:0}.inventory-row-v2013>div:first-child small{font-size:7.5px;color:#8b949e;letter-spacing:.06em}.inventory-row-v2013>div:first-child b{font-size:10.5px}.inventory-row-v2013>div:first-child span{font-size:8px;color:#858e98}.inventory-level-v2013{display:grid;gap:3px}.inventory-level-v2013 b{font-size:10px}.inventory-level-v2013 small{font-size:7.8px;color:#8a929c}.inventory-level-v2013 i{display:block;width:100%;height:5px;border-radius:999px;background:#edf0f3;overflow:hidden}.inventory-level-v2013 i u{display:block;height:100%;border-radius:inherit;background:var(--brand-accent);text-decoration:none}.inventory-row-v2013.low .inventory-level-v2013 i u{background:#ce6a19}.text-danger{color:#b6352f!important;font-weight:700}.text-good{color:#267848!important;font-weight:700}
.recipe-sheet-v2013{max-width:760px!important}.recipe-list-v2013{display:grid;gap:0;border:1px solid #e3e7ec;border-radius:14px;overflow:hidden;background:#fff}.recipe-row-v2013{display:grid;grid-template-columns:22px minmax(160px,1.4fr) minmax(100px,.55fr) 42px minmax(90px,.5fr);gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid #edf0f3}.recipe-row-v2013:last-child{border-bottom:0}.recipe-row-v2013 .check{align-self:center}

/* Kitchen board / waiter service */
.kitchen-board-v2013{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:10px;align-items:start;overflow-x:auto;padding:1px 1px 10px}.kitchen-column-v2013{min-width:230px;border:1px solid #e2e6eb;border-radius:15px;background:#f7f8fa;overflow:hidden}.kitchen-column-head-v2013{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #e2e6eb;background:#fff}.kitchen-column-head-v2013 b{font-size:9.5px}.kitchen-column-head-v2013 span{display:grid;place-items:center;min-width:23px;height:23px;border-radius:999px;background:#eef1f4;font-size:8px;font-weight:800}
.kitchen-ticket-v2013{margin:8px;padding:11px;border:1px solid #dfe4e9;border-radius:13px;background:#fff;box-shadow:0 5px 15px rgba(20,28,38,.035)}.kitchen-ticket-v2013>div:first-child{display:flex;justify-content:space-between;gap:8px;color:#89919b;font-size:7.5px}.kitchen-ticket-v2013>div:first-child span{font-weight:750;letter-spacing:.04em}.kitchen-ticket-v2013 h3{margin:6px 0 5px;font-size:12px}.kitchen-ticket-v2013 p{margin:0;color:#48515b;font-size:8.7px;line-height:1.55}.kitchen-ticket-v2013>small{display:block;margin-top:7px;padding:7px 8px;border-left:2px solid #d7a55a;background:#fff9ef;color:#7d6747;font-size:8px}.kitchen-ticket-v2013 form{margin-top:9px}.kitchen-ticket-v2013 form .btn{width:100%}
.service-grid-v2013{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.service-card-v2013{position:relative;display:grid;gap:7px;padding:14px;border:1px solid #dfe4e9;border-radius:15px;background:#fff}.service-card-v2013.ready{border-color:#b9dfc6;background:#fbfffc}.service-card-top-v2013{display:flex;justify-content:space-between;align-items:center}.service-card-top-v2013 time{font-size:8px;color:#89919b}.service-card-v2013 h3{margin:0;font-size:16px;letter-spacing:-.03em}.service-card-v2013>b{font-size:9px;color:#4c5560}.service-card-v2013 p{margin:0;color:#737d88;font-size:8.5px;line-height:1.55}.service-card-v2013>a{font-size:8.5px;color:var(--brand-accent);font-weight:700}.service-card-v2013 form{margin-top:3px}.service-card-v2013 form .btn{width:100%}

/* Partner panel: clean rows, explicit password reset. */
.partner-edit-v2013 .password-reset-field-v2013{display:grid!important;grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr)!important;gap:8px 14px!important;align-items:center!important;padding:13px!important;border:1px solid #e2e6eb!important;border-radius:13px!important;background:#fafbfc!important}.password-reset-field-v2013>div{display:grid;gap:2px}.password-reset-field-v2013>div small,.password-reset-field-v2013>small{font-size:8px!important;color:#848d97!important}.password-reset-field-v2013>small{grid-column:2}
.partner-user-card{box-shadow:none!important}.partner-user-list{border:1px solid #e2e6eb;border-radius:14px;overflow:hidden;gap:0!important}.partner-user-row{border:0!important;border-bottom:1px solid #edf0f3!important;border-radius:0!important;background:#fff!important;padding:11px 12px!important}.partner-user-row:last-child{border-bottom:0!important}.partner-user-avatar{background:#f1f3f6!important;border:1px solid #e5e8ec!important}.row-menu>summary{border:1px solid #e0e4e9!important;border-radius:10px!important;background:#f7f8fa!important}.row-menu[open]{min-width:225px}.row-menu[open]>summary{margin-left:auto}.row-menu>form{padding:7px!important;margin-top:5px!important;border:1px solid #e1e5ea!important;border-radius:10px!important;background:#fff!important;box-shadow:0 9px 25px rgba(20,28,38,.08)!important}.row-menu>form button{min-height:30px;border:0;border-radius:8px;padding:6px 9px;background:#eef1f4;color:#343b44;font-weight:700}.row-menu>form input{min-height:32px;border:1px solid #dfe4e9;border-radius:8px;padding:6px 8px}.partner-user-create{border-top:1px solid #edf0f3;padding-top:10px}.partner-user-create>summary{width:max-content;list-style:none;display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;background:#f0f2f5;font-size:9px;font-weight:700;cursor:pointer}.partner-user-create>summary::-webkit-details-marker{display:none}.partner-user-create form{margin-top:8px;padding:10px!important;border:1px solid #e2e6eb;border-radius:12px;background:#fafbfc}

@media(max-width:1120px){
  .menu-product-row-v2013{grid-template-columns:50px minmax(200px,1.8fr) repeat(2,minmax(85px,.7fr)) auto}.menu-product-cell-v2013:nth-of-type(4),.menu-product-cell-v2013:nth-of-type(5){display:none}
  .kitchen-board-v2013{grid-template-columns:repeat(4,260px)}
}
@media(max-width:820px){
  .qr-page-head-v2013,.menu-admin-head-v2013,.kitchen-head-v2013{align-items:flex-start;flex-direction:column}.qr-page-stats-v2013,.menu-admin-actions-v2013,.kitchen-head-v2013>div:last-child{justify-content:flex-start;width:100%}
  .menu-overview-v2013{grid-template-columns:repeat(2,1fr)}.menu-overview-v2013 article:nth-child(2){border-right:0}.menu-overview-v2013 article:nth-child(-n+2){border-bottom:1px solid #edf0f3}
  .menu-qr-publisher-grid-v2013{grid-template-columns:1fr}.menu-qr-publisher-grid-v2013>div+div{border-left:0;border-top:1px solid #e7eaee}
  .menu-product-row-v2013{grid-template-columns:46px minmax(0,1fr) auto;gap:9px}.menu-product-thumb-v2013{width:44px;height:44px}.menu-product-cell-v2013{display:none!important}.menu-product-row-v2013>.row-actions{grid-column:3;grid-row:1}
  .inventory-row-v2013{grid-template-columns:minmax(0,1fr) auto}.inventory-row-v2013>a{grid-column:1/-1;justify-self:start}
}
@media(max-width:560px){
  .qr-studio-v2013{grid-template-columns:44px minmax(0,1fr);padding:13px}.qr-studio-icon-v2013{width:44px;height:44px;border-radius:13px}.qr-studio-v2013 form{grid-column:1/-1}.qr-studio-v2013 .field,.qr-studio-v2013 .btn{width:100%;flex-basis:100%}.qr-range-v2013{grid-template-columns:1fr}.qr-preview-actions-v2013{grid-template-columns:1fr}
  .menu-admin-actions-v2013 .btn,.kitchen-head-v2013>div:last-child .btn{flex:1 1 calc(50% - 7px);min-width:0}.menu-overview-v2013 article{padding:11px 12px}.menu-qr-publisher-v2013,.menu-category-strip-v2013{padding:13px}.menu-qr-publisher-grid-v2013>div{grid-template-columns:38px minmax(0,1fr)}.menu-qr-publisher-grid-v2013>div>a,.menu-qr-publisher-grid-v2013>div>form{grid-column:2}.qr-publish-icon-v2013{width:36px;height:36px}
  .menu-product-row-v2013{grid-template-columns:42px minmax(0,1fr)}.menu-product-row-v2013>.row-actions{grid-column:1/-1;grid-row:auto;justify-content:flex-end;border-top:1px solid #edf0f3;padding-top:8px}.menu-product-thumb-v2013{width:40px;height:40px}
  .inventory-row-v2013{grid-template-columns:1fr}.inventory-row-v2013>a{grid-column:auto;width:100%}.inventory-level-v2013{padding-top:7px;border-top:1px solid #edf0f3}.recipe-row-v2013{grid-template-columns:1fr}.recipe-row-v2013 .check{margin-bottom:3px}
  .partner-edit-v2013 .password-reset-field-v2013{grid-template-columns:1fr!important}.password-reset-field-v2013>small{grid-column:auto}.partner-user-row{grid-template-columns:38px minmax(0,1fr) auto!important}.row-menu[open]{min-width:0}.row-menu>form{grid-column:1/-1;flex-wrap:wrap}.row-menu>form input,.row-menu>form button{width:100%;min-width:0}
}

/* v0.20.13 — contracted business detail is one clean reporting canvas, not boxes inside boxes. */
.partner-detail-hero{padding:5px 2px 17px!important;margin-bottom:13px!important;border:0!important;border-bottom:1px solid #e5e9ed!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.partner-detail-title{grid-template-columns:48px minmax(0,1fr)!important}.partner-detail-title .partner-admin-icon{width:48px!important;height:48px!important;border-radius:14px!important}.partner-detail-title h2{font-size:clamp(24px,3vw,33px)!important}.partner-detail-actions .btn{min-height:39px!important}
.report-filter-bar{padding:10px 0 14px!important;margin-bottom:0!important;border:0!important;border-bottom:1px solid #edf0f3!important;border-radius:0!important;background:transparent!important}
.partner-detail-metrics{gap:0!important;margin:0 0 18px!important;border:1px solid #e2e6eb!important;border-radius:15px!important;overflow:hidden!important;background:#fff!important}.partner-detail-metrics article{border:0!important;border-right:1px solid #edf0f3!important;border-radius:0!important;background:#fff!important;padding:13px 14px!important}.partner-detail-metrics article:last-child{border-right:0!important}.partner-detail-metrics article>span{width:31px!important;height:31px!important;border-radius:9px!important}.partner-detail-metrics b{font-size:12px!important}
.partner-detail-grid,.partner-report-grid{gap:12px!important}.partner-detail-grid>.card,.partner-report-grid>.card,.partner-sales-chart,.partner-detail-grid+section.card,.partner-report-grid+section.card{border:1px solid #e2e6eb!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;padding:16px!important}
.partner-info-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;border:1px solid #e7eaee!important;border-radius:13px!important;overflow:hidden!important}.partner-info-grid>div{padding:10px 11px!important;border:0!important;border-right:1px solid #edf0f3!important;border-bottom:1px solid #edf0f3!important;border-radius:0!important;background:#fff!important}.partner-info-grid>div:nth-child(even){border-right:0!important}.partner-info-grid>div.wide{border-right:0!important}.partner-info-grid>div:last-child{border-bottom:0!important}.partner-info-grid dt{font-size:7.5px!important;text-transform:uppercase!important;letter-spacing:.055em!important}.partner-info-grid dd{font-size:9.2px!important}
.partner-sales-chart .partner-daily-bars{border:1px solid #e7eaee;border-radius:13px;overflow:hidden}.partner-sales-chart .partner-daily-bars>div{padding:10px 11px!important;border-bottom:1px solid #edf0f3!important}.partner-sales-chart .partner-daily-bars>div:last-child{border-bottom:0!important}
.partner-report-grid .table-wrap,.partner-detail-grid+section.card .table-wrap,.partner-report-grid+section.card .table-wrap{border:1px solid #e7eaee!important;border-radius:13px!important;overflow:auto!important}
.partner-report-grid .table,.partner-detail-grid+section.card .table,.partner-report-grid+section.card .table{margin:0!important}
@media(max-width:900px){.partner-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;border-radius:14px!important}.partner-detail-metrics article{border-bottom:1px solid #edf0f3!important}.partner-detail-metrics article:nth-child(even){border-right:0!important}.partner-detail-metrics article:last-child{grid-column:1/-1;border-bottom:0!important}.partner-detail-grid,.partner-report-grid{grid-template-columns:1fr!important}}
@media(max-width:560px){.partner-info-grid{grid-template-columns:1fr!important}.partner-info-grid>div{border-right:0!important}.partner-detail-metrics{grid-template-columns:1fr 1fr!important}.report-filter-bar{grid-template-columns:1fr!important}.partner-detail-actions{width:100%}.partner-detail-actions .btn{flex:1 1 0}}

/* v0.20.13 — QR üretim stüdyosu: form yapısına göre güvenli, çakışmasız yerleşim. */
.qr-studio-v2013{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  align-items:stretch!important;
  padding:0!important;
  overflow:hidden!important;
}
.qr-studio-v2013>form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-content:start!important;
  align-items:end!important;
  min-width:0!important;
  padding:17px 18px!important;
}
.qr-studio-v2013>form+form{border-left:1px solid #edf0f3!important}
.qr-studio-v2013>form>div:first-of-type{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:11px!important;
  align-items:center!important;
  min-width:0!important;
}
.qr-studio-v2013>form>div:first-of-type>div{display:grid!important;gap:2px!important;min-width:0!important}
.qr-studio-v2013>form>div:first-of-type b{font-size:11px!important;line-height:1.35!important}
.qr-studio-v2013>form>div:first-of-type small{font-size:8.5px!important;line-height:1.45!important;color:#858e98!important}
.qr-studio-v2013>form>select,
.qr-studio-v2013>form>input,
.qr-studio-v2013>form>.qr-range-v2013{min-width:0!important;width:100%!important}
.qr-studio-v2013>form>.btn{width:auto!important;white-space:nowrap!important}
.qr-range-v2013{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;gap:7px!important;align-items:center!important}
.qr-range-v2013>span{text-align:center;color:#98a0a9;font-size:10px}
.qr-batch-list-v2013>div,
.qr-batch-list-v2013>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #edf0f3}
.qr-batch-list-v2013>div:last-child,
.qr-batch-list-v2013>article:last-child{border-bottom:0}
.qr-batch-list-v2013>div>span,.qr-batch-list-v2013>article>span{display:grid;gap:2px;min-width:0}
.qr-batch-list-v2013 b{font-size:9.5px}.qr-batch-list-v2013 small{font-size:8px!important;color:#89919a!important}.qr-batch-list-v2013 strong{font-size:9px;white-space:nowrap}
@media(max-width:820px){
  .qr-studio-v2013{grid-template-columns:1fr!important}
  .qr-studio-v2013>form+form{border-left:0!important;border-top:1px solid #edf0f3!important}
}
@media(max-width:560px){
  .qr-studio-v2013>form{grid-template-columns:1fr!important;padding:14px!important}
  .qr-studio-v2013>form>div:first-of-type{grid-template-columns:42px minmax(0,1fr)!important}
  .qr-studio-v2013>form>.btn{width:100%!important}
  .qr-range-v2013{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important}
}

/* ==========================================================
   Mira v0.20.14 · düz yönetim yüzeyleri / modern kontroller
   ========================================================== */
:where(.form,.flat-form,.menu-design-form,.api-settings-grid) input[type="checkbox"],
:where(.form,.flat-form,.menu-design-form,.api-settings-grid) input[type="radio"]{appearance:none;-webkit-appearance:none;width:20px;height:20px;min-width:20px;margin:0;border:1.5px solid #c7cdd6;background:#fff;display:inline-grid;place-content:center;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:.18s ease;cursor:pointer}
:where(.form,.flat-form,.menu-design-form,.api-settings-grid) input[type="checkbox"]{border-radius:7px}
:where(.form,.flat-form,.menu-design-form,.api-settings-grid) input[type="radio"]{border-radius:50%}
:where(.form,.flat-form,.menu-design-form,.api-settings-grid) input[type="checkbox"]::before{content:"";width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0);margin-top:-2px;transition:.15s ease}
:where(.form,.flat-form,.menu-design-form,.api-settings-grid) input[type="radio"]::before{content:"";width:8px;height:8px;border-radius:50%;background:#fff;transform:scale(0);transition:.15s ease}
:where(.form,.flat-form,.menu-design-form,.api-settings-grid) input[type="checkbox"]:checked,
:where(.form,.flat-form,.menu-design-form,.api-settings-grid) input[type="radio"]:checked{border-color:var(--brand-accent,#6757d9);background:var(--brand-accent,#6757d9)}
:where(.form,.flat-form,.menu-design-form,.api-settings-grid) input:checked::before{transform:rotate(-45deg) scale(1)}
:where(.form,.flat-form,.menu-design-form,.api-settings-grid) input[type="radio"]:checked::before{transform:scale(1)}
:where(.form,.flat-form,.menu-design-form,.api-settings-grid) input[type="checkbox"]:focus-visible,
:where(.form,.flat-form,.menu-design-form,.api-settings-grid) input[type="radio"]:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-accent,#6757d9) 18%,transparent);outline-offset:3px}
.pretty-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.pretty-check-grid>label{display:flex;gap:11px;align-items:flex-start;padding:14px;border:1px solid #e4e8ee;border-radius:16px;background:#fff;cursor:pointer;transition:.18s}.pretty-check-grid>label:hover{border-color:#cfd5de;transform:translateY(-1px)}.pretty-check-grid>label:has(input:checked){border-color:color-mix(in srgb,var(--brand-accent,#6757d9) 38%,#dfe3e9);background:color-mix(in srgb,var(--brand-accent,#6757d9) 5%,#fff)}.pretty-check-grid span{display:grid;gap:2px}.pretty-check-grid b{font-size:12px}.pretty-check-grid small{font-size:10px;color:#77808c;line-height:1.45}
.cell-sub{display:block;margin-top:3px;font-size:8px;color:#8a929d;font-weight:700}.route-auto-card{display:grid;gap:4px;padding:15px 16px;border:1px solid #dce2e9;border-radius:17px;background:linear-gradient(135deg,#fbfcfd,#f6f8fb)}.route-auto-card strong{font-size:12px}.route-auto-card span{font-size:11px;color:#344054}.route-auto-card small{font-size:9px;color:#7a8490}

/* Modül + alt özellik lisansı */
.module-feature-list{display:grid;gap:7px;margin:12px 0 0;padding:10px;border-top:1px solid #edf0f3}.module-feature-toggle{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;padding:9px 10px;border-radius:12px;background:#fafbfc}.module-feature-toggle b{display:block;font-size:10px}.module-feature-toggle small{display:block;margin-top:2px;font-size:8.5px;color:#7e8792;line-height:1.4}.module-feature-toggle.is-disabled{opacity:.45;filter:saturate(.6)}

/* Süit merkezleri */
.suite-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 18px;padding:26px 28px;border:1px solid #e1e5ea;border-radius:24px;background:radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--brand-accent,#6757d9) 13%,transparent),transparent 34%),#fff}.suite-hero.compact{padding:21px 24px}.suite-hero h2{margin:5px 0 6px;font-size:25px;letter-spacing:-.035em}.suite-hero p{max-width:730px;margin:0;color:#6c7580;font-size:11px;line-height:1.6}.suite-actions{display:flex;flex-wrap:wrap;gap:8px}.suite-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.suite-metrics article{padding:17px 18px;border:1px solid #e3e7ec;border-radius:17px;background:#fff}.suite-metrics small{display:block;color:#7e8793;font-size:9px}.suite-metrics b{display:block;margin-top:5px;font-size:23px;letter-spacing:-.04em}.suite-feature-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.suite-feature-group{border:1px solid #e1e6eb;border-radius:20px;background:#fff;overflow:hidden}.suite-feature-group>.section-head{padding:16px 17px 10px;margin:0}.suite-feature-list{display:grid}.suite-feature-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto 18px;gap:11px;align-items:center;padding:12px 16px;border-top:1px solid #edf0f3;color:inherit;text-decoration:none;transition:.16s}.suite-feature-row:hover{background:#fafbfc}.suite-feature-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#f2f4f7;color:#3d4652}.suite-feature-icon .ui-icon{width:17px;height:17px}.suite-feature-row b{display:block;font-size:10.5px}.suite-feature-row small{display:block;margin-top:2px;color:#7f8790;font-size:8.6px;line-height:1.35}.suite-feature-row em{font-style:normal;font-size:8px;font-weight:800;color:#207a46;background:#edf9f1;border-radius:999px;padding:5px 8px}

/* Ön büro / oda durumu */
.room-rack{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:9px}.room-rack-card{display:grid;gap:6px;padding:14px;border:1px solid #e2e6eb;border-radius:15px;background:#fff;min-height:112px}.room-rack-card strong{font-size:17px}.room-rack-card small{font-size:8.5px;color:#7e8791}.room-rack-card span{font-size:9px;font-weight:750}.room-rack-card.state-occupied,.room-rack-card.state-checked_in{border-left:3px solid #2f855a}.room-rack-card.state-dirty{border-left:3px solid #c97316}.room-rack-card.state-maintenance{border-left:3px solid #b34040}.floor-room-section{display:grid;gap:10px;margin-bottom:18px}

/* Excel/CSV içe aktarım */
.import-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:14px}.import-drop-card,.import-map-sheet{padding:22px;border:1px solid #e0e5ea;border-radius:20px;background:#fff}.dropzone{display:grid;place-items:center;gap:8px;min-height:210px;padding:24px;border:1.5px solid #cbd2da;border-radius:18px;background:#fafbfc;text-align:center}.dropzone-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;background:#f0f2f5}.dropzone-icon .ui-icon{width:24px;height:24px}.dropzone p{margin:0;color:#76808a;font-size:10px}.import-map-sheet{display:grid;gap:11px}.import-map-sheet label{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(180px,1fr);gap:12px;align-items:center;font-size:10px;font-weight:750}

/* Kapılar */
.door-floor{margin-bottom:18px}.door-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:9px}.door-tile{appearance:none;border:1px solid #e1e5ea;border-radius:17px;background:#fff;padding:14px;text-align:left;color:inherit;cursor:pointer;display:grid;gap:7px;transition:.17s}.door-tile:hover{transform:translateY(-2px);border-color:#cbd2db;box-shadow:0 10px 26px rgba(15,23,42,.07)}.door-tile-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:13px;background:#f3f5f7}.door-tile b{font-size:12px}.door-tile small{font-size:8.5px;color:#7d8792}.door-tile .status-dot-label{display:flex;align-items:center;gap:5px;font-size:8px}.door-detail-sheet{max-width:820px!important}.route-status-list{display:grid;gap:8px;margin:12px 0}.route-status-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:11px 12px;border:1px solid #e4e7ec;border-radius:13px}.route-status-list article.selected{border-color:color-mix(in srgb,var(--brand-accent,#6757d9) 34%,#dfe3e8);background:color-mix(in srgb,var(--brand-accent,#6757d9) 4%,#fff)}.route-status-list b{font-size:10px}.route-status-list small{font-size:8px;color:#7c8590}.door-log-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:14px 0}.door-log-list{display:grid;gap:6px}.door-log-list article{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0f3;font-size:9px}

/* Personel alan takibi */
.presence-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:14px}.presence-side{display:grid;gap:12px;align-content:start}.presence-person-list{display:grid}.presence-person-list article{display:grid;grid-template-columns:38px minmax(0,1fr) auto 48px;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #edf0f3}.presence-person-list article>span:first-child{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#f3f5f7}.presence-person-list b{display:block;font-size:10px}.presence-person-list small,.presence-person-list time{font-size:8px;color:#7d8690}.zone-chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.zone-chip-grid article{padding:13px;border:1px solid #e4e8ed;border-radius:14px;background:#fff;display:grid;gap:3px}.zone-chip-grid b{font-size:10px}.zone-chip-grid small,.zone-chip-grid span{font-size:8px;color:#7d8791}.api-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:20px;border:1px solid #e2e6eb;border-radius:20px;background:#fff}.api-settings-grid label{display:grid;gap:6px}.api-settings-grid label>span{font-size:9px;font-weight:800;color:#4b5563}.api-settings-grid small{font-size:8px;color:#7d8792}.api-settings-grid .full{grid-column:1/-1}

/* Menü tasarım merkezi */
.menu-theme-grid{display:grid;grid-template-columns:repeat(5,minmax(125px,1fr));gap:9px;margin:14px 0 18px}.menu-theme-card{position:relative;display:grid;gap:6px;padding:10px;border:1px solid #e1e5ea;border-radius:16px;background:#fff;cursor:pointer;transition:.17s}.menu-theme-card>input{position:absolute;right:9px;top:9px;z-index:2}.menu-theme-card.selected,.menu-theme-card:has(input:checked){border-color:color-mix(in srgb,var(--brand-accent,#6757d9) 42%,#dbe0e6);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-accent,#6757d9) 8%,transparent)}.menu-theme-card b{font-size:10px}.menu-theme-card small{font-size:8px;line-height:1.35;color:#7d8690}.theme-preview{height:78px;border-radius:11px;display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:9px;overflow:hidden;background:#f4f5f7}.theme-preview i{display:block;border-radius:6px;background:#fff}.theme-preview i:first-child{grid-column:1/-1;height:23px}.theme-preview i:nth-child(2),.theme-preview i:nth-child(3){height:31px}.theme-preview-zarif .theme-preview{background:#f5f1ec}.theme-preview-zarif .theme-preview i:first-child{background:#1d2430}.theme-preview-akdeniz .theme-preview{background:#f2f8f7}.theme-preview-akdeniz .theme-preview i:first-child{background:#0b6e69}.theme-preview-gece .theme-preview{background:#151821}.theme-preview-gece .theme-preview i{background:#2b3040}.theme-preview-luks .theme-preview{background:#f5f0e7}.theme-preview-luks .theme-preview i:first-child{background:#27231e}.theme-preview-dogal .theme-preview{background:#f1f4ed}.theme-preview-dogal .theme-preview i:first-child{background:#40533d}.theme-preview-minimal .theme-preview{background:#fff}.theme-preview-minimal .theme-preview i{border:1px solid #e5e7eb}.theme-preview-sahil .theme-preview{background:#eaf6fb}.theme-preview-sahil .theme-preview i:first-child{background:#237a99}.theme-preview-bistro .theme-preview{background:#f7efe9}.theme-preview-bistro .theme-preview i:first-child{background:#8d3d2f}.theme-preview-modern .theme-preview{background:#eff1f7}.theme-preview-modern .theme-preview i:first-child{background:#5145cd}.theme-preview-klasik .theme-preview{background:#f7f3eb}.theme-preview-klasik .theme-preview i:first-child{background:#5a4331}.menu-design-options{max-width:none}.kitchen-tv-admin{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:14px;padding:19px 20px;border:1px solid #e0e5ea;border-radius:19px;background:#fff}.kitchen-tv-admin h3{margin:4px 0}.kitchen-tv-admin p{margin:0;color:#75808a;font-size:9px}.secret-url{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:11px}.secret-url code{max-width:680px;padding:9px 11px;border-radius:10px;background:#f4f6f8;color:#475467;font-size:8.5px;overflow:auto}.allergen-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.allergen-admin-grid label{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e3e7ec;border-radius:13px;background:#fff;font-size:10px}

@media(max-width:980px){.suite-feature-groups,.presence-grid,.import-layout{grid-template-columns:1fr}.suite-metrics{grid-template-columns:repeat(2,1fr)}.menu-theme-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.suite-hero{align-items:flex-start;flex-direction:column;padding:20px}.suite-metrics{grid-template-columns:1fr 1fr}.suite-feature-groups{grid-template-columns:1fr}.suite-feature-row{grid-template-columns:36px minmax(0,1fr) auto}.suite-feature-row>.ui-icon{display:none}.pretty-check-grid,.api-settings-grid,.allergen-admin-grid{grid-template-columns:1fr}.menu-theme-grid{grid-template-columns:repeat(2,1fr)}.kitchen-tv-admin{align-items:flex-start;flex-direction:column}.import-map-sheet label{grid-template-columns:1fr}.door-log-list article{grid-template-columns:80px minmax(0,1fr)}.door-log-list article>:last-child{grid-column:2}.presence-person-list article{grid-template-columns:36px minmax(0,1fr) auto}.presence-person-list time{grid-column:2}}
.module-subfeatures{display:grid;gap:6px;padding:10px 13px 13px;border-top:1px solid #edf0f3;background:#fbfcfd}.module-feature-group-title{margin:4px 0 2px;font-size:7.5px;font-weight:850;letter-spacing:.09em;color:#8b94a0;text-transform:uppercase}.feature-toggle{display:grid;grid-template-columns:20px minmax(0,1fr) 26px;gap:9px;align-items:start;padding:10px;border:1px solid transparent;border-radius:12px;background:#fff;cursor:pointer}.feature-toggle:hover{border-color:#e1e5ea}.feature-toggle:has(input:checked){border-color:color-mix(in srgb,var(--brand-accent,#6757d9) 25%,#e1e5ea);background:color-mix(in srgb,var(--brand-accent,#6757d9) 4%,#fff)}.feature-toggle input{margin-top:1px}.feature-toggle b{display:block;font-size:9.5px}.feature-toggle small{display:block;margin-top:2px;font-size:8px;color:#7e8792;line-height:1.35}.feature-toggle>i{position:relative;width:26px;height:15px;border-radius:999px;background:#d7dce2;margin-top:2px}.feature-toggle>i:after{content:"";position:absolute;left:2px;top:2px;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.15);transition:.16s}.feature-toggle:has(input:checked)>i{background:var(--brand-accent,#6757d9)}.feature-toggle:has(input:checked)>i:after{transform:translateX(11px)}.feature-toggle:has(input:disabled){opacity:.44;cursor:not-allowed}

/* v0.20.14 personel PWA konum ve bildirim yüzeyi */
.presence-permission-banner{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:1200;display:flex;gap:12px;align-items:flex-start;width:min(680px,calc(100vw - 28px));padding:14px 16px;border:1px solid #f0c36b;border-radius:18px;background:#fffaf0;box-shadow:0 18px 54px rgba(22,28,45,.18);color:#6d4b00}.presence-permission-banner[data-state="error"]{border-color:#ef9a9a;background:#fff5f5;color:#922}.presence-permission-banner>span{font-size:12px;margin-top:4px}.presence-permission-banner b{display:block;font-size:13px}.presence-permission-banner p{margin:3px 0 0;font-size:12px;line-height:1.45}.staff-message-toast{position:fixed;right:22px;bottom:22px;z-index:1210;width:min(360px,calc(100vw - 28px));padding:15px 17px;border:1px solid rgba(23,32,56,.1);border-radius:18px;background:#fff;box-shadow:0 18px 56px rgba(22,28,45,.2)}.staff-message-toast b{display:block;font-size:14px}.staff-message-toast p{margin:5px 0 0;font-size:13px;color:#5d6470;line-height:1.45}@media(max-width:680px){.presence-permission-banner{bottom:14px}.staff-message-toast{right:14px;bottom:88px}}

/* v0.20.14 kurum konumu harita seçici */
.tenant-location-card .input-suffix{display:flex;align-items:center;gap:8px}.tenant-location-card .input-suffix span{font-size:12px;color:#6c7280}.location-map-action .btn[disabled]{opacity:.55;cursor:not-allowed}.map-picker-dialog{border:0;padding:0;background:transparent;width:min(900px,calc(100vw - 28px));max-width:none}.map-picker-dialog::backdrop{background:rgba(12,18,30,.54);backdrop-filter:blur(6px)}.map-picker-card{overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 28px 90px rgba(15,23,42,.28)}.map-picker-card>.section-head{padding:18px 20px;margin:0}.map-picker-canvas{height:min(62vh,560px);min-height:360px;background:#eef1f5}.map-picker-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px}.map-picker-actions span{font-size:13px;color:#636b78}@media(max-width:680px){.map-picker-canvas{height:55vh;min-height:300px}.map-picker-actions{align-items:stretch;flex-direction:column}.map-picker-actions .btn{width:100%}}

/* v0.20.14 personel çalışma alanı kuralları */
.presence-rule-form{display:grid;grid-template-columns:1.1fr 1.1fr .65fr .65fr 1.1fr 1.6fr auto;gap:10px;align-items:end;padding:14px 0 18px}.presence-rule-form>label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#4e5562}.presence-rule-form label small{font-weight:400;color:#858c97}.presence-rule-form .pretty-check{min-height:42px;justify-content:center}.presence-rule-list{display:grid;gap:8px}.presence-rule-list>article{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;gap:11px;align-items:center;padding:11px 12px;border-top:1px solid rgba(24,35,58,.08)}.presence-rule-list>article:first-child{border-top:0}.presence-rule-list>article>span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#f3f5f8}.presence-rule-list b{display:block;font-size:13px}.presence-rule-list small{display:block;margin-top:2px;color:#747c88;font-size:11px}@media(max-width:1180px){.presence-rule-form{grid-template-columns:repeat(2,minmax(0,1fr))}.presence-rule-form .rule-message,.presence-rule-form>button{grid-column:span 2}}@media(max-width:680px){.presence-rule-form{grid-template-columns:1fr}.presence-rule-form .rule-message,.presence-rule-form>button{grid-column:auto}.presence-rule-list>article{grid-template-columns:34px minmax(0,1fr) auto}.presence-rule-list>article>form{grid-column:3;grid-row:1/3}.presence-rule-list>article>.badge{grid-column:2}}

/* ============================================================
   Mira v0.20.15 — flat premium navigation, rooms, roles, modals
   ============================================================ */
.confirm-dialog[open]{position:fixed!important;inset:0!important;margin:auto!important;transform:none!important;max-height:max-content!important;max-width:max-content!important}.confirm-dialog[open] .confirm-card{margin:0!important}

.organization-module-bar{display:grid;grid-template-columns:minmax(245px,.34fr) minmax(0,1fr);gap:28px;align-items:center;margin:18px 0 22px;padding:20px 0;border-top:1px solid #e8ebef;border-bottom:1px solid #e8ebef;background:transparent}.organization-module-copy h3{margin:3px 0 4px;font-size:20px;letter-spacing:-.035em}.organization-module-copy p{margin:0;color:#7d8490;font-size:10px}.organization-module-scroll{display:flex;gap:7px;overflow:auto;padding:4px 2px 7px;scrollbar-width:thin}.organization-module-item{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:8px 11px;border:0;border-radius:10px;background:#f5f6f8;color:#353b45;white-space:nowrap}.organization-module-item i{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#fff;color:var(--brand-accent);box-shadow:0 2px 8px rgba(15,23,42,.04)}.organization-module-item .ui-icon{width:13px;height:13px}.organization-module-item b{font-size:9px;font-weight:650}.organization-actions-shell{margin:0;padding:0;background:transparent;border:0;box-shadow:none}.organization-actions-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 0 10px}.organization-actions-head h3{margin:3px 0 0;font-size:20px}.organization-actions-head>small{font-size:9px;color:#9097a2}.organization-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #e5e8ec;border-bottom:1px solid #e5e8ec}.organization-action{min-width:0;display:grid;grid-template-columns:46px minmax(0,1fr) 30px;align-items:center;gap:13px;padding:17px 13px;color:inherit;border-bottom:1px solid #edf0f3;transition:.16s;background:transparent}.organization-action:nth-child(odd){border-right:1px solid #edf0f3}.organization-action:hover{background:#f7f8fa}.organization-action-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--brand-accent) 8%,#fff);color:var(--brand-accent)}.organization-action-icon .ui-icon{width:19px;height:19px}.organization-action>span:nth-child(2){min-width:0;display:grid;gap:3px}.organization-action b{font-size:11.5px}.organization-action small{font-size:8.8px;line-height:1.45;color:#808895}.organization-action>i{display:grid;place-items:center;color:#a0a7b1}.organization-action>i .ui-icon{width:15px;height:15px}

.rooms-command-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:14px 0 20px;border-bottom:1px solid #e5e8ec}.rooms-command-head h2{margin:4px 0 6px;font-size:clamp(28px,3vw,42px);letter-spacing:-.05em}.rooms-command-head p{max-width:850px;margin:0;color:#727b87;font-size:10.5px;line-height:1.65}.room-state-legend{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.room-state-legend span{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;background:#f5f6f8;font-size:8.5px;white-space:nowrap}.room-state-legend i{width:8px;height:8px;border-radius:50%}.room-state-legend .occupied i{background:#25a866}.room-state-legend .vacant i{background:#e7982c}.room-state-legend .inactive i{background:#9aa2ad}.room-floor-v2015{padding:20px 0;border-bottom:1px solid #e7eaee}.room-floor-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:11px}.room-floor-head h3{margin:1px 0;font-size:17px}.room-floor-head small{font-size:9px;color:#8a929d}.room-door-grid-v2015{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:9px}.room-door-tile-v2015{position:relative;min-width:0;min-height:172px;padding:12px;border:1px solid #e4e7eb;border-radius:16px;background:#fff;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.room-door-tile-v2015:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(15,23,42,.08);border-color:#cfd5dc}.room-door-tile-v2015:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.room-door-tile-v2015.state-occupied:before{background:#25a866}.room-door-tile-v2015.state-vacant:before{background:#e7982c}.room-door-tile-v2015.state-inactive:before{background:#9aa2ad}.room-door-status-v2015{display:flex;align-items:center;gap:6px;font-size:7.8px;color:#747d88}.room-door-status-v2015 i{width:6px;height:6px;border-radius:50%}.state-occupied .room-door-status-v2015 i{background:#25a866}.state-vacant .room-door-status-v2015 i{background:#e7982c}.state-inactive .room-door-status-v2015 i{background:#9aa2ad}.room-door-main-v2015{display:flex;align-items:center;gap:11px;margin-top:16px}.room-door-icon-v2015{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#f4f6f8;color:#404753}.state-occupied .room-door-icon-v2015{background:#edf9f3;color:#188451}.state-vacant .room-door-icon-v2015{background:#fff6e8;color:#b86d08}.state-inactive .room-door-icon-v2015{background:#f0f1f3;color:#818996}.room-door-icon-v2015 .ui-icon{width:24px;height:24px}.room-door-main-v2015>div{min-width:0;display:grid}.room-door-main-v2015 small{font-size:7px;letter-spacing:.14em;color:#949ba5}.room-door-main-v2015 b{font-size:23px;letter-spacing:-.045em;line-height:1.05}.room-door-main-v2015 em{margin-top:3px;font-style:normal;font-size:8px;color:#737c87;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-door-device-v2015{margin-top:15px}.room-door-device-v2015 span{display:flex;align-items:center;gap:5px;font-size:7.8px;color:#77818c}.room-door-device-v2015 i{width:6px;height:6px;border-radius:50%}.room-door-device-v2015 .good i{background:#28a765}.room-door-device-v2015 .warn i{background:#e3a12e}.room-door-device-v2015 .muted i{background:#adb3bc}.room-door-actions-v2015{position:absolute;left:8px;right:8px;bottom:8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;opacity:0;transform:translateY(8px);transition:.16s}.room-door-tile-v2015:hover .room-door-actions-v2015,.room-door-tile-v2015:focus-within .room-door-actions-v2015{opacity:1;transform:none}.room-door-actions-v2015>a,.room-door-actions-v2015>span{min-width:0;height:38px;display:grid;place-items:center;gap:1px;padding:4px;border-radius:9px;background:#101722;color:#fff;text-align:center}.room-door-actions-v2015 .ui-icon{width:14px;height:14px}.room-door-actions-v2015 span span,.room-door-actions-v2015 a span,.room-door-actions-v2015 b{font-size:6.4px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-door-actions-v2015 .disabled{background:#eceff2;color:#9299a4}.room-door-tile-v2015:hover .room-door-device-v2015{opacity:.15}.door-detail-sheet #master-route,.door-detail-sheet #door-log{scroll-margin-top:80px}

.staff-card-v19{position:relative;overflow:hidden}.staff-hover-actions-v2015{position:absolute;left:10px;right:10px;top:10px;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:5px;border-radius:12px;background:rgba(17,24,39,.94);backdrop-filter:blur(8px);opacity:0;transform:translateY(-8px);pointer-events:none;transition:.16s;z-index:5}.staff-card-v19:hover .staff-hover-actions-v2015,.staff-card-v19:focus-within .staff-hover-actions-v2015{opacity:1;transform:none;pointer-events:auto}.staff-hover-actions-v2015 a{display:grid;place-items:center;gap:2px;padding:7px 4px;border-radius:8px;color:#fff}.staff-hover-actions-v2015 a:hover{background:rgba(255,255,255,.12)}.staff-hover-actions-v2015 .ui-icon{width:15px;height:15px}.staff-hover-actions-v2015 span{font-size:6.8px}

.role-template-bar-v2015{display:grid;grid-template-columns:minmax(240px,.42fr) minmax(0,1fr);gap:18px;align-items:center;margin:14px 0;padding:15px 0;border-top:1px solid #e5e8ec;border-bottom:1px solid #e5e8ec}.role-template-bar-v2015 h3{margin:3px 0;font-size:16px}.role-template-bar-v2015 p{margin:0;font-size:8.7px;color:#7e8792}.role-template-buttons-v2015{display:flex;flex-wrap:wrap;gap:6px}.role-template-button-v2015{border:1px solid #dfe4e9;background:#fff;border-radius:9px;padding:8px 10px;font:inherit;font-size:8.5px;font-weight:650;color:#3e4652;cursor:pointer;transition:.15s}.role-template-button-v2015:hover{border-color:color-mix(in srgb,var(--brand-accent) 35%,#dfe4e9);background:color-mix(in srgb,var(--brand-accent) 5%,#fff);color:var(--brand-accent)}.role-template-dialog-v2015{border:0!important;padding:0!important;background:transparent!important;position:fixed!important;inset:0!important;margin:auto!important;width:min(720px,calc(100vw - 28px))!important;max-width:none!important}.role-template-dialog-v2015::backdrop{background:rgba(12,17,24,.48);backdrop-filter:blur(10px)}.role-template-modal-v2015{padding:22px;background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(12,17,24,.22)}.role-template-modal-head{display:flex;justify-content:space-between;gap:14px}.role-template-modal-head h3{margin:3px 0 4px;font-size:20px}.role-template-modal-head p{margin:0;color:#7c8590;font-size:9px}.role-template-preview-v2015{display:flex;flex-wrap:wrap;gap:6px;max-height:320px;overflow:auto;margin:18px 0;padding:12px;background:#f6f7f9;border-radius:14px}.role-template-preview-v2015 span{padding:6px 8px;border-radius:8px;background:#fff;border:1px solid #e3e7eb;font-size:8px}.role-template-modal-actions{display:flex;justify-content:flex-end;gap:7px}.permission-group-accordion{padding:0!important;border-top:1px solid #e7eaee}.permission-group-accordion:last-child{border-bottom:1px solid #e7eaee}.permission-group-accordion>.permission-group-title{list-style:none;cursor:pointer;margin:0!important;padding:12px 3px;display:flex;align-items:center;justify-content:space-between}.permission-group-accordion>.permission-group-title::-webkit-details-marker{display:none}.permission-group-title>span:first-child{display:grid;gap:2px}.permission-group-title>span:first-child small{font-size:7.8px;font-weight:400;color:#8d95a0}.permission-group-title>span:last-child{display:flex;align-items:center;gap:6px;font-size:8px;color:#8a929c}.permission-group-title>span:last-child .ui-icon{width:13px;height:13px;transition:.15s}.permission-group-accordion[open]>.permission-group-title>span:last-child .ui-icon{transform:rotate(90deg)}.permission-group-body{padding:0 0 14px}

/* Daha temiz seçim kontrolleri */
.pretty-check input[type="checkbox"],.pretty-check-grid input[type="checkbox"],.allergen-admin-grid input[type="checkbox"]{appearance:none;width:18px;height:18px;min-width:18px;border:1px solid #cfd5dd;border-radius:6px;background:#fff;display:grid;place-items:center;cursor:pointer;transition:.14s}.pretty-check input[type="checkbox"]:checked,.pretty-check-grid input[type="checkbox"]:checked,.allergen-admin-grid input[type="checkbox"]:checked{background:var(--brand-accent);border-color:var(--brand-accent);box-shadow:inset 0 0 0 4px var(--brand-accent)}.pretty-check input[type="checkbox"]:checked:after,.pretty-check-grid input[type="checkbox"]:checked:after,.allergen-admin-grid input[type="checkbox"]:checked:after{content:"✓";color:#fff;font-size:12px;line-height:1}.form input[type="radio"]{accent-color:var(--brand-accent)}

@media(max-width:900px){.organization-module-bar,.role-template-bar-v2015{grid-template-columns:1fr}.organization-action-grid{grid-template-columns:1fr}.organization-action:nth-child(odd){border-right:0}.rooms-command-head{align-items:flex-start;flex-direction:column}.room-state-legend{justify-content:flex-start}.room-door-grid-v2015{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.room-door-actions-v2015{opacity:1;transform:none;position:static;margin-top:10px}.room-door-tile-v2015:hover .room-door-device-v2015{opacity:1}}
@media(max-width:520px){.organization-module-item{padding:7px 9px}.organization-action{grid-template-columns:40px minmax(0,1fr) 22px;padding:14px 6px}.room-door-grid-v2015{grid-template-columns:repeat(2,minmax(0,1fr))}.room-door-tile-v2015{min-height:185px;padding:10px}.room-door-main-v2015 b{font-size:20px}.room-door-actions-v2015{grid-template-columns:repeat(2,1fr)}.staff-hover-actions-v2015{opacity:1;transform:none;pointer-events:auto;position:static;margin-bottom:8px}.role-template-modal-actions{display:grid;grid-template-columns:1fr 1fr}.role-template-modal-actions .btn{width:100%!important}}

/* ======================================================================
   v0.20.16 · Oda hızlı işlemleri ve ilgili bölüm modalları
   ====================================================================== */
.workspace-modal.is-compact{padding:clamp(18px,4vh,46px) clamp(12px,4vw,64px)!important;place-items:center!important}
.workspace-modal.is-compact .workspace-modal-frame{width:min(1180px,96vw)!important;height:min(880px,90vh)!important;border-radius:24px!important;outline:0!important;box-shadow:0 36px 110px rgba(10,16,24,.28)!important}
.workspace-modal.is-compact .workspace-modal-toolbar{height:70px!important;border-bottom:1px solid #e7eaee!important}
.workspace-modal.is-compact .workspace-modal-body{padding:24px 28px 30px!important;background:#f7f8fa!important}
.workspace-modal.is-compact .workspace-content{max-width:none!important;width:100%!important}
.workspace-modal.is-compact .workspace-loading,.workspace-modal.is-compact .workspace-error{min-height:420px!important}
.workspace-modal-kicker>span{display:inline!important}

.room-door-actions-v2015{gap:6px!important;left:7px!important;right:7px!important;bottom:7px!important}
.room-door-actions-v2015>a,.room-door-actions-v2015>span{height:44px!important;border-radius:11px!important;background:#111820!important;box-shadow:0 8px 18px rgba(9,15,22,.15)!important;transition:.15s ease!important}
.room-door-actions-v2015>a:hover{background:#222d39!important;transform:translateY(-2px)!important}
.room-door-actions-v2015 .ui-icon{width:16px!important;height:16px!important}
.room-door-actions-v2015 span span,.room-door-actions-v2015 a span,.room-door-actions-v2015 b{font-size:7px!important;font-weight:700!important;letter-spacing:.01em!important}
.room-door-actions-v2015 .disabled{background:#eef1f4!important;color:#929aa5!important;box-shadow:none!important}

.door-quick-panel{width:100%;display:grid;gap:22px}
.door-quick-head{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:15px;align-items:center;padding:18px 20px;background:#fff;border:1px solid #e4e8ed;border-radius:20px}
.door-quick-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:#111820;color:#fff}.door-quick-icon .ui-icon{width:26px;height:26px}
.door-quick-head h2{margin:2px 0 3px;font-size:25px;letter-spacing:-.04em}.door-quick-head p{margin:0;color:#7b8490;font-size:9px}.door-health-pill{display:flex;align-items:center;gap:7px;padding:9px 11px;border-radius:999px;background:#f3f5f7;color:#6d7580;font-size:8.5px;font-weight:700;white-space:nowrap}.door-health-pill i{width:7px;height:7px;border-radius:50%}.door-health-pill.ok{background:#eaf8f0;color:#16794a}.door-health-pill.ok i{background:#23a766}.door-health-pill.warn{background:#fff4df;color:#9b6515}.door-health-pill.warn i{background:#e5a231}
.door-panel-title{display:flex;justify-content:space-between;align-items:end;gap:20px}.door-panel-title h3{margin:3px 0 4px;font-size:21px;letter-spacing:-.03em}.door-panel-title p{margin:0;max-width:760px;color:#747e89;font-size:9.5px;line-height:1.6}

.door-log-filter-pro{display:grid!important;grid-template-columns:1fr 1fr auto!important;gap:10px!important;margin:0!important;padding:14px!important;border:1px solid #e3e7eb!important;border-radius:16px!important;background:#fff!important}.door-log-filter-pro label{display:grid;gap:5px}.door-log-filter-pro label span{font-size:8px;font-weight:750;color:#737c87}.door-log-filter-pro input{height:42px;border:1px solid #dfe4e9;border-radius:10px;background:#f8f9fa;padding:0 11px;color:#20262d}.door-log-filter-pro .btn{height:42px;align-self:end}
.door-log-table-pro{overflow:auto;border:1px solid #e3e7eb;border-radius:16px;background:#fff}.door-log-row{min-width:760px;display:grid;grid-template-columns:145px 1.35fr 1fr 1fr 105px;gap:14px;align-items:center;padding:12px 15px;border-bottom:1px solid #eef1f4;font-size:9px}.door-log-row:last-child{border-bottom:0}.door-log-row.head{background:#f3f5f7;color:#727b86;font-size:7.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.door-log-row time{color:#69727e;font-variant-numeric:tabular-nums}.door-log-row b{font-size:9.5px}.door-log-row .badge{justify-self:start}

.door-battery-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:14px}.door-battery-gauge{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px;align-items:center;padding:28px;background:#fff;border:1px solid #e3e7eb;border-radius:22px}.battery-ring{--battery-level:0;width:190px;height:190px;border-radius:50%;display:grid;place-items:center;align-content:center;gap:2px;position:relative;background:conic-gradient(#28a768 calc(var(--battery-level)*1%),#e9edf1 0)}.battery-ring:before{content:"";position:absolute;inset:13px;border-radius:50%;background:#fff}.battery-ring>*{position:relative;z-index:1}.battery-ring .ui-icon{width:27px;height:27px;color:#4b5561}.battery-ring b{font-size:34px;letter-spacing:-.05em}.battery-ring small{font-size:8px;color:#7d8691}.door-battery-gauge.low .battery-ring{background:conic-gradient(#e4a02e calc(var(--battery-level)*1%),#e9edf1 0)}.door-battery-gauge.critical .battery-ring{background:conic-gradient(#d24b45 calc(var(--battery-level)*1%),#e9edf1 0)}.battery-copy h3{font-size:31px;margin:5px 0}.battery-copy p{margin:0;color:#747e89;font-size:10px;line-height:1.65}.door-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.door-info-grid article{min-height:115px;padding:15px;border:1px solid #e3e7eb;border-radius:17px;background:#fff;display:grid;align-content:start;gap:5px}.door-info-grid article>span:first-child{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;background:#f0f3f6}.door-info-grid .ui-icon{width:16px;height:16px}.door-info-grid small,.door-device-status-grid small{font-size:7.5px;color:#848d98}.door-info-grid b,.door-device-status-grid b{font-size:10.5px}

.route-status-list-pro{gap:9px!important;margin:0!important}.route-status-list-pro article{grid-template-columns:34px 42px minmax(0,1fr) auto!important;align-items:center!important;padding:13px 14px!important;border-radius:15px!important;background:#fff!important}.route-status-list-pro article.selected{background:#eef9f3!important;border-color:#bfe5d0!important}.route-rank{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#eef1f4;color:#59636e;font-size:9px;font-weight:800}.route-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#f3f5f7}.route-icon .ui-icon{width:18px;height:18px}.route-status-list-pro article.selected .route-rank,.route-status-list-pro article.selected .route-icon{background:#dff3e8;color:#16794a}.route-status-list-pro b{font-size:10.5px!important}.route-status-list-pro small{font-size:8.5px!important;line-height:1.5}

.door-device-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.door-device-status-grid>article{min-height:130px;padding:16px;border:1px solid #e3e7eb;border-radius:18px;background:#fff;display:grid;align-content:start;gap:6px}.door-device-status-grid>article>span:last-child{font-size:8px;color:#7c8590}.door-device-primary{grid-column:1/-1!important;min-height:150px!important;grid-template-columns:52px minmax(0,1fr)!important;align-items:center!important;align-content:center!important}.door-device-primary>span:first-child{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:#fff4df;color:#a36a15}.door-device-primary.ok>span:first-child{background:#e8f8ef;color:#17814e}.door-device-primary .ui-icon{width:24px;height:24px}.door-device-primary b{font-size:21px!important;letter-spacing:-.03em}.door-device-primary p{margin:2px 0 0;color:#747e89;font-size:9px}.door-aux-observations{display:grid;gap:12px;padding-top:5px}

@media(max-width:800px){.workspace-modal.is-compact{padding:7px!important}.workspace-modal.is-compact .workspace-modal-frame{width:100%!important;height:100%!important;border-radius:16px!important}.workspace-modal.is-compact .workspace-modal-body{padding:14px 10px 20px!important}.door-quick-head{grid-template-columns:48px minmax(0,1fr)}.door-quick-icon{width:48px;height:48px}.door-health-pill{grid-column:1/-1;justify-self:start}.door-battery-layout{grid-template-columns:1fr}.door-battery-gauge{grid-template-columns:150px 1fr;padding:20px}.battery-ring{width:140px;height:140px}.door-device-status-grid{grid-template-columns:1fr 1fr}.door-log-filter-pro{grid-template-columns:1fr 1fr!important}.door-log-filter-pro .btn{grid-column:1/-1}}
@media(max-width:520px){.door-battery-gauge{grid-template-columns:1fr;text-align:center}.battery-ring{margin:auto}.door-info-grid,.door-device-status-grid{grid-template-columns:1fr}.door-log-filter-pro{grid-template-columns:1fr!important}.route-status-list-pro article{grid-template-columns:30px 34px minmax(0,1fr)!important}.route-status-list-pro article>.badge{grid-column:3}.door-quick-head h2{font-size:21px}}

/* v0.20.16 · Mutfak TV bağlantı merkezi */
.kitchen-admin-hero-v2016{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0 22px;border-bottom:1px solid #e4e8ec}.kitchen-admin-brand-v2016{display:flex;align-items:center;gap:16px;min-width:0}.kitchen-admin-brand-v2016>img,.kitchen-admin-brand-v2016>span{width:64px;height:64px;border-radius:18px;object-fit:contain;background:#111820;color:#fff;display:grid;place-items:center;font-size:24px;font-weight:800}.kitchen-admin-brand-v2016 h2{margin:3px 0 4px;font-size:30px;letter-spacing:-.04em}.kitchen-admin-brand-v2016 p{margin:0;max-width:760px;color:#737d88;font-size:10px;line-height:1.55}
.kitchen-url-console-v2016{margin-top:18px;padding:22px;border:1px solid #dfe4e9;border-radius:22px;background:#fff;display:grid;gap:18px}.kitchen-url-copy-v2016{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;align-items:center}.kitchen-url-icon-v2016{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#111820;color:#fff}.kitchen-url-icon-v2016 .ui-icon{width:25px;height:25px}.kitchen-url-copy-v2016 h3{margin:3px 0;font-size:20px}.kitchen-url-copy-v2016 p{margin:0;color:#77818c;font-size:9.5px}.kitchen-secret-url-v2016{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;background:#f4f6f8;border:1px solid #e3e7eb;border-radius:15px}.kitchen-secret-url-v2016 code{min-width:0;overflow:auto;white-space:nowrap;padding:8px 10px;border-radius:10px;background:#fff;font-size:9.5px;color:#303842}.kitchen-secret-url-v2016>div{display:flex;gap:8px}.kitchen-url-meta-v2016{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kitchen-url-meta-v2016>span{display:grid;gap:4px;padding:13px;border:1px solid #e5e8ec;border-radius:14px;background:#fafbfc}.kitchen-url-meta-v2016 small{font-size:7.5px;color:#838c97}.kitchen-url-meta-v2016 b{font-size:10px}.kitchen-url-empty-v2016{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;padding:18px;border:1px solid #cfd5dc;border-radius:16px;background:#f9fafb}.kitchen-url-empty-v2016>span{width:44px;height:44px;border-radius:13px;background:#eef1f4;display:grid;place-items:center}.kitchen-url-empty-v2016 b{font-size:11px}.kitchen-url-empty-v2016 p{margin:3px 0 0;color:#7b8490;font-size:9px}.kitchen-tv-guide-v2016{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.kitchen-tv-guide-v2016 article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:15px;border:1px solid #e3e7eb;border-radius:16px;background:#fff}.kitchen-tv-guide-v2016 article>span{width:30px;height:30px;border-radius:9px;background:#111820;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800}.kitchen-tv-guide-v2016 b{font-size:10px}.kitchen-tv-guide-v2016 small{display:block;margin-top:3px;color:#7c8590;font-size:8.5px;line-height:1.45}.menu-admin-actions-v2013 .kitchen-link{border-color:#c9d8cf;background:#f2faf5}.menu-admin-actions-v2013 .kitchen-link:hover{background:#e8f7ee}
@media(max-width:850px){.kitchen-admin-hero-v2016{align-items:flex-start;flex-direction:column}.kitchen-secret-url-v2016{grid-template-columns:1fr}.kitchen-secret-url-v2016>div{flex-wrap:wrap}.kitchen-url-meta-v2016,.kitchen-tv-guide-v2016{grid-template-columns:1fr}}
.theme-preview-dergi .theme-preview{background:#f4f0e8;border-radius:2px}.theme-preview-dergi .theme-preview i{border-radius:0;border:1px solid #1f1f1f}.theme-preview-dergi .theme-preview i:first-child{background:#f4f0e8;border-width:0 0 3px}
.theme-preview-sef .theme-preview{background:#171411}.theme-preview-sef .theme-preview i{background:#2b251e;border-radius:4px}.theme-preview-sef .theme-preview i:first-child{background:linear-gradient(90deg,#080706,#744026)}
.theme-preview-teras .theme-preview{background:#edf8fc}.theme-preview-teras .theme-preview i{background:#fff;border:1px solid #d4e7ef;border-radius:12px}.theme-preview-teras .theme-preview i:first-child{background:#dff2f8}
.theme-preview-anadolu .theme-preview{background:#f2e3cf}.theme-preview-anadolu .theme-preview i{background:#fff5e8;border-radius:50%}.theme-preview-anadolu .theme-preview i:first-child{border-radius:8px;background:#9a5036}
.theme-preview-renkli .theme-preview{background:#fff5e8}.theme-preview-renkli .theme-preview i:first-child{background:linear-gradient(90deg,#5b43df,#ef5c7e,#f3a451)}.theme-preview-renkli .theme-preview i:nth-child(2){background:#ffe6e9}.theme-preview-renkli .theme-preview i:nth-child(3){background:#e7f4ff}

/* Mira v0.20.19 — oda satırları, hızlı personel işlemleri, PMS ve plaj çalışma alanı */
.room-door-list-v2017{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:34px;row-gap:0}
.room-door-row-v2017{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:118px;padding:14px 0;border-bottom:1px solid #e8ebef;background:transparent;overflow:visible}
.room-door-row-v2017:last-child{border-bottom-color:transparent}
.room-door-visual-v2017{position:relative;width:72px;height:88px;display:grid;place-items:center;color:#47515e}
.room-door-visual-v2017:before{content:"";position:absolute;inset:3px 13px 3px 13px;border:2px solid currentColor;border-radius:20px 20px 10px 10px;opacity:.2}
.room-door-visual-v2017>span{position:relative;z-index:1;width:58px;height:68px;display:grid;place-items:center;border-radius:20px;background:#f4f6f8;transition:.18s ease}
.room-door-visual-v2017 .ui-icon{width:31px;height:31px}
.room-door-visual-v2017>i{position:absolute;right:9px;top:9px;width:11px;height:11px;border-radius:50%;border:3px solid #fff;z-index:2}
.room-door-row-v2017.state-occupied .room-door-visual-v2017{color:#168652}.room-door-row-v2017.state-occupied .room-door-visual-v2017>span{background:#eaf8f0}.room-door-row-v2017.state-occupied .room-door-visual-v2017>i{background:#28aa69}
.room-door-row-v2017.state-vacant .room-door-visual-v2017{color:#b56a08}.room-door-row-v2017.state-vacant .room-door-visual-v2017>span{background:#fff4df}.room-door-row-v2017.state-vacant .room-door-visual-v2017>i{background:#e99a2d}
.room-door-row-v2017.state-inactive .room-door-visual-v2017{color:#7c8590}.room-door-row-v2017.state-inactive .room-door-visual-v2017>span{background:#eff1f3}.room-door-row-v2017.state-inactive .room-door-visual-v2017>i{background:#9da4ad}
.room-door-copy-v2017{min-width:0}.room-door-titleline-v2017{display:flex;align-items:center;gap:12px;justify-content:space-between}.room-door-titleline-v2017>div{display:flex;align-items:baseline;gap:8px}.room-door-titleline-v2017 small{font-size:7px;letter-spacing:.16em;color:#9aa1aa;font-weight:750}.room-door-titleline-v2017 h4{margin:0;font-size:26px;letter-spacing:-.05em;line-height:1}.room-door-copy-v2017>p{margin:6px 0 9px;font-size:9.2px;color:#747e89;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.room-occupancy-v2017{display:inline-flex;align-items:center;gap:6px;font-size:7.8px;font-weight:750;color:#707985}.room-occupancy-v2017 i{width:7px;height:7px;border-radius:50%}.state-occupied .room-occupancy-v2017 i{background:#28aa69}.state-vacant .room-occupancy-v2017 i{background:#e99a2d}.state-inactive .room-occupancy-v2017 i{background:#9da4ad}
.room-door-meta-v2017{display:flex;gap:11px;align-items:center;flex-wrap:wrap}.room-door-meta-v2017>span{display:inline-flex;align-items:center;gap:5px;min-width:0;color:#808995;font-size:7.7px}.room-door-meta-v2017 .ui-icon{width:11px;height:11px}.room-door-meta-v2017 b{font-weight:650;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.room-door-meta-v2017 .good{color:#188653}.room-door-meta-v2017 .warn{color:#a36b16}.room-door-meta-v2017 .muted{color:#929aa4}
.room-door-actions-v2017{display:flex;align-items:center;gap:7px;padding:7px;border-radius:18px;background:rgba(17,24,32,.96);box-shadow:0 14px 38px rgba(12,18,26,.18);backdrop-filter:blur(14px);opacity:0;transform:translateX(8px) scale(.97);pointer-events:none;transition:.18s ease;z-index:5}
.room-door-row-v2017:hover .room-door-actions-v2017,.room-door-row-v2017:focus-within .room-door-actions-v2017{opacity:1;transform:none;pointer-events:auto}
.room-door-actions-v2017>a,.room-door-actions-v2017>span{position:relative;width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:#fff;background:rgba(255,255,255,.06);transition:.15s;text-decoration:none}.room-door-actions-v2017>a:hover{background:#fff;color:#111820;transform:translateY(-2px)}.room-door-actions-v2017 .ui-icon{width:19px;height:19px}.room-door-actions-v2017 em{position:absolute;left:50%;top:calc(100% + 8px);translate:-50% 0;padding:5px 7px;border-radius:7px;background:#111820;color:#fff;font-size:6.8px;font-style:normal;white-space:nowrap;opacity:0;pointer-events:none;transition:.12s}.room-door-actions-v2017>a:hover em{opacity:1}.room-door-actions-v2017 .disabled{width:auto;min-width:86px;padding:0 11px;color:#9aa2ad}.room-door-actions-v2017 .disabled em{position:static;translate:none;opacity:1;margin-left:4px}

.staff-quick-sheet-v2017{display:grid;gap:18px;width:min(860px,100%);margin:0 auto}.staff-quick-sheet-v2017>header{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:center;padding:4px 0 16px;border-bottom:1px solid #e7eaee}.staff-quick-symbol{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:#111820;color:#fff}.staff-quick-symbol .ui-icon{width:25px;height:25px}.staff-quick-sheet-v2017 h2{margin:3px 0 4px;font-size:24px;letter-spacing:-.04em}.staff-quick-sheet-v2017 header p{margin:0;color:#7a8490;font-size:9px;line-height:1.55}
.staff-quick-access-v2017{display:grid;gap:14px}.quick-access-choice-v2017{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quick-access-choice-v2017 label{cursor:pointer}.quick-access-choice-v2017 input{position:absolute;opacity:0;pointer-events:none}.quick-access-choice-v2017 label>span{display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center;padding:11px;border:1px solid #e1e5ea;border-radius:13px;background:#fff;transition:.15s}.quick-access-choice-v2017 .ui-icon{grid-row:1/3;width:18px;height:18px;color:#697481}.quick-access-choice-v2017 b{font-size:9px}.quick-access-choice-v2017 small{font-size:7.4px;color:#9098a2}.quick-access-choice-v2017 input:checked+span{border-color:#111820;box-shadow:0 0 0 2px rgba(17,24,32,.08);background:#f7f8f9}.quick-access-choice-v2017 input:checked+span .ui-icon{color:#111820}
.staff-quick-current-v2017{display:grid;gap:7px;padding-top:4px}.staff-quick-current-v2017>article{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #edf0f2}.staff-quick-current-v2017>article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#f3f5f7}.staff-quick-current-v2017>article .ui-icon{width:16px;height:16px}.staff-quick-current-v2017>article>div{display:grid;gap:2px}.staff-quick-current-v2017 b{font-size:9px}.staff-quick-current-v2017 small{font-size:7.5px;color:#8c949e}.quick-message-chips-v2017{display:flex;gap:6px;flex-wrap:wrap}.quick-message-chips-v2017 button{border:1px solid #dde2e7;background:#fff;border-radius:999px;padding:7px 9px;font-size:7.6px;cursor:pointer;color:#5f6975}.quick-message-chips-v2017 button:hover{border-color:#111820;color:#111820}

.pms-hero-v2017{margin-bottom:14px}.pms-metrics-v2017{margin-bottom:16px}.pms-quick-grid-v2017{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.pms-quick-grid-v2017>a{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:10px;align-items:center;padding:12px;border-bottom:1px solid #e3e7eb;text-decoration:none;color:inherit;transition:.15s}.pms-quick-grid-v2017>a>span:first-child{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#f1f3f5}.pms-quick-grid-v2017>a:hover{transform:translateY(-1px);border-bottom-color:#111820}.pms-quick-grid-v2017 b{display:block;font-size:9.5px}.pms-quick-grid-v2017 small{display:block;margin-top:2px;font-size:7.5px;color:#8a929d;line-height:1.4}.pms-quick-grid-v2017 .ui-icon{width:17px;height:17px}.pms-integration-grid-v2017{margin-top:5px}

.beach-layout-v2017{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,.7fr);gap:16px;margin:16px 0}.beach-zone-list-v2017{padding:14px 0}.beach-zone-list-v2017>article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #e8ebef}.beach-zone-list-v2017>article>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eef6f4;color:#227a67}.beach-zone-list-v2017 .ui-icon{width:17px;height:17px}.beach-zone-list-v2017 b{display:block;font-size:9px}.beach-zone-list-v2017 small{display:block;margin-top:2px;font-size:7.5px;color:#8a929d}

@media(max-width:1100px){.room-door-list-v2017{grid-template-columns:1fr}.pms-quick-grid-v2017{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.room-door-row-v2017{grid-template-columns:66px minmax(0,1fr);gap:12px;min-height:108px}.room-door-visual-v2017{width:62px;height:76px}.room-door-visual-v2017>span{width:52px;height:62px}.room-door-actions-v2017{grid-column:1/-1;justify-content:flex-end;opacity:1;transform:none;pointer-events:auto;background:transparent;box-shadow:none;backdrop-filter:none;padding:4px 0}.room-door-actions-v2017>a{width:auto;min-width:62px;height:38px;padding:0 9px;grid-template-columns:16px auto;gap:5px;background:#111820}.room-door-actions-v2017>a em{position:static;translate:none;opacity:1;font-size:6.6px;background:transparent;padding:0}.quick-access-choice-v2017{grid-template-columns:1fr 1fr}.beach-layout-v2017{grid-template-columns:1fr}}
@media(max-width:520px){.pms-quick-grid-v2017{grid-template-columns:1fr}.quick-access-choice-v2017{grid-template-columns:1fr}.room-door-meta-v2017>span:nth-child(3){display:none}.room-door-actions-v2017{justify-content:flex-start;overflow-x:auto}.room-door-actions-v2017>a{min-width:72px}}

/* Mira v0.20.19 — yüksek yoğunluklu oda/kapı görünümü */
.room-floor-v2015{margin:0 0 24px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.room-floor-head{padding:0 0 10px!important;border:0!important}.room-door-grid-v2018{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px 6px;align-items:start}.room-door-tile-v2018{position:relative;min-width:0;padding:8px 4px 7px;display:grid;justify-items:center;gap:4px;background:transparent;border:0;outline:0;border-radius:12px;transition:transform .16s ease}.room-door-tile-v2018:hover,.room-door-tile-v2018:focus-visible{z-index:12;transform:translateY(-2px)}.room-door-stage-v2018{position:relative;width:64px;height:76px;perspective:180px;display:grid;place-items:end center}.room-door-frame-v2018{position:relative;width:50px;height:70px;border:2px solid currentColor;border-bottom-width:3px;border-radius:8px 8px 3px 3px;display:block;color:#88919c;opacity:.95}.room-door-frame-v2018:after{content:"";position:absolute;left:-7px;right:-7px;bottom:-5px;height:2px;border-radius:999px;background:currentColor;opacity:.2}.room-door-leaf-v2018{position:absolute;inset:3px 3px 2px;display:block;border:1.5px solid currentColor;border-radius:5px 5px 2px 2px;background:linear-gradient(145deg,color-mix(in srgb,currentColor 10%,transparent),transparent 54%);transform-origin:left center;transform:rotateY(0deg);transition:transform .36s cubic-bezier(.2,.75,.2,1),filter .2s ease,opacity .2s ease;box-shadow:inset -7px 0 12px rgba(16,24,32,.06)}.room-door-leaf-v2018 u{position:absolute;right:6px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:currentColor;text-decoration:none;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 16%,transparent)}.state-vacant .room-door-frame-v2018{color:#db8a22}.state-vacant .room-door-leaf-v2018{transform:rotateY(-42deg);filter:drop-shadow(7px 5px 6px rgba(138,83,19,.12));animation:miraDoorAjar 3.8s ease-in-out infinite}.state-occupied .room-door-frame-v2018{color:#1f9b62}.state-occupied .room-door-leaf-v2018{transform:rotateY(0deg)}.state-inactive .room-door-frame-v2018{color:#9aa1aa;opacity:.5}.state-inactive .room-door-leaf-v2018{transform:rotateY(0deg);background:rgba(145,151,160,.08)}@keyframes miraDoorAjar{0%,78%,100%{transform:rotateY(-42deg)}86%{transform:rotateY(-33deg)}92%{transform:rotateY(-47deg)}}.room-device-dot-v2018{position:absolute;right:5px;bottom:4px;width:8px;height:8px;border-radius:50%;border:2px solid #f5f6f7;background:#a7aeb7;box-shadow:0 0 0 3px rgba(255,255,255,.84)}.room-device-dot-v2018.online{background:#35b879}.room-device-dot-v2018.waiting{background:#e5a13e}.room-door-info-v2018{display:grid;justify-items:center;gap:1px;line-height:1.1}.room-door-info-v2018>b{font-size:13px;letter-spacing:-.03em;color:#20262d}.room-door-info-v2018>small{font-size:7px;font-weight:750;color:#7f8995}.room-door-info-v2018>span{font-size:6.5px;color:#a0a7b0}.room-door-guest-v2018{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:6.4px;color:#7e8793}.room-door-tools-v2018{position:absolute;left:50%;bottom:calc(100% - 4px);translate:-50% 6px;display:flex;align-items:center;gap:4px;padding:5px;border-radius:14px;background:rgba(17,23,31,.96);box-shadow:0 15px 34px rgba(12,18,26,.24);backdrop-filter:blur(16px);opacity:0;visibility:hidden;pointer-events:none;transition:.16s ease;z-index:20}.room-door-tile-v2018:hover .room-door-tools-v2018,.room-door-tile-v2018:focus-within .room-door-tools-v2018{opacity:1;visibility:visible;pointer-events:auto;translate:-50% 0}.room-door-tools-v2018>a{position:relative;width:33px;height:33px;display:grid;place-items:center;border-radius:10px;color:#e9edf2;text-decoration:none;background:transparent;transition:.14s ease}.room-door-tools-v2018>a:hover{background:#fff;color:#111820;transform:translateY(-2px)}.room-door-tools-v2018 .ui-icon{width:15px;height:15px}.room-door-tools-v2018 em{position:absolute;left:50%;bottom:calc(100% + 7px);translate:-50% 3px;padding:4px 6px;border-radius:7px;background:#111820;color:#fff;font-size:6px;font-style:normal;white-space:nowrap;opacity:0;pointer-events:none;transition:.12s}.room-door-tools-v2018>a:hover em{opacity:1;translate:-50% 0}.rooms-command-head{border:0!important;box-shadow:none!important;background:transparent!important;padding-left:0!important;padding-right:0!important}.room-state-legend{background:transparent!important;border:0!important;box-shadow:none!important}.room-state-legend>span{border:0!important;background:transparent!important;padding:4px 7px!important}.room-state-legend>span i{width:7px!important;height:7px!important}.workspace-modal.is-compact .door-quick-panel{max-width:980px;margin:0 auto}.workspace-modal.is-compact .workspace-modal-frame{height:auto!important;max-height:90vh!important}.workspace-modal.is-compact .workspace-modal-body{max-height:calc(90vh - 70px)!important}.workspace-modal.is-compact .workspace-content{min-height:0!important}@media(max-width:760px){.room-door-grid-v2018{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:9px 4px}.room-door-stage-v2018{width:58px;height:70px}.room-door-frame-v2018{width:46px;height:65px}.room-door-tools-v2018{position:fixed;left:50%;bottom:16px;top:auto;translate:-50% 10px}.room-door-tile-v2018:focus-within .room-door-tools-v2018{translate:-50% 0}.room-door-tools-v2018>a{width:42px;height:42px}.room-door-tools-v2018 em{display:none}}

/* Mira v0.20.19 — personel bildirim merkezi */
.workspace-modal.is-compact .workspace-live,.workspace-modal.is-compact .workspace-modal-hint,.workspace-modal.is-compact .workspace-modal-kicker{display:none!important}.workspace-modal.is-compact .workspace-modal-toolbar{padding:0 18px!important}.workspace-modal.is-compact .workspace-modal-nav strong{font-size:15px!important}.notify-composer-v2018{width:min(980px,100%);margin:0 auto;display:grid;gap:22px}.notify-composer-head-v2018{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:center;padding:2px 2px 20px;border-bottom:1px solid #e8ebef}.notify-composer-head-v2018>span{width:64px;height:64px;display:grid;place-items:center;border-radius:19px;background:#111820;color:#fff;box-shadow:0 12px 26px rgba(17,24,32,.14)}.notify-composer-head-v2018>span .ui-icon{width:27px;height:27px}.notify-composer-head-v2018 small{font-size:8px;font-weight:800;letter-spacing:.14em;color:#929aa4}.notify-composer-head-v2018 h2{margin:3px 0 4px;font-size:25px;letter-spacing:-.045em}.notify-composer-head-v2018 p{margin:0;max-width:720px;color:#7a8490;font-size:9px;line-height:1.55}.notify-template-grid-v2018{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.notify-template-v2018{position:relative;min-height:112px;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;align-content:center;text-align:left;padding:13px;border:1px solid transparent;border-radius:17px;background:#eef3f8;color:#263445;cursor:pointer;font:inherit;transition:.16s ease}.notify-template-v2018>span{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#fff8;color:inherit}.notify-template-v2018 .ui-icon{width:18px;height:18px}.notify-template-v2018 b{font-size:9px;align-self:end}.notify-template-v2018 small{display:block;margin-top:3px;font-size:7.2px;line-height:1.4;color:color-mix(in srgb,currentColor 72%,transparent);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notify-template-v2018:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(16,23,32,.08)}.notify-template-v2018.selected{border-color:currentColor;box-shadow:0 0 0 2px color-mix(in srgb,currentColor 12%,transparent)}.notify-template-v2018.tone-area{background:#eaf7f1;color:#176f4b}.notify-template-v2018.tone-manager,.notify-template-v2018.tone-meeting{background:#eef2ff;color:#4857a8}.notify-template-v2018.tone-station,.notify-template-v2018.tone-service{background:#fff3e5;color:#9b5a0d}.notify-template-v2018.tone-shift{background:#edf6ff;color:#2b6d9f}.notify-template-v2018.tone-urgent{background:#fff0f0;color:#a73d3d}.notify-template-v2018.tone-thanks{background:#f3edff;color:#7148a5}.notify-compose-form-v2018{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr);gap:12px 14px;align-items:start;padding-top:2px}.notify-compose-form-v2018>label,.notify-target-selectors-v2018>label{display:grid;gap:6px}.notify-compose-form-v2018>label>span,.notify-target-selectors-v2018>label>span{font-size:8px;font-weight:800;color:#687380}.notify-compose-form-v2018 input,.notify-compose-form-v2018 textarea,.notify-target-selectors-v2018 select{width:100%;border:1px solid #dfe4e9;border-radius:13px;background:#fff;padding:12px 13px;font:inherit;font-size:10px;color:#1e252d;outline:0;transition:.14s}.notify-compose-form-v2018 textarea{resize:vertical;min-height:112px;line-height:1.55}.notify-compose-form-v2018 input:focus,.notify-compose-form-v2018 textarea:focus,.notify-target-selectors-v2018 select:focus{border-color:#768391;box-shadow:0 0 0 3px rgba(59,72,86,.08)}.notify-compose-form-v2018 label.message{position:relative}.notify-compose-form-v2018 label.message>small{position:absolute;right:10px;bottom:9px;font-size:6.8px;color:#9aa2ac}.notify-delivery-v2018{grid-column:1/-1;display:flex;align-items:center;gap:18px;padding:10px 1px;border-top:1px solid #edf0f2}.notify-delivery-v2018>span{display:grid;grid-template-columns:28px auto;grid-template-rows:auto auto;column-gap:8px;align-items:center}.notify-delivery-v2018 .ui-icon{grid-row:1/3;width:28px;height:28px;padding:6px;border-radius:9px;background:#f1f3f5}.notify-delivery-v2018 b{font-size:8px}.notify-delivery-v2018 small{font-size:6.8px;color:#929aa5}.notify-send-v2018{grid-column:1/-1;justify-self:end;min-width:180px}.notify-target-tabs-v2018{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.notify-target-tabs-v2018 label{cursor:pointer}.notify-target-tabs-v2018 input{position:absolute;opacity:0;pointer-events:none}.notify-target-tabs-v2018 label>span{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center;min-height:76px;padding:10px 11px;border:1px solid #e1e5ea;border-radius:15px;background:#fff;transition:.14s}.notify-target-tabs-v2018 .ui-icon{grid-row:1/3;width:18px;height:18px;color:#73808d}.notify-target-tabs-v2018 b{font-size:8.5px}.notify-target-tabs-v2018 small{font-size:7px;color:#9199a3}.notify-target-tabs-v2018 input:checked+span{border-color:#111820;background:#f3f5f7;box-shadow:0 0 0 2px rgba(17,24,32,.06)}.notify-target-tabs-v2018 input:checked+span .ui-icon{color:#111820}.notify-target-selectors-v2018{display:grid;grid-template-columns:1fr;max-width:480px}.notify-target-selectors-v2018 [hidden]{display:none!important}.bulk-notify-form-v2018{display:grid;gap:18px}.notify-compose-form-v2018.inline{grid-template-columns:minmax(0,.72fr) minmax(0,1.5fr)}.staff-bulk-notify-button{background:#111820!important;color:#fff!important;border-color:#111820!important}@media(max-width:780px){.notify-template-grid-v2018{grid-template-columns:1fr 1fr}.notify-target-tabs-v2018{grid-template-columns:1fr 1fr}.notify-compose-form-v2018,.notify-compose-form-v2018.inline{grid-template-columns:1fr}.notify-composer-head-v2018{grid-template-columns:52px 1fr}.notify-composer-head-v2018>span{width:52px;height:52px}.notify-send-v2018{width:100%;justify-self:stretch}}@media(max-width:480px){.notify-template-grid-v2018{grid-template-columns:1fr}.notify-target-tabs-v2018{grid-template-columns:1fr 1fr}.notify-composer-v2018{gap:15px}}

/* Mira v0.20.19 — menü ayarları ve cihaz hazırlama */
.menu-design-hero-v2018,.provision-hero-v2018{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px;padding:2px 0 20px;border-bottom:1px solid #e8ebef}.menu-design-hero-v2018 h2,.provision-hero-v2018 h2{margin:4px 0 6px;font-size:30px;letter-spacing:-.05em}.menu-design-hero-v2018 p,.provision-hero-v2018 p{max-width:820px;margin:0;color:#7c8691;font-size:9.5px;line-height:1.6}.menu-design-form-v2018{display:grid;gap:30px}.menu-theme-section-v2018,.menu-settings-v2018,.provision-create-v2018,.provision-list-v2018{background:transparent;border:0;box-shadow:none;padding:0}.section-copy-v2018{max-width:720px;margin-bottom:15px}.section-copy-v2018 h3{margin:4px 0 4px;font-size:19px;letter-spacing:-.035em}.section-copy-v2018 p{margin:0;color:#858e99;font-size:8.5px;line-height:1.5}.menu-settings-v2018{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.6fr);gap:26px 34px;padding-top:24px;border-top:1px solid #eceff2}.menu-settings-v2018>.section-copy-v2018{margin:0}.menu-settings-fields-v2018{display:grid;grid-template-columns:minmax(170px,.45fr) minmax(260px,1fr);gap:12px 14px}.menu-settings-fields-v2018 label{display:grid;gap:6px}.menu-settings-fields-v2018 label>span{font-size:8px;font-weight:800;color:#687380}.menu-settings-fields-v2018 input:not([type=color]),.menu-settings-fields-v2018 textarea{width:100%;border:1px solid #e0e4e8;border-radius:13px;background:#fff;padding:12px 13px;font:inherit;font-size:10px;color:#20262d;outline:0}.menu-settings-fields-v2018 input:focus,.menu-settings-fields-v2018 textarea:focus{border-color:#7c8794;box-shadow:0 0 0 3px rgba(17,24,32,.06)}.menu-settings-fields-v2018 .wide{grid-column:1/-1}.menu-accent-v2018>div{height:45px;display:flex;align-items:center;gap:10px;border:1px solid #e0e4e8;border-radius:13px;padding:6px 10px;background:#fff}.menu-accent-v2018 input[type=color]{width:34px;height:31px;border:0;background:transparent;padding:0}.menu-accent-v2018 b{font-size:8px;color:#6f7985}.menu-option-switches-v2018{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.menu-option-switches-v2018 label{cursor:pointer}.menu-option-switches-v2018 input{position:absolute;opacity:0;pointer-events:none}.menu-option-switches-v2018 label>span{position:relative;display:grid;gap:2px;min-height:64px;padding:11px 42px 11px 12px;border:1px solid #e4e7eb;border-radius:14px;background:#fff;transition:.14s}.menu-option-switches-v2018 label>span:after{content:"";position:absolute;right:12px;top:50%;translate:0 -50%;width:28px;height:16px;border-radius:999px;background:#d8dde2;box-shadow:inset 0 0 0 1px rgba(18,27,35,.06);transition:.15s}.menu-option-switches-v2018 label>span:before{content:"";position:absolute;z-index:2;right:25px;top:50%;translate:0 -50%;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.15s}.menu-option-switches-v2018 input:checked+span{border-color:#bdc6cf;background:#f7f8f9}.menu-option-switches-v2018 input:checked+span:after{background:#111820}.menu-option-switches-v2018 input:checked+span:before{right:14px}.menu-option-switches-v2018 b{font-size:8.5px}.menu-option-switches-v2018 small{font-size:7px;color:#929aa4;line-height:1.35}.menu-settings-actions-v2018{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid #eceff2}.menu-settings-actions-v2018>span{font-size:7.5px;color:#8e97a1}.kitchen-tv-row-v2018{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px;padding:20px 0;border-top:1px solid #e9ecef}.kitchen-tv-row-v2018>div:first-child{display:grid;grid-template-columns:50px minmax(0,1fr);gap:13px;align-items:center}.kitchen-tv-row-icon-v2018{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:#111820;color:#fff}.kitchen-tv-row-icon-v2018 .ui-icon{width:22px;height:22px}.kitchen-tv-row-v2018 h3{margin:3px 0;font-size:15px}.kitchen-tv-row-v2018 p{margin:0;color:#87909b;font-size:8px}.kitchen-tv-row-actions-v2018{display:flex!important;grid-template-columns:none!important;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.kitchen-tv-row-actions-v2018 form{margin:0}.provision-metrics-v2018{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-bottom:28px;border-bottom:1px solid #e8ebef}.provision-metrics-v2018>span{display:grid;gap:2px;padding:8px 18px 16px;border-left:1px solid #eceff2}.provision-metrics-v2018>span:first-child{border-left:0;padding-left:0}.provision-metrics-v2018 small{font-size:7.5px;color:#8c95a0}.provision-metrics-v2018 b{font-size:23px;letter-spacing:-.04em}.provision-create-v2018{display:grid;grid-template-columns:minmax(210px,.55fr) minmax(0,1.65fr);gap:30px;padding-bottom:28px;border-bottom:1px solid #e8ebef}.provision-create-v2018>.section-copy-v2018{margin:0}.provision-form-v2018{display:grid;grid-template-columns:1.2fr 1fr .7fr .7fr .65fr;gap:10px;align-items:end}.provision-form-v2018 label{display:grid;gap:6px;min-width:0}.provision-form-v2018 label>span{font-size:7.5px;font-weight:800;color:#687380}.provision-form-v2018 label>small{font-size:6.4px;color:#979fa9}.provision-form-v2018 input,.provision-form-v2018 select{width:100%;height:42px;border:1px solid #e0e4e8;border-radius:12px;background:#fff;padding:0 11px;font:inherit;font-size:9px;outline:0}.provision-form-v2018 input:focus,.provision-form-v2018 select:focus{border-color:#778390;box-shadow:0 0 0 3px rgba(17,24,32,.06)}.provision-submit-v2018{grid-column:1/-1;justify-self:end;margin-top:2px}.provision-list-v2018{padding-top:25px}.provision-table-v2018{min-width:760px}.provision-table-v2018 code{display:inline-flex;padding:5px 7px;border-radius:8px;background:#f1f3f5;color:#28313b;font-size:8px}.provision-empty-v2018{display:grid;gap:3px;padding:24px 4px;color:#86909c}.provision-empty-v2018 b{font-size:9px;color:#626d79}.provision-empty-v2018 span{font-size:7.5px}
/* İç içe kutu görünümünü azaltan ortak yüzey kuralları */
.card .card,.card .flat-section-v2013,.flat-section-v2013 .card,.modal-form-sheet .card,.workspace-content .card .card{background:transparent!important;border:0!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}.dashed-card,.info-dashed{border:0!important;background:#f4f6f8!important;box-shadow:none!important}.empty-state{border-style:solid!important;border-color:transparent!important;background:#f5f6f8!important;box-shadow:none!important}.workspace-content .card{box-shadow:none!important}.workspace-content .flat-section-v2013{box-shadow:none!important}.workspace-content hr{border-style:solid!important}.page-footer{border-top-style:solid!important}@media(max-width:980px){.menu-settings-v2018,.provision-create-v2018{grid-template-columns:1fr}.menu-option-switches-v2018{grid-column:1}.provision-form-v2018{grid-template-columns:1fr 1fr}.provision-submit-v2018{grid-column:1/-1}.provision-metrics-v2018{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.menu-design-hero-v2018,.provision-hero-v2018,.kitchen-tv-row-v2018{align-items:stretch;flex-direction:column}.menu-settings-fields-v2018{grid-template-columns:1fr}.menu-option-switches-v2018{grid-template-columns:1fr}.menu-settings-actions-v2018{align-items:stretch;flex-direction:column}.menu-settings-actions-v2018 .btn{width:100%}.provision-form-v2018{grid-template-columns:1fr}.provision-submit-v2018{grid-column:1;width:100%}.provision-metrics-v2018{grid-template-columns:1fr 1fr}.kitchen-tv-row-actions-v2018{justify-content:flex-start}}

/* Mira v0.20.19 — Süper Admin API merkezi */
.api-settings-hero-v2018{padding:2px 0 22px;margin-bottom:24px;border-bottom:1px solid #e8ebef}.api-settings-hero-v2018 h2{margin:4px 0 6px;font-size:30px;letter-spacing:-.05em}.api-settings-hero-v2018 p{max-width:820px;margin:0;color:#7c8691;font-size:9.5px;line-height:1.6}.api-settings-v2018{display:grid;gap:30px}.api-settings-v2018>section{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.5fr);gap:30px;padding-bottom:28px;border-bottom:1px solid #e9ecef}.api-settings-v2018 .section-copy-v2018{margin:0}.api-field-grid-v2018{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.api-field-grid-v2018 label{display:grid;gap:6px}.api-field-grid-v2018 label.wide{grid-column:1/-1}.api-field-grid-v2018 label>span{font-size:8px;font-weight:800;color:#687380}.api-field-grid-v2018 input,.api-field-grid-v2018 select,.api-field-grid-v2018 textarea{width:100%;border:1px solid #e0e4e8;border-radius:13px;background:#fff;padding:11px 12px;font:inherit;font-size:9px;color:#20262d;outline:0}.api-field-grid-v2018 textarea{resize:vertical;line-height:1.5}.api-field-grid-v2018 input:focus,.api-field-grid-v2018 select:focus,.api-field-grid-v2018 textarea:focus{border-color:#778390;box-shadow:0 0 0 3px rgba(17,24,32,.06)}.api-field-grid-v2018 small{font-size:6.8px;color:#939ba5;line-height:1.4}.api-settings-save-v2018{display:flex;align-items:center;justify-content:space-between;gap:18px}.api-settings-save-v2018>span{font-size:7.5px;color:#8c95a0}.api-log-v2018{margin-top:30px;padding-top:24px;border-top:1px solid #e8ebef}@media(max-width:920px){.api-settings-v2018>section{grid-template-columns:1fr}.api-field-grid-v2018{grid-template-columns:1fr}}@media(max-width:620px){.api-settings-save-v2018{align-items:stretch;flex-direction:column}.api-settings-save-v2018 .btn{width:100%}}

/* Mira v0.20.19 — kurum merkezi, hızlı filtreler, odalar ve acil durum */
.organization-module-bar-v2019{display:flex!important;align-items:center!important;gap:20px!important;margin:20px 0 28px!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important}
.organization-module-title-v2019{flex:0 0 auto;display:flex;align-items:center;gap:10px}.organization-module-title-v2019 .eyebrow{margin:0!important}.organization-module-title-v2019>b{font-size:8px;font-weight:750;color:#8b929c;background:#f1f3f5;border-radius:999px;padding:5px 8px}
.organization-module-icons-v2019{display:flex!important;align-items:center;gap:9px!important;overflow:visible!important;padding:8px 4px 14px!important;flex-wrap:wrap!important}
.organization-module-icons-v2019 .organization-module-item{position:relative;width:48px;height:48px;padding:0!important;display:grid!important;place-items:center!important;border:0!important;border-radius:15px!important;background:#f4f6f8!important;color:#1e252d!important;box-shadow:none!important;overflow:visible!important;cursor:default;transition:transform .16s ease,background .16s ease,color .16s ease}
.organization-module-icons-v2019 .organization-module-item:hover{z-index:20;transform:translateY(-3px);background:#171d24!important;color:#fff!important}
.organization-module-icons-v2019 .organization-module-item i{width:auto!important;height:auto!important;background:transparent!important;box-shadow:none!important;color:inherit!important;border-radius:0!important}.organization-module-icons-v2019 .organization-module-item .ui-icon{width:22px!important;height:22px!important}
.organization-module-icons-v2019 .organization-module-item b{display:none!important}.organization-module-icons-v2019 .organization-module-item:after{content:attr(data-label);position:absolute;left:50%;top:calc(100% + 8px);translate:-50% -3px;padding:6px 8px;border-radius:8px;background:#111820;color:#fff;font-size:7px;font-weight:700;letter-spacing:.01em;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:.14s ease;box-shadow:0 10px 24px rgba(17,24,32,.18)}.organization-module-icons-v2019 .organization-module-item:hover:after{opacity:1;visibility:visible;translate:-50% 0}
.organization-actions-shell-v2019{position:relative;margin-top:8px!important;padding:26px 28px 30px!important;border:0!important;border-radius:26px!important;background:linear-gradient(135deg,#111820,#1b2430)!important;color:#fff;overflow:hidden}.organization-actions-shell-v2019:after{content:"";position:absolute;right:-100px;top:-140px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand-accent) 42%,transparent),transparent 66%);pointer-events:none}.organization-actions-shell-v2019 .organization-actions-head{position:relative;z-index:1;margin-bottom:18px!important}.organization-actions-shell-v2019 .organization-actions-head .eyebrow{color:#9ca9b9!important}.organization-actions-shell-v2019 .organization-actions-head h3{font-size:26px!important;color:#fff!important;letter-spacing:-.045em!important}
.organization-action-grid-v2019{position:relative;z-index:1;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;border:0!important}.organization-action-grid-v2019 .organization-action{grid-template-columns:50px minmax(0,1fr) 24px!important;gap:12px!important;min-height:82px;padding:13px 14px!important;border:0!important;border-radius:17px!important;background:rgba(255,255,255,.055)!important;color:#fff!important;transition:transform .16s ease,background .16s ease!important}.organization-action-grid-v2019 .organization-action:hover{transform:translateY(-2px);background:rgba(255,255,255,.11)!important}.organization-action-grid-v2019 .organization-action-icon{width:48px!important;height:48px!important;border-radius:15px!important;background:rgba(255,255,255,.1)!important;color:#fff!important}.organization-action-grid-v2019 .organization-action-icon .ui-icon{width:21px!important;height:21px!important}.organization-action-grid-v2019 .organization-action b{font-size:10.5px!important;color:#fff!important}.organization-action-grid-v2019 .organization-action small{font-size:7.5px!important;color:#aeb8c4!important;line-height:1.38!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.organization-action-grid-v2019 .organization-action>i{color:#758292!important}

.rooms-command-head-v2019{margin-bottom:9px!important}.rooms-command-head-v2019 h2{margin-bottom:0!important}.room-filter-v2019{position:sticky;top:78px;z-index:24;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 22px;padding:9px 10px;border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 12px 34px rgba(20,28,38,.08);backdrop-filter:blur(18px)}
.room-live-search-v2019{min-width:min(430px,45vw);height:46px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:9px;padding:0 13px;border-radius:13px;background:#f3f5f7;color:#76808c}.room-live-search-v2019 .ui-icon{width:18px;height:18px}.room-live-search-v2019 input{width:100%;border:0;outline:0;background:transparent;color:#17202a;font:inherit;font-size:10px}.room-live-search-v2019 input::placeholder{color:#9aa2ab}.room-live-search-v2019>span{font-size:7.5px;font-weight:750;color:#707986;background:#fff;border-radius:999px;padding:5px 8px;white-space:nowrap}
.room-filter-states-v2019{display:flex;align-items:center;gap:5px}.room-filter-states-v2019 button{height:38px;display:flex;align-items:center;gap:6px;padding:0 11px;border:0;border-radius:11px;background:transparent;color:#747e89;font-size:8px;font-weight:700;cursor:pointer;transition:.14s ease}.room-filter-states-v2019 button:hover{background:#f1f3f5;color:#1d252e}.room-filter-states-v2019 button.active{background:#171d24;color:#fff}.room-filter-states-v2019 button i{width:7px;height:7px;border-radius:50%}.room-filter-states-v2019 button[data-room-state="occupied"] i{background:#27a96a}.room-filter-states-v2019 button[data-room-state="vacant"] i{background:#e89a2e}.room-filter-states-v2019 button[data-room-state="inactive"] i{background:#9ba3ad}
.room-door-grid-v2018{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;gap:14px 10px!important}.room-door-tile-v2018{padding:10px 4px 10px!important}.room-door-stage-v2018{width:92px!important;height:112px!important;perspective:260px!important}.room-door-frame-v2018{width:70px!important;height:102px!important;border-radius:12px 12px 4px 4px!important;border-width:2.4px!important}.room-door-frame-v2018:after{left:-9px!important;right:-9px!important;bottom:-6px!important;height:3px!important}.room-door-leaf-v2018{inset:5px 5px 3px!important;border-width:1.8px!important}.room-door-leaf-v2018 u{right:8px!important;width:5px!important;height:5px!important;margin-top:-2.5px!important}.room-device-dot-v2018{right:6px!important;bottom:5px!important;width:10px!important;height:10px!important}.room-door-info-v2018{gap:2px!important}.room-door-info-v2018>b{font-size:17px!important;font-weight:800!important}.room-door-info-v2018>small{font-size:8.6px!important}.room-door-info-v2018>span{font-size:7.4px!important}.room-door-guest-v2018{max-width:118px!important;font-size:7.2px!important}.room-door-tools-v2018{bottom:calc(100% - 2px)!important}.room-floor-v2015[hidden],.room-door-tile-v2018[hidden]{display:none!important}

.smart-filter-v2019{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:8px 10px;border-radius:15px;background:#f3f5f7}.smart-filter-v2019 label{flex:1;display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:center}.smart-filter-v2019 .ui-icon{width:16px;height:16px;color:#7d8792}.smart-filter-v2019 input{width:100%;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;padding:7px 0!important;font-size:9px!important}.smart-filter-v2019>span{font-size:7.5px;font-weight:750;color:#737d88;background:#fff;border-radius:999px;padding:5px 8px;white-space:nowrap}

.emergency-command-v2019{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.8fr) minmax(250px,.72fr);gap:14px;align-items:stretch;margin-bottom:24px}.emergency-command-copy-v2019,.emergency-safety-v2019,.emergency-trigger-v2019{min-height:150px;border-radius:24px}.emergency-command-copy-v2019{padding:24px 26px;background:linear-gradient(145deg,#171d24,#242d38);color:#fff}.emergency-command-copy-v2019 .eyebrow{color:#a8b3c0!important}.emergency-command-copy-v2019 h2{margin:6px 0 18px;font-size:31px;letter-spacing:-.05em}.emergency-status-line-v2019{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.emergency-status-line-v2019>span{display:inline-flex;align-items:center;gap:7px;font-size:8px;font-weight:800}.emergency-status-line-v2019>span i{width:8px;height:8px;border-radius:50%}.emergency-status-line-v2019 .safe i{background:#37bd78;box-shadow:0 0 0 5px rgba(55,189,120,.1)}.emergency-status-line-v2019 .alarm i{background:#ef5b55;box-shadow:0 0 0 5px rgba(239,91,85,.12);animation:emergencyPulse 1.6s infinite}.emergency-status-line-v2019 small{font-size:7.5px;color:#93a0ae}@keyframes emergencyPulse{50%{box-shadow:0 0 0 10px rgba(239,91,85,0)}}
.emergency-safety-v2019{padding:22px;display:flex;align-items:center;gap:14px;background:#fff4e8;color:#6a431a}.emergency-safety-v2019>span{flex:0 0 auto;width:50px;height:50px;display:grid;place-items:center;border-radius:16px;background:#fff;color:#b16b20}.emergency-safety-v2019 .ui-icon{width:23px;height:23px}.emergency-safety-v2019 b{display:block;font-size:10px;margin-bottom:4px}.emergency-safety-v2019 small{display:block;font-size:8px;line-height:1.5;color:#84603b}
.emergency-trigger-v2019{margin:0}.emergency-trigger-v2019 button{width:100%;height:100%;min-height:150px;border:0;border-radius:24px;padding:20px;display:grid;grid-template-columns:52px minmax(0,1fr);grid-template-rows:auto auto;column-gap:13px;align-items:center;text-align:left;background:#c83d3a;color:#fff;cursor:pointer;box-shadow:0 18px 42px rgba(180,48,45,.2);transition:.16s ease}.emergency-trigger-v2019 button:hover{transform:translateY(-2px);background:#b83431}.emergency-trigger-v2019 button>span{grid-row:1/3;width:52px;height:52px;display:grid;place-items:center;border-radius:17px;background:rgba(255,255,255,.14)}.emergency-trigger-v2019 .ui-icon{width:24px;height:24px}.emergency-trigger-v2019 b{font-size:11px}.emergency-trigger-v2019 small{font-size:7.5px;color:#ffd9d8;line-height:1.4}
.emergency-history-v2019{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.emergency-history-v2019 .section-head{margin-bottom:10px}.emergency-history-count-v2019{font-size:8px;color:#7c8691}.emergency-event-list-v2019{display:grid}.emergency-event-v2019{display:grid;grid-template-columns:44px minmax(0,1fr) auto 115px 38px;gap:11px;align-items:center;min-height:66px;padding:9px 4px;border-bottom:1px solid #edf0f2}.emergency-event-icon-v2019{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#eef7f2;color:#258458}.emergency-event-v2019.is-open .emergency-event-icon-v2019{background:#fff0ef;color:#be403c}.emergency-event-icon-v2019 .ui-icon{width:18px;height:18px}.emergency-event-main-v2019{display:grid;gap:2px}.emergency-event-main-v2019 b{font-size:9.5px}.emergency-event-main-v2019 small{font-size:7.5px;color:#8b949e}.emergency-event-state-v2019{font-size:7px;font-weight:800;padding:5px 8px;border-radius:999px;background:#edf7f1;color:#237653}.is-open .emergency-event-state-v2019{background:#fff0ef;color:#ad3935}.emergency-event-v2019 time{font-size:7.5px;color:#7f8994}.emergency-event-v2019 form{margin:0}

@media(max-width:1100px){.organization-action-grid-v2019{grid-template-columns:repeat(2,minmax(0,1fr))!important}.emergency-command-v2019{grid-template-columns:1fr 1fr}.emergency-command-copy-v2019{grid-column:1/-1}}
@media(max-width:760px){.organization-module-bar-v2019{align-items:flex-start!important;flex-direction:column!important;gap:7px!important}.organization-module-icons-v2019{width:100%;flex-wrap:nowrap!important;overflow-x:auto!important;padding-bottom:10px!important}.organization-module-icons-v2019 .organization-module-item{flex:0 0 46px}.organization-action-grid-v2019{grid-template-columns:1fr!important}.organization-actions-shell-v2019{padding:21px 15px 22px!important}.room-filter-v2019{top:66px;align-items:stretch;flex-direction:column}.room-live-search-v2019{min-width:0;width:100%}.room-filter-states-v2019{overflow-x:auto}.room-filter-states-v2019 button{flex:0 0 auto}.room-door-grid-v2018{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))!important}.room-door-stage-v2018{width:78px!important;height:96px!important}.room-door-frame-v2018{width:60px!important;height:86px!important}.room-door-info-v2018>b{font-size:15px!important}.room-door-info-v2018>small{font-size:8px!important}.room-door-info-v2018>span{font-size:7px!important}.emergency-command-v2019{grid-template-columns:1fr}.emergency-command-copy-v2019{grid-column:auto}.emergency-event-v2019{grid-template-columns:42px minmax(0,1fr) auto}.emergency-event-v2019 time{grid-column:2/3}.emergency-event-v2019 form{grid-column:3/4;grid-row:1/3}.emergency-event-state-v2019{grid-column:3/4;grid-row:1/2}.emergency-event-v2019 form:has(button){margin-top:24px}.smart-filter-v2019{position:sticky;top:68px;z-index:15}}

/* v0.20.22 mobil giriş ve PWA kurulum yüzeyi */
.login-install-inline{display:none;margin-top:18px}.login-install-inline[hidden],.login-install-dock[hidden]{display:none!important}.login-install-dock{display:none}.login-install-btn{width:100%;border:0;outline:0;min-height:62px;padding:14px 18px;border-radius:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#101820 0%,#1c3a63 52%,#4f46e5 100%);color:#fff;box-shadow:0 18px 38px rgba(18,28,40,.22),inset 0 1px 0 rgba(255,255,255,.12);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease;animation:miraInstallFloat 2.8s ease-in-out infinite}.login-install-btn:hover{transform:translateY(-2px);box-shadow:0 22px 42px rgba(18,28,40,.26),inset 0 1px 0 rgba(255,255,255,.14)}.login-install-btn .ui-icon{width:20px;height:20px;flex:0 0 20px}.login-install-btn>span{display:grid;justify-items:start;gap:2px;flex:1;text-align:left}.login-install-btn>span b{font-size:13px;line-height:1.1}.login-install-btn>span small{font-size:9px;color:rgba(255,255,255,.78)}.login-install-btn>strong{font-size:18px;line-height:1;color:rgba(255,255,255,.9)}@keyframes miraInstallFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}.ios-install-dialog{border:0;padding:0;background:transparent;max-width:min(92vw,420px);width:min(92vw,420px)}.ios-install-dialog::backdrop{background:rgba(5,12,24,.58);backdrop-filter:blur(8px)}.ios-install-card{position:relative;background:#fff;border-radius:28px;padding:26px 24px 20px;box-shadow:0 24px 80px rgba(17,24,39,.28);color:#111827}.ios-install-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:12px;background:#eef2f7;color:#111827;font-size:24px;cursor:pointer}.ios-install-badge{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#eef2ff,#dbeafe);color:#1d4ed8;margin-bottom:12px}.ios-install-badge .ui-icon{width:28px;height:28px}.ios-install-card h3{margin:8px 0 8px;font-size:26px;line-height:1.02;letter-spacing:-.04em}.ios-install-card p{margin:0 0 14px;color:#5b6572;font-size:12px;line-height:1.6}.ios-install-card ol{margin:0;padding:0;list-style:none;display:grid;gap:10px}.ios-install-card ol li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;padding:10px 12px;border-radius:16px;background:#f7f8fa;font-size:12px;color:#2b3440}.ios-install-card ol li::before{counter-increment:mira-ios-step;content:counter(mira-ios-step);width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#111827;color:#fff;font-size:11px;font-weight:800}.ios-install-card ol{counter-reset:mira-ios-step}.ios-install-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.login-v10-panel{align-items:center}.login-v10-form-wrap{position:relative;z-index:1}.login-v10-panel:after{content:"";position:absolute;inset:auto 38px 38px 38px;height:120px;border-radius:32px;background:radial-gradient(circle at center,rgba(79,70,229,.10),transparent 72%);pointer-events:none}.login-v10-form-wrap .field input{border-radius:18px!important}.login-submit{border-radius:18px!important}@media(min-width:761px){.login-install-inline{display:block}}@media(max-width:760px){body.auth-body,body.auth-body .auth-main{overflow:hidden!important}.login-v10{grid-template-columns:1fr!important;grid-template-rows:auto 1fr;min-height:100dvh!important;overflow:hidden}.login-v10-stage{min-height:auto!important;padding:18px 18px 10px!important;display:block!important}.login-v10-brand{gap:10px!important}.login-v10-mark{width:40px!important;height:40px!important;font-size:16px!important}.login-v10-brand small{font-size:8px!important}.login-v10-message{margin-top:14px!important}.login-v10-message .eyebrow{font-size:8px!important}.login-v10-message h1{font-size:clamp(30px,9vw,42px)!important;line-height:.92!important;margin:8px 0 8px!important}.login-v10-message p{font-size:10px!important;line-height:1.55!important;max-width:none!important}.login-v10-board,.login-v10-footer{display:none!important}.login-v10-panel{min-height:0!important;padding:12px 18px 96px!important;place-items:start center!important}.login-v10-form-wrap{width:min(100%,460px)!important}.login-v10-form-head{margin-bottom:14px!important}.login-v10-form-head .eyebrow{font-size:8px!important}.login-v10-form-head h2{font-size:29px!important;line-height:1.02!important;margin:5px 0 6px!important}.login-v10-form-head p{font-size:10px!important;line-height:1.55!important}.login-v10-form{gap:11px!important}.login-v10-form .field label{font-size:10px!important}.login-v10-form input{min-height:50px!important;font-size:13px!important}.login-submit{min-height:50px!important;font-size:12px!important}.login-v10-security{margin-top:10px!important;padding-top:10px!important}.login-v10-security span{font-size:9.5px!important}.login-v10-security small{font-size:8px!important}.login-install-inline{display:none!important}.login-install-dock{display:block;position:fixed;left:14px;right:14px;bottom:max(12px,env(safe-area-inset-bottom));z-index:80}.login-install-btn{min-height:58px;border-radius:20px;padding:12px 16px}.login-install-btn>span b{font-size:12.5px}.login-install-btn>span small{font-size:8.6px}.ios-install-dialog{width:min(94vw,390px);max-width:min(94vw,390px)}.ios-install-card{padding:22px 18px 18px}.ios-install-card h3{font-size:22px}}

/* v0.20.23 · Oda QR üretim yüzeyi */
.qr-page-head-v2023{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin:0 0 16px;padding:2px 0 17px;border-bottom:1px solid #e7eaee}.qr-page-copy-v2023 h2{margin:4px 0 5px;font-size:clamp(25px,3vw,35px);line-height:1;letter-spacing:-.045em}.qr-page-copy-v2023 p{margin:0;color:#76808b;font-size:10.5px;line-height:1.55}.qr-page-stats-v2023{display:grid;grid-template-columns:repeat(2,92px);gap:8px}.qr-page-stats-v2023>span{min-height:62px;padding:10px 12px;border:1px dashed #cdd4dc;border-radius:15px;background:linear-gradient(180deg,#fff,#f8fafb);display:flex;flex-direction:column;justify-content:space-between}.qr-page-stats-v2023 small{font-size:7px;font-weight:800;letter-spacing:.12em;color:#8f98a3}.qr-page-stats-v2023 b{font-size:21px;line-height:1;color:#171d24;letter-spacing:-.04em}.qr-studio-v2023{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 0 18px;border:1px solid #dfe4e9;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 16px 38px rgba(21,29,40,.055)}.qr-studio-panel-v2023{min-width:0;padding:18px;display:grid;grid-template-rows:auto 1fr;gap:17px;background:#fff}.qr-studio-panel-v2023+form{border-left:1px solid #e7ebef}.qr-studio-panel-v2023.bulk{background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)}.qr-studio-head-v2023{display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;align-items:center}.qr-studio-icon-v2023{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#f0f3f6;color:#252d36}.qr-studio-icon-v2023 .ui-icon{width:21px;height:21px}.qr-studio-panel-v2023.bulk .qr-studio-icon-v2023{background:#eef1ff;color:#5547d9}.qr-studio-head-v2023>div{display:grid;gap:2px}.qr-studio-head-v2023 b{font-size:12px;line-height:1.2;color:#20272f}.qr-studio-head-v2023 small{font-size:8.5px;line-height:1.45;color:#858e98}.qr-single-row-v2023,.qr-bulk-row-v2023{align-self:end;display:grid;align-items:end;gap:9px}.qr-single-row-v2023{grid-template-columns:minmax(0,1fr) auto}.qr-bulk-row-v2023{grid-template-columns:minmax(190px,1.05fr) minmax(150px,.8fr) auto}.qr-single-row-v2023 label,.qr-bulk-row-v2023 label{display:grid;gap:6px;min-width:0}.qr-single-row-v2023 label>span,.qr-bulk-row-v2023 label>span{font-size:6.8px;letter-spacing:.12em;font-weight:800;color:#9199a3}.qr-single-row-v2023 select,.qr-bulk-row-v2023 input,.qr-range-v2023 input{width:100%;height:48px!important;min-height:48px!important;border:1px solid #dce1e6!important;border-radius:13px!important;background:#f8f9fb!important;padding:0 13px!important;font-size:10px!important;color:#252d36!important;box-shadow:none!important;outline:none;transition:.15s ease}.qr-single-row-v2023 select:focus,.qr-bulk-row-v2023 input:focus,.qr-range-v2023 input:focus{border-color:#8f98a3!important;background:#fff!important;box-shadow:0 0 0 3px rgba(28,38,50,.055)!important}.qr-range-v2023{display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:5px;align-items:center}.qr-range-v2023 i{font-style:normal;text-align:center;color:#98a0a9;font-size:13px}.qr-action-v2023{height:48px!important;min-height:48px!important;padding:0 16px!important;border-radius:13px!important;white-space:nowrap!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;font-size:9px!important;font-weight:800!important;box-shadow:0 8px 18px rgba(17,24,32,.12)!important}.qr-action-v2023 .ui-icon{width:15px;height:15px}.qr-studio-panel-v2023.bulk .qr-action-v2023{background:#171d24!important;color:#fff!important}.qr-studio-panel-v2023.single .qr-action-v2023{background:var(--brand-accent)!important;color:#fff!important}
@media(max-width:1080px){.qr-bulk-row-v2023{grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr)}.qr-bulk-row-v2023>.qr-action-v2023{grid-column:1/-1;width:100%!important}}
@media(max-width:820px){.qr-page-head-v2023{grid-template-columns:1fr}.qr-page-stats-v2023{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.qr-studio-v2023{grid-template-columns:1fr}.qr-studio-panel-v2023+form{border-left:0;border-top:1px solid #e7ebef}.qr-bulk-row-v2023{grid-template-columns:1fr 1fr auto}.qr-bulk-row-v2023>.qr-action-v2023{grid-column:auto;width:auto!important}}
@media(max-width:620px){.qr-page-copy-v2023 p{font-size:9.5px}.qr-page-stats-v2023>span{min-height:56px}.qr-studio-panel-v2023{padding:15px}.qr-single-row-v2023,.qr-bulk-row-v2023{grid-template-columns:1fr}.qr-action-v2023,.qr-bulk-row-v2023>.qr-action-v2023{width:100%!important}.qr-range-v2023{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)}}

/* v0.20.24 · alerjen kataloğu, modül düzeni ve mobil giriş */
.module-policy-form .module-license-card.module-license-composite.has-features{grid-column:1/-1!important;display:block!important;padding:0!important;overflow:hidden!important;background:#fff!important;border:1px solid #e5e9ee!important;border-radius:22px!important;box-shadow:0 12px 32px rgba(18,26,36,.045)!important}
.module-policy-form .module-license-composite.has-features .module-license-main{display:grid!important;grid-template-columns:64px minmax(0,1fr) 104px!important;gap:16px!important;align-items:center!important;padding:18px 20px!important;background:#f7f8fa!important}
.module-policy-form .module-license-composite.has-features .module-license-icon{width:56px!important;height:56px!important;border-radius:17px!important}
.module-policy-form .module-license-composite.has-features .module-license-copy{min-width:0!important}.module-policy-form .module-license-composite.has-features .module-license-copy b{font-size:14px!important}.module-policy-form .module-license-composite.has-features .module-license-copy small{font-size:10px!important;line-height:1.45!important;display:block!important;max-width:980px!important}
.module-policy-form .module-subfeatures{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;padding:8px 18px 18px!important;background:#fff!important}.module-policy-form .module-feature-group-title{grid-column:1/-1!important;margin:13px 0 5px!important;padding:0 4px!important;font-size:9px!important;font-weight:800!important;letter-spacing:.08em!important;color:#7b8591!important;text-transform:uppercase!important}.module-policy-form .feature-toggle{min-width:0!important;margin:0!important;padding:12px 12px!important;border:0!important;border-bottom:1px solid #edf0f3!important;border-radius:0!important;background:transparent!important;display:grid!important;grid-template-columns:minmax(0,1fr) 34px!important;gap:10px!important;align-items:center!important}.module-policy-form .feature-toggle:hover{background:#f8fafb!important}.module-policy-form .feature-toggle span{min-width:0!important}.module-policy-form .feature-toggle b{font-size:10.5px!important;line-height:1.3!important}.module-policy-form .feature-toggle small{font-size:8.5px!important;line-height:1.45!important;color:#7e8792!important;display:block!important;margin-top:3px!important}.module-policy-form .feature-toggle i{justify-self:end!important}
.allergen-catalog-hero-v2024{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px}.allergen-catalog-hero-v2024 h2{margin:4px 0 5px;font-size:30px;letter-spacing:-.04em}.allergen-catalog-hero-v2024 p{margin:0;max-width:760px;color:#77818c;font-size:10px;line-height:1.55}.allergen-catalog-layout-v2024{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:18px;align-items:start}.allergen-create-v2024{display:grid;gap:14px;padding:20px;border-radius:22px;background:#111820;color:#fff}.allergen-create-v2024 h3{margin:4px 0 5px;font-size:22px}.allergen-create-v2024 p{margin:0;color:#aeb8c3;font-size:9px;line-height:1.5}.allergen-create-v2024 label,.allergen-edit-row-v2024 label{display:grid;gap:5px}.allergen-create-v2024 label>span,.allergen-edit-row-v2024 label>span{font-size:7px;font-weight:800;letter-spacing:.08em;color:#9aa5b2}.allergen-create-v2024 input,.allergen-create-v2024 textarea,.allergen-create-v2024 select{width:100%;border:0;border-radius:13px;background:#202832;color:#fff;min-height:46px;padding:11px 12px;outline:0}.allergen-create-v2024 textarea{resize:vertical}.allergen-create-bottom-v2024{display:grid;grid-template-columns:1fr 86px auto;gap:9px;align-items:end}.allergen-library-v2024{min-width:0}.allergen-edit-list-v2024{display:grid}.allergen-edit-row-v2024{display:grid;grid-template-columns:42px minmax(130px,.55fr) minmax(220px,1fr) 74px 70px 38px 38px;gap:9px;align-items:end;padding:10px 0;border-bottom:1px solid #e8ecf0}.allergen-edit-icon-v2024{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#f2f4f7;color:#58626e}.allergen-edit-icon-v2024 .ui-icon{width:18px;height:18px}.allergen-edit-row-v2024 input{min-width:0;height:42px;border:1px solid #e0e5ea;border-radius:11px;background:#fff;padding:0 10px}.allergen-edit-row-v2024 .state{align-self:center;justify-items:center;gap:3px}.allergen-edit-row-v2024 .state input{width:18px;height:18px}.standard-allergens-v2024{margin-top:22px}.standard-allergens-v2024>div:last-child{display:flex;flex-wrap:wrap;gap:7px}.standard-allergens-v2024>div:last-child>span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:#f3f5f7;color:#535e6a;font-size:8px}.standard-allergens-v2024 .ui-icon{width:13px;height:13px}.allergen-picker-section-v2024+.allergen-picker-section-v2024{margin-top:18px}.allergen-admin-grid.custom .allergen-check>span{min-height:78px;align-items:start}.allergen-admin-grid.custom .allergen-check small{display:block;margin-top:3px;font-size:7px;color:#8a939e;line-height:1.35}
.login-v10-mark{overflow:hidden!important;background:#fff!important;border-radius:14px!important;box-shadow:0 8px 24px rgba(0,0,0,.12)!important}.login-v10-mark img{width:100%;height:100%;object-fit:cover;display:block}.login-install-glyph{position:relative;width:32px;height:32px;border-radius:11px;display:grid;place-items:center;flex:0 0 32px;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);overflow:hidden}.login-install-glyph i{position:absolute;left:50%;top:7px;width:3px;height:13px;border-radius:999px;background:#fff;transform:translateX(-50%);animation:miraInstallArrow 1.55s ease-in-out infinite}.login-install-glyph i:after{content:"";position:absolute;left:50%;bottom:-1px;width:8px;height:8px;border-right:3px solid #fff;border-bottom:3px solid #fff;transform:translateX(-50%) rotate(45deg)}.login-install-glyph u{position:absolute;left:7px;right:7px;bottom:6px;height:8px;border:2px solid rgba(255,255,255,.82);border-top:0;border-radius:0 0 6px 6px;text-decoration:none}.login-install-glyph:after{content:"";position:absolute;inset:-18px;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.45) 48%,transparent 64%);transform:translateX(-140%);animation:miraInstallShine 2.9s ease-in-out infinite}@keyframes miraInstallArrow{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,3px)}}@keyframes miraInstallShine{0%,55%{transform:translateX(-140%)}78%,100%{transform:translateX(140%)}}
@media(max-width:1200px){.module-policy-form .module-subfeatures{grid-template-columns:repeat(2,minmax(0,1fr))!important}.allergen-catalog-layout-v2024{grid-template-columns:1fr}.allergen-edit-row-v2024{grid-template-columns:42px minmax(120px,.55fr) minmax(200px,1fr) 70px 64px 38px 38px}}
@media(max-width:760px){body.app-guest{height:100svh!important;min-height:100svh!important;overflow:hidden!important;background:#f5f7fa!important}.app-guest .auth-main{height:100svh!important;min-height:100svh!important;overflow:hidden!important}.login-v10{height:100svh!important;min-height:100svh!important;grid-template-rows:66px minmax(0,1fr)!important;background:#f5f7fa!important}.login-v10-stage{height:66px!important;min-height:66px!important;padding:12px 16px!important;display:flex!important;align-items:center!important;background:linear-gradient(135deg,#101820,#1c2b3a)!important}.login-v10-brand{align-self:auto!important}.login-v10-mark{width:42px!important;height:42px!important}.login-v10-message,.login-v10-board,.login-v10-footer{display:none!important}.login-v10-panel{height:calc(100svh - 66px)!important;min-height:0!important;padding:18px 16px calc(86px + env(safe-area-inset-bottom))!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#f5f7fa!important}.login-v10-panel:before,.login-v10-panel:after{display:none!important}.login-v10-form-wrap{width:min(100%,430px)!important}.login-v10-form-head{margin-bottom:14px!important}.login-v10-form-head h2{font-size:30px!important;margin:4px 0 5px!important}.login-v10-form-head p{font-size:9.5px!important;line-height:1.45!important;max-width:350px!important}.login-v10-form{gap:9px!important}.login-v10-form input{min-height:48px!important;border-radius:15px!important}.login-submit{min-height:48px!important;border-radius:15px!important}.login-v10-security{margin-top:9px!important;padding-top:9px!important}.login-v10-security small{display:none!important}.login-install-dock{left:12px!important;right:12px!important;bottom:max(10px,env(safe-area-inset-bottom))!important}.login-install-btn{min-height:60px!important;border-radius:19px!important;padding:11px 14px!important}.login-install-glyph{width:34px;height:34px;flex-basis:34px}.module-policy-form .module-license-composite.has-features .module-license-main{grid-template-columns:48px minmax(0,1fr)!important;padding:13px!important;gap:11px!important}.module-policy-form .module-license-composite.has-features .module-switch{grid-column:1/-1!important;width:100%!important;height:38px!important}.module-policy-form .module-subfeatures{grid-template-columns:1fr!important;padding:5px 12px 13px!important}.allergen-catalog-hero-v2024{align-items:flex-start;flex-direction:column}.allergen-create-bottom-v2024{grid-template-columns:1fr 80px}.allergen-create-bottom-v2024 .btn{grid-column:1/-1}.allergen-edit-row-v2024{grid-template-columns:38px minmax(0,1fr) 38px 38px;align-items:center}.allergen-edit-row-v2024 .desc{grid-column:2/-1}.allergen-edit-row-v2024 .short{grid-column:2/3}.allergen-edit-row-v2024 .state{grid-column:3/4}.allergen-edit-icon-v2024{width:38px;height:38px}}
@media(max-width:390px), (max-height:680px) and (max-width:760px){.login-v10-panel{padding-top:10px!important;align-items:flex-start!important}.login-v10-form-head p{display:none!important}.login-v10-form-head{margin-bottom:9px!important}.login-v10-form-head h2{font-size:26px!important}.login-v10-security{display:none!important}.login-install-btn>span small{display:none!important}}

/* Mira v0.20.25 — cihaz keşfi / atanmamış havuzu */
.device-fleet-hero-v2025{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(250px,340px);gap:18px;align-items:center;padding:22px 0 18px;border-bottom:1px solid #e5e9ee}.device-fleet-hero-v2025>.device-fleet-hero-icon{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;background:#111820;color:#fff}.device-fleet-hero-v2025>.device-fleet-hero-icon .ui-icon{width:30px;height:30px}.device-fleet-hero-v2025 h2{margin:4px 0 5px;font-size:29px;letter-spacing:-.045em}.device-fleet-hero-v2025 p{margin:0;max-width:850px;color:#737d88;font-size:10px;line-height:1.6}.device-discovery-state-v2025{justify-self:end;display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;align-items:center;padding:12px 14px;border-radius:16px;background:#f4f6f8}.device-discovery-state-v2025>i{width:9px;height:9px;border-radius:50%;background:#9aa3ad}.device-discovery-state-v2025.on>i{background:#20a568;box-shadow:0 0 0 5px rgba(32,165,104,.10);animation:miraDiscoveryPulse 2s ease-in-out infinite}.device-discovery-state-v2025.off>i{background:#d3822c}.device-discovery-state-v2025 span{display:grid;gap:2px}.device-discovery-state-v2025 b{font-size:9px}.device-discovery-state-v2025 small{font-size:7.5px;color:#89919b;line-height:1.35}@keyframes miraDiscoveryPulse{50%{box-shadow:0 0 0 9px rgba(32,165,104,0)}}
.device-pending-pool-v2025{margin-top:18px;padding:20px;border-radius:24px;background:linear-gradient(145deg,#111820,#182431);color:#fff;box-shadow:0 20px 60px rgba(17,24,32,.14);transition:.2s}.device-pending-pool-v2025.has-new-device{box-shadow:0 0 0 3px rgba(67,211,142,.32),0 20px 60px rgba(17,24,32,.18)}.device-pending-title-v2025,.device-inventory-title-v2025{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.device-pending-title-v2025 .eyebrow{color:#8190a0!important}.device-pending-title-v2025 h3,.device-inventory-title-v2025 h3{margin:3px 0 0;font-size:20px;letter-spacing:-.035em}.device-pending-title-v2025>strong,.device-inventory-title-v2025>strong{font-size:34px;line-height:1;letter-spacing:-.06em}.device-pending-grid-v2025{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.device-pending-unit-v2025{min-width:0;padding:15px;border-radius:18px;background:#fff;color:#17202a}.device-pending-unit-v2025>header{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:11px;align-items:center;padding-bottom:12px;border-bottom:1px solid #edf0f3}.device-pending-kind-v2025{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#eef2f6;color:#17202a}.device-pending-kind-v2025 .ui-icon{width:23px;height:23px}.device-pending-unit-v2025 header>div{min-width:0}.device-pending-unit-v2025 header small{display:block;font-size:7px;letter-spacing:.12em;color:#89919b;font-weight:800}.device-pending-unit-v2025 header h4{margin:3px 0 2px;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-pending-unit-v2025 header p{margin:0;font-size:7.5px;color:#8a939e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-trust-v2025{align-self:start;padding:6px 8px;border-radius:999px;background:#eef1f4;color:#64707c;font-size:6.7px;font-weight:800;white-space:nowrap}.device-trust-v2025.trust-discovered{background:#fff2d8;color:#9a6518}.device-trust-v2025.trust-provisioned{background:#e7f7ef;color:#15764b}.device-pending-facts-v2025{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:11px 0}.device-pending-facts-v2025 span{display:grid;gap:2px;min-width:0}.device-pending-facts-v2025 small{font-size:6.7px;color:#9aa2ab}.device-pending-facts-v2025 b{font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-assign-form-v2025{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:3px}.device-assign-form-v2025 label{display:grid;gap:5px;min-width:0}.device-assign-form-v2025 label>span:first-child{font-size:7px;font-weight:750;color:#747e89}.device-assign-form-v2025 input[type=text],.device-assign-form-v2025 input:not([type]),.device-assign-form-v2025 select{width:100%;min-height:42px;border:1px solid #dde2e7;border-radius:12px;background:#f8f9fa;padding:0 11px;font-size:9px;color:#1c2530;outline:0}.device-assign-form-v2025 input:focus,.device-assign-form-v2025 select:focus{border-color:#77818c;box-shadow:0 0 0 3px rgba(17,24,32,.06)}.device-assign-form-v2025 .wide{grid-column:1/-1}.device-assign-form-v2025.is-master .device-room-target,.device-assign-form-v2025.is-master .device-location-target{display:none}.device-physical-confirm-v2025{grid-template-columns:24px minmax(0,1fr)!important;align-items:center!important;padding:9px 10px;border-radius:12px;background:#fff8e7}.device-physical-confirm-v2025 input{width:18px;height:18px}.device-physical-confirm-v2025>span{display:grid!important;gap:1px}.device-physical-confirm-v2025 b{font-size:8.5px}.device-physical-confirm-v2025 small{font-size:7px;color:#8b6a31}.device-assign-form-v2025>.btn{min-height:44px;justify-content:center;border-radius:12px}.device-pending-empty-v2025{grid-column:1/-1;min-height:156px;display:grid;grid-template-columns:68px minmax(0,1fr);place-content:center;align-items:center;gap:16px;border-radius:18px;background:rgba(255,255,255,.06);color:#fff}.device-radar-v2025{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);position:relative}.device-radar-v2025:after{content:"";position:absolute;inset:-7px;border:1px solid rgba(116,226,174,.25);border-radius:50%;animation:miraDiscoveryRadar 2.4s ease-out infinite}.device-radar-v2025 .ui-icon{width:26px;height:26px;color:#6fe0ab}.device-pending-empty-v2025 b{display:block;font-size:13px}.device-pending-empty-v2025 small{display:block;margin-top:3px;color:#98a5b3;font-size:8px}@keyframes miraDiscoveryRadar{0%{transform:scale(.8);opacity:1}100%{transform:scale(1.35);opacity:0}}
.device-inventory-shell-v2025{margin-top:18px}.device-inventory-title-v2025{padding:0 2px 9px;border-bottom:1px solid #e7ebef}.device-inventory-title-v2025 .eyebrow{color:#8c949d!important}.device-inventory-title-v2025>strong{color:#adb4bc}.device-recovery-window-v2025{margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:#fff6de;color:#59431b}.device-recovery-window-v2025>div{display:grid;gap:2px}.device-recovery-window-v2025 b{font-size:9px}.device-recovery-window-v2025 span{font-size:7.5px;color:#8a6b32}.device-recovery-window-v2025.compact{background:#f4f6f8;color:#26313c}.device-recovery-window-v2025.compact span{color:#89919b}
@media(max-width:1100px){.device-fleet-hero-v2025{grid-template-columns:64px minmax(0,1fr)}.device-discovery-state-v2025{grid-column:1/-1;justify-self:stretch}.device-pending-grid-v2025{grid-template-columns:1fr}}
@media(max-width:680px){.device-fleet-hero-v2025{grid-template-columns:54px minmax(0,1fr);gap:12px}.device-fleet-hero-v2025>.device-fleet-hero-icon{width:54px;height:54px;border-radius:17px}.device-fleet-hero-v2025 h2{font-size:23px}.device-fleet-hero-v2025 p{display:none}.device-pending-pool-v2025{padding:14px;border-radius:20px}.device-pending-unit-v2025{padding:12px}.device-pending-unit-v2025>header{grid-template-columns:46px minmax(0,1fr)}.device-pending-kind-v2025{width:46px;height:46px}.device-trust-v2025{grid-column:2;justify-self:start}.device-pending-facts-v2025{grid-template-columns:1fr 1fr}.device-pending-facts-v2025 span:last-child{display:none}.device-assign-form-v2025{grid-template-columns:1fr}.device-assign-form-v2025 .wide{grid-column:auto}.device-recovery-window-v2025{align-items:stretch;flex-direction:column}.device-recovery-window-v2025 form,.device-recovery-window-v2025 .btn{width:100%}}

/* v0.20.27 · Süper Admin cihaz düzenleme / tam sıfırlama */
.device-pending-head-actions-v2026{align-self:start;display:grid;justify-items:end;gap:7px;min-width:max-content}.device-card-tools-v2026{display:flex;align-items:center;justify-content:flex-end;gap:5px}.device-card-tools-v2026 form{margin:0}.device-card-tools-v2026 .icon-action{width:34px;height:34px;border-radius:11px;background:#f4f6f8;color:#27313c;border:0;display:grid;place-items:center;text-decoration:none;cursor:pointer;transition:.14s ease}.device-card-tools-v2026 .icon-action:hover{background:#e9edf1;transform:translateY(-1px)}.device-card-tools-v2026 .icon-action.danger{background:#fff0f0;color:#c82d37}.device-card-tools-v2026 .icon-action.danger:hover{background:#ffe1e3}.device-card-tools-v2026 .ui-icon{width:15px;height:15px}.device-inventory-actions>.btn,.device-inventory-actions>form>.btn{min-height:39px;border-radius:11px}.device-inventory-actions>form>.btn.danger{background:#fff0f0!important;color:#b92732!important;border:1px solid #ffd7da!important;box-shadow:none!important}.device-inventory-actions>form>.btn.danger:hover{background:#ffe3e5!important}@media(max-width:680px){.device-pending-unit-v2025>header{grid-template-columns:46px minmax(0,1fr) auto!important}.device-pending-head-actions-v2026{grid-column:3;grid-row:1;align-self:start}.device-pending-head-actions-v2026 .device-trust-v2025{display:none}.device-card-tools-v2026{flex-direction:column}.device-inventory-actions{display:grid!important;grid-template-columns:1fr!important}.device-inventory-actions>a,.device-inventory-actions>form,.device-inventory-actions>form>.btn{width:100%!important}}

.device-hard-delete-v2026{margin-top:9px;padding-top:9px;border-top:1px solid #e2e6ea}.device-hard-delete-v2026 .btn{width:100%;justify-content:center;background:#fff0f0!important;color:#b92732!important;border:1px solid #ffd7da!important;box-shadow:none!important}

/* v0.20.29 · Mira cihaz merkezi, ön kayıt ve canlı radar */
.device-fleet-page{display:grid;gap:18px}.device-fleet-hero-v2025{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 24px;border:1px solid #e5e9ee;border-radius:24px;background:#fff;box-shadow:0 12px 34px rgba(17,24,32,.055)}.device-fleet-hero-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:#111820;color:#fff}.device-fleet-hero-icon .ui-icon{width:28px;height:28px}.device-fleet-hero-v2025 h2{margin:4px 0 6px;font-size:28px;letter-spacing:-.045em}.device-fleet-hero-v2025 p{margin:0;max-width:760px;color:#7a8490;font-size:10px;line-height:1.65}.device-discovery-state-v2025{display:grid;grid-template-columns:10px minmax(0,1fr);gap:9px;align-items:center;padding:11px 13px;border-radius:15px;background:#f4f6f8}.device-discovery-state-v2025>i{width:9px;height:9px;border-radius:50%;background:#9aa3ad}.device-discovery-state-v2025.on>i{background:#30af70;box-shadow:0 0 0 6px rgba(48,175,112,.12)}.device-discovery-state-v2025 span{display:grid;gap:2px}.device-discovery-state-v2025 b{font-size:8px}.device-discovery-state-v2025 small{font-size:7px;color:#8a929d}
.device-pre-register-v2028{display:grid;grid-template-columns:minmax(230px,.62fr) minmax(0,1.38fr);gap:24px;align-items:start;padding:22px 24px;border:1px solid #e6eaee;border-radius:24px;background:#fff}.device-pre-register-copy{padding:3px 0}.device-pre-register-copy h3{margin:5px 0 7px;font-size:21px;letter-spacing:-.04em}.device-pre-register-copy p{margin:0;color:#7d8792;font-size:9px;line-height:1.65}.device-pre-register-form-v2028{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.device-pre-register-form-v2028 label{display:grid;gap:5px;min-width:0}.device-pre-register-form-v2028 label>span{font-size:7.5px;font-weight:800;color:#6f7984}.device-pre-register-form-v2028 input,.device-pre-register-form-v2028 select{width:100%;min-height:44px;border:1px solid #dfe4e9;border-radius:13px;background:#f8f9fb;padding:0 12px;font:inherit;font-size:9px;color:#1c2530;outline:0;transition:.15s}.device-pre-register-form-v2028 input:focus,.device-pre-register-form-v2028 select:focus{border-color:#8b95a1;background:#fff;box-shadow:0 0 0 3px rgba(30,41,59,.06)}.device-pre-register-form-v2028>.btn{grid-column:4;min-height:44px;align-self:end;justify-content:center;border-radius:13px}
.device-pending-pool-v2025{margin-top:0!important;padding:20px 22px!important;border:1px solid #e6eaee!important;border-radius:24px!important;background:#fff!important;color:#18212a!important;box-shadow:none!important}.device-pending-title-v2025 .eyebrow{color:#929aa4!important}.device-pending-empty-v2025{background:#f7f8fa!important;color:#202a34!important;border:1px solid #eceff2!important}.device-pending-empty-v2025 small{color:#89929d!important}.device-radar-v2025{background:#edf7f2!important}.device-pending-grid-v2025{grid-template-columns:repeat(2,minmax(0,1fr))!important}.device-pending-unit-v2025{border:1px solid #e6eaee!important;box-shadow:none!important}.device-recovery-window-v2025{border:1px solid #f2dfae}.device-inventory-shell-v2025{margin-top:0!important;padding:20px 22px;border:1px solid #e6eaee;border-radius:24px;background:#fff}.device-inventory-title-v2025{border-bottom:0!important;padding:0 0 13px!important}.device-inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.device-inventory-card{display:grid;gap:13px;min-width:0;padding:17px;border:1px solid #e5e9ee;border-radius:20px;background:#fbfcfd;box-shadow:none}.device-inventory-card-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:center}.device-inventory-card-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#111820;color:#fff}.device-inventory-card-icon .ui-icon{width:21px;height:21px}.device-inventory-card-title{display:grid;min-width:0}.device-inventory-card-title small{font-size:7px;font-weight:800;letter-spacing:.09em;color:#8b949e}.device-inventory-card-title b{font-size:12px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-inventory-card-title em{font-size:7px;font-style:normal;color:#8b949e;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-inventory-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.device-inventory-meta>span{display:grid;gap:3px;padding:10px 11px;border-radius:13px;background:#f2f4f6;min-width:0}.device-inventory-meta small{font-size:6.8px;color:#929aa4}.device-inventory-meta b{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-inventory-technical{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center}.device-inventory-technical>span{font-size:7px;font-weight:800;color:#89919b}.device-inventory-technical code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px 10px;border-radius:10px;background:#eef1f4;font-size:7px;color:#4f5965}.device-inventory-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:2px}.device-inventory-actions form{margin:0}.device-empty-state{grid-column:1/-1;display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center;min-height:130px;padding:20px;border:1px solid #e8ebef;border-radius:18px;background:#fafbfc}.device-empty-state>span{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#eef2f5}.device-empty-state b{font-size:11px}.device-empty-state small{display:block;margin-top:3px;font-size:8px;color:#8a939d}
.device-radar-v2028{padding:20px 22px;border:1px solid #e6eaee;border-radius:24px;background:#fff}.device-radar-head-v2028{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.device-radar-head-v2028 h3{margin:4px 0 4px;font-size:21px;letter-spacing:-.04em}.device-radar-head-v2028 p{margin:0;color:#818b96;font-size:8.5px}.device-radar-master-actions-v2028{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.device-radar-master-actions-v2028 .btn[aria-disabled="true"]{opacity:.45;pointer-events:none}.device-radar-grid-v2028{display:grid;gap:8px}.device-radar-unit-v2028{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 13px;border:1px solid #e7ebef;border-radius:17px;background:#fafbfc}.device-radar-signal-v2028{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:4px;align-items:end;justify-content:center;padding:9px 8px;border-radius:13px;background:#eef2f5}.device-radar-signal-v2028>span{display:none}.device-radar-signal-v2028 b{font-size:18px;letter-spacing:-.04em}.device-radar-signal-v2028 small{font-size:7px;color:#7f8994;margin-bottom:2px}.device-radar-copy-v2028{min-width:0}.device-radar-copy-v2028>small{font-size:6.8px;color:#939ba4}.device-radar-copy-v2028 h4{margin:3px 0 2px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-radar-copy-v2028 p{margin:0;font-size:7.5px;color:#7d8791}.device-radar-actions-v2028{display:flex;align-items:center;gap:5px}.device-radar-actions-v2028 form{margin:0}.device-radar-actions-v2028 .icon-action{width:36px;height:36px;border-radius:11px}.device-radar-actions-v2028 .btn.compact{min-height:36px;padding:0 10px;font-size:7.5px}

/* Live Master radar modal */
.workspace-modal.is-compact:has(.master-radar-modal-v2029) .workspace-modal-frame{width:min(1280px,97vw)!important;height:min(900px,94vh)!important}.workspace-modal.is-compact:has(.master-radar-modal-v2029) .workspace-modal-body{padding:18px!important;background:#eef2f5!important}.master-radar-modal-v2029{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;height:100%;min-height:620px}.master-radar-modal-head-v2029{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 4px 14px;border-bottom:1px solid #dfe4e8}.master-radar-modal-head-v2029 h2{margin:4px 0 4px;font-size:25px;letter-spacing:-.045em}.master-radar-modal-head-v2029 p{margin:0;color:#78838f;font-size:8.5px}.master-radar-live-state-v2029{display:grid;grid-template-columns:10px minmax(0,1fr);gap:9px;align-items:center;padding:10px 12px;border-radius:14px;background:#fff}.master-radar-live-state-v2029>i{width:9px;height:9px;border-radius:50%;background:#d34f57}.master-radar-live-state-v2029.online>i{background:#2fba76;box-shadow:0 0 0 6px rgba(47,186,118,.12)}.master-radar-live-state-v2029 span{display:grid;gap:2px}.master-radar-live-state-v2029 b{font-size:8px}.master-radar-live-state-v2029 small{font-size:7px;color:#87919c}.master-radar-layout-v2029{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:14px;min-height:0}.master-radar-scope-v2029{position:relative;min-height:520px;overflow:hidden;border-radius:28px;background:radial-gradient(circle at center,#152635 0%,#111c29 38%,#0c151f 72%,#09111a 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);isolation:isolate}.master-radar-ring-v2029{position:absolute;left:50%;top:50%;translate:-50% -50%;border:1px solid rgba(126,221,182,.16);border-radius:50%;pointer-events:none}.master-radar-ring-v2029.ring-1{width:22%;aspect-ratio:1}.master-radar-ring-v2029.ring-2{width:43%;aspect-ratio:1}.master-radar-ring-v2029.ring-3{width:65%;aspect-ratio:1}.master-radar-ring-v2029.ring-4{width:86%;aspect-ratio:1}.master-radar-cross-v2029{position:absolute;background:rgba(255,255,255,.055);pointer-events:none}.master-radar-cross-v2029.x{left:7%;right:7%;top:50%;height:1px}.master-radar-cross-v2029.y{top:7%;bottom:7%;left:50%;width:1px}.master-radar-sweep-v2029{position:absolute;left:50%;top:50%;width:43%;height:43%;transform-origin:0 0;background:conic-gradient(from 270deg,rgba(91,231,170,.28),rgba(91,231,170,0) 36deg,transparent 37deg);clip-path:polygon(0 0,100% 0,100% 100%,0 0);pointer-events:none;opacity:.35}.master-radar-modal-v2029.is-scanning .master-radar-sweep-v2029{animation:miraRadarSweep 2.1s linear infinite;opacity:.9}@keyframes miraRadarSweep{to{transform:rotate(360deg)}}.master-radar-center-v2029{position:absolute;left:50%;top:50%;translate:-50% -50%;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;align-content:center;gap:2px;background:#f7faf9;color:#0d1720;box-shadow:0 0 0 10px rgba(255,255,255,.05),0 12px 35px rgba(0,0,0,.25);z-index:6}.master-radar-center-v2029 .ui-icon{width:26px;height:26px;color:#1a8f5b}.master-radar-center-v2029 b{font-size:7px;letter-spacing:.13em}.master-radar-center-v2029 small{font-size:6.5px;color:#79838d}.master-radar-point-v2029{position:absolute;translate:-50% -50%;width:52px;height:52px;border:0;border-radius:50%;display:grid;place-items:center;align-content:center;gap:2px;background:rgba(43,183,116,.16);color:#d8ffec;cursor:pointer;z-index:8;transition:left .4s ease,top .4s ease,opacity .3s ease,transform .15s ease;box-shadow:0 0 0 1px rgba(93,229,169,.32),0 0 24px rgba(61,211,142,.18)}.master-radar-point-v2029:hover{transform:scale(1.08)}.master-radar-point-v2029>span{width:9px;height:9px;border-radius:50%;background:#5ee1a4;box-shadow:0 0 0 5px rgba(94,225,164,.13)}.master-radar-point-v2029 b{font-size:6.7px;letter-spacing:.03em}.master-radar-point-v2029.proximity-near{background:rgba(93,171,241,.14);color:#e5f3ff;box-shadow:0 0 0 1px rgba(93,171,241,.32),0 0 24px rgba(93,171,241,.16)}.master-radar-point-v2029.proximity-near>span{background:#70b7f5;box-shadow:0 0 0 5px rgba(112,183,245,.12)}.master-radar-point-v2029.proximity-medium{background:rgba(245,185,73,.14);color:#fff1cf;box-shadow:0 0 0 1px rgba(245,185,73,.32)}.master-radar-point-v2029.proximity-medium>span{background:#f1b84c}.master-radar-point-v2029.proximity-far{background:rgba(236,112,119,.13);color:#ffe1e3;box-shadow:0 0 0 1px rgba(236,112,119,.28)}.master-radar-point-v2029.proximity-far>span{background:#e9787f}.master-radar-point-v2029.stale{opacity:.35}.master-radar-empty-v2029{position:absolute;left:50%;bottom:34px;translate:-50% 0;display:grid;grid-template-columns:36px minmax(0,1fr);gap:9px;align-items:center;min-width:min(420px,80%);padding:11px 13px;border-radius:15px;background:rgba(255,255,255,.08);color:#dce5ec;backdrop-filter:blur(10px)}.master-radar-empty-v2029[hidden]{display:none}.master-radar-empty-v2029>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.08)}.master-radar-empty-v2029 b{font-size:8.5px}.master-radar-empty-v2029 small{display:block;margin-top:2px;font-size:7px;color:#95a5b3}.master-radar-panel-v2029{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;padding:15px;border-radius:24px;background:#fff;border:1px solid #e1e6ea}.master-radar-panel-top-v2029{display:flex;align-items:center;justify-content:space-between;gap:12px}.master-radar-panel-top-v2029>div{display:grid}.master-radar-panel-top-v2029 small{font-size:6.8px;font-weight:800;letter-spacing:.12em;color:#8b949e}.master-radar-panel-top-v2029 strong{font-size:29px;letter-spacing:-.06em}.master-radar-legend-v2029{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:9px 0;border-top:1px solid #edf0f2;border-bottom:1px solid #edf0f2}.master-radar-legend-v2029 span{display:flex;align-items:center;gap:6px;font-size:6.8px;color:#7e8792}.master-radar-legend-v2029 i{width:7px;height:7px;border-radius:50%;background:#5ee1a4}.master-radar-legend-v2029 i.close{background:#70b7f5}.master-radar-legend-v2029 i.mid{background:#f1b84c}.master-radar-legend-v2029 i.far{background:#e9787f}.master-radar-device-list-v2029{min-height:0;overflow:auto;display:grid;align-content:start;gap:7px;padding-right:2px}.master-radar-row-v2029{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px;border:1px solid #e8ebef;border-radius:14px;background:#fafbfc;transition:.15s}.master-radar-row-v2029:hover{background:#f5f7f9;border-color:#dce2e7}.master-radar-row-v2029.stale{opacity:.55}.master-radar-row-signal-v2029{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:3px;align-items:end;justify-content:center;padding:6px;border-radius:10px;background:#eef3f0}.master-radar-row-signal-v2029 strong{font-size:13px}.master-radar-row-signal-v2029 small{font-size:5.8px;color:#7d8791}.master-radar-row-signal-v2029 i{grid-column:1/-1;height:2px;border-radius:999px;background:#43bc7d;margin-top:3px}.master-radar-row-v2029.proximity-near .master-radar-row-signal-v2029{background:#edf5fc}.master-radar-row-v2029.proximity-near .master-radar-row-signal-v2029 i{background:#66aeee}.master-radar-row-v2029.proximity-medium .master-radar-row-signal-v2029{background:#fff6e5}.master-radar-row-v2029.proximity-medium .master-radar-row-signal-v2029 i{background:#efb443}.master-radar-row-v2029.proximity-far .master-radar-row-signal-v2029{background:#fff0f1}.master-radar-row-v2029.proximity-far .master-radar-row-signal-v2029 i{background:#e7777e}.master-radar-row-copy-v2029{min-width:0}.master-radar-row-copy-v2029 span{display:block;font-size:6.5px;color:#87919c}.master-radar-row-copy-v2029 b{display:block;margin-top:2px;font-size:8.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.master-radar-row-copy-v2029 small{display:block;margin-top:2px;font-size:6.7px;color:#8b949e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.master-radar-row-actions-v2029{display:flex;align-items:center;gap:3px}.master-radar-row-actions-v2029 form{margin:0}.master-radar-row-actions-v2029 .icon-action{width:30px;height:30px;border-radius:9px;font-size:9px}.master-radar-footer-v2029{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 4px;color:#7d8791}.master-radar-footer-v2029 span{font-size:7px}.master-radar-footer-v2029 strong{font-size:7px}.master-radar-modal-v2029.master-offline .master-radar-sweep-v2029{animation:none!important;opacity:.08}.master-radar-modal-v2029.master-offline .master-radar-scope-v2029{filter:saturate(.65)}

@media(max-width:1000px){.device-pre-register-v2028{grid-template-columns:1fr}.device-pre-register-form-v2028{grid-template-columns:repeat(3,minmax(0,1fr))}.device-pre-register-form-v2028>.btn{grid-column:3}.device-inventory-grid{grid-template-columns:1fr}.master-radar-layout-v2029{grid-template-columns:minmax(0,1fr) 300px}.master-radar-scope-v2029{min-height:460px}.master-radar-row-actions-v2029{display:grid;grid-template-columns:repeat(3,30px)}}
@media(max-width:760px){.device-fleet-hero-v2025{grid-template-columns:52px minmax(0,1fr);padding:17px}.device-fleet-hero-icon{width:52px;height:52px}.device-fleet-hero-v2025 h2{font-size:22px}.device-discovery-state-v2025{grid-column:1/-1}.device-pre-register-v2028,.device-pending-pool-v2025,.device-inventory-shell-v2025,.device-radar-v2028{padding:16px;border-radius:20px}.device-pre-register-form-v2028{grid-template-columns:1fr 1fr}.device-pre-register-form-v2028>.btn{grid-column:1/-1}.device-pending-grid-v2025{grid-template-columns:1fr!important}.device-radar-head-v2028{align-items:flex-start;flex-direction:column}.device-radar-master-actions-v2028{width:100%;justify-content:stretch}.device-radar-master-actions-v2028 .btn{flex:1}.device-radar-unit-v2028{grid-template-columns:56px minmax(0,1fr)}.device-radar-actions-v2028{grid-column:1/-1;justify-content:flex-end}.workspace-modal.is-compact:has(.master-radar-modal-v2029) .workspace-modal-body{padding:8px!important}.master-radar-modal-v2029{min-height:0}.master-radar-modal-head-v2029{align-items:flex-start;flex-direction:column;padding:2px 3px 9px}.master-radar-modal-head-v2029 h2{font-size:20px}.master-radar-live-state-v2029{width:100%}.master-radar-layout-v2029{grid-template-columns:1fr;overflow:auto}.master-radar-scope-v2029{min-height:58vh;border-radius:20px}.master-radar-center-v2029{width:74px;height:74px}.master-radar-panel-v2029{border-radius:20px;max-height:46vh}.master-radar-footer-v2029{align-items:flex-start;flex-direction:column;gap:4px}.master-radar-point-v2029{width:44px;height:44px}.master-radar-row-actions-v2029{display:flex;overflow-x:auto;max-width:150px}.master-radar-row-actions-v2029 .icon-action{flex:0 0 30px}}

/* v0.20.29 · kalan yeni yönetim yüzeylerinin stil eşlemesi */
.allergen-product-sheet-v2024{max-width:980px;margin:0 auto}.allergen-product-sheet-v2024 .allergen-picker-section-v2024{padding:16px 0;border-top:1px solid #e8ecf0}.allergen-product-sheet-v2024 .allergen-picker-section-v2024:first-of-type{border-top:0}.beach-hero-v2017{border:1px solid #e5e9ee!important;border-radius:24px!important;background:#fff!important;box-shadow:none!important}.service-head-v2013{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;padding:0 0 16px!important;border-bottom:1px solid #e6eaee!important;background:transparent!important;box-shadow:none!important}.service-head-v2013>div:last-child{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:720px){.service-head-v2013{align-items:flex-start!important;flex-direction:column!important}.service-head-v2013>div:last-child{width:100%;justify-content:stretch}.service-head-v2013>div:last-child .btn{flex:1}}

/* v0.20.29 · cihaz merkezi ve yönetim yüzeyi görsel normalizasyonu */
[data-device-live-root]>.page-intro.compact-intro{margin-bottom:18px;padding:0 2px 14px!important;border-bottom:1px solid #e7ebef;background:transparent!important;box-shadow:none!important;border-radius:0!important}
[data-device-live-root]>.page-intro.compact-intro h2{font-size:27px;letter-spacing:-.045em;margin:4px 0 5px}
[data-device-live-root]>.page-intro.compact-intro p{max-width:820px;font-size:9px;line-height:1.65;color:#7b8691}
[data-device-live-root]>.module-section,[data-device-live-root]>.card,[data-device-live-root]>.tenant-radar-recent-v2029{margin:0 0 16px;padding:18px 20px!important;border:1px solid #e6eaee!important;border-radius:22px!important;background:#fff!important;box-shadow:none!important}
[data-device-live-root] .section-head{margin-bottom:12px}
[data-device-live-root] .section-head h3{font-size:18px;letter-spacing:-.035em;margin:2px 0}
[data-device-live-root] .section-head span{font-size:8px;color:#89939e}
[data-device-live-root] .device-cards,[data-device-live-root] .master-grid{gap:10px}
[data-device-live-root] .device-card.dashed-card,[data-device-live-root] .master-card.dashed-card{border:1px solid #e7ebef!important;background:#fafbfc!important;box-shadow:none!important;border-radius:18px!important}
[data-device-live-root] .device-card{padding:14px!important;grid-template-columns:46px minmax(0,1fr) auto;gap:12px}
[data-device-live-root] .device-card-icon{width:46px;height:46px;border:0;background:#111820;color:#fff;border-radius:14px}
[data-device-live-root] .device-card-icon .ui-icon{width:20px;height:20px}
[data-device-live-root] .device-card-main b{font-size:11px}.device-card-main small{font-size:7.8px}
[data-device-live-root] .device-facts{gap:8px;flex-wrap:wrap}.device-facts span{padding:7px 9px;border-radius:10px;background:#f1f3f5;font-size:7px}.device-facts b{font-size:7px!important}
[data-device-live-root] .master-card{padding:15px!important}.master-card-head{margin-bottom:12px}.master-card .inline{gap:6px;flex-wrap:wrap}.master-card .inline form{margin:0}.master-card .inline .btn{min-height:36px;border-radius:11px;font-size:7.5px}
[data-device-live-root]>.card .table-wrap{overflow:auto;border:1px solid #edf0f2;border-radius:16px;background:#fff}
[data-device-live-root]>.card .table{margin:0}.device-table th{font-size:7px;letter-spacing:.04em;color:#87919b;background:#f7f8fa}.device-table td{vertical-align:middle}.device-table tr:last-child td{border-bottom:0}
[data-device-live-root] .device-identity{min-width:190px}.device-identity .mini-icon{border:0;background:#eef2f5}.device-identity b{font-size:9px}.device-identity small{font-size:6.7px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tenant-radar-recent-v2029 .section-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.tenant-radar-live-v2029{display:inline-flex!important;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#edf8f2;color:#277d51!important;font-size:7px!important;font-weight:800}.tenant-radar-live-v2029 i{width:7px;height:7px;border-radius:50%;background:#35b879;box-shadow:0 0 0 4px rgba(53,184,121,.11);animation:miraLivePulse 1.8s ease-in-out infinite}@keyframes miraLivePulse{50%{box-shadow:0 0 0 8px rgba(53,184,121,0)}}
.tenant-radar-recent-v2029 .device-radar-grid-v2028{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-radar-recent-v2029 .device-radar-unit-v2028{grid-template-columns:64px minmax(0,1fr);background:#fafbfc;border-color:#e8ecef}.tenant-radar-recent-v2029 .device-radar-signal-v2028{background:#eef5f2}.tenant-radar-recent-v2029 .device-radar-copy-v2028 h4{font-size:10px}
/* orphan/missing admin components discovered by UI audit */
.settings-form,.staff-form-sheet,.reservation-edit-sheet,.order-detail-v19,.access-event-panel,.partner-contract-card{background:#fff;border:1px solid #e7ebef;border-radius:20px;box-shadow:none}
.settings-form,.staff-form-sheet,.reservation-edit-sheet,.order-detail-v19,.access-event-panel{padding:18px 20px}
.access-event-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #edf0f2}.nested-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.module-parent-check,.choice-pill,.primary-toggle{display:flex;align-items:center;gap:9px}.weekday-picker{display:flex;flex-wrap:wrap;gap:6px}.context-required-actions{display:flex;flex-wrap:wrap;gap:8px}.integration-state{display:inline-flex;align-items:center;gap:6px}.guest-featured,.guest-menu-section{min-width:0}.device-name{font-weight:800}.device-meta{font-size:7px;color:#8a939d}
/* system-wide nested-card flattening for management screens */
.app-main .card>.card,.app-main .card .card:not(.metric):not(.tenant-pro-card):not(.partner-card){background:transparent!important;border:0!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}
.app-main .module-section>.card,.app-main .flat-section-v2013>.card{background:transparent!important;border:0!important;box-shadow:none!important}
@media(max-width:900px){.tenant-radar-recent-v2029 .device-radar-grid-v2028{grid-template-columns:1fr}}
@media(max-width:760px){[data-device-live-root]>.module-section,[data-device-live-root]>.card,[data-device-live-root]>.tenant-radar-recent-v2029{padding:15px!important;border-radius:18px!important}[data-device-live-root] .device-card{grid-template-columns:42px minmax(0,1fr)}[data-device-live-root] .device-card>.btn{grid-column:1/-1;width:100%}.tenant-radar-recent-v2029 .section-head{align-items:flex-start;flex-direction:column}.tenant-radar-live-v2029{align-self:flex-start}}
.public-error{min-height:100dvh;display:grid;place-items:center;align-content:center;gap:10px;padding:28px;text-align:center;background:#f6f7f9;color:#17202a}.public-error h1{margin:0;font-size:clamp(28px,5vw,46px);letter-spacing:-.05em}.public-error p{max-width:560px;margin:0;color:#75808b;line-height:1.7}.public-error .btn{margin-top:8px}


/* v0.20.31 — Mira Master çoklu radar servis konsolu */
.workspace-modal.is-compact:has(.master-radar-modal-v2031){padding:1.6vh 1.2vw!important;place-items:center!important}
.workspace-modal.is-compact:has(.master-radar-modal-v2031) .workspace-modal-frame{width:97.5vw!important;height:96vh!important;max-height:96vh!important;border-radius:26px!important;overflow:hidden!important}
.workspace-modal.is-compact:has(.master-radar-modal-v2031) .workspace-modal-body{padding:14px 16px 16px!important;background:#f4f6f8!important;max-height:none!important}
.workspace-modal.is-compact:has(.master-radar-modal-v2031) .workspace-content{height:100%!important;min-height:0!important}
.master-radar-modal-v2031{height:100%;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px}
.master-radar-modal-head-v2031{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:2px 5px 11px}
.master-radar-title-v2031 h2{margin:4px 0 3px;font-size:30px;line-height:1;letter-spacing:-.055em}.master-radar-title-v2031 p{margin:0;color:#77828e;font-size:9px;line-height:1.55}
.master-radar-master-strip-v2031{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:3px 3px 9px;scrollbar-width:thin}
.master-radar-master-chip-v2031{flex:0 0 auto;min-width:180px;display:grid;grid-template-columns:10px minmax(0,1fr);gap:9px;align-items:center;padding:10px 12px;border:0;border-radius:15px;background:#fff;color:#202933;box-shadow:0 4px 15px rgba(25,36,48,.045);text-align:left;font:inherit}.master-radar-master-chip-v2031>i{width:9px;height:9px;border-radius:50%;background:#c4cbd2}.master-radar-master-chip-v2031.online>i{background:#31bb75;box-shadow:0 0 0 5px rgba(49,187,117,.12)}.master-radar-master-chip-v2031 span{display:grid;gap:2px}.master-radar-master-chip-v2031 b{font-size:8.4px}.master-radar-master-chip-v2031 small{font-size:6.8px;color:#87919c}.master-radar-master-chip-v2031.offline{opacity:.55}.master-radar-scan-all-v2031{margin-left:auto;flex:0 0 auto;min-height:42px!important;border-radius:14px!important}
.master-radar-layout-v2031{min-height:0;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(360px,.55fr);gap:12px}
.master-radar-scope-v2031{position:relative;min-height:0;height:100%;overflow:hidden;border-radius:30px;background:radial-gradient(circle at 50% 50%,#1a3340 0%,#10232f 31%,#0a1923 66%,#061019 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 18px 45px rgba(9,18,27,.13);isolation:isolate}.master-radar-grid-glow-v2031{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(63,214,147,.09),transparent 54%);pointer-events:none}.master-radar-scope-v2031 .master-radar-ring-v2029{border-color:rgba(115,231,181,.18)}.master-radar-scope-v2031 .master-radar-cross-v2029{background:rgba(255,255,255,.06)}
.master-radar-center-v2031{position:absolute;left:50%;top:50%;translate:-50% -50%;width:118px;height:118px;border-radius:50%;display:grid;place-items:center;align-content:center;gap:1px;background:rgba(248,251,250,.98);color:#0f1821;box-shadow:0 0 0 13px rgba(255,255,255,.055),0 18px 45px rgba(0,0,0,.28);z-index:7}.master-radar-center-v2031 .ui-icon{width:29px;height:29px;color:#168653}.master-radar-center-v2031>b{font-size:6.8px;letter-spacing:.15em;color:#68737d}.master-radar-center-v2031>strong{font-size:25px;line-height:.95;letter-spacing:-.06em}.master-radar-center-v2031>small{font-size:6.5px;color:#89929b}
.master-radar-empty-v2031{position:absolute;left:50%;bottom:34px;translate:-50% 0;width:min(610px,82%);display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:center;padding:16px 18px;border-radius:20px;background:rgba(7,18,27,.64);color:#ecf6f2;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);backdrop-filter:blur(18px);z-index:10}.master-radar-empty-v2031[hidden]{display:none}.master-radar-empty-icon-v2031{width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:rgba(86,224,162,.11);color:#61dca5}.master-radar-empty-icon-v2031 .ui-icon{width:25px;height:25px;animation:miraRadarEmptyPulse 2.1s ease-in-out infinite}@keyframes miraRadarEmptyPulse{50%{transform:scale(1.1);opacity:.72}}.master-radar-empty-v2031 b{display:block;font-size:14px;letter-spacing:-.025em}.master-radar-empty-v2031 p{margin:4px 0 3px;font-size:8.5px;line-height:1.5;color:#b7c6cd}.master-radar-empty-v2031 small{font-size:7px;color:#80949f}
.master-radar-panel-v2031{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:10px;padding:16px;border-radius:26px;background:#fff;box-shadow:0 12px 34px rgba(30,40,52,.07)}.master-radar-panel-top-v2031{display:flex;align-items:center;justify-content:space-between;gap:12px}.master-radar-panel-top-v2031>div:first-child{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:end;column-gap:7px}.master-radar-panel-top-v2031 small{grid-column:1/-1;font-size:6.8px;font-weight:800;letter-spacing:.14em;color:#929ba5}.master-radar-panel-top-v2031 strong{font-size:35px;line-height:.9;letter-spacing:-.065em}.master-radar-panel-top-v2031 span{font-size:7px;color:#8b949e;padding-bottom:2px}.master-radar-network-summary-v2031{display:grid!important;text-align:right!important}.master-radar-network-summary-v2031 b{font-size:8px}.master-radar-network-summary-v2031 small{font-size:6.7px;font-weight:500;letter-spacing:0;color:#89939e}
.master-radar-legend-v2031{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:9px 0;border-top:1px solid #edf0f2;border-bottom:1px solid #edf0f2}.master-radar-legend-v2031 span{display:flex;align-items:center;gap:5px;font-size:6.7px;color:#79838e}.master-radar-legend-v2031 i{width:7px;height:7px;border-radius:50%}.master-radar-legend-v2031 .very{background:#5ee1a4}.master-radar-legend-v2031 .near{background:#70b7f5}.master-radar-legend-v2031 .mid{background:#f1b84c}.master-radar-legend-v2031 .far{background:#e9787f}
.master-radar-modal-v2031 .master-radar-device-list-v2029{gap:8px}.master-radar-modal-v2031 .master-radar-row-v2029{padding:11px;border:0;border-radius:16px;background:#f6f8f9}.master-radar-modal-v2031 .master-radar-row-copy-v2029 b{font-size:9.4px}.master-radar-modal-v2031 .master-radar-row-copy-v2029 small{font-size:7px}.master-radar-modal-v2031 .master-radar-row-copy-v2029 em{display:block;margin-top:3px;font-size:6.5px;font-style:normal;color:#9aa3ac}.master-radar-modal-v2031 .master-radar-row-signal-v2029{border-radius:12px}.master-radar-modal-v2031 .master-radar-row-actions-v2029 .icon-action{width:33px;height:33px;border-radius:10px;background:#fff}.master-radar-footer-v2031{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 5px;color:#818b95}.master-radar-footer-v2031 span,.master-radar-footer-v2031 strong{font-size:7px}
.master-radar-modal-v2031.is-scanning .master-radar-sweep-v2029{animation:miraRadarSweep 1.65s linear infinite;opacity:.95}.master-radar-modal-v2031.master-offline .master-radar-sweep-v2029{animation:none!important;opacity:.08}
@media(max-width:1000px){.master-radar-layout-v2031{grid-template-columns:minmax(0,1fr) 330px}.master-radar-title-v2031 h2{font-size:25px}.master-radar-master-chip-v2031{min-width:158px}}
@media(max-width:760px){.workspace-modal.is-compact:has(.master-radar-modal-v2031){padding:0!important}.workspace-modal.is-compact:has(.master-radar-modal-v2031) .workspace-modal-frame{width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important}.workspace-modal.is-compact:has(.master-radar-modal-v2031) .workspace-modal-body{padding:9px!important}.master-radar-modal-v2031{gap:8px}.master-radar-modal-head-v2031{align-items:flex-start;flex-direction:column;padding-bottom:5px}.master-radar-title-v2031 h2{font-size:21px}.master-radar-title-v2031 p{font-size:8px}.master-radar-live-state-v2029{width:100%}.master-radar-master-strip-v2031{padding-bottom:6px}.master-radar-master-chip-v2031{min-width:145px;padding:8px 10px}.master-radar-scan-all-v2031{position:sticky;right:0}.master-radar-layout-v2031{display:block;overflow:auto}.master-radar-scope-v2031{height:56vh;min-height:430px;border-radius:22px}.master-radar-center-v2031{width:82px;height:82px}.master-radar-center-v2031 .ui-icon{width:22px;height:22px}.master-radar-center-v2031>strong{font-size:19px}.master-radar-empty-v2031{bottom:18px;width:90%;grid-template-columns:46px minmax(0,1fr);padding:12px}.master-radar-empty-icon-v2031{width:46px;height:46px}.master-radar-panel-v2031{margin-top:8px;max-height:42vh;border-radius:20px;padding:12px}.master-radar-footer-v2031{align-items:flex-start;flex-direction:column;gap:3px}.master-radar-legend-v2031{grid-template-columns:1fr 1fr}}

/* v0.20.34 · 4 saniyelik bildirim zaman çubuğu */
.toast{overflow:hidden!important;transition:opacity .2s ease,transform .2s ease!important}.toast.leaving{opacity:0!important;transform:translateY(-7px) scale(.985)!important;pointer-events:none}.toast-progress,.workspace-flash .toast-progress{position:absolute;left:0;right:auto;bottom:0;width:100%;height:3px;border-radius:0 999px 999px 0;background:currentColor;opacity:.42;transform-origin:left center;animation:miraToastCountdown var(--toast-duration,4000ms) linear forwards;pointer-events:none}.toast.is-paused .toast-progress,.workspace-flash.is-paused .toast-progress{animation-play-state:paused}.toast.success .toast-progress{background:#27945a}.toast.error .toast-progress{background:#d14941}.toast.warning .toast-progress{background:#c79016}.workspace-flash{position:relative;overflow:hidden;transition:opacity .2s ease,transform .2s ease}.workspace-flash.leaving{opacity:0;transform:translateY(-4px)}@keyframes miraToastCountdown{from{transform:scaleX(1)}to{transform:scaleX(0)}}.runtime-toast-stack{position:fixed;right:18px;top:78px;z-index:1600;width:min(390px,calc(100vw - 28px));display:grid;gap:9px;pointer-events:none}.runtime-toast-stack .toast{position:relative!important;right:auto!important;top:auto!important;width:100%!important;pointer-events:auto}.runtime-toast .toast-icon{font-weight:900;font-size:13px}@media(max-width:760px){.runtime-toast-stack{right:10px;top:66px;width:calc(100vw - 20px)}.toast{right:10px!important;top:66px!important;width:calc(100vw - 20px)!important}}

/* v0.20.34 · yüzlerce radar satırında DOM çizim maliyetini azalt */
.master-radar-row-v2029{content-visibility:auto;contain-intrinsic-size:64px}.master-radar-device-list-v2029{overscroll-behavior:contain}.master-radar-panel-v2031{contain:layout paint}

/* --------------------------------------------------------------------------
   v0.20.44.6 · Mira operations radar
   Radar is a field workspace, not a normal compact CRUD modal. Keep it full
   viewport even when a child assignment modal opens/closes behind it.
   -------------------------------------------------------------------------- */
.workspace-modal:has(.master-radar-modal-v2046){padding:0!important;align-items:stretch!important;justify-content:stretch!important}
.workspace-modal:has(.master-radar-modal-v2046) .workspace-modal-frame{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border-radius:0!important;margin:0!important;box-shadow:none!important}
.workspace-modal:has(.master-radar-modal-v2046) .workspace-modal-head{min-height:50px!important;padding:8px 18px!important;border-radius:0!important}
.workspace-modal:has(.master-radar-modal-v2046) .workspace-modal-body{height:calc(100dvh - 50px)!important;max-height:none!important;padding:12px 16px 14px!important;overflow:hidden!important;background:#f2f5f7!important}
.workspace-modal:has(.master-radar-modal-v2046) .workspace-content{height:100%!important;min-height:0!important}
.master-radar-modal-v2046{height:100%;min-height:0;gap:9px!important;grid-template-rows:auto auto minmax(0,1fr) auto!important}
.master-radar-modal-head-v2046{padding:0 3px 6px!important;align-items:center!important}
.master-radar-modal-v2046 .master-radar-title-v2031 h2{font-size:31px}
.master-radar-modal-v2046 .master-radar-title-v2031 p{max-width:790px;font-size:9.2px}
.master-radar-head-actions-v2046{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.master-radar-auto-v2046{min-height:42px!important;border-radius:14px!important;white-space:nowrap}
.master-radar-auto-v2046.is-on{background:#e9f8f0!important;border-color:#bfe7d0!important;color:#147747!important}
.master-radar-modal-v2046 .master-radar-live-state-v2029{min-width:210px;min-height:42px;padding:8px 12px}
.master-radar-modal-v2046 .master-radar-master-strip-v2031{padding:0 3px 6px;gap:7px;overflow-x:auto}
.master-radar-modal-v2046 .master-radar-master-chip-v2031{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease,border-color .15s ease;border:1px solid transparent}
.master-radar-modal-v2046 .master-radar-master-chip-v2031:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(24,38,49,.1);border-color:#cee6d9}
.master-radar-modal-v2046 .master-radar-master-chip-v2031.is-selected{border-color:#38b873;background:#edf9f2;box-shadow:0 0 0 3px rgba(56,184,115,.12)}
.master-radar-modal-v2046 .master-radar-master-chip-v2031:disabled{cursor:not-allowed;opacity:.48}
.master-radar-scan-note-v2046{margin-left:auto;flex:0 0 auto;display:grid;align-content:center;min-width:225px;padding:7px 11px;border-left:1px solid #dde3e7}
.master-radar-scan-note-v2046 b{font-size:7.5px;color:#4f5d68}.master-radar-scan-note-v2046 small{margin-top:2px;font-size:6.5px;color:#8b959e}
.master-radar-modal-v2046 .master-radar-layout-v2031{grid-template-columns:minmax(0,1.7fr) minmax(410px,.62fr);gap:10px}
.master-radar-modal-v2046 .master-radar-scope-v2031{border-radius:24px;min-height:0}
.master-radar-panel-v2046{padding:13px!important;border-radius:22px!important}
.master-radar-modal-v2046 .master-radar-device-list-v2029{gap:8px;padding-right:4px}
.master-radar-row-v2046{grid-template-columns:104px minmax(0,1fr) auto!important;padding:10px 11px!important;min-height:95px!important;background:#f7f9fa!important;border:1px solid #edf0f2!important;opacity:1!important;content-visibility:auto;contain-intrinsic-size:95px!important}
.master-radar-row-v2046:hover{background:#fff!important;border-color:#d9e2e7!important;box-shadow:0 8px 25px rgba(27,42,54,.07)}
.master-radar-row-signal-v2046{display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto auto auto!important;align-items:end!important;justify-items:start!important;column-gap:4px!important;min-height:72px;padding:8px 9px!important}
.master-radar-row-signal-v2046 strong{font-size:29px!important;line-height:.88;letter-spacing:-.07em;color:#16232d}.master-radar-row-signal-v2046>small{font-size:7px!important;color:#7a8791}.master-radar-row-signal-v2046>b{grid-column:1/-1;font-size:9px;line-height:1.1;color:#33444f;margin-top:4px}.master-radar-row-signal-v2046>i{grid-column:1/-1;width:100%;height:3px!important;margin-top:7px!important}
.master-radar-row-copy-v2046{display:grid;align-content:center;min-width:0}.master-radar-row-copy-v2046>span{font-size:7px!important;font-weight:750;color:#75818b!important}.master-radar-row-copy-v2046>b{font-size:12px!important;margin-top:2px!important;letter-spacing:-.02em}.master-radar-row-copy-v2046>small{font-size:7.2px!important;margin-top:3px!important}.master-radar-row-copy-v2046>em{font-size:6.7px!important;margin-top:4px!important;white-space:normal!important;line-height:1.35}
.master-radar-diagnostics-v2046{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;min-height:18px;align-items:flex-start}.master-radar-diagnostics-v2046 span{display:inline-flex;align-items:center;max-width:100%;padding:3px 6px;border-radius:999px;font-size:6.6px;font-style:normal;line-height:1.2;background:#eef3f6;color:#63727d}.master-radar-diagnostics-v2046 .warn{background:#fff3d9;color:#8d6200}.master-radar-diagnostics-v2046 .bad{background:#ffe9e9;color:#a2363c}.master-radar-diagnostics-v2046 .info{background:#e9f1ff;color:#3b6393}
.master-radar-row-actions-v2046{align-self:center;display:grid!important;grid-template-columns:repeat(3,34px);gap:5px!important}.master-radar-row-actions-v2046 .icon-action{width:34px!important;height:34px!important;border-radius:10px!important;background:#fff!important;border:1px solid #e7ecef!important;font-size:13px}.master-radar-row-actions-v2046 .icon-action:hover{border-color:#bcd9cb!important;background:#f1faf5!important}.master-radar-row-actions-v2046 .radar-assign-v2046{background:#172b36!important;color:#fff!important;border-color:#172b36!important;text-decoration:none}
.master-radar-point-v2046{width:62px!important;height:62px!important;opacity:1!important}.master-radar-point-v2046 small{display:block;font-size:5.7px;color:inherit;opacity:.78;white-space:nowrap}.master-radar-point-v2046 b{font-size:6.7px!important}
.master-radar-modal-v2046 .master-radar-footer-v2031{padding:0 3px;min-height:20px}.master-radar-modal-v2046 .master-radar-footer-v2031 span,.master-radar-modal-v2046 .master-radar-footer-v2031 strong{font-size:6.8px}
.master-radar-modal-v2046 .master-radar-row-v2029.stale,.master-radar-modal-v2046 .master-radar-point-v2029.stale{opacity:1!important}
@media(max-width:1180px){.master-radar-modal-v2046 .master-radar-layout-v2031{grid-template-columns:minmax(0,1fr) 370px}.master-radar-scan-note-v2046{display:none}.master-radar-row-v2046{grid-template-columns:94px minmax(0,1fr) auto!important}}
@media(max-width:820px){.workspace-modal:has(.master-radar-modal-v2046) .workspace-modal-head{min-height:46px!important}.workspace-modal:has(.master-radar-modal-v2046) .workspace-modal-body{height:calc(100dvh - 46px)!important;padding:8px!important;overflow:auto!important}.master-radar-modal-v2046{height:auto;min-height:100%;display:block!important}.master-radar-modal-head-v2046{display:grid!important;gap:8px}.master-radar-head-actions-v2046{justify-content:stretch}.master-radar-head-actions-v2046 .btn{flex:1 1 auto}.master-radar-modal-v2046 .master-radar-live-state-v2029{width:100%}.master-radar-modal-v2046 .master-radar-layout-v2031{display:block}.master-radar-modal-v2046 .master-radar-scope-v2031{height:55vh;min-height:390px}.master-radar-panel-v2046{margin-top:8px;max-height:none!important}.master-radar-row-v2046{grid-template-columns:90px minmax(0,1fr)!important}.master-radar-row-actions-v2046{grid-column:1/-1;display:flex!important;justify-content:flex-end}.master-radar-modal-v2046 .master-radar-master-strip-v2031{margin:8px 0}.master-radar-modal-v2046 .master-radar-title-v2031 h2{font-size:23px}}


/* ======================================================================
   v0.20.44.7 · Radar stable controls + larger assignment modal
   ====================================================================== */
.child-workspace-modal{padding:clamp(12px,2.2vh,28px) clamp(10px,2.5vw,42px)!important}
.child-workspace-frame{width:min(1180px,96vw)!important;max-height:94dvh!important;min-height:min(720px,90dvh)!important;border-radius:24px!important}
.child-workspace-modal-body{padding:22px 26px 28px!important;overflow:auto!important;background:#f7f8fa!important}
.child-workspace-content{width:100%!important;max-width:none!important;min-width:0!important}

/* Main Devices screen: do not let live radar text/actions resize the whole section. */
.tenant-radar-recent-v2029,.device-radar-v2028{min-width:0;overflow:hidden;contain:layout}
.tenant-radar-recent-v2029 .device-radar-grid-v2028{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.tenant-radar-recent-v2029 .device-radar-unit-v2028{grid-template-columns:78px minmax(0,1fr)!important;min-width:0;min-height:86px}
.device-radar-v2028 .device-radar-unit-v2028{min-width:0;min-height:88px}
.device-radar-copy-v2028{overflow:hidden}.device-radar-copy-v2028>small,.device-radar-copy-v2028>p{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.device-radar-actions-v2028{flex:0 0 auto;min-width:max-content;flex-wrap:nowrap}
.device-radar-actions-v2028 .icon-action,.device-radar-actions-v2028 .btn{flex:0 0 auto}

/* Master radar right panel: action column remains fixed while telemetry text changes. */
.master-radar-row-v2046{grid-template-columns:104px minmax(0,1fr) 126px!important}
.master-radar-row-actions-v2046{width:126px;min-width:126px;align-content:center;justify-content:end}
.master-radar-row-actions-v2046 form{margin:0}
.master-radar-row-actions-v2046 .icon-action:disabled{opacity:.5;cursor:progress}
.master-radar-diagnostics-v2046[hidden]{display:none!important}
@media(max-width:1180px){.master-radar-row-v2046{grid-template-columns:94px minmax(0,1fr) 126px!important}}
@media(max-width:820px){.child-workspace-frame{width:100%!important;min-height:0!important;max-height:98dvh!important;border-radius:18px!important}.child-workspace-modal-body{padding:14px 12px 20px!important}.master-radar-row-v2046{grid-template-columns:90px minmax(0,1fr)!important}.master-radar-row-actions-v2046{grid-column:1/-1;width:auto;min-width:0}}


/* ======================================================================
   v0.20.44.8 · Professional field radar + stable controls
   ====================================================================== */
.workspace-modal:has(.master-radar-modal-v2046) .workspace-modal-body{
  background:
    radial-gradient(circle at 18% 14%,rgba(23,123,86,.08),transparent 31%),
    radial-gradient(circle at 86% 8%,rgba(42,102,151,.08),transparent 29%),
    linear-gradient(180deg,#edf2f4 0%,#f7f9fa 58%,#eef2f4 100%)!important;
}
.master-radar-modal-v2046{position:relative}
.master-radar-modal-v2046:before{content:"";position:absolute;inset:-12px -16px auto;height:140px;pointer-events:none;background:linear-gradient(90deg,rgba(24,62,48,.035),rgba(42,84,112,.02),transparent);mask-image:linear-gradient(#000,transparent);z-index:0}
.master-radar-modal-v2046>*{position:relative;z-index:1}
.master-radar-modal-head-v2046{padding:6px 8px 10px!important}
.master-radar-modal-v2046 .master-radar-title-v2031 .eyebrow{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:1px solid rgba(31,96,72,.13);border-radius:999px;background:rgba(255,255,255,.72);box-shadow:0 5px 18px rgba(28,47,60,.04);font-size:7px;letter-spacing:.14em}
.master-radar-modal-v2046 .master-radar-title-v2031 h2{font-size:32px!important;letter-spacing:-.045em!important;color:#14232b!important;margin-top:5px!important}
.master-radar-modal-v2046 .master-radar-title-v2031 p{font-size:9.4px!important;color:#697882!important;line-height:1.55!important}
.master-radar-head-actions-v2046 .btn,.master-radar-modal-v2046 .master-radar-live-state-v2029{box-shadow:0 8px 24px rgba(32,49,60,.055)}
.master-radar-modal-v2046 .master-radar-master-strip-v2031{padding:6px 8px 9px!important;border:1px solid rgba(34,54,67,.07);border-radius:18px;background:rgba(255,255,255,.7);box-shadow:0 9px 30px rgba(35,54,66,.045);backdrop-filter:blur(10px)}
.master-radar-modal-v2046 .master-radar-master-chip-v2031{background:#fff!important;border-color:#e5eaed!important;box-shadow:0 5px 15px rgba(35,54,66,.035)}
.master-radar-modal-v2046 .master-radar-master-chip-v2031.online i{box-shadow:0 0 0 5px rgba(48,178,111,.09),0 0 16px rgba(48,178,111,.32)}
.master-radar-modal-v2046 .master-radar-layout-v2031{grid-template-columns:minmax(0,1.62fr) minmax(450px,.72fr)!important;gap:13px!important}
.master-radar-modal-v2046 .master-radar-scope-v2031{
  overflow:hidden!important;border:1px solid rgba(120,159,145,.16)!important;
  background:
    radial-gradient(circle at 50% 50%,rgba(71,198,135,.17) 0 2%,transparent 2.5% 100%),
    radial-gradient(circle at 50% 50%,#17362f 0%,#102b28 42%,#0c2325 72%,#091b20 100%)!important;
  box-shadow:inset 0 0 80px rgba(0,0,0,.34),0 18px 48px rgba(20,45,43,.15)!important;
}
.master-radar-modal-v2046 .master-radar-scope-v2031:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(110,220,171,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(110,220,171,.14) 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(circle at 50% 50%,#000 0 68%,transparent 92%)}
.master-radar-modal-v2046 .master-radar-grid-glow-v2031{background:radial-gradient(circle at center,rgba(72,229,151,.12),rgba(41,117,91,.035) 43%,transparent 72%)!important}
.master-radar-modal-v2046 .master-radar-ring-v2029{border-color:rgba(104,221,168,.24)!important;box-shadow:0 0 24px rgba(86,205,151,.025)}
.master-radar-modal-v2046 .master-radar-cross-v2029{background:rgba(111,220,170,.14)!important}
.master-radar-modal-v2046 .master-radar-sweep-v2029{opacity:.7!important;filter:saturate(1.2)}
.master-radar-modal-v2046 .master-radar-center-v2031{background:linear-gradient(145deg,rgba(30,82,66,.95),rgba(16,51,45,.98))!important;border:1px solid rgba(111,229,174,.38)!important;box-shadow:0 0 0 8px rgba(90,205,153,.055),0 14px 38px rgba(0,0,0,.28)!important;color:#effff7!important}
.master-radar-modal-v2046 .master-radar-empty-v2031{background:rgba(11,35,34,.72)!important;border:1px solid rgba(114,221,174,.18)!important;color:#ecfff6!important;backdrop-filter:blur(12px);box-shadow:0 12px 40px rgba(0,0,0,.2)!important}
.master-radar-modal-v2046 .master-radar-empty-v2031 p,.master-radar-modal-v2046 .master-radar-empty-v2031 small{color:rgba(228,247,239,.66)!important}
.master-radar-panel-v2046{border:1px solid rgba(36,58,71,.08)!important;background:rgba(255,255,255,.92)!important;box-shadow:0 16px 45px rgba(31,48,60,.09)!important;backdrop-filter:blur(16px)}
.master-radar-modal-v2046 .master-radar-panel-top-v2031{padding:2px 3px 10px;border-bottom:1px solid #edf1f3}
.master-radar-modal-v2046 .master-radar-legend-v2031{margin:0 0 4px;padding:9px 3px!important;border-top:0!important}
.master-radar-row-v2046{grid-template-columns:96px minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:9px 10px!important;padding:11px!important;min-height:142px!important;border-radius:17px!important;background:linear-gradient(180deg,#fff,#f8fafb)!important;box-shadow:0 6px 19px rgba(29,46,57,.035);transform:translateZ(0)}
.master-radar-row-v2046:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(29,46,57,.08)!important}
.master-radar-row-signal-v2046{min-height:78px!important;border-radius:13px!important}
.master-radar-row-copy-v2046>b{font-size:12.5px!important}
.master-radar-row-actions-v2046{grid-column:1/-1!important;width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;justify-content:stretch!important;align-content:stretch!important;padding-top:7px;border-top:1px solid #edf1f3}
.master-radar-row-actions-v2046 form{margin:0!important;min-width:0}
.radar-action-button-v2048{width:100%;min-height:36px;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 8px;border:1px solid #e2e9ec;border-radius:10px;background:#fff;color:#32434e;text-decoration:none;font:inherit;cursor:pointer;box-shadow:0 3px 10px rgba(27,45,56,.025);transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}
.radar-action-button-v2048 span{font-size:12px;line-height:1}.radar-action-button-v2048 b{min-width:0;font-size:7.2px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.radar-action-button-v2048:hover{transform:translateY(-1px);border-color:#b9d6c7;background:#f3faf6;box-shadow:0 7px 16px rgba(25,60,45,.07)}
.radar-action-button-v2048:disabled{opacity:.5;cursor:progress;transform:none}
.radar-action-edit-v2048{background:linear-gradient(135deg,#17323d,#102830)!important;border-color:#17323d!important;color:#fff!important}
.radar-action-install-v2048{background:#fff8e8!important;border-color:#eedba6!important;color:#775815!important}
.radar-action-open-v2048{background:#eef9f3!important;border-color:#cbe8d8!important;color:#1f7048!important}
.radar-action-close-v2048{background:#f7f8f9!important;color:#41515b!important}
.radar-action-wifi_on-v2048{background:#eef6fd!important;border-color:#d0e4f4!important;color:#285d85!important}
.radar-action-wifi_off-v2048{background:#f7f8fb!important;color:#56606c!important}
.radar-action-status-v2048{background:#f4f1fb!important;border-color:#e2dbf3!important;color:#67538f!important}
.master-radar-point-v2046{border:1px solid rgba(174,245,211,.55)!important;background:rgba(20,66,54,.92)!important;color:#edfff6!important;box-shadow:0 0 0 7px rgba(73,198,139,.09),0 8px 28px rgba(0,0,0,.28)!important;backdrop-filter:blur(6px)}
.master-radar-point-v2046:hover{transform:translate(-50%,-50%) scale(1.08)!important}

/* Assignment/device child modal: roomy enough for structure + maintenance controls. */
.child-workspace-modal{padding:clamp(8px,1.7vh,20px) clamp(8px,1.4vw,24px)!important}
.child-workspace-frame{width:min(1380px,97.5vw)!important;height:min(920px,96dvh)!important;max-height:96dvh!important;min-height:min(760px,92dvh)!important;border-radius:26px!important;box-shadow:0 28px 90px rgba(20,35,45,.22)!important}
.child-workspace-modal-body{padding:24px 30px 30px!important;background:linear-gradient(180deg,#fafbfc,#f5f7f9)!important}

/* Main device page live radar blocks keep dimensions while telemetry changes. */
.tenant-radar-recent-v2029,.device-radar-v2028{border-radius:22px!important}
.tenant-radar-recent-v2029 .device-radar-grid-v2028{grid-auto-rows:minmax(94px,auto)!important}
.tenant-radar-recent-v2029 .device-radar-unit-v2028,.device-radar-v2028 .device-radar-unit-v2028{min-height:94px!important;border-radius:15px!important}
.device-radar-signal-v2028{min-width:72px}
.device-radar-actions-v2028{align-items:center!important;gap:5px!important}

/* Super Admin policy: group checkbox in accordion header. */
.policy-group-summary{grid-template-columns:minmax(0,1fr) auto auto auto!important;column-gap:10px!important}
.policy-group-bulk{display:flex;align-items:center;justify-content:flex-end}
.policy-group-check{display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #e1e7eb;border-radius:11px;background:#fff;cursor:pointer;user-select:none;box-shadow:0 3px 10px rgba(30,46,57,.025)}
.policy-group-check input{position:absolute;opacity:0;pointer-events:none}
.policy-group-check-box{width:24px;height:24px;display:grid;place-items:center;border:1px solid #cfd9df;border-radius:7px;background:#f8fafb;color:transparent;transition:.15s}
.policy-group-check-box .ui-icon{width:13px;height:13px}
.policy-group-check>span:last-child{display:grid;line-height:1.05}.policy-group-check b{font-size:7.5px;color:#364750}.policy-group-check small{margin-top:2px;font-size:6.4px;color:#8a959d}
.policy-group-check:has(input:checked) .policy-group-check-box{background:#1d7d51;border-color:#1d7d51;color:#fff;box-shadow:0 0 0 4px rgba(29,125,81,.09)}
.policy-group-check:has(input:indeterminate) .policy-group-check-box{background:linear-gradient(#fff,#fff) padding-box;border-color:#72a98c;color:#3b8662}
.policy-group.is-all-enabled>.policy-group-summary{background:linear-gradient(90deg,rgba(35,137,87,.055),transparent 45%)}
.policy-group.is-partial-enabled>.policy-group-summary{background:linear-gradient(90deg,rgba(203,145,37,.045),transparent 45%)}
@media(max-width:980px){.master-radar-modal-v2046 .master-radar-layout-v2031{grid-template-columns:minmax(0,1fr) 410px!important}.master-radar-row-actions-v2046{grid-template-columns:repeat(2,minmax(0,1fr))!important}.policy-group-summary{grid-template-columns:minmax(0,1fr) auto auto!important}.policy-group-count{display:none!important}}
@media(max-width:820px){.child-workspace-frame{width:100%!important;height:auto!important;min-height:0!important;max-height:98dvh!important}.master-radar-row-v2046{min-height:0!important}.master-radar-row-actions-v2046{grid-template-columns:repeat(2,minmax(0,1fr))!important}.policy-group-summary{grid-template-columns:minmax(0,1fr) auto!important}.policy-group-bulk{grid-column:1/-1;justify-content:flex-start;margin-top:6px}.policy-group-count{display:none!important}}

/* ======================================================================
   v0.20.44.10 · Stable radar identity list + device operation modal
   ====================================================================== */
.master-radar-device-list-v2029{display:grid!important;gap:8px!important;align-content:start!important}
.radar-identity-card-v20410{width:100%;display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:11px 12px;border:1px solid #e7ecef;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fafb);color:#263943;text-align:left;cursor:pointer;box-shadow:0 5px 16px rgba(28,47,59,.035);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}
.radar-identity-card-v20410:hover{transform:translateY(-1px);border-color:#c8ddd2;box-shadow:0 10px 24px rgba(27,52,44,.08)}
.radar-identity-card-v20410:focus-visible{outline:3px solid rgba(38,137,91,.18);outline-offset:2px}
.radar-identity-live-v20410{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#eaf7f0}.radar-identity-live-v20410 i{width:7px;height:7px;border-radius:50%;background:#2faa6a;box-shadow:0 0 0 4px rgba(47,170,106,.09)}
.radar-identity-card-v20410>div{min-width:0;display:grid;gap:2px}.radar-identity-card-v20410>div b{font-size:10px;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radar-identity-card-v20410>div small{font-size:7.1px;color:#77858e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radar-identity-card-v20410>strong{font-size:10px;color:#203942;white-space:nowrap}.radar-identity-card-v20410>em{font-style:normal;font-size:7.2px;color:#70818b;white-space:nowrap}
.radar-identity-card-v20410.proximity-very_near{border-left:3px solid #2faa6a}.radar-identity-card-v20410.proximity-near{border-left:3px solid #6bad82}.radar-identity-card-v20410.proximity-medium{border-left:3px solid #d6a446}.radar-identity-card-v20410.proximity-far{border-left:3px solid #a97858}
.radar-point-stable-v20410{transition:box-shadow .15s ease,border-color .15s ease,background .15s ease!important;will-change:auto!important}.radar-point-stable-v20410:hover{transform:scale(1.08)!important;z-index:12!important}

.radar-device-operation-modal-v20410[hidden]{display:none!important}.radar-device-operation-modal-v20410{position:fixed;inset:0;z-index:370;display:grid;place-items:center;padding:clamp(10px,3vh,34px) clamp(8px,4vw,58px)}
.radar-device-operation-backdrop-v20410{position:absolute;inset:0;background:rgba(6,17,20,.58);backdrop-filter:blur(13px) saturate(105%)}
.radar-device-operation-sheet-v20410{position:relative;width:min(940px,96vw);max-height:92dvh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.54);border-radius:26px;background:#fff;box-shadow:0 34px 100px rgba(2,13,18,.34);animation:radarDeviceModalIn .16s cubic-bezier(.22,.78,.3,1)}
@keyframes radarDeviceModalIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.radar-device-operation-head-v20410{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;background:linear-gradient(135deg,#102e2b,#173f37);color:#effff7}.radar-device-operation-head-v20410>div{min-width:0;display:grid;gap:2px}.radar-device-operation-head-v20410 small{font-size:7px;letter-spacing:.15em;color:#9fd8bc}.radar-device-operation-head-v20410 strong{font-size:20px;letter-spacing:-.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radar-device-operation-head-v20410 span{font-size:8px;color:#c9e4d7}.radar-device-operation-head-v20410 button{width:44px;height:44px;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:rgba(255,255,255,.08);color:#fff;font-size:27px;line-height:1;cursor:pointer}.radar-device-operation-head-v20410 button:hover{background:rgba(255,255,255,.15)}
.radar-device-operation-body-v20410{min-height:0;overflow:auto;display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px;padding:18px;background:linear-gradient(180deg,#f8fafb,#f2f5f6)}
.radar-device-operation-signal-v20410{grid-row:span 2;display:grid;align-content:center;justify-items:center;gap:7px;min-height:180px;border:1px solid #dfe9e4;border-radius:20px;background:radial-gradient(circle at 50% 28%,rgba(66,179,121,.13),transparent 42%),#fff}.radar-device-operation-signal-v20410>div{display:flex;align-items:flex-end;gap:4px}.radar-device-operation-signal-v20410 strong{font-size:58px;line-height:.88;letter-spacing:-.07em;color:#183b31}.radar-device-operation-signal-v20410 small{font-size:9px;color:#788b82;margin-bottom:5px}.radar-device-operation-signal-v20410>b{font-size:16px;color:#2f7658}.radar-device-operation-signal-v20410>span{font-size:8px;color:#71817a}
.radar-device-operation-summary-v20410{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;padding:16px 17px;border:1px solid #e5eaed;border-radius:18px;background:#fff}.radar-device-operation-summary-v20410 span{font-size:7px;font-weight:800;letter-spacing:.12em;color:#75848d}.radar-device-operation-summary-v20410 b{font-size:14px;color:#243740}.radar-device-operation-summary-v20410 small,.radar-device-operation-summary-v20410 em{grid-column:1/-1;font-size:8px;color:#6f7e87;font-style:normal}.radar-device-operation-summary-v20410 em{color:#4d6f61}
.radar-device-operation-warnings-v20410{grid-column:2;display:grid;gap:6px}.radar-device-operation-warnings-v20410[hidden]{display:none!important}.radar-device-operation-warnings-v20410 span{padding:9px 11px;border-radius:11px;font-size:8px;font-weight:650}.radar-device-operation-warnings-v20410 .bad{background:#fff0ef;color:#9d342f;border:1px solid #f1cdca}.radar-device-operation-warnings-v20410 .warn{background:#fff8e9;color:#80611f;border:1px solid #eeddaa}.radar-device-operation-warnings-v20410 .info{background:#edf5fb;color:#376482;border:1px solid #d6e7f3}
.radar-device-operation-actions-v20410{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.radar-device-operation-actions-v20410 form{margin:0;min-width:0}.radar-operation-action-v20410{width:100%;min-height:74px;display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:9px;padding:12px 13px;border:1px solid #dfe7eb;border-radius:15px;background:#fff;color:#30454f;text-align:left;text-decoration:none;font:inherit;cursor:pointer;box-shadow:0 5px 15px rgba(31,50,62,.035);transition:.14s}.radar-operation-action-v20410:hover{transform:translateY(-1px);border-color:#bcd7c9;box-shadow:0 10px 22px rgba(27,59,45,.08)}.radar-operation-action-v20410>span{grid-row:1/3;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#f1f5f4;font-size:16px}.radar-operation-action-v20410>b{font-size:9px}.radar-operation-action-v20410>small{font-size:6.8px;color:#7b8890}.radar-operation-action-v20410.edit{background:linear-gradient(135deg,#16363a,#102c30);color:#fff;border-color:#173b3e}.radar-operation-action-v20410.edit>span{background:rgba(255,255,255,.1)}.radar-operation-action-v20410.edit>small{color:#bad2d4}.radar-operation-action-v20410.install{background:#fff8e9;border-color:#ecd9a8;color:#785914}.radar-operation-action-v20410.open{background:#eef9f3;border-color:#c9e6d6;color:#1f7148}.radar-operation-action-v20410.status{background:#f4f1fb;border-color:#e0d8f1;color:#625087}.radar-operation-action-v20410.wifi_on{background:#edf6fd;border-color:#cde2f2;color:#2d6388}
.radar-device-operation-foot-v20410{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid #e3e9ec;border-radius:13px;background:rgba(255,255,255,.75)}.radar-device-operation-foot-v20410 span{font-size:8px;font-weight:700;color:#42555f}.radar-device-operation-foot-v20410 small{font-size:6.8px;color:#849099;text-align:right}.radar-device-operation-modal-v20410.is-stale .radar-device-operation-sheet-v20410{outline:2px solid rgba(194,119,71,.22)}
@media(max-width:820px){.radar-device-operation-modal-v20410{padding:6px}.radar-device-operation-sheet-v20410{width:100%;max-height:98dvh;border-radius:18px}.radar-device-operation-body-v20410{grid-template-columns:1fr;padding:12px}.radar-device-operation-signal-v20410{grid-row:auto;min-height:130px}.radar-device-operation-warnings-v20410{grid-column:1}.radar-device-operation-actions-v20410{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr))}.radar-device-operation-foot-v20410{grid-column:1;align-items:flex-start;flex-direction:column}.radar-device-operation-foot-v20410 small{text-align:left}.radar-identity-card-v20410{grid-template-columns:20px minmax(0,1fr) auto}.radar-identity-card-v20410>em{display:none}}

/* v0.20.44.12 radar stability: point uses CSS translate property only; hover must not translate again. */
.radar-point-stable-v20410{transform:none!important}
.radar-point-stable-v20410:hover{transform:scale(1.08)!important}
.radar-identity-card-v20410>div>b{font-weight:850;letter-spacing:-.015em}
.radar-device-operation-head-v20410 [data-op-title]{max-width:min(760px,72vw);white-space:normal;line-height:1.08}

/* ======================================================================
   v0.20.44.12 · Door operations console + automatic cycle verification
   ====================================================================== */
/* Radar targets never move under the pointer. Proximity is communicated with
   color/text only; no transform is applied on hover. */
.radar-point-stable-v20410,
.radar-point-stable-v20410:hover,
.master-radar-point-v2029:hover{transform:none!important}
.radar-point-stable-v20410:hover{box-shadow:0 0 0 2px rgba(126,238,187,.58),0 0 34px rgba(75,226,155,.28)!important;filter:brightness(1.08);z-index:14!important}

.radar-device-operation-sheet-v20412{width:min(1080px,97vw);max-height:94dvh;border-radius:30px;background:linear-gradient(145deg,#f8fbfa 0%,#f2f6f5 54%,#eef3f2 100%);box-shadow:0 42px 130px rgba(1,18,15,.42)}
.radar-device-operation-head-v20412{min-height:104px;padding:19px 24px;background:radial-gradient(circle at 12% 15%,rgba(73,201,143,.24),transparent 35%),linear-gradient(135deg,#0a2423 0%,#123a32 52%,#0d2a2b 100%);border-bottom:1px solid rgba(255,255,255,.09)}
.radar-op-live-mark-v20412{position:relative;padding-left:18px}.radar-op-live-mark-v20412>i{position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:#4ce093;box-shadow:0 0 0 6px rgba(76,224,147,.12),0 0 18px rgba(76,224,147,.45)}
.radar-device-operation-head-v20412 strong{font-size:25px!important;letter-spacing:-.045em!important}.radar-device-operation-head-v20412 span{font-size:9px!important;opacity:.84}
.radar-device-operation-body-v20412{grid-template-columns:238px minmax(0,1fr);gap:16px;padding:20px;background:transparent}
.radar-device-operation-signal-v20412{grid-row:span 3;min-height:245px;border-radius:24px;border-color:rgba(40,111,81,.13);background:radial-gradient(circle at 50% 22%,rgba(54,192,125,.18),transparent 40%),linear-gradient(180deg,#ffffff 0%,#f6fbf8 100%);box-shadow:0 16px 36px rgba(20,65,47,.06)}
.radar-device-operation-signal-v20412 strong{font-size:70px!important;color:#123f32!important}.radar-device-operation-signal-v20412>b{font-size:20px!important}.radar-device-operation-signal-v20412>span{padding:5px 9px;border-radius:999px;background:#eef7f2;color:#49705f!important;font-weight:700}
.radar-device-operation-summary-v20412{position:relative;border-radius:20px;border-color:rgba(42,70,62,.09);padding:18px 19px;background:rgba(255,255,255,.92);box-shadow:0 12px 28px rgba(28,48,41,.04)}
.radar-device-operation-summary-v20412>b{font-size:16px!important}.radar-op-mini-status-v20412{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.radar-op-mini-status-v20412 span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#f3f7f5;color:#5d7168!important;font-size:7px!important;letter-spacing:0!important}.radar-op-mini-status-v20412 i{width:6px;height:6px;border-radius:50%;background:#35b878;box-shadow:0 0 0 3px rgba(53,184,120,.1)}

.radar-door-test-v20412{grid-column:2;display:grid;gap:10px;padding:16px 17px;border-radius:20px;border:1px solid rgba(54,138,96,.16);background:linear-gradient(135deg,rgba(235,249,241,.96),rgba(247,251,249,.98));box-shadow:0 12px 28px rgba(31,92,66,.05)}.radar-door-test-v20412[hidden]{display:none!important}
.radar-door-test-head-v20412{display:flex;align-items:center;justify-content:space-between;gap:12px}.radar-door-test-head-v20412>div{display:grid;gap:2px}.radar-door-test-head-v20412 small{font-size:6.8px;font-weight:900;letter-spacing:.13em;color:#4d856a}.radar-door-test-head-v20412 strong{font-size:13px;color:#173c2f}.radar-door-test-head-v20412>span{padding:6px 9px;border-radius:999px;font-size:7px;font-weight:800;background:#e8f1ec;color:#527060}.radar-door-test-head-v20412>span.running,.radar-door-test-head-v20412>span.verifying{background:#e9f4ff;color:#35698a}.radar-door-test-head-v20412>span.passed{background:#dff6e9;color:#197448}.radar-door-test-head-v20412>span.failed{background:#fff0ee;color:#a33e36}.radar-door-test-head-v20412>span.waiting{background:#fff7e5;color:#88661c}
.radar-door-test-progress-v20412{height:8px;overflow:hidden;border-radius:999px;background:#dfe9e4}.radar-door-test-progress-v20412 i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#31a76b,#56d58f);transition:width .35s ease}
.radar-door-test-meta-v20412{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.radar-door-test-meta-v20412 span{padding:8px 9px;border:1px solid rgba(63,103,85,.09);border-radius:11px;background:rgba(255,255,255,.7);font-size:6.8px;color:#73827b}.radar-door-test-meta-v20412 b{display:block;margin-top:2px;font-size:8px;color:#314d40}

.radar-device-operation-warnings-v20410{margin-top:0}.radar-device-operation-actions-v20412{gap:10px}.radar-device-operation-actions-v20412 .radar-operation-action-v20410{min-height:82px;border-radius:17px;padding:13px 14px}.radar-device-operation-actions-v20412 .radar-operation-action-v20410>b{font-size:9.5px}.radar-device-operation-actions-v20412 .radar-operation-action-v20410>small{font-size:7px;line-height:1.25}.radar-device-operation-actions-v20412 .radar-operation-action-v20410.auto_test{background:linear-gradient(135deg,#eef9f2,#e4f5eb);border-color:#bfe2ce;color:#226b48}.radar-device-operation-actions-v20412 .radar-operation-action-v20410.auto_test>span{background:#d7efe2;color:#1d7a4e}.radar-device-operation-actions-v20412 .radar-operation-action-v20410.close{background:#fff3f0;border-color:#efd1ca;color:#91483c}.radar-device-operation-actions-v20412 .radar-operation-action-v20410.wifi_off{background:#f5f6f7;color:#56636a}
.radar-device-operation-foot-v20412{background:rgba(255,255,255,.88);border-radius:15px;box-shadow:0 8px 20px rgba(36,53,47,.025)}

@media(max-width:820px){.radar-device-operation-body-v20412{grid-template-columns:1fr}.radar-device-operation-signal-v20412{grid-row:auto;min-height:170px}.radar-door-test-v20412{grid-column:1}.radar-door-test-meta-v20412{grid-template-columns:1fr}.radar-device-operation-actions-v20412{grid-template-columns:1fr 1fr!important}.radar-device-operation-head-v20412 strong{font-size:20px!important}}
.radar-device-operation-actions-v20412 .radar-operation-action-v20410.is-disabled{opacity:.48;filter:grayscale(.28);cursor:not-allowed;box-shadow:none}.radar-device-operation-actions-v20412 .radar-operation-action-v20410.is-disabled:hover{transform:none;border-color:#dfe7eb;box-shadow:none}

/* ========================================================================== 
   MIRA v0.20.44.21 — Product foundation + mobile left workspace drawer
   ========================================================================== */

/* Product center */
.product-foundation-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:28px;align-items:center;padding:clamp(24px,3vw,42px);margin-bottom:14px;border:1px solid #e1e6eb;border-radius:26px;background:linear-gradient(145deg,#fff 0%,#f6f8fa 100%);overflow:hidden;position:relative}
.product-foundation-hero:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;right:-160px;top:-190px;background:color-mix(in srgb,var(--brand-accent) 8%,transparent);pointer-events:none}
.product-foundation-hero-copy{position:relative;z-index:1;min-width:0}.product-foundation-hero h2{max-width:780px;margin:8px 0 10px;font-size:clamp(28px,3.4vw,48px);line-height:1.04;letter-spacing:-.055em}.product-foundation-hero p{max-width:760px;margin:0;color:#737d88;font-size:11px;line-height:1.7}
.product-foundation-flow{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:8px;align-items:center;padding:15px;border:1px solid #e4e8ed;border-radius:20px;background:rgba(255,255,255,.88);box-shadow:0 15px 38px rgba(26,35,48,.05)}.product-foundation-flow>span{display:grid;gap:2px;min-width:0;padding:13px 10px;border-radius:14px;background:#f6f8fa;text-align:center}.product-foundation-flow b{font-size:10px;color:#303842}.product-foundation-flow small{font-size:7.5px;color:#8a939d}.product-foundation-flow>i{font-style:normal;color:#a6adb5;font-size:15px}
.product-foundation-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 26px}.product-foundation-metrics>a{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:13px 14px;border:1px solid #e2e6eb;border-radius:16px;background:#fff}.product-foundation-metrics>a>span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#f1f4f7;color:#59636e}.product-foundation-metrics .ui-icon{width:19px;height:19px}.product-foundation-metrics div{display:grid;min-width:0}.product-foundation-metrics small{font-size:7px;font-weight:800;letter-spacing:.08em;color:#939ba5}.product-foundation-metrics b{font-size:22px;line-height:1.1;color:#29313a}
.product-foundation-section{margin:0 0 28px;padding-top:8px;scroll-margin-top:150px}.product-foundation-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:0 3px 13px;border-bottom:1px solid #e4e8ec;margin-bottom:14px}.product-foundation-section-head h3{margin:4px 0 4px;font-size:20px;letter-spacing:-.035em}.product-foundation-section-head p{margin:0;max-width:760px;color:#7f8892;font-size:9.5px;line-height:1.6}
.product-foundation-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:start}.product-profile-list{display:grid;gap:9px}.product-profile-card{display:grid;grid-template-columns:52px minmax(0,1fr) 110px;gap:13px;align-items:center;padding:14px 15px;border:1px solid #e1e6eb;border-radius:17px;background:#fff}.product-profile-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:color-mix(in srgb,var(--brand-accent) 7%,#f5f7f9);color:var(--brand-accent)}.product-profile-icon .ui-icon{width:23px;height:23px}.product-profile-copy{min-width:0}.product-profile-copy>span{font-size:7.3px;font-weight:800;letter-spacing:.08em;color:#8e97a1}.product-profile-copy h4{margin:3px 0 1px;font-size:12.5px}.product-profile-copy>p{margin:0;color:#7e8791;font-size:8.5px}.product-capability-chips{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.product-capability-chips em{padding:4px 6px;border-radius:999px;background:#f2f4f6;color:#68717b;font-style:normal;font-size:6.6px;font-weight:700}.product-profile-meta{display:grid;grid-template-columns:auto 1fr;gap:2px 5px;align-items:baseline;border-left:1px solid #edf0f2;padding-left:13px}.product-profile-meta b{font-size:13px}.product-profile-meta small{font-size:7px;color:#929aa3}
.product-foundation-form-card{position:sticky;top:150px;padding:17px;border:1px solid #dfe4e9;border-radius:19px;background:#fff;box-shadow:0 10px 30px rgba(26,35,48,.035)}.product-foundation-form-card>h3{margin:5px 0 15px;font-size:16px}.product-foundation-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.product-foundation-form-card input,.product-foundation-form-card select,.product-foundation-form-card textarea,.tenant-contract-selector select{width:100%;border:1px solid #dfe4e8!important;background:#fbfcfd!important;border-radius:11px!important;box-shadow:none!important}.product-capability-picker{max-height:255px;overflow:auto;display:grid;gap:5px;padding:6px;border:1px solid #e5e9ed;border-radius:12px;background:#f8f9fb}.product-capability-picker label{display:grid;grid-template-columns:17px minmax(0,1fr);gap:8px;align-items:start;padding:7px 8px;border-radius:9px;background:#fff;cursor:pointer}.product-capability-picker input{width:14px!important;height:14px!important;margin:2px 0 0}.product-capability-picker span{display:grid}.product-capability-picker b{font-size:8px}.product-capability-picker small{font-size:7px;color:#8b949e}
.product-foundation-table-wrap{overflow:auto;border:1px solid #e1e6eb;border-radius:18px;background:#fff}.product-foundation-table{margin:0}.product-foundation-table th{background:#f7f8fa}.capability-catalog-list{display:grid;gap:6px}.capability-catalog-list article{display:grid;grid-template-columns:30px minmax(0,1fr) 70px 60px;gap:9px;align-items:center;padding:10px 12px;border:1px solid #e4e8ec;border-radius:13px;background:#fff}.capability-catalog-list article>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#eff7f2;color:#308359}.capability-catalog-list .ui-icon{width:14px;height:14px}.capability-catalog-list article>div{display:grid;min-width:0}.capability-catalog-list b{font-size:9px}.capability-catalog-list small{font-size:7.2px;color:#8d959e}.capability-catalog-list em{font-style:normal;font-size:7px;color:#7a838d;text-transform:uppercase}.capability-catalog-list strong{font-size:7.5px;text-align:right;color:#59636d}
.contracts-head{align-items:end}.tenant-contract-selector{display:grid;gap:5px;min-width:290px}.tenant-contract-selector label{font-size:7.5px;font-weight:800;letter-spacing:.08em;color:#89929c}.tenant-contract-card{border:1px solid #dfe4e9;border-radius:20px;background:#fff;overflow:hidden}.tenant-contract-title{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:11px;align-items:center;padding:15px 17px;border-bottom:1px solid #e8ebee;background:#fafbfc}.tenant-contract-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--brand-accent) 9%,#fff);color:var(--brand-accent)}.tenant-contract-icon .ui-icon{width:21px;height:21px}.tenant-contract-title>div{display:grid}.tenant-contract-title small{font-size:7px;font-weight:800;letter-spacing:.08em;color:#929aa4}.tenant-contract-title b{font-size:12px}.tenant-contract-title div>span{font-size:8px;color:#7d8690}.tenant-contract-title>em{font-style:normal;padding:6px 9px;border-radius:999px;background:#edf7f1;color:#347b51;font-size:7.5px;font-weight:750}
.tenant-contract-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:10px 14px 15px}.tenant-contract-domain{grid-column:1/-1;padding:12px 5px 6px;border-bottom:1px solid #edf0f2;margin-bottom:4px}.tenant-contract-domain span{font-size:7.2px;font-weight:850;letter-spacing:.12em;color:#929ba4}.tenant-contract-cap{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center;padding:8px;border-radius:11px;cursor:pointer}.tenant-contract-cap:hover{background:#f7f9fa}.tenant-contract-cap>input{position:absolute;opacity:0;pointer-events:none}.tenant-contract-cap>span:last-child{display:grid;min-width:0}.tenant-contract-cap b{font-size:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-contract-cap small{font-size:7px;color:#8a939d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-contract-switch{width:28px;height:17px;padding:2px;border-radius:999px;background:#dfe4e8;transition:.15s}.tenant-contract-switch i{display:block;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(20,30,40,.15);transition:.15s}.tenant-contract-cap>input:checked+.tenant-contract-switch{background:var(--brand-accent)}.tenant-contract-cap>input:checked+.tenant-contract-switch i{transform:translateX(11px)}.tenant-contract-save{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;border-top:1px solid #e8ebee;background:#fafbfc}.tenant-contract-save>span{display:flex;align-items:center;gap:7px;color:#7c858f;font-size:7.8px}.tenant-contract-save .ui-icon{width:15px;height:15px}
.product-foundation-missing{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:start;max-width:860px;margin:9vh auto;padding:24px;border:1px solid #ecd8a8;border-radius:22px;background:#fffdf7}.product-foundation-missing>span{width:56px;height:56px;display:grid;place-items:center;border-radius:17px;background:#fff3d2;color:#8a6805}.product-foundation-missing .ui-icon{width:25px;height:25px}.product-foundation-missing small{font-size:7.5px;font-weight:850;letter-spacing:.1em;color:#997719}.product-foundation-missing h2{margin:5px 0 8px}.product-foundation-missing p{margin:0;color:#7d7463;line-height:1.7}

/* Mobile drawer is rendered for authenticated users but only becomes interactive on small screens. */
.mobile-app-backdrop,.mobile-app-drawer,.mobile-tenant-rail{display:none}

@media(max-width:1120px){
  .product-foundation-hero{grid-template-columns:1fr}.product-foundation-layout{grid-template-columns:1fr 330px}.tenant-contract-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-foundation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:980px){
  body.nav-open{overflow:hidden;touch-action:none}
  .app-header{z-index:140!important}
  .header-bar{grid-template-columns:auto minmax(0,1fr) auto!important;gap:9px!important;padding:0 11px!important}
  .mobile-nav-button{display:grid!important;grid-column:1!important;grid-row:1!important;position:relative!important;inset:auto!important;z-index:1!important}
  .brand{grid-column:2!important;grid-row:1!important;justify-self:start!important;min-width:0!important}
  .header-actions{grid-column:3!important;grid-row:1!important;justify-self:end!important}
  .top-nav{display:none!important}
  .has-tenant-workspace .tenant-workspace-bar{display:none!important}
  .has-tenant-workspace .tenant-context-menu{display:none!important}
  .has-tenant-workspace .mobile-nav-button{display:none!important}

  .mobile-app-backdrop{display:block;position:fixed;inset:0;z-index:149;background:rgba(20,27,36,.32);backdrop-filter:blur(3px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.mobile-app-backdrop.open{opacity:1;visibility:visible;pointer-events:auto}
  .mobile-app-drawer{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;position:fixed;left:0;top:0;bottom:0;z-index:150;width:min(86vw,350px);max-width:350px;background:#fff;box-shadow:24px 0 70px rgba(18,26,36,.2);transform:translate3d(-104%,0,0);visibility:hidden;transition:transform .24s cubic-bezier(.2,.8,.2,1),visibility .24s ease;overflow:hidden;padding-top:env(safe-area-inset-top)}.mobile-app-drawer.open{transform:translate3d(0,0,0);visibility:visible}
  .mobile-drawer-head{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid #e9ecef}.mobile-drawer-brand{display:flex;align-items:center;gap:9px;min-width:0}.mobile-drawer-brand>span:last-child{display:grid;min-width:0}.mobile-drawer-brand b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-drawer-brand small{font-size:7.5px;color:#8a929c}.mobile-drawer-close{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:12px;background:#f1f3f5;color:#59616b}.mobile-drawer-close .ui-icon{width:17px;height:17px}
  .mobile-drawer-tenant{display:grid;grid-template-columns:42px minmax(0,1fr) 8px;gap:10px;align-items:center;margin:10px 10px 0;padding:11px;border-radius:15px;background:linear-gradient(145deg,color-mix(in srgb,var(--brand-accent) 8%,#fff),#f7f9fa);border:1px solid color-mix(in srgb,var(--brand-accent) 16%,#e3e7eb)}.mobile-drawer-tenant-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#fff;color:var(--brand-accent)}.mobile-drawer-tenant-icon .ui-icon{width:19px;height:19px}.mobile-drawer-tenant>div{display:grid;min-width:0}.mobile-drawer-tenant small{font-size:6.7px;font-weight:850;letter-spacing:.09em;color:#8a939d}.mobile-drawer-tenant b{font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-drawer-tenant div>span{font-size:7.5px;color:#7c858f}.mobile-drawer-tenant>i{width:7px;height:7px;border-radius:50%;background:#35a866;box-shadow:0 0 0 4px rgba(53,168,102,.09)}
  .mobile-drawer-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:9px 9px 18px}.mobile-drawer-section{padding:8px 0}.mobile-drawer-section+.mobile-drawer-section{border-top:1px solid #edf0f2}.mobile-drawer-kicker{display:block;padding:4px 9px 7px;font-size:6.8px;font-weight:850;letter-spacing:.11em;color:#a0a7af}.mobile-drawer-nav{display:grid;gap:3px}.mobile-drawer-link{min-height:45px;display:grid;grid-template-columns:32px minmax(0,1fr) 15px;gap:8px;align-items:center;padding:6px 9px;border-radius:12px;color:#525b65}.mobile-drawer-link>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#f2f4f6}.mobile-drawer-link>span .ui-icon{width:16px;height:16px}.mobile-drawer-link>b{font-size:9.5px;font-weight:680}.mobile-drawer-link>.ui-icon{width:13px;height:13px;color:#a4abb3}.mobile-drawer-link.active{background:color-mix(in srgb,var(--brand-accent) 7%,#f8fafb);color:var(--brand-accent)}.mobile-drawer-link.active>span{background:#fff;box-shadow:0 2px 9px rgba(24,35,48,.05)}
  .mobile-drawer-context-actions{display:grid;gap:3px}.mobile-drawer-context-actions form{margin:0}.mobile-drawer-action{width:100%;min-height:48px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center;padding:7px 9px;border:0;border-radius:11px;background:transparent;color:#4f5862;text-align:left}.mobile-drawer-action:hover{background:#f5f7f8}.mobile-drawer-action>.ui-icon{width:16px;height:16px;justify-self:center}.mobile-drawer-action>span{display:grid}.mobile-drawer-action b{font-size:8.8px}.mobile-drawer-action small{font-size:7.1px;color:#929aa3}.mobile-drawer-action.danger{color:#9c3e39}
  .mobile-drawer-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;padding:9px 10px calc(9px + env(safe-area-inset-bottom));border-top:1px solid #e7eaed;background:#fafbfc}.mobile-drawer-foot>a{min-height:44px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center;padding:5px 8px;border-radius:11px}.mobile-drawer-foot>a>.ui-icon{width:16px;height:16px}.mobile-drawer-foot>a>span{display:grid}.mobile-drawer-foot b{font-size:8.5px}.mobile-drawer-foot small{font-size:7px;color:#8d959e}.mobile-drawer-foot form{margin:0}.mobile-drawer-foot button{height:40px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border:0;border-radius:11px;background:#edf0f3;color:#59616a;font-size:8.5px}.mobile-drawer-foot button .ui-icon{width:15px;height:15px}

  .mobile-tenant-rail{display:grid;grid-template-rows:auto 1fr;gap:7px;place-items:center;position:fixed;left:0;top:44%;z-index:135;width:42px;height:112px;padding:11px 6px;border:1px solid #dbe0e5;border-left:0;border-radius:0 14px 14px 0;background:rgba(255,255,255,.96);color:#4f5964;box-shadow:8px 8px 24px rgba(24,34,46,.11);backdrop-filter:blur(12px)}.mobile-tenant-rail .ui-icon{width:18px;height:18px;color:var(--brand-accent)}.mobile-tenant-rail span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:6.7px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.nav-open .mobile-tenant-rail{opacity:0;pointer-events:none}

  .product-foundation-layout{grid-template-columns:1fr}.product-foundation-form-card{position:static}.tenant-contract-grid{grid-template-columns:1fr 1fr}.contracts-head{align-items:stretch;flex-direction:column}.tenant-contract-selector{min-width:0;width:100%}.product-foundation-section{scroll-margin-top:82px}
}

@media(max-width:680px){
  .product-foundation-hero{padding:20px 16px;border-radius:20px}.product-foundation-flow{grid-template-columns:1fr;gap:5px}.product-foundation-flow>i{transform:rotate(90deg);justify-self:center}.product-foundation-metrics{grid-template-columns:1fr 1fr}.product-foundation-layout{display:block}.product-foundation-form-card{margin-top:10px}.product-profile-card{grid-template-columns:44px minmax(0,1fr);align-items:start}.product-profile-icon{width:44px;height:44px}.product-profile-meta{grid-column:2;border-left:0;padding:4px 0 0;grid-template-columns:auto auto auto auto;justify-content:start}.capability-catalog-list article{grid-template-columns:30px minmax(0,1fr) 55px}.capability-catalog-list article>strong{display:none}.tenant-contract-grid{grid-template-columns:1fr}.tenant-contract-title{grid-template-columns:42px minmax(0,1fr)}.tenant-contract-title>em{grid-column:2;justify-self:start}.tenant-contract-save{align-items:stretch;flex-direction:column}.tenant-contract-save .btn{width:100%}.product-foundation-form-grid{grid-template-columns:1fr}
}

@media(max-width:460px){
  .mobile-app-drawer{width:min(91vw,350px)}.mobile-tenant-rail{top:42%;height:104px}.product-foundation-metrics{gap:7px}.product-foundation-metrics>a{grid-template-columns:36px minmax(0,1fr);padding:10px}.product-foundation-metrics>a>span{width:36px;height:36px}.product-foundation-hero h2{font-size:29px}.product-foundation-section-head h3{font-size:18px}
}

/* v0.20.44.22 — Product Center: grouped, Turkish-first accordion UI */
.pc-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;padding:4px 2px}.pc-head h2{margin:0 0 5px;font-size:28px;letter-spacing:-.035em}.pc-head p{margin:0;color:#6f7883;font-size:14px}.pc-head-status{display:flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #dfe8e2;border-radius:999px;background:#f7fbf8;color:#477257;font-size:12px;font-weight:750;white-space:nowrap}.pc-head-status>span{width:8px;height:8px;border-radius:50%;background:#40a368}
.pc-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}.pc-stats>a{display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px solid #e2e6ea;border-radius:16px;background:#fff;color:inherit;text-decoration:none;transition:.15s}.pc-stats>a:hover{border-color:#ccd4db;transform:translateY(-1px)}.pc-stats>a>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#f3f5f7;color:#56616d}.pc-stats .ui-icon{width:18px;height:18px}.pc-stats div{display:flex;align-items:baseline;gap:7px;min-width:0}.pc-stats b{font-size:21px;line-height:1}.pc-stats small{font-size:12px;color:#7c858f;white-space:nowrap}
.pc-section{margin:0 0 12px;border:1px solid #e0e5e9;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 4px 16px rgba(22,31,41,.025)}.pc-section>summary,.pc-group>summary,.pc-item>summary,.pc-add>summary,.pc-inner>summary,.pc-check-groups>details>summary{list-style:none;cursor:pointer}.pc-section summary::-webkit-details-marker,.pc-group summary::-webkit-details-marker,.pc-item summary::-webkit-details-marker,.pc-add summary::-webkit-details-marker,.pc-inner summary::-webkit-details-marker,.pc-check-groups summary::-webkit-details-marker{display:none}
.pc-section>summary{display:grid;grid-template-columns:44px minmax(0,1fr) auto 22px;gap:12px;align-items:center;padding:16px 18px}.pc-section>summary:hover{background:#fafbfc}.pc-summary-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--brand-accent) 8%,#f4f6f8);color:var(--brand-accent)}.pc-summary-icon .ui-icon{width:20px;height:20px}.pc-section>summary>span:nth-child(2){display:grid;gap:2px}.pc-section>summary b{font-size:16px}.pc-section>summary small{font-size:12px;color:#7c858e}.pc-section>summary>em{font-style:normal;min-width:34px;text-align:center;padding:6px 9px;border-radius:999px;background:#f1f3f5;color:#5e6872;font-size:12px;font-weight:800}.pc-section>summary>i,.pc-group>summary>i,.pc-item>summary>i,.pc-add>summary>i,.pc-inner>summary>i,.pc-check-groups summary>i{width:9px;height:9px;border-right:2px solid #8a949e;border-bottom:2px solid #8a949e;transform:rotate(45deg);transition:.15s;justify-self:end}.pc-section[open]>summary>i,.pc-group[open]>summary>i,.pc-item[open]>summary>i,.pc-add[open]>summary>i,.pc-inner[open]>summary>i,.pc-check-groups details[open]>summary>i{transform:rotate(225deg)}.pc-section-body{border-top:1px solid #edf0f2;padding:14px 16px 16px;background:#fbfcfd}
.pc-groups{display:grid;gap:9px}.pc-group{border:1px solid #e3e7eb;border-radius:14px;background:#fff;overflow:hidden}.pc-group>summary{display:grid;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:12px;padding:13px 15px}.pc-group>summary:hover{background:#fafbfc}.pc-group>summary>span{display:flex;align-items:baseline;gap:8px;min-width:0}.pc-group>summary b{font-size:14px}.pc-group>summary small{font-size:11px;color:#8a939c}.pc-group-body,.pc-contract-options,.pc-feature-rows{border-top:1px solid #edf0f2;padding:8px;background:#f8fafb}
.pc-item{border-radius:11px;background:#fff;border:1px solid transparent}.pc-item+.pc-item{margin-top:6px}.pc-item[open]{border-color:#e0e5e9}.pc-item>summary{display:grid;grid-template-columns:38px minmax(0,1fr) auto 18px;gap:10px;align-items:center;padding:10px 11px}.pc-item>summary:hover{background:#fafbfc}.pc-item-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#f2f5f7;color:#5c6772}.pc-item-icon .ui-icon{width:17px;height:17px}.pc-item-name{display:grid;gap:1px}.pc-item-name b{font-size:13px}.pc-item-name small{font-size:11px;color:#7f8891}.pc-item-count{font-size:11px;color:#727c86;white-space:nowrap}.pc-item-body{border-top:1px solid #edf0f2;padding:13px 13px 14px}.pc-tech-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pc-tech-grid>div{display:grid;gap:3px;padding:10px;border:1px solid #e5e9ed;border-radius:10px;background:#fafbfc}.pc-tech-grid small{font-size:10px;color:#8a939c}.pc-tech-grid b{font-size:11px;word-break:break-word}.pc-feature-block{margin-top:12px}.pc-feature-block h4{margin:0 0 7px;font-size:12px}.pc-feature-list{display:flex;flex-wrap:wrap;gap:6px}.pc-feature-list>span{display:grid;gap:1px;padding:7px 9px;border-radius:10px;background:#f2f5f7}.pc-feature-list b{font-size:11px}.pc-feature-list small{font-size:9px;color:#8a939c}
.pc-add{margin-top:10px;border:1px dashed #ccd4db;border-radius:14px;background:#fff;overflow:hidden}.pc-add>summary{display:grid;grid-template-columns:28px minmax(0,1fr) 20px;gap:10px;align-items:center;padding:13px 15px}.pc-add>summary>.ui-icon{width:18px;height:18px;color:var(--brand-accent)}.pc-add>summary>span{display:grid;gap:1px}.pc-add>summary b{font-size:13px}.pc-add>summary small{font-size:11px;color:#818b95}.pc-form{border-top:1px solid #edf0f2;padding:14px 15px 15px;background:#fbfcfd}.pc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pc-form .field label{font-size:11px}.pc-form input,.pc-form select,.pc-form textarea,.pc-tenant-picker select{width:100%;border:1px solid #dce2e7!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important}.pc-inner{margin:4px 0 12px;border:1px solid #e2e7eb;border-radius:11px;background:#fff}.pc-inner>summary{display:grid;grid-template-columns:1fr 18px;align-items:center;padding:10px 12px;font-size:12px;font-weight:750}.pc-inner-body{border-top:1px solid #edf0f2;padding:11px}.pc-check-groups{display:grid;gap:6px;margin-top:5px}.pc-check-groups>details{border:1px solid #e2e7eb;border-radius:10px;background:#fff;overflow:hidden}.pc-check-groups>details>summary{display:grid;grid-template-columns:1fr auto 18px;gap:8px;align-items:center;padding:9px 11px}.pc-check-groups>details>summary span{font-size:12px;font-weight:750}.pc-check-groups>details>summary small{font-size:10px;color:#87919a}.pc-check-groups>details>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;border-top:1px solid #edf0f2;padding:7px;background:#f8fafb}.pc-check{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start;padding:8px;border-radius:9px;background:#fff;cursor:pointer}.pc-check input{width:15px!important;height:15px!important;margin-top:2px}.pc-check span{display:grid}.pc-check b{font-size:11px}.pc-check small{font-size:9px;color:#89929b}
.pc-device-list{display:grid;gap:7px}.pc-device-list article{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #e3e7eb;border-radius:12px;background:#fff}.pc-device-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#f2f5f7}.pc-device-list article>div{display:grid}.pc-device-list b{font-size:12px}.pc-device-list small,.pc-device-list article>span:nth-last-child(2){font-size:10px;color:#7f8992}.pc-empty{display:flex;align-items:center;gap:11px;padding:16px;border:1px solid #e5e9ed;border-radius:13px;background:#fff}.pc-empty>span{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#f3f5f7;color:#6d7883}.pc-empty>div{display:grid;gap:2px}.pc-empty b{font-size:12px}.pc-empty small{font-size:10px;color:#838d96}
.pc-feature-rows{display:grid;gap:5px}.pc-feature-rows article{display:grid;grid-template-columns:30px minmax(0,1fr) 70px 70px;gap:9px;align-items:center;padding:9px 10px;border-radius:10px;background:#fff}.pc-feature-rows article>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#eff6f1;color:#3d7c54}.pc-feature-rows article>div{display:grid}.pc-feature-rows b{font-size:11px}.pc-feature-rows small{font-size:9px;color:#89929b}.pc-feature-rows em{font-style:normal;font-size:10px;color:#68727c}.pc-feature-rows>article>small{text-align:right}
.pc-tenant-picker{display:grid;grid-template-columns:120px minmax(220px,420px);gap:10px;align-items:center;margin-bottom:10px;padding:11px 12px;border:1px solid #e3e7eb;border-radius:12px;background:#fff}.pc-tenant-picker label{font-size:12px;font-weight:800}.pc-contract{border:1px solid #e0e5e9;border-radius:14px;background:#fff;overflow:hidden}.pc-contract-head{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid #edf0f2}.pc-contract-head>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--brand-accent) 8%,#f4f6f8);color:var(--brand-accent)}.pc-contract-head>div{display:grid;gap:2px}.pc-contract-head b{font-size:13px}.pc-contract-head small{font-size:10px;color:#818b94}.pc-contract-groups{display:grid;gap:7px;padding:9px;background:#f8fafb}.pc-contract-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.pc-toggle{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;padding:9px;border-radius:10px;background:#fff;cursor:pointer}.pc-toggle>input{position:absolute;opacity:0;pointer-events:none}.pc-toggle>span:last-child{display:grid;gap:1px}.pc-toggle b{font-size:11px}.pc-toggle small{font-size:9px;color:#89929b}.pc-switch{width:32px;height:19px;padding:2px;border-radius:999px;background:#dfe4e8;transition:.15s}.pc-switch i{display:block;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(20,30,40,.16);transition:.15s}.pc-toggle>input:checked+.pc-switch{background:var(--brand-accent)}.pc-toggle>input:checked+.pc-switch i{transform:translateX(13px)}.pc-savebar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-top:1px solid #e8ecef;background:#fff}.pc-savebar>span{font-size:10px;color:#7e8891}
@media(max-width:900px){.pc-stats{grid-template-columns:1fr 1fr}.pc-tech-grid{grid-template-columns:1fr 1fr}.pc-check-groups>details>div,.pc-contract-options{grid-template-columns:1fr}.pc-feature-rows article{grid-template-columns:30px minmax(0,1fr) 58px}.pc-feature-rows>article>small{display:none}.pc-device-list article{grid-template-columns:38px minmax(0,1fr) auto}.pc-device-list article>span:nth-last-child(2){display:none}}
@media(max-width:620px){.pc-head{align-items:flex-start}.pc-head h2{font-size:24px}.pc-head p{font-size:12px}.pc-head-status{display:none}.pc-stats{gap:7px}.pc-stats>a{padding:10px;gap:8px}.pc-stats>a>span{width:34px;height:34px}.pc-stats div{display:grid;gap:2px}.pc-stats b{font-size:17px}.pc-stats small{font-size:9px}.pc-section>summary{grid-template-columns:38px minmax(0,1fr) auto 18px;padding:13px 12px;gap:9px}.pc-summary-icon{width:38px;height:38px}.pc-section>summary b{font-size:14px}.pc-section>summary small{font-size:10px}.pc-section-body{padding:9px}.pc-group>summary{padding:11px}.pc-group>summary>span{display:grid;gap:1px}.pc-item>summary{grid-template-columns:36px minmax(0,1fr) 18px}.pc-item-count{display:none}.pc-tech-grid,.pc-form-grid{grid-template-columns:1fr}.pc-tenant-picker{grid-template-columns:1fr;gap:5px}.pc-savebar{align-items:stretch;flex-direction:column}.pc-savebar .btn{width:100%}.pc-check-groups>details>div{grid-template-columns:1fr}.pc-feature-rows article{grid-template-columns:28px minmax(0,1fr) 55px}.pc-feature-list{display:grid;grid-template-columns:1fr}.pc-device-list article{grid-template-columns:36px minmax(0,1fr)}.pc-device-list article>.badge{grid-column:2;justify-self:start}}

/* ========================================================================== 
   MIRA v0.20.44.24 — Premium mobile experience
   Login + PWA install + mobile left drawer + global visual polish
   ========================================================================== */

:root{
  --m23-bg:#f5f7fa;
  --m23-surface:#ffffff;
  --m23-ink:#17202b;
  --m23-muted:#788390;
  --m23-line:#e5e9ee;
  --m23-shadow:0 14px 40px rgba(22,32,45,.07);
  --m23-shadow-strong:0 24px 70px rgba(15,24,36,.14);
}

/* System-wide polish without changing behavior */
body.app-authenticated{background:var(--m23-bg)!important;color:var(--m23-ink)!important}
body.app-authenticated .card,
body.app-authenticated .form-stage,
body.app-authenticated .hub-hero,
body.app-authenticated .product-hero{
  border-radius:20px!important;
  border-color:var(--m23-line)!important;
  box-shadow:0 8px 28px rgba(24,35,48,.045)!important;
}
body.app-authenticated .btn,
body.app-authenticated button.btn,
body.app-authenticated input,
body.app-authenticated select,
body.app-authenticated textarea{
  border-radius:12px!important;
}
body.app-authenticated .btn{min-height:42px!important;font-weight:650!important;letter-spacing:-.01em!important}
body.app-authenticated input,
body.app-authenticated select{min-height:44px!important}
body.app-authenticated .page-header h1{letter-spacing:-.035em!important;color:#202832!important}
body.app-authenticated .page-breadcrumb{color:#98a0a9!important}

/* ------------------------------ LOGIN ----------------------------------- */
body.is-login-page{background:#edf2f6!important;overflow-x:hidden!important}
body.is-login-page .auth-main{padding:0!important;min-height:100dvh!important;background:#edf2f6!important}
.login-v23{min-height:100dvh!important;background:#edf2f6!important;grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr)!important}
.login-v23 .login-v10-stage{
  background:
    radial-gradient(circle at 18% 15%,color-mix(in srgb,var(--brand-accent) 45%,transparent),transparent 26%),
    radial-gradient(circle at 88% 82%,rgba(99,102,241,.20),transparent 30%),
    linear-gradient(148deg,#0b1320 0%,#101d2b 56%,#16273a 100%)!important;
  padding:clamp(34px,4.4vw,70px)!important;
}
.login-v23 .login-v10-stage:before{background-size:58px 58px!important;opacity:.55!important}
.login-v23 .login-v10-stage:after{content:"";position:absolute;inset:auto -14% -22% auto;width:62%;aspect-ratio:1;border:1px solid rgba(255,255,255,.08);border-radius:50%!important;box-shadow:0 0 0 72px rgba(255,255,255,.018),0 0 0 144px rgba(255,255,255,.012);pointer-events:none}
.login-v23 .login-v10-brand{gap:12px!important}
.login-v23 .login-v10-mark{width:48px!important;height:48px!important;border-radius:15px!important;box-shadow:0 14px 36px rgba(0,0,0,.22)!important}
.login-v23 .login-v10-brand b{font-size:16px!important;color:#fff!important;letter-spacing:-.02em!important}
.login-v23 .login-v10-brand small{font-size:10px!important;color:rgba(255,255,255,.56)!important}
.login-v23 .login-v10-message{max-width:760px!important}
.login-v23 .login-v10-message .eyebrow{font-size:10px!important;color:#a9bdd2!important;letter-spacing:.16em!important}
.login-v23 .login-v10-message h1{max-width:760px!important;font-size:clamp(48px,5.3vw,82px)!important;line-height:.98!important;margin:14px 0 18px!important;color:#fff!important;letter-spacing:-.058em!important}
.login-v23 .login-v10-message p{max-width:620px!important;font-size:14px!important;line-height:1.65!important;color:rgba(226,235,244,.68)!important}
.login-v23 .login-v10-board{max-width:720px!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:22px!important;padding:14px!important;background:rgba(255,255,255,.045)!important;backdrop-filter:blur(10px)!important}
.login-v23 .login-board-head{margin:0 0 10px!important;padding:0 2px!important;font-size:9px!important;color:#96a8b9!important}
.login-v23 .login-board-head i{border-radius:50%!important}
.login-v23 .login-board-grid{gap:7px!important;background:transparent!important}
.login-v23 .login-board-grid>span{min-height:108px!important;border-radius:15px!important;background:rgba(6,14,23,.38)!important;border:1px solid rgba(255,255,255,.06)!important;padding:13px!important}
.login-v23 .login-board-grid b{font-size:11px!important;color:#f7fafc!important}
.login-v23 .login-board-grid small{font-size:9px!important;color:#8295a7!important}
.login-v23 .login-v10-footer span{font-size:9px!important;color:#75889b!important}
.login-v23 .login-v10-panel{background:#f3f6f9!important;padding:clamp(28px,5vw,74px)!important}
.login-v23 .login-v10-panel:before{display:none!important}
.login-v23 .login-v10-panel:after{display:none!important}
.login-v23 .login-v10-form-wrap{width:min(430px,100%)!important;background:#fff!important;border:1px solid #e5eaf0!important;border-radius:26px!important;padding:32px!important;box-shadow:var(--m23-shadow-strong)!important}
.login-v23 .login-v10-form-head{margin-bottom:24px!important}
.login-v23 .login-v10-form-head .eyebrow{font-size:9px!important;letter-spacing:.13em!important;color:var(--brand-accent)!important}
.login-v23 .login-v10-form-head h2{font-size:38px!important;line-height:1.02!important;margin:7px 0 7px!important;color:#17202b!important;letter-spacing:-.045em!important}
.login-v23 .login-v10-form-head p{font-size:12px!important;color:#7d8792!important}
.login-v23 .login-v10-form{gap:14px!important}
.login-v23 .login-v10-form .field label{font-size:11px!important;color:#56616d!important;margin-bottom:7px!important}
.login-v23 .login-v10-form input{min-height:54px!important;padding:0 15px!important;border:1px solid #dfe5eb!important;border-radius:14px!important;background:#f9fbfc!important;box-shadow:none!important;font-size:14px!important;color:#17202b!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important}
.login-v23 .login-v10-form input:focus{background:#fff!important;border-color:color-mix(in srgb,var(--brand-accent) 55%,#cfd6de)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-accent) 10%,transparent)!important}
.login-v23 .login-submit{min-height:54px!important;border-radius:14px!important;margin-top:3px!important;font-size:13px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;box-shadow:0 12px 26px color-mix(in srgb,var(--brand-accent) 22%,transparent)!important}
.login-v23 .login-submit .ui-icon{width:18px!important;height:18px!important}
.login-v23 .login-v10-security{display:flex!important;align-items:center!important;gap:8px!important;margin-top:15px!important;padding-top:14px!important;border-top:1px solid #edf0f3!important;color:#77818c!important}
.login-v23 .login-v10-security i{width:7px!important;height:7px!important;border-radius:50%!important;margin:0!important;background:#34a36a!important;box-shadow:0 0 0 4px rgba(52,163,106,.09)!important}
.login-v23 .login-v10-security span{font-size:10px!important;font-weight:650!important}

/* PWA install is compact and calm — no giant floating animation. */
.login-v23 .login-install-inline{display:block!important;margin-top:12px!important}
.login-v23 .login-install-btn{
  width:100%!important;min-height:50px!important;padding:8px 11px!important;gap:10px!important;
  border:1px solid #e1e6eb!important;border-radius:14px!important;background:#f7f9fb!important;color:#26313d!important;
  box-shadow:none!important;animation:none!important;transform:none!important;
}
.login-v23 .login-install-btn:hover{background:#f1f5f8!important;border-color:#d7dee5!important;transform:none!important;box-shadow:none!important}
.login-v23 .login-install-glyph{width:30px!important;height:30px!important;flex:0 0 30px!important;border-radius:9px!important;background:#fff!important;color:var(--brand-accent)!important;box-shadow:0 2px 8px rgba(20,30,40,.06)!important;border:1px solid #e4e8ec!important}
.login-v23 .login-install-glyph i{top:6px!important;width:2px!important;height:11px!important;background:var(--brand-accent)!important;animation:miraInstallArrowSmall 1.8s ease-in-out infinite!important}
.login-v23 .login-install-glyph i:after{width:6px!important;height:6px!important;border-right:2px solid var(--brand-accent)!important;border-bottom:2px solid var(--brand-accent)!important}
.login-v23 .login-install-glyph u{left:7px!important;right:7px!important;bottom:5px!important;height:7px!important;border:1.5px solid color-mix(in srgb,var(--brand-accent) 72%,#718096)!important;border-top:0!important;border-radius:0 0 4px 4px!important}
.login-v23 .login-install-glyph:after{display:none!important}
.login-v23 .login-install-btn>span{gap:1px!important}
.login-v23 .login-install-btn>span b{font-size:11px!important;color:#283440!important}
.login-v23 .login-install-btn>span small{font-size:9px!important;color:#8a949e!important}
.login-v23 .login-install-btn>strong{font-size:20px!important;font-weight:400!important;color:#95a0aa!important}
.login-v23 .login-install-btn.is-installing .login-install-glyph i{top:8px!important;left:8px!important;width:12px!important;height:12px!important;border:2px solid #d8e1ea!important;border-top-color:var(--brand-accent)!important;border-radius:50%!important;background:transparent!important;transform:none!important;animation:miraTinySpin .65s linear infinite!important}
.login-v23 .login-install-btn.is-installing .login-install-glyph i:after,.login-v23 .login-install-btn.is-installing .login-install-glyph u{display:none!important}
@keyframes miraInstallArrowSmall{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,2px)}}
@keyframes miraTinySpin{to{transform:rotate(360deg)}}

.login-v23 .ios-install-dialog{border-radius:24px!important}
.login-v23 .ios-install-card{border-radius:24px!important;padding:24px 20px 18px!important}
.login-v23 .ios-install-badge{width:48px!important;height:48px!important;border-radius:14px!important}
.login-v23 .ios-install-badge .ui-icon{width:22px!important;height:22px!important}
.login-v23 .ios-install-card h3{font-size:23px!important}
.login-v23 .ios-install-card p,.login-v23 .ios-install-card ol li{font-size:11px!important}

/* Mobile / PWA login */
@media(max-width:760px){
  html,body.is-login-page{min-height:100%!important;height:auto!important;overflow:auto!important}
  body.is-login-page .auth-main{height:auto!important;min-height:100dvh!important;overflow:visible!important}
  .login-v23{display:block!important;width:100%!important;height:auto!important;min-height:100dvh!important;overflow:visible!important;background:#eef2f6!important}
  .login-v23 .login-v10-stage{height:auto!important;min-height:225px!important;padding:calc(18px + env(safe-area-inset-top)) 18px 46px!important;display:block!important;border-radius:0!important}
  .login-v23 .login-v10-brand{display:flex!important}
  .login-v23 .login-v10-mark{width:42px!important;height:42px!important;border-radius:13px!important}
  .login-v23 .login-v10-brand b{font-size:14px!important}.login-v23 .login-v10-brand small{font-size:9px!important}
  .login-v23 .login-v10-message{display:block!important;margin-top:28px!important;max-width:520px!important}
  .login-v23 .login-v10-message .eyebrow{display:none!important}
  .login-v23 .login-v10-message h1{font-size:clamp(34px,9.3vw,44px)!important;line-height:1.02!important;margin:0 0 10px!important;max-width:430px!important}
  .login-v23 .login-v10-message p{display:block!important;font-size:11.5px!important;line-height:1.55!important;max-width:390px!important;color:rgba(229,237,245,.65)!important}
  .login-v23 .login-v10-board,.login-v23 .login-v10-footer{display:none!important}
  .login-v23 .login-v10-panel{height:auto!important;min-height:0!important;padding:0 14px calc(22px + env(safe-area-inset-bottom))!important;margin-top:-27px!important;display:block!important;background:#eef2f6!important}
  .login-v23 .login-v10-form-wrap{width:min(100%,460px)!important;margin:0 auto!important;padding:24px 18px 18px!important;border-radius:24px!important;box-shadow:0 20px 50px rgba(19,29,42,.13)!important}
  .login-v23 .login-v10-form-head{margin-bottom:18px!important}
  .login-v23 .login-v10-form-head .eyebrow{font-size:8.5px!important}
  .login-v23 .login-v10-form-head h2{font-size:30px!important;margin:5px 0 5px!important}
  .login-v23 .login-v10-form-head p{display:block!important;font-size:11px!important}
  .login-v23 .login-v10-form{gap:12px!important}
  .login-v23 .login-v10-form .field label{font-size:10.5px!important}
  .login-v23 .login-v10-form input{min-height:52px!important;font-size:16px!important;border-radius:13px!important} /* 16px prevents iOS zoom */
  .login-v23 .login-submit{min-height:52px!important;border-radius:13px!important;font-size:12.5px!important}
  .login-v23 .login-v10-security{margin-top:12px!important;padding-top:12px!important}
  .login-v23 .login-install-inline{display:block!important;margin-top:10px!important}
  .login-v23 .login-install-btn{min-height:48px!important;border-radius:13px!important;padding:7px 10px!important}
  .login-v23 .login-install-glyph{width:28px!important;height:28px!important;flex-basis:28px!important}
  .login-v23 .ios-install-dialog{width:min(92vw,380px)!important;max-width:min(92vw,380px)!important}
}

@media(max-width:390px){
  .login-v23 .login-v10-stage{min-height:205px!important;padding-left:15px!important;padding-right:15px!important}
  .login-v23 .login-v10-message{margin-top:22px!important}.login-v23 .login-v10-message h1{font-size:33px!important}
  .login-v23 .login-v10-panel{padding-left:10px!important;padding-right:10px!important;margin-top:-23px!important}
  .login-v23 .login-v10-form-wrap{padding:21px 15px 16px!important;border-radius:21px!important}
}

@media(display-mode:standalone) and (max-width:760px){
  body.is-login-page{background:#eef2f6!important}
  .login-v23 .login-v10-stage{padding-top:calc(14px + env(safe-area-inset-top))!important;min-height:215px!important}
  .login-v23 .login-install-inline{display:none!important}
}

/* ------------------------- MOBILE LEFT MENU ------------------------------ */
@media(max-width:980px){
  body.app-authenticated .app-header{background:rgba(255,255,255,.94)!important;box-shadow:0 1px 0 rgba(24,34,46,.07)!important;backdrop-filter:blur(20px) saturate(160%)!important}
  body.app-authenticated .header-bar{min-height:64px!important;height:64px!important;padding:0 12px!important}
  body.app-authenticated .brand-logo{border-radius:12px!important}
  body.app-authenticated .mobile-nav-button{width:42px!important;height:42px!important;border-radius:13px!important;background:#f1f4f7!important;color:#46515d!important}

  .mobile-app-backdrop{background:rgba(9,16,25,.48)!important;backdrop-filter:blur(7px)!important;transition:opacity .22s ease,visibility .22s ease!important}
  .mobile-app-drawer{
    width:min(92vw,390px)!important;max-width:390px!important;
    grid-template-rows:auto auto minmax(0,1fr) auto!important;
    background:#f5f7fa!important;
    border-radius:0 28px 28px 0!important;
    box-shadow:30px 0 90px rgba(8,16,28,.28)!important;
    transition:transform .28s cubic-bezier(.22,.82,.24,1),visibility .28s ease!important;
  }
  .mobile-drawer-head{
    min-height:82px!important;padding:calc(13px + env(safe-area-inset-top)) 14px 13px!important;border:0!important;
    background:linear-gradient(145deg,#0d1723 0%,#15283a 100%)!important;color:#fff!important;
  }
  .mobile-drawer-brand{gap:11px!important;color:#fff!important}
  .mobile-drawer-brand .brand-logo{width:44px!important;height:44px!important;border-radius:13px!important;background:#fff!important;box-shadow:0 9px 24px rgba(0,0,0,.18)!important}
  .mobile-drawer-brand b{font-size:14px!important;color:#fff!important;letter-spacing:-.02em!important}.mobile-drawer-brand small{font-size:9px!important;color:rgba(255,255,255,.55)!important;margin-top:1px!important}
  .mobile-drawer-close{width:40px!important;height:40px!important;border-radius:13px!important;background:rgba(255,255,255,.10)!important;color:#fff!important}
  .mobile-drawer-close:hover{background:rgba(255,255,255,.16)!important}

  .mobile-drawer-tenant{grid-template-columns:44px minmax(0,1fr) 8px!important;gap:11px!important;margin:12px 12px 3px!important;padding:12px!important;border-radius:17px!important;background:#fff!important;border:1px solid #e2e7ec!important;box-shadow:0 8px 24px rgba(22,32,44,.055)!important}
  .mobile-drawer-tenant-icon{width:44px!important;height:44px!important;border-radius:13px!important;background:color-mix(in srgb,var(--brand-accent) 9%,#f7f9fb)!important}
  .mobile-drawer-tenant small{font-size:8px!important;letter-spacing:.09em!important}.mobile-drawer-tenant b{font-size:12.5px!important;color:#26313c!important;margin:1px 0!important}.mobile-drawer-tenant div>span{font-size:9px!important}

  .mobile-drawer-scroll{padding:8px 10px 18px!important;background:#f5f7fa!important}
  .mobile-drawer-section{display:block!important;margin:7px 0!important;padding:0!important;border:1px solid #e3e8ed!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 5px 18px rgba(25,35,47,.035)!important}
  .mobile-drawer-section+.mobile-drawer-section{border-top:1px solid #e3e8ed!important}
  .mobile-drawer-section>summary{list-style:none!important}.mobile-drawer-section>summary::-webkit-details-marker{display:none!important}
  .mobile-drawer-section-title{min-height:52px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto 18px!important;align-items:center!important;gap:8px!important;padding:10px 13px!important;cursor:pointer!important;color:#34404c!important}
  .mobile-drawer-section-title>span{font-size:12px!important;font-weight:750!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.mobile-drawer-section-title>small{font-size:8.5px!important;color:#919aa4!important;white-space:nowrap!important}
  .mobile-drawer-section-title>i{width:8px!important;height:8px!important;border-right:2px solid #9aa3ad!important;border-bottom:2px solid #9aa3ad!important;transform:rotate(45deg)!important;transition:transform .16s ease!important}
  .mobile-drawer-section[open]>.mobile-drawer-section-title>i{transform:rotate(225deg)!important}
  .mobile-drawer-nav{display:grid!important;gap:4px!important;padding:5px 7px 8px!important;border-top:1px solid #eef1f4!important;background:#fbfcfd!important}
  .mobile-drawer-link{min-height:52px!important;grid-template-columns:36px minmax(0,1fr) 15px!important;gap:10px!important;padding:7px 9px!important;border-radius:12px!important;color:#4b5662!important;position:relative!important}
  .mobile-drawer-link>span{width:36px!important;height:36px!important;border-radius:11px!important;background:#eef2f5!important;color:#66717d!important}
  .mobile-drawer-link>span .ui-icon{width:17px!important;height:17px!important}.mobile-drawer-link>b{font-size:12px!important;font-weight:650!important}.mobile-drawer-link>.ui-icon{width:13px!important;height:13px!important;color:#a5adb6!important}
  .mobile-drawer-link.active{background:color-mix(in srgb,var(--brand-accent) 8%,#fff)!important;color:var(--brand-accent)!important}
  .mobile-drawer-link.active:before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:3px;border-radius:0 3px 3px 0!important;background:var(--brand-accent)!important}
  .mobile-drawer-link.active>span{background:#fff!important;color:var(--brand-accent)!important;box-shadow:0 3px 10px rgba(20,31,44,.07)!important}

  .mobile-drawer-action-list{display:grid!important;gap:4px!important;padding:6px 7px 8px!important;border-top:1px solid #eef1f4!important;background:#fbfcfd!important}
  .mobile-drawer-context-actions{display:block!important}
  .mobile-drawer-context-actions form{margin:0!important}
  .mobile-drawer-action{min-height:54px!important;grid-template-columns:36px minmax(0,1fr)!important;gap:10px!important;padding:8px 9px!important;border-radius:12px!important;background:#fff!important;border:1px solid transparent!important;color:#4d5864!important}
  .mobile-drawer-action>.ui-icon{width:17px!important;height:17px!important}.mobile-drawer-action b{font-size:11.5px!important}.mobile-drawer-action small{font-size:9px!important;color:#919aa4!important;margin-top:2px!important}.mobile-drawer-action.danger{color:#a13c3c!important;background:#fffafa!important}

  .mobile-drawer-foot{padding:10px 11px calc(10px + env(safe-area-inset-bottom))!important;border-top:1px solid #e2e7ec!important;background:#fff!important;gap:7px!important}
  .mobile-drawer-foot>a{min-height:46px!important;border-radius:12px!important;padding:6px 9px!important;background:#f5f7f9!important}.mobile-drawer-foot b{font-size:10.5px!important}.mobile-drawer-foot small{font-size:8.5px!important}.mobile-drawer-foot button{height:44px!important;border-radius:12px!important;font-size:10px!important;background:#eef1f4!important}

  /* left edge trigger: compact, readable, no vertical text */
  .mobile-tenant-rail{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;position:fixed!important;left:0!important;top:112px!important;z-index:135!important;width:auto!important;height:42px!important;min-width:76px!important;padding:0 11px 0 9px!important;border:1px solid #dce2e8!important;border-left:0!important;border-radius:0 14px 14px 0!important;background:rgba(255,255,255,.97)!important;color:#47525e!important;box-shadow:8px 8px 26px rgba(21,32,46,.12)!important;backdrop-filter:blur(14px)!important}
  .mobile-tenant-rail .ui-icon{width:17px!important;height:17px!important;color:var(--brand-accent)!important}.mobile-tenant-rail span{writing-mode:horizontal-tb!important;transform:none!important;font-size:10px!important;font-weight:750!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap!important}
  .nav-open .mobile-tenant-rail{opacity:0!important;transform:translateX(-8px)!important;pointer-events:none!important}
}

@media(max-width:460px){
  .mobile-app-drawer{width:min(94vw,390px)!important;border-radius:0 24px 24px 0!important}
  .mobile-tenant-rail{top:102px!important;height:40px!important;min-width:72px!important}
}

/* A little more room and clarity throughout small screens */
@media(max-width:680px){
  body.app-authenticated .app-main{padding-left:12px!important;padding-right:12px!important}
  body.app-authenticated .page-header{gap:10px!important;margin-bottom:14px!important}
  body.app-authenticated .page-header h1{font-size:25px!important;line-height:1.08!important}
  body.app-authenticated .card{border-radius:17px!important}
  body.app-authenticated .btn{min-height:44px!important}
}

/* ======================================================================
   MIRA v0.20.44.25 · Final login/header polish
   ====================================================================== */
:root{
  --m24-ink:#101828;
  --m24-muted:#667085;
  --m24-line:#e6eaf0;
  --m24-soft:#f7f9fc;
  --m24-deep:#0a1730;
  --m24-indigo:#4438c8;
  --m24-teal:#0aa4aa;
  --m24-shadow:0 18px 52px rgba(16,24,40,.10);
  --m24-shadow-soft:0 7px 24px rgba(16,24,40,.055);
}

/* Overall application finish */
body.app-authenticated{background:linear-gradient(180deg,#f8fafc 0,#f4f6f9 100%)!important;color:var(--m24-ink)!important}
body.app-authenticated .app-header{background:rgba(255,255,255,.91)!important;border-bottom:1px solid rgba(228,232,238,.9)!important;box-shadow:0 8px 30px rgba(16,24,40,.035)!important}
body.app-authenticated .header-bar{max-width:1760px;margin:0 auto}
body.app-authenticated .brand-logo{overflow:hidden;background:transparent!important;box-shadow:0 7px 18px rgba(42,52,154,.18)!important}
body.app-authenticated .brand-logo img{width:100%!important;height:100%!important;object-fit:cover!important;background:transparent!important}
body.app-authenticated .app-main{max-width:1760px;margin:0 auto!important}
body.app-authenticated .page-header{padding:4px 2px 19px!important;border-bottom:1px solid #e5e9ef!important}
body.app-authenticated .page-header h1{font-weight:720!important;letter-spacing:-.035em!important;color:#111827!important}
body.app-authenticated .page-breadcrumb{color:#87909c!important}
body.app-authenticated .card,
body.app-authenticated .panel,
body.app-authenticated .hub-card,
body.app-authenticated .module-card,
body.app-authenticated .integration-card,
body.app-authenticated .profile-card{
  border:1px solid rgba(226,231,238,.88)!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:var(--m24-shadow-soft)!important;
}
body.app-authenticated .card:hover,
body.app-authenticated .hub-card:hover,
body.app-authenticated .module-card:hover{border-color:#d9e0e8!important;box-shadow:0 13px 34px rgba(16,24,40,.075)!important}
body.app-authenticated input,
body.app-authenticated select,
body.app-authenticated textarea{background:#f8fafc!important;border:1px solid #e2e7ed!important;box-shadow:none!important;color:#172033!important}
body.app-authenticated input:focus,
body.app-authenticated select:focus,
body.app-authenticated textarea:focus{background:#fff!important;border-color:color-mix(in srgb,var(--brand-accent) 55%,#d5dbe4)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-accent) 10%,transparent)!important}
body.app-authenticated .btn{font-weight:650!important;border-radius:13px!important;letter-spacing:-.01em!important}
body.app-authenticated .table tbody tr{box-shadow:0 3px 14px rgba(16,24,40,.025)}

/* Main /login */
body.is-login-page{background:#eef2f7!important}
body.is-login-page .auth-main{display:block!important;min-height:100dvh!important;padding:0!important;background:#eef2f7!important}
.login-v24{width:100%;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(440px,.92fr);overflow:hidden;background:#fff;color:var(--m24-ink)}
.login-v24-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:100dvh;padding:clamp(34px,4.8vw,72px);overflow:hidden;color:#fff;background:
  radial-gradient(circle at 13% 18%,rgba(101,121,255,.42),transparent 27%),
  radial-gradient(circle at 82% 82%,rgba(22,211,185,.23),transparent 28%),
  linear-gradient(145deg,#08152d 0%,#1a2561 48%,#244db3 100%)}
.login-v24-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.035),transparent 40%);pointer-events:none}
.login-v24-visual:after{content:"";position:absolute;width:min(62vw,720px);aspect-ratio:1;border-radius:50%;right:-26%;bottom:-33%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 64px rgba(255,255,255,.025),0 0 0 128px rgba(255,255,255,.018);pointer-events:none}
.login-v24-visual-top{position:relative;z-index:2;display:flex;align-items:center;gap:13px}
.login-v24-logo{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;overflow:hidden;box-shadow:0 16px 36px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,.16)}
.login-v24-logo img{width:100%;height:100%;object-fit:cover;display:block}
.login-v24-visual-top b{display:block;font-size:18px;line-height:1.1;letter-spacing:-.03em}.login-v24-visual-top small{display:block;margin-top:4px;font-size:10px;color:rgba(255,255,255,.62)}
.login-v24-visual-copy{position:relative;z-index:2;max-width:760px;margin:auto 0}
.login-v24-visual-copy>span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.07);font-size:9px;font-weight:700;letter-spacing:.14em;color:rgba(255,255,255,.78)}
.login-v24-visual-copy h1{margin:18px 0 16px;font-size:clamp(46px,5.4vw,82px);line-height:.98;letter-spacing:-.058em;font-weight:680}
.login-v24-visual-copy p{max-width:590px;margin:0;font-size:14px;line-height:1.7;color:rgba(238,244,255,.64)}
.login-v24-trust-row{position:relative;z-index:2;display:flex;gap:22px;align-items:center;color:rgba(255,255,255,.58);font-size:10px}
.login-v24-trust-row span{display:flex;align-items:center;gap:7px}.login-v24-trust-row i{width:7px;height:7px;border-radius:50%;background:#59e39e;box-shadow:0 0 0 5px rgba(89,227,158,.10)}
.login-v24-panel{display:grid;place-items:center;min-height:100dvh;padding:42px clamp(28px,5vw,82px);background:linear-gradient(180deg,#fbfcfe,#f6f8fb)}
.login-v24-mobile-brand{display:none}
.login-v24-card{width:min(430px,100%);padding:34px 34px 26px;border:1px solid #e4e9ef;border-radius:28px;background:rgba(255,255,255,.97);box-shadow:0 26px 70px rgba(16,24,40,.10)}
.login-v24-card-head{margin-bottom:26px}.login-v24-secure{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:#effaf4;color:#23764b;font-size:10px;font-weight:650}.login-v24-secure i{width:7px;height:7px;border-radius:50%;background:#34a86a;box-shadow:0 0 0 4px rgba(52,168,106,.10)}
.login-v24-card h2{margin:15px 0 6px;font-size:38px;line-height:1.05;letter-spacing:-.05em;color:#101828;font-weight:700}.login-v24-card-head p{margin:0;color:#7a8492;font-size:12px}
.login-v24-form{display:grid;gap:16px}.login-v24-field{display:grid;gap:7px}.login-v24-field>span{font-size:10.5px;font-weight:650;color:#4f5b68}
.login-v24-control{position:relative;display:flex;align-items:center;min-height:56px;border:1px solid #dfe5ec;border-radius:15px;background:#f8fafc;transition:.18s ease}
.login-v24-control:focus-within{background:#fff;border-color:color-mix(in srgb,var(--brand-accent) 55%,#cfd7e2);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-accent) 10%,transparent)}
.login-v24-control-icon{width:47px;display:grid;place-items:center;color:#7d8895}.login-v24-control-icon .ui-icon{width:18px;height:18px}
.login-v24-control input{width:100%;height:54px;min-height:54px!important;padding:0 12px 0 0!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;font-size:14px;color:#111827;outline:0}.login-v24-control input:focus{box-shadow:none!important;background:transparent!important}
.login-v24-password-toggle{height:36px;margin-right:8px;padding:0 10px;border:0;border-radius:9px;background:#eef2f6;color:#687483;font-size:9.5px;font-weight:650}
.login-v24-submit{width:100%;min-height:56px;margin-top:3px;padding:0 17px;border:0;border-radius:15px;background:linear-gradient(135deg,#182848 0%,#3d3bb9 56%,#287aae 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;font:inherit;font-size:13px;font-weight:700;box-shadow:0 15px 28px rgba(43,52,156,.22);transition:.18s ease}.login-v24-submit:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(43,52,156,.26)}.login-v24-submit b{font-size:20px;font-weight:400;line-height:1}
.login-v24-install{margin-top:13px}.login-v24 .login-install-btn{width:100%;min-height:50px;padding:7px 10px;border:1px solid #e3e8ee;border-radius:14px;background:#f8fafc;display:grid;grid-template-columns:32px minmax(0,1fr) 16px;align-items:center;gap:10px;color:#344054;text-align:left;box-shadow:none}.login-v24 .login-install-btn>span:nth-child(2){display:grid;gap:1px}.login-v24 .login-install-btn>span b{font-size:10.5px}.login-v24 .login-install-btn>span small{font-size:8.7px;color:#8a94a1}.login-v24 .login-install-btn>strong{font-size:20px;color:#98a2b3;font-weight:400}.login-v24 .login-install-glyph{position:relative;width:30px;height:30px;border-radius:9px;background:#fff;border:1px solid #e4e8ed}.login-v24 .login-install-glyph i{position:absolute;left:14px;top:6px;width:2px;height:11px;background:#4147bd;border-radius:2px;animation:miraInstallArrowSmall 1.8s ease-in-out infinite}.login-v24 .login-install-glyph i:after{content:"";position:absolute;left:-3px;bottom:0;width:6px;height:6px;border-right:2px solid #4147bd;border-bottom:2px solid #4147bd;transform:rotate(45deg)}.login-v24 .login-install-glyph u{position:absolute;left:7px;right:7px;bottom:5px;height:7px;border:1.5px solid #7580a3;border-top:0;border-radius:0 0 4px 4px;text-decoration:none}.login-v24 .login-install-btn.is-installing .login-install-glyph i{left:8px!important;top:8px!important;width:12px!important;height:12px!important;border:2px solid #dde2e9!important;border-top-color:#4147bd!important;border-radius:50%!important;background:transparent!important;animation:miraTinySpin .65s linear infinite!important}.login-v24 .login-install-btn.is-installing .login-install-glyph i:after,.login-v24 .login-install-btn.is-installing .login-install-glyph u{display:none!important}
.login-v24-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:17px;padding-top:16px;border-top:1px solid #edf0f4;color:#87919e;font-size:8.8px}.login-v24-foot>span{display:flex;align-items:center;gap:6px}.login-v24-foot i{width:6px;height:6px;border-radius:50%;background:#35a76a}.login-v24-foot small{font-size:8.5px}
.login-v24 .ios-install-dialog{width:min(92vw,390px);padding:0;border:0;border-radius:26px;background:transparent}.login-v24 .ios-install-dialog::backdrop{background:rgba(10,18,32,.50);backdrop-filter:blur(8px)}.login-v24 .ios-install-card{position:relative;padding:28px 24px 22px;border-radius:26px;background:#fff;box-shadow:0 28px 80px rgba(16,24,40,.24)}.login-v24 .ios-install-badge{width:54px;height:54px;border-radius:16px;overflow:hidden;margin-bottom:16px}.login-v24 .ios-install-badge img{width:100%;height:100%;object-fit:cover}.login-v24 .ios-install-card h3{margin:7px 0 8px;font-size:24px;letter-spacing:-.035em}.login-v24 .ios-install-card p,.login-v24 .ios-install-card li{font-size:11px;color:#667085;line-height:1.6}.login-v24 .ios-install-close{position:absolute;right:14px;top:14px;width:34px;height:34px;border:0;border-radius:11px;background:#f2f4f7;color:#667085}

/* Drawer refinement */
@media(max-width:980px){
  body.app-authenticated{font-size:14px!important}
  body.app-authenticated .app-header{position:sticky!important;top:0!important}
  body.app-authenticated .header-bar{height:62px!important;min-height:62px!important;padding:0 14px!important;grid-template-columns:minmax(0,1fr) auto!important}
  body.app-authenticated .brand{min-width:0!important}.brand-copy strong{font-size:13px!important}.brand-copy small{font-size:9px!important}
  body.app-authenticated .brand-logo{width:38px!important;height:38px!important;border-radius:12px!important}
  body.app-authenticated .top-nav,body.app-authenticated .header-actions{display:none!important}
  body.app-authenticated .mobile-nav-button{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border:1px solid #e4e8ed!important;background:#fff!important;color:#344054!important;box-shadow:0 5px 16px rgba(16,24,40,.06)!important}
  .mobile-app-drawer{width:min(91vw,378px)!important;max-width:378px!important;border-radius:0 30px 30px 0!important;background:#f6f8fb!important;box-shadow:34px 0 90px rgba(8,18,34,.33)!important}
  .mobile-drawer-head{min-height:94px!important;padding:calc(17px + env(safe-area-inset-top)) 16px 16px!important;background:linear-gradient(145deg,#09172f,#242d73 58%,#275f91)!important}
  .mobile-drawer-brand .brand-logo{width:50px!important;height:50px!important;border-radius:15px!important;background:transparent!important;padding:0!important;box-shadow:0 12px 28px rgba(0,0,0,.25)!important}.mobile-drawer-brand .brand-logo img{object-fit:cover!important;background:transparent!important}
  .mobile-drawer-brand b{font-size:16px!important}.mobile-drawer-brand small{font-size:10px!important;color:rgba(255,255,255,.65)!important}
  .mobile-drawer-close{width:40px!important;height:40px!important;border-radius:12px!important}
  .mobile-drawer-tenant{margin:12px 12px 5px!important;padding:13px!important;border-radius:18px!important}.mobile-drawer-tenant small{font-size:8.5px!important}.mobile-drawer-tenant b{font-size:13.5px!important}.mobile-drawer-tenant div>span{font-size:9.5px!important}
  .mobile-drawer-scroll{padding:7px 10px 20px!important}
  .mobile-drawer-section{border-radius:18px!important;border-color:#e3e8ef!important;box-shadow:0 7px 20px rgba(16,24,40,.035)!important}
  .mobile-drawer-section-title{min-height:56px!important;padding:11px 14px!important}.mobile-drawer-section-title>span{font-size:13px!important}.mobile-drawer-section-title>small{font-size:9px!important}
  .mobile-drawer-nav{gap:5px!important;padding:7px 8px 9px!important}.mobile-drawer-link{min-height:55px!important;padding:8px 10px!important;border-radius:13px!important}.mobile-drawer-link>span{width:38px!important;height:38px!important}.mobile-drawer-link>b{font-size:12.5px!important;font-weight:650!important}
  .mobile-drawer-action{min-height:57px!important}.mobile-drawer-action b{font-size:12px!important}.mobile-drawer-action small{font-size:9.3px!important}
  .mobile-drawer-foot{padding:10px 11px calc(12px + env(safe-area-inset-bottom))!important}.mobile-drawer-foot>a{min-height:49px!important}.mobile-drawer-foot b{font-size:11px!important}.mobile-drawer-foot small{font-size:9px!important}
  .mobile-tenant-rail{top:88px!important;min-width:62px!important;height:40px!important;padding:0 10px 0 8px!important;border-color:#dde3ea!important;border-radius:0 13px 13px 0!important;background:rgba(255,255,255,.96)!important;box-shadow:7px 8px 24px rgba(16,24,40,.13)!important}.mobile-tenant-rail span{font-size:9.5px!important}.mobile-tenant-rail .ui-icon{width:16px!important;height:16px!important}
  body.app-authenticated .app-main{padding:18px 13px 30px!important}
  body.app-authenticated .page-header{padding:0 2px 15px!important;margin-bottom:16px!important}.page-header-main{min-width:0}.page-header h1{font-size:26px!important}.page-live-status{font-size:9.5px!important}
  body.app-authenticated .card{padding:16px!important;border-radius:18px!important}
}

/* Mobile bank-style login */
@media(max-width:820px){
  html,body.is-login-page{min-height:100%!important;background:#07142d!important}
  .login-v24{display:block;min-height:100dvh;background:linear-gradient(160deg,#07142d 0,#1b2868 43%,#eef2f7 43.1%,#eef2f7 100%)}
  .login-v24-visual{display:none}
  .login-v24-panel{display:block;min-height:100dvh;padding:0 14px calc(22px + env(safe-area-inset-bottom));background:transparent}
  .login-v24-mobile-brand{height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:calc(10px + env(safe-area-inset-top));color:#fff;text-align:center}
  .login-v24-mobile-brand .login-v24-logo{width:70px;height:70px;border-radius:21px;box-shadow:0 18px 42px rgba(0,0,0,.28)}
  .login-v24-mobile-brand div{margin-top:12px}.login-v24-mobile-brand b{display:block;font-size:22px;line-height:1;letter-spacing:-.04em}.login-v24-mobile-brand small{display:block;margin-top:5px;color:rgba(255,255,255,.62);font-size:9.5px;letter-spacing:.02em}
  .login-v24-card{width:min(100%,470px);margin:-22px auto 0;padding:25px 18px 18px;border-radius:27px;border:1px solid rgba(223,228,235,.9);box-shadow:0 24px 60px rgba(10,20,40,.19)}
  .login-v24-card-head{margin-bottom:20px}.login-v24-secure{font-size:9.5px;padding:6px 9px}.login-v24-card h2{font-size:30px;margin:12px 0 5px}.login-v24-card-head p{font-size:11px}
  .login-v24-form{gap:13px}.login-v24-field>span{font-size:10.5px}.login-v24-control{min-height:55px;border-radius:14px}.login-v24-control input{font-size:16px!important;height:53px;min-height:53px!important} /* prevent iOS zoom */
  .login-v24-submit{min-height:55px;border-radius:14px;font-size:13px}
  .login-v24 .login-install-btn{min-height:48px;border-radius:13px}.login-v24 .login-install-glyph{width:28px;height:28px}.login-v24 .login-install-btn>span b{font-size:10.5px}.login-v24 .login-install-btn>span small{font-size:8.5px}
  .login-v24-foot{margin-top:14px;padding-top:13px}
}
@media(max-width:390px){
  .login-v24-mobile-brand{height:228px}.login-v24-mobile-brand .login-v24-logo{width:64px;height:64px;border-radius:19px}.login-v24-card{padding:22px 15px 16px;border-radius:24px}.login-v24-card h2{font-size:28px}
}
@media(display-mode:standalone) and (max-width:820px){
  .login-v24-mobile-brand{height:235px;padding-top:env(safe-area-inset-top)}
  .login-v24-install{display:none!important}
}


/* =========================================================
   MIRA v0.20.44.25 · Final polish
   - visible brand mark on every background
   - no redundant left mobile menu rail
   - desktop login balanced edge-to-edge
   ========================================================= */

/* Brand mark: keep the M/custom transparent logo readable on light surfaces. */
body.app-authenticated .brand-logo,
.mobile-drawer-brand .brand-logo{
  background:
    radial-gradient(circle at 78% 82%,rgba(24,205,196,.82),transparent 36%),
    linear-gradient(145deg,#345bb5 0%,#4237b6 55%,#1c9fb2 100%)!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(38,55,154,.23)!important;
  isolation:isolate!important;
}
body.app-authenticated .brand-logo b,
.mobile-drawer-brand .brand-logo b{color:#fff!important;text-shadow:0 1px 5px rgba(0,0,0,.14)!important}
body.app-authenticated .brand-logo img,
.mobile-drawer-brand .brand-logo img{
  width:100%!important;height:100%!important;object-fit:contain!important;
  background:transparent!important;
}

/* The top mobile menu control is the single entry point; no floating left rail. */
.mobile-tenant-rail{display:none!important}
@media(max-width:980px){
  body.app-authenticated .mobile-nav-button{display:grid!important}
  body.app-authenticated.has-tenant-workspace .mobile-nav-button{display:grid!important}
}

/* Desktop login: deliberate 50/50 composition with clean screen-edge alignment. */
@media(min-width:981px){
  .login-v24{
    grid-template-columns:minmax(0,1fr) minmax(500px,1fr)!important;
    min-height:100vh!important;
    width:100vw!important;
  }
  .login-v24-visual{
    min-height:100vh!important;
    padding:clamp(42px,4.25vw,72px) clamp(44px,5.25vw,88px)!important;
  }
  .login-v24-visual-copy{max-width:680px!important}
  .login-v24-visual-copy h1{font-size:clamp(50px,4.6vw,76px)!important}
  .login-v24-panel{
    min-height:100vh!important;
    padding:clamp(38px,4.25vw,68px)!important;
    justify-items:center!important;
    align-items:center!important;
  }
  .login-v24-card{width:min(468px,100%)!important;padding:38px 38px 30px!important}
}
@media(min-width:1500px){
  .login-v24{grid-template-columns:minmax(0,1.04fr) minmax(520px,.96fr)!important}
  .login-v24-card{width:min(486px,100%)!important}
}


/* === Mira v0.20.44.26 · installed PWA edge-to-edge polish === */
@supports(padding:max(0px)){
  body.is-login-page{min-height:100dvh;background:#07142d!important}
  @media(max-width:820px){
    body.app-authenticated .app-header{background:#fff!important}
  }
}

/* v0.20.44.27 · Seamless installed-PWA top edge. */
html:has(body.is-login-page){background:#07142d!important;}
body.is-login-page{background:#07142d!important;}
@media (display-mode:standalone){
  body.is-login-page .login-v10{padding-top:env(safe-area-inset-top);margin-top:calc(-1 * env(safe-area-inset-top));background:#07142d!important;}
  body.is-login-page .login-v10-stage{padding-top:calc(12px + env(safe-area-inset-top))!important;min-height:calc(66px + env(safe-area-inset-top))!important;}
}

/* Mira v0.21 solution preset cards */
.v21-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:16px 0 18px}.v21-preset-card{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid var(--border,#dfe4ee);border-radius:18px;background:var(--card,#fff)}.v21-preset-card.active{outline:2px solid color-mix(in srgb,var(--accent,#6757d9) 55%,transparent);background:color-mix(in srgb,var(--accent,#6757d9) 6%,#fff)}.v21-preset-card b{font-size:17px}.v21-preset-card small{min-height:44px;line-height:1.4}.v21-preset-card em{font-size:12px;font-style:normal;opacity:.65}.v21-preset-card .btn{margin-top:auto}.v21-custom-solution{margin-top:12px}.v21-custom-solution>summary{display:flex;gap:8px;align-items:center;cursor:pointer;padding:12px 0}.v21-custom-solution>summary span{font-size:12px;opacity:.65}
/* v0.21 factory workstation helper */
.v21-factory-read{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.v21-factory-read input{min-width:0}.v21-step [data-factory-status][data-state="ok"]{color:#13734b;font-weight:700}@media(max-width:680px){.v21-factory-read{grid-template-columns:1fr}.v21-factory-read .btn{width:100%}}

/* ============================================================
   Mira v0.21.0.1 · Product / Firmware polish + resilient header
   ============================================================ */
@media (min-width:981px){
  body.app-authenticated .header-bar{width:100%!important;max-width:1760px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:16px!important;padding-inline:clamp(14px,2vw,34px)!important}
  body.app-authenticated .brand{min-width:max-content!important}
  body.app-authenticated .top-nav{min-width:0!important;max-width:100%!important;display:flex!important;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-inline:contain!important;scrollbar-width:none!important;padding:7px 2px!important;mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 20px),transparent 100%)}
  body.app-authenticated .top-nav::-webkit-scrollbar{display:none!important}
  body.app-authenticated .nav-link{flex:0 0 auto!important;white-space:nowrap!important;min-height:44px!important;padding-inline:10px!important}
  body.app-authenticated .header-actions{min-width:max-content!important;justify-self:end!important}
  body.app-authenticated .tenant-workspace-bar{width:100%!important;grid-template-columns:minmax(150px,230px) minmax(0,1fr) auto!important;gap:10px!important}
  body.app-authenticated .tenant-workspace-nav{min-width:0!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important}
}

.v21-hero{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:0 0 18px;padding:26px 28px;border:1px solid #e5e9ef;border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f8fafc 72%,#f4f7fb 100%);box-shadow:0 14px 38px rgba(15,23,42,.045);overflow:hidden}
.v21-hero:after{content:"";position:absolute;right:-90px;top:-120px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(30,99,255,.08),transparent 67%);pointer-events:none}
.v21-hero>div:first-child{position:relative;z-index:1;max-width:760px}.v21-hero h2{margin:4px 0 7px;font-size:clamp(24px,2.2vw,34px);letter-spacing:-.035em;color:#172033}.v21-hero p{margin:0;max-width:720px;color:#697386;line-height:1.65;font-size:13px}.v21-hero>.btn{position:relative;z-index:1;min-height:44px;box-shadow:0 8px 20px rgba(30,99,255,.12)}
.v21-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.v21-kpis article{display:flex;flex-direction:column;gap:3px;min-height:90px;padding:18px 20px;border:1px solid #e6eaf0;border-radius:17px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.035)}.v21-kpis b{font-size:25px;line-height:1;color:#1b2638}.v21-kpis span{font-size:11px;font-weight:600;color:#858e9d}
.v21-solution{position:relative;padding:24px!important}.v21-solution>.section-head{padding-right:min(320px,30vw)}.v21-tenant-pick{position:absolute;right:24px;top:24px;width:min(290px,30vw);display:grid;gap:5px}.v21-tenant-pick label,.field-label{font-size:9px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:#8c95a4}.v21-tenant-pick select{width:100%}
.v21-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.v21-preset-card{position:relative;display:grid;grid-template-rows:auto auto 1fr auto auto;gap:8px;min-height:238px;padding:20px;border:1px solid #e3e8ef;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfcfd);box-shadow:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.v21-preset-card:hover{transform:translateY(-2px);border-color:#cdd7e6;box-shadow:0 14px 30px rgba(15,23,42,.06)}.v21-preset-card.active{border-color:color-mix(in srgb,var(--brand-accent) 44%,#d9e0e8);background:linear-gradient(180deg,color-mix(in srgb,var(--brand-accent) 4%,#fff),#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-accent) 11%,transparent)}.v21-preset-card>b{font-size:17px;color:#1e293b}.v21-preset-card>small{font-size:11px;line-height:1.55;color:#747f90}.v21-preset-card>em{font-style:normal;font-size:10px;font-weight:700;color:#667085;padding-top:4px}.v21-preset-card .btn{width:100%;margin-top:2px}
.v21-custom-solution{margin-top:14px;border:1px solid #e7ebf0;border-radius:16px;background:#fbfcfd;overflow:hidden}.v21-custom-solution>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px}.v21-custom-solution>summary::-webkit-details-marker{display:none}.v21-custom-solution>summary b{font-size:12px;color:#263244}.v21-custom-solution>summary span{font-size:10px;color:#8992a0}.v21-custom-solution[open]>summary{border-bottom:1px solid #e8ecf1;background:#fff}
.v21-module-form{padding:18px}.v21-module-form fieldset{border:0;padding:0;margin:0 0 18px}.v21-module-form legend{margin:0 0 9px;font-size:10px;font-weight:750;color:#596579}.v21-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v21-module{position:relative;display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid #e5e9ef;border-radius:13px;background:#fff;cursor:pointer}.v21-module:has(input:checked){border-color:color-mix(in srgb,var(--brand-accent) 35%,#dfe5ec);background:color-mix(in srgb,var(--brand-accent) 3%,#fff)}.v21-module input{margin-top:2px}.v21-module span{display:grid;gap:3px}.v21-module b{font-size:11px;color:#283446}.v21-module small{font-size:9.5px;line-height:1.45;color:#8a94a3}
.v21-room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:9px}.v21-room-card{display:grid;gap:7px;padding:14px;border:1px solid #e6eaf0;border-radius:14px;background:#fff;text-decoration:none;color:inherit;transition:.15s ease}.v21-room-card:hover{border-color:#cfd8e5;box-shadow:0 8px 20px rgba(15,23,42,.05)}.v21-room-card b{font-size:12px}.v21-room-card span,.v21-room-card small{font-size:9px;color:#7f8998}.v21-room-card progress{width:100%;height:6px}

.v21-dialog{width:min(980px,calc(100vw - 28px));max-height:min(820px,calc(100dvh - 28px));padding:0;border:0;border-radius:22px;background:#fff;color:#1f2937;box-shadow:0 32px 90px rgba(15,23,42,.24);overflow:hidden}.v21-dialog::backdrop{background:rgba(10,18,32,.46);backdrop-filter:blur(7px)}body.v21-dialog-open{overflow:hidden}.v21-wizard-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:inherit}.v21-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid #e8ebf0;background:rgba(255,255,255,.97)}.v21-dialog-title{display:flex;align-items:center;gap:13px}.v21-dialog-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--brand-accent) 9%,#fff);color:var(--brand-accent)}.v21-dialog-icon .ui-icon{width:20px;height:20px}.v21-dialog-title h3{margin:2px 0 2px;font-size:18px;letter-spacing:-.02em}.v21-dialog-title p{margin:0;font-size:10px;color:#87909e}.v21-dialog-close{width:38px;height:38px;display:grid;place-items:center;border:1px solid #e4e8ed;border-radius:11px;background:#f9fafb;color:#6e7887;cursor:pointer}.v21-dialog-close:hover{background:#f1f3f6;color:#283446}.v21-dialog-close .ui-icon{width:17px;height:17px}
.v21-dialog-body{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:0;overflow:hidden}.v21-wizard-rail{padding:22px 16px;background:#f7f9fb;border-right:1px solid #e8ebf0;overflow:auto}.v21-wizard-rail span{position:relative;display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:9px;padding:0 0 20px}.v21-wizard-rail span:not(:last-child):after{content:"";position:absolute;left:13px;top:31px;bottom:3px;width:1px;background:#dfe4ea}.v21-wizard-rail i{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border:1px solid #d9e0e8;border-radius:50%;background:#fff;font-size:9px;font-style:normal;font-weight:750;color:#667085}.v21-wizard-rail b{font-size:10px;color:#344054}.v21-wizard-rail small{font-size:8.5px;color:#98a1ae}.v21-wizard-rail .is-active i{border-color:var(--brand-accent);background:var(--brand-accent);color:#fff}
.v21-wizard-content{min-width:0;overflow:auto;padding:22px}.v21-step{display:grid;gap:12px;padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid #edf0f3}.v21-step:last-child{border-bottom:0;margin-bottom:0}.v21-step-copy{display:flex;gap:10px;align-items:flex-start}.v21-step-copy>span{flex:0 0 auto;display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#eef2f6;color:#5f6b7a;font-size:9px;font-weight:800}.v21-step-copy>div{display:grid;gap:2px}.v21-step-copy b{font-size:12px;color:#253144}.v21-step-copy small,.v21-help{font-size:9.5px;line-height:1.5;color:#8993a2}.v21-factory-read{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.v21-factory-read .btn{white-space:nowrap}.v21-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.v21-step .field{display:grid;gap:6px}.v21-step .field>span{font-size:9px;font-weight:700;color:#677285}
.v21-choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.v21-choice-row>label{cursor:pointer}.v21-choice-row input{position:absolute;opacity:0;pointer-events:none}.v21-choice-row label>span{height:100%;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;gap:1px 8px;padding:13px;border:1px solid #e2e7ed;border-radius:13px;background:#fff}.v21-choice-row .ui-icon{grid-row:1/3;width:18px;height:18px;align-self:center;color:#7a8493}.v21-choice-row b{font-size:10.5px}.v21-choice-row small{font-size:8.7px;color:#919aa7}.v21-choice-row input:checked+span{border-color:color-mix(in srgb,var(--brand-accent) 45%,#d8e0e9);background:color-mix(in srgb,var(--brand-accent) 4%,#fff);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand-accent) 9%,transparent)}.v21-choice-row input:checked+span .ui-icon{color:var(--brand-accent)}.v21-assignment-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border-radius:13px;background:#f8fafc;border:1px solid #e9edf2}.v21-assignment-fields[hidden]{display:none!important}.v21-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 20px;border-top:1px solid #e7ebef;background:#fafbfc}.v21-dialog-foot>div{display:flex;align-items:center;gap:12px}.v21-dialog-foot small{max-width:280px;text-align:right;font-size:8.7px;color:#8b94a1}

.v21-hero-status{position:relative;z-index:1;display:flex;align-items:center;gap:10px;min-width:210px;padding:12px 14px;border:1px solid #dfe7e3;border-radius:14px;background:#fff}.v21-hero-status>i{width:9px;height:9px;border-radius:50%;background:#2aa76a;box-shadow:0 0 0 5px rgba(42,167,106,.09)}.v21-hero-status>span{display:grid;gap:2px}.v21-hero-status b{font-size:10px;color:#31443a}.v21-hero-status small{font-size:8.5px;color:#87938c}.v21-release-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px;margin:0 0 18px}.v21-release-strip article{display:grid;gap:2px;padding:13px 14px;border:1px solid #e6eaf0;border-radius:14px;background:#fff}.v21-release-strip span{font-size:8px;font-weight:750;letter-spacing:.055em;text-transform:uppercase;color:#8993a2}.v21-release-strip b{font-size:15px;color:#273448}.v21-release-strip small{font-size:8.5px;color:#9099a6}
.v21-fw-card{padding:24px!important}.v21-fw-head{align-items:flex-start}.v21-safe-note{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #e2e9e4;border-radius:10px;background:#f8fbf9;color:#527060;font-size:9px;font-weight:700;white-space:nowrap}.v21-safe-note .ui-icon{width:13px;height:13px}.v21-fw-form{display:grid;gap:20px}.v21-fw-primary{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;padding:16px;border:1px solid #e8ecf1;border-radius:15px;background:#fafbfd}.v21-fw-form .field{display:grid;gap:6px}.v21-fw-form .field>span{font-size:9.5px;font-weight:700;color:#536174}.v21-fw-form .field>small{font-size:8.7px;color:#8a94a3}.v21-fw-scope{display:grid;gap:9px}.v21-scope-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.v21-scope-grid label{cursor:pointer;min-width:0}.v21-scope-grid input{position:absolute;opacity:0;pointer-events:none}.v21-scope-grid label>span{display:grid;place-items:center;align-content:center;gap:4px;min-height:100px;padding:10px;border:1px solid #e3e8ee;border-radius:13px;background:#fff;text-align:center}.v21-scope-grid .ui-icon{width:19px;height:19px;color:#7c8797}.v21-scope-grid b{font-size:10px;color:#344054}.v21-scope-grid small{font-size:7.9px;line-height:1.35;color:#929ba8}.v21-scope-grid input:checked+span{border-color:color-mix(in srgb,var(--brand-accent) 46%,#d9e0e8);background:color-mix(in srgb,var(--brand-accent) 4%,#fff);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand-accent) 11%,transparent)}.v21-scope-grid input:checked+span .ui-icon{color:var(--brand-accent)}
.v21-fw-target-panel{padding:16px;border:1px solid #e7ebf0;border-radius:15px;background:#fff}.v21-fw-target-panel[hidden]{display:none!important}.v21-fw-target-panel input[type=search]{margin-bottom:4px}.v21-fw-target-panel select[multiple]{min-height:220px;padding:5px}.v21-fw-target-panel select[multiple] option{padding:8px 9px;border-radius:6px}.v21-fw-summary-panel{display:grid;gap:5px;background:#f8fafc}.v21-fw-summary-panel b{font-size:11px}.v21-fw-summary-panel small{font-size:9px;color:#7c8796}.v21-fw-submit{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:14px;background:#172033;color:#fff}.v21-fw-submit>div{display:grid;gap:2px}.v21-fw-submit b{font-size:10.5px}.v21-fw-submit small{font-size:8.5px;color:#b8c0cc}.v21-fw-submit .btn{white-space:nowrap}
.v21-rollout-list{display:grid;gap:8px}.v21-rollout-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.4fr) auto;align-items:center;gap:18px;padding:15px 16px;border:1px solid #e7ebef;border-radius:14px;background:#fff}.v21-rollout-id{display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:2px;min-width:0}.v21-rollout-id>span{grid-row:1/3;align-self:start;padding:4px 6px;border-radius:7px;background:#f1f4f7;font-size:8px;font-weight:800;color:#7d8795}.v21-rollout-id b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;color:#2c384a}.v21-rollout-id small{font-size:8.5px;color:#8993a1}.v21-rollout-progress{display:grid;gap:6px}.v21-rollout-progress>div{display:flex;justify-content:space-between;gap:10px}.v21-rollout-progress>div span{font-size:8.5px;color:#87909e}.v21-rollout-progress>div b{font-size:9px}.v21-rollout-progress progress{width:100%;height:6px}.v21-rollout-progress>small{display:flex;flex-wrap:wrap;gap:9px;font-size:7.8px;color:#778293}.v21-rollout-state{display:flex;align-items:center;justify-content:flex-end;gap:8px}.v21-empty{display:grid;place-items:center;gap:3px;min-height:130px;border:1px dashed #dce2e9;border-radius:14px;background:#fafbfd}.v21-empty b{font-size:11px}.v21-empty span{font-size:9px;color:#8e97a4}

@media(max-width:1180px){.v21-scope-grid{grid-template-columns:repeat(3,1fr)}.v21-preset-grid{grid-template-columns:1fr}.v21-preset-card{min-height:0}.v21-rollout-row{grid-template-columns:1fr}.v21-rollout-state{justify-content:flex-start}}
@media(max-width:820px){.v21-hero{align-items:flex-start;flex-direction:column;padding:20px}.v21-hero>.btn{width:100%}.v21-kpis{grid-template-columns:repeat(2,1fr)}.v21-solution>.section-head{padding-right:0}.v21-tenant-pick{position:static;width:100%;margin:12px 0}.v21-module-grid,.v21-two,.v21-assignment-fields,.v21-fw-primary{grid-template-columns:1fr}.v21-dialog-body{grid-template-columns:1fr}.v21-wizard-rail{display:none}.v21-dialog{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:18px}.v21-wizard-content{padding:17px}.v21-dialog-foot{align-items:stretch}.v21-dialog-foot>div{margin-left:auto}.v21-dialog-foot small{display:none}.v21-scope-grid{grid-template-columns:repeat(2,1fr)}.v21-fw-submit{align-items:stretch;flex-direction:column}.v21-fw-submit .btn{width:100%}}
@media(max-width:520px){.v21-kpis{gap:7px}.v21-kpis article{min-height:76px;padding:14px}.v21-kpis b{font-size:21px}.v21-choice-row{grid-template-columns:1fr}.v21-dialog-title p{display:none}.v21-dialog-head{padding:15px}.v21-dialog-foot{padding:11px}.v21-scope-grid{grid-template-columns:1fr 1fr}.v21-fw-card{padding:16px!important}}
.v21-hero-actions{position:relative;z-index:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.v21-hero-actions .v21-hero-status{position:static}.v21-hero-actions>.btn{min-height:44px;white-space:nowrap}
@media(max-width:820px){.v21-hero-actions{width:100%;justify-content:stretch}.v21-hero-actions>.v21-hero-status,.v21-hero-actions>.btn{width:100%}}

/* ======================================================================
   MIRA v0.21.0.4 — FAST MODAL SYSTEM + SIMPLE CARD HANDOFF
   One modal geometry across desktop/tablet/mobile. Avoid expensive live blur.
   ====================================================================== */
:root{--mira-modal-edge:clamp(8px,1.5vw,20px);--mira-modal-radius:22px;--mira-modal-max:980px}
html:has(dialog[open]),body:has(dialog[open]){overscroll-behavior:none}
dialog[open]{animation:miraDialogIn .14s cubic-bezier(.2,.75,.2,1) both}
@keyframes miraDialogIn{from{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){dialog[open],.workspace-modal,.child-workspace-modal,.radar-device-operation-modal-v20410{animation:none!important;transition:none!important}}
/* Backdrop blur caused visible jank on low/mid-range phones and while radar was repainting. */
.confirm-dialog::backdrop,.v21-dialog::backdrop,.map-picker-dialog::backdrop,.ios-install-dialog::backdrop,.role-template-dialog-v2015::backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(10,16,27,.48)!important}
.modal-layer,.radar-device-operation-backdrop-v20410{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(10,16,27,.46)!important}
.workspace-modal-toolbar,.app-header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
/* Consistent modal box sizing. */
.v21-dialog,.map-picker-dialog,.role-template-dialog-v2015,.ios-install-dialog,.confirm-dialog{box-sizing:border-box!important;max-width:calc(100vw - (var(--mira-modal-edge) * 2))!important;margin:auto!important;contain:layout paint style}
.v21-dialog{width:min(var(--mira-modal-max),calc(100vw - (var(--mira-modal-edge) * 2)))!important;max-height:calc(100dvh - (var(--mira-modal-edge) * 2))!important;border-radius:var(--mira-modal-radius)!important}
.v21-dialog-head,.v21-dialog-body,.v21-dialog-foot,.v21-wizard-form,.v21-wizard-content{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.v21-dialog-body{overflow:hidden!important}.v21-wizard-content{overflow:auto!important;overscroll-behavior:contain!important;scrollbar-gutter:stable;padding:22px!important}
.v21-dialog-head{padding:17px 20px!important}.v21-dialog-foot{padding:13px 18px!important}
.v21-step,.v21-assignment-fields,.v21-two,.v21-choice-row{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.v21-step input,.v21-step select,.v21-step textarea{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
/* Legacy CRUD sheets now fill the workspace instead of leaving dead side gaps. */
.modal-form-sheet{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}.modal-form-sheet>.card,.modal-form-sheet>.form,.modal-form-sheet .modal-crud-form{width:100%!important;max-width:none!important}
.workspace-content,.child-workspace-content{width:100%!important;max-width:none!important}.child-workspace-frame{width:min(1120px,100%)!important}.child-workspace-modal-body{padding:20px clamp(14px,2.5vw,30px) 28px!important}
/* Radar operation sheet: cheaper paint, tighter layout, no glass effects. */
.radar-device-operation-modal-v20410{contain:layout style;will-change:auto!important}.radar-device-operation-sheet-v20410,.radar-device-operation-sheet-v20412{contain:layout paint style;box-shadow:0 22px 70px rgba(8,18,22,.28)!important;background:#f7faf9!important}.radar-device-operation-head-v20410,.radar-device-operation-head-v20412{background:#102c29!important}.radar-device-operation-body-v20410,.radar-device-operation-body-v20412{background:#f7faf9!important}
.master-radar-sweep-v2029{will-change:transform;animation-duration:4.8s!important}.master-radar-grid-glow-v2031{display:none!important}
@media(max-width:820px){
  :root{--mira-modal-edge:6px;--mira-modal-radius:18px}
  .v21-dialog{width:calc(100vw - 12px)!important;max-width:none!important;max-height:calc(100dvh - 12px)!important}
  .v21-dialog-head{padding:14px!important}.v21-wizard-content{padding:14px!important}.v21-dialog-foot{padding:10px 12px!important;position:sticky!important;bottom:0!important}
  .v21-dialog-foot{flex-direction:column-reverse!important;align-items:stretch!important}.v21-dialog-foot>div{width:100%!important;margin:0!important}.v21-dialog-foot .btn{min-height:46px!important;flex:1!important}
  .child-workspace-modal{padding:4px!important}.child-workspace-frame{max-height:calc(100dvh - 8px)!important;border-radius:16px!important}.child-workspace-modal-body{padding:14px 10px 20px!important}
  .radar-device-operation-modal-v20410{padding:4px!important}.radar-device-operation-sheet-v20410{max-height:calc(100dvh - 8px)!important;width:100%!important;border-radius:17px!important}
}
@media(max-width:520px){
  .v21-dialog{width:100vw!important;max-width:none!important;max-height:100dvh!important;height:100dvh!important;margin:0!important;border-radius:0!important}.v21-wizard-form{height:100dvh!important}.v21-dialog-head{padding:12px 13px!important}.v21-dialog-title h3{font-size:16px!important}.v21-dialog-close{width:40px!important;height:40px!important}.v21-wizard-content{padding:12px!important}.v21-dialog-foot{padding:9px 10px max(9px,env(safe-area-inset-bottom))!important}
  .confirm-dialog{width:calc(100vw - 16px)!important}.confirm-card{padding:18px!important;border-radius:18px!important}
}

/* Tenant card handoff — intentionally non-technical. */
.credential-tenant-hero-v2102{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 28px;margin-bottom:14px;background:#fff;border:1px solid #e8edf2;border-radius:24px!important;box-shadow:0 10px 36px rgba(20,30,45,.055)}
.credential-tenant-hero-v2102 h2{margin:4px 0 5px;font-size:clamp(26px,3vw,42px);letter-spacing:-.045em}.credential-tenant-hero-v2102 p{margin:0;color:#6f7884;font-size:11px;line-height:1.65}
.credential-issue-shell-v2102{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:14px;align-items:stretch;margin-bottom:14px}
.credential-reader-v2102,.credential-issue-form-v2102,.credential-active-v2102{background:#fff;border:1px solid #e8edf2;border-radius:24px!important;box-shadow:0 10px 36px rgba(20,30,45,.055)}
.credential-reader-v2102{min-height:520px;padding:34px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;position:relative;isolation:isolate}
.credential-reader-v2102:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--brand-accent) 8%,transparent),transparent 46%);z-index:-1}
.credential-reader-orbit-v2102{width:180px;height:180px;position:relative;display:grid;place-items:center;margin-bottom:26px}
.credential-reader-orbit-v2102>span{position:relative;z-index:3;width:82px;height:82px;display:grid;place-items:center;border-radius:28px!important;background:var(--brand-accent);color:#fff;box-shadow:0 18px 42px color-mix(in srgb,var(--brand-accent) 28%,transparent)}
.credential-reader-orbit-v2102>span .ui-icon{width:34px;height:34px}
.credential-reader-orbit-v2102>i{position:absolute;inset:50%;width:74px;height:74px;border:1px solid color-mix(in srgb,var(--brand-accent) 25%,transparent);border-radius:50%!important;transform:translate(-50%,-50%);animation:miraNfcPulse 2.4s ease-out infinite;opacity:0}
.credential-reader-orbit-v2102>i:nth-child(2){animation-delay:.75s}.credential-reader-orbit-v2102>i:nth-child(3){animation-delay:1.5s}
@keyframes miraNfcPulse{0%{width:74px;height:74px;opacity:.7}100%{width:178px;height:178px;opacity:0}}
.credential-reader-copy-v2102 small{font-size:8px;font-weight:800;letter-spacing:.16em;color:#8b95a2}.credential-reader-copy-v2102 h3{margin:7px 0 7px;font-size:24px;letter-spacing:-.035em}.credential-reader-copy-v2102 p{margin:0 auto 22px;max-width:330px;color:#78818e;font-size:10.5px;line-height:1.65}
.credential-reader-v2102.is-ready .credential-reader-orbit-v2102>span{background:#198754}.credential-reader-v2102.is-error .credential-reader-orbit-v2102>span{background:#b5473e}.credential-reader-v2102.is-reading .credential-reader-orbit-v2102>span{animation:miraReaderBreath 1s ease-in-out infinite alternate}@keyframes miraReaderBreath{to{transform:scale(1.06)}}
.credential-issue-form-v2102{padding:26px;display:grid;align-content:start;gap:13px}.credential-form-head-v2102{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:3px}.credential-form-head-v2102>div{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:9px}.credential-form-head-v2102>div>span{grid-row:1/3;width:28px;height:28px;border-radius:50%!important;background:#eef2f5;display:grid;place-items:center;font-size:9px;font-weight:800;color:#4d5968}.credential-form-head-v2102 b{font-size:12px}.credential-form-head-v2102 small{font-size:8.5px;color:#8a94a2}.credential-form-head-v2102>a{font-size:9px;font-weight:750;color:var(--brand-accent)}
.credential-big-field-v2102,.credential-access-grid-v2102>label,.credential-date-grid-v2102>label{display:grid;gap:6px}.credential-big-field-v2102>span,.credential-access-grid-v2102>label>span,.credential-date-grid-v2102 label>span{font-size:8.5px;font-weight:750;color:#6a7481}.credential-big-field-v2102 select,.credential-access-grid-v2102 select,.credential-date-grid-v2102 input{min-height:48px;width:100%;border:1px solid #dfe5ec;background:#fbfcfd;padding:0 13px;font:inherit;font-size:11px;border-radius:12px!important}
.credential-access-grid-v2102{display:grid;grid-template-columns:1fr 1fr;gap:10px}.credential-access-grid-v2102 fieldset{margin:0;padding:11px;border:1px solid #e1e6ec;border-radius:14px!important}.credential-access-grid-v2102 legend{padding:0 5px;font-size:8.5px;font-weight:750;color:#697381}.credential-gates-v2102{display:flex;gap:7px;flex-wrap:wrap}.credential-gates-v2102 label{cursor:pointer}.credential-gates-v2102 input{position:absolute;opacity:0}.credential-gates-v2102 label>span{display:flex;align-items:center;gap:7px;min-height:37px;padding:7px 10px;border:1px solid #e1e6ec;border-radius:10px!important;background:#fff;font-size:9px}.credential-gates-v2102 input:checked+span{border-color:color-mix(in srgb,var(--brand-accent) 35%,#dce3ea);background:color-mix(in srgb,var(--brand-accent) 7%,#fff);color:var(--brand-accent)}.credential-gates-v2102 .ui-icon{width:15px;height:15px}
.credential-date-grid-v2102{display:grid;grid-template-columns:1fr 1fr;gap:9px}.credential-submit-v2102{margin-top:5px;min-height:64px;border:0;border-radius:16px!important;background:var(--brand-accent);color:#fff;display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:12px 16px;text-align:left;cursor:pointer;box-shadow:0 12px 30px color-mix(in srgb,var(--brand-accent) 22%,transparent);transition:transform .14s ease,opacity .14s ease}.credential-submit-v2102>span{grid-row:1/3;width:36px;height:36px;border-radius:12px!important;background:rgba(255,255,255,.14);display:grid;place-items:center}.credential-submit-v2102 b{font-size:11px}.credential-submit-v2102 small{font-size:8.5px;color:rgba(255,255,255,.76)}.credential-submit-v2102:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.credential-submit-v2102:not(:disabled):hover{transform:translateY(-1px)}
.credential-active-v2102{padding:22px 24px}.credential-active-v2102>.section-head{margin-bottom:12px}.credential-active-grid-v2102{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.credential-active-grid-v2102>article{display:grid;grid-template-columns:38px minmax(0,1fr) 34px;gap:9px;align-items:center;padding:12px;border:1px solid #e7ebf0;border-radius:14px!important;background:#fbfcfd}.credential-mini-card-v2102{width:38px;height:38px;border-radius:12px!important;background:#eef4f1;color:#257253;display:grid;place-items:center}.credential-mini-card-v2102 .ui-icon{width:18px}.credential-active-grid-v2102 article>div{display:grid;gap:2px;min-width:0}.credential-active-grid-v2102 small{font-size:8.5px;color:#75808d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credential-active-grid-v2102 b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credential-active-grid-v2102 em{font-size:8px;color:#9099a5;font-style:normal}
/* Super admin credential security center. */
.credential-admin-hero-v2102{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:27px 28px;margin-bottom:12px;background:#101820;color:#fff;border-radius:24px!important}.credential-admin-hero-v2102 h2{margin:5px 0 6px;font-size:34px;letter-spacing:-.045em}.credential-admin-hero-v2102 p{margin:0;max-width:820px;color:#aab5c1;font-size:10.5px;line-height:1.7}.credential-admin-kpis-v2102{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.credential-admin-kpis-v2102 article{padding:16px 18px;background:#fff;border:1px solid #e6ebef;border-radius:16px!important}.credential-admin-kpis-v2102 small{display:block;font-size:8px;color:#87919d}.credential-admin-kpis-v2102 b{display:block;font-size:27px;margin-top:4px}.credential-admin-kpis-v2102 .risk b{color:#b5473e}.credential-admin-card-v2102,.credential-inspector-v2102{border-radius:20px!important}.credential-inspector-v2102{padding:22px;margin-bottom:12px;background:#fff;border:1px solid #e3e8ed}.credential-inspector-head-v2102{display:flex;justify-content:space-between;align-items:flex-start}.credential-inspector-head-v2102 h3{margin:4px 0 4px;font-size:21px}.credential-inspector-grid-v2102{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.credential-inspector-grid-v2102>span{padding:10px;background:#f6f8fa;border-radius:11px!important;min-width:0}.credential-inspector-grid-v2102 small{display:block;font-size:7.5px;color:#8a94a0}.credential-inspector-grid-v2102 b,.credential-inspector-grid-v2102 code{display:block;margin-top:3px;font-size:9px;overflow-wrap:anywhere}.credential-security-actions-v2102{display:flex;gap:7px;flex-wrap:wrap}.credential-event-mini-v2102,.credential-event-list-v2102,.credential-station-list-v2102{display:grid;gap:5px;margin-top:12px}.credential-event-mini-v2102>div,.credential-event-list-v2102>div,.credential-station-list-v2102>div{display:grid;grid-template-columns:110px 1fr 1fr 1fr;gap:8px;align-items:center;padding:9px 10px;background:#f8fafb;border-radius:9px!important;font-size:8px}.credential-station-list-v2102>div{grid-template-columns:10px 1fr}.credential-station-list-v2102 i{width:8px;height:8px;border-radius:50%!important;background:#bbc2ca}.credential-station-list-v2102 i.on{background:#2aa36b}

/* Hotel people directory. */
.people-hero-v2103{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:25px 27px;margin-bottom:12px;background:#fff;border:1px solid #e7ecf1;border-radius:22px!important}.people-hero-v2103 h2{margin:4px 0;font-size:32px;letter-spacing:-.04em}.people-hero-v2103 p{margin:0;color:#74808d;font-size:10px}.people-metrics-v2103{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.people-metrics-v2103 article{padding:14px 16px;background:#fff;border:1px solid #e8edf2;border-radius:14px!important}.people-metrics-v2103 small{font-size:8px;color:#87919d}.people-metrics-v2103 b{display:block;margin-top:3px;font-size:22px}.people-directory-v2103{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px}.people-list-v2103,.people-detail-v2103{background:#fff;border:1px solid #e7ecf1;border-radius:20px!important;padding:18px}.people-search-v2103{display:flex;gap:8px;margin-bottom:12px}.people-search-v2103 input{flex:1;min-height:44px;border:1px solid #e1e6eb;padding:0 12px;border-radius:11px!important}.people-row-v2103{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid #eef1f4}.people-row-v2103:last-child{border-bottom:0}.people-avatar-v2103{width:42px;height:42px;border-radius:14px!important;background:#f0f3f6;display:grid;place-items:center;font-size:11px;font-weight:800;color:#52606e}.people-row-v2103 b{display:block;font-size:10.5px}.people-row-v2103 small{display:block;margin-top:2px;font-size:8.5px;color:#87919d}.people-row-v2103 em{font-style:normal;font-size:8px;color:#64707d}.people-detail-v2103{position:sticky;top:82px;height:max-content}.people-detail-v2103 h3{margin:5px 0 12px;font-size:19px}.people-detail-grid-v2103{display:grid;grid-template-columns:1fr 1fr;gap:7px}.people-detail-grid-v2103 span{padding:9px;background:#f7f9fa;border-radius:9px!important}.people-detail-grid-v2103 small{display:block;font-size:7px;color:#8b95a0}.people-detail-grid-v2103 b{display:block;margin-top:2px;font-size:8.5px;overflow-wrap:anywhere}.people-notes-v2103{margin-top:9px;padding:10px;background:#fffaf0;border-radius:10px!important;font-size:8.5px;color:#715c35;white-space:pre-wrap}
/* Reusable form modal. */
.mira-modal-v2103{width:min(860px,calc(100vw - 20px));max-height:calc(100dvh - 20px);padding:0;border:0;background:transparent}.mira-modal-v2103::backdrop{background:rgba(10,16,27,.48);backdrop-filter:none}.mira-modal-card-v2103{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100dvh - 20px);background:#fff;border-radius:22px!important;overflow:hidden;box-shadow:0 24px 80px rgba(11,18,30,.22)}.mira-modal-head-v2103{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:18px 20px;border-bottom:1px solid #e8edf1}.mira-modal-head-v2103 h3{margin:4px 0 3px;font-size:19px}.mira-modal-head-v2103 p{margin:0;font-size:9px;color:#84909d}.mira-modal-close-v2103{width:39px;height:39px;border:0;background:#f1f3f5;border-radius:12px!important;display:grid;place-items:center;cursor:pointer}.mira-modal-body-v2103{padding:18px 20px;overflow:auto;overscroll-behavior:contain}.mira-modal-foot-v2103{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #e8edf1;background:#fbfcfd}.mira-form-grid-v2103{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.mira-form-grid-v2103 .full{grid-column:1/-1}.mira-form-grid-v2103 label{display:grid;gap:5px;font-size:8.5px;font-weight:750;color:#66717f}.mira-form-grid-v2103 input,.mira-form-grid-v2103 select,.mira-form-grid-v2103 textarea{width:100%;min-width:0;min-height:44px;border:1px solid #dfe5eb;background:#fbfcfd;padding:9px 11px;border-radius:10px!important;font:inherit;font-size:10px;box-sizing:border-box}.mira-form-grid-v2103 textarea{min-height:82px;resize:vertical}

@media(max-width:900px){.credential-issue-shell-v2102{grid-template-columns:1fr}.credential-reader-v2102{min-height:350px}.credential-active-grid-v2102{grid-template-columns:1fr 1fr}.people-directory-v2103{grid-template-columns:1fr}.people-detail-v2103{position:static}.credential-admin-kpis-v2102,.people-metrics-v2103{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.credential-tenant-hero-v2102,.credential-admin-hero-v2102,.people-hero-v2103{align-items:stretch;flex-direction:column;padding:18px}.credential-tenant-hero-v2102 .btn,.credential-admin-hero-v2102 .btn,.people-hero-v2103 .btn{width:100%}.credential-reader-v2102{min-height:300px;padding:22px}.credential-reader-orbit-v2102{width:145px;height:145px}.credential-reader-orbit-v2102>span{width:72px;height:72px}.credential-reader-orbit-v2102>i{animation-name:miraNfcPulseMobile}@keyframes miraNfcPulseMobile{0%{width:64px;height:64px;opacity:.65}100%{width:142px;height:142px;opacity:0}}.credential-issue-form-v2102{padding:16px}.credential-access-grid-v2102,.credential-date-grid-v2102,.credential-active-grid-v2102,.credential-inspector-grid-v2102,.mira-form-grid-v2103{grid-template-columns:1fr}.credential-form-head-v2102{align-items:flex-start}.credential-admin-kpis-v2102,.people-metrics-v2103{grid-template-columns:1fr 1fr}.credential-event-mini-v2102>div,.credential-event-list-v2102>div{grid-template-columns:1fr 1fr}.mira-modal-v2103{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0}.mira-modal-card-v2103{height:100dvh;max-height:100dvh;border-radius:0!important}.mira-modal-body-v2103{padding:14px}.mira-modal-foot-v2103{padding-bottom:max(12px,env(safe-area-inset-bottom))}.people-list-v2103,.people-detail-v2103{padding:14px}}

/* v0.21.0.4 · tenant-facing screens never expose factory/debug vocabulary. */
body.is-tenant-user .device-inventory-technical,body.is-tenant-user .device-inventory-card-title>em,body.is-tenant-user [data-technical-only]{display:none!important}
body.is-tenant-user .device-inventory-meta>span:nth-child(2),body.is-tenant-user .device-inventory-meta>span:nth-child(4){display:none!important}
body.is-tenant-user .device-inventory-meta{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.school-extra-v2103{border:1px solid #e7ebef;border-radius:12px!important;background:#fbfcfd;overflow:hidden}.school-extra-v2103>summary{cursor:pointer;list-style:none;padding:11px 12px;font-size:9px;font-weight:750;color:#596677}.school-extra-v2103>summary::-webkit-details-marker{display:none}.school-extra-v2103[open]>summary{border-bottom:1px solid #e7ebef;background:#fff}.school-extra-v2103>.mira-form-grid-v2103{padding:12px}
html.mira-has-dialog,html.mira-has-dialog body{overflow:hidden!important}
@media(max-width:620px){body.is-tenant-user .device-inventory-meta{grid-template-columns:1fr!important}.school-person-form-v2103 .form-row{grid-template-columns:1fr!important}}


/* ======================================================================
   MIRA v0.21.0.4 — GLOBAL MODAL/RADAR FAST PATH
   No live backdrop blur; one edge-to-edge geometry; low-cost radar paint.
   ====================================================================== */
dialog::backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(9,15,24,.46)!important}
.workspace-modal,.child-workspace-modal,.modal-layer,.radar-device-operation-backdrop-v20410{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important}
.workspace-modal{background:rgba(9,15,24,.44)!important;animation:miraFastSurfaceIn .11s ease-out!important;padding:8px!important}
.child-workspace-modal{background:rgba(9,15,24,.52)!important;animation:miraFastSurfaceIn .11s ease-out!important;padding:8px!important}
.workspace-modal-frame,.child-workspace-frame{outline:0!important;animation:miraFastSheetIn .12s cubic-bezier(.2,.75,.2,1)!important;contain:layout paint style}
.workspace-modal-frame{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}
.workspace-modal-body,.child-workspace-modal-body{overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;scrollbar-gutter:auto!important}
.workspace-content,.child-workspace-content,.modal-form-sheet,.workspace-content .form-stage,.child-workspace-content .form-stage{width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important;box-sizing:border-box!important}
.workspace-content>.card,.child-workspace-content>.card,.modal-form-sheet>.card{max-width:none!important;width:100%!important;box-sizing:border-box!important}
.workspace-modal.is-compact:not(:has(.master-radar-modal-v2029)):not(:has(.master-radar-modal-v2031)):not(:has(.master-radar-modal-v2046)) .workspace-modal-frame{width:min(1380px,100%)!important;height:min(940px,100%)!important;margin:auto!important;border-radius:20px!important}
.child-workspace-frame{width:min(1280px,100%)!important;height:min(920px,100%)!important;max-height:100%!important;min-height:0!important;border-radius:20px!important}
.child-workspace-modal-body{padding:18px clamp(12px,2vw,26px) 24px!important}
.confirm-dialog,.v21-dialog,.mira-modal-v2103,.map-picker-dialog,.role-template-dialog-v2015,.ios-install-dialog{transform:translateZ(0);will-change:auto!important}
.master-radar-empty-v2029,.master-radar-empty-v2031,.master-radar-master-strip-v2031,.master-radar-panel-v2046,.master-radar-point-v2046{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.master-radar-point-v2029,.radar-point-stable-v20410{transition:background-color .12s ease,border-color .12s ease,opacity .12s ease!important;box-shadow:0 0 0 1px rgba(93,229,169,.28)!important;filter:none!important}
.master-radar-point-v2029>span{box-shadow:none!important}
.master-radar-modal-v2029.radar-dense .master-radar-sweep-v2029{animation:none!important;opacity:.13!important}
.master-radar-modal-v2029.radar-dense .master-radar-point-v2029{box-shadow:none!important;transition:none!important}
.radar-device-operation-sheet-v20410,.radar-device-operation-sheet-v20412{box-shadow:0 18px 48px rgba(8,18,22,.22)!important}
@keyframes miraFastSurfaceIn{from{opacity:.35}to{opacity:1}}
@keyframes miraFastSheetIn{from{opacity:.65;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:820px){
  .workspace-modal,.child-workspace-modal{padding:0!important}
  .workspace-modal-frame,.child-workspace-frame,.workspace-modal.is-compact .workspace-modal-frame{width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;border-radius:0!important}
  .workspace-modal-body{padding:12px 10px max(18px,env(safe-area-inset-bottom))!important}
  .child-workspace-modal-body{padding:12px 10px max(18px,env(safe-area-inset-bottom))!important}
  .workspace-modal-toolbar,.child-workspace-toolbar{min-height:58px!important;height:58px!important;padding-inline:10px!important}
  .master-radar-scope-v2031{min-height:380px!important;height:52vh!important}
}
@media(prefers-reduced-motion:reduce){.credential-reader-orbit-v2102>i,.master-radar-sweep-v2029{animation:none!important}}

/* ======================================================================
   Mira v0.21.0.8 · explicit Wi‑Fi / Master routing + Room Digital Twin
   ====================================================================== */
.radar-route-flow-v2105{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:2px 0 10px}.radar-route-flow-v2105>div{min-width:0;padding:12px 13px;border:1px solid #e4e9ee;border-radius:14px;background:#f8fafb}.radar-route-flow-v2105>div.primary{background:#f4fbf7;border-color:#d8eee1}.radar-route-flow-v2105 small{display:block;margin-bottom:4px;font-size:7px;font-weight:800;letter-spacing:.12em;color:#88939e}.radar-route-flow-v2105 strong{display:block;font-size:11px;line-height:1.3;color:#17232d}.radar-route-flow-v2105 span{display:block;margin-top:4px;font-size:7.5px;line-height:1.45;color:#78848f}

.credential-schema-notice-v2105{display:flex;align-items:center;gap:18px;padding:26px;border:1px solid #e2e8ef;border-radius:22px;background:#fff;box-shadow:0 12px 36px rgba(15,23,42,.05)}.credential-schema-notice-v2105>span{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:#f2f6fa;color:#334155}.credential-schema-notice-v2105 .ui-icon{width:28px;height:28px}.credential-schema-notice-v2105 small{font-size:9px;font-weight:800;letter-spacing:.12em;color:#83909c}.credential-schema-notice-v2105 h2{margin:4px 0 7px;font-size:25px}.credential-schema-notice-v2105 p{margin:0;color:#66717d;line-height:1.6}.credential-schema-notice-v2105 code{padding:2px 6px;border-radius:6px;background:#eef2f6;color:#263342}

.room-twin-shell-v2105{position:relative}.room-twin-hero-v2105{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,310px);gap:24px;align-items:end;margin-bottom:14px;padding:28px 30px;border:1px solid #dfe6ec;border-radius:26px;background:linear-gradient(135deg,#0d1b25 0%,#142d36 58%,#173c38 100%);color:#fff;overflow:hidden;box-shadow:0 18px 52px rgba(10,25,35,.14)}.room-twin-hero-v2105:after{content:"";position:absolute;right:-110px;top:-130px;width:330px;height:330px;border-radius:50%;background:radial-gradient(circle,rgba(104,231,170,.16),transparent 66%);pointer-events:none}.room-twin-hero-v2105>div,.room-twin-room-picker-v2105{position:relative;z-index:1}.room-twin-hero-v2105 .eyebrow{color:#79d9ad}.room-twin-hero-v2105 h2{margin:4px 0 8px;font-size:clamp(30px,3.2vw,48px);letter-spacing:-.055em;line-height:.98}.room-twin-hero-v2105 p{max-width:780px;margin:0;color:#bfd0d6;font-size:12px;line-height:1.65}.room-twin-hero-v2105>div>small{display:block;margin-top:10px;color:#8ea6ad;font-size:9px}.room-twin-room-picker-v2105 label{display:grid;gap:7px;font-size:8px;font-weight:800;letter-spacing:.12em;color:#a5b9bf}.room-twin-room-picker-v2105 select{width:100%;min-height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#fff;color:#15222a;font:inherit;font-weight:750}
.room-twin-kpis-v2105{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.room-twin-kpis-v2105 article{display:grid;gap:3px;padding:14px 16px;border:1px solid #e3e8ed;border-radius:16px;background:#fff;box-shadow:0 6px 20px rgba(15,23,42,.035)}.room-twin-kpis-v2105 article.wifi{border-color:#cfeada;background:#f8fdf9}.room-twin-kpis-v2105 article.mesh{border-color:#d8e2f4;background:#f9fbff}.room-twin-kpis-v2105 small{font-size:7px;font-weight:850;letter-spacing:.11em;color:#8c97a2}.room-twin-kpis-v2105 b{font-size:24px;line-height:1;color:#18242e}.room-twin-kpis-v2105 span{font-size:8px;color:#87929d}
.room-twin-layout-v2105{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.55fr);gap:12px;align-items:start}.room-twin-device-panel-v2105,.room-twin-live-v2105{padding:16px;border:1px solid #e2e7ec;border-radius:22px;background:#fff;box-shadow:0 9px 30px rgba(15,23,42,.045)}.room-twin-live-v2105{position:sticky;top:88px}.room-twin-section-head-v2105{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:2px}.room-twin-section-head-v2105 small{display:block;font-size:7px;font-weight:850;letter-spacing:.12em;color:#8b96a1}.room-twin-section-head-v2105 h3{margin:3px 0 0;font-size:18px;letter-spacing:-.03em}.room-twin-section-head-v2105>span{display:flex;align-items:center;gap:6px;font-size:8px;color:#75818c}.room-twin-section-head-v2105>span i{width:7px;height:7px;border-radius:50%;background:#2fb979;box-shadow:0 0 0 4px rgba(47,185,121,.11)}
.room-twin-device-grid-v2105{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.room-twin-device-v2105{display:grid;gap:11px;padding:14px;border:1px solid #e5e9ed;border-radius:18px;background:#fbfcfd;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.room-twin-device-v2105:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.05)}.room-twin-device-v2105.route-wifi{border-color:#cde7d8;background:linear-gradient(180deg,#fbfffc,#f8fcfa)}.room-twin-device-v2105.route-master_ble{border-color:#d6e0ef;background:linear-gradient(180deg,#fcfdff,#f8faff)}.room-twin-device-v2105.route-offline{border-color:#eadfe0;background:#fffafa}.room-twin-device-v2105>header{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center}.room-twin-device-icon-v2105{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#eef3f5;color:#20313b}.room-twin-device-icon-v2105 .ui-icon{width:20px;height:20px}.room-twin-device-v2105 header small{display:block;font-size:6.8px;font-weight:850;letter-spacing:.12em;color:#8e99a4}.room-twin-device-v2105 header b{display:block;margin-top:1px;font-size:11px;color:#1f2d36}.room-twin-device-v2105 header em{display:block;margin-top:2px;font-size:8px;font-style:normal;color:#7f8b96;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-twin-device-state-v2105{align-self:start;padding:5px 7px;border-radius:999px;background:#eef2f5;font-size:7px;font-weight:750;color:#65717c}
.room-twin-route-v2105{display:grid;grid-template-columns:1fr 1fr;gap:7px}.room-twin-route-v2105>div{padding:10px 11px;border:1px solid #e4e9ed;border-radius:12px;background:#fff}.room-twin-route-v2105 small,.room-twin-last-command-v2105 small{display:block;font-size:6.6px;font-weight:850;letter-spacing:.1em;color:#909aa5}.room-twin-route-v2105 b{display:block;margin-top:3px;font-size:9px;line-height:1.35;color:#1d2b34}.room-twin-route-v2105 span{display:block;margin-top:3px;font-size:7px;line-height:1.4;color:#8a949e}.room-twin-last-command-v2105{padding:10px 11px;border-radius:12px;background:#101d25;color:#fff}.room-twin-last-command-v2105 b{display:block;margin-top:3px;font-size:9px}.room-twin-last-command-v2105 span{display:block;margin-top:3px;font-size:7px;color:#9fb0b8}.room-twin-actions-v2105{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.room-twin-actions-v2105 form{margin:0}.room-twin-actions-v2105 .btn{width:100%;min-height:38px;padding:7px 8px;border-radius:11px!important;font-size:8px;justify-content:center}.room-twin-actions-v2105 .ui-icon{width:14px;height:14px}.room-twin-bind-v2105{border-top:1px solid #e8ecef;padding-top:10px}.room-twin-bind-v2105 label{display:grid;gap:5px;font-size:7px;font-weight:800;letter-spacing:.08em;color:#8a949f}.room-twin-bind-v2105 select{width:100%;min-width:0;min-height:39px;border:1px solid #dde4e9;border-radius:10px;background:#fff;padding:0 10px;font:inherit;font-size:8px;color:#26343e}
.room-twin-metrics-v2105{display:grid;gap:8px}.room-twin-metrics-v2105 article{display:grid;gap:4px;padding:13px 14px;border:1px solid #e7ebef;border-radius:14px;background:#fafcfd}.room-twin-metrics-v2105 article small{font-size:7px;font-weight:800;letter-spacing:.08em;color:#89949e;text-transform:uppercase}.room-twin-metrics-v2105 article b{font-size:17px;color:#1e2b34}.room-twin-metrics-v2105 article b em{font-size:9px;font-style:normal;color:#8a959f}.room-twin-metrics-v2105 article span{font-size:7px;color:#9aa3ab}.room-twin-telemetry-empty-v2105{display:grid;place-items:center;text-align:center;gap:7px;min-height:210px;padding:24px;border:1px dashed #dfe5e9;border-radius:16px;background:#fbfcfd;color:#68747e}.room-twin-telemetry-empty-v2105 .ui-icon{width:26px;height:26px;color:#7c8993}.room-twin-telemetry-empty-v2105 b{font-size:11px;color:#283640}.room-twin-telemetry-empty-v2105 span{max-width:240px;font-size:8px;line-height:1.5;color:#8b959e}.room-twin-toast-v2105{position:fixed;right:18px;bottom:18px;z-index:1600;max-width:min(420px,calc(100vw - 36px));padding:11px 14px;border-radius:12px;background:#153d2a;color:#fff;font-size:9px;font-weight:700;box-shadow:0 14px 38px rgba(0,0,0,.2);opacity:0;transform:translateY(8px);pointer-events:none;transition:.16s ease}.room-twin-toast-v2105.bad{background:#5a2427}.room-twin-toast-v2105.show{opacity:1;transform:none}
@media(max-width:1100px){.room-twin-layout-v2105{grid-template-columns:1fr}.room-twin-live-v2105{position:static}.room-twin-device-grid-v2105{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.radar-route-flow-v2105,.room-twin-route-v2105{grid-template-columns:1fr}.room-twin-hero-v2105{grid-template-columns:1fr;padding:20px;border-radius:20px}.room-twin-kpis-v2105{grid-template-columns:1fr 1fr}.room-twin-device-panel-v2105,.room-twin-live-v2105{padding:11px;border-radius:17px}.room-twin-device-grid-v2105{grid-template-columns:1fr}.room-twin-device-v2105{padding:12px}.room-twin-actions-v2105{grid-template-columns:1fr}.room-twin-device-v2105>header{grid-template-columns:38px minmax(0,1fr)}.room-twin-device-state-v2105{grid-column:2;justify-self:start}.room-twin-device-icon-v2105{width:38px;height:38px}}
