/* LiteSVR public/protected prose CSS
   Shared by every non-app page generated or served outside LiteSVR.html.
   Theme tokens are copied from LiteSVR v2.9.1 so public pages, admin, and the app use the same naming.
   LiteSVR.html intentionally keeps its CSS inline for self-contained offline report files. */

:root{
  --ink:oklch(.22 0 0);--paper:oklch(.97 0 0);--line:oklch(.86 .005 87);
  --muted:oklch(.45 .005 85);--surface:oklch(.93 .005 90);--hover:oklch(.90 .005 90);--focus:var(--ink);
  --ui-bg:oklch(.22 0 0);--ui-fg:oklch(.97 0 0);--ui-muted:oklch(.68 .005 85);--ui-line:oklch(.37 .005 90);--ui-hover:rgba(255,255,255,.10);--ui-active:rgba(255,255,255,.16);
  --green:oklch(.49 .09 158);--orange:oklch(.59 .13 74);--red:oklch(.46 .12 27);--blue:oklch(.48 .13 258);
  --t-xs:11px;--t-sm:12px;--t-md:14px;--t-lg:17px;--t-xl:24px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;
  --font:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --logo-max-height:50px;
  --bw:1px;--bw-em:1px;--watermark:rgba(17,17,17,.13);--report-body-font-stack:var(--font);
}

@media screen and (prefers-color-scheme: dark) {
  :root{
    --ink:oklch(.94 0 0);--paper:oklch(.17 0 90);--line:oklch(.37 .005 90);
    --muted:oklch(.68 .005 85);--surface:oklch(.22 .005 90);--hover:oklch(.27 .005 90);--focus:var(--ink);
    --ui-bg:oklch(.97 0 0);--ui-fg:oklch(.22 0 0);--ui-muted:oklch(.45 .005 85);--ui-line:oklch(.86 .005 87);--ui-hover:rgba(0,0,0,.08);--ui-active:rgba(0,0,0,.12);
    --green:oklch(.68 .09 158);--orange:oklch(.72 .13 74);--red:oklch(.63 .12 27);--blue:oklch(.67 .13 258);
  }
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  background:var(--surface);
  color:var(--ink);
}

body{
  margin:0;
  background:var(--surface);
  color:var(--ink);
  font:11pt/1.45 var(--font);
}

a{
  color:inherit;
  text-underline-offset:.18em;
}

a:hover{text-decoration-thickness:2px}

.site-header,
.site-footer{
  max-width:8.5in;
  margin:0 auto;
  padding:var(--s4) var(--s5);
}

.site-header{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--s4);
}

.site-mark{
  font:800 var(--t-xs)/1 var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
}

.site-nav{
  display:flex;
  gap:var(--s3);
  flex-wrap:wrap;
  color:var(--muted);
  font-size:var(--t-sm);
}

.site-nav a[aria-current="page"]{
  color:var(--ink);
  font-weight:700;
}

.document{
  max-width:8.5in;
  margin:0 auto var(--s5);
  padding:.5in;
  background:var(--paper);
  border:1px solid var(--line);
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}

.document > :first-child{margin-top:0}
.document > :last-child{margin-bottom:0}

h1,h2,h3{
  line-height:1.15;
  letter-spacing:-.02em;
}

h1{
  max-width:13ch;
  margin:0 0 var(--s5);
  font-size:clamp(36px,7vw,72px);
}

h2{
  margin-top:var(--s6);
  padding-top:var(--s5);
  border-top:1px solid var(--line);
  font-size:var(--t-xl);
}

h3{
  margin-top:var(--s5);
  font-size:var(--t-lg);
}

p,ul,ol{max-width:68ch}

.lede{
  font-size:var(--t-xl);
  line-height:1.45;
  color:var(--ink);
}

.callout{
  margin:var(--s5) 0;
  padding:var(--s4) var(--s5);
  border-left:3px solid var(--ink);
  background:var(--surface);
}

.meta-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:var(--s3);
  padding:0;
  list-style:none;
}

.meta-list li{
  padding:var(--s3);
  border:1px solid var(--line);
  background:var(--surface);
}

.kicker{
  font:800 var(--t-xs)/1 var(--mono);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}

.button,
.tenant-admin .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin-right:var(--s2);
  border:1px solid var(--ink);
  background:var(--ink);
  color:var(--paper);
  padding:7px 11px;
  font:700 var(--t-sm)/1.2 var(--font);
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
}

.button.secondary,
.tenant-admin .button.secondary{
  background:transparent;
  color:var(--ink);
  border-color:var(--line);
}

.button:hover,
.tenant-admin .button:hover{
  background:var(--hover);
  color:var(--ink);
}

.site-footer{
  color:var(--muted);
  font-size:var(--t-sm);
}

/* Tenant admin shares the same token contract but remains a protected dynamic page. */
.tenant-admin main{
  max-width:920px;
  margin:var(--s6) auto;
  padding:28px;
  background:var(--paper);
  border:1px solid var(--line);
  box-shadow:0 10px 30px rgba(0,0,0,.06);
}

.tenant-admin h1{
  max-width:none;
  margin:0 0 var(--s2);
  font-size:28px;
}

.tenant-admin h2{
  margin:28px 0 var(--s3);
  padding-bottom:var(--s2);
  border-top:0;
  border-bottom:1px solid var(--line);
  font-size:var(--t-lg);
}

