/* App frame chrome — the framed-print shell (top bar + tool rail) from the
   design brief. Ruling is reserved for this chrome; content stays plain. */
html,body{height:100%;margin:0;}
#app{height:100%;}

.rp-blueprint{
  background:var(--surface-frame);
  background-image:linear-gradient(to right,rgba(255,255,255,.13) 1px,transparent 1px),
                    linear-gradient(to bottom,rgba(255,255,255,.13) 1px,transparent 1px);
  background-size:16px 16px;
}

.rp-frame{height:100vh;box-sizing:border-box;padding:5px;box-shadow:inset 0 0 0 1px var(--line-on-print-strong);}
.rp-frame__inner{height:100%;display:flex;flex-direction:column;border:1px solid var(--line-on-print);background:var(--surface-paper);}

.rp-topbar{height:var(--frame-thickness-sm);flex:0 0 auto;display:flex;align-items:center;gap:14px;padding:0 16px;
  border-bottom:1px solid var(--line-on-print);color:var(--text-print);}
.rp-topbar__brand{display:flex;align-items:center;gap:10px;color:var(--text-print);text-decoration:none;}
.rp-topbar__brand:hover{color:var(--text-print);}
.rp-topbar__word{font-family:var(--font-display);font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase;}
.rp-topbar__user{color:var(--text-print-muted);font-family:var(--font-mono);font-size:11px;}

.rp-spacer{flex:1;}
.rp-body{flex:1;min-height:0;display:flex;}

.rp-rail{width:56px;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0;
  border-right:1px solid var(--line-on-print);}
.rp-rail__item{width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  color:var(--text-print);border:1px solid transparent;text-decoration:none;transition:var(--transition-ui);}
.rp-rail__item:hover{background:rgba(255,255,255,.14);border-color:#fff;color:var(--text-print);}
.rp-rail__item.active{background:var(--paper-000);color:var(--red-700);border-color:var(--paper-000);}

.rp-main{flex:1;min-width:0;overflow:auto;background:var(--surface-paper);}
.rp-content{padding:28px 32px;}

/* buttons/icon-buttons on a print (red) ground */
.rp-icon-btn--print{border-color:var(--line-on-print);color:var(--text-print);}
.rp-icon-btn--print:hover:not(:disabled){background:rgba(255,255,255,.14);border-color:#fff;}
.rp-btn--print{background:transparent;color:var(--text-print);border-color:var(--line-on-print-strong);}
.rp-btn--print:hover:not(:disabled){background:rgba(255,255,255,.12);border-color:#fff;}
.rp-btn--printSolid{background:var(--paper-000);color:var(--red-700);border-color:var(--paper-000);}
.rp-btn--printSolid:hover:not(:disabled){background:var(--paper-100);border-color:var(--paper-100);}

#blazor-error-ui{
  background:var(--status-blocked);color:#fff;position:fixed;bottom:0;left:0;right:0;
  padding:10px 16px;font:var(--type-body);font-size:14px;display:none;z-index:1000;
}
