/* Resume Builder – Studio (the on-page editor, opened from the chat). Glass on the chrome only (top bar, popover, dock); the CV sheet stays solid. 8px grid, 44px targets. */
.rb-app .rb-ie{--ie-acc:var(--rb-accent,#1a56db);--ie-ink:#111827;--ie-mut:#4b5563;--ie-line:rgba(17,24,39,.14);--ie-glass:rgba(255,255,255,.72);--ie-blur:saturate(160%) blur(18px);
  --rb-ie-scale:.5;--rb-ie-dock:96px;
  position:fixed;inset:0;z-index:99990;display:grid;grid-template-rows:auto 1fr;height:100vh;height:100dvh;overflow:hidden;box-sizing:border-box;
  font:400 16px/1.5 Inter,system-ui,sans-serif;color:var(--ie-ink);
  background:radial-gradient(1200px 600px at 10% -10%,#dbeafe 0,transparent 60%),radial-gradient(900px 500px at 110% 10%,#ede9fe 0,transparent 55%),#eef2f7}
.rb-app .rb-ie[hidden]{display:none!important}
.rb-app .rb-ie *,.rb-app .rb-ie *::before,.rb-app .rb-ie *::after{box-sizing:border-box}
.rb-app .rb-portal .rb-f-modal,.rb-app.rb-portal .rb-f-modal{z-index:2147482000}
/* top bar */
.rb-app .rb-ie-top{display:flex;align-items:center;gap:8px;padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top));background:var(--ie-glass);-webkit-backdrop-filter:var(--ie-blur);backdrop-filter:var(--ie-blur);border-bottom:1px solid rgba(255,255,255,.6);box-shadow:0 1px 0 var(--ie-line);min-height:64px}
.rb-app .rb-ie-status{margin:0 0 0 8px;font-size:14px;color:var(--ie-mut);min-width:64px;transition:color .2s}
.rb-app .rb-ie-status.is-ok{color:#047857}
.rb-app .rb-ie-hint{flex:1;font-size:14px;text-align:center}
.rb-app .rb-ie-dl{min-height:44px;white-space:nowrap;flex:0 0 auto}
.rb-app .rb-ie-muted{color:var(--ie-mut);font-size:14px}
/* stage: one screen, no page scroll; the CV is scaled to fit */
.rb-app .rb-ie-stage{overflow:auto;overscroll-behavior:contain;padding:16px 16px var(--rb-ie-dock);outline:none;-webkit-overflow-scrolling:touch}
.rb-app .rb-ie-pages{display:flex;flex-direction:column;align-items:center;gap:24px}
.rb-app .rb-ie-page{width:calc(840px * var(--rb-ie-scale));height:calc(1188px * var(--rb-ie-scale));flex:none;position:relative;border-radius:4px;box-shadow:0 12px 40px rgba(15,23,42,.16);background:#fff}
.rb-app .rb-ie-page > .page-sheet{position:absolute!important;left:0;top:0;transform:scale(var(--rb-ie-scale))!important;transform-origin:0 0!important;box-shadow:none!important;margin:0!important}
/* editable targets: hover / focus / tap highlight (screen only – never printed: the clone is never in the print tree) */
.rb-app .rb-ie .rb-ie-t{cursor:pointer;position:relative;border-radius:4px;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s,outline-color .18s;outline:2px solid transparent;outline-offset:3px}
.rb-app .rb-ie .rb-ie-t.is-hl,.rb-app .rb-ie .rb-ie-t:focus-visible,.rb-app .rb-ie .rb-ie-t.is-active{transform:scale(1.03);z-index:3;outline-color:var(--ie-acc);box-shadow:0 10px 28px rgba(37,99,235,.20),0 0 0 6px rgba(37,99,235,.10);background-color:rgba(255,255,255,.04)}
.rb-app .rb-ie span.rb-ie-t{display:inline-block}
.rb-app .rb-ie .rb-ie-t.is-hl::after,.rb-app .rb-ie .rb-ie-t:focus-visible::after{content:"\270E\00a0" attr(data-rb-edit);position:absolute;top:0;right:0;transform:translate(8%,-110%);font:600 calc(12px / var(--rb-ie-scale))/1.4 Inter,system-ui,sans-serif;letter-spacing:0;color:var(--ie-chip-ink,#fff);background:var(--ie-chip-bg,var(--ie-acc));padding:calc(2px / var(--rb-ie-scale)) calc(8px / var(--rb-ie-scale));border-radius:calc(999px / var(--rb-ie-scale));white-space:nowrap;pointer-events:none;animation:rbIeIn .16s ease-out;text-transform:none;font-style:normal}
.rb-app .rb-ie .rb-ie-t.is-flash{animation:rbIeFlash .6s ease-out}
@keyframes rbIeIn{from{opacity:0;transform:translate(8%,-90%)}to{opacity:1}}
@keyframes rbIeFlash{0%{box-shadow:0 0 0 0 rgba(4,120,87,.45)}100%{box-shadow:0 0 0 12px rgba(4,120,87,0)}}
/* popover (desktop) / bottom sheet (mobile) */
.rb-app .rb-ie-pop{position:fixed;z-index:99995;width:360px;max-width:calc(100vw - 16px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;
  background:rgba(255,255,255,.86);-webkit-backdrop-filter:var(--ie-blur);backdrop-filter:var(--ie-blur);border:1px solid rgba(255,255,255,.7);border-radius:16px;box-shadow:0 24px 60px rgba(15,23,42,.24),0 0 0 1px var(--ie-line);
  padding:0 16px 16px;opacity:0;transform:translateY(6px) scale(.98);transition:opacity .16s ease-out,transform .18s cubic-bezier(.2,.8,.2,1)}
.rb-app .rb-ie-pop.is-in{opacity:1;transform:none}
.rb-app .rb-ie-pop[hidden]{display:none!important}
.rb-app .rb-ie-pop.is-sheet{left:0!important;right:0;top:auto!important;width:100%;max-width:none;max-height:55vh;max-height:55dvh;border-radius:16px 16px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom));transform:translateY(16px)}
.rb-app .rb-ie-pop.is-sheet.is-in{transform:none}
.rb-app .rb-ie-pophead{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;margin-bottom:8px;background:inherit;z-index:1}
.rb-app .rb-ie-poptitle{margin:0;font:600 20px/1.3 Inter,system-ui,sans-serif;color:var(--ie-ink)}
.rb-app .rb-ie-field{display:grid;gap:4px;margin-bottom:12px}
.rb-app .rb-ie-field label{font-size:14px;font-weight:600;color:var(--ie-ink)}
.rb-app .rb-ie-field input,.rb-app .rb-ie-field textarea{font:400 16px/1.4 Inter,system-ui,sans-serif;color:var(--ie-ink);background:#fff;border:1px solid rgba(17,24,39,.24);border-radius:8px;padding:10px 12px;min-height:44px;width:100%;transition:border-color .15s,box-shadow .15s}
.rb-app .rb-ie-field textarea{resize:vertical;min-height:88px}
.rb-app .rb-ie-field input:focus,.rb-app .rb-ie-field textarea:focus{outline:none;border-color:var(--ie-acc);box-shadow:0 0 0 3px rgba(37,99,235,.25)}
.rb-app .rb-ie-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.rb-app .rb-ie-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--ie-line);background:rgba(255,255,255,.9);color:var(--ie-ink);font:600 14px/1 Inter,system-ui,sans-serif;cursor:pointer;transition:transform .12s,background .15s,box-shadow .15s}
.rb-app .rb-ie-btn:hover{background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.10)}
.rb-app .rb-ie-btn:active{transform:scale(.97)}
.rb-app .rb-ie-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.rb-app .rb-ie-btn--danger{color:#b91c1c}
.rb-app .rb-ie-icon{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--ie-ink);cursor:pointer;font-size:16px;flex:none;transition:background .15s,transform .12s}
.rb-app .rb-ie-icon:hover{background:rgba(17,24,39,.06)}
.rb-app .rb-ie-icon:active{transform:scale(.94)}
.rb-app .rb-ie-icon:disabled{opacity:.35;cursor:not-allowed}
.rb-app .rb-ie :is(button,input,textarea,[tabindex]):focus-visible{outline:3px solid var(--ie-acc);outline-offset:2px}
.rb-app .rb-ie-ai{margin:8px 0;display:grid;gap:8px}
.rb-app .rb-ie-list{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:8px}
.rb-app .rb-ie-li{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--ie-line);border-radius:12px;padding:0 4px;transition:transform .15s,box-shadow .15s,border-color .15s}
.rb-app .rb-ie-li.is-drag{opacity:.5}
.rb-app .rb-ie-li.is-over{border-color:var(--ie-acc);box-shadow:0 0 0 3px rgba(37,99,235,.2)}
.rb-app .rb-ie-grip{cursor:grab;color:var(--ie-mut);padding:0 8px;min-height:44px;display:grid;place-items:center}
.rb-app .rb-ie-li-name{flex:1;min-width:0;min-height:44px;text-align:left;background:none;border:0;font:500 14px/1.3 Inter,system-ui,sans-serif;color:var(--ie-ink);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}
/* dock */
.rb-app .rb-ie-dock{position:fixed;z-index:99992;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(760px,calc(100vw - 32px));
  background:var(--ie-glass);-webkit-backdrop-filter:var(--ie-blur);backdrop-filter:var(--ie-blur);border:1px solid rgba(255,255,255,.7);border-radius:20px;box-shadow:0 16px 48px rgba(15,23,42,.18),0 0 0 1px var(--ie-line);padding:8px;transition:width .2s ease,border-radius .2s}
.rb-app .rb-ie-dockbar{display:flex;align-items:center;gap:8px}
.rb-app .rb-ie-seg{display:flex;flex:1;gap:4px;padding:4px;background:rgba(17,24,39,.06);border-radius:14px;overflow-x:auto;scrollbar-width:none}
.rb-app .rb-ie-seg button{flex:1 0 auto;min-height:44px;min-width:44px;padding:0 12px;border:0;border-radius:10px;background:transparent;font:600 14px/1 Inter,system-ui,sans-serif;color:var(--ie-ink);cursor:pointer;transition:background .15s,box-shadow .15s,color .15s}
.rb-app .rb-ie-seg button[aria-selected=true],.rb-app .rb-ie-seg button[aria-pressed=true]{background:#fff;color:var(--ie-acc);box-shadow:0 1px 4px rgba(15,23,42,.14)}
.rb-app .rb-ie-panel{padding:8px 4px 4px;max-height:36vh;overflow:auto;animation:rbIePanel .18s ease-out}
@keyframes rbIePanel{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.rb-app .rb-ie-pill{display:none;align-items:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;border:0;background:transparent;font:600 14px/1 Inter,system-ui,sans-serif;color:var(--ie-ink);cursor:pointer}
.rb-app .rb-ie-dock.is-collapsed{width:auto;padding:4px;border-radius:999px}
.rb-app .rb-ie-dock.is-collapsed .rb-ie-dockbar,.rb-app .rb-ie-dock.is-collapsed .rb-ie-panel{display:none}
.rb-app .rb-ie-dock.is-collapsed .rb-ie-pill{display:inline-flex}
.rb-app .rb-ie-tpls{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}
.rb-app .rb-ie-tpl{flex:none;width:88px;display:grid;gap:4px;justify-items:center;padding:4px;border-radius:10px;border:2px solid transparent;background:#fff;cursor:pointer;scroll-snap-align:start;font:500 12px/1.2 Inter,system-ui,sans-serif;color:var(--ie-ink);transition:transform .15s,border-color .15s}
.rb-app .rb-ie-tpl img{width:78px;height:110px;object-fit:cover;object-position:top;border-radius:6px;border:1px solid var(--ie-line);display:block}
.rb-app .rb-ie-tpl span{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rb-app .rb-ie-tpl:hover{transform:translateY(-2px)}
.rb-app .rb-ie-tpl.is-on,.rb-app .rb-ie-sw.is-on,.rb-app .rb-ie-font.is-on{border-color:var(--ie-acc)}
.rb-app .rb-ie-swatches,.rb-app .rb-ie-fonts,.rb-app .rb-ie-secs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.rb-app .rb-ie-sw,.rb-app .rb-ie-font,.rb-app .rb-ie-sec{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:0 12px;border-radius:12px;border:2px solid transparent;background:#fff;cursor:pointer;font:500 14px/1.2 Inter,system-ui,sans-serif;color:var(--ie-ink);text-align:left}
.rb-app .rb-ie-dots{display:flex;gap:2px}.rb-app .rb-ie-dots i{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:block}
.rb-app .rb-ie-spc{display:grid;gap:4px;margin-bottom:8px}.rb-app .rb-ie-lbl{font-size:14px;font-weight:600}
.rb-app .rb-ie-toast{position:fixed;left:50%;top:calc(72px + env(safe-area-inset-top));transform:translateX(-50%);z-index:99996;background:#111827;color:#fff;padding:8px 16px;border-radius:999px;font:600 14px/1.4 Inter,system-ui,sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.2);animation:rbIePanel .18s ease-out;transition:opacity .25s}
.rb-app .rb-ie-toast.is-out{opacity:0}
/* mobile: dock = compact pill that expands to a sheet; popover = bottom sheet (set in JS); top bar compact */
@media (max-width:599px){
  .rb-app .rb-ie-top{padding-left:8px;padding-right:8px;gap:4px}
  .rb-app .rb-ie-hint,.rb-app .rb-ie-status{display:none}
  .rb-app .rb-ie-stage{padding:8px 8px var(--rb-ie-dock)}
  .rb-app .rb-ie-dock{width:calc(100vw - 16px);bottom:calc(8px + env(safe-area-inset-bottom));border-radius:20px}
  .rb-app .rb-ie-dock.is-collapsed{width:auto}
  .rb-app .rb-ie-seg button{padding:0 8px;font-size:13px}
  .rb-app .rb-ie-swatches,.rb-app .rb-ie-fonts,.rb-app .rb-ie-secs{grid-template-columns:1fr 1fr}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.rb-app .rb-ie-top,.rb-app .rb-ie-dock,.rb-app .rb-ie-pop{background:#fff}}
html.rb-noblur .rb-app .rb-ie-top,html.rb-noblur .rb-app .rb-ie-dock,html.rb-noblur .rb-app .rb-ie-pop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}
@media (prefers-reduced-motion:reduce){.rb-app .rb-ie *,.rb-app .rb-ie *::after{transition:none!important;animation:none!important}.rb-app .rb-ie .rb-ie-t.is-hl,.rb-app .rb-ie .rb-ie-t:focus-visible,.rb-app .rb-ie .rb-ie-t.is-active{transform:none}.rb-app .rb-ie-pop{transform:none}}
.rb-app .rb-ie.rb-reduced *{transition:none!important;animation:none!important}.rb-app .rb-ie.rb-reduced .rb-ie-t{transform:none!important}
@media print{.rb-app .rb-ie{display:none!important}}
body.rb-printing .rb-app .rb-ie{display:none!important}
.rb-app .rb-ie .page-sheet .editable,.rb-app .rb-ie .page-sheet .editable:hover,.rb-app .rb-ie .page-sheet .selected{outline:none!important;box-shadow:none}
.rb-app .rb-ie .page-sheet .rb-ie-t.is-hl,.rb-app .rb-ie .page-sheet .rb-ie-t:focus-visible,.rb-app .rb-ie .page-sheet .rb-ie-t.is-active{outline:2px solid var(--ie-acc)!important;box-shadow:0 10px 28px rgba(37,99,235,.20),0 0 0 6px rgba(37,99,235,.10)!important}
.rb-app .rb-ie-tpl{width:68px}.rb-app .rb-ie-tpl img{width:58px;height:82px}
.rb-app .rb-ie-panel{max-height:min(36vh,220px)}
.rb-app .rb-ie.has-sheet .rb-ie-stage{padding-bottom:65vh;padding-bottom:65dvh}
@media (min-width:600px){.rb-app .rb-ie-pop.is-sheet{left:50%!important;right:auto;width:min(560px,100vw);transform:translate(-50%,16px)}.rb-app .rb-ie-pop.is-sheet.is-in{transform:translateX(-50%)}}
@media (max-width:599px){.rb-app .rb-ie-seg button{flex:1 1 0;min-width:0;padding:0 4px;font-size:12px}}

/* Dock steps aside while the popover / bottom sheet is open (restored on close). */
.rb-app .rb-ie-dock{transition:opacity .18s ease,transform .18s ease,visibility .18s}
.rb-app .rb-ie.pop-open .rb-ie-dock{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,24px)}
@media (prefers-reduced-motion:reduce){.rb-app .rb-ie-dock{transition:none}}
/* SEC-HIDE-01: per-section on/off switches in the dock's Sections tab */
.rb-app .rb-ie-secrow{display:flex;align-items:center;gap:8px}
.rb-app .rb-ie-secrow .rb-ie-sec{flex:1 1 auto;min-width:0}
.rb-app .rb-ie-sec--plain{cursor:default}
.rb-app .rb-ie-secrow.is-off .rb-ie-sec{opacity:.6}
.rb-app .rb-ie-switch{flex:0 0 auto;position:relative;width:52px;min-height:44px;border:0;background:transparent;cursor:pointer;padding:0}
.rb-app .rb-ie-switch span{position:absolute;left:4px;right:4px;top:50%;height:28px;margin-top:-14px;border-radius:999px;background:#9ca3af;transition:background .15s}
.rb-app .rb-ie-switch span::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .15s}
.rb-app .rb-ie-switch[aria-checked=true] span{background:#1a56db}
.rb-app .rb-ie-switch[aria-checked=true] span::after{transform:translateX(16px)}
@media (prefers-reduced-motion:reduce){.rb-app .rb-ie-switch span,.rb-app .rb-ie-switch span::after{transition:none}}
/* ED-21b: notch-safe insets (viewport-fit=cover is added to the theme's viewport meta by inline.js) */
.rb-app .rb-ie-top{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.rb-app .rb-ie-stage{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
@media (max-width:599px){.rb-app .rb-ie-top,.rb-app .rb-ie-stage{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}}
.rb-app .rb-ie-pop.is-sheet{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
@media (max-width:400px){.rb-app .rb-ie-top .rb-ie-dl{padding-left:12px;padding-right:12px;font-size:15px}.rb-app .rb-ie-top{gap:2px}}

/* RB-FIN-02: cut notice inside the popover */
.rb-app .rb-ie-pophead{flex-wrap:wrap}
.rb-app .rb-ie-notice{white-space:pre-line;flex:1 0 100%;margin:4px 0 0;padding:10px 12px;border-radius:10px;background:#111827;color:#fff;font:600 14px/1.4 Inter,system-ui,sans-serif}
.rb-app .rb-ie-notice[hidden]{display:none}

/* Studio: the chat's look (same backdrop, glass top bar, logo, violet accent and buttons), so going between the chat
   and Studio feels like one app. The CV sheet stays solid. */
.rb-app .rb-ie{--ie-acc:#5a43d6;--ie-ink:#191635;--ie-mut:#433e6b;--ie-glass:rgba(255,255,255,.60);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  background:radial-gradient(900px 700px at 8% 0%,#b9d0ff 0%,transparent 60%),radial-gradient(800px 700px at 100% 10%,#dccaff 0%,transparent 60%),radial-gradient(900px 800px at 55% 110%,#c4b6ff 0%,transparent 60%),linear-gradient(135deg,#a8c3ff 0%,#b7b3f7 50%,#d2bdf6 100%)}
.rb-app .rb-ie-top{gap:12px;border-bottom:1px solid rgba(255,255,255,.75);box-shadow:0 10px 30px -18px rgba(44,30,120,.45)}
.rb-app .rb-ie-name{display:flex;align-items:center;gap:10px;margin:0;font:750 19px/1.2 Inter,system-ui,sans-serif;letter-spacing:-.01em;color:var(--ie-ink);white-space:nowrap}
.rb-app .rb-ie-logo{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none;color:#fff;font-weight:800;font-size:19px;background:linear-gradient(135deg,#4f6bff,#7a4ff0);box-shadow:0 8px 20px -8px rgba(79,70,229,.7),inset 0 1px 0 rgba(255,255,255,.4)}
.rb-app .rb-ie-top .rb-f-btn{border-radius:14px;font-weight:650;font-size:15px}
.rb-app .rb-ie-top .rb-ie-back{background:rgba(255,255,255,.74);border-color:rgba(255,255,255,.95);color:#2a2366;box-shadow:0 4px 14px -6px rgba(44,30,120,.25);white-space:nowrap}
.rb-app .rb-ie-top .rb-ie-back:hover{background:rgba(255,255,255,.95)}
.rb-app .rb-ie-top .rb-f-btn--primary{margin-left:auto;background:linear-gradient(135deg,#5a43d6,#7457ee);border-color:transparent;color:#fff;box-shadow:0 10px 24px -10px rgba(90,67,214,.8),inset 0 1px 0 rgba(255,255,255,.25)}
.rb-app .rb-ie-top .rb-f-btn--primary:hover{background:linear-gradient(135deg,#4c37c2,#6747e0);color:#fff}
.rb-app .rb-ie-dock,.rb-app .rb-ie-pop{border-color:rgba(255,255,255,.75)}
@media (max-width:599px){
  .rb-app .rb-ie-name{font-size:16px;gap:8px}
  .rb-app .rb-ie-logo{width:32px;height:32px;border-radius:10px;font-size:16px}
  .rb-app .rb-ie-top .rb-f-btn{font-size:14px;padding-left:10px;padding-right:10px}
}
@media (max-width:400px){.rb-app .rb-ie-name .rb-ie-logo{display:none}}
