/* MASTER-J project demos — interactive preview window beside the portrait. */
.project-card[data-demo-id] { cursor:pointer; }
.project-card[data-demo-id]:focus-visible { outline:2px solid #41f5a5; outline-offset:4px; }
.project-demo-backdrop[hidden], .project-demo-window[hidden] { display:none !important; }
.project-demo-backdrop {
  position:fixed; z-index:10020; top:55px; right:0; bottom:0; left:34vw;
  background:linear-gradient(90deg,rgba(0,8,5,.08),rgba(0,8,5,.72) 18%,rgba(0,8,5,.84));
  backdrop-filter:blur(3px); animation:demo-backdrop-in .24s ease both;
}
.project-demo-window {
  position:fixed; z-index:10021; top:clamp(68px,8vh,92px); right:clamp(14px,2.2vw,34px);
  width:min(790px,calc(66vw - 30px)); max-height:calc(100vh - 108px); display:flex; flex-direction:column;
  overflow:hidden; color:#eafff4; border:1px solid rgba(44,255,165,.62); border-radius:18px;
  background:linear-gradient(145deg,rgba(5,25,16,.985),rgba(1,10,7,.99) 64%,rgba(4,25,16,.985));
  box-shadow:0 24px 90px rgba(0,0,0,.72),0 0 34px rgba(0,255,145,.18),inset 0 1px rgba(210,255,235,.1);
  backdrop-filter:blur(18px); animation:demo-window-in .32s cubic-bezier(.2,.8,.2,1) both;
}
.project-demo-window::before { content:""; position:absolute; inset:0 0 auto; height:2px; background:linear-gradient(90deg,transparent,#00ffa0,#9dffd3,transparent); }
.project-demo-header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding:21px 24px 16px; border-bottom:1px solid rgba(92,255,180,.16); background:linear-gradient(90deg,rgba(0,255,145,.075),transparent 65%); }
.demo-eyebrow { display:flex; align-items:center; gap:8px; color:#76dcae; font-size:10px; font-weight:800; letter-spacing:1.5px; }
.demo-eyebrow i { width:7px; height:7px; border-radius:50%; background:#00f69a; box-shadow:0 0 12px #00f69a; animation:demo-live 1.4s ease-in-out infinite; }
.project-demo-heading h2 { margin:8px 0 4px; color:#f1fff7; font-size:clamp(21px,2vw,28px); line-height:1.15; letter-spacing:-.7px; }
.project-demo-heading p { margin:0; color:#a9c9b8; font-size:13px; line-height:1.55; }
.project-demo-close { flex:0 0 36px; width:36px; height:36px; border:1px solid rgba(113,255,191,.3); border-radius:10px; color:#baffdf; background:rgba(0,255,147,.08); font-size:25px; line-height:1; cursor:pointer; transition:.2s; }
.project-demo-close:hover { color:#03130b; background:#59ffb1; box-shadow:0 0 18px rgba(0,255,157,.38); }
.project-demo-content { min-height:180px; overflow:auto; padding:19px 22px 21px; scrollbar-color:rgba(0,255,151,.35) rgba(0,0,0,.18); }
.project-demo-footer { padding:14px 22px 17px; border-top:1px solid rgba(92,255,180,.16); background:rgba(0,0,0,.22); }
.demo-sample-note { margin:0 0 12px; color:#a5bfb1; font-size:11px; line-height:1.55; }
.demo-sample-note strong { margin-right:7px; color:#7dffc3; font-size:10px; letter-spacing:1px; }
.demo-footer-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.demo-footer-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:37px; padding:0 14px; border-radius:9px; font-size:12px; font-weight:800; text-decoration:none; transition:.2s; }
.demo-live-link { color:#04150c; background:linear-gradient(110deg,#00e889,#8cffc7); box-shadow:0 0 17px rgba(0,255,145,.15); }
.demo-contact-link { color:#aaffd5; border:1px solid rgba(0,255,145,.38); background:rgba(0,255,145,.07); }
.demo-contact-link:hover { background:rgba(0,255,145,.16); }
.demo-link-status { display:block; margin-top:9px; color:#6e9d84; font-size:10px; }
.demo-app-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:15px; color:#80dbae; font-size:10px; font-weight:800; letter-spacing:1px; }
.demo-app-top span { display:flex; align-items:center; gap:7px; }
.demo-app-top span i { width:6px; height:6px; border-radius:50%; background:#00f29a; box-shadow:0 0 9px #00f29a; }
.demo-version { padding:6px 9px; border:1px solid rgba(0,255,145,.22); border-radius:7px; color:#9fffcf; font-size:9px; letter-spacing:.8px; }
.demo-panel-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.demo-surface { min-width:0; padding:15px; border:1px solid rgba(92,255,180,.17); border-radius:12px; background:linear-gradient(145deg,rgba(5,35,22,.72),rgba(2,13,9,.76)); box-shadow:inset 0 1px rgba(225,255,239,.035); }
.demo-surface h3 { margin:0 0 11px; color:#eafff3; font-size:14px; }
.demo-muted { color:#91b5a0; font-size:11px; line-height:1.55; }
.demo-stat-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-bottom:13px; }
.demo-stat { padding:12px; border:1px solid rgba(0,255,145,.17); border-radius:10px; background:rgba(0,255,145,.045); }
.demo-stat strong { display:block; color:#e6fff3; font-size:22px; line-height:1.1; }
.demo-stat span { display:block; margin-top:5px; color:#8eb39d; font-size:10px; }
.demo-device-head { display:flex; align-items:center; gap:11px; }
.demo-device-icon { display:grid; place-items:center; flex:0 0 42px; height:42px; border:1px solid rgba(0,255,145,.34); border-radius:12px; color:#7bffc5; background:rgba(0,255,145,.08); font-size:21px; }
.demo-device-name { min-width:0; flex:1; }
.demo-device-name strong { display:block; color:#effff6; font-size:14px; }
.demo-device-name small { color:#8eb39c; font-size:10px; }
.demo-state { padding:6px 8px; border-radius:7px; color:#8cffc1; background:rgba(0,255,145,.1); font-size:9px; font-weight:800; letter-spacing:.6px; }
.demo-state.is-locked { color:#ffcf8a; background:rgba(255,166,60,.12); }
.demo-screen-time { display:flex; align-items:end; justify-content:space-between; gap:10px; margin:19px 0 8px; }
.demo-screen-time span { color:#91b5a0; font-size:11px; }
.demo-screen-time strong { color:#eafff3; font-size:20px; }
.demo-progress { height:7px; overflow:hidden; border-radius:20px; background:rgba(255,255,255,.08); }
.demo-progress i { display:block; width:62%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#00c978,#a0ffd0); box-shadow:0 0 10px rgba(0,255,145,.55); }
.demo-form-row { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:15px; }
.demo-form-row label { color:#a7c7b5; font-size:11px; }
.demo-time-input,.demo-text-input,.demo-select { min-height:36px; max-width:100%; padding:0 10px; border:1px solid rgba(93,255,178,.25); border-radius:8px; outline:none; color:#eafff3; background:#061910; font:inherit; font-size:12px; }
.demo-time-input:focus,.demo-text-input:focus,.demo-select:focus { border-color:#36f6a4; box-shadow:0 0 0 3px rgba(0,255,145,.1); }
.demo-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.demo-button { min-height:36px; padding:0 13px; border:1px solid rgba(0,255,145,.35); border-radius:8px; color:#baffdc; background:rgba(0,255,145,.07); font:inherit; font-size:11px; font-weight:700; cursor:pointer; transition:.2s; }
.demo-button:hover { color:#03140b; border-color:#7cffc1; background:#68ffb5; transform:translateY(-1px); }
.demo-button.primary { color:#03140b; border-color:#25f6a0; background:linear-gradient(110deg,#00db82,#98ffd0); }
.demo-button:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.demo-feedback { min-height:18px; margin:10px 0 0; color:#7ee9b4; font-size:11px; line-height:1.45; }
.demo-property { display:flex; gap:13px; align-items:center; }
.demo-property-thumb { display:grid; place-items:center; flex:0 0 116px; height:80px; border-radius:8px; color:#afffd9; background:linear-gradient(145deg,#173d2b,#07140d 70%); font-size:30px; }
.demo-property-info { min-width:0; flex:1; }
.demo-property-info h3 { margin:0 0 5px; font-size:14px; }
.demo-property-info p { margin:0; color:#92b7a1; font-size:11px; line-height:1.5; }
.demo-searchbar { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.demo-searchbar .demo-text-input { width:100%; }
.demo-chat { display:flex; flex-direction:column; gap:9px; min-height:190px; max-height:260px; overflow:auto; padding:12px; border:1px solid rgba(0,255,145,.18); border-radius:11px; background:rgba(0,0,0,.22); }
.demo-message { max-width:88%; padding:9px 11px; border-radius:11px; color:#d9f7e7; background:rgba(112,255,182,.09); font-size:11px; line-height:1.5; }
.demo-message.user { align-self:flex-end; color:#03140b; background:linear-gradient(120deg,#50f4a6,#adffd5); }
.demo-message small { display:block; margin-bottom:3px; color:#77b795; font-size:8px; font-weight:800; letter-spacing:.8px; }
.demo-message.user small { color:#255b42; }
.demo-quick-prompts { display:flex; flex-wrap:wrap; gap:7px; margin:10px 0; }
.demo-quick-prompts button { padding:7px 9px; border:1px solid rgba(0,255,145,.22); border-radius:7px; color:#9df4c2; background:rgba(0,255,145,.045); font:inherit; font-size:10px; font-weight:600; cursor:pointer; }
.demo-chat-form { display:flex; gap:8px; }
.demo-chat-form .demo-text-input { flex:1; width:100%; }
.demo-diagnostic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.demo-diagnostic { padding:12px; border:1px solid rgba(0,255,145,.18); border-radius:9px; background:rgba(0,255,145,.04); }
.demo-diagnostic strong { display:block; color:#effff6; font-size:12px; }
.demo-diagnostic span { display:block; margin-top:7px; color:#80d8a8; font-size:10px; }
.demo-diagnostic.is-checking span { color:#ffd48b; }
.demo-diagnostic.is-done span { color:#7fffc1; }
.demo-meet-stage { display:grid; grid-template-columns:1fr 150px; gap:12px; }
.demo-presenter { display:grid; place-items:center; min-height:210px; border:1px solid rgba(0,255,145,.18); border-radius:11px; background:radial-gradient(circle at 50% 30%,rgba(0,255,145,.16),transparent 60%),linear-gradient(145deg,#0b2417,#030c08); }
.demo-avatar { display:grid; place-items:center; width:88px; height:88px; border:2px solid rgba(126,255,194,.56); border-radius:50%; color:#c9ffe5; background:linear-gradient(145deg,#326a4d,#0b1b12); font-size:31px; box-shadow:0 0 25px rgba(0,255,145,.16); }
.demo-avatar.camera-off { color:transparent; background:linear-gradient(145deg,#173d2b,#07140d); }
.demo-presenter strong { display:block; margin-top:8px; color:#dffff0; font-size:12px; }
.demo-participants { display:flex; flex-direction:column; gap:8px; }
.demo-participant { display:flex; align-items:center; gap:8px; min-height:56px; padding:8px; border:1px solid rgba(0,255,145,.14); border-radius:9px; color:#a8d1b9; background:rgba(0,255,145,.04); font-size:10px; }
.demo-participant i { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#c8ffe4; background:rgba(0,255,145,.12); font-style:normal; }
.demo-meet-toolbar { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:12px; }
.demo-meet-toolbar .demo-button.is-on { color:#00150b; background:#73ffbd; }
.demo-meet-toolbar .demo-button.is-off { color:#ffd2b1; border-color:rgba(255,150,100,.45); background:rgba(255,100,60,.1); }
@keyframes demo-backdrop-in { from{opacity:0} to{opacity:1} }
@keyframes demo-window-in { from{opacity:0;transform:translate3d(18px,8px,0) scale(.985)} to{opacity:1;transform:translate3d(0,0,0) scale(1)} }
@keyframes demo-live { 50%{opacity:.35;box-shadow:0 0 3px #00f29a} }
@media(max-width:980px) {
  .project-demo-backdrop { inset:68px 0 0; background:rgba(0,8,5,.76); }
  .project-demo-window { top:78px; left:14px; right:14px; width:auto; max-height:calc(100vh - 94px); }
}
@media(max-width:560px) {
  .project-demo-header { padding:16px 16px 13px; }.project-demo-content { padding:14px; }.project-demo-footer { padding:12px 14px 14px; }
  .demo-panel-grid { grid-template-columns:1fr; }.demo-meet-stage { grid-template-columns:1fr; }.demo-participants { flex-direction:row; flex-wrap:wrap; }
  .demo-property { align-items:flex-start; flex-direction:column; }.demo-property-thumb { width:100%; flex-basis:auto; }
}
@media(prefers-reduced-motion:reduce) { .project-demo-backdrop,.project-demo-window,.demo-eyebrow i { animation:none !important; } }
body.project-demo-open .cursor-android { opacity:0 !important; visibility:hidden !important; }


/* BEDTIME MASTER — paired Parent / Child phone demo based on app v1.3.2 */
.bedtime-demo-top img { width:24px; height:24px; object-fit:contain; border-radius:6px; margin-left:2px; vertical-align:middle; }
.bedtime-demo-instruction { display:flex; align-items:center; gap:11px; margin:0 0 15px; padding:11px 13px; border:1px solid rgba(0,255,145,.2); border-radius:11px; background:linear-gradient(100deg,rgba(0,255,145,.075),rgba(0,0,0,.14)); }
.bedtime-instruction-icon { display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px; border:1px solid rgba(0,255,145,.35); border-radius:9px; color:#8dffcb; font-size:19px; }
.bedtime-demo-instruction > div { min-width:0; flex:1; }
.bedtime-demo-instruction strong { display:block; color:#ecfff5; font-size:13px; }
.bedtime-demo-instruction small { display:block; margin-top:3px; color:#9bbda9; font-size:11px; line-height:1.4; }
.bedtime-demo-live { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; color:#8fffc5; font-size:9px; font-weight:800; letter-spacing:.6px; }
.bedtime-demo-live i,.bedtime-child-identity > span i,.bedtime-child-footer i,.bedtime-parent-command i,.bedtime-lock-status i { display:inline-block; width:7px; height:7px; border-radius:50%; background:#24f6a0; box-shadow:0 0 9px rgba(36,246,160,.8); }
.bedtime-demo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:18px; }
.bedtime-phone-wrap { min-width:0; }
.bedtime-phone-caption { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 8px; color:#85dcb0; font-size:9px; font-weight:800; letter-spacing:1px; }
.bedtime-phone-caption b { padding:4px 7px; border:1px solid rgba(0,255,145,.22); border-radius:6px; color:#b1ffd7; background:rgba(0,255,145,.06); font-size:8px; letter-spacing:.7px; }
.bedtime-demo-phone { position:relative; width:100%; max-width:330px; margin:0 auto; padding:7px; border:1px solid #476453; border-radius:31px; background:linear-gradient(145deg,#354c3e,#101a14 38%,#26392e 75%,#0b120e); box-shadow:0 16px 38px rgba(0,0,0,.48),inset 0 0 0 2px rgba(255,255,255,.045),0 0 20px rgba(0,255,145,.08); }
.bedtime-demo-phone::before { content:""; position:absolute; top:84px; left:-3px; width:3px; height:47px; border-radius:3px 0 0 3px; background:#607c69; }
.bedtime-demo-phone::after { content:""; position:absolute; top:105px; right:-3px; width:3px; height:64px; border-radius:0 3px 3px 0; background:#607c69; }
.bedtime-phone-camera { position:absolute; z-index:5; top:10px; left:50%; width:74px; height:17px; transform:translateX(-50%); border-radius:0 0 12px 12px; background:#07100b; box-shadow:0 2px 3px rgba(0,0,0,.35); }
.bedtime-phone-screen { position:relative; min-height:455px; overflow:hidden; border-radius:24px; color:#f0fff6; background:#07170f; }
.parent-phone-screen { padding:0 12px 9px; background:radial-gradient(ellipse at 88% 17%,rgba(0,255,145,.13),transparent 36%),linear-gradient(180deg,#10271b,#06140d 60%,#0b1e13); }
.bedtime-phone-statusbar { display:flex; align-items:center; justify-content:space-between; height:29px; padding:4px 3px 0; color:#d7f4e2; font-size:9px; font-weight:800; }
.bedtime-phone-appbar { display:flex; align-items:center; gap:8px; padding:10px 1px 11px; border-bottom:1px solid rgba(134,255,190,.12); }
.bedtime-phone-appbar img { width:32px; height:32px; border-radius:8px; box-shadow:0 0 11px rgba(0,255,145,.16); }
.bedtime-phone-appbar div { min-width:0; flex:1; }
.bedtime-phone-appbar strong { display:block; color:#edfff4; font-size:12px; letter-spacing:.6px; }
.bedtime-phone-appbar small { display:block; margin-top:2px; color:#85b99a; font-size:8px; letter-spacing:1px; }
.bedtime-app-menu { color:#a2d9b8; font-size:15px; letter-spacing:2px; }
.bedtime-phone-greeting { padding:13px 2px 11px; }
.bedtime-phone-greeting > small { color:#5fffb0; font-size:8px; font-weight:800; letter-spacing:1.5px; }
.bedtime-phone-greeting h3 { margin:4px 0 3px; color:#effff5; font-size:17px; letter-spacing:-.4px; }
.bedtime-phone-greeting p { margin:0; color:#9dbca8; font-size:10px; }
.bedtime-child-summary { display:flex; align-items:center; gap:8px; padding:10px 8px; border:1px solid rgba(80,255,163,.2); border-radius:11px; background:linear-gradient(115deg,rgba(0,255,145,.095),rgba(0,0,0,.17)); }
.bedtime-child-avatar { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; border:1px solid rgba(126,255,194,.5); border-radius:50%; color:#d9ffeb; background:linear-gradient(145deg,#287b52,#102c1d); font-size:15px; font-weight:900; box-shadow:0 0 12px rgba(0,255,145,.12); }
.bedtime-child-identity { min-width:0; flex:1; }
.bedtime-child-identity strong { display:block; color:#effff5; font-size:11px; }
.bedtime-child-identity small { display:block; margin-top:2px; color:#92b49f; font-size:8px; }
.bedtime-child-identity > span { display:flex; align-items:center; gap:5px; margin-top:5px; color:#7debb1; font-size:8px; }
.bedtime-child-identity > span i { width:5px; height:5px; }
.bedtime-online-pill { padding:5px 6px; border:1px solid rgba(45,255,151,.25); border-radius:6px; color:#83ffc1; background:rgba(0,255,145,.08); font-size:8px; letter-spacing:.4px; }
.bedtime-parent-metrics { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; padding:11px 10px; border:1px solid rgba(119,255,178,.12); border-radius:10px; background:rgba(0,0,0,.18); }
.bedtime-parent-metrics > div:first-child small { display:block; color:#8eb79c; font-size:7px; font-weight:800; letter-spacing:.8px; }
.bedtime-parent-metrics strong { display:block; margin-top:4px; color:#f0fff5; font-size:21px; line-height:1.1; }
.bedtime-parent-metrics span { display:block; margin-top:3px; color:#8eaf9a; font-size:8px; }
.bedtime-metric-ring { display:grid; place-items:center; width:49px; height:49px; border:4px solid rgba(102,255,174,.22); border-top-color:#54ffac; border-right-color:#54ffac; border-radius:50%; color:#caffdf; font-size:10px; font-weight:900; transform:rotate(20deg); }
.bedtime-metric-ring b { transform:rotate(-20deg); }
.bedtime-parent-schedule { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:8px; padding:9px 10px; border:1px solid rgba(119,255,178,.1); border-radius:9px; color:#a9cdb7; background:rgba(0,0,0,.13); font-size:9px; }
.bedtime-parent-schedule strong { color:#eafff2; font-size:11px; }
.bedtime-control-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:13px 1px 7px; }
.bedtime-control-heading span { color:#a3cdb3; font-size:8px; font-weight:900; letter-spacing:.8px; }
.bedtime-control-heading small { color:#658d74; font-size:7px; letter-spacing:.5px; }
.bedtime-parent-controls { display:flex; flex-wrap:nowrap; gap:8px; width:100%; }
.bedtime-control-button { display:flex; flex:1 1 0; min-width:0; align-items:center; justify-content:center; gap:6px; min-height:43px; padding:0 5px; white-space:nowrap; border:1px solid rgba(111,255,179,.28); border-radius:9px; color:#baffd7; background:rgba(0,255,145,.07); font:inherit; font-size:12px; font-weight:900; letter-spacing:.5px; cursor:pointer; transition:transform .18s,border-color .18s,background .18s,box-shadow .18s; }
.bedtime-control-button span { font-size:15px; }
.bedtime-control-button.lock { border-color:rgba(255,184,102,.36); color:#ffe1b8; background:rgba(255,158,63,.08); }
.bedtime-control-button.lock.is-current { border-color:#ffb45e; color:#241404; background:linear-gradient(120deg,#ffbf70,#ffe0a5); box-shadow:0 0 17px rgba(255,176,79,.2); }
.bedtime-control-button.unlock.is-current { border-color:#5bffae; color:#03170c; background:linear-gradient(120deg,#22e98b,#a1ffd0); box-shadow:0 0 17px rgba(0,255,145,.2); }
.bedtime-control-button:hover { transform:translateY(-2px); }
.bedtime-control-button:focus-visible { outline:2px solid #baffd7; outline-offset:2px; }
.bedtime-parent-command { display:flex; align-items:center; gap:7px; min-height:31px; margin-top:8px; padding:7px 8px; border:1px solid rgba(0,255,145,.14); border-radius:8px; color:#8eddb0; background:rgba(0,0,0,.2); font-size:8px; line-height:1.35; }
.bedtime-parent-command i { flex:0 0 6px; width:6px; height:6px; }
.bedtime-parent-command.is-locked { border-color:rgba(255,174,82,.25); color:#ffd09a; background:rgba(255,147,53,.06); }
.bedtime-parent-command.is-locked i { background:#ffb65e; box-shadow:0 0 9px rgba(255,181,94,.65); }
.bedtime-phone-bottom-nav { display:flex; align-items:center; justify-content:space-around; margin:10px -3px 0; padding:8px 0 2px; border-top:1px solid rgba(126,255,190,.1); color:#638b72; }
.bedtime-phone-bottom-nav > span { display:grid; justify-items:center; gap:2px; font-size:14px; }
.bedtime-phone-bottom-nav small { font-size:7px; }
.bedtime-phone-bottom-nav .active { color:#68ffb4; }
.child-phone-screen { padding:0 12px 12px; background:radial-gradient(ellipse at 50% 0%,rgba(35,146,91,.26),transparent 44%),linear-gradient(180deg,#11281e,#06130d 72%); }
.bedtime-child-topbar { display:flex; align-items:center; justify-content:space-between; padding:8px 2px 10px; color:#c9f6da; font-size:9px; font-weight:900; letter-spacing:1px; }
.bedtime-child-topbar b { padding:4px 7px; border:1px solid rgba(0,255,145,.2); border-radius:6px; color:#8affc5; background:rgba(0,255,145,.07); font-size:7px; letter-spacing:.7px; }
.bedtime-child-topbar b.is-locked { border-color:rgba(255,180,91,.3); color:#ffd19a; background:rgba(255,155,62,.1); }
.bedtime-child-home { transition:filter .45s ease,transform .45s ease; }
.bedtime-child-welcome { text-align:center; padding:7px 2px 10px; }
.bedtime-child-portrait { display:grid; place-items:center; width:53px; height:53px; margin:0 auto 7px; border:2px solid rgba(104,255,180,.5); border-radius:50%; color:#e2fff0; background:linear-gradient(145deg,#2c865a,#102b1c); font-size:20px; font-weight:900; box-shadow:0 0 18px rgba(0,255,145,.15); }
.bedtime-child-welcome small { color:#67ffb3; font-size:7px; font-weight:900; letter-spacing:1.5px; }
.bedtime-child-welcome h3 { margin:4px 0; color:#f1fff6; font-size:16px; }
.bedtime-child-welcome p { margin:0; color:#9ab8a4; font-size:9px; }
.bedtime-child-time { display:flex; flex-direction:column; align-items:center; margin:6px 0 11px; }
.bedtime-child-time strong { color:#f0fff6; font-size:34px; font-weight:300; letter-spacing:-1.5px; }
.bedtime-child-time span { color:#8eb39c; font-size:8px; }
.bedtime-child-usage { padding:10px; border:1px solid rgba(0,255,145,.18); border-radius:10px; background:rgba(0,0,0,.17); }
.bedtime-child-usage > div:first-child { display:flex; justify-content:space-between; gap:8px; color:#a7cbb5; font-size:8px; }
.bedtime-child-usage strong { color:#ecfff4; font-size:10px; }
.bedtime-child-usage-bar { height:5px; margin:8px 0 5px; overflow:hidden; border-radius:10px; background:rgba(255,255,255,.08); }
.bedtime-child-usage-bar i { display:block; width:56%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#18d982,#a1ffd0); box-shadow:0 0 9px rgba(0,255,145,.5); }
.bedtime-child-usage > small { color:#79a88b; font-size:7px; }
.bedtime-child-apps { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-top:12px; }
.bedtime-child-apps > div { display:grid; justify-items:center; gap:4px; padding:8px 2px; border:1px solid rgba(133,255,186,.13); border-radius:9px; background:rgba(0,255,145,.04); }
.bedtime-child-apps i { font-style:normal; font-size:17px; }
.bedtime-child-apps span { color:#a3cdb2; font-size:7px; }
.bedtime-child-footer { display:flex; align-items:center; justify-content:center; gap:6px; margin-top:13px; color:#7eb493; font-size:8px; }
.bedtime-child-footer i { width:5px; height:5px; }
.bedtime-child-lock-screen { position:absolute; z-index:4; top:28px; right:0; bottom:0; left:0; overflow:hidden; padding:0; text-align:center; background:#010205; opacity:0; visibility:hidden; transform:scale(1.035); transition:opacity .42s ease,visibility .42s ease,transform .42s ease; }
.bedtime-crack-image { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:contrast(1.06) saturate(1.08); }
.bedtime-crack-shade { position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,0) 44%,rgba(0,0,0,.22) 72%,rgba(0,0,0,.72) 100%); }
.bedtime-crack-status { position:absolute; right:10px; bottom:12px; left:10px; display:flex; align-items:center; justify-content:center; gap:7px; min-height:29px; padding:6px 8px; border:1px solid rgba(255,98,112,.58); border-radius:7px; color:#fff4f5; background:rgba(18,2,6,.78); box-shadow:0 4px 16px rgba(0,0,0,.42),0 0 18px rgba(255,40,70,.16); font-size:8px; font-weight:900; letter-spacing:.65px; text-shadow:0 1px 5px #000; }
.bedtime-crack-status i { display:inline-block; flex:0 0 6px; width:6px; height:6px; border-radius:50%; background:#ff5369; box-shadow:0 0 9px rgba(255,83,105,.9); }
.bedtime-child-home.is-dimmed { filter:brightness(.18) blur(2px); transform:scale(.985); }
.bedtime-child-lock-screen.is-visible { opacity:1; visibility:visible; transform:scale(1); }
.bedtime-lock-orbit { display:grid; place-items:center; width:76px; height:76px; margin:0 0 15px; border:1px solid rgba(255,185,103,.58); border-radius:50%; color:#ffe2bb; background:radial-gradient(circle,rgba(255,174,82,.2),rgba(8,26,16,.8)); box-shadow:0 0 0 9px rgba(255,176,88,.045),0 0 34px rgba(255,173,83,.16),inset 0 0 18px rgba(255,174,82,.12); animation:bedtime-lock-pulse 2.2s ease-in-out infinite; }
.bedtime-lock-orbit span { font-size:30px; filter:drop-shadow(0 0 9px rgba(255,202,141,.55)); }
.bedtime-child-lock-screen > small { color:#ffc987; font-size:8px; font-weight:900; letter-spacing:2px; }
.bedtime-child-lock-screen h3 { margin:9px 0 5px; color:#fff0dc; font-size:18px; letter-spacing:.6px; text-shadow:0 0 19px rgba(255,176,84,.18); }
.bedtime-child-lock-screen p { margin:0; color:#d5c0a6; font-size:10px; line-height:1.5; }
.bedtime-lock-divider { width:55px; height:1px; margin:18px 0 13px; background:linear-gradient(90deg,transparent,#ffca8e,transparent); }
.bedtime-lock-message { max-width:190px; color:#a9957e; font-size:9px; line-height:1.6; }
.bedtime-lock-status { display:flex; align-items:center; gap:7px; margin-top:21px; padding:7px 10px; border:1px solid rgba(255,184,101,.27); border-radius:7px; color:#ffd19a; background:rgba(255,158,62,.08); font-size:8px; letter-spacing:.8px; }
.bedtime-lock-status i { background:#ffb65e; box-shadow:0 0 9px rgba(255,181,94,.7); }
.bedtime-demo-result { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-top:13px; padding:10px 12px; border:1px solid rgba(0,255,145,.18); border-radius:9px; color:#a6d8b9; background:rgba(0,255,145,.045); font-size:10px; line-height:1.5; }
.bedtime-demo-result strong { color:#7effbc; font-size:9px; letter-spacing:.6px; }
.bedtime-demo-result.is-locked { border-color:rgba(255,182,97,.22); background:rgba(255,151,54,.055); }
.bedtime-demo-result.is-locked strong { color:#ffd19a; }
.bedtime-result-dot { flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:#32f5a0; box-shadow:0 0 9px rgba(50,245,160,.75); }
.bedtime-demo-result.is-locked .bedtime-result-dot { background:#ffbc70; box-shadow:0 0 9px rgba(255,188,112,.75); }
.bedtime-demo-disclaimer { margin:9px 1px 0; color:#789985; font-size:9px; line-height:1.5; }
@keyframes bedtime-lock-pulse { 0%,100%{box-shadow:0 0 0 8px rgba(255,176,88,.035),0 0 28px rgba(255,173,83,.12),inset 0 0 18px rgba(255,174,82,.1)}50%{box-shadow:0 0 0 13px rgba(255,176,88,.07),0 0 42px rgba(255,173,83,.24),inset 0 0 22px rgba(255,174,82,.16)} }
@media(max-width:700px) { .bedtime-demo-grid { gap:10px; }.bedtime-demo-phone { padding:5px; border-radius:25px; }.bedtime-phone-screen { min-height:430px; border-radius:19px; }.bedtime-phone-statusbar { font-size:8px; }.bedtime-phone-greeting h3 { font-size:14px; }.bedtime-child-summary { flex-wrap:wrap; }.bedtime-online-pill { margin-left:auto; }.bedtime-child-apps { grid-template-columns:repeat(2,1fr); }.bedtime-child-apps > div { grid-template-columns:20px 1fr; justify-items:start; align-items:center; padding:6px; }.bedtime-parent-controls { gap:6px; }.bedtime-control-button { min-height:36px; font-size:10px; }.bedtime-demo-live { display:none; } }
@media(max-width:480px) { .bedtime-demo-grid { grid-template-columns:1fr; gap:17px; }.bedtime-demo-phone { max-width:310px; padding:7px; border-radius:30px; }.bedtime-phone-screen { min-height:455px; border-radius:23px; }.bedtime-parent-controls { gap:8px; }.bedtime-child-apps { grid-template-columns:repeat(4,1fr); }.bedtime-child-apps > div { grid-template-columns:1fr; justify-items:center; padding:7px 2px; }.bedtime-demo-instruction { align-items:flex-start; }.bedtime-demo-instruction small { font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .bedtime-child-lock-screen,.bedtime-child-home,.bedtime-lock-orbit { transition:none !important; animation:none !important; } }


/* REALTY SYSTEM — public demo login and simulated operations dashboard */
.realty-demo-shell { min-width:0; color:#f4edf0; }
.realty-login-view { min-height:490px; padding:18px; overflow:hidden; border:1px solid rgba(226,49,75,.25); border-radius:14px; background:radial-gradient(ellipse at 5% 90%,rgba(63,8,22,.5),transparent 48%),linear-gradient(135deg,#18050c,#100207 62%,#20040d); }
.realty-login-grid { display:grid; grid-template-columns:minmax(250px,.86fr) minmax(0,1.45fr); align-items:center; gap:clamp(18px,3vw,38px); max-width:980px; min-height:450px; margin:auto; }
.realty-login-card { width:100%; max-width:355px; justify-self:center; padding:25px 24px 19px; border:1px solid rgba(213,37,67,.78); border-radius:15px; background:linear-gradient(160deg,rgba(48,7,18,.92),rgba(20,2,8,.96)); box-shadow:0 22px 55px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.035); }
.realty-login-app-icon { display:grid; place-items:center; width:52px; height:52px; margin:0 auto 11px; border:1px solid rgba(214,43,69,.45); border-radius:12px; color:#ffb3bf; background:#16050b; font-size:24px; }
.realty-login-kicker { display:block; color:#f1758c; text-align:center; font-size:9px; font-weight:900; letter-spacing:1.7px; }
.realty-login-card h3 { margin:7px 0 3px; color:#fff3f5; text-align:center; font-size:19px; letter-spacing:.3px; }
.realty-login-subtitle { margin:0 0 20px; color:#bfa8ae; text-align:center; font-size:11px; line-height:1.45; }
.realty-login-card label { display:block; margin:12px 0 5px; color:#d1a6b0; font-size:10px; font-weight:900; letter-spacing:.45px; }
.realty-login-card input { display:block; width:100%; min-height:42px; padding:0 11px; border:1px solid #b91f3a; border-radius:6px; outline:none; color:#181018; background:#edf2ff; font-family:inherit; font-size:13px; font-weight:600; line-height:1.2; }
.realty-login-card input:focus { border-color:#ff687f; box-shadow:0 0 0 3px rgba(240,57,88,.14); }
.realty-demo-credentials { display:flex; flex-wrap:wrap; justify-content:space-between; gap:7px 12px; margin:12px 0 13px; padding:10px; border:1px dashed rgba(255,123,146,.32); border-radius:8px; color:#d9b7bf; background:rgba(105,16,36,.18); }
.realty-demo-credentials span { display:grid; gap:3px; font-size:8px; font-weight:900; letter-spacing:.6px; }
.realty-demo-credentials b { color:#fff0f3; font-size:12px; letter-spacing:1px; }
.realty-sign-in-button { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:42px; border:1px solid #dd2948; border-radius:7px; color:#fff; background:linear-gradient(110deg,#9e142c,#d52a43); font-family:inherit; font-size:12px; font-weight:800; line-height:1; cursor:pointer; box-shadow:0 8px 22px rgba(172,18,48,.18); transition:.2s; }
.realty-sign-in-button:hover { filter:brightness(1.14); transform:translateY(-1px); }
.realty-login-feedback { min-height:28px; margin:10px 0 0; color:#bd9ca5; text-align:center; font-size:10px; line-height:1.45; }
.realty-login-feedback.is-error { color:#ff8899; }
.realty-login-safe-note { display:block; margin-top:7px; color:#78515c; text-align:center; font-size:8px; font-weight:800; letter-spacing:1.1px; }
.realty-login-story { min-width:0; padding:12px 8px; }
.realty-story-kicker { color:#ee8094; font-size:10px; font-weight:900; letter-spacing:2px; }
.realty-login-story h3 { margin:13px 0 14px; color:#f0e5e8; font:500 clamp(27px,3.2vw,43px)/1.12 Georgia,serif; letter-spacing:-1.2px; }
.realty-login-story h3 em { color:#ed4561; font-style:italic; }
.realty-login-story > p { margin:0 0 20px; color:#cfb8bf; font-size:13px; line-height:1.8; }
.realty-story-pillars { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:17px 0 13px; padding:12px 0; border-top:1px solid rgba(211,48,73,.4); border-bottom:1px solid rgba(211,48,73,.4); }
.realty-story-pillars div { min-width:0; padding:0 8px; border-right:1px solid rgba(211,48,73,.3); }
.realty-story-pillars div:first-child { padding-left:0; }.realty-story-pillars div:last-child { border:0; }
.realty-story-pillars b { display:block; color:#f04c68; font:500 17px Georgia,serif; }
.realty-story-pillars strong { display:block; margin-top:4px; color:#f6e9ec; font-size:8px; line-height:1.3; }
.realty-story-pillars small { display:block; margin-top:4px; color:#ad9199; font-size:8px; line-height:1.3; }
.realty-login-story blockquote { margin:14px 0 0; padding-left:13px; border-left:2px solid #bd203b; color:#f0d9de; font:italic 14px Georgia,serif; line-height:1.5; }
.realty-login-story blockquote small { display:block; margin-top:5px; color:#b69aa2; font-family:inherit; font-size:10px; line-height:1.4; }
.realty-story-foot { display:block; margin-top:15px; color:#76525c; font-size:8px; font-weight:900; letter-spacing:1.2px; }
.realty-story-foot i { color:#d43b58; font-style:normal; padding:0 4px; }
.realty-workspace { display:grid; grid-template-columns:176px minmax(0,1fr); min-height:545px; max-height:calc(100vh - 260px); overflow:hidden; border:1px solid rgba(215,41,70,.42); border-radius:13px; color:#f8edf0; background:#100308; }
.realty-workspace[hidden], .realty-login-view[hidden] { display:none !important; }
.realty-sidebar { display:flex; flex-direction:column; min-height:0; border-right:1px solid rgba(220,44,72,.3); background:linear-gradient(180deg,#18050c,#100308); }
.realty-sidebar-brand { display:flex; align-items:center; gap:8px; min-height:49px; padding:0 12px; border-bottom:1px solid rgba(220,44,72,.3); color:#fff0f3; font-size:12px; white-space:nowrap; overflow:hidden; }
.realty-sidebar-brand span { color:#ff7188; font-size:18px; }.realty-sidebar-brand strong { overflow:hidden; text-overflow:ellipsis; }
.realty-sidebar-nav { display:grid; gap:3px; padding:10px 7px; overflow:auto; }
.realty-sidebar-nav button { display:flex; align-items:center; gap:8px; width:100%; min-height:32px; padding:0 9px; border:1px solid transparent; border-radius:7px; color:#e5d5da; background:transparent; text-align:left; font-family:inherit; font-size:10px; font-weight:650; line-height:1.25; cursor:pointer; transition:.16s; }
.realty-sidebar-nav button span { flex:0 0 15px; color:#f06a83; text-align:center; }
.realty-sidebar-nav button:hover { border-color:rgba(225,52,82,.35); background:rgba(149,20,46,.2); }
.realty-sidebar-nav button.is-active { border-color:#d83a56; color:#fff; background:linear-gradient(90deg,#84132b,#4a0c1b); box-shadow:inset 3px 0 #ff6a80; }
.realty-sidebar-user { display:grid; gap:5px; margin-top:auto; padding:11px 9px 10px; border-top:1px solid rgba(220,44,72,.26); color:#b99fa6; font-size:9px; }
.realty-sidebar-user span { width:max-content; padding:3px 6px; border-radius:4px; color:#ffe6eb; background:#4e1424; font-weight:900; }
.realty-sidebar-user b { font-size:9px; font-weight:600; }
.realty-sidebar-user button { min-height:29px; border:1px solid rgba(205,51,78,.45); border-radius:6px; color:#f5dfe4; background:rgba(65,7,20,.3); font-family:inherit; font-size:10px; font-weight:700; cursor:pointer; }
.realty-main-area { display:flex; min-width:0; flex-direction:column; background:linear-gradient(160deg,#18050c,#100308 80%); }
.realty-topbar { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:49px; padding:7px 13px; border-bottom:1px solid rgba(220,44,72,.28); background:rgba(35,6,15,.6); }
.realty-topbar strong { display:block; color:#fff0f3; font-size:12px; }.realty-topbar small { display:block; margin-top:2px; color:#b49aa2; font-size:9px; }
.realty-topbar > span { padding:5px 7px; border-radius:5px; color:#f4bdc8; background:#4b0d22; font-size:8px; font-weight:900; letter-spacing:.5px; white-space:nowrap; }
.realty-dashboard-content { min-width:0; overflow:auto; padding:13px; }
.realty-page-intro { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:13px; }
.realty-page-intro > div > span { color:#e66a82; font-size:8px; font-weight:900; letter-spacing:1.1px; }
.realty-page-intro h2 { margin:4px 0 3px; color:#fff0f3; font-size:20px; line-height:1.2; }.realty-page-intro p { margin:0; color:#ad929b; font-size:10px; line-height:1.45; }
.realty-reset-button { flex:0 0 auto; min-height:28px; padding:0 9px; border:1px solid rgba(211,49,77,.42); border-radius:6px; color:#efb5c0; background:rgba(114,13,35,.17); font-family:inherit; font-size:9px; font-weight:700; cursor:pointer; }
.realty-work-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:2px 0 13px; }
.realty-work-heading h3 { margin:0; color:#fff0f3; font-size:14px; }.realty-work-heading p { margin:3px 0 0; color:#a68a93; font-size:9px; }
.realty-sample-tag { flex:0 0 auto; padding:5px 7px; border:1px solid rgba(220,52,79,.3); border-radius:5px; color:#f29cad; font-size:8px; font-weight:900; letter-spacing:.7px; }
.realty-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:12px; }
.realty-kpi-grid article { min-width:0; padding:12px 10px; border:1px solid rgba(209,48,74,.4); border-radius:9px; background:linear-gradient(145deg,rgba(47,8,19,.84),rgba(19,3,9,.96)); }
.realty-kpi-grid small { display:block; color:#9e9bad; font-size:8px; line-height:1.35; }.realty-kpi-grid strong { display:block; margin:9px 0 3px; color:#fff1f4; font-size:17px; }.realty-kpi-grid span { font-size:8px; }.realty-kpi-grid .green { color:#3be58c; }.realty-kpi-grid .red { color:#ff526c; }.realty-kpi-grid .blue { color:#63a7ff; }.realty-kpi-grid .yellow { color:#f2c85c; }
.realty-dashboard-panels { display:grid; grid-template-columns:1.1fr 1fr; gap:9px; }
.realty-dash-panel { min-width:0; padding:12px; border:1px solid rgba(212,47,74,.42); border-radius:9px; background:linear-gradient(145deg,rgba(43,7,18,.82),rgba(18,3,9,.93)); }
.realty-dash-panel h4 { margin:0 0 12px; color:#fff0f3; font-size:12px; }
.realty-inventory-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:center; min-height:63px; }
.realty-inventory-stats div { display:grid; gap:4px; text-align:center; border-right:1px solid rgba(225,187,198,.22); }.realty-inventory-stats div:last-child { border:0; }
.realty-inventory-stats strong { color:#20cc79; font-size:21px; }.realty-inventory-stats div:nth-child(2) strong { color:#fb5367; }.realty-inventory-stats div:nth-child(3) strong { color:#4d8dff; }.realty-inventory-stats span { color:#8ea1c5; font-size:8px; font-weight:800; }
.realty-quick-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.realty-quick-actions button,.realty-page-actions button { min-height:32px; padding:6px 8px; border:1px solid rgba(209,51,77,.44); border-radius:6px; color:#f7dce2; background:#58101f; font-family:inherit; font-size:9px; font-weight:700; cursor:pointer; }
.realty-quick-actions button:nth-child(2) { border-color:#176c43; background:#10512f; }.realty-quick-actions button:nth-child(3),.realty-quick-actions button:nth-child(4) { border-color:#2a386c; background:#080f31; }
.realty-recent-panel { margin-top:9px; }.realty-panel-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; }.realty-panel-heading h4 { margin:0 0 8px; }.realty-panel-heading button { border:0; color:#f18da0; background:transparent; font-size:9px; cursor:pointer; }
.realty-page-actions { display:flex; flex-wrap:wrap; gap:7px; margin:10px 0 12px; }.realty-page-actions button { padding:0 11px; }
.realty-money-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:10px 0; }.realty-money-summary div { display:grid; gap:6px; padding:10px; border:1px solid rgba(211,49,77,.35); border-radius:8px; background:rgba(63,8,22,.45); }.realty-money-summary small { color:#bc929d; font-size:8px; }.realty-money-summary strong { color:#fff1f4; font-size:15px; }
.realty-table-wrap { width:100%; overflow:auto; border:1px solid rgba(207,51,77,.25); border-radius:8px; }
.realty-data-table { width:100%; border-collapse:collapse; min-width:440px; font-size:9px; }
.realty-data-table th { padding:9px 8px; color:#ef9aaa; background:rgba(103,13,33,.34); text-align:left; font-size:8px; letter-spacing:.6px; white-space:nowrap; }
.realty-data-table td { padding:9px 8px; border-top:1px solid rgba(210,68,92,.16); color:#ead9de; line-height:1.35; }
.realty-status-pill { display:inline-flex; padding:4px 6px; border:1px solid rgba(230,99,123,.27); border-radius:20px; color:#f5b7c2; background:rgba(150,25,51,.16); font-size:8px; font-weight:800; white-space:nowrap; }
.realty-table-action,.realty-approval-card button { min-height:25px; padding:0 8px; border:1px solid rgba(224,72,98,.38); border-radius:5px; color:#ffe4e9; background:#74152a; font-size:8px; font-weight:800; cursor:pointer; }
.realty-empty-state { display:grid; justify-items:center; gap:6px; padding:30px 12px; border:1px dashed rgba(208,69,91,.35); border-radius:8px; color:#c6aab2; text-align:center; }.realty-empty-state span { color:#ee7890; font-size:23px; }.realty-empty-state strong { color:#fbe7eb; font-size:12px; }.realty-empty-state p { margin:0; font-size:9px; }
.realty-approval-list { display:grid; gap:8px; }.realty-approval-card { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:12px; border:1px solid rgba(211,49,77,.32); border-radius:8px; background:rgba(68,8,22,.34); }.realty-approval-card strong { color:#fae7eb; font-size:11px; }.realty-approval-card p { margin:4px 0 7px; color:#b59aa2; font-size:9px; }.realty-approval-card > div:last-child { display:flex; gap:5px; flex-wrap:wrap; }.realty-approval-card button:last-child { border-color:rgba(110,120,148,.4); background:#20253b; }
.realty-demo-empty { padding:22px; color:#b99da6; text-align:center; font-size:10px; }
.realty-local-note { margin:12px 0 0; color:#805c66; font-size:8px; line-height:1.45; }
@media(max-width:760px) {
  .realty-login-view { padding:12px; }.realty-login-grid { grid-template-columns:1fr; gap:8px; }.realty-login-card { max-width:410px; order:1; }.realty-login-story { order:2; padding:16px 4px 4px; }.realty-login-story h3 { font-size:29px; }.realty-workspace { grid-template-columns:1fr; max-height:calc(100vh - 235px); }.realty-sidebar { border-right:0; border-bottom:1px solid rgba(215,41,70,.3); }.realty-sidebar-brand { display:none; }.realty-sidebar-nav { display:flex; gap:5px; overflow-x:auto; padding:7px; }.realty-sidebar-nav button { flex:0 0 auto; width:auto; min-height:31px; }.realty-sidebar-user { display:none; }.realty-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.realty-dashboard-panels { grid-template-columns:1fr; }
}
@media(max-width:480px) {
  .realty-login-card { padding:20px 16px 16px; }.realty-story-pillars { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:12px; }.realty-story-pillars div:nth-child(2) { border:0; }.realty-story-pillars div:nth-child(3) { padding-left:0; }.realty-page-intro { flex-direction:column; }.realty-page-intro .realty-reset-button { align-self:flex-end; }.realty-kpi-grid strong { font-size:15px; }.realty-money-summary { grid-template-columns:1fr; }.realty-approval-card { align-items:flex-start; flex-direction:column; }
}

/* BEDTIME MASTER — equal-height paired phones and clear instruction row.
   Keep both phones in the same stretched grid row so the result/help strip
   always starts below the two devices instead of appearing behind either one. */
.bedtime-demo-grid {
  align-items: stretch;
  grid-auto-rows: 1fr;
  position: relative;
  isolation: isolate;
}
.bedtime-phone-wrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  align-self: stretch;
  min-width: 0;
  min-height: 0;
}
.bedtime-phone-caption {
  flex: 0 0 auto;
  min-height: 24px;
}
.bedtime-phone-wrap .bedtime-demo-phone {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
  min-height: 469px;
  margin: 0 auto;
}
.bedtime-phone-wrap .bedtime-phone-screen {
  flex: 1 1 auto;
  min-height: 455px;
}
.bedtime-demo-result {
  position: relative;
  z-index: 2;
  display: flex;
  width: 100%;
  clear: both;
  margin: 15px 0 0;
}
.bedtime-demo-disclaimer {
  position: relative;
  z-index: 2;
  clear: both;
  margin-top: 10px;
}
@media (max-width: 480px) {
  .bedtime-demo-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: auto;
  }
  .bedtime-phone-wrap .bedtime-demo-phone {
    flex: 0 0 auto;
    width: 100%;
    min-height: 0;
  }
  .bedtime-phone-wrap .bedtime-phone-screen {
    flex: 0 0 auto;
    min-height: 455px;
  }
}

/* BEDTIME MASTER — paired phone alignment correction (2026-11-01).
   Both phone wrappers stretch to the same grid-row height. The result and
   disclaimer stay in normal flow below the devices, never behind them. */
.bedtime-demo-grid {
  align-items: stretch;
  grid-auto-rows: minmax(0, 1fr);
  position: relative;
  isolation: isolate;
}
.bedtime-phone-wrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  align-self: stretch;
  min-width: 0;
  min-height: 0;
}
.bedtime-phone-caption {
  flex: 0 0 auto;
  min-height: 24px;
}
.bedtime-phone-wrap .bedtime-demo-phone {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
  min-height: 469px;
  margin: 0 auto;
}
.bedtime-phone-wrap .bedtime-phone-screen {
  flex: 1 1 auto;
  min-height: 455px;
}
.bedtime-demo-result {
  position: relative;
  z-index: 2;
  display: flex;
  width: 100%;
  clear: both;
  margin: 15px 0 0;
}
.bedtime-demo-disclaimer {
  position: relative;
  z-index: 2;
  clear: both;
  margin-top: 10px;
}
@media (max-width: 480px) {
  .bedtime-demo-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: auto;
  }
  .bedtime-phone-wrap .bedtime-demo-phone {
    flex: 0 0 auto;
    width: 100%;
    min-height: 0;
  }
  .bedtime-phone-wrap .bedtime-phone-screen {
    flex: 0 0 auto;
    min-height: 455px;
  }
}


/* MEET APP — real phone connection hand-off to the deployed MEETDAVA app */
.meet-live-intro,.meet-phone-connect,.meet-local-preview { margin:0 0 15px; padding:15px; border:1px solid rgba(0,255,145,.22); border-radius:13px; background:linear-gradient(145deg,rgba(0,255,145,.055),rgba(0,0,0,.22)); }
.meet-live-topline { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#91f5c2; font-size:10px; font-weight:850; letter-spacing:1.1px; }
.meet-live-topline span { display:inline-flex; align-items:center; gap:7px; }
.meet-live-topline span i { width:7px; height:7px; border-radius:50%; background:#20f4a0; box-shadow:0 0 12px #20f4a0; }
.meet-live-topline b { color:#8dbba1; font-size:9px; }
.meet-live-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:14px 0; }
.meet-live-steps > div { min-width:0; padding:11px; border:1px solid rgba(0,255,145,.14); border-radius:9px; background:rgba(0,0,0,.18); }
.meet-live-steps > div > span { display:block; margin-bottom:7px; color:#27efa0; font-size:10px; font-weight:900; letter-spacing:1px; }
.meet-live-steps strong { display:block; color:#edfff5; font-size:12px; line-height:1.35; }
.meet-live-steps small { display:block; margin-top:5px; color:#99b9a6; font-size:10px; line-height:1.45; }
.meet-open-live { display:flex; align-items:center; gap:9px; width:max-content; max-width:100%; padding:10px 14px; border:1px solid rgba(0,255,145,.38); border-radius:9px; color:#042015; background:linear-gradient(110deg,#00d985,#a1ffd1); font-size:12px; font-weight:850; text-decoration:none; }
.meet-open-live > span { font-size:17px; }.meet-open-live small { color:#1b5d40; font-size:9px; font-weight:700; }
.meet-connect-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.meet-connect-kicker { color:#67e8ad; font-size:9px; font-weight:900; letter-spacing:1.1px; }
.meet-connect-heading h3 { margin:5px 0 4px; color:#effff5; font-size:18px; }
.meet-connect-heading p { max-width:650px; margin:0; color:#9bbda9; font-size:11px; line-height:1.5; }
.meet-connect-icon { flex:0 0 38px; display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(0,255,145,.3); border-radius:10px; color:#81ffc5; font-size:22px; background:rgba(0,255,145,.08); }
.meet-invite-form { margin-top:13px; }
.meet-invite-form label { display:block; margin-bottom:6px; color:#b1d8c0; font-size:10px; font-weight:800; letter-spacing:.4px; }
.meet-invite-input-row { display:flex; align-items:stretch; gap:8px; }
.meet-invite-input-row input { flex:1 1 auto; min-width:0; min-height:38px; padding:0 11px; border:1px solid rgba(0,255,145,.25); border-radius:8px; outline:none; color:#eafff3; background:#04140c; font:inherit; font-size:11px; }
.meet-invite-input-row input:focus { border-color:#47f5a7; box-shadow:0 0 0 3px rgba(0,255,145,.1); }
.meet-invite-result { display:flex; align-items:center; gap:16px; margin-top:13px; padding:13px; border:1px solid rgba(0,255,145,.22); border-radius:11px; background:rgba(0,0,0,.22); }
.meet-invite-result[hidden] { display:none; }
.meet-qr-frame { flex:0 0 156px; width:156px; height:156px; display:grid; place-items:center; padding:8px; border-radius:9px; background:#fff; box-shadow:0 0 22px rgba(0,255,145,.11); }
.meet-qr-frame svg { display:block; width:100%; height:100%; }
.meet-invite-result-copy { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.meet-invite-result-copy > b { color:#7effbb; font-size:11px; letter-spacing:.9px; }
.meet-invite-result-copy p { margin:0 0 2px; color:#a1c5af; font-size:11px; line-height:1.45; }
.meet-invite-result-copy .demo-button { text-decoration:none; display:inline-flex; align-items:center; }
.meet-live-feedback { min-height:17px; margin:9px 0 0; color:#85e9b5; font-size:10px; line-height:1.45; }
.meet-live-feedback.is-error { color:#ffb49b; }
.meet-security-note { margin:9px 0 0; padding-top:9px; border-top:1px solid rgba(0,255,145,.1); color:#789d87; font-size:9px; line-height:1.5; }
.meet-security-note strong { color:#a9d8ba; }
.meet-local-preview { margin-bottom:0; }
.meet-local-preview .demo-app-top { margin-bottom:10px; }
.meet-local-preview .demo-meet-stage { grid-template-columns:minmax(0,1fr) 150px; }
.meet-local-preview .demo-presenter { min-height:150px; }
.meet-local-preview .demo-avatar { width:66px; height:66px; font-size:24px; }
.meet-local-preview .demo-presenter strong { font-size:11px; }
.meet-local-preview .demo-presenter small { display:block; margin-top:4px; color:#6ea889; font-size:8px; letter-spacing:.8px; }
@media(max-width:760px) {
  .meet-live-steps { grid-template-columns:1fr; }
  .meet-live-steps > div { display:grid; grid-template-columns:34px 1fr; column-gap:8px; }
  .meet-live-steps > div > span { grid-row:span 2; margin:2px 0 0; }
  .meet-invite-input-row { flex-wrap:wrap; }
  .meet-invite-input-row input { flex:1 1 100%; }
  .meet-invite-result { align-items:flex-start; flex-direction:column; }
  .meet-invite-result-copy { width:100%; }
  .meet-local-preview .demo-meet-stage { grid-template-columns:1fr; }
  .meet-local-preview .demo-participants { flex-direction:row; flex-wrap:wrap; }
}


/* BEDTIME MASTER — keep the interactive demo and make the official download CTA unmistakable. */
.project-demo-window.is-bedtime-demo-window .project-demo-footer {
  border-top: 1px solid rgba(43,255,161,.48);
  background: linear-gradient(100deg,rgba(0,255,145,.11),rgba(0,0,0,.26) 72%);
  box-shadow: 0 -8px 30px rgba(0,255,145,.055);
}
.project-demo-window .demo-live-link.is-bedtime-cta {
  position: relative;
  min-height: 46px;
  gap: 9px;
  padding: 0 19px;
  border: 1px solid rgba(172,255,217,.85);
  border-radius: 11px;
  color: #03170d;
  background: linear-gradient(110deg,#00e889 0%,#8cffc7 54%,#d5ffea 100%);
  box-shadow: 0 0 0 1px rgba(0,255,145,.12),0 0 20px rgba(0,255,145,.34),inset 0 1px rgba(255,255,255,.7);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .22px;
  text-align: center;
  animation: bedtime-download-cta-glow 2.2s ease-in-out infinite;
}
.project-demo-window .demo-live-link.is-bedtime-cta::before {
  content: "☾";
  display: inline-grid;
  place-items: center;
  width: 23px;
  height: 23px;
  border-radius: 7px;
  color: #caffdf;
  background: #064b2b;
  font-size: 16px;
}
.project-demo-window .demo-live-link.is-bedtime-cta::after {
  content: "";
  position: absolute;
  inset: -4px;
  border: 1px solid rgba(80,255,174,.34);
  border-radius: 14px;
  pointer-events: none;
}
.project-demo-window .demo-live-link.is-bedtime-cta:hover {
  color: #001a0d;
  background: linear-gradient(110deg,#6dffb5,#d8ffea);
  transform: translateY(-2px) scale(1.015);
  box-shadow: 0 0 27px rgba(0,255,145,.52),inset 0 1px rgba(255,255,255,.8);
}
.project-demo-window.is-bedtime-demo-window .demo-link-status {
  color: #9fe9bf;
  font-size: 10px;
  line-height: 1.4;
}
@keyframes bedtime-download-cta-glow {
  0%,100% { box-shadow: 0 0 0 1px rgba(0,255,145,.12),0 0 15px rgba(0,255,145,.25),inset 0 1px rgba(255,255,255,.7); }
  50% { box-shadow: 0 0 0 2px rgba(0,255,145,.16),0 0 26px rgba(0,255,145,.46),inset 0 1px rgba(255,255,255,.78); }
}
@media (max-width: 560px) {
  .project-demo-window .demo-live-link.is-bedtime-cta { width: 100%; min-height: 44px; padding: 0 10px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .project-demo-window .demo-live-link.is-bedtime-cta { animation: none; }
}
