/* Contacts redesign — soft blue canvas, white cards, purple balance tile, coloured tags, up/down arrows. */
.sfc-dir,.sfc-profile{--sfc-ink:#101828;--sfc-text:#344054;--sfc-muted:#667085;--sfc-line:#e4e7ec;--sfc-card:#fff;--sfc-green:#12b76a;--sfc-red:#f04438;--sfc-purple:#6d5df0;font-variant-numeric:tabular-nums}
#application .sfc-dir,#application .sfc-profile{max-width:1180px}
.sfc-card{background:var(--sfc-card);border:1px solid #eaeef5;border-radius:18px;box-shadow:0 4px 18px rgba(40,50,90,.05);padding:22px 24px;margin:16px 0}
.sfc-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.sfc-card-head h2{font-size:20px;font-weight:700;margin:0;color:var(--sfc-ink);letter-spacing:-.3px}.sfc-card-head span{display:block;font-size:12.5px;color:var(--sfc-muted);margin-top:4px}
.sfc-link{color:var(--sfc-purple);font-weight:600;font-size:13.5px;text-decoration:none;white-space:nowrap}
.sfc-empty{color:var(--sfc-muted);text-align:center;padding:26px 8px;margin:0}
.sfc-count{color:#98a2b3;font-size:12px;margin-top:12px}
/* Avatars & pills */
.sfc-avatar{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:14px;flex-shrink:0;letter-spacing:.3px}.sfc-avatar.lg{width:58px;height:58px;border-radius:16px;font-size:19px}
.sfc-pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sfc-pill{font-size:11.5px;font-weight:650;border-radius:7px;padding:3px 9px;line-height:1.3}.sfc-pill.is-purple{background:#efeafe;color:#6941c6}.sfc-pill.is-cyan{background:#e0f6fb;color:#0e7f98}.sfc-pill.is-gray{background:#eceef2;color:#475467}.sfc-pill.is-tg{background:#e6f3fd;color:#229ed9;padding:3px 6px;display:inline-flex}
.sfc-tag{display:inline-flex;justify-content:center;align-items:center;font-size:12px;font-weight:700;border-radius:7px;padding:5px 10px;min-width:84px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.sfc-tag.is-purple{background:#efeafe;color:#6941c6}.sfc-tag.is-cyan{background:#e0f6fb;color:#0e9fbd}.sfc-tag.is-amber{background:#fff4e0;color:#b54708}.sfc-tag.is-gray{background:#eceef2;color:#344054}
.sfc-arrow{font-weight:800;font-size:.95em}.sfc-arrow.up{color:var(--sfc-green)}.sfc-arrow.down{color:var(--sfc-red)}
/* Balance tile + stats */
.sfc-balance-tile{background:linear-gradient(120deg,#6d5df0,#9281f8);color:#fff;border-radius:16px;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0;box-shadow:0 10px 24px rgba(109,93,240,.25)}
.sfc-balance-tile strong{display:block;font-size:34px;font-weight:750;letter-spacing:-1px;line-height:1.1;color:#fff}.sfc-balance-tile span{display:block;font-size:13.5px;font-weight:600;opacity:.92;margin-top:6px}.sfc-balance-tile small{display:block;font-size:12px;opacity:.8;margin-top:2px}
.sfc-spark{width:150px;height:58px;flex-shrink:0}
.sfc-hero{display:grid;grid-template-columns:minmax(300px,1.1fr) 2fr;gap:22px;align-items:center;background:#fff;border:1px solid #eaeef5;border-radius:18px;box-shadow:0 4px 18px rgba(40,50,90,.05);padding:16px;margin:16px 0}
.sfc-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sfc-stat strong{display:block;font-size:21px;font-weight:700;color:var(--sfc-ink);letter-spacing:-.4px;white-space:nowrap}.sfc-stat>span{display:block;font-size:13px;color:var(--sfc-text);font-weight:550;margin-top:4px}.sfc-stat small{display:block;font-size:11.5px;color:var(--sfc-muted);margin-top:2px}
.sfc-send-latest{margin-top:8px;display:inline-flex;gap:6px;align-items:center;border:0;background:#e6f3fd;color:#1a8fcb;font-weight:650;font-size:12.5px;border-radius:9px;padding:6px 11px;cursor:pointer}.sfc-send-latest:hover{background:#d4ebfb}
/* Directory */
.sfc-dir-head,.sfc-head{display:flex;align-items:center;gap:16px}.sfc-dir-head{justify-content:space-between;margin:6px 0 4px}.sfc-dir-head h1{margin:0;font-size:30px;letter-spacing:-.8px}.sfc-dir-head span{color:var(--sfc-muted);font-size:13px}
.sfc-dir-summary{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;align-items:center;background:#fff;border:1px solid #eaeef5;border-radius:18px;box-shadow:0 4px 18px rgba(40,50,90,.05);padding:16px;margin:16px 0}.sfc-dir-summary .sfc-stat{padding-left:8px}
.sfc-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.sfc-toolbar .search{flex:1;min-width:200px}.sfc-toolbar select,.sfc-toolbar .search{font-size:13.5px!important;padding:0 12px;border-radius:11px!important;border:1px solid var(--sfc-line)!important;background:#fff;min-height:42px}
.sfc-dir-list{display:flex;flex-direction:column;gap:8px}
.sfc-dir-row{display:grid;grid-template-columns:auto 1fr auto 170px 34px;gap:14px;align-items:center;padding:12px 14px;border:1px solid #eef1f6;border-radius:14px;cursor:pointer;transition:background .15s,border-color .15s}.sfc-dir-row:hover{background:#f8f9fe;border-color:#dcd7fb}
.sfc-dir-main{min-width:0;display:flex;flex-direction:column;gap:5px}.sfc-dir-main .ct-clean-name{font-weight:650;font-size:15px;color:var(--sfc-ink);text-decoration:none}
.sfc-dir-last{font-size:11.5px;color:var(--sfc-muted);text-align:right}.sfc-dir-last b{display:block;color:var(--sfc-text);font-weight:600;font-size:12.5px}
.sfc-dir-balance{text-align:right}.sfc-dir-balance strong{display:block;font-size:17px;font-weight:700}.sfc-dir-balance small{font-size:11.5px;color:var(--sfc-muted)}.sfc-dir-balance.is-owed strong{color:#d92d20}.sfc-dir-balance.is-owing strong{color:#079455}.sfc-dir-balance.is-zero strong{color:#98a2b3}
/* Profile */
.sfc-head{margin:6px 0 14px;background:transparent!important;border:0!important;box-shadow:none!important;position:static!important;height:auto!important;padding:0!important}.sfc-head-main{flex:1;min-width:0}.sfc-head h1{margin:0 0 7px;font-size:28px;letter-spacing:-.7px}.sfc-head-actions{display:flex;gap:8px;align-items:center}
.sfc-gear{width:42px;height:42px;padding:0!important;display:grid!important;place-items:center;border-radius:12px!important}
.sfc-tg-chip{display:inline-flex;align-items:center;gap:6px;border:1px dashed #b9c6d8;background:#fff;color:#475467;border-radius:8px;padding:3px 9px;font-size:11.5px;font-weight:650;cursor:pointer;max-width:240px}.sfc-tg-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sfc-tg-chip.is-linked{border:0;background:#e6f3fd;color:#1a8fcb}
.sfc-tabs{display:flex;gap:6px;background:#eef1f7;border-radius:12px;padding:4px;width:max-content;max-width:100%;overflow-x:auto}.sfc-tabs a{padding:8px 15px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--sfc-muted);text-decoration:none;white-space:nowrap}.sfc-tabs a.active{background:#fff;color:var(--sfc-purple);box-shadow:0 1px 4px rgba(40,50,90,.1)}
#application .sfc-profile .club-detail-tabs{display:none}
/* Movements */
.sfc-move-head,.sfc-move>summary{display:grid;grid-template-columns:118px 120px minmax(0,1fr) 150px 130px 44px;gap:14px;align-items:center}
.sfc-move-head{padding:10px 16px;font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#475467;border-bottom:1px solid var(--sfc-line)}.sfc-move-head span:nth-child(3),.sfc-move-head span:nth-child(4){text-align:right}
.sfc-move-head span:nth-child(2){grid-column:span 2}
.sfc-group-label{display:flex;align-items:center;gap:12px;margin:16px 4px 8px;font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#667085}.sfc-group-label:after{content:"";flex:1;height:1px;background:var(--sfc-line)}
.sfc-move{border:1px solid #eef1f6;border-radius:13px;margin-bottom:8px;background:#fff}.sfc-move.is-latest{background:#ecfaf1;border-color:#cdeedb}.sfc-move.is-deleted{opacity:.6}
.sfc-move>summary{list-style:none;cursor:pointer;padding:12px 16px}.sfc-move>summary::-webkit-details-marker{display:none}
.sfc-move-date{font-size:13.5px;color:var(--sfc-text);font-weight:500;white-space:nowrap}
.sfc-move-text{min-width:0}.sfc-move-text b{display:block;font-weight:550;color:var(--sfc-text);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sfc-move-text small{display:block;color:#98a2b3;font-size:11.5px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sfc-move-amount{text-align:right;font-weight:650;font-size:15px;color:var(--sfc-ink);white-space:nowrap}.sfc-move-after{text-align:right;font-size:13.5px;color:var(--sfc-text);white-space:nowrap}.sfc-move-after small{display:block;font-size:10.5px;color:#98a2b3}
.sfc-move .ct-movement-detail{padding:4px 16px 14px;border-top:1px dashed var(--sfc-line)}
.sfc-icon-btn{position:relative;width:34px;height:34px;border-radius:10px;border:1px solid #d6e6f5;background:#f4faff;color:#229ed9;display:grid;place-items:center;cursor:pointer}.sfc-icon-btn:hover{background:#e3f2fd}.sfc-icon-btn.is-sent{background:#e7f8ef;border-color:#bfe8d1;color:#079455}.sfc-icon-btn i{position:absolute;right:-5px;top:-6px;font-style:normal;font-size:10px;background:#12b76a;color:#fff;border-radius:99px;width:15px;height:15px;display:grid;place-items:center}
.sfc-facts dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:0}.sfc-facts dt{font-size:11.5px;color:var(--sfc-muted)}.sfc-facts dd{margin:3px 0 0;font-weight:600;color:var(--sfc-ink)}.sfc-notes{margin-top:14px;border-top:1px solid var(--sfc-line);padding-top:12px}.sfc-notes h3{font-size:13px;margin:0 0 4px}.sfc-notes p{margin:0;color:var(--sfc-text);white-space:pre-wrap}
.sfc-profile .cc-overview{background:#fff;border:1px solid #eaeef5;border-radius:18px;box-shadow:0 4px 18px rgba(40,50,90,.05);padding:20px 24px}.sfc-profile .cc-panel{border-radius:18px!important}
/* Telegram modals */
.sfc-tg-modal p{color:var(--sfc-text,#344054)}.sfc-tg-linked{display:flex;gap:12px;align-items:center;background:#e6f3fd;color:#1a8fcb;border-radius:12px;padding:12px 14px;margin:8px 0 12px}.sfc-tg-linked strong{color:#101828;display:block}.sfc-tg-linked small{color:#475467}
.sfc-tg-steps{padding-left:20px;display:flex;flex-direction:column;gap:10px;color:#344054}.sfc-tg-code{display:flex;gap:8px;align-items:center;margin-top:6px}.sfc-tg-code code{flex:1;background:#f2f4f7;border-radius:9px;padding:10px 12px;font-size:14px;user-select:all;word-break:break-all}
.sfc-tg-preview{width:100%;border-radius:12px;border:1px solid #e4e7ec;display:block;margin-bottom:12px}.sfc-tg-send textarea{font-family:inherit}
#modal .button .button-icon,#modal .button svg{vertical-align:-2px}
/* Mobile */
@media (max-width:760px){
 .sfc-card{padding:16px;border-radius:16px;margin:12px 0}
 .sfc-hero,.sfc-dir-summary{grid-template-columns:1fr;gap:14px;padding:12px}
 .sfc-hero-stats{grid-template-columns:1fr 1fr;gap:12px 10px;padding:0 6px 6px}.sfc-hero-stats .sfc-stat:last-child{grid-column:1/-1}
 .sfc-dir-summary{grid-template-columns:1fr 1fr}.sfc-dir-summary .sfc-net{grid-column:1/-1}
 .sfc-balance-tile strong{font-size:30px}.sfc-spark{width:110px}
 .sfc-head{flex-wrap:wrap}.sfc-head-actions{width:100%}.sfc-head-actions .button.primary{flex:1}
 .sfc-dir-row{grid-template-columns:auto 1fr auto 30px;gap:10px;padding:11px}.sfc-dir-last{display:none}.sfc-dir-balance strong{font-size:15px}
 .sfc-move-head{display:none}
 .sfc-move>summary{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"tag text amount" "date date after" "act act act";gap:6px 10px;padding:11px 12px}
 .sfc-move>summary .sfc-tag{grid-area:tag;min-width:0;max-width:96px}.sfc-move-text{grid-area:text}.sfc-move-amount{grid-area:amount}.sfc-move-date{grid-area:date;font-size:12px;color:#98a2b3}.sfc-move-after{grid-area:after;display:flex;gap:4px;align-items:baseline;justify-content:flex-end;font-size:12px}.sfc-move-after small{display:inline}
 .sfc-move-actions{position:absolute;display:none}
 .sfc-move{position:relative}.sfc-move>summary{padding-right:52px}.sfc-move .sfc-move-actions{display:block;right:10px;top:50%;transform:translateY(-50%)}
 .sfc-tabs{width:100%}.sfc-tabs a{flex:1;text-align:center;padding:8px 6px}
}
#application .sfc-card.ct-clean-directory{background:#fff!important;border:1px solid #eaeef5!important;padding:22px 24px!important}
@media (max-width:760px){
 .sfc-head-actions{order:3}.sfc-card-head{flex-direction:column;align-items:stretch}.sfc-card-head .head-buttons{display:flex;gap:8px;width:100%}.sfc-card-head .head-buttons .button.primary{flex:1}
 .sfc-toolbar select{flex:1;min-width:0}.sfc-toolbar .search{flex-basis:100%}
 .sfc-move>summary{grid-template-columns:auto 1fr auto;grid-template-areas:"text text amount" "tag date after"}
 .sfc-move-date{align-self:center}
 #application .sfc-card.ct-clean-directory{padding:14px!important}
}
@media (max-width:760px){
 .sfc-move>summary .sfc-tag{min-width:max-content;max-width:none;padding:3px 8px;font-size:11px}
 .sfc-move-text b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13.5px}
}
@media (max-width:760px){
 .sfc-move>summary{grid-template-columns:auto 1fr auto 36px;grid-template-areas:"text text amount act" "tag date after act";padding-right:10px}
 .sfc-move .sfc-move-actions{position:static;transform:none;display:block;grid-area:act;align-self:center}
 .sfc-move .sfc-icon-btn{width:32px;height:32px}
 .sfc-move-after small{display:none}
}
/* Colour follows the sign: red = the contact owes you (negative), green = you owe them (positive), purple = settled. */
.sfc-balance-tile.is-neg{background:linear-gradient(120deg,#d92d20,#f97066);box-shadow:0 10px 24px rgba(217,45,32,.22)}
.sfc-balance-tile.is-pos{background:linear-gradient(120deg,#079455,#32d583);box-shadow:0 10px 24px rgba(7,148,85,.22)}
.sfc-balance-tile.is-zero{background:linear-gradient(120deg,#6d5df0,#9281f8)}
.sfc-num.is-neg,.sfc-move-amount.is-neg{color:#d92d20!important}.sfc-num.is-pos,.sfc-move-amount.is-pos{color:#079455!important}.sfc-num.is-zero{color:#667085}
/* Light totals strip on the contacts list */
.sfc-dir-totals{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}
.sfc-total{display:inline-flex;align-items:baseline;gap:8px;background:#fff;border:1px solid #eaeef5;border-radius:10px;padding:7px 12px;font-size:13px}
.sfc-total small{color:#667085;font-size:12px}.sfc-total b{font-weight:700;color:#101828}.sfc-total.is-neg b{color:#d92d20}.sfc-total.is-pos b{color:#079455}
.sfc-total em{font-style:normal;font-size:11px;color:#98a2b3;background:#f2f4f7;border-radius:99px;padding:1px 7px}
.sfc-icon-btn.is-off{background:#f2f4f7;border-color:#e4e7ec;color:#98a2b3}
.statement-tg-cell{text-align:right;white-space:nowrap}.statement-tg-cell .sfc-icon-btn{display:inline-grid}.statement-tg-confirm{padding:6px 10px!important;font-size:12px!important;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.sfc-pills:empty{display:none}
/* Ring hero — same layout as the Telegram update image */
.sfc-ring-hero{grid-template-columns:auto minmax(0,1fr)!important;gap:34px!important;padding:24px 28px!important}
.sfc-ring{position:relative;width:200px;height:200px;flex-shrink:0}.sfc-ring svg{width:200px;height:200px;display:block}
.sfc-ring-track{fill:none;stroke-width:18;stroke:#f2f4f7}.sfc-ring-fill{fill:none;stroke-width:18;stroke-linecap:round;stroke:#667085}
.sfc-ring-hero.is-neg .sfc-ring-track{stroke:#fee4e2}.sfc-ring-hero.is-neg .sfc-ring-fill{stroke:#d92d20}.sfc-ring-hero.is-neg .sfc-ring strong,.sfc-ring-hero.is-neg .sfc-ring-status{color:#d92d20}
.sfc-ring-hero.is-pos .sfc-ring-track{stroke:#dcfce7}.sfc-ring-hero.is-pos .sfc-ring-fill{stroke:#079455}.sfc-ring-hero.is-pos .sfc-ring strong,.sfc-ring-hero.is-pos .sfc-ring-status{color:#079455}
.sfc-ring>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.sfc-ring span{font-size:12.5px;color:#475467}.sfc-ring strong{font-size:27px;font-weight:800;letter-spacing:-.8px;color:#101828;margin:2px 0;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sfc-ring-status{margin:0 0 16px;font-size:22px;font-weight:700;letter-spacing:-.3px;color:#101828}
.sfc-ring-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.sfc-ring-grid>div>span{display:block;font-size:12.5px;color:#475467}.sfc-ring-grid strong{display:block;font-size:21px;font-weight:700;color:#101828;margin-top:3px;white-space:nowrap}.sfc-ring-grid small{display:block;font-size:11.5px;color:#667085;margin-top:2px}
@media (max-width:760px){.sfc-ring-hero{grid-template-columns:1fr!important;justify-items:center;gap:16px!important;padding:18px!important}.sfc-ring{width:170px;height:170px}.sfc-ring svg{width:170px;height:170px}.sfc-ring-facts{width:100%}.sfc-ring-status{text-align:center;font-size:19px}.sfc-ring-grid{grid-template-columns:1fr 1fr}.sfc-ring-grid>div:last-child{grid-column:1/-1}}
.sfc-cur{font-style:normal;font-size:.5em;font-weight:600;letter-spacing:.2px;margin-left:6px;color:#98a2b3;vertical-align:.25em}
.sfc-balance-tile .sfc-cur{color:rgba(255,255,255,.8)}
