/* =========================================================================
   AMIR SMART HOME — استایل اصلی دوقلوی دیجیتال (پیشوند کلاس‌ها: sh-)
   ========================================================================= */
.amir-sh-app{
  --sh-accent: #00FF96;
  --sh-accent-dim: rgba(0,255,150,0.35);
  --sh-accent-glow: rgba(0,255,150,0.18);
  --sh-bg-0: #07080a;
  --sh-panel: rgba(9,11,12,0.86);
  --sh-panel-grad: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0));
  --sh-panel-border: rgba(255,255,255,0.13);
  --sh-text-shadow: 0 1px 3px rgba(0,0,0,0.55);
  --sh-text-0: #ffffff;
  --sh-text-1: #c7cdcb;
  --sh-text-2: #8b928f;
  --sh-blue: #3aa8ff;
  --sh-amber: #ffb020;
  --sh-red: #ff4d4d;
  --sh-gold: #e7c583;

  position:relative; width:100%; min-height:420px; border-radius:22px; overflow:hidden;
  background: radial-gradient(circle at 25% 15%, #12140f 0%, var(--sh-bg-0) 55%, #050505 100%);
  font-family:'SH Vazirmatn', Tahoma, sans-serif; color:var(--sh-text-0); direction:rtl; isolation:isolate;
  box-shadow: 0 30px 80px -20px rgba(0,0,0,0.55), inset 0 0 0 1px rgba(255,255,255,0.05);
}
.amir-sh-app *{ box-sizing:border-box; }
.amir-sh-app .sh-topbar, .amir-sh-app .sh-camchips, .amir-sh-app .sh-rooms, .amir-sh-app .sh-time,
.amir-sh-app .sh-autopilot-panel, .amir-sh-app .sh-info, .amir-sh-app .sh-dashboard, .amir-sh-app .sh-search-wrap,
.amir-sh-app .sh-gemini-box{ text-shadow:var(--sh-text-shadow); }
.amir-sh-app canvas{ display:block; outline:none; }

/* shared "premium glass" chrome for every pill/button-like surface */
.amir-sh-app .sh-camchip, .amir-sh-app .sh-scn-btn, .amir-sh-app .sh-iconbtn, .amir-sh-app .sh-dd-btn,
.amir-sh-app .sh-feature-toggle, .amir-sh-app .sh-fab, .amir-sh-app .sh-room-item, .amir-sh-app .sh-btn,
.amir-sh-app .sh-dpad-btn{
  position:relative; background-image:var(--sh-panel-grad); background-blend-mode:overlay;
  transition:border-color .18s, background-color .18s, transform .12s, box-shadow .18s;
}
.amir-sh-app .sh-camchip:active, .amir-sh-app .sh-scn-btn:active, .amir-sh-app .sh-dd-btn:active,
.amir-sh-app .sh-room-item:active, .amir-sh-app .sh-btn:active{ transform:scale(0.97); }

.sh-stage{ position:absolute; inset:0; cursor:grab; touch-action:none; }
.sh-stage.sh-dragging{ cursor:grabbing; }

/* loading */
.sh-loading{ position:absolute; inset:0; z-index:100; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; background:var(--sh-bg-0); transition:opacity .6s; }
.sh-loading.sh-hide{ opacity:0; pointer-events:none; }
.sh-ring{ width:42px;height:42px;border-radius:50%; border:2px solid rgba(255,255,255,0.08); border-top-color:var(--sh-accent); animation:sh-spin .9s linear infinite; }
@keyframes sh-spin{ to{ transform:rotate(360deg);} }
.sh-loading-text{ font-size:12px; color:var(--sh-text-2); }

