/* StarCura 1.4 · demotila: banneri, roolipainikkeet ja opastettu kierros (demo.js, login.js). */
.rjd-banner{position:sticky;top:0;z-index:900;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:8px 32px;
 background:repeating-linear-gradient(135deg,#5b2483 0 18px,#652c90 18px 36px);color:#fff;font:600 14px/1.3 system-ui,sans-serif;
 box-shadow:0 2px 6px #0003}
.rjd-banner .rjd-tag{letter-spacing:.04em;white-space:nowrap}
@media (max-width:640px){.rjd-banner{padding:8px 16px}.rjd-banner .rjd-tag{white-space:normal}}
.rjd-banner .rjd-who{font-weight:400;opacity:.9}
.rjd-banner .rjd-acts{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.rjd-banner button,.rjd-banner a.rjd-btn{font:600 13px system-ui,sans-serif;padding:6px 11px;border-radius:6px;border:1px solid #fff9;background:transparent;color:#fff;
 cursor:pointer;text-decoration:none;line-height:1.2}
.rjd-banner button:hover,.rjd-banner a.rjd-btn:hover{background:#ffffff26}
.rjd-banner button:focus-visible,.rjd-banner a.rjd-btn:focus-visible{outline:3px solid #ffd27a;outline-offset:2px}
.rjd-banner .rjd-danger{border-color:#ffc9c0;color:#ffe7e2}
@media(max-width:600px){.rjd-banner{position:static;padding:8px 16px;font-size:13px}.rjd-banner .rjd-acts{margin-left:0;width:100%}}
@media print{.rjd-banner,.rjd-spot,.rjd-pop,.rjd-busy{display:none!important}}

/* Kirjautumissivun pikaroolit */
.rjd-login{margin:0 0 22px;padding:16px;border:2px solid #652c90;border-radius:10px;background:#f7f1fb}
.rjd-login h2{margin:0 0 6px;font-size:18px;color:#4a1d6b}
.rjd-login p{margin:0 0 12px;font-size:14px;color:#3d3150}
.rjd-roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.rjd-roles button{display:grid;gap:2px;text-align:left;padding:11px 13px;border:1px solid #a98bc2;border-radius:8px;background:#fff;color:#2f1a44;cursor:pointer}
.rjd-roles button b{font-size:15px}
.rjd-roles button span{font-size:12.5px;color:#5c4d6d}
.rjd-roles button:hover{background:#efe5f7}
.rjd-roles button:focus-visible{outline:3px solid #cc8b2b;outline-offset:2px}
.rjd-roles button:disabled{opacity:.55;cursor:default}
.rjd-login .rjd-err{color:#a33226;margin:8px 0 0;min-height:1em}

/* Opastettu kierros */
.rjd-spot{position:fixed;z-index:1000;border-radius:10px;pointer-events:none;box-shadow:0 0 0 3px #ffd27a,0 0 0 9999px rgba(9,28,33,.62);
 transition:top .18s ease,left .18s ease,width .18s ease,height .18s ease}
.rjd-shade{position:fixed;inset:0;z-index:1000;background:rgba(9,28,33,.62)}
.rjd-pop{position:fixed;z-index:1001;width:min(400px,calc(100vw - 32px));background:#fff;color:#18343c;border-radius:12px;
 box-shadow:0 14px 50px #0006;padding:18px 18px 14px;font:15px/1.45 system-ui,sans-serif}
.rjd-pop:focus{outline:none}
.rjd-pop .rjd-step{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#652c90;font-weight:700}
.rjd-pop h2{margin:4px 0 8px;font-size:19px;line-height:1.25}
.rjd-pop h2:focus{outline:none}
.rjd-pop p{margin:0 0 8px}
.rjd-pop .rjd-tip{font-size:13.5px;color:#4d6260;background:#f2f6f5;border-radius:7px;padding:7px 9px}
.rjd-pop .rjd-nav{display:flex;gap:8px;align-items:center;margin-top:12px;flex-wrap:wrap}
.rjd-pop .rjd-nav .rjd-skip{margin-right:auto;background:none;border:0;color:#5c716f;text-decoration:underline;padding:8px 4px}
.rjd-pop button{font:inherit;cursor:pointer;border:1px solid #b8cacb;border-radius:7px;background:#fff;color:#18343c;padding:8px 12px}
.rjd-pop button.rjd-next{background:#652c90;border-color:#652c90;color:#fff}
.rjd-pop button:focus-visible{outline:3px solid #cc8b2b;outline-offset:2px}
.rjd-pop .rjd-dots{display:flex;gap:4px;margin-top:10px}
.rjd-pop .rjd-dots i{width:7px;height:7px;border-radius:50%;background:#d9cfe2}
.rjd-pop .rjd-dots i.on{background:#652c90}
@media(max-width:600px){.rjd-pop{left:16px!important;right:16px;bottom:16px;top:auto!important;width:auto}}
@media(prefers-reduced-motion:reduce){.rjd-spot{transition:none}}

/* Palautuksen odotus */
.rjd-busy{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;background:rgba(9,28,33,.7);color:#fff;font:600 17px system-ui,sans-serif;text-align:center;padding:16px}
.rjd-busy span{display:block;font-weight:400;font-size:14px;margin-top:6px;opacity:.9}
