/* ocloudhs colour tokens. Light is the default; dark follows the operating system unless the user chose a theme
   (header switch, stored in localStorage and mirrored in <html data-theme>). Loaded after every other stylesheet.
   Contrast (WCAG 2.2 AA, text 4.5:1): --ink on --surface 15:1 dark / 18:1 light; --muted on --surface 6.4:1 dark / 6.2:1 light;
   --accent on --surface 6.9:1 dark / 8.6:1 light; white on --uu-primary 6.3:1 dark / 9.4:1 light. */
:root{
  color-scheme:light;
  --surface:#fff;--surface-2:#faf8ff;--tint:#efe9fd;--canvas:#f4f1fb;--card:#fff;--line:#e6e2f0;
  --ink:#111;--muted:#5b5870;--accent:#4b17cc;--danger-text:#b02a12;--uu-orange:#b83a0a;--orange-fill:#b83a0a;
  --paper:var(--surface);--bg:var(--surface);--uu-line:var(--line);--uu-gray:var(--surface-2);--uu-ink:var(--ink);--uu-muted:var(--muted);
  --shadow:0 1px 2px #1d0f4f0d,0 8px 24px -12px #3a1d9a26;
  /* status colours: text on the matching -bg passes 4.5:1 in both themes */
  --ok:#1f7a3a;--ok-bg:#e3f6e8;--warn:#8a5300;--warn-bg:#fff1d6;--bad:#b02a12;--bad-bg:#fde8e3;--note:var(--accent);--note-bg:var(--tint);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --surface:#1a1630;--surface-2:#221d3d;--tint:#30284f;--canvas:#120f23;--card:#1f1a38;--line:#3a3360;
    --ink:#efecfa;--muted:#b4aed0;--accent:#b9a2ff;--danger-text:#ff9a7e;
    --uu-primary:#6a35f0;--uu-violet:#b9a2ff;--uu-lavender:#8d6ff0;--purple:#b9a2ff;
    --shadow:0 1px 2px #0006,0 8px 24px -12px #000a;
    --ok:#7fdc97;--ok-bg:#183a26;--warn:#ffc46b;--warn-bg:#3d2c10;--bad:#ff9a7e;--bad-bg:#45201a;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --surface:#1a1630;--surface-2:#221d3d;--tint:#30284f;--canvas:#120f23;--card:#1f1a38;--line:#3a3360;
  --ink:#efecfa;--muted:#b4aed0;--accent:#b9a2ff;--danger-text:#ff9a7e;
  --uu-primary:#6a35f0;--uu-violet:#b9a2ff;--uu-lavender:#8d6ff0;--purple:#b9a2ff;
  --shadow:0 1px 2px #0006,0 8px 24px -12px #000a;
  --ok:#7fdc97;--ok-bg:#183a26;--warn:#ffc46b;--warn-bg:#3d2c10;--bad:#ff9a7e;--bad-bg:#45201a;
}
html,body{background:var(--surface);color:var(--ink)}
body.workspace{background:var(--canvas)}
.eyebrow,.nav-label{color:var(--accent)}
a{color:inherit}
.errorlist,.error-text{color:var(--danger-text)}
input:not([type=checkbox]):not([type=radio]),textarea,select{background:var(--surface-2);color:var(--ink);border-color:var(--line)}
::placeholder{color:var(--muted);opacity:1}
.player-stage,.player-stage video{background:#000}
/* one focus ring for the whole app: thin and close to the control; fields draw it on their own border */
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0}

/* components whose light-only gradients or translucent whites need a themed counterpart */
.header{background:color-mix(in srgb,var(--surface) 94%,transparent)}
.secondary{background:var(--surface) linear-gradient(115deg,transparent 62%,var(--tint) 62%,var(--tint) 70%,transparent 70%,transparent 74%,var(--tint) 74%,var(--tint) 80%,transparent 80%);color:var(--ink);border-color:var(--line)}
.icon{color:inherit}

/* readable minimum sizes (the older stylesheets use 8-11 px for captions) */
footer,.version,.nav-label,.eyebrow,.count-badge,.sidebar-caption,.sidebar-bottom p,.sidebar-bottom small,.storage-label,.folder-card small,
.file-name-cell small,.recent-card p,.stat div>span,.today,.welcome-kicker,.welcome-link,.text-link,.reset-link,.section-heading p,.art-card small,.small,small{font-size:12px}
.brand small{font-size:10px}

/* WCAG fixes found by the axe audit (see docs/accessibility.md) */
.danger,.orange,.uu-orange,.bell b{background:var(--orange-fill);border-color:var(--orange-fill);color:#fff}   /* white on #b83a0a = 5.9:1 */
.uu-lav,.uu-lav .uu-stat span,.uu-lav .uu-more,.uu-lav h2{color:#111;opacity:1}                                  /* lavender is a light brand colour in both themes */
.uu-stat span{opacity:1}
.video-state{background:var(--uu-lime);color:#111}
.video-state.failed{background:var(--tint);color:var(--danger-text)}
.video-state.queued,.video-state.processing{background:var(--tint);color:var(--accent)}
.bulk-check{width:24px;height:24px;min-width:24px;min-height:24px}                                              /* WCAG 2.5.8 target size */
.table-scroll.scroll-x{overflow-x:auto;max-width:100%}
@media (max-width:900px){.table-scroll{overflow-x:auto;max-width:100%}.table-scroll:has(.row-menu){overflow:visible}}
@media (max-width:620px){.file-table .col-aux{display:none}}
@media (max-width:620px){.file-table{min-width:0}.file-table td,.file-table th{padding-left:10px;padding-right:10px}}
main:focus{outline:none}
