/* CARECTO CRM v2
   Extracted from the former single-file index.html.
   Keep brand/design overrides here first; move page-specific styles into css/pages as the next cleanup step. */

:root{--mint:#00c7a9;--mint2:#e8fbf7;--bg:#f6faf9;--card:#fff;--text:#14211f;--muted:#6b7d79;--line:#e4efec;--red:#ef4444;--blue:#2563eb;--yellow:#f59e0b;--green:#00a78f;--shadow:0 18px 44px rgba(18,38,34,.08);--r:18px}
*{box-sizing:border-box} body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",Arial,sans-serif;color:var(--text);background:radial-gradient(circle at top right,rgba(0,199,169,.14),transparent 30%),linear-gradient(135deg,rgba(0,199,169,.045) 25%,transparent 25%) 0 0/30px 30px,var(--bg)}
button,input,select,textarea{font:inherit}button{cursor:pointer}
input,select,textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px 12px;outline:none}textarea{min-height:120px;resize:vertical;line-height:1.55}
input:focus,select:focus,textarea:focus{border-color:var(--mint);box-shadow:0 0 0 4px rgba(0,199,169,.12)}
label{font-size:13px;font-weight:800;color:#40514d}.btn{border:0;border-radius:13px;padding:10px 14px;background:var(--mint);color:white;font-weight:900;box-shadow:0 9px 20px rgba(0,199,169,.22)}.btn.sub{background:#eff8f6;color:#24413d;box-shadow:none}.btn.dark{background:#14211f}.btn.red{background:var(--red)}.btn.gray{background:#fff;color:#263d39;border:1px solid var(--line);box-shadow:none}.btn.small{font-size:12px;padding:7px 9px;border-radius:10px}
.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:22px}.login-card{width:100%;max-width:440px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow)}.brand{display:flex;gap:12px;align-items:center;margin-bottom:24px}.logo{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--mint),#8df0df);display:flex;align-items:center;justify-content:center;color:white;font-weight:1000;font-size:24px}.brand h1{margin:0;font-size:24px;letter-spacing:-1px}.brand p{margin:3px 0 0;color:var(--muted);font-size:13px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}.hint{margin-top:14px;padding:13px;border-radius:16px;background:var(--mint2);border:1px solid #c8f1ea;color:#24685e;font-size:13px;line-height:1.55}
.app{display:none}.side{position:fixed;left:0;top:0;bottom:0;width:274px;background:#fff;border-right:1px solid var(--line);padding:20px;z-index:20;overflow:auto}.main{margin-left:274px;padding:22px}.side-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}.side-brand .logo{width:42px;height:42px;border-radius:14px;font-size:20px}.role{background:var(--mint2);border:1px solid #c8f1ea;border-radius:16px;padding:13px;margin-bottom:16px}.role b{display:block}.role span{font-size:12px;color:#287065}.nav{display:flex;flex-direction:column;gap:5px}.nav button{border:0;background:transparent;text-align:left;padding:12px;border-radius:13px;font-weight:800;color:#43524f}.nav button.active,.nav button:hover{background:#f0faf8;color:#008b77}
.top{display:flex;justify-content:space-between;align-items:center;gap:14px;background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:22px;padding:16px 18px;margin-bottom:18px;backdrop-filter:blur(10px)}.top h2{margin:0;font-size:24px;letter-spacing:-.8px}.top p{margin:4px 0 0;color:var(--muted);font-size:13px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.section{display:none}.section.active{display:block}.grid{display:grid;gap:15px}.kpis{grid-template-columns:repeat(7,minmax(125px,1fr))}.two{grid-template-columns:1.2fr .8fr}.three{grid-template-columns:repeat(3,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:17px}.card h3{margin:0 0 12px;font-size:18px;letter-spacing:-.5px}.kpi{cursor:pointer}.kpi b{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.kpi strong{font-size:22px;letter-spacing:-.5px}.toolbar,.bulk{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.toolbar input,.toolbar select,.bulk input,.bulk select{max-width:210px;padding:10px 12px}
.table{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1050px}th,td{border-bottom:1px solid var(--line);padding:12px;font-size:13px;text-align:left;white-space:nowrap}th{background:#fbfdfc;color:#60706c}.click-row{cursor:pointer}.click-row:hover{background:#f5fffc}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;background:#edf3f2;color:#45534f}.green{background:#ddfbf4;color:#007f6c}.blue{background:#dbeafe;color:#1d4ed8}.yellow{background:#fef3c7;color:#92400e}.redb{background:#fee2e2;color:#b91c1c}.purple{background:#ede9fe;color:#5b21b6}.notice{border-radius:16px;border:1px solid #fde7aa;background:#fff8e6;color:#765200;padding:13px;font-size:13px;line-height:1.55}.danger{background:#fff1f2;border-color:#fecdd3;color:#9f1239}
.modal-bg{display:none;position:fixed;inset:0;background:rgba(10,20,18,.45);z-index:50;align-items:center;justify-content:center;padding:18px}.modal{width:96vw;max-width:1360px;max-height:92vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 24px 90px rgba(0,0,0,.24);padding:22px}.modal-head{display:flex;justify-content:space-between;gap:14px;margin-bottom:16px}.modal h3{margin:0;font-size:22px}.modal p.sub{margin:5px 0 0;color:var(--muted);font-size:13px}.form{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.full{grid-column:1/-1}.section-title{grid-column:1/-1;margin:10px 0 0;padding:11px 13px;border-radius:14px;background:#f2faf8;font-weight:1000;color:#087766}.sticky-save{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:12px;display:flex;justify-content:flex-end;gap:8px}
.status-buttons{display:flex;gap:6px;flex-wrap:wrap}.status-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;color:#40514d}.status-btn.active{background:var(--mint);border-color:var(--mint);color:#fff}.lead-detail-layout{display:grid;grid-template-columns:minmax(0,1.25fr) 460px;gap:16px;align-items:start}.history-panel{position:sticky;top:12px;max-height:82vh;overflow:auto}.quick-memo{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.quick-memo button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:900}
.detail-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.detail-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;font-weight:900}.detail-tabs button.active{background:var(--mint);border-color:var(--mint);color:#fff}.detail-pane{display:none}.detail-pane.active{display:block}.tl,.info-card{border:1px solid var(--line);border-radius:16px;background:#fbfdfc;padding:12px;margin-bottom:10px}.tl b,.info-card b{display:block;margin-bottom:4px}.tl span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.preview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.file-card{border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff}.file-card img,.fake-img{width:100%;height:130px;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:linear-gradient(135deg,#e2f8f3,#fff);display:flex;align-items:center;justify-content:center;text-align:center;color:#288171;font-weight:900;padding:10px}.file-name{font-size:12px;color:var(--muted);word-break:break-all;margin:8px 0}
.payroll-card,.settle-detail-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;margin-bottom:12px;cursor:pointer}.payroll-card:hover,.settle-detail-card:hover{background:#f7fffd}.payroll-head,.settle-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.payroll-name,.settle-title{font-size:20px;font-weight:1000;letter-spacing:-.5px}.payroll-sub,.settle-sub{font-size:13px;color:var(--muted);margin-top:4px}.payroll-money{font-size:24px;font-weight:1000;letter-spacing:-.8px}.payroll-grid,.settle-money-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.payroll-box,.settle-money{background:#f6faf9;border:1px solid var(--line);border-radius:14px;padding:11px}.payroll-box b,.settle-money b{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.payroll-box strong,.settle-money strong{font-size:15px}.expense-chip{display:inline-flex;margin:4px 4px 0 0;padding:6px 9px;border-radius:999px;background:#eef8f6;font-size:12px;font-weight:800;color:#24413d}.floating-up{position:fixed;right:22px;bottom:22px;z-index:999;border:0;border-radius:999px;background:var(--mint);color:#fff;width:46px;height:46px;font-size:24px;font-weight:1000;box-shadow:var(--shadow)}
.mobile{display:none}.hidden{display:none!important}@media(max-width:1180px){.kpis{grid-template-columns:repeat(3,1fr)}.two,.three{grid-template-columns:1fr}.form{grid-template-columns:repeat(2,1fr)}.lead-detail-layout{grid-template-columns:1fr}.history-panel{position:relative;max-height:none}}@media(max-width:760px){.side{transform:translateX(-105%);transition:.2s;width:84%}.side.open{transform:translateX(0)}.main{margin-left:0;padding:13px}.mobile{display:inline-flex}.top{flex-direction:column;align-items:flex-start}.kpis{grid-template-columns:repeat(2,1fr)}.form{grid-template-columns:1fr}.preview{grid-template-columns:1fr}.payroll-grid,.settle-money-grid{grid-template-columns:1fr 1fr}}

.my-sales-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;margin-bottom:12px;cursor:pointer}
.my-sales-card:hover{background:#f7fffd}
.my-sales-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.my-sales-title{font-size:18px;font-weight:1000}
.my-sales-sub{font-size:13px;color:var(--muted);margin-top:4px}
.my-sales-money{font-size:22px;font-weight:1000}

.cheer-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;margin-bottom:12px}
.cheer-title{font-size:20px;font-weight:1000;margin-bottom:4px}
.cheer-target{color:var(--muted);font-size:13px;margin-bottom:12px}
.comment{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfdfc;margin-bottom:10px}
.reply{margin-left:22px;margin-top:8px;border-left:3px solid var(--mint);padding-left:10px;color:#40514d}

.server-banner{position:fixed;left:50%;top:10px;transform:translateX(-50%);z-index:9999;background:#14211f;color:#fff;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.server-banner b{color:#7ff3df}


/* ===== V4.1 restore patch: duplicate / multi contract / docs ===== */
.modal.has-sticky-close .modal-head > button{display:none}
.doc-type-select{margin-top:8px}
.lead-doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.lead-doc-card{border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff}
.lead-doc-card img{width:100%;height:130px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.lead-doc-card .fake-img{height:130px}
.dup-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.contract-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.contract-summary-grid .summary-box{background:#f6faf9;border:1px solid var(--line);border-radius:14px;padding:12px}
.contract-summary-grid b{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}
.contract-summary-grid strong{font-size:17px}
@media(max-width:900px){.lead-doc-grid,.contract-summary-grid{grid-template-columns:1fr 1fr}}


.incentive-table{width:100%;border-collapse:collapse;min-width:720px}
.incentive-table th,.incentive-table td{border-bottom:1px solid var(--line);padding:10px;font-size:13px;text-align:left}
.incentive-table input{max-width:90px;padding:8px}
.admin-only-note{font-size:12px;color:var(--muted);margin-top:6px}


.bad-approval-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;margin-bottom:10px}
.bad-approval-card .reason{white-space:pre-line;background:#fff8e6;border:1px solid #fde7aa;border-radius:12px;padding:10px;color:#765200;margin:8px 0}
.approval-state{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.approval-state span{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;background:#edf3f2}
.approval-state .ok{background:#ddfbf4;color:#007f6c}
.approval-state .wait{background:#fef3c7;color:#92400e}


/* ===== V4 UX patch: session/modal/media filter ===== */
.modal .modal-head > button{display:inline-flex!important}
.modal.has-sticky-close .modal-head > button{display:inline-flex!important}
.session-note{font-size:12px;color:var(--muted);margin-top:8px}


/* ===== CARECTO production polish ===== */
.server-banner{display:none!important}
.login-card{max-width:430px;padding:34px;border-radius:30px;box-shadow:0 24px 70px rgba(18,38,34,.12)}
.login-card .brand h1{font-size:26px;letter-spacing:-.8px}
.login-card .brand p{font-size:13px;color:#667a75}
.login-actions{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:6px}
.login-actions .btn{min-height:44px}
.login-actions .btn.sub{padding-left:18px;padding-right:18px}
.login-card .hint{background:#f7fbfa;border-color:#e3efec;color:#60726e;text-align:center}
.side-brand p{letter-spacing:.2px}
.top{box-shadow:0 14px 40px rgba(18,38,34,.06)}
.card{box-shadow:0 16px 40px rgba(18,38,34,.065)}
.nav button{transition:background .15s ease,color .15s ease,transform .15s ease}
.nav button:hover{transform:translateX(2px)}
.btn{transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
@media(max-width:760px){.login-card{padding:28px}.login-actions{grid-template-columns:1fr}.login-actions .btn.sub{width:100%}}



/* ===== CARECTO OPS UPDATE UI ===== */
.ops-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0 12px}.ops-toolbar input,.ops-toolbar select{max-width:210px}.ops-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:7px 10px;font-size:12px;font-weight:900;color:#40514d}.ops-chip.active{background:var(--mint);border-color:var(--mint);color:#fff}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.summary-mini{background:#f6faf9;border:1px solid var(--line);border-radius:14px;padding:12px}.summary-mini b{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.summary-mini strong{font-size:17px}.readonly-form input[disabled],.readonly-form select[disabled],.readonly-form textarea[disabled]{background:#f7fbfa;color:#21332f}.level-buttons{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.level-btn{border:1px solid var(--line);background:#fff;color:#2a3c38;border-radius:999px;padding:8px 12px;font-weight:900;font-size:12px}.level-btn.active{background:var(--mint);border-color:var(--mint);color:#fff}.lead-card-list{display:none}.lead-mobile-card{border:1px solid var(--line);border-radius:16px;background:#fff;padding:14px;margin:10px 0;box-shadow:var(--shadow)}.lead-mobile-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.lead-mobile-title{font-weight:1000;font-size:16px}.lead-mobile-meta{font-size:12px;color:var(--muted);line-height:1.6;margin-top:7px}.lead-mobile-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.ops-alert-list .tl{border-left:4px solid var(--mint)}.contract-stage{display:inline-flex;border-radius:999px;padding:5px 9px;background:#eef8f6;color:#087766;font-size:12px;font-weight:900}.modal-savebar{position:sticky;top:0;z-index:15;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;padding:10px;margin-bottom:12px;display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.modal-savebar .left,.modal-savebar .right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.schedule-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:15px}.ops-log{font-size:12px;color:#40514d;line-height:1.55;white-space:pre-wrap}.inline-help{font-size:12px;color:var(--muted);margin-top:4px}.readonly-kv{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.readonly-kv .info-card{margin-bottom:0}.kbd-like{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:900}.danger-text{color:#b91c1c}.success-text{color:#007f6c}.muted-text{color:var(--muted)}.phone-link{font-weight:900;color:#087766;text-decoration:none}.db-toolbar-block{border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px;margin-bottom:10px}.db-toolbar-title{font-weight:1000;font-size:13px;margin-bottom:8px;color:#40514d}@media(max-width:760px){.lead-card-list{display:block}.lead-table-card{display:none}.summary-strip,.readonly-kv,.schedule-grid{grid-template-columns:1fr}.ops-toolbar input,.ops-toolbar select{max-width:none;width:100%}.modal-savebar{align-items:flex-start}.modal-savebar .left,.modal-savebar .right{width:100%}.modal-savebar .right .btn{flex:1}.toolbar,.bulk{flex-direction:column;align-items:stretch}.toolbar input,.toolbar select,.bulk input,.bulk select{max-width:none}}


/* ===== CARECTO BRAND DESIGN OVERRIDE ===== */
:root{
  --mint:#00bfa6;
  --mint2:#e6fbf7;
  --primary:#00bfa6;
  --primary-dark:#008f7d;
  --primary-soft:#e6fbf7;
  --bg:#f6faf9;
  --card:#ffffff;
  --text:#14211f;
  --muted:#6b7d79;
  --line:#dcebe7;
  --red:#ef4444;
  --blue:#008f7d;
  --yellow:#f59e0b;
  --green:#00a78f;
  --shadow:0 8px 24px rgba(20,33,31,.06);
  --r:8px;
}
html{background:var(--bg)}
body{background:var(--bg);color:var(--text);letter-spacing:0}
button,input,select,textarea{border-radius:8px}
input,select,textarea{border-color:var(--line);background:#fff;color:var(--text)}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,191,166,.14)}
label{color:#314541;font-weight:800}
.btn{min-height:38px;border-radius:8px;background:var(--primary);box-shadow:none;font-weight:900;letter-spacing:0}
.btn:hover{background:var(--primary-dark);transform:none;box-shadow:none}
.btn.sub{background:var(--primary-soft);color:var(--primary-dark);border:1px solid #c8f4ed}
.btn.sub:hover{background:#d8f7f1;color:#006f61}
.btn.dark{background:#14211f;color:#fff}
.btn.gray{background:#fff;color:#314541;border:1px solid var(--line)}
.btn.red{background:var(--red);color:#fff}
.btn.small{border-radius:7px;min-height:32px;padding:7px 10px}
.login{background:var(--bg);padding:24px}
.login-card{max-width:420px;border-radius:12px;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;padding:32px}
.brand,.side-brand{gap:12px}
.logo{width:46px;height:46px;border-radius:12px;background:var(--primary);box-shadow:inset 0 -8px 0 rgba(0,0,0,.06);color:#fff;font-weight:1000;letter-spacing:0}
.side-brand .logo{width:38px;height:38px;border-radius:10px;font-size:19px}
.brand h1,.side-brand b{color:#102522;letter-spacing:-.3px;font-weight:1000}
.brand p,.side-brand p{color:var(--muted)}
.login-card .hint{background:#f8fbfa;border-color:var(--line);color:var(--muted);text-align:left}
.login-actions{gap:8px}
.side{width:268px;background:#fff;border-right:1px solid var(--line);box-shadow:none;padding:18px}
.main{margin-left:268px;background:transparent}
.role{background:var(--primary-soft);border-color:#c8f4ed;border-radius:10px;color:var(--primary-dark)}
.role span{color:#287a70}
.nav{gap:3px}
.nav button{position:relative;border-radius:8px;padding:11px 12px 11px 34px;color:#40514d;font-weight:850}
.nav button::before{content:"";position:absolute;left:13px;top:50%;width:8px;height:8px;border-radius:3px;border:1px solid #9adfd5;transform:translateY(-50%);background:#fff}
.nav button:hover{background:#f3fbf9;color:var(--primary-dark);transform:none}
.nav button.active{background:var(--primary-soft);color:var(--primary-dark)}
.nav button.active::before{background:var(--primary);border-color:var(--primary)}
.top{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:none;backdrop-filter:none;padding:14px 16px}
.top h2{font-size:23px;color:#102522;letter-spacing:-.4px}.top p{color:var(--muted)}
.actions select{max-width:160px}
.card{border-radius:8px;border:1px solid var(--line);box-shadow:none;background:#fff;padding:16px}
.card h3{font-size:17px;color:#102522;letter-spacing:-.2px}
.kpi{cursor:default}.kpi b{color:var(--muted);font-size:12px}.kpi strong{color:#102522;font-size:23px;font-weight:1000}
.toolbar,.bulk,.ops-toolbar{gap:8px;align-items:center}
.toolbar input,.toolbar select,.bulk input,.bulk select,.ops-toolbar input,.ops-toolbar select{border-radius:8px;min-height:38px}
.db-toolbar-block{border-radius:8px;border-color:var(--line);box-shadow:none}.db-toolbar-title{color:#27443f}
.table{border:1px solid var(--line);border-radius:8px;overflow:auto;background:#fff}
.card.table{padding:0}.card.table table{margin:0}
table{border-collapse:separate;border-spacing:0;min-width:980px}
th,td{border-bottom:1px solid var(--line);padding:11px 12px;color:#263a36}
th{background:#f3faf8;color:#536762;font-weight:900}
tbody tr:hover{background:#f6fcfa}
tbody tr:has(input[type="checkbox"]:checked){background:#eafaf6}
.table th:first-child,.table td:first-child{text-align:center;width:44px}
input[type="checkbox"]{width:17px;min-width:17px;height:17px;padding:0;margin:0;accent-color:var(--primary);cursor:pointer;box-shadow:none}
.badge,.v2-badge,.contract-stage{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;background:var(--primary-soft);color:var(--primary-dark)}
.green,.v2-badge.ok{background:#ddfbf4;color:#007f6c}.blue,.v2-badge.info{background:#e6fbf7;color:#008f7d}.yellow{background:#fff4d6;color:#9a5b00}.redb,.v2-badge.danger{background:#fee2e2;color:#b91c1c}.purple{background:#eee7ff;color:#5b21b6}
.notice{border-radius:8px;border-color:#f4df9d;background:#fffaf0;color:#765200}.danger,.danger-note{background:#fff1f2;border-color:#fecdd3;color:#9f1239}
.modal-bg{background:rgba(10,20,18,.38);padding:18px}.modal{border-radius:12px;border:1px solid var(--line);box-shadow:0 24px 70px rgba(0,0,0,.18);padding:20px}.modal-head{align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}.modal h3{font-size:21px;color:#102522}.modal p.sub{color:var(--muted)}
.sticky-save,.modal-savebar{border-radius:8px;border-color:var(--line);box-shadow:none;background:rgba(255,255,255,.96)}
.detail-tabs button,.status-btn,.level-btn,.quick-memo button{border-radius:999px;border-color:var(--line);background:#fff;color:#40514d}
.detail-tabs button.active,.status-btn.active,.level-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}
.tl,.info-card,.payroll-card,.settle-detail-card,.my-sales-card,.cheer-card,.comment,.summary-mini,.payroll-box,.settle-money{border-radius:8px;border-color:var(--line);box-shadow:none;background:#fff}
.summary-mini,.payroll-box,.settle-money{background:#f8fbfa}.summary-mini b,.payroll-box b,.settle-money b{color:var(--muted)}
.file-card,.lead-doc-card{border-radius:8px}.file-card img,.fake-img,.lead-doc-card img{border-radius:7px;background:#f3faf8;color:var(--primary-dark)}
.floating-up{background:var(--primary);box-shadow:var(--shadow)}
@media(max-width:1180px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .side{width:86%;box-shadow:18px 0 50px rgba(20,33,31,.18)}
  .main{margin-left:0;padding:12px}.top{border-radius:8px;align-items:stretch}.actions{width:100%}.actions select,.actions .btn{flex:1;min-width:0}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi strong{font-size:19px}.card{padding:13px}
  .toolbar,.bulk,.ops-toolbar{align-items:stretch}.toolbar input,.toolbar select,.bulk input,.bulk select,.ops-toolbar input,.ops-toolbar select{max-width:none;width:100%}.toolbar .btn,.bulk .btn,.ops-toolbar .btn{width:100%}
  .modal-bg{padding:0}.modal{width:100vw;max-width:none;max-height:100vh;border-radius:0;border:0;padding:14px}.modal-head{position:sticky;top:0;z-index:20;background:#fff}.modal h3{font-size:19px}
  .lead-mobile-card{border-radius:8px;box-shadow:none}.lead-mobile-actions .btn{flex:1}
  .payroll-grid,.settle-money-grid,.summary-strip,.readonly-kv,.contract-summary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){.kpis,.payroll-grid,.settle-money-grid,.summary-strip,.readonly-kv,.contract-summary-grid{grid-template-columns:1fr}.login-card{padding:24px}}
/* ===== END CARECTO BRAND DESIGN OVERRIDE ===== */

/* ===== CARECTO LOGO ASSET OVERRIDE ===== */
.logo{
  background:#fff url('data:image/png;base64,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') center/78% 78% no-repeat!important;
  color:transparent!important;
  font-size:0!important;
  border:1px solid #c8f4ed;
  box-shadow:none!important;
  overflow:hidden;
}
.login .brand .logo{
  width:64px;
  height:64px;
  border-radius:18px;
  background-size:86% 86%!important;
}
.side-brand .logo{
  width:44px;
  height:44px;
  border-radius:12px;
  background-size:84% 84%!important;
}
.login-card .brand{align-items:center}
.side-brand{align-items:center}
/* ===== END CARECTO LOGO ASSET OVERRIDE ===== */

/* ===== CARECTO MOBILE SYSTEM OVERRIDE ===== */
html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  touch-action:manipulation;
}
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
button,
input,
select,
textarea{
  touch-action:manipulation;
}

@media(max-width:760px){
  :root{
    --mobile-gap:10px;
    --mobile-pad:12px;
  }
  html,
  body{
    min-width:0!important;
    background:#f6faf9!important;
  }
  body{
    position:relative;
  }
  input,
  select,
  textarea,
  button,
  .btn{
    font-size:16px!important;
  }
  label,
  .badge,
  .v2-badge,
  .contract-stage,
  .inline-help,
  .muted-text,
  .tl span,
  .lead-mobile-meta,
  .file-name{
    font-size:13px!important;
  }
  input,
  select,
  textarea{
    min-height:44px!important;
    padding:11px 12px!important;
    border-radius:8px!important;
  }
  textarea{
    min-height:132px!important;
  }
  .btn,
  .btn.small{
    min-height:44px!important;
    padding:10px 12px!important;
    border-radius:8px!important;
    line-height:1.2!important;
    white-space:normal!important;
  }
  .app{
    width:100%;
    min-width:0!important;
  }
  .main{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    padding:10px!important;
    padding-left:max(10px,env(safe-area-inset-left))!important;
    padding-right:max(10px,env(safe-area-inset-right))!important;
  }
  .side{
    width:min(86vw,320px)!important;
    max-width:320px!important;
    padding:14px!important;
    padding-top:max(14px,env(safe-area-inset-top))!important;
    transform:translate3d(-106%,0,0)!important;
    transition:transform .18s ease!important;
    box-shadow:18px 0 48px rgba(20,33,31,.18)!important;
  }
  .side.open{
    transform:translate3d(0,0,0)!important;
  }
  .side-brand{
    margin-bottom:12px!important;
    padding-bottom:12px!important;
  }
  .side-brand .logo{
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
  }
  .role{
    margin-bottom:12px!important;
    padding:11px!important;
  }
  .nav,
  .nav .cx-folder-items{
    gap:4px!important;
  }
  .cx-folder-toggle{
    height:40px!important;
    font-size:13px!important;
  }
  .nav .cx-nav-item,
  .nav .nav-item{
    min-height:44px!important;
    height:44px!important;
    font-size:14px!important;
  }
  .top{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    align-items:stretch!important;
    min-height:0!important;
    margin-bottom:12px!important;
    padding:12px!important;
    border-radius:8px!important;
  }
  .top>div:first-child{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    column-gap:10px!important;
    align-items:center!important;
  }
  .top .mobile{
    display:inline-flex!important;
    width:48px!important;
    min-width:48px!important;
    height:44px!important;
    justify-content:center!important;
    align-items:center!important;
    padding:0!important;
  }
  .top h2{
    min-width:0!important;
    margin:0!important;
    font-size:22px!important;
    line-height:1.18!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .top p{
    grid-column:1/-1!important;
    margin:2px 0 0!important;
    font-size:13px!important;
    line-height:1.45!important;
  }
  .actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:100%!important;
  }
  .actions>*{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  .current-role-badge{
    grid-column:1/-1!important;
    min-height:42px!important;
    justify-content:center!important;
  }
  .grid,
  .two,
  .three,
  .mock-home-main,
  .mock-home-sub,
  .feed-wrap,
  .schedule-grid,
  .dropdown-admin-grid,
  .media-summary{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:var(--mobile-gap)!important;
  }
  .kpis,
  .mock-kpis,
  .settlement-command-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:var(--mobile-gap)!important;
  }
  .kpi,
  .mock-kpi{
    min-height:86px!important;
    height:auto!important;
    padding:13px!important;
    display:block!important;
  }
  .kpi b,
  .mock-kpi b{
    font-size:12px!important;
    line-height:1.35!important;
  }
  .kpi strong,
  .mock-kpi strong{
    font-size:21px!important;
    line-height:1.15!important;
    word-break:keep-all!important;
  }
  .card,
  .board-card,
  .board-side-card,
  .dropdown-admin-card,
  .mock-table-card,
  .mock-todo-card,
  .payroll-card,
  .settle-detail-card,
  .my-sales-card,
  .cheer-card,
  .tl,
  .info-card,
  .summary-mini,
  .payroll-box,
  .settle-money{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    border-radius:8px!important;
    padding:13px!important;
    box-shadow:none!important;
  }
  .card h3,
  .board-card h3,
  .board-side-card h3,
  .dropdown-admin-card h3{
    font-size:17px!important;
    line-height:1.35!important;
  }
  .toolbar,
  .bulk,
  .ops-toolbar,
  .mock-head-actions,
  .dup-actions,
  .status-buttons,
  .level-buttons,
  .detail-tabs,
  .quick-memo{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    align-items:stretch!important;
    width:100%!important;
  }
  .toolbar>*,
  .bulk>*,
  .ops-toolbar>*,
  .mock-head-actions>*,
  .dup-actions>*,
  .status-buttons>*,
  .level-buttons>*,
  .detail-tabs>*,
  .quick-memo>*{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  .form,
  .readonly-kv,
  .summary-strip,
  .payroll-grid,
  .settle-money-grid,
  .contract-summary-grid,
  .lead-doc-grid,
  .preview{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .field{
    min-width:0!important;
    margin-bottom:10px!important;
  }
  .full{
    grid-column:auto!important;
  }
  .table,
  .mock-table-scroll{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    border-radius:8px!important;
  }
  .card.table{
    padding:0!important;
  }
  table,
  .mock-mini-table,
  .incentive-table{
    min-width:680px!important;
    width:max-content!important;
    max-width:none!important;
  }
  th,
  td,
  .mock-mini-table th,
  .mock-mini-table td{
    font-size:13px!important;
    padding:10px!important;
    white-space:nowrap!important;
  }
  .lead-table-card{
    display:none!important;
  }
  .lead-card-list{
    display:block!important;
  }
  .lead-mobile-card{
    margin:8px 0!important;
    padding:13px!important;
  }
  .lead-mobile-head,
  .payroll-head,
  .settle-head,
  .my-sales-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .lead-mobile-actions,
  .modal-savebar .left,
  .modal-savebar .right{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
  }
  .modal-bg{
    align-items:stretch!important;
    justify-content:stretch!important;
    padding:0!important;
  }
  .modal{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    min-width:0!important;
    border:0!important;
    border-radius:0!important;
    padding:12px!important;
    padding-left:max(12px,env(safe-area-inset-left))!important;
    padding-right:max(12px,env(safe-area-inset-right))!important;
    padding-bottom:max(16px,env(safe-area-inset-bottom))!important;
  }
  .modal-head{
    position:sticky!important;
    top:0!important;
    z-index:30!important;
    background:#fff!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:start!important;
    padding:8px 0 12px!important;
  }
  .modal h3{
    font-size:20px!important;
    line-height:1.25!important;
    word-break:keep-all!important;
  }
  .modal p.sub{
    font-size:13px!important;
    line-height:1.45!important;
  }
  .sticky-save,
  .modal-savebar{
    position:sticky!important;
    top:0!important;
    z-index:25!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:9px!important;
  }
  .modal-savebar .btn,
  .sticky-save .btn{
    width:100%!important;
  }
  .file-card img,
  .fake-img,
  .lead-doc-card img,
  .post-image,
  .board-post img{
    max-width:100%!important;
    height:auto!important;
    max-height:260px!important;
    object-fit:contain!important;
  }
  .floating-up{
    right:max(12px,env(safe-area-inset-right))!important;
    bottom:max(12px,env(safe-area-inset-bottom))!important;
    width:42px!important;
    height:42px!important;
    font-size:20px!important;
  }
  .login{
    min-height:100dvh!important;
    padding:14px!important;
    align-items:center!important;
  }
  .login-card{
    max-width:100%!important;
    padding:22px!important;
    border-radius:10px!important;
  }
  .login .brand{
    align-items:center!important;
    gap:10px!important;
  }
  .login .brand .logo{
    width:54px!important;
    height:54px!important;
    flex:0 0 54px!important;
  }
  .login-card .brand h1{
    font-size:22px!important;
  }
  .login-actions{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:420px){
  .main{
    padding:8px!important;
  }
  .top{
    padding:10px!important;
  }
  .top h2{
    font-size:20px!important;
  }
  .kpis,
  .mock-kpis,
  .settlement-command-kpis{
    grid-template-columns:1fr!important;
  }
  table,
  .mock-mini-table,
  .incentive-table{
    min-width:620px!important;
  }
}
/* ===== END CARECTO MOBILE SYSTEM OVERRIDE ===== */
