/* The design study applied to the simulated product, at its native 720 × 480 scale.
   Load after nisi-app-scenes.css. Keep dimensions controlled by the cinematic stage. */
.nisi-app-screen {
  --app-ink: #25333d;
  --app-sub: #5e6c75;
  --app-rule: #d5dce0;
  --app-accent: #a08b5f;
  background: #fbfcfc;
  font-family: "Helvetica Neue", Arial, sans-serif;
}
.nisi-app-screen .app-rail { background: #172735; color: #c5d3dd; padding-top: 23px; }
.nisi-app-screen .app-logo { color: #f7fafc; font-weight: 400; padding-bottom: 24px; }
.nisi-app-screen .app-logo > span { background: #b6a47c; }
.nisi-app-screen .app-rail > p,
.nisi-app-screen .app-nav > p { color: #95a7b4; font-size: 6.5px; }
.nisi-app-screen .app-nav > button,
.nisi-app-screen .app-nav-static { border-radius: 2px; color: #b9c9d3; }
.nisi-app-screen .app-nav > button.is-current {
  color: #fff;
  background: #ffffff0c;
  box-shadow: inset 2px 0 #b6a47c;
}
.nisi-app-screen .app-nav > button:hover { color: #fff; background: #ffffff12; }
.nisi-app-screen .app-nav > button.is-current:hover { color: #fff; background: #ffffff16; }
.nisi-app-screen .app-topbar { background: #f4f7f8; border-color: var(--app-rule); height: 34px; }
.nisi-app-screen .app-scroll { padding: 17px 25px 18px; }
.nisi-app-screen .app-global-search {
  height: 29px;
  border-color: #dce2e5;
  background: #fff;
  border-radius: 3px;
  color: #76818a;
  font-size: 8px;
  margin-bottom: 18px;
}
.nisi-app-screen .app-global-search kbd { background: #f2f5f6; color: #7d8991; }
.nisi-app-screen .app-page-body h3 {
  color: var(--app-ink) !important;
  font: 400 37px/1.06 Georgia, "Times New Roman", serif !important;
  letter-spacing: -.045em !important;
  margin: 0 0 10px !important;
}
.nisi-app-screen .app-page-body h3 > span { color: var(--app-accent); }
.nisi-app-screen .app-page-body h3.app-matter-title { font-size: 26px !important; }
.nisi-app-screen .app-subtitle { color: var(--app-sub); font-size: 10px; line-height: 1.6; margin-bottom: 18px !important; }
.nisi-app-screen .app-kicker { font-size: 8px; letter-spacing: .02em; color: var(--app-sub); }
.nisi-app-screen .app-page-body h4 { color: var(--app-ink) !important; font-weight: 500 !important; }
.nisi-app-screen .app-page-body .app-serif { font: 400 21px/1.2 Georgia, "Times New Roman", serif !important; letter-spacing: -.025em !important; }
.nisi-app-screen .app-primary {
  color: #fff;
  background: #172735;
  border: 1px solid #172735;
  border-radius: 3px;
  padding: 7px 11px;
  font-size: 9px !important;
  transition: background .18s, color .18s, border-color .18s;
}
.nisi-app-screen .app-primary:hover,
.nisi-app-screen .app-primary:focus-visible { background: #b6a47c; color: #172735; border-color: #b6a47c; }
.nisi-app-screen button:focus-visible,
.nisi-app-screen summary:focus-visible,
.nisi-app-screen input:focus-visible { outline: 2px solid #8a744d; outline-offset: 3px; }
.nisi-app-screen .app-text,
.nisi-app-screen .app-citation { color: #3a5362; border-color: #a9b8c1 !important; font-size: 9px !important; }
.nisi-app-screen .app-text:hover,
.nisi-app-screen .app-citation:hover { color: #7b6134; border-color: #b6a47c !important; }
.nisi-app-screen .app-bottom { background: #f4f7f8; border-color: var(--app-rule); color: #73808a; }
.nisi-app-screen .app-badge { background: #f1f6f3; color: #466454; border: 1px solid #d0dcd4; border-radius: 2px; font-size: 7px !important; padding: 3px 5px; }
.nisi-app-screen .app-badge.is-waiting { background: #f8f5ef; color: #78623d; border-color: #ddd2bc; }
.nisi-app-screen .app-badge.is-review { background: #f4f6f7; color: #516470; border-color: #d6dee3; }
.nisi-app-screen .app-meta { color: #6a7983; }

/* One decision above the line; accountable, continuing work below it. */
.nisi-app-screen.app-page-line .app-global-search { display: none; }
.nisi-app-screen.app-page-line .app-scroll { padding-top: 20px; }
.nisi-app-screen.app-page-line .app-subtitle { margin-bottom: 15px !important; }
.nisi-app-screen .app-priority-label { display: flex; justify-content: space-between; align-items: center; font-size: 8px; color: #5e6c75; margin: 0 0 8px; }
.nisi-app-screen .app-priority-label > span:last-child { color: #88754f; display: flex; align-items: center; gap: 5px; }
.nisi-app-screen .app-priority-label > span:last-child::after { content: ""; width: 4px; height: 4px; background: #b6a47c; border-radius: 50%; }
.nisi-app-screen .app-line-priority { display: grid; grid-template-columns: 14px 1fr; gap: 10px; background: #fff; border: 1px solid var(--app-rule); border-left: 2px solid #b6a47c; border-radius: 3px; padding: 13px 15px; }
.nisi-app-screen .app-priority-number { color: #88754f; font-size: 9px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.nisi-app-screen .app-priority-matter { color: var(--app-sub); font-size: 8px; }
.nisi-app-screen .app-line-priority h4 { font: 400 23px/1.15 Georgia, serif !important; letter-spacing: -.025em !important; margin: 7px 0 8px !important; }
.nisi-app-screen .app-line-priority p { color: var(--app-sub); font-size: 10px; line-height: 1.55; max-width: 46ch; }
.nisi-app-screen .app-priority-actions { display: flex; align-items: center; gap: 13px; flex-wrap: wrap; margin-top: 10px; }
.nisi-app-screen .app-priority-actions .app-citation { margin: 0; }
.nisi-app-screen .app-below-heading { display: flex; align-items: center; gap: 12px; margin: 18px 0 3px; }
.nisi-app-screen .app-below-heading h4 { margin: 0 !important; font: 400 17px/1.3 Georgia, serif !important; letter-spacing: -.02em !important; }
.nisi-app-screen .app-below-heading > span { height: 1px; flex: 1; background: var(--app-rule); }
.nisi-app-screen .app-below-row { display: flex; justify-content: space-between; align-items: center; width: 100%; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--app-rule); background: none; text-align: left; color: var(--app-ink); border-radius: 0; }
.nisi-app-screen .app-below-row strong { display: block; font-size: 10px; font-weight: 500; }
.nisi-app-screen .app-below-row small { font-size: 8px; color: var(--app-sub); margin-top: 3px; }
.nisi-app-screen .app-below-row:hover strong { color: #7b6134; }
.nisi-app-screen .app-date-row { padding-block: 12px; border-top: 0; }
.nisi-app-screen .app-date-row > strong { color: #8a744d; font-size: 9px; }
.nisi-app-screen .app-line-footer { display: flex; align-items: center; gap: 14px; margin: 12px 0 0; }

/* Drafts retain the quiet document/editor treatment, with their status alongside. */
.nisi-app-screen .app-draft-grid { gap: 7px; margin: 12px 0; }
.nisi-app-screen .app-draft-grid button { background: #fff; border-color: var(--app-rule); border-radius: 3px; min-height: 36px; padding: 10px; font-size: 9px; }
.nisi-app-screen .app-draft-grid button:hover { background: #f4f7f8; border-color: #b6a47c; }
.nisi-app-screen .app-saved-draft { border-radius: 3px; background: white; padding: 12px; }
.nisi-app-screen .app-saved-draft.app-saved-featured { border-left: 2px solid #b6a47c !important; }
.nisi-app-screen .app-saved-draft:hover { background: #f4f7f8; }
.nisi-app-screen .app-saved-featured strong { font: 400 18px/1.25 Georgia, serif; letter-spacing: -.02em; }
.nisi-app-screen .app-saved-featured em { font-style: normal; color: var(--app-sub); font-size: 9px; }
.nisi-app-screen .app-draft-footnote { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin: 11px 0 17px; font-size: 8px; color: var(--app-sub); }
.nisi-app-screen .app-draft-footnote span:last-child { color: #7d6947; }
.nisi-app-screen .app-draft-layout { display: grid; grid-template-columns: 1fr 135px; gap: 15px; margin-top: 14px; align-items: start; }
.nisi-app-screen .app-brief-paper { background: #fff; border: 1px solid var(--app-rule); border-radius: 2px; margin: 0; padding: 18px; box-shadow: 0 3px 12px #17273504; }
.nisi-app-screen .app-brief-paper > span { color: #75828a; font-size: 7px; letter-spacing: .03em; }
.nisi-app-screen .app-brief-paper > p { color: #3b4953; font: 11px/1.8 Georgia, serif; }
.nisi-app-screen .app-brief-paper h5 { color: var(--app-sub); font-size: 8px; font-weight: 500; }
.nisi-app-screen .app-draft-review { border-top: 1px solid var(--app-rule); }
.nisi-app-screen .app-draft-review > div { padding: 12px 0; border-bottom: 1px solid var(--app-rule); }
.nisi-app-screen .app-draft-review small { color: #7d6947; font-size: 7px; margin-bottom: 5px; }
.nisi-app-screen .app-draft-review strong { color: var(--app-ink); font-size: 9px; font-weight: 500; }
.nisi-app-screen .app-draft-review p { color: var(--app-sub); font-size: 8px; line-height: 1.55; margin-top: 5px; }
.nisi-app-screen .app-draft-review .app-primary { margin-top: 13px; white-space: normal; width: 100%; }
.nisi-app-screen .app-draft-open-kicker { margin-top: 16px !important; }

/* Today keeps the calendar and the decisions separate, but in one glance. */
.nisi-app-screen .app-today-date { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; margin-top: 17px; border-block: 1px solid var(--app-rule); font-size: 8px; color: var(--app-sub); }
.nisi-app-screen .app-today-date > span:first-child { color: var(--app-ink); }
.nisi-app-screen .app-today-layout { display: grid; grid-template-columns: 1.15fr 1fr; gap: 24px; }
.nisi-app-screen .app-today-layout h4.app-serif { font-size: 21px !important; margin: 18px 0 15px !important; }
.nisi-app-screen .app-calendar-entry { display: grid; grid-template-columns: 32px 1fr; gap: 11px; border-left: 2px solid #263f51; padding-left: 11px; margin-bottom: 18px; }
.nisi-app-screen .app-calendar-entry time { color: var(--app-sub); font-size: 9px; }
.nisi-app-screen .app-calendar-entry strong { font-size: 11px; font-weight: 500; }
.nisi-app-screen .app-calendar-entry p { margin: 3px 0 4px; font-size: 10px; color: var(--app-sub); }
.nisi-app-screen .app-calendar-entry small { font-size: 8px; color: var(--app-sub); }
.nisi-app-screen .app-calendar-entry .app-text { margin-top: 7px; }
.nisi-app-screen .app-today-reading { border-left: 2px solid #b6a47c; padding-left: 11px; }
.nisi-app-screen .app-today-reading > span { color: #89744b; font-size: 8px; }
.nisi-app-screen .app-today-reading h5 { margin: 6px 0 !important; font-weight: 500; font-size: 10px; }
.nisi-app-screen .app-today-reading p { color: var(--app-sub); font-size: 10px; line-height: 1.6; }
.nisi-app-screen .app-today-outstanding { border-top: 1px solid var(--app-rule); margin-top: 14px !important; padding-top: 12px; color: var(--app-sub); display: flex; align-items: center; gap: 8px; font-size: 8px; }
.nisi-app-screen .app-today-decision { display: grid; grid-template-columns: 12px 1fr; gap: 8px; border: 1px solid var(--app-rule); border-left: 2px solid #b6a47c; border-radius: 3px; background: #fff; padding: 13px; }
.nisi-app-screen .app-today-decision small { font-size: 8px; color: var(--app-sub); }
.nisi-app-screen .app-today-decision h5 { font: 400 19px/1.2 Georgia, serif; letter-spacing: -.02em; margin: 8px 0 9px; }
.nisi-app-screen .app-today-decision p { font-size: 9px; color: var(--app-sub); margin-bottom: 12px; line-height: 1.65; }
.nisi-app-screen .app-today-line > .app-text { margin-top: 12px; }

/* The remaining rooms use the same matter record, paper and rules. */
.nisi-app-screen .app-attention { background: #fff; border-color: var(--app-rule); border-left-color: #b6a47c; border-radius: 3px; }
.nisi-app-screen .app-matter-tabs { gap: 12px; }
.nisi-app-screen .app-matter-tabs > button.selected { border-bottom-color: #b6a47c; }
.nisi-app-screen .app-reading-box { background: #fff; border-color: var(--app-rule); border-left: 2px solid #b6a47c; border-radius: 3px; }
.nisi-app-screen .app-queue-row { padding: 14px 0; border-color: var(--app-rule); }
.nisi-app-screen .app-queue-row strong { font-weight: 500; }
.nisi-app-screen .app-work-dot { width: 5px; height: 5px; background: #65816f; box-shadow: none; }
.nisi-app-screen .app-work-dot.is-waiting { background: #b6a47c; }
.nisi-app-screen .app-promise { background: #fff; border: 1px solid var(--app-rule); border-left: 2px solid #b6a47c; padding: 17px 20px; border-radius: 3px; }
.nisi-app-screen .app-promise > blockquote { color: #485660; border-left: 0; padding-left: 0; font: 400 18px/1.5 Georgia, serif; margin: 17px 0; }
.nisi-app-screen .app-reception-drawer { background: #fbfcfc; }
.nisi-app-screen .app-upload { background: #f5f7f8; border: 1px dashed #b6a47c; border-radius: 3px; outline: none; }
.nisi-app-screen .app-received { border-color: var(--app-rule); border-radius: 3px; }
.nisi-app-screen .app-received blockquote { background: #f4f7f8; border-color: #b6a47c; }
.nisi-app-screen .app-matter-row { border-color: var(--app-rule) !important; }
.nisi-app-screen .app-matter-row:hover { background: #f3f6f7; }

/* Enlarged product previews keep the same interface materials. */
.interface-preview { background: #172735; color: #e5edf2; border-color: #a2b2bd66; border-radius: 5px; box-shadow: 0 14px 38px #08152226; }
.interface-preview:hover { border-color: #b6a47c; }
.interface-preview:focus-visible { outline-color: #b6a47c; }
.interface-preview > span { background: #172735; border-top: 1px solid #a2b2bd40; padding: 16px 19px; }
.interface-preview small { color: #c8b88f; }
.interface-dialog { background: #fbfcfc; color: #25333d; border-color: #a7b7c2; border-radius: 6px; }
.interface-dialog::backdrop { background: #0b1927cf; }
.interface-dialog .dialog-top { background: #172735; color: #c5d3dd; border-bottom: 1px solid #a2b2bd40; }
.interface-dialog .mini-wordmark { color: #f7fafc; }
.interface-dialog .close-dialog { color: #e5edf2; }
.interface-dialog .close-dialog:hover { background: #b6a47c; color: #172735; }
.interface-dialog .close-dialog:focus-visible { outline: 2px solid #b6a47c; outline-offset: 3px; }
.interface-dialog .dialog-footer { background: #f4f7f8; color: #5e6c75; border-top: 1px solid #d5dce0; }

@media (min-width: 601px) and (max-width: 1100px) {
  .cinema-machine .nisi-app-screen .app-scroll { padding-inline: 18px; }
  .cinema-machine .nisi-app-screen .app-page-body h3 { font-size: 32px !important; }
  .cinema-machine .nisi-app-screen .app-line-priority h4 { font-size: 21px !important; }
}
@media (max-width: 600px) {
  .nisi-app-screen .app-rail { padding: 17px 5px; }
  .nisi-app-screen .app-logo { padding-bottom: 17px; }
  .nisi-app-screen .app-scroll { padding: 16px 13px; }
  .nisi-app-screen .app-page-body h3 { font-size: 29px !important; }
  .nisi-app-screen .app-page-body h3.app-matter-title { font-size: 23px !important; }
  .nisi-app-screen .app-subtitle { font-size: 10px; }
  .nisi-app-screen .app-line-priority { grid-template-columns: 12px 1fr; gap: 7px; padding: 13px 11px; }
  .nisi-app-screen .app-line-priority h4 { font-size: 21px !important; }
  .nisi-app-screen .app-priority-actions { gap: 9px; }
  .nisi-app-screen .app-draft-layout { grid-template-columns: 1fr; }
  .nisi-app-screen .app-draft-review { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .nisi-app-screen .app-draft-review .app-primary { grid-column: 1/-1; margin-top: 0; }
  .nisi-app-screen .app-saved-featured strong { font-size: 17px; }
  .nisi-app-screen .app-draft-footnote { font-size: 8px; align-items: start; }
  .nisi-app-screen .app-line-footer { flex-wrap: wrap; gap: 9px; }
  .nisi-app-screen .app-today-layout { grid-template-columns: 1fr; gap: 0; }
  .nisi-app-screen .app-today-date > span:last-child { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .nisi-app-screen .app-primary, .interface-preview { transition: none; }
  .interface-preview:hover { transform: none; }
}