/* topbar */
.sh-topbar{ position:absolute; top:0; right:0; left:0; z-index:40; display:flex; align-items:center; justify-content:space-between; padding:14px 18px; pointer-events:none; background:linear-gradient(to bottom, rgba(3,4,5,0.65) 0%, rgba(3,4,5,0.32) 60%, rgba(3,4,5,0) 100%); padding-bottom:34px; gap:10px; }
.sh-topbar-right{ display:flex; align-items:center; gap:10px; min-width:0; flex:1; }
.sh-brand{ display:flex; align-items:center; gap:9px; pointer-events:auto; min-width:0; flex-shrink:0; background:var(--sh-panel); border:1px solid var(--sh-panel-border); backdrop-filter:blur(14px); padding:8px 14px 8px 12px; border-radius:100px; }
.sh-brand .sh-dot{ width:8px;height:8px;border-radius:50%; background:var(--sh-accent); box-shadow:0 0 10px var(--sh-accent),0 0 22px var(--sh-accent-glow); flex-shrink:0; }
.sh-brand .sh-name{ font-weight:800; font-size:13.5px; white-space:nowrap; color:var(--sh-text-0); }
.sh-brand .sh-name b{ color:var(--sh-accent); }
.sh-brand .sh-sub{ font-size:10.5px; font-weight:500; color:var(--sh-text-1); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding-inline-start:8px; margin-inline-start:6px; border-inline-start:1px solid var(--sh-panel-border); }
.sh-brand .sh-sub{ display:none; }
@media (min-width:900px){ .sh-brand .sh-sub{ display:inline; } }
.sh-status-pill{ pointer-events:auto; font-size:10.5px; background:var(--sh-panel); border:1px solid var(--sh-panel-border); backdrop-filter:blur(14px); padding:6px 13px; border-radius:100px; flex-shrink:0; }
.sh-status-pill.sh-status-alert{ color:var(--sh-red); border-color:rgba(255,77,77,0.4); }

.sh-toolbtns{ display:flex; gap:7px; pointer-events:auto; flex-shrink:0; }
.sh-iconbtn{ width:32px;height:32px;border-radius:10px; background:var(--sh-panel); border:1px solid var(--sh-panel-border); backdrop-filter:blur(14px); display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--sh-text-1); }
.sh-iconbtn:hover{ color:var(--sh-text-0); border-color:var(--sh-accent-dim); }
.sh-iconbtn svg{ width:15px;height:15px; }

/* search — now inline in the topbar, next to the brand */
.sh-search-wrap{ pointer-events:auto; min-width:0; flex:1; max-width:240px; }
.sh-search{ display:flex; align-items:center; gap:8px; background:var(--sh-panel); border:1px solid var(--sh-panel-border); backdrop-filter:blur(14px); border-radius:100px; padding:8px 13px; box-shadow:0 6px 16px rgba(0,0,0,0.3); }
.sh-search svg{ width:13px;height:13px; color:var(--sh-text-1); flex-shrink:0; }
.sh-search input{ flex:1; min-width:0; background:none; border:none; outline:none; color:var(--sh-text-0); font-family:inherit; font-size:12px; font-weight:500; }
.sh-search input::placeholder{ color:var(--sh-text-1); opacity:1; }
.sh-search-results{ position:absolute; top:calc(100% + 8px); right:0; left:0; max-height:240px; overflow-y:auto; background:rgba(10,12,13,0.97); border:1px solid var(--sh-panel-border); backdrop-filter:blur(16px); border-radius:12px; padding:5px; display:none; box-shadow:0 20px 44px rgba(0,0,0,0.5); }
.sh-search-results.sh-show{ display:block; }
.sh-search-item{ padding:8px 10px; border-radius:8px; font-size:12px; font-weight:500; cursor:pointer; color:var(--sh-text-0); display:flex; justify-content:space-between; }
.sh-search-item:hover{ background:var(--sh-accent-glow); }
.sh-search-item .sh-tag{ font-size:10px; color:var(--sh-text-2); }

/* camera mode chips */
.sh-camchips{ position:absolute; top:60px; right:50%; transform:translateX(50%); z-index:32; display:flex; gap:6px; pointer-events:auto; }

