.cowvis-window-dots,.cowvis-brand,.cowvis-search,.cowvis-nav-label { display:none; }

body[data-view="projects"] { color:#17191d; background:#f6f6f6; }
body[data-view="projects"] .app-shell { grid-template-columns:190px minmax(0,1fr); grid-template-rows:100vh; }
body[data-view="projects"] .topbar,body[data-view="projects"] .right-rail { display:none; }
body[data-view="projects"] .sidebar { grid-row:1; padding:14px 10px 12px; overflow:hidden; border-right:1px solid #ededed; background:#fff; }
body[data-view="projects"] .main-content { grid-column:2; grid-row:1; overflow:hidden; background:#fafafa; }
body[data-view="projects"] .cowvis-window-dots { display:flex; align-items:center; gap:7px; height:17px; padding-left:8px; }
.cowvis-window-dots i { width:10px; height:10px; border-radius:50%; background:#ff5e57; }
.cowvis-window-dots i:nth-child(2) { background:#ffbd2e; }
.cowvis-window-dots i:nth-child(3) { background:#28c840; }
body[data-view="projects"] .cowvis-brand { display:flex; align-items:center; gap:9px; height:42px; padding:0 8px; color:#17191d; border:0; background:transparent; cursor:pointer; }
.cowvis-brand b { font-size:20px; letter-spacing:-.7px; }
.cowvis-brand-head { position:relative; display:block; width:25px; height:25px; border-radius:9px 9px 11px 11px; background:#202329; }
.cowvis-brand-head::before,.cowvis-brand-head::after { content:""; position:absolute; top:-4px; width:8px; height:8px; border:3px solid #202329; border-bottom:0; border-radius:8px 8px 0 0; }
.cowvis-brand-head::before { left:1px; transform:rotate(-22deg); }
.cowvis-brand-head::after { right:1px; transform:rotate(22deg); }
.cowvis-brand-head i::before,.cowvis-brand-head i::after { content:""; position:absolute; top:8px; width:3px; height:3px; border-radius:50%; background:#fff; }
.cowvis-brand-head i::before { left:6px; }
.cowvis-brand-head i::after { right:6px; }
body[data-view="projects"] .cowvis-search { display:flex; align-items:center; height:32px; margin:5px 5px 11px; color:#aaa; border:1px solid #e6e6e6; border-radius:8px; background:#fafafa; }
.cowvis-search span { padding-left:9px; font-size:19px; }
.cowvis-search input { width:100%; min-width:0; padding:7px 8px; color:#333; border:0; outline:0; background:transparent; font-size:12px; }
body[data-view="projects"] .sidebar nav { display:block; overflow:auto; scrollbar-width:none; }
body[data-view="projects"] .sidebar nav::-webkit-scrollbar { display:none; }
body[data-view="projects"] .nav-item { min-height:29px; margin:1px 0; padding:6px 10px; color:#44484f; border:0; border-radius:6px; font-size:12px; }
body[data-view="projects"] .nav-item span { width:16px; color:#25282e; font-size:14px; }
body[data-view="projects"] .nav-item:hover { background:#f5f5f5; }
body[data-view="projects"] .nav-item.active { color:#181a1e; background:#f0f0f0; box-shadow:none; }
body[data-view="projects"] .nav-item.active span { color:#111; }
body[data-view="projects"] .cowvis-new-task { display:none; }
body[data-view="projects"] .cowvis-new-task span { display:grid; place-items:center; height:15px; color:#fff; border-radius:4px; background:#111; }
body[data-view="projects"] .cowvis-nav-label { display:block; margin:13px 10px 5px; color:#9a9a9a; font-size:12px; font-weight:500; }
body[data-view="projects"] .storage-card { margin-top:auto; padding:9px 11px; border-color:#ededed; border-radius:7px; background:#fafafa; }
body[data-view="projects"] .storage-card div { font-size:12px; }
body[data-view="projects"] .storage-card small { font-size:12px; }

.cowvis-home { display:grid; grid-template-columns:minmax(590px,1fr) 365px; width:100%; height:100vh; min-height:650px; background:#fafafa; }
.cowvis-office { position:relative; min-width:0; overflow:hidden; }
.cowvis-office > header { position:absolute; z-index:15; top:14px; left:18px; right:18px; height:45px; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.cowvis-office > header h1 { margin:0; font-size:18px; font-weight:700; letter-spacing:-.4px; }
.cowvis-office-title { display:inline-flex; align-items:center; gap:10px; pointer-events:auto; }
.cowvis-office-title label { position:relative; display:flex; align-items:center; gap:6px; padding-left:13px; border-left:1px solid #e2e2e2; }
.cowvis-office-title label span { color:#999; font-size:12px; }
.cowvis-office-title select { max-width:170px; height:29px; padding:0 25px 0 8px; overflow:hidden; color:#444; border:1px solid #e3e3e3; border-radius:7px; outline:0; background:#fff; font-size:12px; text-overflow:ellipsis; cursor:pointer; }
.cowvis-office-title select:focus-visible { border-color:#5680d5; box-shadow:0 0 0 3px rgba(86,128,213,.12); }
.cowvis-top-create { height:30px; padding:0 12px; color:#fff; border:0; border-radius:7px; background:#17191d; font-size:12px; font-weight:650; cursor:pointer; }
.cowvis-top-create:hover { background:#30343b; }
.cowvis-top-create:focus-visible,.cowvis-account:focus-visible { outline:2px solid #5680d5; outline-offset:2px; }
.cowvis-account { position:absolute; right:0; display:grid; grid-template-columns:28px auto; grid-template-rows:auto auto; column-gap:7px; min-width:92px; padding:0; text-align:left; color:#333; border:0; background:transparent; pointer-events:auto; cursor:pointer; }
.cowvis-account > span { grid-row:1 / 3; display:grid; place-items:center; width:28px; height:28px; color:#fff; border-radius:9px; background:#22252b; font-size:12px; font-weight:700; }
.cowvis-account b { align-self:end; font-size:12px; }
.cowvis-account small { align-self:start; color:#999; font-size:12px; }
.cowvis-scene { position:absolute; inset:66px 13px 13px 15px; overflow:hidden; border-radius:3px; background:linear-gradient(180deg,#fcfcfc,#f8f8f8); }
.cowvis-scene::before { content:""; position:absolute; inset:0; opacity:.5; background-image:radial-gradient(circle at 50% 25%,#fff 0 35%,transparent 60%); pointer-events:none; }
.cowvis-office-note { position:absolute; z-index:12; right:14px; bottom:7px; display:flex; align-items:center; gap:7px; padding:6px 9px; color:#898989; border-radius:12px; background:rgba(255,255,255,.86); font-size:12px; box-shadow:0 2px 8px rgba(0,0,0,.04); }
.cowvis-waiting-area,.lounge-cow,.coffee-zone,.fitness-zone,.rest-zone { display:none; }
.cowvis-waiting-area { position:absolute; z-index:8; inset:0; pointer-events:none; }
.cowvis-waiting-area > b { position:absolute; left:4%; bottom:4%; color:#858585; font-size:12px; }
.cowvis-waiting-area > small { position:absolute; left:4%; bottom:1.8%; max-width:190px; color:#b0b0b0; font-size:12px; }
.lounge-cow { --scarf:#ef4c3e; position:absolute; z-index:11; width:76px; height:92px; padding:0; color:#222; border:0; background:transparent; cursor:pointer; pointer-events:auto; }
.lounge-cow.lounge-1 { left:5%; top:12%; }
.lounge-cow.lounge-2 { left:19%; top:12%; }
.lounge-cow.lounge-3 { left:5%; top:42%; }
.lounge-cow.lounge-4 { left:19%; top:42%; }
.lounge-cow.lounge-5 { left:5%; top:72%; }
.lounge-cow.lounge-6 { left:19%; top:72%; }
.lounge-cow.yellow { --scarf:#f0b632; }
.lounge-cow.cyan { --scarf:#36b9b4; }
.lounge-cow.blue { --scarf:#4a79d1; }
.lounge-cow.purple { --scarf:#9a65c8; }
.lounge-cow.green { --scarf:#4aa46f; }
.lounge-cow .cow-agent { left:50%; top:2px; transform:translateX(-50%) scale(.68); transform-origin:center top; }
.lounge-cow:hover .cow-agent { transform:translateX(-50%) translateY(-2px) scale(.72); }
.lounge-cow > span:last-child { position:absolute; left:50%; bottom:0; width:90px; transform:translateX(-50%); text-align:center; }
.lounge-cow > span:last-child b,.lounge-cow > span:last-child small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lounge-cow > span:last-child b { font-size:12px; }
.lounge-cow > span:last-child small { margin-top:2px; color:#999; font-size:12px; }
.lounge-cow.queued > span:last-child small { color:#c17a23; }
.lounge-cow.review > span:last-child small { color:#9a7223; }
.lounge-cow.done > span:last-child small { color:#39845b; }
.lounge-cow.error > span:last-child small { color:#c94c4c; }
.lounge-cow:focus-visible { outline:2px solid #5680d5; outline-offset:1px; border-radius:8px; }

.coffee-zone,.fitness-zone,.rest-zone { position:absolute; left:3%; width:29%; background:#f3f3f3; box-shadow:0 16px 24px rgba(0,0,0,.06); }
.coffee-zone { top:6%; height:22%; }
.coffee-zone::before { content:""; position:absolute; left:0; right:0; bottom:0; height:46%; background:#f8f8f8; box-shadow:0 8px 15px rgba(0,0,0,.06); }
.coffee-cups { position:absolute; z-index:2; left:14%; top:14%; display:grid; grid-template-columns:repeat(4,12px); gap:8px 10px; }
.coffee-cups i { width:10px; height:10px; border:2px solid #fff; border-radius:50%; background:#a5724f; box-shadow:0 3px 4px rgba(80,50,30,.18); }
.coffee-machine { position:absolute; z-index:3; right:8%; top:8%; width:44px; height:44px; background:#d8d8d8; box-shadow:inset 0 8px #9d9d9d,0 7px 10px rgba(0,0,0,.12); }
.coffee-machine::after { content:""; position:absolute; left:10px; right:10px; bottom:4px; height:11px; background:#4a4a4a; }
.fitness-zone { top:36%; height:24%; }
.treadmill { position:absolute; left:18%; top:24%; width:112px; height:55px; border-radius:2px; background:#d5d5d5; box-shadow:0 15px 20px rgba(0,0,0,.1); transform:skewY(-4deg); }
.treadmill::before { content:""; position:absolute; left:10px; top:9px; width:73px; height:34px; border-radius:3px; background:#b9b9b9; }
.treadmill::after { content:""; position:absolute; right:2px; top:-42px; width:10px; height:50px; background:#a7a7a7; box-shadow:15px 0 #a7a7a7; }
.treadmill i { position:absolute; right:-20px; top:-45px; width:35px; height:26px; border-radius:3px; background:#8d9093; transform:skewY(4deg); }
.rest-zone { top:69%; height:25%; }
.rest-partition { position:absolute; left:22%; top:12%; width:5px; height:64px; background:#d3d3d3; box-shadow:35px 0 #e2e2e2; }
.rest-seat { position:absolute; left:17%; bottom:16%; width:42px; height:32px; border:7px solid #eee; border-radius:4px 4px 16px 16px; background:#cacaca; box-shadow:0 9px 14px rgba(0,0,0,.08); }
.rest-seat::after { content:""; position:absolute; left:7px; top:-34px; width:28px; height:29px; border-radius:3px; background:#f7f7f7; }

.cowvis-station { --scarf:#ef4c3e; position:absolute; z-index:5; width:190px; height:156px; padding:0; color:#15171a; border:0; background:transparent; cursor:pointer; transform:translate(-50%,-50%); }
.cowvis-station.seat-01 { left:30%; top:16%; }
.cowvis-station.seat-02 { left:70%; top:16%; }
.cowvis-station.seat-03 { left:30%; top:47%; }
.cowvis-station.seat-04 { left:70%; top:47%; }
.cowvis-station.seat-05 { left:30%; top:78%; }
.cowvis-station.seat-06 { left:70%; top:78%; }
.cowvis-station.yellow { --scarf:#f0b632; }
.cowvis-station.cyan { --scarf:#36b9b4; }
.cowvis-station.blue { --scarf:#4a79d1; }
.cowvis-station.purple { --scarf:#9a65c8; }
.cowvis-station.green { --scarf:#4aa46f; }
.cowvis-station:focus-visible { outline:2px solid #3e6cd5; outline-offset:3px; border-radius:8px; }
.cowvis-role { position:absolute; z-index:12; top:0; left:50%; min-width:130px; text-align:center; transform:translateX(-50%); }
.cowvis-role b,.cowvis-role small { display:block; }
.cowvis-role b { font-size:9px; }
.cowvis-role small { margin-top:2px; color:#aaa; font-size:6px; opacity:0; transition:opacity .15s; }
.cowvis-station:hover .cowvis-role small { opacity:1; }
.cowvis-desk { position:absolute; z-index:3; left:50%; top:25px; width:145px; height:99px; transform:translateX(-50%); filter:drop-shadow(0 13px 10px rgba(0,0,0,.12)); }
.cowvis-tabletop { position:absolute; z-index:2; left:7px; right:7px; top:30px; height:41px; border:1px solid #efefef; border-radius:2px; background:#fff; box-shadow:inset 0 -5px #f7f7f7; }
.cowvis-table-leg { position:absolute; z-index:1; top:65px; width:6px; height:45px; border-radius:0 0 2px 2px; background:#d7d7d7; }
.cowvis-table-leg.left { left:18px; }
.cowvis-table-leg.right { right:18px; }
.cowvis-monitor { position:absolute; z-index:5; left:50%; top:0; width:62px; height:43px; transform:translateX(-50%); border:4px solid #f3f3f3; border-bottom-width:7px; border-radius:2px; background:#1c1d20; box-shadow:0 5px 7px rgba(0,0,0,.08); }
.cowvis-monitor::before { content:""; position:absolute; left:26px; bottom:-16px; width:4px; height:10px; background:#d0d0d0; }
.cowvis-monitor::after { content:""; position:absolute; left:17px; bottom:-18px; width:24px; height:3px; background:#d0d0d0; }
.cowvis-monitor em { position:absolute; inset:3px; opacity:.45; background:linear-gradient(145deg,#17181b,#34363a); }
.cowvis-station.active .cowvis-monitor em { opacity:1; background:linear-gradient(145deg,#dcecff,#6390df); animation:cowvisScreen 1.6s ease-in-out infinite; }
.cowvis-chair { position:absolute; z-index:0; left:50%; bottom:-8px; width:54px; height:50px; transform:translateX(-50%); border-radius:8px 8px 20px 20px; background:#e8e8e8; box-shadow:0 8px 10px rgba(0,0,0,.08); }
.cow-agent { position:absolute; z-index:10; left:50%; top:66px; width:49px; height:73px; transform:translateX(-50%); transition:transform .18s ease; }
.cowvis-station:hover .cow-agent { transform:translateX(-50%) translateY(-3px); }
.cow-body { position:absolute; z-index:3; left:5px; bottom:0; width:39px; height:48px; border-radius:17px 17px 8px 8px; background:#17191d; box-shadow:inset 0 -8px rgba(255,255,255,.03); }
.cow-body::before,.cow-body::after { content:""; position:absolute; bottom:-12px; width:9px; height:18px; border-radius:4px; background:#17191d; }
.cow-body::before { left:5px; }
.cow-body::after { right:5px; }
.cow-body span { position:absolute; left:50%; top:17px; color:#fff; font-size:8px; font-style:normal; font-weight:800; transform:translateX(-50%); }
.cow-head { position:absolute; z-index:7; left:8px; top:1px; width:34px; height:33px; border-radius:46% 46% 53% 53%; background:#17191d; }
.cow-head::before { content:""; position:absolute; left:7px; bottom:3px; width:21px; height:13px; border-radius:50%; background:#f0eee8; }
.cow-head::after { content:"··"; position:absolute; left:9px; top:4px; color:#fff; font-size:11px; letter-spacing:4px; }
.cow-head em::before,.cow-head em::after { content:""; position:absolute; z-index:2; bottom:8px; width:3px; height:3px; border-radius:50%; background:#666; }
.cow-head em::before { left:12px; }
.cow-head em::after { right:10px; }
.cow-horn { position:absolute; z-index:5; top:-5px; width:11px; height:15px; border:3px solid #17191d; border-bottom:0; border-radius:11px 11px 0 0; }
.cow-horn.left { left:5px; transform:rotate(-29deg); }
.cow-horn.right { right:5px; transform:rotate(29deg); }
.cow-ear { position:absolute; z-index:6; top:5px; width:12px; height:8px; border-radius:80% 20% 80% 20%; background:#17191d; }
.cow-ear.left { left:0; transform:rotate(18deg); }
.cow-ear.right { right:0; transform:scaleX(-1) rotate(18deg); }
.cow-scarf { position:absolute; z-index:9; left:5px; top:27px; width:40px; height:9px; border-radius:2px; background:var(--scarf); box-shadow:0 3px 0 color-mix(in srgb,var(--scarf) 65%,#222); }
.cowvis-state { position:absolute; z-index:13; right:12px; bottom:2px; padding:3px 7px; color:#888; border:1px solid #ececec; border-radius:8px; background:rgba(255,255,255,.92); font-size:12px; opacity:1; }
.cowvis-station.active .cowvis-state { color:#d67d21; opacity:1; }
.cowvis-station.done .cowvis-state { color:#35855a; opacity:1; }
.cowvis-station.queued .cowvis-state { color:#b77927; opacity:1; }
.cowvis-station.review .cowvis-state { color:#98711e; opacity:1; }
.cowvis-station.error .cowvis-state { color:#bf4545; opacity:1; }
.cowvis-submitter { position:absolute; z-index:14; left:10px; bottom:2px; max-width:96px; padding:3px 6px; overflow:hidden; color:#5c6572; border-radius:8px; background:#eef1f5; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.cowvis-station.done .cowvis-monitor em { opacity:1; background:#e4f4ea; }
.cowvis-station.done .cowvis-monitor em::after { content:"✓"; position:absolute; inset:0; display:grid; place-items:center; color:#36835a; font-size:14px; font-style:normal; font-weight:800; }
.cowvis-station.queued .cowvis-monitor em { opacity:1; background:#fff3dc; }
.cowvis-station.queued .cowvis-monitor em::after { content:"…"; position:absolute; inset:0; display:grid; place-items:center; color:#b87927; font-size:15px; font-style:normal; font-weight:800; }
.cowvis-station.review .cowvis-monitor em { opacity:1; background:#fff8dc; }
.cowvis-station.review .cowvis-monitor em::after { content:"?"; position:absolute; inset:0; display:grid; place-items:center; color:#9f7a23; font-size:13px; font-style:normal; font-weight:800; }
.cowvis-station.error .cowvis-monitor em { opacity:1; background:#fde7e7; }
.cowvis-station.error .cowvis-monitor em::after { content:"!"; position:absolute; inset:0; display:grid; place-items:center; color:#c44747; font-size:13px; font-style:normal; font-weight:800; }

.cowvis-inspector { min-width:0; padding:58px 28px 25px; overflow:auto; border-left:1px solid #f0f0f0; background:#fff; }
.cowvis-usage { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.cowvis-usage > div { min-width:0; }
.cowvis-usage span { display:block; margin-bottom:12px; color:#555; font-size:12px; }
.cowvis-usage strong { display:block; margin-bottom:8px; font-size:20px; font-weight:650; }
.cowvis-usage strong small { color:#aaa; font-size:12px; font-weight:400; }
.cowvis-usage progress { width:100%; height:3px; accent-color:#121212; }
.cowvis-usage p { margin:13px 0 0; color:#aaa; font-size:12px; }
.cowvis-detail { margin-top:30px; }
.cowvis-detail > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.cowvis-detail > header span { color:#777; font-size:12px; }
.cowvis-detail > header button { padding:0; color:#555; border:0; background:none; font-size:12px; cursor:pointer; }
.cowvis-task-stats { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:17px; padding:16px 5px; border-radius:9px; background:#f8f8f8; }
.cowvis-task-stats span { text-align:center; border-right:1px solid #e8e8e8; }
.cowvis-task-stats span:last-child { border-right:0; }
.cowvis-task-stats b,.cowvis-task-stats small { display:block; }
.cowvis-task-stats b { font-size:17px; }
.cowvis-task-stats small { margin-top:4px; color:#999; font-size:12px; }
.cowvis-task-list { min-height:240px; }
.cowvis-task-row { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; gap:3px 12px; padding:12px 3px; border-bottom:1px solid #f0f0f0; }
.cowvis-task-row.project-link { cursor:pointer; }
.cowvis-task-row.project-link:hover { background:#fafafa; }
.cowvis-task-row > div { min-width:0; }
.cowvis-task-row b,.cowvis-task-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cowvis-task-row b { font-size:12px; font-weight:600; }
.cowvis-task-row small { margin-top:4px; color:#a0a0a0; font-size:12px; }
.cowvis-task-row > span { color:#777; font-size:12px; }
.cowvis-task-row time { grid-column:2; color:#aaa; font-size:12px; }
.cowvis-no-task { display:grid; place-items:center; align-content:center; min-height:210px; color:#aaa; text-align:center; }
.cowvis-no-task b { color:#666; font-size:12px; }
.cowvis-no-task small { max-width:210px; margin-top:7px; font-size:12px; line-height:1.6; }
.cowvis-create { width:100%; min-height:38px; color:#fff; border:0; border-radius:7px; background:#15171b; font-size:12px; font-weight:650; cursor:pointer; }
.cowvis-create:hover { background:#2a2d33; }

@keyframes cowvisScreen { 0%,100% { filter:brightness(.9); } 50% { filter:brightness(1.18); } }
@media (prefers-reduced-motion:reduce) { .cowvis-monitor em,.cow-agent { animation:none !important; transition:none; } }
@media (max-width:1180px) {
  body[data-view="projects"] .app-shell { grid-template-columns:174px minmax(0,1fr); }
  .cowvis-home { grid-template-columns:minmax(545px,1fr) 330px; }
  .cowvis-station { transform:translate(-50%,-50%) scale(.9); }
  .cowvis-inspector { padding-inline:20px; }
}

body[data-view="login"] { min-width:760px; color:#17191d; background:#f4f5f7; }
body[data-view="login"] .app-shell { display:block; min-height:100vh; }
body[data-view="login"] .topbar,body[data-view="login"] .sidebar,body[data-view="login"] .right-rail { display:none; }
body[data-view="login"] .main-content { width:100vw; height:100vh; overflow:auto; background:radial-gradient(circle at 50% 40%,#fff 0 18%,#f5f6f8 55%,#eceef1 100%); }
.login-screen { display:grid; min-height:100vh; place-items:center; padding:40px; }
.login-card { width:360px; padding:34px 38px 30px; border:1px solid #e5e6e8; border-radius:16px; background:#fff; box-shadow:0 28px 70px rgba(29,34,42,.12); }
.login-cow { display:grid; place-items:center; width:48px; height:48px; margin:0 auto 17px; border-radius:15px; background:#f0f1f3; }
.login-cow .cowvis-brand-head { transform:scale(1.06); }
.login-card h1 { margin:0; color:#17191d; text-align:center; font-size:25px; letter-spacing:-.8px; }
.login-card > p { margin:8px 0 26px; color:#8a8f97; text-align:center; font-size:14px; }
.login-card label { display:grid; gap:7px; margin-top:14px; color:#555b64; font-size:13px; }
.login-card input { height:42px; padding:0 13px; color:#23262b; border:1px solid #dedfe2; border-radius:8px; outline:0; background:#fafafa; }
.login-card input:focus { border-color:#25282e; box-shadow:0 0 0 3px rgba(37,40,46,.08); }
.login-submit { width:100%; height:43px; margin-top:20px; color:#fff; border:0; border-radius:8px; background:#17191d; font-weight:700; cursor:pointer; }
.login-submit:disabled { opacity:.55; cursor:wait; }
.login-card > small { display:block; margin-top:16px; color:#9b9fa6; text-align:center; font-size:12px; line-height:1.7; }
.login-error { margin:-12px 0 10px; padding:8px 10px; color:#a23d46; border-radius:7px; background:#fff0f1; font-size:12px; }
.account-summary { display:flex; align-items:center; gap:12px; margin:8px 0 18px; padding:15px; border-radius:10px; background:#f5f6f7; }
.account-summary > span { display:grid; place-items:center; width:42px; height:42px; color:#fff; border-radius:12px; background:#202329; font-size:17px; font-weight:700; }
.account-summary b,.account-summary small { display:block; }
.account-summary small { margin-top:5px; color:#92969c; font-size:12px; }

.project-hub-shell { background:#f3f4f5; }
.project-hub { min-width:0; padding:34px 38px 50px; overflow:auto; }
.project-hub > header { display:flex; align-items:flex-end; justify-content:space-between; padding-bottom:20px; border-bottom:1px solid #dcdfe3; }
.project-hub > header p { margin:0 0 5px; color:#8a8f96; font-size:12px; }
.project-hub > header h1 { margin:0; color:#15171a; font-size:31px; font-weight:760; letter-spacing:-1.4px; }
.project-hub > header span { display:block; margin-top:7px; color:#81868d; font-size:12px; }
.project-hub > header button,.hub-empty button { height:36px; padding:0 16px; color:#fff; border:0; border-radius:7px; background:#17191d; font-size:12px; font-weight:700; cursor:pointer; }
.hub-project-grid { display:grid; grid-template-columns:repeat(2,minmax(320px,1fr)); gap:13px; }
.hub-first-step { display:none; }
.hub-head-actions { display:flex; align-items:center; gap:12px; }
.hub-worker { display:flex !important; align-items:center; gap:6px; margin:0 !important; color:#9a6a25 !important; font-size:12px !important; }
.hub-worker i { width:7px; height:7px; border-radius:50%; background:#d49a45; box-shadow:0 0 0 3px rgba(212,154,69,.12); }
.hub-worker.online { color:#3d775b !important; }
.hub-worker.online i { background:#46a36f; box-shadow:0 0 0 3px rgba(70,163,111,.12); }
.hub-summary { display:flex; gap:0; margin:16px 0 18px; padding:12px 0; border-bottom:1px solid #dfe1e4; }
.hub-summary > span { min-width:112px; padding-right:24px; }
.hub-summary b,.hub-summary small { display:block; }
.hub-summary b { color:#1b1d21; font-size:21px; }
.hub-summary small { margin-top:3px; color:#96999e; font-size:12px; }
.hub-project-card { --cow-accent:#657589; display:grid; grid-template-columns:152px minmax(0,1fr); min-width:0; min-height:205px; overflow:hidden; border:1px solid #dfe2e5; border-radius:10px; background:#fff; box-shadow:0 10px 26px rgba(37,43,51,.055); }
.hub-project-card.active { --cow-accent:#e07a35; }
.hub-project-card.queued { --cow-accent:#d4a03e; }
.hub-project-card.review { --cow-accent:#8a6fc3; }
.hub-project-card.done { --cow-accent:#44966a; }
.hub-project-card.error { --cow-accent:#cb5555; }
.hub-project-card.waiting-input { --cow-accent:#86909d; }
.project-cow-stage { position:relative; min-height:205px; overflow:hidden; background:linear-gradient(160deg,#262b32 0 67%,#20242a 67%); }
.project-cow-stage::before { content:""; position:absolute; left:0; right:0; bottom:54px; height:1px; background:rgba(255,255,255,.08); box-shadow:0 18px 26px rgba(0,0,0,.28); }
.project-cow-stage::after { content:""; position:absolute; left:18px; right:18px; bottom:17px; height:13px; border:1px solid rgba(255,255,255,.06); border-radius:50%; background:rgba(0,0,0,.13); filter:blur(1px); }
.project-cow-number { position:absolute; z-index:5; top:13px; left:14px; color:rgba(255,255,255,.38); font-size:12px; font-weight:700; letter-spacing:.8px; }
.project-cow-stage .cowvis-desk { top:48px; width:135px; transform:translateX(-50%) scale(.82); transform-origin:center top; filter:drop-shadow(0 15px 9px rgba(0,0,0,.25)); }
.project-cow-stage .cowvis-tabletop { border-color:#3e454f; background:#4a515b; box-shadow:inset 0 -5px #424852; }
.project-cow-stage .cowvis-table-leg { background:#353b43; }
.project-cow-stage .cowvis-monitor { border-color:#dfe3e8; background:#111317; }
.project-cow-stage .cowvis-monitor em { display:grid; place-items:center; opacity:1; background:#171a1f; }
.project-cow-stage .cowvis-monitor em span { color:var(--cow-accent); font-size:8px; font-style:normal; font-weight:800; }
.project-cow-stage .cowvis-chair { background:#343a43; }
.project-cow-stage .cow-agent { top:101px; transform:translateX(-50%) scale(.82); transform-origin:center top; --scarf:var(--cow-accent); }
.hub-cow-project:hover .project-cow-stage .cow-agent { transform:translateX(-50%) translateY(-2px) scale(.84); }
.project-cow-state { position:absolute; z-index:15; left:50%; bottom:10px; width:max-content; padding:4px 8px; color:#fff; border:1px solid rgba(255,255,255,.12); border-radius:10px; background:rgba(14,16,20,.72); font-size:12px; transform:translateX(-50%); }
.hub-cow-project.active .cowvis-monitor em { background:linear-gradient(145deg,#3d251b,#e07a35); animation:cowvisScreen 1.6s ease-in-out infinite; }
.hub-cow-project.active .cowvis-monitor em span { color:#fff; }
.hub-cow-project.done .cowvis-monitor em { background:#dff0e6; }
.hub-cow-project.error .cowvis-monitor em { background:#f5dede; }
.hub-cow-project.waiting-input .cow-agent { opacity:.72; }
.project-cow-copy { display:flex; min-width:0; flex-direction:column; }
.hub-project-open { width:100%; flex:1; padding:18px 18px 10px; color:#202227; border:0; background:transparent; text-align:left; cursor:pointer; }
.hub-project-open:focus-visible { outline:2px solid #5680d5; outline-offset:-3px; border-radius:8px; }
.hub-project-code { color:#a0a3a8; font-size:12px; }
.hub-project-card h2 { margin:7px 0 4px; overflow:hidden; font-size:17px; text-overflow:ellipsis; white-space:nowrap; }
.hub-project-card p { margin:0; color:#8b8f95; font-size:12px; }
.hub-project-tags { display:flex; gap:5px; margin:13px 0 8px; }
.hub-project-tags span { padding:4px 7px; color:#454a52; border-radius:5px; background:#eff0f2; font-size:12px; }
.hub-project-tags .auto { color:#9a5a0b; background:#fff0d9; }
.hub-project-tags .manual { color:#3564a0; background:#e8f1fd; }
.hub-project-tags .half { color:#6f5599; background:#f0eafa; }
.hub-project-open > small { display:block; min-height:16px; color:#9b9ea3; font-size:12px; }
.hub-progress { height:3px; margin:12px 0 0; overflow:hidden; border-radius:2px; background:#ededed; }
.hub-progress i { display:block; height:100%; background:var(--cow-accent); }
.project-cow-copy > footer { display:flex; min-height:48px; align-items:center; justify-content:space-between; gap:10px; margin:0 18px; border-top:1px solid #eef0f2; }
.project-cow-copy > footer div { min-width:0; }
.project-cow-copy > footer b,.project-cow-copy > footer small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.project-cow-copy > footer b { color:#4e545c; font-size:12px; font-weight:650; }
.project-cow-copy > footer small { max-width:155px; margin-top:3px; color:#9da1a7; font-size:12px; }
.project-cow-copy > footer time { flex:none; color:#aaadb1; font-size:12px; }
.project-cow-copy > footer button { flex:none; padding:6px 8px; color:#fff; border:0; border-radius:5px; background:#32363c; font-size:12px; font-weight:650; cursor:pointer; }
.hub-intake-rule { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; margin:18px 0 0; padding:10px 12px; border-left:3px solid #20242a; background:#fff; box-shadow:0 1px 0 rgba(0,0,0,.03); }
.hub-intake-rule b { font-size:12px; }
.hub-intake-rule span { color:#626870; font-size:12px; }
.hub-intake-rule small { color:#92979e; font-size:12px; }
.hub-empty { grid-column:1/-1; display:grid; place-items:center; align-content:center; min-height:330px; color:#8b8f96; text-align:center; }
.hub-empty b { color:#33373d; }
.hub-empty p { margin:8px 0 18px; font-size:12px; }
.hub-inspector { padding-top:35px; }
.hub-account { display:grid; grid-template-columns:34px 1fr auto; gap:9px; align-items:center; padding-bottom:20px; border-bottom:1px solid #ededed; }
.hub-account > span { display:grid; place-items:center; width:34px; height:34px; color:#fff; border-radius:10px; background:#202329; font-size:13px; font-weight:700; }
.hub-account b,.hub-account small { display:block; }
.hub-account b { font-size:12px; }
.hub-account small { margin-top:3px; color:#999da3; font-size:12px; }
.hub-account button { padding:6px 9px; color:#555; border:1px solid #e5e5e5; border-radius:6px; background:#fff; font-size:12px; cursor:pointer; }
.cowvis-audit { margin-top:24px; padding-top:20px; border-top:1px solid #ececec; }
.cowvis-audit > header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:9px; }
.cowvis-audit > header b,.cowvis-audit > header small { display:block; }
.cowvis-audit > header b { color:#45494f; font-size:12px; }
.cowvis-audit > header small { margin-top:3px; color:#a1a4a9; font-size:12px; }
.cowvis-audit > header > span { color:#a0a3a8; font-size:12px; }
.audit-row { display:grid; grid-template-columns:24px 1fr; gap:8px; padding:9px 0; border-bottom:1px solid #f0f0f0; }
.audit-row > i { display:grid; place-items:center; width:22px; height:22px; color:#4d6e98; border-radius:6px; background:#eaf1fa; font-size:12px; font-style:normal; }
.audit-row.modify > i { color:#8e5a16; background:#fff0db; }
.audit-row b,.audit-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.audit-row b { color:#555960; font-size:12px; font-weight:600; }
.audit-row small { margin-top:4px; color:#a2a5aa; font-size:12px; }
.cowvis-audit > div > p { padding:18px 0; color:#aaa; font-size:12px; text-align:center; }

.project-pipeline { margin-bottom:20px; padding:17px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
.project-pipeline > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:15px; }
.project-pipeline > header b,.project-pipeline > header small { display:block; }
.project-pipeline > header small { margin-top:4px; color:var(--muted); font-size:12px; }
.project-pipeline > header > button { padding:7px 10px; color:#cfd7e2; border:1px solid var(--line); border-radius:7px; background:var(--surface-3); cursor:pointer; }
.project-pipeline > div { display:grid; grid-template-columns:repeat(6,minmax(105px,1fr)); gap:7px; }
.project-pipeline.workflow-v2 > div { grid-template-columns:repeat(7,minmax(96px,1fr)); }
.project-pipeline article { display:grid; grid-template-columns:22px 1fr; gap:2px 7px; min-width:0; padding:10px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.project-pipeline article > span { grid-row:1/3; display:grid; place-items:center; width:22px; height:22px; color:#081a18; border-radius:6px; background:var(--teal); font-size:12px; font-weight:800; }
.project-pipeline article.pending-api > span { color:#4c3a21; background:#d8b06d; }
.project-pipeline article.active { border-color:#28c4b4; box-shadow:inset 0 0 0 1px rgba(40,196,180,.18); }
.project-pipeline article.active > span { color:#042a26; background:#63e2d6; }
.project-pipeline article.queued > span,.project-pipeline article.waiting > span,.project-pipeline article.ready > span { color:#4c3a21; background:#e5bd76; }
.project-pipeline article.error { border-color:#b84f58; }
.project-pipeline article.error > span { color:#fff; background:#b84f58; }
.project-pipeline article.done > span { color:#05241f; background:#52d4c6; }
.project-pipeline article.locked { opacity:.48; }
.project-pipeline article.locked > span { color:#69717b; background:#aeb5bd; }
.project-pipeline article b { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.project-pipeline article small { overflow:hidden; color:var(--muted); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.project-pipeline article button { grid-column:1/-1; margin-top:7px; padding:5px; color:#aeb8c6; border:1px solid var(--line); border-radius:5px; background:transparent; font-size:12px; cursor:pointer; }
.project-pipeline article button:disabled { cursor:not-allowed; }
.workflow-warning { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:13px; margin-bottom:12px; padding:12px 14px; border:1px solid #c9913a; border-radius:9px; background:#fff4dc; }
.workflow-warning b { color:#4a3515; font-size:12px; }
.workflow-warning span { color:#715a35; font-size:12px; line-height:1.55; }
.workflow-warning button { padding:7px 10px; color:#fff; border:0; border-radius:7px; background:#25292f; font-size:12px; cursor:pointer; }
.collector-guidance { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; margin-bottom:14px; padding:13px 15px; border-left:3px solid #d8a33b; border-radius:7px; background:#282c32; }
.collector-guidance b { color:#fff; font-size:12px; }
.collector-guidance span { color:#b8c0ca; font-size:12px; line-height:1.55; }
.collector-guidance > div { display:flex; gap:7px; }
.workflow-gate { margin-bottom:12px; }
.product-intake-notice { display:flex; align-items:center; gap:12px; margin-bottom:16px; padding:13px 15px; border:1px solid #d6a44c; border-radius:9px; background:#fff7e8; }
.product-intake-notice b { color:#3f3421; font-size:13px; white-space:nowrap; }
.product-intake-notice span { color:#7a694e; font-size:12px; line-height:1.55; }
.generator-intake-gate { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; margin-bottom:12px; padding:13px 15px; border:1px solid #d6a44c; border-radius:9px; background:#fff7e8; }
.generator-intake-gate b { color:#3f3421; font-size:13px; }
.generator-intake-gate span { color:#7a694e; font-size:12px; }
.generator-intake-gate label { display:grid; place-items:center; cursor:pointer; }
.generator-intake-gate input { display:none; }
.project-create-modal { width:min(660px,calc(100vw - 40px)); }
.project-create-modal form { display:grid; grid-template-columns:1fr 1fr; gap:13px 16px; }
.project-create-modal form > label,.project-create-modal form > footer,.project-create-modal .deliverable-options,.project-first-step { grid-column:1/-1; }
.project-first-step { display:flex; align-items:center; gap:10px; padding:10px 12px; border-left:3px solid #d8a33b; border-radius:3px; background:#2a2d33; }
.project-first-step b { color:#fff; font-size:12px; white-space:nowrap; }
.project-first-step span { color:#adb4be; font-size:12px; line-height:1.5; }
.project-create-modal fieldset { display:grid; gap:7px; margin:0; padding:0; border:0; }
.project-create-modal legend { margin-bottom:7px; color:var(--muted); font-size:12px; }
.choice-card { display:flex !important; grid-template-columns:none !important; align-items:center; gap:9px !important; margin:0 !important; padding:9px 10px; border:1px solid var(--line); border-radius:8px; background:var(--surface-2); cursor:pointer; }
.choice-card input { width:auto !important; }
.choice-card b,.choice-card small { display:block; }
.choice-card small { margin-top:3px; color:var(--muted); font-size:12px; }
.deliverable-options { display:flex !important; flex-wrap:wrap; gap:7px !important; }
.deliverable-options legend { width:100%; }
.deliverable-options label { display:flex; align-items:center; gap:6px; padding:7px 9px; border:1px solid var(--line); border-radius:7px; background:var(--surface-2); }
.deliverable-options input { width:auto !important; }
.deliverable-options.locked { opacity:.65; }
.image-tile footer button { padding:3px 5px; color:#7fded5; border:0; background:transparent; font-size:12px; cursor:pointer; }
.task-detail-modal { width:min(610px,calc(100vw - 40px)); }
.task-times { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; overflow:hidden; border:1px solid var(--line); border-radius:9px; background:var(--line); }
.task-times > div { padding:11px; background:var(--surface-2); }
.task-times dt { color:var(--muted); font-size:12px; }
.task-times dd { margin:5px 0 0; font-size:13px; }
.task-event-list { margin-top:16px; }
.task-event-list article { display:grid; grid-template-columns:12px 1fr; gap:9px; padding:9px 0; border-bottom:1px solid var(--line); }
.task-event-list i { width:7px; height:7px; margin-top:3px; border-radius:50%; background:var(--teal); }
.task-event-list b,.task-event-list small { display:block; }
.task-event-list small { margin-top:4px; color:var(--muted); font-size:12px; }
.right-rail .cowvis-audit { border-top-color:var(--line); }
.right-rail .cowvis-audit > header b,.right-rail .audit-row b { color:#dbe1e9; }
.right-rail .cowvis-audit > header small,.right-rail .audit-row small { color:#7f8999; }
.right-rail .audit-row { border-bottom-color:var(--line-soft); }
.task-list .task-row { grid-template-columns:55px minmax(175px,1.45fr) minmax(125px,1fr) 88px 72px 84px; gap:10px; }
.task-list .task-row > .btn { width:84px; padding-inline:7px; white-space:nowrap; }
.task-list .task-row > .btn + .btn { grid-column:6; }

@media (max-width:1380px) {
  .project-hub { padding-inline:25px; }
  .hub-project-grid { grid-template-columns:1fr; }
  .hub-project-card { grid-template-columns:145px minmax(0,1fr); }
  .project-pipeline.workflow-v2 > div { grid-template-columns:repeat(4,minmax(110px,1fr)); }
}

@media (max-width:900px) {
  .hub-intake-rule { grid-template-columns:1fr; gap:4px; }
  .hub-head-actions { align-items:flex-end; flex-direction:column-reverse; }
  .generator-intake-gate { grid-template-columns:1fr; }
  .project-pipeline.workflow-v2 > div { grid-template-columns:1fr; }
  .workflow-warning,.collector-guidance { grid-template-columns:1fr; }
}

/* Global navigation and project activity drawer · v0.19 */
[hidden] { display:none !important; }
.sidebar nav { align-content:start; }
.sidebar .cowvis-nav-label { display:block; margin:16px 11px 5px; color:#999ea7; font-size:12px; font-weight:650; letter-spacing:.06em; }
.sidebar .cowvis-nav-label:first-child { margin-top:5px; }
.nav-item { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:center; gap:10px; min-height:42px; padding:9px 12px; }
.nav-item .nav-icon { display:block; width:18px; height:18px; justify-self:center; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; color:#8a8e97; }
.nav-item .nav-label { width:auto; color:inherit; font-size:14px; line-height:1.2; text-align:left; }
.nav-item.active .nav-icon { color:#5259d4; }
body[data-view="projects"] .sidebar .cowvis-nav-label { margin:15px 10px 5px; font-size:12px; }
body[data-view="projects"] .sidebar .cowvis-nav-label:first-child { margin-top:7px; }
body[data-view="projects"] .nav-item { display:grid; grid-template-columns:18px minmax(0,1fr); gap:9px; min-height:34px; padding:7px 10px; }
body[data-view="projects"] .nav-item .nav-icon { width:15px; height:15px; color:#777d86; }
body[data-view="projects"] .nav-item .nav-label { width:auto; color:inherit; font-size:12px; }
body[data-view="projects"] .nav-item.active .nav-icon { color:#17191d; }

body[data-view="assets"] .app-shell,
body[data-view="models"] .app-shell { grid-template-columns:var(--sidebar) minmax(0,1fr); }
body[data-view="assets"] .right-rail,
body[data-view="models"] .right-rail { display:none; }

.project-hub-shell { display:block; }
.project-hub { width:100%; }
.hub-project-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:-2px 0 12px; }
.hub-project-toolbar > div { display:grid; gap:2px; }
.hub-project-toolbar > div b { color:#30343a; font-size:13px; }
.hub-project-toolbar > div small { color:#969ba3; font-size:12px; }
.hub-project-toolbar label { display:flex; align-items:center; width:230px; height:34px; padding:0 10px; color:#8e939b; border:1px solid #dfe1e5; border-radius:8px; background:#fff; }
.hub-project-toolbar svg { flex:0 0 auto; width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.hub-project-toolbar input { width:100%; min-width:0; padding:7px 8px; color:#30343a; border:0; outline:0; background:transparent; font-size:12px; }
.hub-project-toolbar label:focus-within { border-color:#6f74d7; box-shadow:0 0 0 3px rgba(93,99,230,.1); }
.hub-log-button { display:inline-flex; align-items:center; gap:7px; color:#4f545d !important; border:1px solid #dfe1e5 !important; background:#fff !important; }
.hub-log-button:hover { border-color:#c9ccd2 !important; background:#f7f8f9 !important; }
.hub-log-button b { display:grid; place-items:center; min-width:18px; height:18px; padding:0 5px; color:#fff; border-radius:999px; background:#575dcc; font-size:12px; }
.audit-drawer-backdrop { position:fixed; z-index:80; inset:0; display:flex; justify-content:flex-end; background:rgba(20,23,29,.28); backdrop-filter:blur(2px); }
.audit-drawer { width:min(390px,92vw); height:100vh; padding:24px 22px; overflow:auto; color:#202329; background:#fff; box-shadow:-20px 0 55px rgba(25,29,37,.18); animation:auditDrawerIn .2s ease-out; }
.audit-drawer-head { position:relative; padding-right:44px; }
.audit-drawer-head .hub-account { padding-bottom:18px; }
.audit-drawer-head > .modal-close { position:absolute; top:0; right:0; }
.audit-drawer > h2 { margin:22px 0 -8px; font-size:19px; }
.audit-drawer .cowvis-audit { margin-top:20px; }
.audit-drawer .audit-row { grid-template-columns:28px minmax(0,1fr); padding:11px 0; }
.audit-drawer .audit-row > i { width:25px; height:25px; }
.audit-drawer .audit-row b { font-size:12px; }
.audit-drawer .audit-row small { font-size:12px; }
@keyframes auditDrawerIn { from { opacity:0; transform:translateX(28px); } to { opacity:1; transform:translateX(0); } }
@media (prefers-reduced-motion:reduce) { .audit-drawer { animation:none; } }

/* One project, one asset library · v0.20 */
.project-library-page { max-width:1500px; margin:0 auto; }
.project-library-grid { display:grid; grid-template-columns:repeat(2,minmax(420px,1fr)); gap:16px; }
.project-library-card { min-width:0; overflow:hidden; border:1px solid #dfe2e6; border-radius:13px; background:#fff; box-shadow:0 8px 24px rgba(35,40,50,.045); }
.project-library-card > button { display:grid; grid-template-columns:190px minmax(0,1fr); width:100%; min-height:210px; padding:0; color:#25292f; border:0; background:transparent; text-align:left; cursor:pointer; }
.project-library-card > button:hover { background:#fafbfc; }
.project-library-card > button:focus-visible { outline:3px solid rgba(83,90,210,.28); outline-offset:-3px; }
.project-library-card figure { position:relative; min-height:210px; margin:0; overflow:hidden; border-right:1px solid #e5e7eb; background:#eef0f3; }
.project-library-card figure img { width:100%; height:100%; min-height:210px; object-fit:cover; }
.project-library-card figcaption { position:absolute; left:12px; bottom:12px; padding:5px 8px; color:#fff; border-radius:7px; background:rgba(26,29,35,.82); font-size:12px; font-weight:700; backdrop-filter:blur(7px); }
.project-library-folder { display:grid; width:100%; height:100%; place-items:center; }
.project-library-folder svg { width:64px; height:64px; fill:none; stroke:#7b8290; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }
.project-library-card > button > section { display:flex; min-width:0; flex-direction:column; padding:19px 20px 16px; }
.project-library-code { color:#999ea7; font-size:12px; font-weight:650; }
.project-library-card h2 { margin:6px 0 4px; overflow:hidden; font-size:20px; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
.project-library-card p { margin:0; overflow:hidden; color:#848993; font-size:12px; line-height:1.5; text-overflow:ellipsis; white-space:nowrap; }
.project-library-counts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:16px 0; }
.project-library-counts span { display:flex; align-items:baseline; gap:6px; min-width:0; color:#7d828c; font-size:12px; }
.project-library-counts b { color:#292d33; font-size:16px; font-variant-numeric:tabular-nums; }
.project-library-card footer { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:38px; margin-top:auto; padding-top:12px; border-top:1px solid #eceef1; }
.project-library-card footer span { overflow:hidden; color:#777d87; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.project-library-card footer b { flex:0 0 auto; color:#4e54c8; font-size:12px; }
.project-image-library { max-width:1500px; margin:0 auto; }
.project-image-library > .project-context-back { margin-bottom:16px; }
.project-image-library-head { align-items:flex-end; margin-bottom:14px; }
.project-image-library-head > div > span { display:block; margin-bottom:5px; color:#969ba5; font-size:12px; font-weight:650; }
.project-image-library-head h1 { margin-bottom:5px; }
.project-image-library-filters { flex-wrap:wrap; margin-bottom:16px; padding-bottom:14px; border-bottom:1px solid #e3e5e8; }
.project-image-library-filters .chip { display:inline-flex; align-items:center; gap:6px; min-height:31px; cursor:pointer; }
.project-image-library-filters .chip b { display:grid; min-width:18px; height:18px; padding:0 5px; place-items:center; color:#7c818b; border-radius:999px; background:#eceef2; font-size:12px; font-variant-numeric:tabular-nums; }
.project-image-library-filters .chip.active b { color:#fff; background:#565dd1; }
.library-image-tile { cursor:default; }
.library-image-type { position:absolute; top:8px; left:8px; z-index:1; padding:4px 7px; color:#fff; border-radius:6px; background:rgba(30,34,40,.82); font-size:12px; font-weight:700; backdrop-filter:blur(6px); }
.library-image-tile .asset-preview-button { cursor:zoom-in; }
.library-image-tile:focus-within { outline:3px solid rgba(83,90,210,.28); outline-offset:2px; }
@media (max-width:1280px) {
  .project-library-grid { grid-template-columns:1fr; }
}
