*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html,body{height:100%;}html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;}
a{color:var(--copper);text-decoration:none;transition:color var(--transition);}a:hover{color:var(--copper-deep);}
.app{display:grid;grid-template-columns:320px 1fr;grid-template-rows:80px 1fr auto;grid-template-areas:"header header" "sidebar main" "footer footer";min-height:100vh;}
.header{grid-area:header;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:var(--slate);color:var(--text-inverse);position:sticky;top:0;z-index:50;box-shadow:0 4px 12px rgba(44,62,80,.08);}
.brand{display:flex;align-items:center;gap:14px;}
.brand-mark{height:44px;width:auto;}.brand-mark polygon{fill:var(--copper);}
.brand-divider{width:1px;height:32px;background:rgba(255,255,255,.18);}
.brand-text{display:flex;flex-direction:column;line-height:1.15;}
.brand-name{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--white);}
.brand-sub{font-size:11px;color:rgba(255,255,255,.7);font-weight:500;letter-spacing:.12em;text-transform:uppercase;margin-top:2px;}
.header-meta{display:flex;align-items:center;gap:24px;}
.meta-item{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;}
.meta-label{font-size:10px;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.12em;font-weight:500;}
.meta-value{font-family:var(--font-mono);font-weight:500;font-size:13px;color:var(--white);margin-top:2px;}
.meta-value.warn{color:var(--warning);}.meta-value.ok2{color:#7FD8A6;}
.refresh{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:999px;background:var(--copper);color:#fff;font-weight:600;font-size:13px;box-shadow:0 1px 3px var(--copper-glow);transition:var(--transition);}
.refresh:hover{background:var(--copper-deep);}.refresh .ri{display:inline-block;font-size:15px;}.refresh.spin .ri{animation:spin .7s linear infinite;}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.gear{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;font-size:16px;color:#fff;transition:var(--transition);}
.gear:hover{background:rgba(255,255,255,.16);}
.user-pill{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:999px;}
.user-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--copper),var(--copper-deep));display:grid;place-items:center;font-family:var(--font-display);font-size:11px;font-weight:700;color:#fff;}
.user-name{font-size:12px;font-weight:600;color:#fff;}
.sidebar{grid-area:sidebar;background:var(--bg-elevated);border-right:1px solid var(--border);padding:24px 0;overflow-y:auto;position:sticky;top:80px;height:calc(100vh - 80px);}
.sidebar-section{padding:0 22px 22px;}
.sidebar-section + .sidebar-section{border-top:1px solid var(--border);padding-top:22px;}
.sidebar-title{font-family:var(--font-display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);margin-bottom:12px;}
.cat-list{list-style:none;}
.cat-item{display:grid;grid-template-columns:14px 22px 1fr auto;align-items:center;gap:9px;padding:9px 12px;border-radius:var(--radius-sm);margin-bottom:1px;font-size:13px;color:var(--text-secondary);transition:var(--transition);cursor:pointer;}
.cat-item:hover{background:var(--bg-stone);}
.cat-item.active{background:var(--white);color:var(--text-primary);font-weight:500;box-shadow:var(--shadow-xs);border-left:2px solid var(--copper);padding-left:10px;}
.cat-status{width:13px;height:13px;border-radius:50%;border:1.5px solid var(--stone);background:var(--stone);}
.cat-item.full .cat-status{background:var(--copper);border-color:var(--copper);}
.cat-item.open .cat-status{background:var(--danger);border-color:var(--danger);}
.cat-item.done .cat-status{background:var(--success);border-color:var(--success);}
.cat-num{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);font-weight:500;}
.cat-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cat-count{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--text-muted);background:var(--bg-stone);padding:2px 7px;border-radius:4px;min-width:24px;text-align:center;}
.cat-item.active .cat-count{background:var(--copper-soft);color:var(--copper-deep);}
.main{grid-area:main;padding:38px 48px 80px;max-width:1300px;width:100%;}
.category-header{margin-bottom:24px;}
.cat-eyebrow{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.14em;margin-bottom:12px;font-weight:500;}
.cat-eyebrow .pill{padding:3px 9px;border-radius:4px;background:var(--copper-soft);color:var(--copper-deep);font-weight:600;letter-spacing:.10em;}
.cat-title{font-family:var(--font-display);font-size:34px;font-weight:700;letter-spacing:-.025em;line-height:1.1;margin-bottom:10px;}
.cat-desc{font-size:15px;color:var(--text-secondary);max-width:760px;line-height:1.6;}
.action-banner{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 16px;background:var(--copper-soft);border:1px solid var(--copper-edge);border-left:3px solid var(--copper);border-radius:var(--radius-sm);font-size:13px;color:var(--copper-deep);font-weight:500;}
.info-banner{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 16px;background:var(--info-bg);border:1px solid rgba(44,62,80,.16);border-left:3px solid var(--slate);border-radius:var(--radius-sm);font-size:13px;color:var(--slate-70);}
.rail{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px;}
.railchip{display:flex;align-items:center;gap:9px;padding:9px 13px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);cursor:pointer;transition:var(--transition);}
.railchip:hover{border-color:var(--border-strong);background:var(--bg-card-hover);transform:translateY(-1px);}
.railchip .rn{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);}
.railchip .rl{font-size:12.5px;font-weight:600;}
.railchip .rc{font-family:var(--font-mono);font-size:11px;font-weight:600;padding:2px 7px;border-radius:20px;background:var(--bg-stone);color:var(--text-muted);}
.railchip.has .rc{background:var(--copper-soft);color:var(--copper-deep);}.railchip.has{border-color:var(--copper-edge);}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:14px;}
.progcard{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-xs);cursor:pointer;transition:var(--transition);position:relative;}
.progcard.sel-on{border-color:var(--copper);box-shadow:0 0 0 1px var(--copper);}
.selbox{position:absolute;top:12px;right:12px;width:22px;height:22px;border:1.5px solid var(--border-strong);border-radius:6px;background:var(--white);display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;color:transparent;cursor:pointer;transition:var(--transition);z-index:3;}
.selbox:hover{border-color:var(--copper);}
.selbox.on{background:var(--copper);border-color:var(--copper);color:#fff;}
#selBar{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:120;display:none;align-items:center;gap:14px;background:#2C3E50;color:#fff;border-radius:12px;padding:11px 16px 11px 20px;box-shadow:0 14px 34px rgba(0,0,0,.30);}
#selBar .sb-n{font-weight:700;font-size:13px;font-family:var(--font-mono);white-space:nowrap;}
#selBar .sbtn{font-family:var(--font-body);font-weight:600;font-size:12.5px;border-radius:8px;padding:9px 14px;cursor:pointer;border:1px solid transparent;transition:var(--transition);}
#selBar .sbtn.go{background:var(--copper);color:#fff;}
#selBar .sbtn.go:hover{background:var(--copper-deep);}
#selBar .sbtn.alt{background:transparent;color:#fff;border-color:rgba(255,255,255,.35);}
#selBar .sbtn.alt:hover{border-color:#fff;}
#selBar .sbtn.lnk{background:transparent;color:rgba(255,255,255,.72);border:none;text-decoration:underline;padding:9px 4px;}
#selBar .sbtn.lnk:hover{color:#fff;}
.njtabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:4px;}
.njtab{background:transparent;border:none;border-bottom:2px solid transparent;padding:8px 14px;font:600 12.5px var(--font-body);color:var(--text-secondary);cursor:pointer;}
.njtab.active{color:var(--copper);border-bottom-color:var(--copper);}
.njtab:hover{color:var(--text-primary);}
.progcard:hover{border-color:var(--border-strong);background:var(--bg-card-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px);}
.progcard .ph{display:flex;align-items:flex-start;gap:10px;}
.progcard .pn{font-family:var(--font-display);font-weight:700;font-size:16px;letter-spacing:-.01em;line-height:1.25;flex:1;}
.type-badge{font-family:var(--font-mono);font-size:8.5px;font-weight:600;letter-spacing:.06em;padding:4px 7px;border-radius:4px;text-transform:uppercase;white-space:nowrap;}
.type-spec{color:var(--copper-deep);background:var(--copper-soft);}.type-db{color:var(--slate);background:var(--info-bg);}
.pmeta{font-family:var(--font-mono);font-size:11.5px;color:var(--text-secondary);margin-top:8px;display:flex;gap:9px;flex-wrap:wrap;}
.pmeta b{color:var(--text-primary);font-weight:600;}
.stepper{display:flex;gap:4px;margin-top:15px;}
.step{flex:1;height:5px;border-radius:3px;background:var(--stone-light);}
.step.done{background:var(--success);}.step.cur{background:var(--copper);}
.steplab{display:flex;justify-content:space-between;align-items:center;margin-top:9px;}
.steplab .sl{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);font-weight:500;}.steplab .sl b{color:var(--copper-deep);}
.flags{display:flex;gap:6px;flex-wrap:wrap;}
.flag{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.04em;padding:3px 7px;border-radius:20px;text-transform:uppercase;}
.flag-bad{color:var(--danger);background:var(--danger-bg);}.flag-warn{color:var(--copper-deep);background:var(--warning-bg);}.flag-ok{color:var(--success);background:var(--success-bg);}
.back{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);font-weight:500;display:inline-flex;gap:5px;margin-bottom:16px;cursor:pointer;}.back:hover{color:var(--copper);}
.progwrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px 18px;box-shadow:var(--shadow-xs);margin:8px 0 6px;}
.prog{position:relative;display:flex;justify-content:space-between;}
.prog::before{content:'';position:absolute;left:9px;right:9px;top:8px;height:2px;background:var(--stone);}
.prog .fill{position:absolute;left:9px;top:8px;height:2px;background:var(--copper);transition:width .4s;}
.pnode{display:flex;flex-direction:column;align-items:center;gap:7px;z-index:2;flex:1;}
.pdot{width:18px;height:18px;border-radius:50%;background:var(--white);border:2px solid var(--stone);}
.pnode.done .pdot{background:var(--success);border-color:var(--success);}
.pnode.cur .pdot{background:var(--copper);border-color:var(--copper);box-shadow:0 0 0 4px var(--copper-soft);}
.plab{font-family:var(--font-mono);font-size:8.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-dim);text-align:center;}
.pnode.done .plab{color:var(--text-muted);}.pnode.cur .plab{color:var(--copper-deep);font-weight:600;}
.progctl{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border);flex-wrap:wrap;}
.progctl .now{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);flex:1;min-width:200px;}.progctl .now b{color:var(--text-primary);font-weight:600;}
.tbl{width:100%;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-xs);margin-top:8px;}
.tbl th{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--bg-elevated);font-weight:600;}
.tbl td{padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;}
.tbl tr:last-child td{border-bottom:none;}
.tbl tr.clk{cursor:pointer;}.tbl tr.clk:hover td{background:var(--bg-card-hover);}
.tbl .mono{font-family:var(--font-mono);}
.st-pill{font-family:var(--font-mono);font-size:9px;font-weight:600;padding:4px 8px;border-radius:4px;letter-spacing:.04em;text-transform:uppercase;display:inline-block;}
.s-pending{color:var(--text-muted);background:var(--bg-stone);}.s-submitted{color:var(--slate);background:var(--info-bg);}
.s-rr{color:var(--copper-deep);background:var(--warning-bg);}.s-rejected{color:var(--danger);background:var(--danger-bg);}
.s-approved,.s-released{color:var(--success);background:var(--success-bg);}
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:13px;font-weight:500;border:1px solid var(--border-strong);background:var(--white);color:var(--text-primary);transition:var(--transition);white-space:nowrap;}
.btn:hover{background:var(--bg-elevated);border-color:var(--slate-30);}
.btn.primary{background:var(--copper);border-color:var(--copper);color:#fff;font-weight:600;}.btn.primary:hover{background:var(--copper-deep);}
.btn.slate{background:var(--slate);border-color:var(--slate);color:#fff;font-weight:600;}.btn.slate:hover{background:var(--slate-90);}
.btn.ghost{background:transparent;border-color:var(--border);color:var(--text-secondary);}.btn.ghost:hover{background:var(--bg-elevated);color:var(--text-primary);}
.btn:disabled{opacity:.4;cursor:not-allowed;}
.btn-link{display:inline-flex;gap:4px;font-family:var(--font-mono);font-size:11px;color:var(--copper);font-weight:500;cursor:pointer;}.btn-link:hover{color:var(--copper-deep);text-decoration:underline;}
select.sel{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:6px 8px;background:var(--white);color:var(--text-primary);cursor:pointer;outline:none;}
select.sel:focus{border-color:var(--copper);}
.subsec{margin-top:28px;}
.subsec-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.subsec-h h3{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);font-weight:600;}
.fingrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.finbox{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-xs);}
.finbox .l{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;}
.finbox .n{font-family:var(--font-mono);font-size:18px;font-weight:600;margin-top:7px;}
.finbox .tag{font-family:var(--font-mono);font-size:8.5px;color:var(--text-dim);margin-top:4px;}
.finbox input{width:100%;background:transparent;border:none;font-family:var(--font-mono);font-size:18px;font-weight:600;color:var(--text-primary);margin-top:5px;outline:none;border-bottom:1px dashed transparent;}
.finbox input:focus{border-bottom-color:var(--copper);color:var(--copper-deep);}
.finbox.locked .n{color:var(--text-primary);}
.amt.bad{color:var(--danger);}.amt.warn{color:var(--copper-deep);}.amt.ok{color:var(--success);}
.gates{display:flex;gap:8px;flex-wrap:wrap;}
.gate{display:inline-flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border);padding:8px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;color:var(--text-secondary);}
.gate .dot{width:9px;height:9px;border-radius:50%;background:var(--stone);}
.gate.on{color:var(--success);border-color:rgba(31,122,79,.3);background:var(--success-bg);}.gate.on .dot{background:var(--success);}
.gate.na{color:var(--text-muted);border-style:dashed;background:var(--bg-elevated);}.gate.na .gl{text-decoration:line-through;}.gate.na .dot{background:var(--text-muted);}
.backbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.jobnav{display:flex;align-items:center;gap:8px;}
.jobpos{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);margin-right:2px;}
.note{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);}
.note .when{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);min-width:46px;font-weight:500;}
.note .who{font-family:var(--font-mono);font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--bg-stone);color:var(--text-secondary);height:fit-content;}
.note .txt{flex:1;font-size:13px;line-height:1.5;}
.note .ds{font-family:var(--font-mono);font-size:8.5px;font-weight:600;padding:2px 6px;border-radius:4px;height:fit-content;text-transform:uppercase;}
.miniadd{display:flex;gap:8px;margin-top:10px;}
.miniadd input{flex:1;background:var(--white);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:9px 12px;font-size:13px;color:var(--text-primary);outline:none;}
.miniadd input:focus{border-color:var(--copper);}
.empty{text-align:center;padding:54px 24px;background:var(--bg-card);border:1px dashed var(--stone);border-radius:var(--radius);margin-top:8px;}
.empty-mark{width:46px;height:46px;border-radius:50%;background:var(--info-bg);color:var(--slate);display:grid;place-items:center;margin:0 auto 14px;font-size:20px;font-weight:700;}
.empty-title{font-family:var(--font-display);font-size:19px;font-weight:600;margin-bottom:6px;}.empty-desc{color:var(--text-secondary);font-size:13px;}
.scrim{position:fixed;inset:0;background:var(--bg-overlay);backdrop-filter:blur(3px);z-index:100;display:grid;place-items:center;padding:24px;}
.modal{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(560px,100%);max-height:90vh;overflow-y:auto;}
.modal-h{padding:24px 26px 18px;border-bottom:1px solid var(--border);position:relative;}
.modal-h h2{font-family:var(--font-display);font-size:22px;font-weight:700;}
.modal-h p{font-size:13px;color:var(--text-secondary);margin-top:8px;line-height:1.55;}
.modal-h .x{position:absolute;top:20px;right:22px;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);font-size:18px;color:var(--text-muted);display:grid;place-items:center;cursor:pointer;}
.modal-b{padding:22px 26px;}
.field{margin-bottom:18px;}
.field label{display:block;font-family:var(--font-display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:8px;}
.field input{width:100%;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 13px;font-family:var(--font-mono);font-size:12.5px;color:var(--text-primary);outline:none;}
.field input:focus{border-color:var(--copper);background:var(--white);}
.field .hint{font-size:11px;color:var(--text-muted);margin-top:7px;line-height:1.5;}
.modal-f{padding:16px 26px 24px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--border);}
.footer{grid-area:footer;padding:18px 48px;background:var(--bg-elevated);border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-muted);}
.footer-brand{display:flex;align-items:center;gap:8px;}.footer-mark{width:14px;height:14px;}.footer-mark polygon{fill:var(--copper);}
.footer .links{display:flex;gap:22px;}.footer .links a{font-weight:500;color:var(--text-secondary);}.footer .links a:hover{color:var(--copper);}
@media(max-width:900px){.app{grid-template-columns:1fr;grid-template-areas:"header" "main" "footer";}.sidebar{display:none;}.pgrid{grid-template-columns:1fr;}.fingrid{grid-template-columns:repeat(2,1fr);}.header-meta .meta-item{display:none;}}
.attn{background:var(--bg-elevated);border:1px solid var(--border-strong);border-left:3px solid var(--slate);border-radius:var(--radius-md);padding:14px 16px;margin:0 0 18px}.attn-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.attn-title{font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-primary)}.attn-sub{font-size:12px;color:var(--text-muted)}.attn-job{padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:8px;cursor:pointer;background:var(--bg)}.attn-job:hover{border-color:var(--border-strong);background:var(--bg-hover,var(--bg-elevated))}.attn-jobname{font-weight:650;font-size:13px;color:var(--text-primary);margin-bottom:5px}.attn-gc{font-weight:400;color:var(--text-muted);font-size:12px}.attn-row{display:flex;align-items:baseline;gap:8px;padding:3px 0;font-size:12.5px;line-height:1.45}.attn-row .attn-dot{flex:none;width:7px;height:7px;border-radius:50%;margin-top:5px}.attn-row.sev-red .attn-dot{background:#c0392b}.attn-row.sev-yel .attn-dot{background:#d68910}.attn-msg{color:var(--text-primary);flex:1}.attn-act{color:var(--text-secondary);flex:1;font-style:italic}.attn-clear{background:var(--info-bg,rgba(39,174,96,.08));border:1px solid rgba(39,174,96,.25);color:var(--slate-70,#3a5a40);border-radius:var(--radius-md);padding:12px 16px;margin:0 0 18px;font-size:13px;font-weight:600}@media(max-width:680px){.attn-row{flex-direction:column;gap:1px}.attn-act{font-size:12px}}
.brand{cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition);}.brand:hover{background:rgba(255,255,255,.06);}
.launcher{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(680px,100%);max-height:90vh;overflow-y:auto;}
.lx-head{display:flex;align-items:center;gap:14px;padding:22px 26px;background:var(--slate);color:var(--white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;position:relative;}
.lx-mark{height:38px;width:auto;}.lx-mark polygon{fill:var(--copper);}
.lx-eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.62);font-weight:600;}
.lx-title{font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1.2;margin-top:2px;}
.lx-head .x{position:absolute;top:18px;right:20px;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);font-size:18px;color:rgba(255,255,255,.85);display:grid;place-items:center;cursor:pointer;}.lx-head .x:hover{background:rgba(255,255,255,.16);}
.lx-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:24px 26px;}
@media(max-width:560px){.lx-grid{grid-template-columns:1fr;}}
.lx-tile{border:1px solid var(--border-strong);border-radius:var(--radius);padding:18px;cursor:pointer;transition:var(--transition);background:var(--bg-elevated);}
.lx-tile:hover{border-color:var(--copper);background:var(--bg-card-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm);}
.lx-tile.here{border-left:3px solid var(--copper);}
.lx-tile.pending{opacity:.74;}.lx-tile.pending:hover{transform:none;border-color:var(--border-accent);}
.lx-glyph{font-size:22px;line-height:1;color:var(--copper);margin-bottom:11px;}
.lx-name{font-family:var(--font-display);font-weight:700;font-size:15px;color:var(--text-primary);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.lx-desc{font-size:12.5px;color:var(--text-secondary);margin-top:7px;line-height:1.45;}
.lx-badge{font-size:9px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;padding:2px 8px;border-radius:99px;}
.lx-badge.bhere{background:var(--copper-soft);color:var(--copper-deep);border:1px solid var(--copper-edge);}
.lx-badge.bsoon{background:var(--warning-bg);color:var(--warning);border:1px solid rgba(201,155,69,.32);}
.lx-foot{padding:14px 26px 22px;font-size:12px;color:var(--text-muted);border-top:1px solid var(--border);line-height:1.5;}

/* ---- logo-as-refresh + LL snake ---- */
.brand-logo-btn{background:none;border:0;padding:0;margin:0;cursor:pointer;display:inline-flex;line-height:0}
.brand-logo-btn:focus{outline:none}
.brand-mark .ll-fill{fill:var(--copper,#B87333);transition:opacity .25s}
.brand-mark .ll-snake{fill:none;stroke:none}
.brand-logo-btn:hover .ll-fill{fill:#9A5F26}
.brand-logo-btn.refreshing .ll-fill{opacity:.20}
.brand-logo-btn.refreshing .ll-snake{stroke:#EBB079;stroke-width:7;stroke-linejoin:round;stroke-linecap:round;animation:llsnake 1.05s linear infinite}
