/* PHASE 2 — My Trade Workspace. Simple, warm, uncluttered. Theme-aware. */
.lbic-tw {
  --tw-bg: #ffffff; --tw-panel: #f7f8fa; --tw-ink: #1a2230; --tw-sub: #5b6675;
  --tw-line: #e5e8ee; --tw-brand: #b3282d; --tw-brand-ink: #ffffff; --tw-accent: #1f6feb;
  --tw-ok: #1a7f4b; --tw-chip: #eef1f6; --tw-shadow: 0 1px 3px rgba(20,30,50,.08), 0 6px 20px rgba(20,30,50,.05);
  color: var(--tw-ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  max-width: 980px; margin: 0 auto; padding: 8px 16px 48px;
}
@media (prefers-color-scheme: dark) {
  .lbic-tw:not([data-theme="light"]) {
    --tw-bg:#0f1420; --tw-panel:#161c2b; --tw-ink:#eef1f7; --tw-sub:#9aa6b8; --tw-line:#242c3d;
    --tw-brand:#e0575b; --tw-chip:#1c2434; --tw-shadow:0 1px 3px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
  }
}
.lbic-tw * { box-sizing: border-box; }
.lbic-tw h1 { font-size: 1.9rem; line-height: 1.15; margin: 0 0 6px; letter-spacing: -.01em; }
.lbic-tw h2 { font-size: 1.35rem; margin: 0 0 14px; }
.lbic-tw p { margin: 0 0 10px; color: var(--tw-sub); }
.tw-loading { padding: 40px 0; color: var(--tw-sub); text-align: center; }

/* header */
.tw-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin: 12px 0 20px; }
.tw-sub { font-size: 1rem; }
.tw-planchip { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.tw-plan { background: var(--tw-brand); color: var(--tw-brand-ink); font-weight: 600; font-size: .82rem; padding: 4px 12px; border-radius: 999px; }
.tw-planmeta { font-size: .8rem; color: var(--tw-sub); }

/* grid + cards */
.tw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.tw-card { background: var(--tw-bg); border: 1px solid var(--tw-line); border-radius: 14px; padding: 18px; box-shadow: var(--tw-shadow); text-align: left; }
.tw-proj { display: flex; flex-direction: column; gap: 8px; }
.tw-projtitle { font-weight: 700; font-size: 1.08rem; }
.tw-stage { align-self: flex-start; background: var(--tw-chip); color: var(--tw-ink); font-size: .78rem; font-weight: 600; padding: 3px 10px; border-radius: 999px; }
.tw-target { font-size: .86rem; color: var(--tw-sub); }
.tw-next { font-size: .9rem; color: var(--tw-ink); }
.tw-nextlabel { font-weight: 700; }
.tw-continue { margin-top: 6px; align-self: flex-start; }

.tw-newcard { display: flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer;
  border-style: dashed; color: var(--tw-accent); font-weight: 600; font-size: 1rem; min-height: 120px; background: var(--tw-panel); }
.tw-newcard:hover { border-color: var(--tw-accent); }
.tw-plus { font-size: 1.5rem; line-height: 1; }
.tw-atlimit p { font-size: .86rem; margin: 6px 0 0; }

/* buttons */
.tw-btn { font: inherit; font-weight: 600; border-radius: 10px; padding: 10px 18px; cursor: pointer; border: 1px solid transparent; transition: transform .04s ease; }
.tw-btn:active { transform: translateY(1px); }
.tw-btn-primary { background: var(--tw-brand); color: var(--tw-brand-ink); }
.tw-btn-ghost { background: transparent; color: var(--tw-ink); border-color: var(--tw-line); }
.tw-btn-lg { padding: 14px 26px; font-size: 1.05rem; }
.tw-btn-sm { padding: 8px 14px; font-size: .88rem; }

/* empty state */
.tw-empty { text-align: center; padding: 52px 16px; max-width: 560px; margin: 0 auto; }
.tw-empty-art { font-size: 3rem; margin-bottom: 10px; }
.tw-empty-lead { font-size: 1.15rem; color: var(--tw-ink); font-weight: 600; margin-bottom: 6px; }
.tw-empty-sub { margin-bottom: 22px; }

/* new project flow */
.tw-flow { max-width: 560px; margin: 24px auto; background: var(--tw-bg); border: 1px solid var(--tw-line); border-radius: 16px; padding: 28px; box-shadow: var(--tw-shadow); }
.tw-progress { font-size: .8rem; color: var(--tw-sub); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px; }
.tw-input { width: 100%; font: inherit; padding: 13px 14px; border: 1px solid var(--tw-line); border-radius: 10px; background: var(--tw-panel); color: var(--tw-ink); }
.tw-input.err { border-color: var(--tw-brand); }
.tw-choices { display: flex; flex-direction: column; gap: 10px; }
.tw-choice { text-align: left; font: inherit; padding: 14px 16px; border: 1px solid var(--tw-line); border-radius: 10px; background: var(--tw-panel); color: var(--tw-ink); cursor: pointer; }
.tw-choice:hover, .tw-choice.sel { border-color: var(--tw-accent); }
.tw-flow-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 20px; }
.tw-flow-actions.center { justify-content: center; }

