/* Preread — app.css. Owner-app screens on top of tokens.css + base.css (design handoff, Notebook direction).
   Per-screen rules transplanted from design/handoff/app-*.html so templates carry no inline styles. */

/* Page header row shared by app screens */
.page-head{margin-bottom:var(--space-5)}
.page-head h1{font-size:var(--text-h1)}
.page-head .meta{margin-top:var(--space-1)}
.notice{margin-bottom:var(--space-4)}
.notice-warn{color:var(--color-danger)}
.notice a{color:inherit}
.filters{display:flex;gap:var(--space-1) var(--space-3);flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--text-xs);margin-bottom:var(--space-4)}
.filters a{color:var(--color-fg-muted);text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
.filters a[aria-current="page"]{color:var(--color-fg);font-weight:500;text-decoration:underline;text-underline-offset:4px}
.inline-form{display:inline}
.status-badge[data-status="queued"]::before{content:"○"}
.status-badge[data-status="cancelled"]{color:var(--color-fg-faint)}
.status-badge[data-status="cancelled"]::before{content:"×"}
label.check{display:flex;align-items:center;gap:var(--space-2);min-height:var(--tap-min);margin:0;font-family:var(--font-body);font-size:14px;color:var(--color-fg)}
label.check input{width:auto;min-height:0}
.field + .field{margin-top:var(--space-3)}
.field-inline{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:0}
.field-inline input[type="number"]{width:7rem}

/* Queue (app-queue.html) */
.queue{list-style:none;padding:0}
.queue-day{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-muted);padding:var(--space-5) 0 var(--space-2);border-bottom:var(--border-strong)}
.queue-day:first-child{padding-top:0}
.queue-row{display:grid;grid-template-columns:var(--gutter) 1fr;column-gap:var(--gutter-gap);padding:var(--space-3) 0;border-bottom:var(--border-hair);text-decoration:none;color:inherit;min-height:var(--tap-min)}
.queue-row:hover{background:var(--color-wash)}
.queue-row time{padding-top:2px;font-variant-numeric:tabular-nums;color:var(--color-fg);white-space:nowrap}
.queue-row .title{font-size:14px;line-height:1.4}
.queue-row .who{font-size:13px;color:var(--color-fg-muted);margin-top:2px}
.queue-row .status-badge{margin-top:var(--space-1)}
.queue-row[data-status="skipped"] .title,.queue-row[data-status="cancelled"] .title{color:var(--color-fg-faint)}
.pending{font-family:var(--font-mono);font-size:var(--text-sm)}
.pending strong{font-weight:500}
.empty{padding:var(--space-7) 0;color:var(--color-fg-muted);font-size:14px}
@media (min-width:900px){
  .queue-row{grid-template-columns:var(--gutter) 1fr 200px 140px;align-items:baseline}
  .queue-row .status-badge{margin:0}
  .queue-row .prompt{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-muted)}
}
@media (max-width:899px){.queue-row .prompt{display:none}}

