/* ============================================================================
   named-calm.css — the ONE shared "Named-Calm" empty/error/notice recovery
   state for Hub Realty's public magic-link pages (the /my, /welcome, /owner,
   /repair-status, /sign family). Sibling to assets/rimuru.css's own
   R.emptyState()/R.state() component for the internal tool shell — but this
   family of pages intentionally stays clear of that file (see rimuru.css's
   own header: "public pages do not include this file — their palettes are
   untouched"), each keeping its own small self-contained token set. This
   file gives them the SAME visual language and copy contract without
   forking a bespoke ".state" block per page:

     - a plain sentence naming what happened (never a bare "nothing here")
     - at most ONE next action (a button/link), only when a real one exists
     - error vs. empty vs. notice are visually distinct so "0 by design" is
       never confused with "0 by failure" (Design Constitution D1)

   Reads each host page's OWN local tokens (paper/surface, line/hair,
   navy/ink, muted/ink2, bad/urgent/red, silver/bg-2, focus) through
   var()-with-fallback chains, so a page needs zero new tokens to adopt it —
   just <link> this file and use the classes below. 2026-07-31. */

.calm-state{
  padding:16px 18px;
  border-left:4px solid var(--blue, var(--accent, #174f78));
  background:var(--blue-soft, var(--accent-soft, #eaf1f7));
}
.calm-state[data-tone="error"]{
  border-left-color:var(--bad, var(--urgent, var(--red, #a8352f)));
  background:var(--bad-soft, var(--urgent-soft, var(--red-soft, #fff4f3)));
}
/* "empty" is the calm case — nothing went wrong, there is just nothing yet.
   No card, no accent bar: quiet typography that blends into whatever
   container already holds it (a card, a table section, a bare <main>). */
.calm-state[data-tone="empty"]{
  border-left:0;
  background:transparent;
  padding:0;
}
.calm-state h1,.calm-state h2{
  margin:0 0 6px;
  color:var(--navy, var(--ink, #071a2e));
  font:600 24px/1.2 Georgia,'Times New Roman',serif;
}
.calm-state p{
  margin:0;
  max-width:62ch;
  color:var(--muted, var(--ink2, #5d6a79));
}
.calm-state p + p{margin-top:6px}