.tenant-admin pre{
  overflow:auto;
  padding:var(--s3);
  background:var(--surface);
  border:1px solid var(--line);
  font:var(--t-sm)/1.35 var(--mono);
  white-space:pre-wrap;
}

.tenant-admin code{
  font-family:var(--mono);
}

.tenant-admin table{
  width:100%;
  border-collapse:collapse;
  margin-top:var(--s2);
}

.tenant-admin th,
.tenant-admin td{
  border-bottom:1px solid var(--line);
  padding:var(--s2);
  text-align:left;
  vertical-align:top;
}

.tenant-admin th{
  font:800 var(--t-xs)/1 var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}

.tenant-admin .kicker{
  margin:0 0 var(--s5);
}

.tenant-admin .notice{
  border-left:3px solid var(--blue);
  background:var(--surface);
  padding:var(--s3);
  margin:var(--s4) 0 var(--s5);
}

.tenant-admin .actions{
  display:flex;
  gap:var(--s2);
  flex-wrap:wrap;
  margin:var(--s4) 0 var(--s5);
}

.tenant-admin .error{
  color:var(--red);
  font-weight:700;
}

.tenant-admin .muted{
  color:var(--muted);
}

.tenant-admin .logo-preview{
  min-height:72px;
  border:1px dashed var(--line);
  background:var(--surface);
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:var(--s3);
}

.tenant-admin .logo-preview img{
  max-width:260px;
  max-height:90px;
  object-fit:contain;
}

.tenant-admin .danger{
  color:var(--red);
}

.tenant-admin button{
  font:700 var(--t-sm)/1.2 var(--font);
  padding:6px 10px;
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--ink);
  cursor:pointer;
}

.tenant-admin button:hover{
  background:var(--surface);
  border-color:var(--ink);
}

.tenant-admin button[data-act="restore-revision"]{
  border-color:var(--orange);
  color:var(--orange);
}

.tenant-admin button[disabled]{
  opacity:.5;
  cursor:not-allowed;
}


.tenant-admin .summary-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:var(--s2);
  margin:var(--s3) 0 var(--s5);
}

.tenant-admin .summary-row{
  min-width:0;
  padding:var(--s3);
  border:1px solid var(--line);
  background:var(--surface);
}

.tenant-admin .summary-label{
  margin-bottom:var(--s1);
  font:800 var(--t-xs)/1 var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}

.tenant-admin .summary-value{
  overflow-wrap:anywhere;
  white-space:pre-wrap;
}

.tenant-admin .logo-card{
  display:grid;
  grid-template-columns:minmax(220px,.75fr) minmax(260px,1.25fr);
  gap:var(--s3);
  align-items:start;
  margin:var(--s3) 0 var(--s5);
}

.tenant-admin .logo-card .summary-grid{
  margin:0;
}

.tenant-admin #config-json{
  display:none;
}

.tenant-admin #config-json.visible{
  display:block;
}

.tenant-admin .revision-note{
  color:var(--muted);
  margin-top:0;
}

.tenant-admin .revision-list{
  display:flex;
  flex-direction:column;
  gap:var(--s2);
  margin-top:var(--s3);
}

.tenant-admin .revision-item{
  padding:var(--s3);
  border:1px solid var(--line);
  background:var(--surface);
}

.tenant-admin .revision-sentence{
  max-width:none;
  margin:0;
  font-size:var(--t-md);
}

.tenant-admin .revision-restore-button{
  margin-left:var(--s2);
  border-color:var(--orange);
  color:var(--orange);
  background:var(--paper);
  white-space:nowrap;
}

.tenant-admin .revision-restore-button:hover{
  border-color:var(--orange);
  background:var(--hover);
  color:var(--ink);
}

.tenant-admin .revision-detail-grid{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:var(--s1) var(--s3);
  margin-top:var(--s2);
  color:var(--muted);
  font-size:var(--t-sm);
}

.tenant-admin .revision-detail-label{
  font:800 var(--t-xs)/1.3 var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}

.tenant-admin .revision-id{
  overflow-wrap:anywhere;
  color:var(--muted);
}

@media(max-width:700px){
  .site-header{
    align-items:flex-start;
    flex-direction:column;
  }

  .document{
    margin:0;
    border-left:0;
    border-right:0;
    padding:var(--s5);
  }

  .tenant-admin main{
    margin:0;
    border-left:0;
    border-right:0;
    padding:var(--s5);
  }



  .tenant-admin .logo-card{
    grid-template-columns:1fr;
  }

  .tenant-admin .summary-grid{
    grid-template-columns:1fr;
  }

  .tenant-admin .revision-sentence{
    display:flex;
    flex-direction:column;
    gap:var(--s2);
    align-items:flex-start;
  }

  .tenant-admin .revision-restore-button{
    margin-left:0;
  }

  .tenant-admin .revision-detail-grid{
    grid-template-columns:1fr;
    gap:2px;
  }

  h1{font-size:40px}

  .tenant-admin table,
  .tenant-admin thead,
  .tenant-admin tbody,
  .tenant-admin th,
  .tenant-admin td,
  .tenant-admin tr{
    display:block;
  }

  .tenant-admin th{display:none}

  .tenant-admin td{
    padding:var(--s2) 0;
  }
}
