/* Core visual language */
.snc-btn{display:inline-flex;align-items:center;gap:.35rem;border-radius:6px;border:1px solid transparent;padding:.5rem .8rem;cursor:pointer;text-decoration:none;font-weight:600;font-size:.95rem}
.snc-btn--primary{background:#0d6efd;color:#fff}
.snc-btn--ghost{background:transparent;border-color:rgba(0,0,0,.1);color:inherit}
.snc-btn--success{background:#28a745;color:#fff}
.snc-btn--danger{background:#dc3545;color:#fff}
.snc-swap-btn-wrap{margin:.6rem 0}

/* Badges for statuses */
.snc-badge{display:inline-block;padding:.2rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:700}
.snc-badge--pending{background:#dc3545;color:#fff}
.snc-badge--ongoing{background:#ff8c00;color:#fff}
.snc-badge--transit{background:#ffc107;color:#000}
.snc-badge--completed{background:#28a745;color:#fff}
.snc-badge--cancelled{background:#6c757d;color:#fff}

/* Inbox */
.snc-inbox{max-width:960px;margin:1rem auto;padding:0 1rem}
.snc-inbox__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.snc-inbox__item{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;padding:.75rem;border:1px solid rgba(0,0,0,.06);border-radius:8px;background:#fff}
.snc-inbox__thumb{width:48px;height:48px;border-radius:6px;object-fit:cover}
.snc-inbox__line{display:flex;align-items:center;gap:.5rem;margin-bottom:.15rem}
.snc-inbox__title{font-weight:600}
.snc-inbox__preview{opacity:.8;font-size:.9rem}

/* Chat */
.snc-chat{max-width:860px;margin:0 auto;padding:1rem}
.snc-chat__header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:.5rem}
.snc-chat__listing{opacity:.7;font-size:.9rem}
.snc-chat__messages{height:55vh;overflow-y:auto;padding:.5rem;background:#f9fafb;border:1px solid rgba(0,0,0,.05);border-radius:8px}
.snc-msg{margin:.4rem 0;display:flex}
.snc-msg--me{justify-content:flex-end}
.snc-bubble{padding:.5rem .75rem;border-radius:12px;max-width:70%}
.snc-msg--me .snc-bubble{background:#0d6efd;color:#fff}
.snc-msg--them .snc-bubble{background:#e9ecef}
.snc-time{font-size:.75rem;opacity:.7;margin:.1rem .25rem}
.snc-chat__input{display:flex;gap:.5rem;margin-top:.5rem}
.snc-chat__input textarea{flex:1;resize:vertical;min-height:40px;border-radius:6px;border:1px solid rgba(0,0,0,.1);padding:.5rem}

/* History (table) */
.snc-history{max-width:1200px;margin:1rem auto;padding:0 1rem}
.snc-history__toolbar{display:flex;justify-content:flex-end;margin:.5rem 0}
.snc-table{display:grid;grid-template-columns:1fr}
.snc-table__head,.snc-table__row{display:grid;grid-template-columns:2fr 1.2fr .8fr 1fr 1fr 1fr .6fr;gap:.5rem;align-items:center;padding:.5rem;border-bottom:1px solid rgba(0,0,0,.05)}
.snc-table__head{font-weight:700;opacity:.8}
.snc-item{display:flex;align-items:center;gap:.5rem}
.snc-item img{width:40px;height:40px;border-radius:4px;object-fit:cover}
.snc-actions{display:flex;gap:.4rem;flex-wrap:wrap}

/* Cards (mobile) */
.snc-cards{display:flex;flex-direction:column;gap:.6rem}
.snc-card{display:grid;grid-template-columns:auto 1fr auto auto;gap:.5rem;align-items:center;border:1px solid rgba(0,0,0,.06);background:#fff;border-radius:8px;padding:.6rem}
.snc-card__left img{width:52px;height:52px;border-radius:6px;object-fit:cover}
.snc-card__title{font-weight:700}
.snc-card__subtitle{opacity:.8;font-size:.9rem;margin-top:-.1rem}
.snc-card__status{margin:.25rem 0}
.snc-card__meta{display:flex;gap:.75rem;opacity:.85;font-size:.9rem}
.snc-card__actions{display:flex;flex-direction:column;gap:.35rem}
.snc-card__select{text-align:right}

/* Modals */
.snc-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:9999}
.snc-modal__content{background:#fff;border-radius:10px;padding:1rem;min-width:300px;max-width:92vw;box-shadow:0 10px 30px rgba(0,0,0,.2);position:relative}
.snc-modal__content input, .snc-modal__content textarea{width:100%;margin:.4rem 0;padding:.5rem;border:1px solid rgba(0,0,0,.1);border-radius:6px}
.snc-modal__close{position:absolute;top:.4rem;right:.5rem;border:none;background:transparent;font-size:1.2rem;cursor:pointer}

/* Responsive */
@media (max-width: 768px){
  .snc-hide-on-mobile{display:none}
  .snc-show-on-mobile{display:block}
}
@media (min-width: 769px){
  .snc-show-on-mobile{display:none}
}
