:root{--nav:#06245a;--nav2:#0b3478;--blue:#2563eb;--bg:#f4f7fb;--line:#e3e9f2;--text:#10264b;--muted:#718097;--green:#159447;--red:#d9363e;--purple:#7046d9;--yellow:#e9a400;--card:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.layout{display:flex;min-height:100vh}.side{width:216px;background:linear-gradient(180deg,#061f50,#082d69);color:#fff;padding:16px 12px;position:fixed;inset:0 auto 0 0;overflow:auto;z-index:20}.side-brand{display:flex;gap:9px;align-items:center;padding:7px 8px 20px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:12px}.brand-mark{width:38px;height:38px;border:2px solid rgba(255,255,255,.9);border-radius:50%;display:grid;place-items:center;font-size:21px}.side-brand b{display:block;font-size:15px;letter-spacing:.4px}.side-brand small{display:block;font-size:9px;opacity:.75;letter-spacing:.6px;margin-top:2px}.nav a{display:flex;gap:12px;align-items:center;padding:11px 10px;border-radius:8px;margin:3px 0;color:#dce8ff;font-size:13px;font-weight:650}.nav a span{width:17px;text-align:center}.nav a:hover,.nav a.active{background:#2764e8;color:#fff;box-shadow:0 5px 15px rgba(37,99,235,.2)}.side-admin{display:flex;gap:9px;align-items:center;margin-top:19px;padding:11px;border:1px solid rgba(255,255,255,.13);border-radius:10px}.side-admin .avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#174aaf;font-weight:900}.side-admin b{display:block;font-size:12px}.side-admin small{display:block;color:#9eb5dc;font-size:10px;margin-top:2px}.side-chevron{margin-left:auto}.side-logout{display:block;margin-top:10px;padding:11px;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#dce8ff;font-size:13px}.main{margin-left:216px;width:calc(100% - 216px);min-width:0}.top{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:15px;padding:0 24px}.admin-top{position:sticky;top:0;z-index:10}.page-title{font-size:18px;font-weight:800}.menu-btn{border:0;background:none;font-size:20px;color:#5c6a82;cursor:pointer}.top-search-wrap{margin-left:auto;position:relative;width:min(340px,32vw)}.top-search{width:100%;height:38px;border:1px solid var(--line);padding:0 38px 0 13px;border-radius:9px;font-size:12px;outline:none}.top-search-wrap span{position:absolute;right:13px;top:9px;color:#6f7d94}.notification{font-size:20px;position:relative;color:#53637c}.notification i{position:absolute;right:-5px;top:-5px;background:#ef4444;color:#fff;width:15px;height:15px;border-radius:50%;font:700 9px/15px Arial;text-align:center}.admin-mini{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.mini-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e8eef9;color:#194da7}.content{padding:22px}.dashboard{max-width:1750px;margin:auto}.stats6{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;width:100%}.card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:17px;box-shadow:0 4px 18px rgba(20,40,80,.045)}.kpi{position:relative;min-height:132px;overflow:hidden}.kpi small{display:block;margin-left:43px;color:#53637c;font-size:11px}.kpi strong{display:block;margin:8px 0 12px;font-size:24px;line-height:1}.kpi a{font-size:10px;color:#2058bb;font-weight:750}.kpi a b{font-size:14px}.kpi .danger-link{color:#d9363e}.kpi-icon{position:absolute;left:15px;top:15px;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-weight:900;font-size:16px}.kpi-icon.blue{background:#eaf2ff;color:#1661d9}.kpi-icon.green{background:#e6f7ed;color:#159447}.kpi-icon.yellow{background:#fff4d9;color:#bd7800}.kpi-icon.purple{background:#f0eaff;color:#7046d9}.kpi-icon.red{background:#ffe8ea;color:#c93440}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px;margin-top:14px}.quick-col{display:grid;gap:14px;align-content:start}.toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar h2,.toolbar h3{margin:0}.toolbar p{margin:5px 0 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:#fff;padding:9px 13px;border-radius:8px;cursor:pointer;font-weight:750;font-size:12px}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.candidate-filters{display:flex;gap:9px;align-items:center;margin-bottom:12px}.candidate-filters select{width:145px}.table-search{display:flex;flex:1;min-width:180px}.table-search input{border-radius:8px 0 0 8px}.table-search button{border:0;background:var(--blue);color:#fff;padding:0 15px;border-radius:0 8px 8px 0;font-weight:750}.filter-btn{white-space:nowrap}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:920px}.table th,.table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:11px;white-space:nowrap}.table th{color:#687890;font-size:10px;font-weight:800}.table td small{display:block;color:#7a879b;margin-top:3px}.modern tr:hover{background:#f8fbff}.table-avatar{width:34px;height:34px;border-radius:6px;background:#edf2f9;display:grid;place-items:center}.badge{display:inline-block;padding:5px 9px;border-radius:15px;background:#edf2ff;font-size:10px;font-weight:800}.ok{background:#def7e8;color:#12783c}.warn{background:#fff1c9;color:#8a5c00}.bad{background:#ffe1e3;color:#a51e28}.green-text{color:#159447}.red-text{color:#d9363e}.purple-text{color:#7046d9}.muted{color:var(--muted)}.small-btn{padding:6px 10px}.more-btn{font-size:18px;color:#75839a;padding-left:7px}.table-footer{display:flex;justify-content:space-between;align-items:center;padding-top:13px;color:#66758d;font-size:10px}.pagination{display:flex;gap:5px;align-items:center}.pagination button,.pagination b{min-width:28px;height:28px;border:0;background:#fff;border-radius:6px;display:grid;place-items:center;color:#63718a}.pagination b{background:var(--blue);color:#fff}.quick-card h3,.country-card h3{margin:0 0 12px}.quick-card a{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px;font-weight:700}.quick-card a:last-child{border:0}.quick-card a span{width:28px;height:28px;border-radius:7px;background:#edf3ff;color:#2563eb;display:grid;place-items:center}.country-card{min-height:275px}.donut{width:128px;height:128px;border-radius:50%;margin:18px auto;background:conic-gradient(#2b65e8 0 45%,#eb4b52 45% 72%,#efb42d 72% 88%,#7046d9 88% 100%);position:relative}.donut:after{content:"";position:absolute;inset:33px;background:#fff;border-radius:50%}.legend{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:10px}.legend span{color:#687890}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}.blue-dot{background:#2b65e8}.red-dot{background:#eb4b52}.yellow-dot{background:#efb42d}.bottom-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin-top:14px}.summary-card h3,.docs-card h3{margin:0}.summary-ring{width:130px;height:130px;border-radius:50%;margin:15px auto;background:conic-gradient(#18a35c var(--pct),#f05454 0);display:grid;place-items:center;position:relative}.summary-ring:after{content:"";position:absolute;inset:32px;background:#fff;border-radius:50%}.summary-ring>div{position:relative;z-index:1;font-weight:850;text-align:center;font-size:17px}.summary-ring small{display:block;font-size:9px;color:var(--muted);font-weight:600;margin-top:3px}.summary-legend{display:grid;gap:7px;font-size:10px;color:#63718a}.summary-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;background:#18a35c;margin-right:5px}.summary-legend span:last-child i{background:#f05454}.summary-card p{font-size:10px;color:#69768c}.view-link{font-size:10px;color:#2058bb;font-weight:750}.doc-row{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:10px}.doc-row span{width:28px;height:28px;border-radius:7px;background:#edf3ff;color:#2563eb;display:grid;place-items:center}.doc-row small{color:var(--muted)}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #d9e1ec;border-radius:8px;background:#fff;font:inherit;color:var(--text)}textarea{min-height:80px;resize:vertical}label{font-size:12px;font-weight:800;display:block;margin-bottom:6px}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.full{grid-column:1/-1}.save-btn{margin-top:16px}.profile-head{display:flex;align-items:center;gap:15px}.profile-head h1{margin:0 0 5px;font-size:23px}.profile-head p{margin:0;color:var(--muted);font-size:12px}.profile-avatar{width:64px;height:64px;border-radius:12px;background:#eaf2ff;display:grid;place-items:center;font-size:28px}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.tabs a{padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:11px;font-weight:750}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title h2{margin:0}.agent-box{padding:14px;background:#f5f8ff;border:1px dashed #bdd0f3;border-radius:10px}.agent-box h3{margin:0 0 4px}.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.finance-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:14px}.inline-form{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.inline-form .btn{width:100%}.money-summary{display:flex;justify-content:space-between;gap:10px;padding:13px;margin-top:12px;background:#f7f9fc;border-radius:9px;font-size:11px}.money-summary span{display:flex;flex-direction:column;gap:4px;color:var(--muted)}.money-summary b{font-size:14px;color:var(--text)}.notice{padding:10px;background:#fff7dd;border-radius:8px;color:#8a5c00;font-size:11px;margin-bottom:12px}.delete-link{color:var(--red);font-weight:700}.login{max-width:430px;margin:9vh auto}.login .brand{text-align:center;color:var(--nav);font-weight:900;font-size:20px;margin-bottom:20px}.login h2{margin-top:0}.login input{margin-top:5px}.public{background:#f8faff;color:#071e49}.topbar{height:30px;background:#05265e;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 6%;font-size:10px}.public-nav{height:76px;background:#fff;display:flex;align-items:center;padding:0 5%;gap:35px;border-bottom:1px solid #edf0f5}.public-logo{display:flex;gap:9px;align-items:center;margin-right:auto}.logo-mark{width:43px;height:43px;border:2px solid #1560c9;border-radius:50%;display:grid;place-items:center;color:#1560c9;font-size:22px}.public-logo b{display:block;font-size:18px;color:#0b4ba6;letter-spacing:.3px}.public-logo small{display:block;font-size:14px;font-weight:800;color:#0b4ba6;letter-spacing:.5px}.public-logo em{display:block;font-style:normal;font-size:7px;color:#6f7c92}.public-nav nav{display:flex;gap:27px;font-size:12px;font-weight:750}.public-nav nav a.active{color:#0f55c8;border-bottom:2px solid #185adb;padding-bottom:9px}.nav-contact{background:#06255a;color:#fff;padding:12px 17px;border-radius:7px;font-size:11px;font-weight:800}.hero-public{min-height:390px;position:relative;overflow:hidden;background:linear-gradient(115deg,#fff1e7 0%,#e6f2ff 48%,#cde6ff 100%);display:flex;padding-left:7%;align-items:center}.hero-copy{position:relative;z-index:2;width:42%;padding:45px 0}.eyebrow{font-size:11px;color:#e3a600;font-weight:900;letter-spacing:1px}.hero-copy h1{font-size:44px;line-height:1.05;margin:9px 0;color:#101010}.hero-copy h1 strong{color:#0b3f92}.yellow-line{width:64px;height:4px;background:#f2b400;margin:17px 0}.hero-copy p{font-size:14px;line-height:1.65;max-width:470px;color:#26344d}.hero-actions{display:flex;gap:12px;margin-top:20px}.hero-btn{padding:13px 18px;border-radius:6px;font-size:12px;font-weight:800}.hero-btn.dark{background:#07285d;color:#fff}.hero-btn.light{background:#fff;color:#0a2b63;box-shadow:0 2px 10px rgba(20,50,100,.08)}.hero-sky{position:absolute;right:0;top:0;width:60%;height:100%;overflow:hidden}.plane{position:absolute;left:28%;top:27%;font-size:55px;color:#335e96;transform:rotate(-8deg)}.skyline{position:absolute;bottom:0;right:0;width:100%;height:62%;display:flex;align-items:flex-end;justify-content:center;gap:5px}.skyline i{display:block;width:7%;background:linear-gradient(#7ea6cc,#335d8f);opacity:.65;border-radius:4px 4px 0 0}.skyline i:nth-child(1){height:32%}.skyline i:nth-child(2){height:48%}.skyline i:nth-child(3){height:65%}.skyline i:nth-child(4){height:92%;width:10%}.skyline i:nth-child(5){height:70%}.skyline i:nth-child(6){height:54%}.skyline i:nth-child(7){height:77%}.skyline i:nth-child(8){height:43%}.skyline i:nth-child(9){height:100%;width:8%}.stats-public{max-width:86%;margin:-1px auto 0;background:#06295f;color:#fff;border-radius:0 0 13px 13px;display:grid;grid-template-columns:repeat(4,1fr);padding:20px 35px;position:relative;z-index:3}.stats-public div{display:grid;grid-template-columns:48px 1fr;align-items:center;border-right:1px solid rgba(255,255,255,.25);padding:0 25px}.stats-public div:last-child{border:0}.stats-public span{grid-row:span 2;width:40px;height:40px;border-radius:50%;background:#fff;color:#1560c9;display:grid;place-items:center;font-weight:900}.stats-public b{font-size:23px}.stats-public small{font-size:10px;color:#d8e4fb}.section-public{max-width:86%;margin:45px auto 25px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.section-head h2{font-size:27px;margin:5px 0}.section-head p{font-size:11px;color:#5f6e84;margin:0}.outline-btn{border:1px solid #dfe5ef;background:#fff;padding:11px 14px;border-radius:7px;color:#1554b7;font-size:10px;font-weight:800}.candidate-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:23px}.public-candidate{position:relative;min-height:175px;background:#fff;border:1px solid #e5eaf2;border-radius:10px;padding:14px;box-shadow:0 5px 14px rgba(20,40,80,.04);overflow:hidden}.candidate-avatar{width:43px;height:43px;border-radius:50%;background:#edf3ff;color:#175bd2;display:grid;place-items:center;font-size:22px}.public-candidate .flag{position:absolute;right:14px;top:15px;font-size:19px}.public-candidate h3{font-size:13px;margin:13px 0 3px}.public-candidate p{margin:0;font-size:11px;color:#26344d}.city-art{position:absolute;left:0;right:0;bottom:0;height:35px;background:linear-gradient(180deg,transparent,#dbe9fb);clip-path:polygon(0 100%,0 75%,10% 62%,18% 80%,30% 40%,40% 75%,48% 52%,58% 85%,68% 55%,80% 72%,90% 40%,100% 66%,100% 100%)}.benefits{max-width:86%;margin:22px auto 45px;background:#fff;border:1px solid #e6ebf3;border-radius:10px;display:grid;grid-template-columns:repeat(4,1fr);padding:16px}.benefits div{padding:0 18px;border-right:1px solid #e5eaf1}.benefits div:last-child{border:0}.benefits b{display:block;font-size:11px}.benefits small{display:block;color:#77849a;font-size:9px;margin-top:5px}footer{text-align:center;padding:25px;background:#06295f;color:#dbe7ff;font-size:10px}@media(max-width:1250px){.stats6{grid-template-columns:repeat(3,minmax(0,1fr))!important}.candidate-cards{grid-template-columns:repeat(3,1fr)}.public-nav nav{gap:12px}.public-nav{gap:15px}.bottom-grid{grid-template-columns:1fr 1fr}.docs-card{grid-column:1/-1}}@media(max-width:900px){.side{width:70px}.side-brand{justify-content:center}.side-brand>div:not(.brand-mark),.nav a:not(.active) span+*,.nav a span:not(:first-child),.side-admin>div:not(.avatar),.side-chevron,.side-logout span{display:none}.nav a{justify-content:center;font-size:18px}.main{margin-left:70px;width:calc(100% - 70px)}.dashboard-grid,.bottom-grid{grid-template-columns:1fr}.candidate-filters{flex-wrap:wrap}.candidate-filters select{width:calc(50% - 5px)}.hero-copy{width:70%}.hero-sky{width:55%}.stats-public{max-width:94%}.section-public,.benefits{max-width:94%}}@media(max-width:600px){.content{padding:12px}.stats6{grid-template-columns:1fr!important}.formgrid,.inline-form{grid-template-columns:1fr}.top-search-wrap,.notification{display:none}.candidate-cards{grid-template-columns:1fr 1fr}.topbar{display:none}.public-nav{height:65px;padding:0 5%}.public-nav nav{display:none}.nav-contact{display:none}.hero-public{min-height:470px;padding:25px 7%;align-items:flex-start}.hero-copy{width:100%;padding-top:45px}.hero-copy h1{font-size:34px}.hero-sky{width:100%;height:48%;top:auto;bottom:0;opacity:.7}.stats-public{grid-template-columns:1fr 1fr;padding:10px}.stats-public div{padding:10px;border-right:0}.stats-public b{font-size:17px}.section-head{align-items:start;flex-direction:column}.benefits{grid-template-columns:1fr 1fr}.benefits div{border-right:0;padding:10px}.public-logo b{font-size:15px}.public-logo small{font-size:11px}}
/* Financial section cleanup - preserve existing design */
.finance-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start}
.finance-grid .card{min-width:0}
.inline-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
.inline-form .btn{min-height:40px}
.finance-fixed{display:flex;flex-direction:column;justify-content:center;min-height:42px;padding:8px 11px;border:1px solid #d9e1ec;border-radius:8px;background:#f7f9fc;color:#718097;font-size:10px}
.finance-fixed b{font-size:14px;color:#10264b;margin-top:3px}
.money-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.money-summary div{min-width:0}
.money-summary div+div{border-left:1px solid var(--line);padding-left:12px}
.money-summary span{display:block;font-size:10px}
.money-summary b{display:block;margin-top:4px;white-space:nowrap}
@media(max-width:1100px){.finance-grid{grid-template-columns:1fr}.money-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.money-summary div:nth-child(4),.money-summary div:nth-child(5){border-left:0;padding-left:0}}
@media(max-width:600px){.inline-form{grid-template-columns:1fr}.money-summary{grid-template-columns:1fr 1fr}.money-summary div+div{border-left:0;padding-left:0}}
/* Candidate finance layout cleanup */
.finance-grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;margin-top:18px!important}
.finance-grid>.card{width:100%;padding:20px!important}
.payment-controls{display:grid;gap:16px;margin-top:8px}
.amount-editor{display:flex;align-items:end;gap:12px;padding:14px;background:#f7f9fc;border:1px solid var(--line);border-radius:10px}
.amount-editor>div{flex:1}
.amount-editor .btn{width:auto;min-width:170px;height:40px}
.inline-form.payment-entry,.inline-form.commission-entry{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;align-items:end!important;margin:0!important;padding:14px;background:#fbfcfe;border:1px solid var(--line);border-radius:10px}
.inline-form.payment-entry .btn,.inline-form.commission-entry .btn{width:100%;height:40px}
.inline-form label{margin-bottom:6px}
.check-row{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#f7f9fc;border:1px solid var(--line);border-radius:9px}
.check-row input{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:var(--blue)}
.check-row label{margin:0;font-size:12px;font-weight:700;cursor:pointer}
.money-summary{margin-top:16px!important;padding:15px!important;gap:14px!important}
.money-summary>div{padding:0 8px}
.money-summary div+div{border-left:1px solid var(--line);padding-left:14px}
@media(max-width:900px){.inline-form.payment-entry,.inline-form.commission-entry{grid-template-columns:repeat(2,minmax(0,1fr))!important}.amount-editor{flex-direction:column;align-items:stretch}.amount-editor .btn{width:100%}}
@media(max-width:600px){.inline-form.payment-entry,.inline-form.commission-entry{grid-template-columns:1fr!important}.money-summary{grid-template-columns:1fr 1fr!important}.money-summary div+div{border-left:0!important;padding-left:8px!important}.check-row{align-items:flex-start}}

/* v17 professional financial summaries */
.money-summary{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  margin-top:18px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.money-summary>div{
  min-width:0;
  padding:14px 15px!important;
  background:#fff;
  border:1px solid var(--line)!important;
  border-radius:11px;
  box-shadow:0 3px 12px rgba(20,40,80,.04);
}
.money-summary>div+div{border-left:1px solid var(--line)!important;padding-left:15px!important}
.money-summary span{
  display:block!important;
  margin:0!important;
  color:#718097!important;
  font-size:10px!important;
  font-weight:700;
  line-height:1.35;
}
.money-summary b{
  display:block!important;
  margin-top:7px!important;
  color:var(--text)!important;
  font-size:16px!important;
  font-weight:850!important;
  line-height:1.2;
  white-space:nowrap;
}
.money-summary .green-text{color:var(--green)!important}
.money-summary .red-text{color:var(--red)!important}
.money-summary .purple-text{color:var(--purple)!important}
.commission-summary{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.commission-summary>div:first-child b{font-size:13px!important;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){
 .money-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .commission-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .money-summary>div+div{border-left:1px solid var(--line)!important;padding-left:15px!important}
}
@media(max-width:600px){
 .money-summary,.commission-summary{grid-template-columns:1fr 1fr!important}
 .money-summary>div+div{border-left:1px solid var(--line)!important;padding-left:15px!important}
 .money-summary b{font-size:14px!important}
}

/* v18 final finance layout */
.finance-summary,.commission-summary{display:grid!important;gap:14px!important;margin-top:18px!important;background:transparent!important;border:0!important;padding:0!important;align-items:stretch!important}
.finance-summary{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.commission-summary{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.finance-summary>div,.commission-summary>div{box-sizing:border-box!important;min-height:72px!important;padding:14px 16px!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:11px!important;box-shadow:0 3px 12px rgba(20,40,80,.05)!important}
.finance-summary>div+div,.commission-summary>div+div{border-left:1px solid var(--line)!important;padding-left:16px!important}
.finance-summary span,.commission-summary span{display:block!important;margin:0!important;color:#718097!important;font-size:10px!important;font-weight:700!important;line-height:1.35!important}
.finance-summary b,.commission-summary b{display:block!important;margin-top:7px!important;color:var(--text)!important;font-size:16px!important;line-height:1.2!important;white-space:nowrap!important}
.finance-summary .green-text,.commission-summary .green-text{color:var(--green)!important}
.finance-summary .red-text{color:var(--red)!important}
.finance-summary .purple-text,.commission-summary .purple-text{color:var(--purple)!important}
@media(max-width:1100px){.finance-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}.commission-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.finance-summary,.commission-summary{grid-template-columns:1fr 1fr!important}.finance-summary b,.commission-summary b{font-size:14px!important}}


/* FINAL: candidate financial summary cards */
.finance-summary,
.commission-summary{
  width:100% !important;
  box-sizing:border-box !important;
  display:grid !important;
  align-items:stretch !important;
  gap:16px !important;
  margin:18px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
}
.finance-summary{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
.commission-summary{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
.finance-summary > div,
.commission-summary > div{
  box-sizing:border-box !important;
  min-width:0 !important;
  min-height:82px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  gap:7px !important;
  padding:16px !important;
  background:#fff !important;
  border:1px solid #e3e9f2 !important;
  border-radius:12px !important;
  box-shadow:0 2px 10px rgba(16,38,75,.06) !important;
}
.finance-summary > div + div,
.commission-summary > div + div{
  border-left:1px solid #e3e9f2 !important;
  padding-left:16px !important;
}
.finance-summary span,
.commission-summary span{
  display:block !important;
  margin:0 !important;
  color:#718097 !important;
  font-size:11px !important;
  font-weight:700 !important;
  line-height:1.3 !important;
  white-space:normal !important;
}
.finance-summary b,
.commission-summary b{
  display:block !important;
  margin:0 !important;
  color:#10264b !important;
  font-size:17px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.finance-summary .green-text,
.commission-summary .green-text{color:#159447 !important;}
.finance-summary .red-text{color:#d9363e !important;}
.finance-summary .purple-text,
.commission-summary .purple-text{color:#7046d9 !important;}

@media (max-width:1100px){
  .finance-summary{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .commission-summary{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:650px){
  .finance-summary,
  .commission-summary{grid-template-columns:1fr !important;}
  .finance-summary > div + div,
  .commission-summary > div + div{
    border-left:1px solid #e3e9f2 !important;
    padding-left:16px !important;
  }
}

.profile-avatar{overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.photo-upload{margin-left:auto;min-width:300px}.photo-upload form{display:flex;align-items:end;gap:8px}.photo-upload label{margin:0}.photo-upload input{max-width:230px}.table-avatar{overflow:hidden}.table-avatar img{width:100%;height:100%;object-fit:cover}@media(max-width:700px){.photo-upload{margin-left:0;width:100%;min-width:0}.profile-head{flex-wrap:wrap}.photo-upload form{flex-wrap:wrap}.photo-upload input{max-width:100%}}

/* Candidate photo picker: show only the photo, never the browser "Choose File" control. */
.photo-only-form{position:relative;display:block!important;margin:0!important}
.photo-only-form>input[type="file"]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.photo-picker{display:block!important;margin:0!important;cursor:pointer!important}
.photo-picker-img{display:block;width:92px;height:92px;border-radius:12px;overflow:hidden;background:#edf3ff;border:1px solid #dce5f3;box-shadow:0 2px 8px rgba(20,40,80,.06);font-size:34px;display:grid;place-items:center;color:#175bd2}
.photo-picker-img img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.photo-upload{min-width:92px!important;width:92px!important}
.photo-upload label{display:block!important}


/* FINAL PHOTO FIX: candidate photo stays in a small profile box */
.profile-head .photo-upload{
  margin-left:auto!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:92px!important;
  flex:0 0 92px!important;
  display:block!important;
}
.profile-head .photo-only-form{
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:92px!important;
  display:block!important;
  position:relative!important;
}
.profile-head .photo-only-form>input[type=file]{
  position:absolute!important;
  inset:0!important;
  width:92px!important;
  height:92px!important;
  opacity:0!important;
  cursor:pointer!important;
  z-index:2!important;
  margin:0!important;
  padding:0!important;
  clip:auto!important;
  overflow:hidden!important;
}
.profile-head .photo-picker{
  width:92px!important;
  height:92px!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
}
.profile-head .photo-picker-img{
  width:92px!important;
  height:92px!important;
  min-width:92px!important;
  min-height:92px!important;
  max-width:92px!important;
  max-height:92px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:12px!important;
}
.profile-head .photo-picker-img img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  display:block!important;
  object-fit:cover!important;
}
@media(max-width:700px){
  .profile-head .photo-upload{margin-left:0!important;width:92px!important;min-width:92px!important;max-width:92px!important;flex:0 0 92px!important}
}


/* Candidate list photo: strictly constrain the thumbnail so the uploaded image can never expand the row/page. */
.candidates-table .table-avatar{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  display:block!important;
  overflow:hidden!important;
  position:relative!important;
  border-radius:6px!important;
  line-height:0!important;
}
.candidates-table .table-avatar img{
  display:block!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  min-height:34px!important;
  max-height:34px!important;
  object-fit:cover!important;
  object-position:center!important;
}
/* Contact popup */
.contact-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:20px;z-index:9999}.contact-modal.show{display:flex}.contact-modal-backdrop{position:absolute;inset:0;background:rgba(4,20,50,.58);backdrop-filter:blur(3px)}.contact-modal-box{position:relative;z-index:1;width:min(460px,100%);background:#fff;border-radius:18px;padding:30px;box-shadow:0 25px 70px rgba(0,0,0,.25);border:1px solid #e3e9f2}.contact-close{position:absolute;right:14px;top:10px;width:34px;height:34px;border:0;background:#f1f4f8;border-radius:50%;font-size:24px;line-height:1;color:#52627b;cursor:pointer}.contact-modal-icon{width:48px;height:48px;border-radius:13px;background:#eaf2ff;color:#155acb;display:grid;place-items:center;font-size:23px;margin-bottom:13px}.contact-modal-box h2{margin:0 0 7px;font-size:24px;color:#10264b}.contact-modal-box p{margin:0 0 20px;color:#718097;font-size:12px;line-height:1.55}.contact-modal-box label{display:block;margin:12px 0 6px;font-size:12px;font-weight:800;color:#10264b}.contact-modal-box input,.contact-modal-box textarea{width:100%;border:1px solid #d9e1ec;border-radius:9px;padding:11px 12px;font:inherit;color:#10264b;outline:none}.contact-modal-box input:focus,.contact-modal-box textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.contact-modal-box textarea{resize:vertical;min-height:110px}.contact-send{width:100%;margin-top:16px;border:0;border-radius:9px;padding:12px;background:#2563eb;color:#fff;font-size:12px;font-weight:800;cursor:pointer}.contact-send:hover{background:#1d4ed8}@media(max-width:600px){.contact-modal-box{padding:24px 18px;border-radius:14px}.contact-modal-box h2{font-size:21px}}

/* Candidate finance: amount remaining after all outgoing payments */
.balance-left{font-size:20px;font-weight:800}
