/* Customer 360 (Phase 13.5). RTL-safe (logical properties), light + dark through design-system tokens only. Mobile-first: tabs are scrollable chips, desktop gets a side rail. */
.c3{--c3-sticky-top:0px;max-width:100%;color:var(--ds-text)}
.c3 *{min-width:0;overflow-wrap:anywhere;box-sizing:border-box}
.c3-head{position:sticky;top:var(--c3-sticky-top);z-index:15;background:var(--ds-surface);border:var(--ds-border-w) solid var(--ds-border-subtle);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-card);padding:var(--ds-space-3);margin-block-end:var(--ds-space-3)}
.c3-head-top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-space-3)}
.c3-head-id{flex:1 1 220px}
.c3-name{margin:0;font-size:var(--ds-fs-section-title);font-weight:var(--ds-fw-bold)}
.c3-name small{font-weight:var(--ds-fw-regular);color:var(--ds-text-muted);font-size:var(--ds-fs-secondary)}
.c3-chips{display:flex;flex-wrap:wrap;gap:var(--ds-space-1);align-items:center;margin-block-start:var(--ds-space-1)}
.c3-code{font-size:var(--ds-fs-caption);color:var(--ds-text-muted);padding:2px 8px;border:var(--ds-border-w) solid var(--ds-border-subtle);border-radius:99px}
.c3-owed{font-size:var(--ds-fs-secondary);color:var(--ds-text-muted)}
.c3-owed.is-owed b{color:var(--ds-danger)}
.c3-head-actions{display:flex;gap:var(--ds-space-2);flex-wrap:wrap}
.c3-head-new{display:flex;align-items:center;gap:var(--ds-space-3)}
.c3-banner{margin-block-start:var(--ds-space-2);padding:var(--ds-space-2) var(--ds-space-3);border-radius:var(--ds-radius-md);background:var(--ds-warning-bg);color:var(--ds-warning)}

.c3-body{display:flex;flex-direction:column;gap:var(--ds-space-3)}
.c3-rail{display:flex;gap:var(--ds-space-2);overflow-x:auto;padding-block-end:var(--ds-space-1);-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.c3-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ds-space-1);min-height:var(--ds-touch-min);padding:0 var(--ds-space-3);border-radius:99px;border:var(--ds-border-w) solid var(--ds-border-subtle);background:var(--ds-surface);color:var(--ds-text);cursor:pointer;font:inherit;font-size:var(--ds-fs-secondary);white-space:nowrap}
.c3-tab:hover{background:var(--ds-surface-hover)}
.c3-tab.is-active{background:var(--ds-primary);border-color:var(--ds-primary);color:var(--ds-on-primary,#fff);font-weight:var(--ds-fw-bold)}
.c3-n{font-style:normal;font-size:var(--ds-fs-caption);padding:0 6px;border-radius:99px;background:var(--ds-surface-sunken);color:var(--ds-text-muted)}
.c3-tab.is-active .c3-n{background:rgba(255,255,255,.25);color:inherit}
.c3-main{display:flex;flex-direction:column;gap:var(--ds-space-3);min-width:0}
@media (min-width:960px){
  .c3-body{flex-direction:row;align-items:flex-start}
  .c3-rail{flex:0 0 220px;flex-direction:column;overflow:visible;position:sticky;top:calc(var(--c3-sticky-top) + 96px)}
  .c3-tab{border-radius:var(--ds-radius-md);justify-content:space-between;white-space:normal}
  .c3-main{flex:1 1 0}
}

.c3-card{padding:var(--ds-space-4)}
.c3-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ds-space-2);margin-block-end:var(--ds-space-3)}
.c3-card-head h4{margin:0;font-size:var(--ds-fs-card-title)}
.c3-sub{margin:var(--ds-space-4) 0 var(--ds-space-2);font-size:var(--ds-fs-label);color:var(--ds-text-muted)}
.c3-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-space-2)}
@media (min-width:720px){.c3-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1200px){.c3-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}
.c3-kpi{background:var(--ds-surface);border:var(--ds-border-w) solid var(--ds-border-subtle);border-radius:var(--ds-radius-md);padding:var(--ds-space-3);display:flex;flex-direction:column;gap:2px}
.c3-kpi small{color:var(--ds-text-muted);font-size:var(--ds-fs-caption)}
.c3-kpi b{font-size:var(--ds-fs-card-title)}
.c3-kpi.is-bad b,.c3-neg{color:var(--ds-danger)}
.c3-kvs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--ds-space-2) var(--ds-space-4);margin:0}
.c3-kvs-sm{grid-template-columns:1fr 1fr}
.c3-kv{display:flex;flex-direction:column;gap:2px}
.c3-kv dt{font-size:var(--ds-fs-caption);color:var(--ds-text-muted)}
.c3-kv dd{margin:0}
.c3-pre{white-space:pre-wrap}
.c3-tablewrap{overflow-x:auto;max-width:100%}
.c3-tablewrap table{min-width:520px}
.c3-note{margin:0}
.c3-alert{padding:var(--ds-space-3);border-radius:var(--ds-radius-md);background:var(--ds-danger-bg);color:var(--ds-danger)}
.c3-alert ul{margin:var(--ds-space-1) 0 0;padding-inline-start:var(--ds-space-4)}
.c3-ok{padding:var(--ds-space-3);border-radius:var(--ds-radius-md);background:var(--ds-success-bg);color:var(--ds-success)}