/* ready screen */
.tw-ready { max-width: 560px; margin: 40px auto; text-align: center; }
.tw-check { width: 56px; height: 56px; border-radius: 50%; background: var(--tw-ok); color: #fff; font-size: 1.8rem; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; }
.tw-ready-name { font-weight: 600; color: var(--tw-ink); }
.tw-firststep { background: var(--tw-panel); border: 1px solid var(--tw-line); border-radius: 12px; padding: 16px; margin: 18px 0; }
.tw-firststep-label { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--tw-sub); margin-bottom: 4px; }

/* import banner */
.tw-importbanner { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
  background: var(--tw-panel); border: 1px solid var(--tw-line); border-left: 4px solid var(--tw-accent);
  border-radius: 12px; padding: 14px 16px; margin: 0 0 18px; }
.tw-importbanner.ok { border-left-color: var(--tw-ok); }
.tw-import-text { display: flex; flex-direction: column; gap: 2px; }
.tw-import-text span { font-size: .86rem; color: var(--tw-sub); }
.tw-import-actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* sign-in */
.tw-signin { max-width: 480px; margin: 60px auto; text-align: center; }
.tw-signin a { margin-top: 12px; display: inline-block; text-decoration: none; }

.tw-foot { text-align: center; font-size: .82rem; color: var(--tw-sub); margin-top: 26px; }

/* ---- project detail ---- */
.tw-detailhead { margin: 10px 0 16px; }
.tw-back { background: none; border: none; color: var(--tw-accent); font: inherit; font-weight: 600; cursor: pointer; padding: 4px 0; margin-bottom: 8px; }
.tw-detailmeta { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 6px; }
.tw-health { font-size: .78rem; font-weight: 600; padding: 3px 10px; border-radius: 999px; background: var(--tw-chip); }
.tw-health.health-on_track { color: var(--tw-ok); }
.tw-health.health-action_needed { color: #a35b00; }
.tw-health.health-blocked { color: var(--tw-brand); }

.tw-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--tw-line); margin-bottom: 18px; overflow-x: auto; }
.tw-tab { background: none; border: none; border-bottom: 2px solid transparent; font: inherit; font-weight: 600; color: var(--tw-sub); padding: 10px 14px; cursor: pointer; white-space: nowrap; }
.tw-tab.sel { color: var(--tw-ink); border-bottom-color: var(--tw-brand); }