/* Review (app-review.html) */
.review-section{margin-top:var(--space-7)}
.review-section:first-of-type{margin-top:0}
.review-section > .g > h2{grid-column:2}
.review-section > .g + .g{margin-top:var(--space-4)}
.event{font-size:14px}
.event dt{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:var(--space-3)}
.event dt:first-child{margin-top:0}
.event dd{margin:2px 0 0}
.prompt-selection{border:var(--border-hair);border-radius:var(--radius-1)}
.prompt-selection header{padding:var(--space-3) var(--space-4);border-bottom:var(--border-hair);display:grid;gap:var(--space-2)}
.prompt-selection .handle{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500}
.prompt-selection .reason{font-size:14px;color:var(--color-fg-muted)}
.prompt-selection .reason::before{content:"selector: ";font-family:var(--font-mono);font-size:var(--text-xs)}
.prompt-selection select{max-width:360px}
.prompt-editor{padding:var(--space-4)}
.prompt-editor textarea{border:0;padding:0;background:transparent;min-height:260px}
.prompt-editor footer{margin-top:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);align-items:center}
.prompt-editor footer .hint{margin:0;flex-basis:100%}
.prompt-editor footer .field{flex-basis:100%}
.version-switcher{display:flex;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-sm);flex-wrap:wrap}
.version-switcher a{text-decoration:none;color:var(--color-fg-muted);min-width:var(--tap-min);min-height:var(--tap-min);display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-1)}
.version-switcher a[aria-current]{color:var(--color-fg);border-color:var(--color-fg)}
.version-switcher a[data-published]::after{content:"¶";margin-left:4px;font-size:var(--text-xs)}
.brief-frame{border:var(--border-hair);border-radius:var(--radius-1);overflow:hidden;position:relative}
.brief-frame .brief-header{padding:var(--space-5) var(--space-4) var(--space-4)}
.brief-frame .brief-body{padding:var(--space-4) var(--space-4) var(--space-5)}
.brief-frame .shape{display:none}
.brief-frame .preread-footer{margin-top:var(--space-5)}
.frame-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-muted);padding:var(--space-2) var(--space-4);border-bottom:var(--border-hair);background:var(--color-surface-sunken)}
.private-commentary{background:var(--color-surface-sunken);border-radius:var(--radius-1);padding:var(--space-4)}
.private-commentary > .meta{font-weight:500;color:var(--color-fg);margin-bottom:var(--space-3)}
.private-commentary p{font-size:14px;color:var(--color-fg);text-wrap:pretty}
.private-commentary p + p{margin-top:var(--space-3)}
.private-commentary ul{padding-left:1.2em;font-size:14px}
.sources{margin-top:var(--space-4);border-top:var(--border-hair);padding-top:var(--space-2)}
.sources ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-2);font-size:13px;margin-top:var(--space-2)}
.sources li{display:grid;grid-template-columns:56px 1fr;column-gap:var(--space-3)}
.sources li span:first-child{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-muted);padding-top:2px}
.version-meta{margin-top:var(--space-3)}
.raw-meta pre{font-family:var(--font-mono);font-size:12px;white-space:pre-wrap;background:var(--color-surface-sunken);padding:var(--space-3);border-radius:var(--radius-1)}
.btn-approve{position:relative;overflow:hidden;user-select:none}
.btn-approve::after{content:"";position:absolute;inset:0;background:var(--color-bg);opacity:.25;transform:scaleX(0);transform-origin:left}
.btn-approve.is-holding::after{transform:scaleX(1);transition:transform var(--dur-slow) linear}
.btn-approve.is-done{background:var(--color-surface);color:var(--color-fg)}
.action-hint{text-align:right}
.log-list{list-style:none;padding:0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-muted);display:flex;flex-direction:column;gap:2px}
@media (min-width:900px){.review-section > .g{grid-template-columns:var(--gutter) minmax(0,1fr)}}

/* Prompt library (app-prompts.html) */
.prompt-library{list-style:none;padding:0;border-top:var(--border-strong)}
.prompt-library a{display:grid;grid-template-columns:var(--gutter) 1fr;column-gap:var(--gutter-gap);padding:var(--space-4) 0;border-bottom:var(--border-hair);text-decoration:none;color:inherit}
.prompt-library a:hover{background:var(--color-wash)}
.prompt-library .handle{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;padding-top:2px}
.prompt-library .handle-inline{display:none}
@media (max-width:899px){
  .prompt-library .handle{display:none}
  .prompt-library .handle-inline{display:inline;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-muted);font-weight:400;margin-left:var(--space-2)}
  .prompt-library a{grid-template-columns:var(--gutter) 1fr}
  .prompt-library a > div:first-of-type{grid-column:2}
  .prompt-library .facts{grid-column:2}
}
.prompt-library .name{font-size:15px;font-weight:500}
.prompt-library .desc{font-size:14px;color:var(--color-fg-muted);margin-top:2px}
.prompt-library .facts{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:var(--space-2);display:flex;gap:var(--space-3);flex-wrap:wrap}
.prompt-library .default::after{content:"default";font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;color:var(--color-fg-muted);border:var(--border-hair);border-radius:var(--radius-1);padding:1px 6px;margin-left:var(--space-2);vertical-align:middle}
.prompt-library .archived .name{color:var(--color-fg-faint);font-weight:400}
@media (min-width:900px){
  .prompt-library a{grid-template-columns:var(--gutter) 1fr 260px;align-items:start}
  .prompt-library .facts{margin:0;flex-direction:column;gap:2px;padding-top:2px}
}

