/* Content Library · page layer on the Aurora shell (shell/aurora.css loads first).
   This file maps the page vocabulary onto the shell tokens and styles the data surfaces: solid white, no blur,
   comfortable density only. */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
:root{
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --panel:#F8F9FB;--panel-2:#F1F3F6;
  --line:var(--stroke);--line-2:var(--stroke-2);--line-soft:rgba(16,24,40,.06);
  --accent:var(--brand);--accent-700:var(--brand-ink);--accent-800:var(--brand-deep);
  --accent-50:rgba(68,112,222,.08);--accent-100:rgba(68,112,222,.16);--accent-200:rgba(68,112,222,.34);
  --ok-100:rgba(46,158,120,.3);--review:var(--info);--review-bg:var(--info-bg);--review-100:rgba(68,112,222,.24);
  --fs:14px;--row-h:var(--h-row);
  --shadow-panel:var(--shadow-float);
  --shadow-tray:var(--shadow-panel);
  --z-sticky:3;--z-peek:20;--z-drawer:30;--z-tray:40;--z-menu:60;--z-sheet:64;--z-tip:80;--z-toast:90;
  accent-color:var(--brand);
}
html,body{height:100%}
body{overflow:hidden;font-size:var(--fs);line-height:1.45}
button{margin:0;text-align:inherit;letter-spacing:inherit}
button:disabled{cursor:not-allowed}
h4{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
dl,dd,dt{margin:0}
img{display:block}
.mono{font-family:var(--font);font-variant-numeric:tabular-nums;letter-spacing:0}
.mono.wrap,.code{font-family:var(--mono);font-size:12.5px;word-break:break-all}
.num,.grid td,.d-dl dd{font-variant-numeric:tabular-nums}
.trunc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;min-width:0}
.lucide{width:16px;height:16px;flex:none}
.spin{animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.vsep{width:1px;height:20px;background:var(--line);flex:none}

/* ---------- frame: one full-height card inside the shell ---------- */
.app>.main{display:flex;flex-direction:column;overflow:hidden}
.app>.main>.top{flex:none}
.page{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:0}
.card{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;background:var(--surface);overflow:hidden;position:relative}
.top .btn{background:none;box-shadow:none}
.top .btn:hover{background:var(--fill)}
.btn.demo-btn{outline:1px dashed var(--stroke-2);outline-offset:-1px;background:transparent;box-shadow:none;color:var(--ink-3);font-weight:500;gap:var(--s-1);padding:0 var(--s-3) 0 var(--s-3)}
.demo-btn:hover{background:var(--fill);color:var(--ink)}
.demo-btn .lbl{display:inline-flex;align-items:center;gap:var(--s-1)}
.demo-btn .lbl b{color:var(--ink);font-weight:600}
.demo-btn>.lucide:first-child{width:15px;height:15px}

/* ---------- controls (page vocabulary on the shell's scales) ---------- */
.btn{height:var(--h-md);padding:0 var(--s-3);border:0;border-radius:var(--r-2);background:var(--surface);color:var(--ink);font-size:13.5px;font-weight:550;box-shadow:var(--shadow-sm);white-space:nowrap;flex:none;gap:var(--s-2);transition:background-color var(--dur),color var(--dur),box-shadow var(--dur),transform var(--dur) var(--ease)}
.btn:hover{background:#F8F9FB;color:var(--ink)}
.btn .lucide{width:16px;height:16px}
.btn.ghost{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--ink-2)}
.btn.ghost:hover{background:var(--fill);color:var(--ink)}
.btn.soft{background:var(--accent-50);box-shadow:inset 0 0 0 1px var(--accent-200);color:var(--accent-800)}
.btn.soft:hover{background:var(--accent-100)}
.btn.danger{color:var(--danger);box-shadow:inset 0 0 0 1px rgba(216,70,92,.4);background:var(--surface)}
.btn.danger:hover{background:var(--danger-bg)}
.btn.primary.danger{background:var(--alert);box-shadow:none;color:#fff}
.btn.sm{height:var(--h-sm);padding:0 var(--s-3);font-size:13px}
.btn.lg{height:44px;padding:0 var(--s-5);font-size:14px}
.btn.pg{height:var(--h-sm);padding:0 var(--s-2);min-width:var(--h-sm)}
.btn:disabled{opacity:.45;box-shadow:var(--shadow-sm);background:var(--surface)}
.btn .badge{font-size:12px;min-width:18px;height:18px;padding:0 var(--s-1);border-radius:var(--r-2);background:var(--accent-100);color:var(--accent-800);box-shadow:none;display:inline-grid;place-items:center;font-variant-numeric:tabular-nums}
.ib{display:inline-grid;place-items:center;width:var(--h-sm);height:var(--h-sm);border-radius:var(--r-2);color:var(--ink-3);flex:none;transition:background-color var(--dur),color var(--dur)}
.ib:hover{background:var(--fill);color:var(--ink)}
.ib .lucide{width:16px;height:16px}
.ib.xs{width:24px;height:24px}
.ib.xs .lucide{width:14px;height:14px}
.ib.bordered{box-shadow:var(--shadow-sm);background:var(--surface);width:var(--h-md);height:var(--h-md)}
.ib.ok:hover{background:var(--ok-bg);color:var(--ok)}
.ib.warn:hover{background:var(--warn-bg);color:var(--warn)}
.ib.danger:hover{background:var(--danger-bg);color:var(--danger)}
.ib[aria-expanded=true]{background:var(--fill-2);color:var(--ink)}
.linkbtn{font-size:inherit;color:var(--accent-800);font-weight:600;white-space:nowrap;border-radius:var(--s-1)}
.linkbtn:hover{text-decoration:underline}
.seg{height:var(--h-md);align-items:center}
.seg button{min-width:var(--h-sm);display:inline-flex;align-items:center;justify-content:center;gap:var(--s-1);white-space:nowrap}
.seg button .lucide{width:16px;height:16px}
.seg .n{font-size:12px;color:var(--ink-3)}
.sq{position:relative;display:block;width:280px;min-width:0}
.sq input{width:100%;height:var(--h-md);border:0;border-radius:var(--r-2);padding:0 36px 0 34px;font-size:13.5px;color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1px var(--stroke-2);outline:none;transition:background-color var(--dur),box-shadow var(--dur)}
.sq input::placeholder{color:var(--ink-4)}
.sq input::-webkit-search-cancel-button{display:none}
.sq input:hover{box-shadow:inset 0 0 0 1px rgba(16,24,40,.2)}
.sq input:focus{background:var(--surface);box-shadow:inset 0 0 0 1px var(--brand),var(--ring)}
.sq .s-ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--ink-3);pointer-events:none}
.sq .s-k{position:absolute;right:9px;top:50%;transform:translateY(-50%);pointer-events:none;display:inline-grid}
.sq .s-x{position:absolute;right:6px;top:50%;transform:translateY(-50%)}
.sq input:not(:placeholder-shown)~.s-k{display:none}
.fld{display:flex;flex-direction:column;gap:var(--s-1);font-size:13px;color:var(--ink-2)}
.fld>span{font-weight:600}
.fld input,.fld textarea,.fld select{width:100%;border:0;border-radius:var(--r-2);padding:var(--s-2) var(--s-3);font-size:13.5px;background:var(--surface);color:var(--ink);outline:none;resize:vertical;box-shadow:inset 0 0 0 1px var(--stroke-2);transition:box-shadow var(--dur)}
.fld input:focus,.fld textarea:focus,.fld select:focus{box-shadow:inset 0 0 0 1px var(--brand),var(--ring)}
.cb{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid rgba(16,24,40,.28);border-radius:4px;background:var(--surface);margin:0;cursor:pointer;flex:none;display:inline-block;transition:background-color .1s,border-color .1s}
.cb:hover{border-color:var(--brand)}
.cb:checked,.cb:indeterminate{background-color:var(--brand);border-color:var(--brand);background-repeat:no-repeat;background-position:center;background-size:11px}
.cb:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E")}
.cb:indeterminate{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M4 8h8'/%3E%3C/svg%3E")}
.chip{display:inline-flex;align-items:stretch;height:var(--h-sm);padding:0;border-radius:var(--r-2);background:var(--surface);box-shadow:inset 0 0 0 1px var(--stroke-2);flex:none;font-size:13px;font-weight:500;gap:0}
.chip-m{display:inline-flex;align-items:center;gap:var(--s-1);padding:0 var(--s-2) 0 var(--s-3);border-radius:var(--r-2) 0 0 var(--r-2);white-space:nowrap}
.chip-m:hover{background:var(--fill)}
.chip-m .k{color:var(--ink-3)}
.chip-m .v{color:var(--ink);font-weight:550;max-width:170px;overflow:hidden;text-overflow:ellipsis}
.chip-x{display:grid;place-items:center;width:28px;color:var(--ink-3);border-radius:0 var(--r-2) var(--r-2) 0}
.chip-x:hover{background:var(--fill);color:var(--ink)}
.chip-x .lucide{width:13px;height:13px}

/* ---------- data primitives ---------- */
.th{display:inline-grid;place-items:center;position:relative;border-radius:6px;flex:none;overflow:hidden;color:var(--tl-fg);background:var(--tl-bg)}
.th-xs{width:22px;height:22px;border-radius:5px}.th-xs .lucide{width:12px;height:12px}
.th-sm{width:30px;height:22px}.th-sm .lucide{width:13px;height:13px}
.th-md{width:44px;height:30px;border-radius:5px}.th-md .lucide{width:16px;height:16px}
.th-lg,.th-tile{width:64px;height:44px;border-radius:8px}.th-lg .lucide,.th-tile .lucide{width:20px;height:20px}
.tl-lines{display:flex;flex-direction:column;gap:2px;width:55%}
.tl-lines i{display:block;height:2px;border-radius:1px;background:currentColor;opacity:.75}
.tl-lines i:nth-child(2){width:80%}.tl-lines i:nth-child(3){width:60%}
.tl-wave{display:flex;align-items:center;gap:1.5px;height:60%}
.tl-wave i{display:block;width:2px;border-radius:1px;background:currentColor;opacity:.8}
.tl-wave i:nth-child(1){height:35%}.tl-wave i:nth-child(2){height:75%}.tl-wave i:nth-child(3){height:100%}.tl-wave i:nth-child(4){height:55%}.tl-wave i:nth-child(5){height:80%}
/* one colour per content type: soft tint for covers, deep ink for glyphs */
.t-page{--tl-bg:#E8F0FE;--tl-fg:#2F62D9;--tl-cover:#BFD3FB}
.t-assignment{--tl-bg:#FFF1E0;--tl-fg:#C2610C;--tl-cover:#FAD2A6}
.t-image{--tl-bg:#E3F6F1;--tl-fg:#0F8A6E;--tl-cover:#B3E6D8}
.t-video{--tl-bg:#EEEBFD;--tl-fg:#6246D8;--tl-cover:#6A57D6}
.t-audio{--tl-bg:#FDE9F2;--tl-fg:#C2387A;--tl-cover:#F4B8D2}
.t-doc{--tl-bg:#E6F3FA;--tl-fg:#1D7FB8;--tl-cover:#B5DBF0}
.t-zip{--tl-bg:#FDF5DB;--tl-fg:#9A7406;--tl-cover:#F1DC95}
.tc{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-2);white-space:nowrap}
.tc .lucide{width:13px;height:13px;color:var(--tl-fg)}
.av{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;font-size:10px;font-weight:600;flex:none;letter-spacing:.02em;font-family:var(--font);box-shadow:none}
.av.lg{width:36px;height:36px;font-size:12.5px}
.av.sm{width:20px;height:20px;font-size:8.5px}
.st{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--ink-2);font-size:12.5px}
.st i{width:8px;height:8px;border-radius:50%;flex:none;background:var(--st);box-shadow:0 0 0 1px var(--st-ring, transparent) inset}
.st-published{--st:#3AA37E}
.st-review{--st:#5B82E8}
.st-changes{--st:#D9A441}
.st-draft{--st:transparent;--st-ring:#8A93A8}
.st-archived{--st:#C5CBD8}
.st-scheduled{--st:transparent;--st-ring:var(--accent)}
.st-processing{--st:var(--accent)}.st-processing i{animation:pulse 1.2s ease-in-out infinite}
.st-failed{--st:#DC2626}
@keyframes pulse{50%{opacity:.35}}
.n{font-size:12px;font-weight:500;color:var(--ink-3);background:var(--fill);border-radius:5px;padding:0 5px;min-width:20px;text-align:center;font-variant-numeric:tabular-nums;line-height:18px;display:inline-block}
.n.rv{background:var(--brand-tint);color:var(--brand-ink)}
.tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:5px;background:var(--panel-2);color:var(--ink-2);font-size:12px;white-space:nowrap}
.tag.add{background:transparent;border:1px dashed var(--line-2);color:var(--ink-3)}
.tag.add:hover{border-color:#9AA3B0;color:var(--ink)}
.tag .lucide{width:12px;height:12px}
.tags{display:flex;flex-wrap:wrap;gap:6px}

/* ---------- tabs / toolbar / chips ---------- */
.tabs{container-type:inline-size;display:flex;align-items:stretch;height:44px;flex:0 0 44px;padding:0 var(--s-6) 0 var(--s-3);border-bottom:1px solid var(--line);background:var(--surface)}
.tablist{display:flex;align-items:stretch;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}
.tablist::-webkit-scrollbar{display:none}
.tab{display:inline-flex;align-items:center;gap:var(--s-2);padding:0 var(--s-3);font-size:13.5px;font-weight:500;color:var(--ink-3);position:relative;white-space:nowrap;border-radius:var(--r-2) var(--r-2) 0 0}
.tab:hover{color:var(--ink)}
.tab:focus-visible{outline-offset:-2px}
.tab .lucide{width:14px;height:14px}
.tab[aria-selected=true]{color:var(--ink);font-weight:550}
.tab[aria-selected=true]::after{content:"";position:absolute;left:var(--s-2);right:var(--s-2);bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--ink)}
.tab[aria-selected=true] .n{background:var(--fill-2);color:var(--ink-2)}
.toolbar{display:grid;grid-template-columns:auto auto auto minmax(0,1fr) auto;grid-template-areas:"s f d v a" "c c c c c";align-items:center;column-gap:var(--s-2);min-height:60px;padding:var(--s-3) var(--s-6);border-bottom:1px solid var(--line)}
.tools{display:flex;align-items:center;gap:4px;flex:none}
.acts{display:flex;align-items:center;gap:var(--s-2);flex:none;margin-left:auto}
.chips{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;min-width:0;padding:4px 3px;flex:1 1 auto}
.chips::-webkit-scrollbar{display:none}
.bulk{position:absolute;inset:0;display:flex;align-items:center;gap:var(--s-2);padding:0 var(--s-6);background:var(--surface);z-index:2}
.b-count{display:inline-flex;align-items:center;gap:var(--s-2);font-weight:600;color:var(--ink);padding:0 var(--s-3) 0 var(--s-1);margin-right:var(--s-1);border-right:1px solid var(--stroke-2);height:var(--h-sm);white-space:nowrap}
.b-count .mono{font-size:12.5px}

/* ---------- table ---------- */
.gwrap{flex:1 1 auto;min-height:0;overflow:auto;position:relative;overscroll-behavior:contain}
table.grid{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:var(--fs)}
.grid thead th{position:sticky;top:0;z-index:var(--z-sticky);height:36px;background:var(--surface);border-bottom:1px solid var(--line);text-align:left;font-size:12px;font-weight:550;color:var(--ink-3);padding:0 var(--s-3);white-space:nowrap}
.grid td{height:var(--row-h);padding:0 var(--s-3);border-bottom:1px solid var(--line-soft);background:var(--rb);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}
.grid tbody tr{--rb:var(--surface);scroll-margin-top:33px;cursor:default}
.grid tbody tr:hover{--rb:#FAFBFC}
.grid tbody tr.sel{--rb:#F5F8FE}
.grid tbody tr.sel:hover{--rb:#EFF3FD}
.grid tbody tr.open{--rb:var(--accent-50)}
.grid tbody tr.new td{animation:rowin .9s ease-out}
@keyframes rowin{from{background:var(--accent-100)}}
.grid tbody tr:focus{outline:none}
.grid tbody tr:focus-visible td{box-shadow:inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent)}
.grid tbody tr:focus-visible td:first-child{box-shadow:inset 2px 0 0 var(--accent),inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent)}
.grid tbody tr:focus-visible td:last-child{box-shadow:inset -2px 0 0 var(--accent),inset 0 2px 0 var(--accent),inset 0 -2px 0 var(--accent)}
.grid .c-sel{width:44px;padding:0}
.cbw{display:flex;align-items:center;justify-content:center;height:100%;min-height:30px;cursor:pointer}
.sort{display:inline-flex;align-items:center;gap:4px;font-weight:inherit;color:inherit;height:24px;padding:0 5px;margin-left:-5px;border-radius:4px;white-space:nowrap;letter-spacing:inherit;font-size:inherit}
.sort:hover{background:var(--panel-2);color:var(--ink)}
.sort .lucide{width:12px;height:12px;color:var(--ink-4)}
.sort.on{color:var(--ink)}
.sort.on .lucide{color:var(--accent)}
.by{display:flex;align-items:center;gap:var(--s-2);min-width:0}
.ttl{display:flex;align-items:center;gap:9px;min-width:0}
.ttl .nm{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.ttl .nm b{font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ttl .nm small{font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.ra{display:flex;justify-content:flex-end;gap:2px;opacity:0;transition:opacity .12s}
tr:hover .ra,tr:focus-within .ra,tr.open .ra{opacity:1}
.ra .ib{width:24px;height:24px}
.ra .ib .lucide{width:14px;height:14px}
.empty{position:sticky;left:0;width:100%;padding:56px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--ink-3)}
.empty h2{font-size:14px;font-weight:600;color:var(--ink)}
.empty p{max-width:38ch;font-size:12.5px}
.empty .lucide{width:22px;height:22px;color:var(--ink-4);margin-bottom:6px}
.empty .btn{margin-top:8px}
.foot{display:flex;align-items:center;gap:var(--s-3);height:48px;flex:0 0 48px;padding:0 var(--s-6);border-top:1px solid var(--line);background:var(--surface);font-size:12.5px;color:var(--ink-3)}
.foot .kbds{display:flex;gap:10px;margin-left:8px}
.foot .kbds span{display:inline-flex;align-items:center;gap:4px}
.pager{margin-left:auto;display:flex;align-items:center;gap:6px}
.pager select{height:var(--h-sm);border:0;box-shadow:inset 0 0 0 1px var(--stroke-2);border-radius:var(--r-2);background:var(--surface);padding:0 var(--s-3);font-size:12.5px;color:var(--ink-2)}

.pg-t{font-size:12.5px;color:var(--ink-2);padding:0 4px;font-variant-numeric:tabular-nums}
.skel{display:block;height:10px;border-radius:3px;background:linear-gradient(90deg,var(--panel-2) 25%,#E9EBEF 50%,var(--panel-2) 75%);background-size:200% 100%;animation:skel 1.2s linear infinite}
@keyframes skel{to{background-position:-200% 0}}

/* ---------- tiles (grid view, primary) ---------- */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s-5);padding:var(--s-5) var(--s-6) var(--s-6)}
.tile{position:relative;border-radius:var(--r-3);background:var(--surface);box-shadow:0 0 0 1px var(--stroke),0 1px 2px rgba(16,24,40,.04);overflow:hidden;display:flex;flex-direction:column;cursor:default;transition:box-shadow var(--dur)}
.tile:hover{box-shadow:0 0 0 1px var(--stroke-2),0 2px 8px -2px rgba(16,24,40,.08)}
.tile.sel{box-shadow:0 0 0 1.5px var(--brand);background:#F7F9FE}
.tile.open{box-shadow:0 0 0 2px var(--brand)}
.tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tile.new{animation:tilein .9s ease-out}
@keyframes tilein{from{box-shadow:0 0 0 3px var(--accent-100)}}
.tile>.th{width:100%;height:auto;aspect-ratio:16/9;border-radius:0;box-shadow:inset 0 -1px 0 var(--stroke)}
.tile>.th .lucide{width:24px;height:24px}
.tile>.th .tl-lines{width:38%}
.tile>.th .tl-lines i{height:3px}
.tile>.th .tl-wave{height:40%}
.tile>.th .tl-wave i{width:3px}
.tile .tile-b{padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2);min-width:0;flex:1 1 auto}
.tile .tile-b b{font-weight:600;color:var(--ink);font-size:14px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;text-wrap:pretty;overflow-wrap:anywhere}
.tile .tile-m{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-3);min-width:0}
.tile .tile-m .st{font-size:12px;gap:5px}
.tile .tile-m .st i{width:7px;height:7px}
.tile .tile-m .sep{color:var(--ink-4)}

.tile .tile-f{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3);margin-top:auto;padding-top:var(--s-1);min-width:0}
.tile .tile-f .av{width:20px;height:20px;font-size:9px}
.tile .tile-f .mono{margin-left:auto;font-size:12px;flex:none}
.tile .cbw{position:absolute;top:6px;left:6px;height:auto;min-height:0;opacity:0;transition:opacity .12s;padding:0}
.tile .cbw .cb{background:var(--surface);width:18px;height:18px;box-shadow:0 1px 2px rgba(16,24,40,.16)}
.tile:hover .cbw,.tile.sel .cbw,.tile:focus-within .cbw,.selmode .tile .cbw{opacity:1}
.tile .ra{position:absolute;top:var(--s-2);right:var(--s-2);background:var(--surface);border-radius:var(--r-2);padding:2px;box-shadow:var(--shadow-pop)}
.tile .ra .ib{width:24px;height:24px}
.tile .proc{position:absolute;top:var(--s-2);right:var(--s-2);font-size:12px;font-variant-numeric:tabular-nums;background:var(--surface);color:var(--ink-2);border-radius:5px;padding:1px 6px;box-shadow:var(--shadow-sm)}
@media (max-width:640px){ .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3);padding:var(--s-3)} .tile .tile-b{padding:var(--s-3)} .tile .tile-f .trunc{display:none} }

/* ---------- detail pieces ---------- */
.d-prev{padding:14px 18px 4px}
.pv{position:relative;border-radius:6px;background:var(--tl-bg);color:var(--tl-fg);display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(17,24,39,.06)}
.pv-image,.pv-video{aspect-ratio:16/9}
.pv-image .lucide{width:28px;height:28px;opacity:.85}
.pv.photo{background:linear-gradient(135deg,var(--ca),var(--cb));color:#fff}
.pv.film{background:linear-gradient(160deg,var(--fa,#7C88A0),var(--fb,#5E6A84));color:#fff}
.pv-cap{position:absolute;right:8px;bottom:6px;font-size:12px;color:inherit;opacity:.85;background:rgba(255,255,255,.55);color:var(--ink-2);padding:2px 6px;border-radius:4px}
.pv.photo .pv-cap,.pv.film .pv-cap{background:rgba(14,26,58,.4);color:#fff}
.pv-play{width:44px;height:44px;border-radius:50%;background:var(--surface);color:var(--ink);display:grid;place-items:center;box-shadow:0 4px 14px -4px rgba(17,24,39,.35)}
.pv-play .lucide{width:18px;height:18px;margin-left:2px}
.pv-play:hover{transform:scale(1.04)}
.pv-bar{position:absolute;left:10px;right:10px;bottom:28px;height:3px;background:rgba(17,24,39,.18);border-radius:2px;overflow:hidden}
.pv-bar i{display:block;height:100%;background:var(--surface)}
.pv-audio{height:96px;grid-template-columns:auto 1fr;gap:12px;padding:0 14px;justify-items:start}
.pv-wave{display:flex;align-items:center;gap:2px;height:52px;width:100%}
.pv-wave i{flex:1 1 0;background:currentColor;border-radius:1px;opacity:.7}
.pv-page,.pv-assign,.pv-doc{aspect-ratio:16/9;place-items:end center;padding:14px 0 0}
.pv-sheet{width:56%;height:100%;background:var(--surface);border-radius:4px 4px 0 0;box-shadow:0 -1px 0 rgba(17,24,39,.08),0 0 0 1px rgba(17,24,39,.06);padding:12px 12px 0;display:flex;flex-direction:column;gap:6px}
.pv-sheet b{display:block;width:60%;height:6px;border-radius:2px;background:var(--ink-2);margin-bottom:4px}
.pv-sheet i{display:block;height:3px;border-radius:2px;background:var(--line-2)}
.pv-sheet i.s{width:70%}
.pv-sheet .q{display:flex;align-items:center;gap:6px}
.pv-sheet .q em{font-style:normal;font-variant-numeric:tabular-nums;font-size:9px;color:var(--ink-3)}
.pv-sheet .q i{flex:1}
.pv-zip{height:110px}
.pv-zip .lucide{width:26px;height:26px}
.d-sec{padding:14px 16px 0}
.d-sec h3{font-size:12px;font-weight:700;color:var(--ink-3);margin-bottom:var(--s-2);display:flex;align-items:center;gap:var(--s-2)}
.d-sec:last-child{padding-bottom:16px}
.d-dl{display:grid;gap:0}
.d-dl>div{display:grid;grid-template-columns:108px minmax(0,1fr);gap:10px;padding:5px 0;border-top:1px solid var(--line-soft);font-size:12.5px}
.d-dl>div:first-child{border-top:0}
.d-dl dt{color:var(--ink-3)}
.d-dl dd{color:var(--ink);min-width:0;overflow-wrap:anywhere}
.d-desc{font-size:13px;color:var(--ink-2);max-width:62ch;text-wrap:pretty}
.empty-line{font-size:12.5px;color:var(--ink-3)}
.lk li{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-2);background:var(--panel);font-size:13px}
.lk li+li{margin-top:6px}
.lk li>.lucide{color:var(--ink-3);width:15px;height:15px}
.lk li span{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.lk li b{font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk li small{color:var(--ink-3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-go{margin-left:auto;color:var(--ink-4)}
.d-owner{display:flex;align-items:center;gap:10px;padding-top:16px;border-top:1px solid var(--line-soft);margin-top:16px}
.d-owner span{display:flex;flex-direction:column;line-height:1.3}
.d-owner b{font-weight:600;font-size:13px}
.d-owner small{font-size:12px;color:var(--ink-3)}
.hist li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;padding:6px 0;position:relative}
.hist li+li::before{content:"";position:absolute;left:10px;top:-8px;height:14px;width:1px;background:var(--line)}
.h-i{width:22px;height:22px;border-radius:50%;background:var(--panel-2);color:var(--ink-3);display:grid;place-items:center}
.h-i .lucide{width:12px;height:12px}
.h-approved .h-i,.h-i.h-approved{background:var(--ok-bg);color:var(--ok)}
.h-changes .h-i,.h-i.h-changes{background:var(--warn-bg);color:var(--warn)}
.h-submitted .h-i,.h-i.h-submitted{background:var(--review-bg);color:var(--review)}
.h-t{display:flex;flex-direction:column;font-size:12.5px;line-height:1.35}
.h-t b{font-weight:500;color:var(--ink)}
.h-who{color:var(--ink-3)}
.h-t q{quotes:none;color:var(--ink-2);margin:3px 0 1px;padding:4px 8px;background:var(--panel);border-radius:4px;font-size:12px;border:1px solid var(--line-soft)}
.h-t small{color:var(--ink-3);font-size:12px;margin-top:1px}
/* review card */
.rv{margin:14px 18px 0;padding:var(--s-4);border-radius:var(--r-3);border:1px solid var(--rv-line);background:var(--rv-bg)}
.rv-review{--rv-bg:var(--panel);--rv-line:var(--stroke);--rv-fg:var(--review)}
.rv-changes{--rv-bg:var(--panel);--rv-line:var(--stroke);--rv-fg:var(--warn)}
.rv-draft{--rv-bg:var(--panel);--rv-line:var(--stroke);--rv-fg:var(--ink-2)}
.rv-h{display:flex;align-items:flex-start;gap:10px}
.rv-h>.lucide{color:var(--rv-fg);margin-top:1px}
.rv-h span{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.rv-h b{font-weight:600;font-size:13px;color:var(--ink)}
.rv-h small{font-size:12px;color:var(--rv-fg)}
.rv-note{margin:10px 0 0 26px;padding:var(--s-2) var(--s-3);background:var(--surface);border-radius:var(--r-2);font-size:13px;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--stroke)}
.rv-acts{display:flex;align-items:center;gap:6px;margin:12px 0 0 26px;flex-wrap:wrap}
.rv-kbd,.rv-kbds{margin-left:auto;opacity:.7;display:inline-flex;gap:3px}
.rv-policy{display:flex;gap:6px;align-items:flex-start;margin:10px 0 0 26px;font-size:12px;color:var(--ink-2);text-wrap:pretty}
.rv-policy .lucide{width:13px;height:13px;flex:none;margin-top:2px;color:var(--rv-fg)}
.rv-more{font-size:12px;color:var(--ink-3)}
.rv-form{margin:10px 0 0 26px;display:flex;flex-direction:column;gap:8px}
.rv-form textarea{background:var(--surface)}
.rv-form-acts{display:flex;justify-content:flex-end;gap:6px}

/* ---------- overlays ---------- */
.pop{position:fixed;z-index:var(--z-menu);min-width:220px;max-width:360px;max-height:min(70vh,560px);overflow-y:auto;padding:var(--s-2);background:var(--surface);border-radius:var(--r-3);box-shadow:var(--shadow-pop);animation:pop .12s ease-out}
.pop.wide{min-width:300px}
@keyframes pop{from{opacity:0;transform:translateY(-4px) scale(.98)}}
.pop-h{padding:6px 8px 4px;font-size:12px;font-weight:600;color:var(--ink-3)}
.pop-lbl{padding:8px 8px 4px;font-size:12px;color:var(--ink-3)}
.pop-f{padding:6px 8px 4px;border-top:1px solid var(--line-soft);margin-top:4px;font-size:12px;color:var(--ink-3)}
.pop-sep{height:1px;background:var(--stroke);margin:var(--s-1) calc(var(--s-1) * -1)}
.mi{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:36px;padding:var(--s-2) var(--s-3);border-radius:var(--r-1);font-size:13.5px;font-weight:500;color:var(--ink-2);text-align:left}
.mi:hover,.mi:focus-visible{background:var(--fill);color:var(--ink);outline:none}
.mi:disabled{opacity:.45}
.mi .lucide{width:16px;height:16px;color:var(--ink-3)}
.mi-gap{width:14px;flex:none}
.mi-l{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.mi-l small{font-size:12px;color:var(--ink-3)}
.mi-chk{width:14px;height:14px;display:grid;place-items:center;visibility:hidden}
.mi.on .mi-chk{visibility:visible}
.mi.on .mi-chk .lucide{color:var(--ink)}
.mi-n{color:var(--ink-3)}
.mi.danger{color:var(--danger)}.mi.danger .lucide{color:var(--danger)}
.mi.danger:hover{background:var(--danger-bg)}
.tip{position:fixed;left:0;top:0;z-index:var(--z-tip);max-width:260px;padding:var(--s-1) var(--s-2);background:var(--ink);color:#fff;font-size:12px;line-height:1.35;border-radius:var(--s-2);pointer-events:none;box-shadow:0 4px 12px -4px rgba(14,26,58,.4)}
.toasts{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none}
.toast{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);background:var(--surface);color:var(--ink);font-size:13.5px;font-weight:500;min-height:44px;border-radius:var(--r-2);box-shadow:var(--shadow-pop);pointer-events:auto;animation:toastin .18s ease-out;max-width:min(92vw,480px)}
.toast .lucide{width:16px;height:16px;color:var(--ink-3)}
.toast .linkbtn{color:var(--brand-ink);margin-left:6px}
.toast.out{opacity:0;transform:translateY(6px);transition:opacity .16s var(--ease),transform .16s var(--ease)}
@keyframes toastin{from{opacity:0;transform:translateY(8px)}}
dialog.dlg{border:0;padding:0;border-radius:var(--r-4);background:var(--surface);box-shadow:var(--shadow-float);width:min(92vw,420px);color:var(--ink)}
dialog.dlg::backdrop{background:rgba(17,24,39,.4)}
dialog.dlg form{padding:var(--s-6) var(--s-6) var(--s-5);display:flex;flex-direction:column;gap:var(--s-3)}
dialog.dlg h2{font-size:15px;font-weight:600}
dialog.dlg p{font-size:13px;color:var(--ink-2);text-wrap:pretty}
.dlg-f{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
.dlg-list{margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);font-size:12.5px;max-height:140px;overflow:auto}
.dlg-list li{padding:2px 0;color:var(--ink-2)}
/* side panel (peek / drawer) */
.peek{position:fixed;top:var(--gutter);right:var(--gutter);bottom:var(--gutter);width:min(440px,calc(100vw - var(--gutter) * 2));z-index:var(--z-peek);background:var(--surface);border-radius:var(--r-4);box-shadow:var(--shadow-panel);display:flex;flex-direction:column;transform:translateX(calc(102% + var(--gutter)));transition:transform .24s var(--ease);outline:none;visibility:hidden;overflow:hidden}
.peek.on{transform:none;visibility:visible}
.pk-top{display:flex;align-items:center;gap:var(--s-1);height:var(--h-top);flex:none;padding:0 var(--s-3) 0 var(--s-5);border-bottom:1px solid var(--line)}
.pk-lbl{font-size:12px;font-weight:600;color:var(--ink-3)}
.pk-pos{font-size:12px;color:var(--ink-3);margin-left:6px}
.pk-nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.pk-head{display:flex;align-items:flex-start;gap:12px;padding:16px 18px 0}
.pk-head .nm{display:flex;flex-direction:column;min-width:0;gap:3px}
.pk-head h2{font-size:16px;font-weight:600;line-height:1.3;text-wrap:balance;overflow-wrap:anywhere}
.pk-head .meta{display:flex;align-items:center;gap:var(--s-1) var(--s-3);font-size:12.5px;color:var(--ink-3);flex-wrap:wrap}
.pk-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:12px}
.pk-foot{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-top:1px solid var(--line);background:var(--surface);flex:none;flex-wrap:nowrap}
.pk-foot .btn{flex:1 1 auto;min-width:0}
.pk-foot .ib{margin-left:auto}
/* phone bottom sheet */
.m-scrim{position:fixed;inset:0;z-index:calc(var(--z-sheet) - 1);background:rgba(17,24,39,.42);opacity:0;transition:opacity .2s}
.m-scrim.on{opacity:1}
.msheet{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sheet);display:flex;flex-direction:column;max-height:calc(100% - 28px - env(safe-area-inset-top));background:var(--surface);border-radius:var(--r-4) var(--r-4) 0 0;box-shadow:0 0 0 1px var(--stroke),0 -8px 32px -8px rgba(16,24,40,.18);transform:translateY(102%);transition:transform .26s cubic-bezier(.2,.8,.2,1);outline:none;overscroll-behavior:contain}
.msheet.on{transform:none}
.msheet.tall{height:calc(100% - 40px - env(safe-area-inset-top))}
.msheet.dragging{transition:none}
.ms-grab{display:flex;justify-content:center;align-items:center;height:18px;flex:none;touch-action:none;cursor:grab}
.ms-grab span{width:36px;height:4px;border-radius:2px;background:#CDD2DA}
.ms-head{display:flex;align-items:center;gap:2px;height:48px;flex:none;padding:0 4px 0 16px;border-bottom:1px solid var(--line);touch-action:none}
.ms-title{font-size:16px;font-weight:600;flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ms-back,.ms-x{width:44px;height:44px;border-radius:var(--r-2)}
.ms-back .lucide,.ms-x .lucide{width:20px;height:20px}
.ms-body{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.msheet.nofoot .ms-body{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.ms-foot{display:flex;gap:8px;flex:none;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}
.ms-foot .btn{height:44px;border-radius:var(--r-2);font-size:14px;font-weight:550;flex:1 1 auto}
.ms-list button,.ms-list label{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:6px 16px;border-bottom:1px solid var(--line-soft);font-size:14.5px;text-align:left}
.ms-list button:active,.ms-list label:active{background:var(--panel)}
.ms-list .lucide{color:var(--ink-3)}
.ms-list .cb{width:20px;height:20px;border-radius:5px}
.ms-list .mono{margin-left:auto;color:var(--ink-3)}
.ms-list .lbl{padding:14px 16px 4px;font-size:12px;font-weight:600;color:var(--ink-3);border-bottom:1px solid var(--line-soft)}
body.sheet-open .msheet .d-sec h3{font-size:12px}

/* ---------- upload pieces ---------- */
.up-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.up-opt{position:relative;display:flex;gap:var(--s-3);padding:var(--s-3);border:0;box-shadow:inset 0 0 0 1px var(--stroke-2);border-radius:var(--r-3);cursor:pointer;background:var(--surface);transition:border-color .12s,background-color .12s}
.up-opt:hover{box-shadow:inset 0 0 0 1px rgba(20,38,92,.3)}
.up-opt.on{box-shadow:inset 0 0 0 2px var(--accent);background:#F7F9FE}
.up-opt input{position:absolute;opacity:0;pointer-events:none}
.up-opt:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}
.up-opt-i{width:30px;height:30px;border-radius:6px;background:var(--panel-2);color:var(--ink-2);display:grid;place-items:center;flex:none}
.up-opt.on .up-opt-i{background:var(--accent-50);color:var(--accent)}
.up-opt-t{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.3}
.up-opt-t b{font-size:13px;font-weight:600;color:var(--ink)}
.up-opt-t small{font-size:12px;color:var(--ink-3);text-wrap:pretty}
.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-1);min-height:148px;padding:var(--s-5) var(--s-4);border:1px dashed rgba(16,24,40,.2);border-radius:var(--r-3);background:var(--panel);text-align:center;cursor:pointer;transition:border-color .12s,background-color .12s}
.drop:hover,.drop:focus-visible{border-color:var(--accent-200);background:#FAFAFF}
.drop.over{border-color:var(--accent);background:var(--accent-50)}
.drop-ic{width:22px;height:22px;color:var(--ink-3);margin-bottom:4px}
.drop.over .drop-ic{color:var(--accent)}
.drop-t{font-size:13px;color:var(--ink-2)}
.drop-t b{font-weight:600;color:var(--ink)}
.d-touch{display:none}
@media (hover:none) and (pointer:coarse){ .d-desk{display:none} .d-touch{display:inline} }
.drop-s{font-size:12px;color:var(--ink-3);text-wrap:pretty}
.uq{display:flex;flex-direction:column;gap:0;box-shadow:inset 0 0 0 1px var(--stroke);border-radius:var(--r-3);overflow:hidden}
.uq-row{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 10px;border-top:1px solid var(--line-soft);background:var(--surface)}
.uq-row:first-child{border-top:0}
.uq-t{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.3}
.uq-t b{font-weight:500;color:var(--ink);font-size:12.5px}
.uq-t small{color:var(--ink-3);font-size:12px}
.uq-t .err{color:var(--danger)}
.uq-bar{display:block;height:3px;border-radius:2px;background:var(--panel-2);overflow:hidden;margin-top:3px}
.uq-bar i{display:block;height:100%;width:100%;background:var(--accent);transform-origin:left;transition:transform .1s linear}
.uq-r{flex:none;display:flex;align-items:center;gap:4px;font-size:12px;color:var(--ink-3)}
.uq-r .ok{color:var(--ok)}
.uq-r .muted{color:var(--ink-4)}
.uq-row.s-error{background:#FFF7F7}
.uq-row.s-done .uq-t b{color:var(--ink-2)}
.steps li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:var(--s-3);min-height:40px;padding:0 var(--s-3);border-radius:var(--r-2);font-size:12.5px;color:var(--ink-3)}
.steps li.cur{background:var(--accent-50);color:var(--ink)}
.steps li.s-done{color:var(--ink-2)}
.step-i{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;background:var(--surface)}
.step-i .lucide{width:11px;height:11px}
.s-done .step-i{border-color:#3AA37E;background:#3AA37E;color:#fff}
.s-active .step-i{border-color:var(--accent);color:var(--accent)}
.step-t{font-weight:500}
.step-r{font-size:12px;color:var(--ink-3)}
.pbar{height:5px;border-radius:3px;background:var(--panel-2);overflow:hidden}
.pbar i{display:block;height:100%;width:100%;background:var(--accent);transform-origin:left;transition:transform .18s ease-out}
.pbar.ok i{background:var(--ok)}

/* ---------- phone base rules ---------- */
@media (max-width:640px){
  .toasts{bottom:calc(16px + env(safe-area-inset-bottom))}
  .peek{top:0;right:0;bottom:0;width:100vw;border-radius:0}
  .d-dl>div{grid-template-columns:96px minmax(0,1fr)}
  .up-mode{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---------- glance (quick look) ---------- */
.gl-body{padding:14px 18px 16px;display:flex;flex-direction:column;gap:14px}
.gl-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:12.5px}
.gl-status .st{font-weight:500;color:var(--ink)}
.gl-who{color:var(--ink-3)}
.gl-note{flex:1 0 100%;margin:2px 0 0;padding:6px 9px;border-radius:var(--r-1);background:var(--panel);font-size:12.5px;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gl-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.gl-facts>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.gl-facts dt{font-size:12px;font-weight:600;color:var(--ink-3)}
.gl-facts dd{font-size:12.5px;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gl-facts .by{gap:6px}
.gl-facts .muted{color:var(--ink-3)}
.gl-desc{font-size:12.5px;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-wrap:pretty}
.gl-hint{display:flex;gap:6px;align-items:flex-start;font-size:12px;color:var(--ink-3);padding-top:8px;border-top:1px solid var(--line-soft)}
.gl-hint .lucide{width:13px;height:13px;flex:none;margin-top:1px}
.pk-foot [data-act=page]{flex:1 1 auto;min-width:0}
.pk-foot .btn:not([data-act=page]){flex:0 0 auto}
/* ---------- item page ---------- */
.page-host{flex:1 1 auto;min-height:0;overflow-y:auto;background:var(--surface)}
.ipage{max-width:1240px;margin:0 auto;padding:20px 28px 40px;container-type:inline-size}
.ip-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.ip-back{flex:1 0 100%;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-3);text-decoration:none;width:max-content}
.ip-back:hover{color:var(--ink)}
.ip-back .lucide{width:14px;height:14px}
.ip-title{display:flex;align-items:flex-start;gap:14px;min-width:0;flex:1 1 420px}
.ip-title .nm{display:flex;flex-direction:column;gap:6px;min-width:0}
.ip-title h1{font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.02em;text-wrap:balance;overflow-wrap:anywhere}
.ip-title .meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3);font-size:13px;color:var(--ink-3)}
.ip-title .meta .by{gap:6px;color:var(--ink-2)}
.ip-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-left:auto}
@container (max-width:1000px){ .ip-acts{flex-basis:100%;margin-left:78px} }
/* the header owns submit / approve / request changes / withdraw; the side card keeps the context and the send-back form */
.ip-side .rv-acts > .btn:is([data-act=submit],[data-act=approve].primary,[data-act=changes],[data-act=withdraw]),.ip-side .rv-kbds{display:none}
.ip-side .rv-acts:not(:has(> :not([data-act=submit],[data-act=approve].primary,[data-act=changes],[data-act=withdraw],.rv-kbds))){display:none}
.ip-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px 40px;padding-top:24px;align-items:start}
.ip-main,.ip-side{display:flex;flex-direction:column;gap:24px;min-width:0}
.ip-sec h3{font-size:12px;font-weight:600;color:var(--ink-3);margin-bottom:var(--s-2);display:flex;align-items:center;gap:var(--s-2)}
.ip-prev .d-prev{padding:0}
.ip-prev .pv{max-width:720px}
.ip-prev .pv-audio,.ip-prev .pv-zip{max-width:520px}
.ip-side .rv{margin:0}
.ip-side .d-dl>div{grid-template-columns:104px minmax(0,1fr)}
.crumbs li:not([aria-current]) span{cursor:pointer}
.crumbs li:not([aria-current]) span:hover{color:var(--ink);text-decoration:underline}
@media (max-width:1100px){ .ip-grid{grid-template-columns:minmax(0,1fr)} .ip-side{order:-1} .ip-side .rv{margin-bottom:0} }
@media (max-width:640px){
  .page-host{border:0;border-radius:0}
  .ipage{padding:12px 16px 32px}
  .ip-title h1{font-size:17px}
  .ip-acts{margin-left:0;width:100%}
  .ip-acts .btn.primary{flex:1 1 100%}
}

/* ---------- state chips: age, health, schedule ---------- */
.age,.hb,.sched{display:inline-flex;align-items:center;gap:var(--s-1);height:22px;padding:0 6px;border-radius:5px;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}
.age .lucide,.hb .lucide,.sched .lucide{width:12px;height:12px}
.age,.hb,.sched{background:var(--fill);color:var(--ink-2)}
.age.a1 .lucide{color:var(--ink-3)}
.age.a2 .lucide,.hb .lucide,.sched.exp .lucide{color:#C98A1B}
.age.a3 .lucide{color:var(--alert)}
.age.a3{color:var(--ink)}
.sched .lucide{color:var(--brand)}
.n.warn{background:var(--warn-bg);color:var(--warn)}
.tile-x{display:inline-flex;gap:4px;margin-left:auto;min-width:0}
.tile .tile-d{font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tile.short>.tl{aspect-ratio:16/6}
.tile.short>.tl .lucide{width:20px;height:20px}
.tile.short>.tl .tl-lines{width:32%}
.gl-asg{flex:1 0 100%;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2)}
.gl-asg .av{width:18px;height:18px;font-size:8px}
.gl-asg>.lucide{width:14px;height:14px;color:var(--ink-3)}
.gl-health{display:flex;gap:6px;align-items:flex-start;font-size:12.5px;color:var(--warn);text-wrap:pretty}
.gl-health .lucide{width:14px;height:14px;flex:none;margin-top:1px}
.rv-h .age{margin-left:auto}
.rv-asg{display:flex;align-items:center;gap:8px;margin:10px 0 0 26px;font-size:12.5px;color:var(--ink-2);flex-wrap:wrap}
.rv-asg .av{width:20px;height:20px;font-size:8.5px}
.rv-asg>.lucide{width:15px;height:15px;color:var(--ink-3)}
.rv-asg .linkbtn.quiet{color:var(--ink-3)}
.linkbtn.quiet{color:var(--ink-3)}

/* ---------- item page: jump nav, versions, comments, publishing, checks, usage ---------- */
.ip-jump{flex:1 0 100%;display:flex;gap:2px;flex-wrap:wrap;margin-top:4px}
.ip-jump a{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:6px;font-size:12.5px;color:var(--ink-3);text-decoration:none}
.ip-jump a:hover{background:var(--panel-2);color:var(--ink)}
.ip-sec.flash{animation:flash 1.2s ease-out}
@keyframes flash{0%{box-shadow:0 0 0 4px var(--accent-100)}100%{box-shadow:0 0 0 12px transparent}}
.ip-sec{border-radius:8px;scroll-margin-top:16px}
.ver-h{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);text-wrap:pretty}
.ver-h .lucide{width:15px;height:15px;flex:none;margin-top:1px;color:var(--ink-3)}
.ver-h q{quotes:none;color:var(--ink-2);background:var(--panel);border-radius:4px;padding:1px 6px}
.ver-note{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:12.5px;color:var(--ink-2)}
.ver-note .av{width:20px;height:20px;font-size:8.5px}
.ver-t{width:100%;border-collapse:collapse;margin-top:10px;font-size:12.5px;table-layout:fixed}
.ver-t th{width:110px;text-align:left;font-weight:500;color:var(--ink-3);padding:7px 10px 7px 0;vertical-align:top;border-top:1px solid var(--line-soft)}
.ver-t td{padding:7px 10px;vertical-align:top;border-top:1px solid var(--line-soft);overflow-wrap:anywhere}
.ver-t td.from{color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--line-2)}
.ver-t td.to{color:var(--ink);background:var(--ok-bg);border-radius:4px}
.ver-list{margin-top:10px;font-size:12px;color:var(--ink-3);display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ver-list b{font-weight:500;color:var(--ink-2)}
.cm-new{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.cm-new textarea{width:100%;border:1px solid var(--line-2);border-radius:6px;padding:8px 10px;font-size:13px;resize:vertical;background:var(--surface);color:var(--ink);outline:none;transition:border-color .12s,box-shadow .12s}
.cm-new textarea:focus{border-color:var(--accent);box-shadow:var(--ring)}
.cm-new-f{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.cm-anchor{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-3);margin-right:auto}
.cm-anchor .lucide{width:13px;height:13px}
.cm-anchor input{width:68px;height:26px;border:1px solid var(--line-2);border-radius:5px;padding:0 6px;font-size:12px;font-variant-numeric:tabular-nums;background:var(--surface);color:var(--ink);outline:none}
.cm-anchor input:focus{border-color:var(--accent);box-shadow:var(--ring)}
.cm-list{display:flex;flex-direction:column;gap:8px}
.cm{padding:var(--s-3) var(--s-4);border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface)}
.cm.chg{border-color:var(--stroke);background:var(--panel)}
.cm.done{opacity:.72}
.cm-h{display:flex;align-items:center;gap:8px;font-size:12.5px;min-width:0;flex-wrap:wrap}
.cm-h .av{width:20px;height:20px;font-size:8.5px}
.cm-h b{font-weight:600;color:var(--ink)}
.cm-h small{color:var(--ink-3);font-size:12px}
.cm-h .ib{margin-left:auto}
.cm-k{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--warn);background:var(--warn-bg);border-radius:4px;padding:1px 6px}
.cm-k .lucide{width:11px;height:11px}
.cm-a{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:5px;background:var(--accent-50);color:var(--accent-800);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}
.cm-a:hover{background:var(--accent-100)}
.cm-a .lucide{width:11px;height:11px}
.cm-b{margin-top:6px;font-size:13px;color:var(--ink-2);text-wrap:pretty;padding-left:28px}
.cm-r{margin:8px 0 0 28px;display:flex;flex-direction:column;gap:6px;padding-left:10px;border-left:1px solid var(--line)}
.cm-r li{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink-2)}
.cm-r .av{width:18px;height:18px;font-size:8px;margin-top:1px}
.cm-r b{font-weight:600;color:var(--ink)}
.cm-r small{color:var(--ink-3);font-size:12px;margin-left:4px}
.cm-reply{display:flex;gap:6px;margin:8px 0 0 28px}
.cm-reply input{flex:1 1 auto;min-width:0;height:28px;border:1px solid var(--line-2);border-radius:6px;padding:0 10px;font-size:12.5px;background:var(--surface);color:var(--ink);outline:none}
.cm-reply input:focus{border-color:var(--accent);box-shadow:var(--ring)}
.cm-done{margin-top:10px}
.cm-done summary{font-size:12.5px;color:var(--ink-3);cursor:pointer;padding:4px 0;user-select:none}
.cm-done ul{margin-top:8px}
.pub-g{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pub-g .fld:first-child{grid-column:1/-1}
.fld-ro{display:flex;align-items:center;height:32px;padding:0 10px;border:1px solid var(--line-soft);border-radius:6px;background:var(--panel);color:var(--ink-2)}
.fld input[type=date]{height:32px;padding:0 8px;font-variant-numeric:tabular-nums;font-size:12.5px}
.fld select{height:32px;padding:0 8px}
.pub-s{display:block;margin-top:var(--s-3);font-size:13px;line-height:1.5;color:var(--ink-2);text-wrap:pretty}
.pub-s .lucide{display:inline-block;width:14px;height:14px;color:var(--ink-3);vertical-align:-2px;margin-right:var(--s-1)}
.hl-ok{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--ok)}
.hl-ok .lucide{width:15px;height:15px}
.hl-list{display:flex;flex-direction:column;gap:6px}
.hl-list li{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);box-shadow:inset 0 0 0 1px var(--stroke);border-radius:var(--r-2);background:var(--panel);font-size:13px}
.hl-list li>.lucide{width:15px;height:15px;color:var(--warn);flex:none}
.hl-t{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;line-height:1.3}
.hl-t b{font-weight:500;color:var(--ink);overflow-wrap:anywhere}
.hl-t small{color:var(--ink-3);font-size:12px}
.hl-list .btn{flex:none}
.us-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.us-g>div{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:var(--r-2);background:var(--panel);min-width:0}
.us-g dt{font-size:12px;font-weight:600;color:var(--ink-3);white-space:nowrap}
.us-g dd{font-size:14px;font-weight:500;color:var(--ink)}
.us-g .muted{color:var(--ink-3);font-weight:400}
.us-cta{display:flex;align-items:center;gap:var(--s-3);margin-top:var(--s-3);padding:var(--s-3);border-radius:var(--r-2);background:var(--panel);color:var(--ink-2);font-size:13px;text-wrap:pretty}
.us-cta>.lucide{width:15px;height:15px;color:var(--warn);flex:none}
.us-cta span{flex:1 1 auto}
.us-cta .btn{flex:none}
@media (max-width:640px){ .us-g{grid-template-columns:1fr 1fr} .pub-g{grid-template-columns:1fr} .ip-jump{display:none} }

/* ---------- list page: review inbox strip, saved views, load more ---------- */
.qstrip{display:flex;align-items:center;gap:var(--s-2) var(--s-4);flex-wrap:wrap;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line);background:var(--panel);font-size:13px;color:var(--ink-2)}
.qstrip b{font-weight:600;color:var(--ink)}
.qstrip .qs-load{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.qstrip .qs-load span{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 3px;border-radius:var(--r-1);background:var(--surface);box-shadow:inset 0 0 0 1px var(--stroke)}
.qstrip .av{width:18px;height:18px;font-size:8px}
.qstrip .qs-r{margin-left:auto;display:flex;gap:6px;align-items:center}
/* saved views sit in the toolbar, right of Filter; whole views that don't fit go into "More" */
.views{display:flex;align-items:center;gap:2px;flex:0 1 auto;min-width:0;overflow:hidden;padding:2px 0}
.views .vw-more{color:var(--ink-3)}
.views .vw-more .lucide{width:14px;height:14px;color:var(--ink-4)}
.views .vw-more[aria-expanded=true]{background:var(--fill-2);color:var(--ink)}
.views::-webkit-scrollbar{display:none}
.views .vw{flex:none}
.toolbar{container-type:inline-size}
/* one row: search · Filter · views (take the rest) · actions; active filters get a second line only when present */
.sq{grid-area:s}#filter-btn{grid-area:f}.toolbar>.vsep{grid-area:d}#views{grid-area:v;justify-self:start;max-width:100%}.chips{grid-area:c}.acts{grid-area:a}
.toolbar>.chips{margin-top:var(--s-2);padding:0 0 2px}
.toolbar>.chips:empty{display:none}
@container (max-width:1150px){ .sq{width:220px} .toolbar #create-btn .lbl{display:none} .toolbar #create-btn{padding:0 var(--s-2) 0 var(--s-3)} }
.views .vw{display:inline-flex;align-items:center;gap:var(--s-2);height:var(--h-sm);padding:0 var(--s-3);box-shadow:none;border-radius:var(--r-2);background:none;font-size:13px;font-weight:550;color:var(--ink-3);white-space:nowrap;transition:background-color var(--dur),box-shadow var(--dur),color var(--dur)}
.views .vw:hover{background:var(--fill);color:var(--ink)}
.views .vw[aria-pressed=true]{background:var(--fill-2);color:var(--ink);font-weight:550}
.views .vw .n{padding:0 5px;min-width:18px;line-height:15px}
.views .vw .lucide{width:13px;height:13px}
.views .vw-save{outline:1px dashed var(--stroke-2);outline-offset:-1px;color:var(--ink-3)}
.views .vw-x{display:grid;place-items:center;width:18px;height:18px;border-radius:4px;margin-right:-4px;color:var(--ink-3)}
.views .vw-x:hover{background:var(--fill-2);color:var(--ink)}
.more{display:flex;justify-content:center;padding:12px 12px 20px}
.more .btn{min-width:200px}
.more small{display:block;text-align:center;font-size:12px;color:var(--ink-3);margin-top:6px}

/* long item titles in the breadcrumb shrink instead of widening the top bar */
.crumbs li[aria-current]{flex:0 1 auto;min-width:0}
.crumbs li[aria-current] span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* ---------- tile covers: quiet, and shaped like the content ---------- */
.tile>.th.photo{background:linear-gradient(135deg,var(--ca),var(--cb));color:rgba(255,255,255,.9)}
.tile>.th.photo .lucide{position:absolute;left:var(--s-3);bottom:var(--s-2);width:14px;height:14px}
.tile>.th.film{background:linear-gradient(160deg,var(--fa,#7C88A0),var(--fb,#5E6A84));color:#fff}
.tile>.th.film .play{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.95);color:var(--ink);display:grid;place-items:center;box-shadow:0 1px 2px rgba(16,24,40,.2)}
.tile>.th.film .play .lucide{width:16px;height:16px;margin-left:2px}
.tile>.th.film .dur{position:absolute;right:var(--s-2);bottom:var(--s-2);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;padding:1px 6px;border-radius:5px;background:rgba(16,24,40,.5);color:#fff}
.tile>.th.paper{place-items:end center;padding-top:var(--s-3)}
.tile>.th.paper .sheet{width:54%;height:100%;background:#fff;border-radius:6px 6px 0 0;box-shadow:0 0 0 1px rgba(16,24,40,.07),0 1px 3px rgba(16,24,40,.06);padding:var(--s-3) var(--s-3) 0;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.tile>.th.paper .sheet b{width:56%;height:5px;border-radius:2px;background:var(--tl-fg);opacity:.85;margin-bottom:2px}
.tile>.th.paper .sheet i{display:block;width:100%;height:3px;border-radius:2px;background:rgba(20,38,92,.14)}
.tile>.th.paper .sheet i.s{width:66%}
.tile>.th.paper .sheet .q{display:flex;align-items:center;gap:5px;width:100%}
.tile>.th.paper .sheet .q u{width:7px;height:7px;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(20,38,92,.3);flex:none}
.tile>.th.paper .sheet .q i{flex:1}
.tile>.th.paper .ext{position:absolute;left:var(--s-3);bottom:var(--s-2);font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--tl-fg);opacity:.85}
.tile.short>.th.paper .sheet{width:34%;gap:4px;padding-top:var(--s-2)}
.tile.short>.th.paper .sheet i{height:2px}

/* ---------- linear pass: quiet tab icons, scrolling views on phone ---------- */
.toolbar,.qstrip{flex:none}
/* type icons in tabs, in their type colour; hidden when the tab row is tight */
.tab .lucide{color:var(--tl-fg,var(--ink-3))}
.tab[data-tab=page]{--tl-fg:#2F62D9}.tab[data-tab=assignment]{--tl-fg:#C2610C}.tab[data-tab=image]{--tl-fg:#0F8A6E}.tab[data-tab=video]{--tl-fg:#6246D8}.tab[data-tab=audio]{--tl-fg:#C2387A}.tab[data-tab=doc]{--tl-fg:#1D7FB8}.tab[data-tab=zip]{--tl-fg:#9A7406}
@container (max-width:1000px){ .tab .lucide{display:none} .tab{padding:0 var(--s-2)} .tablist{padding-left:var(--s-1)} }
/* file-format labels on document covers */
.tile>.th.paper .ext.x-pdf{color:#C8372D}.tile>.th.paper .ext.x-xlsx{color:#15803D}.tile>.th.paper .ext.x-docx{color:#2F62D9}.tile>.th.paper .ext.x-pptx{color:#C2610C}
/* saved-view icons carry meaning */
.views [data-view-id=review] .lucide{color:var(--brand)}.views [data-view-id=mine] .lucide{color:#7C4DDB}.views [data-view-id=attention] .lucide{color:#D97706}.views [data-view-id=unused] .lucide{color:var(--ink-4)}

/* grid/list + columns live at the right end of the tabs row */
.tabs .tools{display:flex;align-items:center;gap:var(--s-1);margin-left:auto;padding-left:var(--s-3);flex:none}
.tabs .seg{height:32px;padding:2px}
.tabs .seg button{height:28px;min-width:32px}

/* save / share the current filters: on the active-filters line */
.vw-act{display:inline-flex;align-items:center;gap:2px;margin-left:var(--s-1);padding-left:var(--s-2);border-left:1px solid var(--stroke);flex:none}
.vw-act .vw{display:inline-flex;align-items:center;gap:var(--s-2);height:var(--h-sm);padding:0 var(--s-3);border-radius:var(--r-2);font-size:13px;font-weight:550;color:var(--ink-3)}
.vw-act .vw:hover{background:var(--fill);color:var(--ink)}
.vw-act .vw .lucide{width:14px;height:14px}
/* submenu header with a way back */
.pop-h:has(.pop-back){display:flex;align-items:center;gap:var(--s-1);padding:2px var(--s-1) var(--s-1)}
.pop-back{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--r-1);color:var(--ink-3)}
.pop-back:hover{background:var(--fill);color:var(--ink)}
.pop-back .lucide{width:15px;height:15px}

/* ---------- AI (✦): shell gives .ai-mark/.ai-card/.ai-chip/.btn.ai; page layouts here ---------- */
.ask-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:var(--z-menu);width:min(520px,calc(100vw - 32px));padding:var(--s-1);background:var(--surface);border-radius:var(--r-3);box-shadow:var(--shadow-pop);animation:pop .16s var(--ease);transform-origin:top left}
.ask-h{padding:var(--s-2) var(--s-3) var(--s-1)}
.ask-ex{display:flex;align-items:center;gap:var(--s-2);width:100%;height:34px;padding:0 var(--s-3);border-radius:var(--r-1);font-size:13.5px;color:var(--ink-2)}
.ask-ex:hover{background:var(--fill);color:var(--ink)}
.ask-ex .lucide{width:14px;height:14px;color:var(--ink-4)}
.ask-row{display:flex;align-items:center;gap:var(--s-2);width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--r-2);text-align:left}
.ask-row.on,.ask-row:hover{background:var(--ai-bg)}
.ask-chips{display:flex;flex-wrap:wrap;gap:var(--s-1);flex:1;min-width:0}
.ask-row kbd{flex:none}
.ask-ans{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-2) var(--s-3)}
.ask-ans p{font-size:13.5px;color:var(--ink);text-wrap:pretty}
.ask-acts{display:flex;gap:var(--s-2);margin-top:var(--s-1)}
.ask-foot{padding:var(--s-1) var(--s-3) var(--s-2);font-size:12px;color:var(--ink-4)}
.ai-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-bottom:var(--s-2)}
.ai-ok{display:inline-flex;align-items:center;gap:var(--s-1);font-size:12.5px;font-weight:550;color:var(--ok)}
.ai-ok .lucide{width:14px;height:14px}
.ai-no{font-size:12.5px;font-weight:550;color:#9A5B0B}
.ai-list{display:flex;flex-direction:column;gap:2px;margin:0 calc(var(--s-2) * -1)}
.ai-list li{display:flex;align-items:flex-start;gap:var(--s-2);padding:6px var(--s-2);border-radius:var(--r-1)}
.ai-list li>.lucide{width:16px;height:16px;margin-top:1px;flex:none}
.ai-list li.ok>.lucide{color:#3AA37E}
.ai-list li.no>.lucide{color:#D9A441}
.ai-list li>span{flex:1;min-width:0;display:flex;flex-direction:column}
.ai-list b{font-size:13px;font-weight:550;color:var(--ink)}
.ai-list small{font-size:12px;color:var(--ink-3);text-wrap:pretty}
.ai-list .btn{flex:none;align-self:center}
.ai-foot{margin-top:var(--s-2);font-size:12px;color:var(--ink-3)}
.ai-pre>.btn{margin-top:var(--s-3)}
.ai-card.sm{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-2);padding:var(--s-2) var(--s-3)}
.ai-card.sm small{flex:1 0 100%;font-size:12px;color:var(--ink-3)}
.ai-gen p{margin-top:var(--s-1);font-size:13px;color:var(--ink-2)}
.ai-dot{display:inline-flex;align-items:center;gap:2px;height:22px;padding:0 6px;border-radius:5px;font-size:12px;font-weight:550;color:var(--ai-ink);background:var(--ai-bg);flex:none}
.ai-dot .lucide{width:12px;height:12px;color:var(--ai)}
.qs-ai{display:inline-flex;align-items:center;gap:var(--s-1);font-weight:550;color:var(--ai-ink)}
.qs-ai .lucide{width:14px;height:14px;color:var(--ai)}
.ai-dlg h2 .ai-mark{font-size:15px}
.ai-dlg .fld{margin-top:var(--s-3)}