/* overview */
.tw-ov { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 18px; }
.tw-ovcard { background: var(--tw-panel); border: 1px solid var(--tw-line); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 4px; }
.tw-ovnum { font-size: 1.6rem; font-weight: 700; }
.tw-ovcard span:last-child { color: var(--tw-sub); font-size: .86rem; }
.tw-nextbig { background: var(--tw-panel); border: 1px solid var(--tw-line); border-radius: 12px; padding: 18px; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.tw-nextbig strong { font-size: 1.15rem; }
.tw-nextbig .tw-btn { margin-top: 8px; text-decoration: none; }
.tw-nextbig.done { align-items: flex-start; }

/* workflow steps */
.tw-steps { display: flex; flex-direction: column; gap: 8px; }
.tw-step { display: flex; align-items: center; gap: 14px; background: var(--tw-bg); border: 1px solid var(--tw-line); border-radius: 12px; padding: 12px 14px; }
.tw-step.next { border-color: var(--tw-accent); box-shadow: 0 0 0 1px var(--tw-accent) inset; }
.tw-stepnum { width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; background: var(--tw-chip); color: var(--tw-sub); }
.tw-step.done .tw-stepnum { background: var(--tw-ok); color: #fff; }
.tw-step.progress .tw-stepnum { background: var(--tw-accent); color: #fff; }
.tw-stepmain { flex: 1; display: flex; flex-direction: column; }
.tw-stepstatus { font-size: .82rem; color: var(--tw-sub); }
.tw-step .tw-btn { text-decoration: none; }

/* tasks */
.tw-taskadd { display: flex; gap: 8px; margin-bottom: 14px; }
.tw-taskadd .tw-input { flex: 1; }
.tw-tasklist { display: flex; flex-direction: column; gap: 6px; }
.tw-task { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--tw-line); border-radius: 10px; background: var(--tw-bg); }
.tw-taskdot { width: 10px; height: 10px; border-radius: 50%; background: var(--tw-accent); flex: 0 0 10px; }
.tw-task.status-completed .tw-taskdot { background: var(--tw-ok); }
.tw-taskmain { flex: 1; display: flex; flex-direction: column; }
.tw-taskdue { font-size: .8rem; color: var(--tw-sub); }
.tw-taskstatus { font-size: .8rem; color: var(--tw-sub); }

/* documents */
.tw-doc { display: flex; justify-content: space-between; align-items: center; padding: 12px 14px; border: 1px solid var(--tw-line); border-radius: 10px; margin-bottom: 6px; background: var(--tw-bg); }
.tw-docmeta { display: block; font-size: .8rem; color: var(--tw-sub); }
.tw-docbadge { font-size: .76rem; font-weight: 600; padding: 3px 10px; border-radius: 999px; }
.tw-docbadge.fin { background: var(--tw-ok); color: #fff; }
.tw-docbadge.draft { background: var(--tw-chip); color: var(--tw-sub); }

/* activity */
.tw-feed { display: flex; flex-direction: column; gap: 0; }
.tw-feeditem { display: flex; gap: 12px; padding: 10px 0; border-left: 2px solid var(--tw-line); padding-left: 16px; margin-left: 5px; position: relative; }
.tw-feeddot { position: absolute; left: -6px; top: 14px; width: 10px; height: 10px; border-radius: 50%; background: var(--tw-accent); }
.tw-feedsum, .tw-feedtime { display: block; font-size: .82rem; color: var(--tw-sub); }
.tw-hint { color: var(--tw-sub); font-size: .9rem; }

@media (max-width: 560px) {
  .lbic-tw h1 { font-size: 1.6rem; }
  .tw-head { flex-direction: column; }
  .tw-planchip { align-items: flex-start; }
}

/* Approved simple member workspace. Existing tools, forms and permissions stay intact. */
body.lbic-member-workspace {background:#f4f7fb;color:#17324d;color-scheme:light;}
.lbic-tw[data-theme="light"] {color-scheme:light;}
/* Keep the existing website header, logo and footer visible. */
.tw-member-nav {background:#fff;border-bottom:1px solid #dbe4ef;padding:18px max(20px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px;font:600 16px/1.4 var(--font-body,Manrope,system-ui,sans-serif);}
.tw-member-nav .tw-website-link {color:#012a58;font-size:15px;text-decoration:none;border:1px solid #dbe4ef;background:#fff;}
.tw-member-nav>div {display:flex;flex-wrap:wrap;gap:5px;}
.tw-member-nav a {display:inline-flex;align-items:center;padding:10px 14px;min-height:44px;box-sizing:border-box;color:#24445f;text-decoration:none;border-radius:8px;}
.tw-member-nav a[aria-current] {background:#e9f2fc;color:#083c71;}
.lbic-tw {font-family:var(--font-body,Manrope,system-ui,sans-serif);max-width:1180px;margin:auto;padding:28px 24px;color:#17324d;}
body .lbic-tw.lbic-tw h1:not(:where(.lbic-member-project *)) {font-family:var(--font-head,Newsreader,Georgia,serif)!important;font-size:clamp(25px,3vw,34px)!important;line-height:1.25!important;overflow-wrap:anywhere;}
body .lbic-tw.lbic-tw h2:not(:where(.lbic-member-project *)),body .lbic-tw.lbic-tw h3:not(:where(.lbic-member-project *)) {font-family:var(--font-head,Newsreader,Georgia,serif)!important;line-height:1.3!important;}
body .lbic-tw.lbic-tw h2:not(:where(.lbic-member-project *)) {font-size:1.35rem!important;}
body .lbic-tw.lbic-tw h3:not(:where(.lbic-member-project *)) {font-size:20px!important;}
.lbic-tw .tw-detailhead {gap:12px;margin-bottom:22px;}
.lbic-tw .tw-tabs {display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid #ccd9e7;padding-bottom:8px;}
.lbic-tw .tw-tab {font-size:16px;min-height:44px;border:0;border-radius:8px;padding:10px 18px;color:#40566c;background:transparent;}
.lbic-tw .tw-tab.sel {color:#fff;background:#123e67;}
.lbic-tw .tw-nextbig {background:#eaf3fc;border:1px solid #c9dced;border-left:4px solid #1e5583;border-radius:12px;margin:0 0 20px;padding:22px;}
.lbic-tw .tw-simple-card {background:#fff;border:1px solid #d5e0ec;border-radius:12px;margin:16px 0;padding:18px 22px;}
.lbic-tw .tw-simple-card>summary,.tw-owner-notes>summary,.tw-owner-archive>summary {font-size:17px;font-weight:650;cursor:pointer;min-height:44px;line-height:44px;}
.lbic-tw .tw-simple-card[open]>summary {margin-bottom:14px;}
.lbic-tw .tw-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:18px;}
.lbic-tw .tw-card {border:1px solid #d5e0ec;border-radius:12px;box-shadow:none;}
.lbic-tw .tw-projtitle {font-size:19px;line-height:1.4;overflow-wrap:anywhere;}
.lbic-tw button,.lbic-tw .tw-btn {min-height:44px;}
.lbic-tw input,.lbic-tw textarea,.lbic-tw select {max-width:100%;font-size:16px;}
.lbic-tw [hidden] {display:none!important;}
.tw-member-nav a:focus-visible,.lbic-tw :is(button,a,input,select,textarea,summary):focus-visible {outline:3px solid #337fc3;outline-offset:3px;}
.tw-owner-notes,.tw-owner-archive {box-sizing:border-box;max-width:1132px;margin:0 auto 22px;background:#fff;border:1px solid #d5e0ec;border-radius:12px;padding:16px 22px;}
body.lbic-member-workspace:not([data-member-current="overview"]) .tw-owner-notes,
body.lbic-member-workspace:not([data-member-current="files"]) .tw-owner-archive {display:none;}
body.lbic-member-workspace .tw-owner-notes [data-b1-app] {padding:12px 0;max-width:none;}
body.lbic-member-workspace .tw-owner-archive #lbic-owner-archive {padding:12px 0;margin:0;border:0;}
@media(max-width:700px){.tw-member-nav{flex-direction:column;align-items:flex-start;padding:14px 16px;gap:8px;}.tw-member-nav>div{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}.tw-member-nav a{padding:10px 6px;font-size:14px;justify-content:center;}.lbic-tw{padding:20px 14px;}.lbic-tw .tw-tabs{gap:2px;}.lbic-tw .tw-tab{padding:10px 9px;font-size:14px;flex:1;}.lbic-tw .tw-simple-card{padding:14px;}.tw-owner-notes,.tw-owner-archive{margin:0 14px 18px;padding:12px 14px;}.tw-owner-notes>summary,.tw-owner-archive>summary{line-height:1.5;padding:8px 0;}}
