/* Shared layout for full-page screens (app/core.js). Feature modules keep their own
   styles in app/<module>.css, loaded by RD.loadCss(). */
#screen-root { position:fixed; inset:0; z-index:55; overflow:auto; background:var(--bg); color:var(--text); font-family:var(--font-ui); }
#screen-root[hidden] { display:none; }
body.is-screen #app-ui, body.is-screen #dashboard { display:none; }
.scr { min-height:100%; display:flex; flex-direction:column; }
.scr-top { position:sticky; top:0; z-index:5; display:flex; align-items:center; gap:12px; min-height:64px; padding:10px 20px; box-sizing:border-box;
  background:color-mix(in srgb, var(--bg) 88%, transparent); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); border-bottom:1px solid var(--border); }
.scr-top .scr-logo img { display:block; height:26px; }
.scr-top .scr-logo img.logo-d, [data-theme="dark"] .scr-top .scr-logo img.logo-l { display:none; }
[data-theme="dark"] .scr-top .scr-logo img.logo-d { display:block; }
.scr-top .scr-crumb { display:flex; align-items:center; gap:8px; min-width:0; font:500 14px/20px var(--font-ui); color:var(--text-secondary); }
.scr-top .scr-crumb b { color:var(--text); font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.scr-top .scr-spacer { flex:1; }
.scr-body { flex:1; width:100%; max-width:1280px; margin:0 auto; padding:24px 24px 48px; box-sizing:border-box; display:grid; gap:20px; align-content:start; }
.scr-body.narrow { max-width:880px; }
.scr-h1 { margin:0; font:650 28px/34px var(--font-ui); letter-spacing:-.02em; }
.scr-h1:focus { outline:none; }
.scr-lead { margin:4px 0 0; font:400 15px/22px var(--font-ui); color:var(--text-secondary); max-width:720px; }
.scr-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-panel); padding:20px; }
.scr-error { margin:48px auto; max-width:560px; display:flex; gap:12px; align-items:center; }
@media (max-width: 640px) { .scr-body { padding:16px 16px 40px; } .scr-top { padding:8px 16px; } .scr-h1 { font-size:24px; line-height:30px; } }
