/* BoltHub – navy #0B1F33 + amber #FBBF24 accent (no emoji) */
.tw-wrap{max-width:1180px;margin:0 auto}
.tw-banner{background:rgba(243,112,33,.12);border:1px solid rgba(243,112,33,.4);border-radius:12px;padding:12px 14px;margin:0 0 16px;font-size:.9rem;color:#ffd28a}
.tw-banner b{color:#fff}
.tw-login{max-width:480px;margin:0 auto;background:var(--navy-mid,#102a44);border:1px solid var(--line);border-top:4px solid #F37021;border-radius:16px;padding:24px}
.tw-login h2{margin:0 0 8px;color:#fff}
.tw-login form{display:grid;gap:10px}
.tw-login label,.tw-f label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted,#8A9BAE)}
.tw-login input,.tw-f input,.tw-f select,.tw-f textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:9px;padding:.55rem .65rem;font:inherit;box-sizing:border-box;width:100%}
.tw-f select option{color:#0B1F33}
.tw-f{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:10px;align-items:end}
.tw-f .w{grid-column:1/-1}
.tw-m{min-height:1.2em;font-size:.88rem;margin:.4rem 0}.tw-m.e{color:#ff9b8a}.tw-m.o{color:#7ee2a8}
.tw-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-bottom:14px}
.tw-role{font-size:.78rem;padding:.2rem .55rem;border-radius:20px;background:rgba(243,112,33,.15);color:#F37021}
.tw-tabs{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 12px;padding-bottom:4px}
.tw-tabs button{flex:0 0 auto;background:transparent;border:1px solid var(--line);color:var(--text,#e8eef5);padding:.5rem .8rem;border-radius:9px;font:inherit;font-size:.86rem;cursor:pointer}
.tw-tabs button[aria-selected=true]{background:#F37021;border-color:#F37021;color:#fff}
.tw-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,46%),1fr));gap:10px;margin-bottom:14px}
.tw-kpi{background:var(--navy-mid,#102a44);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.tw-kpi b{display:block;font-size:1.45rem;color:#fff}.tw-kpi span{font-size:.8rem;color:var(--muted,#8A9BAE)}
.tw-card{background:var(--navy-mid,#102a44);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:0 0 14px;min-width:0}
.tw-card h3{margin:0 0 .6rem;font-size:1.05rem;color:#fff}
.tw-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:14px}
.tw-t{width:100%;border-collapse:collapse;font-size:.88rem}.tw-t td,.tw-t th{padding:.45rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tw-st{font-size:.75rem;padding:.15rem .55rem;border-radius:20px;background:rgba(255,255,255,.08);white-space:nowrap}
.tw-st.ok{background:rgba(46,160,90,.2);color:#7ee2a8}.tw-st.bad{background:rgba(255,120,100,.15);color:#ffb2a6}.tw-st.mid{background:rgba(243,170,33,.15);color:#ffd28a}
.tw-empty{padding:28px 16px;text-align:center;color:var(--muted,#8A9BAE);border:1px dashed var(--line);border-radius:12px}
.tw-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px}
.tw-plan{border:1px solid var(--line);border-radius:14px;padding:16px;background:rgba(255,255,255,.03)}
.tw-plan.pick{border-color:#F37021;box-shadow:0 0 0 1px #F37021}
.tw-plan h4{margin:0 0 6px;color:#fff}.tw-plan .price{font-size:1.5rem;font-weight:800;color:#fff}.tw-plan .price small{font-size:.75rem;font-weight:500;color:var(--muted)}
.tw-tag{display:inline-block;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:#F37021;font-weight:700;margin-bottom:6px}
.tw-ic{vertical-align:-3px;margin-right:4px}
.tw-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tw-list{list-style:none;padding:0;margin:0}.tw-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.tw-list li:last-child{border-bottom:0}
.tw-late{color:#ffb2a6}
.tw-progress{height:8px;background:rgba(255,255,255,.08);border-radius:5px;overflow:hidden;margin-top:6px}
.tw-progress i{display:block;height:100%;background:#F37021}
#tw-toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,140%);z-index:60;max-width:min(92vw,520px);background:#173d2a;color:#d9ffe9;border:1px solid #2ea05a;border-radius:12px;padding:12px 16px;font-size:.95rem;box-shadow:0 10px 30px rgba(0,0,0,.4);transition:transform .25s;pointer-events:none}
#tw-toast.show{transform:translate(-50%,0)}#tw-toast.bad{background:#4a1f1a;color:#ffd9d2;border-color:#ff8a76}
.tw-skel{height:14px;border-radius:6px;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.1),rgba(255,255,255,.04));background-size:200% 100%;animation:twsh 1.2s infinite}
@keyframes twsh{0%{background-position:200% 0}100%{background-position:-200% 0}}
body.tw-in .hero h1,body.tw-in .hero .lead,body.tw-in .hero .eyebrow,body.tw-in .tw-landing{display:none}
body.tw-in .hero{padding:16px 0 4px!important}
@media(max-width:700px){
  .tw-login input,.tw-f input,.tw-f select,.tw-f textarea{font-size:16px;min-height:44px}
  .tw-tabs button{min-height:44px}
  .sm{min-height:44px}
}

.tw-card label.btn{margin:4px 0}

/* Responsive tables inside cards */
.tw-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px;max-width:100%}
.tw-scroll .tw-t{min-width:520px}
.tw-card .tw-scroll{width:100%}
.tw-person{display:flex;flex-direction:column;gap:1px;line-height:1.25}
.tw-person b{color:#e8eef5;font-weight:600;font-size:.88rem}
.tw-person .tw-role-sm{font-size:.72rem;color:var(--muted,#8A9BAE)}
.tw-person[title]{cursor:help}
.tw-act{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;white-space:nowrap}
.tw-t td.tw-act-cell{min-width:140px}
.tw-f .btn{justify-self:start}
@media(max-width:700px){
  .tw-scroll .tw-t{min-width:480px;font-size:.82rem}
  .tw-grid2{grid-template-columns:1fr}
  .tw-act{justify-content:flex-start}
}
.tw-plan .btn{width:100%;margin-top:10px}
.tw-banner.live{background:rgba(46,160,90,.12);border-color:rgba(46,160,90,.35);color:#b8f0d0}
.tw-banner.live b{color:#fff}
.focus-ring:focus-visible,.tw-tabs button:focus-visible,.btn:focus-visible,.tw-f input:focus-visible,.tw-f select:focus-visible,.tw-f textarea:focus-visible{outline:2px solid #F37021;outline-offset:2px}

.tw-back-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 12px}
.tw-back-row .btn .tw-ic{margin-right:6px;vertical-align:-3px}
.tw-linkish{background:none;border:0;padding:0;color:#9ec3e8;font:inherit;font-size:.86rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.tw-linkish:hover{color:#fff}


/* Role invite hints & legend */
.tw-role-hint{display:block;margin-top:.35rem;font-size:.78rem;color:var(--muted,#8A9BAE);line-height:1.35;max-width:42rem}
.tw-role-legend{margin-top:14px;padding-top:12px;border-top:1px solid rgba(138,155,174,.25)}
.tw-role-list{margin:0;padding-left:1.1rem;font-size:.8rem;color:var(--muted,#8A9BAE);line-height:1.45;columns:1}
.tw-role-list li{margin:0 0 .35rem;break-inside:avoid}
.tw-role-list b{color:var(--text,#E8EEF5);font-weight:600}
@media (min-width:900px){.tw-role-list{columns:2;column-gap:1.5rem}}
select[name=role] optgroup{font-weight:600;color:#FBBF24}
.tw-role-sm{cursor:help;border-bottom:1px dotted rgba(251,191,36,.5)}

/* BoltHub brand accents */
.tw-hero-bh h1{letter-spacing:.02em}
.tw-login h2{letter-spacing:.02em;color:#fff}
.tw-login h2{border-left:3px solid #FBBF24;padding-left:10px}
.tw-banner.live{border-color:rgba(251,191,36,.45)}

.tw-slug-hint{display:block;font-size:.78rem;margin-top:4px;line-height:1.35;min-height:1.2em}
.tw-slug-hint.ok{color:#7ee2a8}
.tw-slug-hint.bad{color:#ff9b8a}
.tw-slug-hint .tw-linkish{font-size:inherit}
