/* OTTO WERKS console identity. Kept separate from tool layout and business logic. */
html.otto-console {
  color-scheme: light;
  --bg:#fff; --panel:#fff; --panel2:#f3f5f6; --line:#dce2e5;
  --text:#20282c; --dim:#647177; --accent:#354b55; --accent-dim:#536b76;
  --green:#24734f; --red:#b13f36; --err:#b13f36; --yellow:#886019; --blue:#326c94;
  --surface:#fff; --plane:#f8fafb; --ink:#20282c; --ink-2:#56666e; --ink-3:#68767d;
  --hairline:#dce2e5; --border:#dce2e5; --blue-deep:#365c71; --blue-wash:#eaf1f5;
  --good:#24734f; --good-text:#24734f; --warn:#886019; --serious:#a35631; --critical:#b13f36;
  --good-wash:#edf6f0; --warn-wash:#fbf4e7; --serious-wash:#fbefe8; --critical-wash:#fcf0ee;
  --otto-frost:linear-gradient(145deg,rgba(255,255,255,.96),rgba(232,237,240,.65));
}
html.otto-console body { background:#fff; color:var(--text); }
.otto-console header { min-height:86px; padding:18px 30px; gap:20px; background:rgba(255,255,255,.9); border-color:#e7ebed; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
.otto-console header h1 { display:flex; align-items:center; gap:20px; margin:0; flex-wrap:wrap; }
.otto-console-logo { display:block; width:200px; max-width:100%; height:auto; }
.otto-console header .tool-name { color:var(--dim); font-size:11px; font-weight:550; letter-spacing:.13em; }
.otto-console button, .otto-console .btn { background:var(--otto-frost); color:var(--text); border:1px solid #d6dfe3; border-radius:8px; box-shadow:inset 0 1px 0 #fff,0 2px 7px #23303a06; font-family:inherit; transition:background .15s,border-color .15s,box-shadow .15s; }
.otto-console button:hover:not(:disabled), .otto-console .btn:hover:not(:disabled) { background:linear-gradient(145deg,#fff,#eaf0f3); border-color:#aab9c1; filter:none; }
.otto-console button.primary, .otto-console .btn.primary { background:var(--otto-frost); color:#273e49; border-color:#b8c7cf; }
.otto-console button.danger, .otto-console .btn.danger { color:var(--red); background:#fff4f2; border-color:#e5c1bb; }
.otto-console .btn.good { color:var(--green); background:var(--good-wash); border-color:#bbd5c6; }
.otto-console .btn.warn { color:var(--yellow); background:var(--warn-wash); border-color:#e5d3b2; }
.otto-console button.ghost { background:transparent; box-shadow:none; }
.otto-console input, .otto-console select, .otto-console textarea { color-scheme:light!important; font-family:inherit; }
.otto-console input::placeholder, .otto-console textarea::placeholder { color:#7b888f; }
.otto-console :is(input,select,textarea,button,a,summary):focus-visible { outline:2px solid #658392; outline-offset:3px; }
.otto-console .tabs button { background:transparent; box-shadow:none; border-radius:0; }
.otto-console .tabs button.active { background:#f1f5f7; }
.otto-console .tabBtn.on { background:#edf2f4; box-shadow:inset 0 1px 0 #fff; }
.otto-console .note { color:#4c5e67; }
.otto-console .tech-group, .otto-console .wrap, .otto-console .modal, .otto-console .tile { box-shadow:0 5px 20px #23303a04; }
.otto-console .tech-head, .otto-console tr.grpHead td { background:#f3f6f7; }
.otto-console .toast { box-shadow:0 8px 30px #23303a18; }
.otto-console .overlay { background:#35495755; backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
.otto-console .svc-select.missing { color:#92382f; background:#fff0ed; border-color:#c97a6d; }
.otto-console .rush-yes { background:#fff1e8; color:#9a4e22; border-color:#e9c0a1; }
.otto-console tbody tr.rush-row td:first-child { box-shadow:inset 3px 0 0 #bd713d; }
.otto-console .msg.err { color:#923c33; background:#fff4f2; }
.otto-console .msg.info { background:#f3f6f8; }
.otto-console .bubble { color:var(--green); background:#eef7f1; border-color:#bdd9c7; }
.otto-console .wnav-btn { flex:0 0 36px; width:36px; height:36px; padding:0; color:#3c535f; border-color:#dce3e7; background:var(--otto-frost); border-radius:8px; }
.otto-console .wnav-drawer { background:rgba(255,255,255,.97); border-color:#dce3e7; backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); }
.otto-console .wnav-drawer.wnav-open { box-shadow:8px 0 40px #27343d19; }
.otto-console .wnav-brand { padding:16px 20px 30px; color:var(--text); }
.otto-console .wnav-brand .otto-console-logo { width:185px; }
.otto-console .wnav-item { color:#586b75; padding-top:13px; padding-bottom:13px; }
.otto-console .wnav-ico svg { width:18px; height:18px; display:block; }
.otto-console .wnav-item:hover { color:#273d49; background:#f2f5f7; }
.otto-console .wnav-item.wnav-active { color:#273d49; background:#edf2f4; box-shadow:inset 2px 0 0 #78909d; }
.otto-console .wnav-home, .otto-console .wnav-foot { border-color:#e2e8eb; }
.otto-console .wnav-sec { color:#697c86; }
.otto-console .wnav-signout { color:var(--text); background:var(--otto-frost); border-color:var(--line); }
.otto-console .wnav-backdrop { background:#35495755; backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); }
/* The gate remains opaque; only its visual treatment changes. */
.otto-console #wgate { background:#f8fafb!important; color:var(--text)!important; }
.otto-console #wgate>div { background:#ffffffd9!important; border-color:#dfe5e8!important; width:370px!important; max-width:90vw; box-shadow:0 20px 70px #21323d0b; }
.otto-console #wgate h1 { display:flex; justify-content:center; margin-bottom:18px!important; }
.otto-console #wgate h1 img { width:220px; }
.otto-console #wgate p { color:#65767f!important; }
.otto-console #wgate-pw { background:#fff!important; color:var(--text)!important; border-color:#d5dfe4!important; }
.otto-console #wgate-go { background:var(--otto-frost)!important; color:#344b57!important; border-color:#c7d3d9!important; }
.otto-console #wgate #wgate-err { color:#a13e32!important; }
/* Home has space to breathe; operational screens keep their familiar density. */
html[data-otto-page="home"] main { max-width:1050px; padding:64px 38px 36px; }
.otto-welcome { font-size:clamp(30px,4vw,43px); font-weight:450; line-height:1.15; letter-spacing:-.045em; margin:0 0 16px; }
html[data-otto-page="home"] .lead { font-size:16px; margin-bottom:38px; }
html[data-otto-page="home"] main>.grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
html[data-otto-page="home"] .card { position:relative; background:linear-gradient(135deg,#fff 5%,#f0f4f6b3 85%); border-color:#dce3e7; border-radius:13px; padding:30px 32px 36px; box-shadow:inset 0 1px 0 #fff,0 12px 30px #26343d06; }
html[data-otto-page="home"] .card:hover { border-color:#aabac3; box-shadow:0 15px 34px #26343d0c; }
html[data-otto-page="home"] .card .ico { color:#657a85; height:24px; margin-bottom:26px; }
html[data-otto-page="home"] .card h2 { font-size:22px; font-weight:500; letter-spacing:-.025em; margin:0 0 10px; }
html[data-otto-page="home"] .card p { font-size:13px; line-height:1.65; max-width:340px; padding-right:12px; }
html[data-otto-page="home"] .card::after { content:'↗'; position:absolute; right:25px; top:26px; color:#7b8c95; font-size:20px; }
html[data-otto-page="home"] footer { color:#7a8990; font-size:11px; }
html[data-otto-page="invoices"] main { max-width:640px; padding-top:52px; }
html[data-otto-page="invoices"] form { padding:30px; border-radius:12px; box-shadow:0 12px 40px #26343d07; background:#fafbfc; }
html[data-otto-page="invoices"] .lede { font-size:15px; line-height:1.65; margin-bottom:26px; }
html[data-otto-page="invoices"] input { background:white; }
html[data-otto-page="invoices"] #go { margin-top:8px; }
/* Parts Hub is a compact app sharing this identity through its existing scripts. */
html[data-otto-page="partshub"] body { background:#fafcfd; }
html[data-otto-page="partshub"] header { min-height:78px; padding:16px; gap:12px; }
html[data-otto-page="partshub"] header>.logo { display:none; }
html[data-otto-page="partshub"] .titles .otto-console-logo { width:175px; }
html[data-otto-page="partshub"] .titles .sub { margin-top:7px; font-size:10px; letter-spacing:.06em; }
html[data-otto-page="partshub"] .ic.issue, html[data-otto-page="partshub"] .tag.warn { color:#886019; }
html[data-otto-page="partshub"] .tag.serious { color:#a35631; }
html[data-otto-page="partshub"] .screen-head h2 { font-weight:550; font-size:24px; letter-spacing:-.035em; }
html[data-otto-page="partshub"] .action-btn { background:var(--otto-frost); }
html[data-otto-page="partshub"] .action-btn .t { font-weight:550; }
html[data-otto-page="partshub"] .action-btn .ic { background:#eef3f6; color:#4f6a79; }
html[data-otto-page="partshub"] #demo-banner { background:var(--warn-wash); color:#795720; }
/* Tools retain control of hidden panels, gates and TV mode. */
@media(max-width:650px) {
  .otto-console header { padding:16px 18px; gap:14px; min-height:74px; flex-wrap:wrap; }
  .otto-console-logo { width:166px; }
  html[data-otto-page="home"] main { padding:38px 20px 24px; }
  html[data-otto-page="home"] main>.grid { grid-template-columns:1fr; gap:14px; }
  html[data-otto-page="home"] .card { padding:24px; }
  html[data-otto-page="home"] .card .ico { margin-bottom:18px; }
  html[data-otto-page="invoices"] main { padding:30px 20px; }
  html[data-otto-page="invoices"] form { padding:22px; }
  html[data-otto-page="timeclocks"] .datebar { flex-wrap:wrap; }
  html[data-otto-page="partshub"] header { flex-wrap:nowrap; }
}
@media(prefers-reduced-motion:reduce) { .otto-console *, .otto-console *::before, .otto-console *::after { animation:none!important; transition:none!important; } }
