.lm-shell { --lm-ink:#17221d; --lm-muted:#68736d; --lm-line:#dfe5e1; --lm-paper:#fff; --lm-accent:#bd5b32; color:var(--lm-ink); display:grid; gap:1rem; }
.lm-hero { color:#f7f5ef; background:linear-gradient(128deg,#17221d 0%,#263b31 68%,#6a3f2d 100%); border-radius:1.25rem; padding:1.7rem; display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; box-shadow:0 20px 45px rgba(24,42,33,.16); }
.lm-hero p,.lm-card header span,.lm-preview header span { margin:0 0 .35rem; font-size:.7rem; letter-spacing:.14em; font-weight:800; }
.lm-hero h2 { font-size:clamp(1.8rem,4vw,3rem); margin:0; }
.lm-hero span { color:#cbd5cf; }
.lm-hero-rule { border:1px solid rgba(255,255,255,.24); border-radius:1rem; padding:1rem 1.2rem; display:grid; gap:.3rem; min-width:min(100%,19rem); }
.lm-hero-rule strong { font-family:ui-monospace,SFMono-Regular,monospace; }
.lm-tabs { display:flex; gap:.4rem; overflow:auto; padding:.3rem; border:1px solid var(--lm-line); background:#f3f6f4; border-radius:.85rem; }
.lm-tabs button,.lm-actions button,.lm-card button,.lm-preview button { border:1px solid var(--lm-line); background:#fff; color:var(--lm-ink); border-radius:.65rem; padding:.7rem .9rem; font:inherit; font-weight:700; min-height:44px; cursor:pointer; }
.lm-tabs button.active,.lm-card button.is-primary,.lm-preview button.is-primary { background:var(--lm-ink); color:#fff; border-color:var(--lm-ink); }
.lm-panel { display:grid; gap:1rem; }
.lm-status-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; }
.lm-status-grid article,.lm-card,.lm-preview,.lm-blocker,.lm-ready { background:var(--lm-paper); border:1px solid var(--lm-line); border-radius:1rem; padding:1rem; }
.lm-status-grid article { display:grid; gap:.2rem; }
.lm-status-grid strong { font-size:1.7rem; }
.lm-status-grid span,.lm-status-grid small,.lm-card small,.lm-card p { color:var(--lm-muted); }
.lm-blocker { border-color:#e3b39f; background:#fff8f4; display:grid; grid-template-columns:minmax(14rem,.8fr) 1.4fr; gap:1rem; }
.lm-blocker strong { display:block; font-size:1.15rem; }
.lm-blocker ul { margin:0; padding-left:1.1rem; }
.lm-ready { border-color:#a9cbb9; background:#f3fbf6; display:flex; justify-content:space-between; gap:1rem; }
.lm-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.lm-card { display:grid; gap:1rem; min-width:0; }
.lm-card header,.lm-preview header { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.lm-card h3,.lm-preview h3 { margin:0; }
.lm-priority { list-style:none; margin:0; padding:0; display:grid; gap:.4rem; }
.lm-priority li { display:grid; grid-template-columns:2rem 1fr auto; align-items:center; gap:.7rem; padding:.55rem; background:#f5f7f5; border-radius:.6rem; }
.lm-priority b { width:1.8rem; height:1.8rem; border-radius:50%; display:grid; place-items:center; background:var(--lm-ink); color:#fff; }
.lm-package { display:flex; justify-content:space-between; align-items:baseline; }
.lm-package strong { font-size:1.5rem; }
.lm-inline-form,.lm-upload { display:flex; flex-wrap:wrap; gap:.7rem; align-items:end; }
.lm-upload { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.lm-inline-form label,.lm-upload label { display:grid; gap:.3rem; color:var(--lm-muted); font-size:.82rem; flex:1 1 10rem; }
.lm-inline-form input,.lm-upload input,.lm-upload select { min-height:44px; border:1px solid #bcc7c1; border-radius:.55rem; padding:.55rem; font:inherit; background:#fff; }
.lm-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
.lm-empty { padding:1rem; border:1px dashed #bac5bf; border-radius:.7rem; color:var(--lm-muted); }
.lm-table-wrap { overflow:auto; }
.lm-table-wrap table { width:100%; border-collapse:collapse; min-width:38rem; }
.lm-table-wrap th,.lm-table-wrap td { text-align:left; padding:.75rem; border-bottom:1px solid var(--lm-line); }
.lm-table-wrap td strong,.lm-table-wrap td small { display:block; }
.lm-pill { display:inline-flex; padding:.25rem .5rem; border-radius:999px; font-size:.78rem; background:#edf2ef; }
.lm-pill.is-active { background:#dff2e7; color:#17603a; }
.lm-preview { border-color:#c8d3cd; display:grid; gap:1rem; }
.lm-preview dl { display:grid; grid-template-columns:repeat(4,1fr); margin:0; gap:.5rem; }
.lm-preview dl div { padding:.7rem; background:#f3f6f4; border-radius:.6rem; }
.lm-preview dt { color:var(--lm-muted); font-size:.78rem; }.lm-preview dd { margin:.2rem 0 0; font-size:1.2rem; font-weight:800; }
.lm-preview-rows { max-height:18rem; overflow:auto; display:grid; gap:.35rem; }
.lm-preview-rows p { margin:0; padding:.55rem; display:flex; gap:1rem; border-radius:.5rem; background:#f4f7f5; }.lm-preview-rows p.is-error { background:#fff0eb; }
.lm-preview footer,.lm-recompute-result { display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; }
.lm-recompute { min-height:18rem; }.lm-recompute-result { background:#f3f6f4; border-radius:.7rem; padding:1rem; }
.lm-notice,.lm-error,.lm-loading { padding:1rem; border-radius:.8rem; background:#fff7e8; }.lm-error { background:#fff0eb; display:grid; gap:.3rem; }
@media (max-width:900px) { .lm-status-grid { grid-template-columns:repeat(2,1fr); }.lm-columns,.lm-blocker { grid-template-columns:1fr; }.lm-hero { align-items:flex-start; flex-direction:column; }.lm-hero-rule { width:100%; }.lm-upload { grid-template-columns:1fr; } }
@media (max-width:560px) { .lm-shell { gap:.75rem; }.lm-hero { padding:1.15rem; border-radius:1rem; }.lm-status-grid { grid-template-columns:1fr 1fr; gap:.5rem; }.lm-tabs button { white-space:nowrap; }.lm-preview dl { grid-template-columns:repeat(2,1fr); }.lm-card { padding:.85rem; }.lm-inline-form button,.lm-upload button { width:100%; }.lm-ready { display:grid; } }
[data-theme="dark"] .lm-shell { --lm-ink:#eff5f1; --lm-muted:#aab8b0; --lm-line:#3a4941; --lm-paper:#17211c; }
[data-theme="dark"] .lm-status-grid article,[data-theme="dark"] .lm-card,[data-theme="dark"] .lm-preview { background:#17211c; }
[data-theme="dark"] .lm-tabs,[data-theme="dark"] .lm-priority li,[data-theme="dark"] .lm-preview dl div,[data-theme="dark"] .lm-recompute-result { background:#111914; }
[data-theme="dark"] .lm-tabs button,[data-theme="dark"] .lm-card button,[data-theme="dark"] .lm-preview button,[data-theme="dark"] .lm-inline-form input,[data-theme="dark"] .lm-upload input,[data-theme="dark"] .lm-upload select { background:#202c25; color:#eef4f0; border-color:#46574e; }