/* ---- AUTO PILOT — پنل همیشه‌باز، دقیقاً بالای اتاق‌ها ---- */
.sh-autopilot-panel{ position:absolute; top:60px; left:18px; z-index:27; width:222px; background:rgba(10,12,13,0.9); border:1px solid var(--sh-panel-border); backdrop-filter:blur(18px); border-radius:16px; padding:12px; max-height:260px; overflow-y:auto; box-shadow:0 14px 34px rgba(0,0,0,0.35); }
.sh-autopilot-panel h3{ margin:2px 2px 8px; font-size:10px; font-weight:700; color:var(--sh-text-2); letter-spacing:1px; text-transform:uppercase; display:flex; align-items:center; gap:6px; }
.sh-autopilot-panel h3 svg{ width:12px;height:12px; }
.sh-ap-item{ display:flex; align-items:center; gap:9px; padding:8px 9px; border-radius:9px; font-size:12px; font-weight:500; color:var(--sh-text-0); cursor:pointer; }
.sh-ap-item:hover{ background:rgba(255,255,255,0.07); }
.sh-ap-item .sh-ap-icon{ width:24px;height:24px;border-radius:7px; background:rgba(255,255,255,0.05); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--sh-text-2); }
.sh-ap-item .sh-ap-icon svg{ width:13px;height:13px; }
.sh-ap-item.sh-selected{ background:rgba(0,255,150,0.12); }
.sh-ap-item.sh-selected .sh-ap-icon{ background:var(--sh-accent); color:#06110c; }
.sh-ap-divider{ height:1px; background:var(--sh-panel-border); margin:8px 4px; }

/* ---- dropdown (Locator only now) ---- */
.sh-dd{ position:relative; }
.sh-dd-btn{ display:flex; align-items:center; gap:7px; width:100%; background:rgba(10,12,13,0.92); border:1px solid var(--sh-panel-border); backdrop-filter:blur(14px); color:var(--sh-text-0); font-weight:600; font-size:11px; padding:9px 13px; border-radius:100px; cursor:pointer; white-space:nowrap; box-shadow:0 8px 20px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.07); }
.sh-dd-btn svg{ width:14px;height:14px; flex-shrink:0; }
.sh-dd-btn .sh-dd-chevron{ width:9px;height:9px; opacity:.7; transition:transform .2s; margin-inline-start:auto; }
.sh-dd.sh-open .sh-dd-chevron{ transform:rotate(180deg); }
.sh-dd.sh-open .sh-dd-btn{ border-color:var(--sh-accent-dim); background:rgba(0,255,150,0.14); }
.sh-dd-btn .sh-dd-current{ color:var(--sh-accent); font-weight:700; }
.sh-dd-menu{ position:absolute; top:calc(100% + 8px); right:0; min-width:200px; background:rgba(9,11,12,0.97); border:1px solid var(--sh-panel-border); backdrop-filter:blur(20px); border-radius:14px; padding:6px; box-shadow:0 20px 50px rgba(0,0,0,0.55); opacity:0; transform:translateY(-6px); pointer-events:none; transition:.18s; z-index:50; }
.sh-dd-menu.sh-dd-menu-up{ top:auto; bottom:calc(100% + 8px); }
.sh-dd.sh-open .sh-dd-menu{ opacity:1; transform:translateY(0); pointer-events:auto; }
.sh-dd.sh-open .sh-dd-menu.sh-dd-menu-up{ transform:translateY(0); }
.sh-dd-item{ display:flex; align-items:center; gap:9px; padding:9px 10px; border-radius:9px; font-size:12px; font-weight:500; color:var(--sh-text-1); cursor:pointer; }
.sh-dd-item:hover{ background:rgba(255,255,255,0.07); color:var(--sh-text-0); }
.sh-dd-item svg{ width:15px;height:15px; flex-shrink:0; color:var(--sh-text-2); }
.sh-dd-item .sh-dd-item-icon{ width:26px;height:26px;border-radius:8px; background:rgba(255,255,255,0.05); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.sh-dd-item.sh-selected{ color:var(--sh-text-0); background:rgba(0,255,150,0.1); }
.sh-dd-item.sh-selected .sh-dd-item-icon{ background:var(--sh-accent); color:#06110c; }
.sh-dd-item.sh-selected svg{ color:#06110c; }
.sh-dd-item .sh-dd-check{ margin-inline-start:auto; width:15px;height:15px; color:var(--sh-accent); opacity:0; }
.sh-dd-item.sh-selected .sh-dd-check{ opacity:1; }
.sh-dd-divider{ height:1px; background:var(--sh-panel-border); margin:5px 4px; }

/* ---- right-side stack: search → locator → radar (always visible, bottom-right, clear of AI button) ---- */
.sh-right-stack{ position:absolute; bottom:76px; right:18px; z-index:34; width:206px; display:flex; flex-direction:column; gap:10px; pointer-events:none; }
.sh-right-stack > *{ pointer-events:auto; }

/* radar panel — always on, no toggle */
.sh-radar-panel{ position:relative; width:100%; background:radial-gradient(circle at 50% 45%, rgba(10,20,16,0.97), rgba(4,7,6,0.99)); border:1px solid var(--sh-panel-border); border-radius:18px; padding:13px; box-shadow:0 24px 60px rgba(0,0,0,0.55), inset 0 0 0 1px rgba(0,255,150,0.07); }
.sh-radar-head{ display:flex; align-items:center; justify-content:center; margin-bottom:9px; }
.sh-radar-title{ font-size:10.5px; font-weight:800; letter-spacing:1.5px; color:var(--sh-accent); text-transform:uppercase; }
.sh-radar-svg-wrap{ position:relative; width:100%; aspect-ratio:1/1; border-radius:50%; overflow:hidden; box-shadow:inset 0 0 30px rgba(0,255,150,0.09), 0 0 0 1px rgba(0,255,150,0.18);
  background-image:
    repeating-radial-gradient(circle at 50% 50%, rgba(0,255,150,0.16) 0, rgba(0,255,150,0.16) 1px, transparent 1px, transparent 24.5%),
    linear-gradient(rgba(0,255,150,0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(0,255,150,0.08) 1px, transparent 1px);
  background-size: 100% 100%, 12.5% 100%, 100% 12.5%; }
.sh-radar-blips{ position:absolute; inset:0; }
.sh-radar-sweep{ position:absolute; inset:0; border-radius:50%; background:conic-gradient(from 0deg, rgba(0,255,150,0.5), rgba(0,255,150,0) 28%); animation:sh-radar-spin 3.2s linear infinite; transform-origin:50% 50%; }
@keyframes sh-radar-spin{ to{ transform:rotate(360deg); } }
.sh-radar-blip{ position:absolute; width:7px;height:7px;border-radius:50%; transform:translate(-50%,-50%); box-shadow:0 0 8px currentColor; }
.sh-radar-blip::after{ content:''; position:absolute; inset:-5px; border-radius:50%; border:1px solid currentColor; opacity:.5; animation:sh-blip-pulse 1.6s ease-out infinite; }
@keyframes sh-blip-pulse{ 0%{ transform:scale(0.6); opacity:.6; } 100%{ transform:scale(2.2); opacity:0; } }
.sh-radar-filters{ display:flex; gap:5px; margin-top:10px; flex-wrap:wrap; justify-content:center; }
.sh-radar-filter{ font-size:9.5px; font-weight:600; padding:5px 9px; border-radius:100px; background:rgba(255,255,255,0.07); border:1px solid var(--sh-panel-border); color:var(--sh-text-1); cursor:pointer; }
.sh-radar-filter.sh-active{ background:var(--sh-accent); color:#06110c; border-color:var(--sh-accent); }

/* people / pets detection overlay */
.sh-people-layer{ position:absolute; inset:0; z-index:24; pointer-events:none; overflow:hidden; }
.sh-person-tag{ position:absolute; transform:translate(-50%,-100%); display:flex; flex-direction:column; align-items:center; gap:3px; white-space:nowrap; transition:opacity .2s; }
.sh-person-tag .sh-pt-box{ font-size:9.5px; font-weight:700; color:#06110c; background:var(--sh-accent); padding:3px 8px; border-radius:6px; box-shadow:0 4px 12px rgba(0,0,0,0.35); }
.sh-person-tag.sh-tag-pet .sh-pt-box{ background:var(--sh-amber); }
.sh-person-tag.sh-tag-bot .sh-pt-box{ background:var(--sh-blue); }
.sh-person-tag .sh-pt-conf{ font-size:8.5px; font-weight:500; color:var(--sh-text-1); background:rgba(6,8,9,0.75); padding:1px 6px; border-radius:100px; margin-top:1px; }
.sh-person-tag .sh-pt-frame{ width:26px; height:34px; border:1.5px solid var(--sh-accent); border-radius:5px; margin-bottom:2px; box-shadow:0 0 8px rgba(0,255,150,0.4); }
.sh-person-tag.sh-tag-pet .sh-pt-frame{ border-color:var(--sh-amber); box-shadow:0 0 8px rgba(255,176,32,0.4); width:22px; height:22px; }

/* bot control d-pad */
.sh-dpad{ display:grid; grid-template-columns:repeat(3,34px); grid-template-rows:repeat(3,34px); gap:4px; justify-content:center; margin-top:6px; }
.sh-dpad-btn{ display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,0.08); border:1px solid var(--sh-panel-border); border-radius:9px; cursor:pointer; color:var(--sh-text-0); }
.sh-dpad-btn:hover{ background:rgba(255,255,255,0.16); }
.sh-dpad-btn svg{ width:15px;height:15px; }
.sh-dpad-center{ display:flex; align-items:center; justify-content:center; font-size:9px; color:var(--sh-text-2); }
.sh-camchip{ background:rgba(10,12,13,0.9); border:1px solid var(--sh-panel-border); backdrop-filter:blur(14px); color:var(--sh-text-0); font-weight:600; font-size:11.5px; padding:7px 14px; border-radius:100px; cursor:pointer; white-space:nowrap; box-shadow:0 8px 20px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.07); }
.sh-camchip:hover{ border-color:var(--sh-accent-dim); }
.sh-camchip.sh-active{ background:linear-gradient(135deg, var(--sh-accent), #00d47f); color:#06110c; font-weight:800; border-color:var(--sh-accent); text-shadow:none; box-shadow:0 8px 20px rgba(0,255,150,0.28); }

/* rooms sidebar (left) */
.sh-rooms{ position:absolute; top:334px; left:18px; z-index:26; width:172px; background:rgba(10,12,13,0.9); border:1px solid var(--sh-panel-border); backdrop-filter:blur(18px); border-radius:16px; padding:12px; max-height:calc(100% - 390px); overflow-y:auto; box-shadow:0 14px 34px rgba(0,0,0,0.35); }
.sh-rooms h3{ margin:2px 2px 8px; font-size:10px; font-weight:700; color:var(--sh-text-2); letter-spacing:1px; text-transform:uppercase; }
.sh-room-item{ padding:9px 10px; border-radius:9px; font-size:12.5px; font-weight:500; color:var(--sh-text-0); cursor:pointer; display:flex; justify-content:space-between; align-items:center; }
.sh-room-item:hover{ background:rgba(255,255,255,0.08); }
.sh-room-item.sh-active{ background:var(--sh-accent); color:#06110c; font-weight:700; text-shadow:none; }
.sh-room-item.sh-active .sh-room-dot{ background:#06110c; box-shadow:none; }
.sh-room-item .sh-room-dot{ width:6px;height:6px;border-radius:50%; background:var(--sh-text-2); }
.sh-room-item.sh-active .sh-room-dot{ background:var(--sh-accent); box-shadow:0 0 6px var(--sh-accent); }

/* time-of-day slider */
.sh-time{ position:absolute; left:18px; bottom:18px; z-index:26; width:220px; background:rgba(10,12,13,0.92); border:1px solid var(--sh-panel-border); backdrop-filter:blur(18px); border-radius:16px; padding:11px 14px; box-shadow:0 14px 34px rgba(0,0,0,0.4); }
.sh-time .sh-time-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.sh-time .sh-time-label{ font-size:10.5px; color:var(--sh-text-2); }
.sh-time .sh-time-val{ font-size:12px; font-weight:700; color:var(--sh-text-0); }
.amir-sh-app input[type=range]{ -webkit-appearance:none; width:100%; height:3px; border-radius:2px; background:rgba(255,255,255,0.14); outline:none; }
.amir-sh-app input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; width:13px;height:13px;border-radius:50%; background:var(--sh-accent); box-shadow:0 0 8px var(--sh-accent); cursor:pointer; }

/* device info panel */
.sh-info{ position:absolute; top:104px; right:18px; width:270px; max-width:calc(100% - 36px); z-index:38; background:var(--sh-panel); border:1px solid var(--sh-panel-border); backdrop-filter:blur(18px); border-radius:18px; padding:18px; box-shadow:0 20px 50px rgba(0,0,0,0.4); transform:translateX(120%); opacity:0; transition:transform .4s cubic-bezier(.16,1,.3,1), opacity .3s; max-height:calc(100% - 300px); overflow-y:auto; }
.sh-info.sh-show{ transform:translateX(0); opacity:1; }
.sh-info .sh-close{ position:absolute; left:12px; top:12px; width:22px;height:22px;border-radius:50%; background:rgba(255,255,255,0.06); display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--sh-text-2); font-size:12px; }
.sh-info .sh-eyebrow{ font-size:10px; letter-spacing:1px; color:var(--sh-accent); text-transform:uppercase; font-weight:700; margin-bottom:6px; }
.sh-info h2{ margin:0 0 3px; font-size:17px; font-weight:800; }
.sh-info .sh-sub{ font-size:11px; color:var(--sh-text-2); margin-bottom:14px; }
.sh-info-row{ display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid rgba(255,255,255,0.06); font-size:12px; }
.sh-info-row:last-of-type{ border-bottom:none; }
.sh-info-row .sh-k{ color:var(--sh-text-2); }
.sh-info-row .sh-v{ color:var(--sh-text-0); font-weight:600; }
.sh-info-controls{ margin-top:12px; display:flex; flex-direction:column; gap:10px; }
.sh-btnrow{ display:flex; gap:8px; }
.sh-btn{ flex:1; text-align:center; background:rgba(255,255,255,0.08); border:1px solid var(--sh-panel-border); color:var(--sh-text-0); font-family:inherit; font-weight:500; font-size:11.5px; padding:9px 8px; border-radius:10px; cursor:pointer; }
.sh-btn:hover{ background:rgba(255,255,255,0.14); }
.sh-btn.sh-btn-on{ background:var(--sh-accent); color:#06110c; border-color:var(--sh-accent); font-weight:800; text-shadow:none; }
.sh-btn.sh-btn-danger{ background:rgba(255,77,77,0.16); border-color:rgba(255,77,77,0.4); color:#ffc2c2; }

/* dashboard (right, collapsible) */
.sh-dashboard{ position:absolute; top:0; bottom:0; left:0; width:280px; z-index:34; background:var(--sh-panel); border-inline-end:1px solid var(--sh-panel-border); backdrop-filter:blur(20px); padding:70px 16px 16px; overflow-y:auto; transform:translateX(-105%); transition:transform .4s cubic-bezier(.16,1,.3,1); }
.sh-dashboard.sh-open{ transform:translateX(0); }
.sh-dash-section{ margin-bottom:18px; }
.sh-dash-title{ font-size:10.5px; font-weight:700; color:var(--sh-text-2); letter-spacing:1px; text-transform:uppercase; margin-bottom:10px; }
.sh-health-ring-wrap{ display:flex; align-items:center; gap:14px; margin-bottom:6px; }
.sh-health-num{ font-size:30px; font-weight:800; }
.sh-health-label{ font-size:10.5px; color:var(--sh-text-2); }
.sh-metric-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.sh-metric{ background:rgba(255,255,255,0.04); border:1px solid var(--sh-panel-border); border-radius:12px; padding:10px; }
.sh-metric .sh-metric-label{ font-size:10px; color:var(--sh-text-2); margin-bottom:4px; }
.sh-metric .sh-metric-val{ font-size:15px; font-weight:700; }
.sh-energy-flow{ display:flex; align-items:center; justify-content:space-between; font-size:10.5px; color:var(--sh-text-1); margin-top:8px; }
.sh-alert-item{ display:flex; align-items:center; gap:8px; padding:8px 0; font-size:11.5px; border-bottom:1px solid rgba(255,255,255,0.05); }
.sh-alert-item:last-child{ border-bottom:none; }
.sh-alert-dot{ width:7px;height:7px;border-radius:50%; flex-shrink:0; }
.sh-alert-critical .sh-alert-dot{ background:var(--sh-red); box-shadow:0 0 6px var(--sh-red); }
.sh-alert-warning .sh-alert-dot{ background:var(--sh-amber); box-shadow:0 0 6px var(--sh-amber); }
.sh-alert-info .sh-alert-dot{ background:var(--sh-accent); }
.sh-alert-text{ flex:1; color:var(--sh-text-1); }
.sh-alert-time{ color:var(--sh-text-2); font-size:10px; }
.sh-empty{ font-size:11px; color:var(--sh-text-2); padding:6px 0; }
.sh-event-item{ display:flex; gap:10px; font-size:11px; padding:6px 0; color:var(--sh-text-1); }
.sh-event-time{ color:var(--sh-text-2); flex-shrink:0; }

/* ---- Gemini-style persistent AI command box (replaces old scenario bar + AI FAB) ---- */
.sh-gemini-box{ position:absolute; bottom:18px; left:256px; right:236px; z-index:30; border-radius:20px; padding:1.5px; overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,0.45); }
.sh-gemini-box::before{ content:''; position:absolute; inset:-60%; background:conic-gradient(from 0deg, transparent 0deg, var(--sh-accent) 40deg, transparent 100deg, var(--sh-blue) 160deg, transparent 220deg, var(--sh-gold) 280deg, transparent 340deg, transparent 360deg); animation:sh-gemini-rotate 5s linear infinite; }
@keyframes sh-gemini-rotate{ to{ transform:rotate(360deg); } }
.sh-gemini-inner{ position:relative; background:rgba(9,11,12,0.97); border-radius:19px; padding:10px 12px; }
.sh-gemini-response{ font-size:11.5px; color:var(--sh-accent); font-weight:500; padding:2px 4px 8px; display:none; }
.sh-gemini-response.sh-show{ display:block; }
.sh-gemini-quick{ display:flex; gap:6px; margin-bottom:8px; overflow-x:auto; scrollbar-width:none; }
.sh-gemini-quick::-webkit-scrollbar{ display:none; }
.sh-gemini-chip{ flex-shrink:0; font-size:10.5px; font-weight:600; color:var(--sh-text-1); background:rgba(255,255,255,0.06); border:1px solid var(--sh-panel-border); padding:6px 12px; border-radius:100px; cursor:pointer; white-space:nowrap; }
.sh-gemini-chip:hover{ color:var(--sh-text-0); border-color:var(--sh-accent-dim); background:rgba(0,255,150,0.1); }
.sh-gemini-inputrow{ display:flex; align-items:center; gap:8px; }
.sh-gemini-inputrow input{ flex:1; min-width:0; background:none; border:none; outline:none; color:var(--sh-text-0); font-family:inherit; font-size:12.5px; }
.sh-gemini-inputrow input::placeholder{ color:var(--sh-text-2); }
.sh-gemini-iconbtn{ width:32px;height:32px;border-radius:50%; background:rgba(255,255,255,0.07); border:1px solid var(--sh-panel-border); color:var(--sh-text-1); cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.sh-gemini-iconbtn:hover{ color:var(--sh-text-0); background:rgba(255,255,255,0.13); }
.sh-gemini-iconbtn svg{ width:14px;height:14px; }
.sh-gemini-iconbtn.sh-mic-active{ background:var(--sh-red); border-color:var(--sh-red); color:#fff; animation:sh-mic-pulse 1s ease-in-out infinite; }
@keyframes sh-mic-pulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(255,77,77,0.5);} 50%{ box-shadow:0 0 0 8px rgba(255,77,77,0);} }
.sh-gemini-send{ width:32px;height:32px;border-radius:50%; background:var(--sh-accent); color:#06110c; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.sh-gemini-send svg{ width:14px;height:14px; }
.sh-gemini-msg-voice{ display:flex; align-items:center; gap:6px; }
.sh-gemini-voice-bars{ display:flex; align-items:center; gap:2px; height:13px; }
.sh-gemini-voice-bars span{ width:2.5px; background:var(--sh-accent); border-radius:2px; opacity:.8; animation:sh-voice-bar 0.9s ease-in-out infinite; }
.sh-gemini-voice-bars span:nth-child(1){ height:40%; animation-delay:0s; }
.sh-gemini-voice-bars span:nth-child(2){ height:100%; animation-delay:.15s; }
.sh-gemini-voice-bars span:nth-child(3){ height:65%; animation-delay:.3s; }
.sh-gemini-voice-bars span:nth-child(4){ height:85%; animation-delay:.45s; }
.sh-gemini-voice-bars span:nth-child(5){ height:50%; animation-delay:.6s; }
@keyframes sh-voice-bar{ 0%,100%{ transform:scaleY(0.4);} 50%{ transform:scaleY(1);} }

.sh-hint{ position:absolute; top:96px; right:50%; transform:translateX(50%); z-index:22; font-size:10px; color:var(--sh-text-1); background:var(--sh-panel); border:1px solid var(--sh-panel-border); backdrop-filter:blur(14px); padding:6px 14px; border-radius:100px; pointer-events:none; white-space:nowrap; }
.sh-credit{ position:absolute; bottom:5px; right:236px; font-size:9px; color:var(--sh-text-2); opacity:.6; z-index:18; pointer-events:none; }

/* mobile FABs */
.sh-fab{ display:none; position:absolute; z-index:36; width:42px;height:42px;border-radius:50%; background:var(--sh-panel); border:1px solid var(--sh-panel-border); backdrop-filter:blur(16px); align-items:center; justify-content:center; cursor:pointer; color:var(--sh-text-0); box-shadow:0 10px 26px rgba(0,0,0,0.4); }
.sh-fab svg{ width:17px;height:17px; }
.sh-fab-rooms{ top:60px; left:18px; }
.sh-fab-dash{ top:60px; left:66px; }
.sh-fab-autopilot{ top:60px; left:114px; }

@media (max-width:860px){
  .sh-hint{ display:none; }
  .sh-dashboard{ width:86%; }
}

@media (max-width:760px){
  .amir-sh-app{ border-radius:16px; }
  .sh-brand .sh-sub{ display:none; }
  .sh-search-wrap{ max-width:150px; }
  .sh-rooms{ left:14px; right:14px; top:auto; bottom:0; width:auto; max-height:56%; border-radius:20px 20px 0 0; transform:translateY(105%); transition:transform .35s cubic-bezier(.16,1,.3,1); }
  .sh-rooms.sh-open{ transform:translateY(0); }
  .sh-autopilot-panel{ left:14px; right:14px; top:auto; bottom:0; width:auto; max-height:56%; border-radius:20px 20px 0 0; transform:translateY(105%); transition:transform .35s cubic-bezier(.16,1,.3,1); }
  .sh-autopilot-panel.sh-open{ transform:translateY(0); }
  .sh-fab-rooms, .sh-fab-dash, .sh-fab-autopilot{ display:flex; }
  .sh-dd-label{ display:none; }
  .sh-dd-btn{ padding:9px; }
  .sh-right-stack{ right:14px; bottom:150px; width:132px; }
  .sh-radar-title{ font-size:9px; }
  .sh-time{ left:14px; bottom:150px; width:150px; }
  .sh-credit{ display:none; }
  .sh-info{ left:14px; right:14px; top:auto; bottom:0; width:auto; max-width:none; border-radius:20px 20px 0 0; max-height:66%; transform:translateY(105%); }
  .sh-info.sh-show{ transform:translateY(0); }
  .sh-dashboard{ width:100%; top:auto; bottom:0; height:70%; border-radius:20px 20px 0 0; transform:translateY(105%); padding-top:20px; }
  .sh-dashboard.sh-open{ transform:translateY(0); }
  .sh-gemini-box{ left:14px; right:14px; bottom:14px; }
  .sh-gemini-chip{ font-size:10px; padding:5px 10px; }
}

@media (prefers-reduced-motion: reduce){
  .sh-ring{ animation:none; }
  .sh-gemini-box::before{ animation:none; }
}