/* Prompt page (app-prompt.html) */
.prompt-page .prompt-editor{padding:0}
.prompt-page .prompt-editor textarea{min-height:360px;border:var(--border-hair);padding:10px var(--space-3)}
.version-history{list-style:none;padding:0;border-top:var(--border-strong)}
.version-history > li{border-bottom:var(--border-hair)}
.version-history summary{padding:var(--space-2) 0;gap:var(--space-3)}
.version-history .v{font-weight:500;min-width:3ch}
.version-history .when{color:var(--color-fg-muted);font-size:var(--text-xs)}
.version-history .note{font-family:var(--font-body);font-size:14px;color:var(--color-fg)}
.diff{font-family:var(--font-mono);font-size:12px;line-height:1.6;background:var(--color-surface-sunken);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-3);white-space:pre-wrap;border-radius:var(--radius-1)}
.diff ins{text-decoration:none;background:var(--color-bg);outline:1px solid var(--color-fg)}
.diff del{color:var(--color-fg-faint);text-decoration:line-through}
.test{border:var(--border-hair);border-radius:var(--radius-1);padding:var(--space-4)}
.test .result{margin-top:var(--space-3);font-size:14px}
.two{display:grid;gap:var(--space-7)}
.two > aside{margin-top:0}
@media (min-width:900px){.two{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.two > aside{margin-top:var(--space-7)}}

/* Selector (app-selector.html) */
.selector-editor{display:grid;grid-template-columns:var(--gutter) 1fr;column-gap:var(--gutter-gap)}
.selector-editor .lines{font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--color-fg-faint);text-align:right;padding:10px 0;white-space:pre;user-select:none}
.selector-editor textarea{min-height:440px;border:0;border-left:var(--border-hair);border-radius:0;padding:10px 0 10px var(--space-4);background:transparent}
.handles{list-style:none;padding:0;border-top:var(--border-strong);font-size:14px}
.handles li{display:grid;grid-template-columns:140px 1fr;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:var(--border-hair);align-items:start}
.handles .mono{font-size:var(--text-sm);font-weight:500}
.handles .muted{font-size:13px}
.handles button{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-align:left;min-height:var(--tap-min);text-decoration:underline;text-decoration-color:var(--color-rule)}
.dry-run{border:var(--border-hair);border-radius:var(--radius-1);padding:var(--space-4)}
.dry-run .result{margin-top:var(--space-4);border-top:var(--border-hair);padding-top:var(--space-3);font-size:14px}
.dry-run .result .handle{font-family:var(--font-mono);font-weight:500}
.dry-run .trace{margin-top:var(--space-3);font-family:var(--font-mono);font-size:12px;color:var(--color-fg-muted);white-space:pre-wrap}
.log{width:100%}
.log td:first-child{white-space:nowrap}
.log .reason{color:var(--color-fg-muted);font-size:13px}

/* Settings (no handoff screen; base + gutter headings) */
.settings-section{margin-top:var(--space-7)}
.settings-section > .g > h2{grid-column:2}
.settings-section > .g + .g{margin-top:var(--space-4)}
.settings-section dl{font-size:14px;margin:0}
.settings-section dt{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:var(--space-3)}
.settings-section dt:first-child{margin-top:0}
.settings-section dd{margin:2px 0 0}
.scope-list{list-style:none;padding:0;font-family:var(--font-mono);font-size:var(--text-xs)}
.settings-form fieldset{border:0;padding:0;margin:0}
.settings-form legend{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-muted);margin-bottom:var(--space-2)}

/* Sign-in / sign-up (signup.html) */
.steps-nav{display:flex;gap:var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-muted);margin-bottom:var(--space-6);flex-wrap:wrap}
.steps-nav .is-active{color:var(--color-fg);font-weight:500}
.permission{border-top:var(--border-hair);padding:var(--space-4) 0}
.permission .why{font-size:14px;color:var(--color-fg-muted);margin-top:var(--space-1)}
.state{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-muted)}
.scroll{overflow-x:auto}

/* Studio */
.studio .brief-frame{max-height:none}
.nudges{gap:var(--space-2)}
.nudges .btn{min-height:36px;padding:0 var(--space-3);font-weight:400}
.studio-dials select,.studio-react textarea,.studio-save input,.studio-save textarea{width:100%}

/* Admin */
.admin-nav{display:flex;gap:var(--space-3);flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--text-xs);border-bottom:var(--border-hair);padding-bottom:var(--space-3);margin-bottom:var(--space-5)}
.admin-nav a{color:var(--color-fg-muted);text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
.admin-nav a[aria-current="page"]{color:var(--color-fg);font-weight:500;text-decoration:underline;text-underline-offset:4px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--color-rule);border:var(--border-hair);margin:var(--space-4) 0}
.kpi{background:var(--color-bg);padding:var(--space-3) var(--space-4)}
.kpi .n{font-family:var(--font-mono);font-size:var(--text-h1);font-weight:500;font-variant-numeric:tabular-nums}
.kpi .l{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-fg-muted);margin-top:2px}
.chart svg{display:block;margin-bottom:var(--space-3)}
.admin-table{font-size:13px}
.admin-table td,.admin-table th{white-space:nowrap;max-width:24rem;overflow:hidden;text-overflow:ellipsis}
.request-form input,.request-form textarea{width:100%}
