/* Resume Builder – shared dialog, button, toast and AI-suggestion primitives (flow.js services, the chat and Studio).
   Type scale: 20 / 16 / 14. 8px grid. */
.rb-app{--f-acc:var(--rb-accent,#1a56db);--f-ink:#111827;--f-ink2:#374151;--f-mut:#4b5563;--f-line:rgba(17,24,39,.14)}

.rb-app .rb-f-h3{font:600 20px/1.3 Inter,system-ui,sans-serif;margin:0 0 8px;color:var(--f-ink)}

.rb-app .rb-f-card{display:block;background:#fff;border:1px solid var(--f-line);border-radius:12px;padding:16px;margin:0 0 16px;min-width:0}
.rb-app .rb-f-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}

.rb-app .rb-f-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:10px;font:600 16px/1.2 Inter,system-ui,sans-serif;cursor:pointer;text-decoration:none;border:1px solid rgba(17,24,39,.2);background:rgba(255,255,255,.7);color:var(--f-ink);transition:transform 150ms,background-color 150ms,box-shadow 150ms}
.rb-app .rb-f-btn:hover{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.rb-app .rb-f-btn:active{transform:translateY(1px)}
.rb-app .rb-f-btn--primary{background:rgba(26,86,219,.95);border-color:rgba(255,255,255,.35);color:#fff;box-shadow:0 4px 16px rgba(26,86,219,.28)}
.rb-app .rb-f-btn--primary:hover{background:#1747b5;color:#fff}
.rb-app .rb-f-btn[disabled]{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.rb-app .rb-f-link{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 8px;font:600 14px/1.4 Inter,system-ui,sans-serif;color:#1747b5;cursor:pointer;border-radius:8px;text-decoration:underline;text-underline-offset:3px}

.rb-app .rb-f-hint{font-size:14px;color:var(--f-mut);margin:8px 0}

.rb-app .rb-f-err{font-size:14px;color:#991b1b;background:#fef2f2;border-radius:8px;padding:8px 16px;margin:8px 0}
.rb-app .rb-f-chip{display:inline-flex;align-items:center;gap:8px;font-size:14px;padding:4px 8px;border-radius:16px;background:#eef2ff;color:#1e3a8a}
.rb-app .rb-f-chip.is-empty{background:#fef3c7;color:#713f12}

.rb-app .rb-f-check{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:var(--f-ink2);cursor:pointer;min-height:44px;padding:8px 0}
.rb-app .rb-f-check input{width:20px;height:20px;margin:2px 0 0;flex-shrink:0;accent-color:var(--f-acc)}
.rb-app .rb-f-card.rb-f-check{padding:16px}

.rb-app .rb-f-sugs{display:grid;gap:8px;margin-top:8px}
.rb-app .rb-f-sug{background:#fff;border:1px dashed rgba(26,86,219,.5);border-radius:12px;padding:16px}
.rb-app .rb-f-badge{display:inline-block;font:600 14px/1.2 Inter,system-ui,sans-serif;color:#713f12;background:#fef3c7;border-radius:8px;padding:4px 8px;margin-bottom:8px}

.rb-app .rb-f-skel{height:56px;border-radius:12px;background:linear-gradient(90deg,#eef1f5 25%,#f8fafc 50%,#eef1f5 75%);background-size:200% 100%;animation:rbfsk 1.2s linear infinite}
@keyframes rbfsk{to{background-position:-200% 0}}

.rb-app .rb-f-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;background:rgba(17,24,39,.45);padding:16px}
.rb-app .rb-f-sheet{background:#fff;border-radius:16px;padding:16px;max-width:480px;width:100%}

.rb-app .rb-f-toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);z-index:100001;background:#111827;color:#fff;font:600 16px/1.4 Inter,system-ui,sans-serif;padding:12px 24px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.2);transition:opacity 200ms,transform 200ms;max-width:calc(100vw - 32px);text-align:center}
.rb-app .rb-f-toast.is-out{opacity:0;transform:translate(-50%,8px)}

.rb-app .rb-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.rb-app .rb-reduced *{transition:none!important;animation:none!important}
@media print{.rb-app .rb-f-modal,.rb-app .rb-f-toast{display:none!important}}
/* v1.2 review fixes */
.rb-app.rb-portal{all:initial;display:block;position:static;padding:0;margin:0;min-height:0;background:none;container-type:normal;contain:none}
.rb-app.rb-portal::before,.rb-app.rb-portal::after{content:none!important;display:none!important}
html.rb-noscroll,html.rb-noscroll body{overflow:hidden!important}

.rb-app .rb-f-modal{z-index:2147482000}
.rb-app .rb-f-toast{position:fixed;left:50%;right:auto;top:auto;bottom:calc(16px + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);z-index:2147483100;margin:0;box-sizing:border-box;width:max-content;max-width:min(640px,calc(100vw - 32px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));max-height:45vh;max-height:45dvh;overflow:auto;text-align:left;font-size:16px;white-space:pre-line;overflow-wrap:anywhere}
.rb-app .rb-f-toast.is-out{opacity:0;transform:translate(-50%,8px)}
.rb-app .rb-f-toast.is-top.is-out{transform:translate(-50%,-8px)}

.rb-app .rb-f-btn.is-locked{color:var(--f-mut);border-style:dashed}
.rb-app .rb-f-paid{font-size:14px;font-weight:600;color:#713f12;background:#fef3c7;border-radius:8px;padding:2px 8px}

.rb-app.rb-portal{font-family:Inter,system-ui,sans-serif;color:#111827;font-size:16px;line-height:1.5}

/* AI transparency line (EU AI Act Art. 50) and age gate */
.rb-app .rb-f-ainote{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:600;color:#1e3a8a;background:#eff6ff;border-radius:8px;padding:6px 12px;margin:8px 0}
.rb-f-agegate .rb-f-card{max-width:440px}

/* 1.4.0 point-of-use AI notice (consent + 18+) */
.rb-app .rb-f-gate .rb-f-gatecard{background:#fff;border-radius:16px;padding:24px;max-width:520px;width:100%;box-shadow:0 20px 50px rgba(17,24,39,.25);font:400 15px/1.55 Inter,system-ui,sans-serif;color:#111827;max-height:calc(100vh - 32px);overflow:auto;box-sizing:border-box}
.rb-app .rb-f-gate .rb-ai-tag{margin:0 0 8px}
.rb-app .rb-f-gate .rb-f-gate-p{margin:0 0 10px;color:#1f2937}
.rb-app .rb-f-gate .rb-f-hint{margin:0 0 14px;color:#4b5563;font-size:14px}
.rb-app .rb-f-gate .rb-f-gate-age{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #d1d5db;border-radius:10px;background:#f9fafb;font-weight:600;margin:0 0 12px;cursor:pointer}
.rb-app .rb-f-gate .rb-f-gate-age input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:#1a56db}
.rb-app .rb-f-gate .rb-f-err{margin:0 0 12px;color:#b91c1c;font-size:14px}
.rb-app .rb-f-gate .rb-f-gate-btns{display:flex;gap:12px;flex-wrap:wrap}
.rb-app .rb-f-gate .rb-f-gate-btns .rb-f-btn{flex:1 1 140px;min-height:44px}
.rb-app .rb-f-gate .rb-f-gate-more{margin:12px 0 0;font-size:14px}
.rb-app .rb-f-gate .rb-f-gate-more a{color:#1a56db;text-decoration:underline}
.rb-app .rb-f-sug .rb-ai-tag{margin:0 6px 6px 0}

.rb-app .rb-f-gate [data-gate="go"]:disabled,.rb-app .rb-f-gate [data-gate="go"][aria-disabled="true"]{opacity:.45;cursor:not-allowed;filter:grayscale(.4);box-shadow:none}
.rb-app .rb-f-gate .rb-f-gate-need{margin:0 0 10px}
.rb-app .rb-f-gate [hidden]{display:none!important}