/* documents + sites cards */
.c3-docs,.c3-sites{display:grid;grid-template-columns:1fr;gap:var(--ds-space-3)}
@media (min-width:720px){.c3-docs,.c3-sites{grid-template-columns:repeat(2,minmax(0,1fr))}}
.c3-doc,.c3-site{background:var(--ds-surface);border:var(--ds-border-w) solid var(--ds-border-subtle);border-radius:var(--ds-radius-lg);padding:var(--ds-space-3);display:flex;flex-direction:column;gap:var(--ds-space-2)}
.c3-doc header,.c3-site header{display:flex;flex-wrap:wrap;gap:var(--ds-space-1);align-items:center}
.c3-doc h5,.c3-site h5{margin:0;flex:1 1 auto;font-size:var(--ds-fs-body)}
.c3-doc.is-empty{border-style:dashed}
.c3-doc.is-focus{border-color:var(--ds-primary);box-shadow:var(--ds-shadow-hover)}
.c3-doc-actions{display:flex;flex-wrap:wrap;gap:var(--ds-space-2);align-items:center}
.c3-docs-more{margin-block-start:var(--ds-space-3)}
.c3-docform .c3-span,.c3-siteform .c3-span{grid-column:1 / -1}

/* forms */
.c3-grid{display:grid;grid-template-columns:1fr;gap:var(--ds-space-3)}
@media (min-width:720px){.c3-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.c3-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.c3-form .field{margin:0}
.c3-form-actions{display:flex;gap:var(--ds-space-2);flex-wrap:wrap;margin-block-start:var(--ds-space-3)}
.c3-check{display:flex;align-items:center;gap:var(--ds-space-2);min-height:var(--ds-touch-min)}
.c3-err{margin-block-start:var(--ds-space-2)}
.c3-upload{cursor:pointer}

/* contacts */
.c3-contacts,.c3-depots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--ds-space-2)}
.c3-contact{display:flex;flex-wrap:wrap;gap:var(--ds-space-3);align-items:center;padding:var(--ds-space-2) var(--ds-space-3);border:var(--ds-border-w) solid var(--ds-border-subtle);border-radius:var(--ds-radius-md);background:var(--ds-surface)}
.c3-contact b{flex:0 0 100%;font-size:var(--ds-fs-caption);color:var(--ds-text-muted)}
.c3-depots li{padding:var(--ds-space-2) var(--ds-space-3);border:var(--ds-border-w) solid var(--ds-border-subtle);border-radius:var(--ds-radius-md)}

/* finance */
.c3-aging{display:flex;flex-direction:column;gap:var(--ds-space-2)}
.c3-age{display:grid;grid-template-columns:110px 1fr 110px;gap:var(--ds-space-2);align-items:center;font-size:var(--ds-fs-secondary)}
.c3-bar{height:8px;border-radius:99px;background:var(--ds-border-subtle);overflow:hidden}
.c3-bar>i{display:block;height:100%;background:var(--ds-primary)}
.c3-filter{display:flex;flex-wrap:wrap;gap:var(--ds-space-2);align-items:flex-end;margin-block-end:var(--ds-space-3)}
tr.is-overdue td{background:var(--ds-danger-bg)}
tr.is-reversed td{text-decoration:line-through;color:var(--ds-text-muted)}

/* timeline */
.c3-tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--ds-space-3);border-inline-start:2px solid var(--ds-border-subtle);padding-inline-start:var(--ds-space-3)}
.c3-tl li{display:flex;flex-direction:column;gap:2px}
.c3-tl small{color:var(--ds-text-muted)}

/* removal dialog */
.c3-deps td:last-child{text-align:end;font-weight:var(--ds-fw-bold)}
.c3-deps tr.has td{background:var(--ds-warning-bg)}
.c3-modes{border:0;padding:0;margin:var(--ds-space-3) 0;display:flex;flex-direction:column;gap:var(--ds-space-2)}
.c3-modes label{display:flex;align-items:center;gap:var(--ds-space-2);min-height:var(--ds-touch-min)}
