.ch-salary{--ch:#0c5260;--ch-accent:#12a49b;--ch-bg:#f5f8fa;--ch-border:#dce6e9;direction:rtl;font-family:inherit;color:#18333a;max-width:1050px;margin:24px auto;line-height:1.9;font-size:15px}.ch-salary *{box-sizing:border-box}.ch-salary button,.ch-salary input,.ch-salary select{font:inherit}.ch-salary .ch-head{display:flex;align-items:center;justify-content:space-between;padding:26px;background:linear-gradient(110deg,#e9f5f4,#f6f9fc);border-radius:22px;margin-bottom:16px;gap:16px}.ch-salary .ch-head h2{font-size:28px;margin:5px 0;color:#0a4351}.ch-salary .ch-head p{margin:0;color:#536a70}.ch-salary .ch-eyebrow{color:var(--ch);font-size:13px;font-weight:700}.ch-salary .ch-pill{border-radius:999px;background:#fff;color:#7d5d1c;padding:6px 15px;border:1px solid #f1d9a1;font-size:12px;white-space:nowrap}.ch-salary .ch-warning{background:#fff8e9;color:#805d1b;border-right:4px solid #d39d30;padding:13px 16px;margin-bottom:16px;border-radius:8px}.ch-salary .ch-modes{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#edf3f4;padding:6px;border-radius:13px;margin:17px 0}.ch-salary .ch-modes button{border:0;background:transparent;padding:12px;border-radius:10px;cursor:pointer;color:#567077}.ch-salary .ch-modes button.is-active{background:#fff;box-shadow:0 2px 9px #092c3717;color:var(--ch);font-weight:800}.ch-salary .ch-panel{background:white;border:1px solid var(--ch-border);border-radius:18px;padding:24px;margin:16px 0;box-shadow:0 4px 20px #0b32440a}.ch-salary .ch-panel-title{display:flex;align-items:center;gap:12px;margin-bottom:19px}.ch-salary .ch-panel-title b{width:36px;height:36px;background:#dff3f0;color:#09665f;border-radius:11px;display:grid;place-items:center}.ch-salary .ch-panel-title h3{font-size:19px;margin:0;color:#123e49}.ch-salary .ch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.ch-salary label{display:block;font-size:13px;font-weight:650;color:#526970}.ch-salary input,.ch-salary select{margin:7px 0 0;width:100%;border:1px solid #cfdee2;background:#fcfefe;color:#143940;border-radius:11px;min-height:46px;padding:8px 12px;direction:rtl;outline:none}.ch-salary input:focus,.ch-salary select:focus{border-color:var(--ch-accent);box-shadow:0 0 0 3px #12a49b24}.ch-salary input[type=number]{direction:ltr;text-align:right;font-variant-numeric:tabular-nums}.ch-salary .ch-custom{display:none;margin-top:20px;background:#f7fafb;padding:16px;border-radius:13px}.ch-salary.ch-show-custom .ch-custom{display:block}.ch-salary .ch-advanced{display:none}.ch-salary.ch-show-advanced .ch-advanced{display:block}.ch-salary .ch-note{font-size:13px;color:#6b7c80;margin-bottom:0}.ch-salary details{border:1px dashed #b6d2d7;padding:13px;border-radius:10px}.ch-salary summary{cursor:pointer;font-weight:700;color:var(--ch)}.ch-salary details .ch-grid{margin-top:18px}.ch-salary .ch-actions{display:flex;gap:11px;flex-wrap:wrap;margin:18px 0}.ch-salary .ch-actions button{border-radius:12px;padding:12px 22px;cursor:pointer;font-weight:700;border:1px solid var(--ch)}.ch-salary .ch-primary{background:var(--ch);color:#fff}.ch-salary .ch-secondary{background:#fff;color:var(--ch)}.ch-salary .ch-errors{padding:14px;border-radius:10px;background:#fff0ef;color:#aa3834}.ch-salary .ch-results{border:1px solid #cadddf;border-radius:20px;padding:20px;background:white;margin-top:25px}.ch-salary .ch-hero{background:linear-gradient(120deg,#0b5060,#083b46);color:white;border-radius:18px;padding:27px;text-align:center;display:flex;align-items:center;flex-direction:column}.ch-salary .ch-hero small{font-size:14px}.ch-salary .ch-hero strong{font-size:36px;line-height:1.7;direction:ltr}.ch-salary .ch-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.ch-salary .ch-summary>div{padding:14px;background:#f2f7f8;border-radius:11px;display:flex;flex-direction:column}.ch-salary .ch-summary strong{font-size:20px;color:var(--ch)}.ch-salary .ch-summary small,.ch-salary .ch-summary span{color:#667e83;font-size:12px}.ch-salary .ch-report h3{margin:24px 0 9px}.ch-salary .ch-report-info{font-size:13px;color:#536970}.ch-salary .ch-report table{width:100%;border-collapse:collapse}.ch-salary .ch-report th{background:#e8f2f3;text-align:right}.ch-salary .ch-report td,.ch-salary .ch-report th{border-bottom:1px solid #d9e5e7;padding:9px 13px}.ch-salary .ch-report td:last-child,.ch-salary .ch-report th:last-child{text-align:left;font-variant-numeric:tabular-nums}.ch-salary .ch-footnote{font-size:12px;color:#697d81;margin-top:18px}@media(max-width:720px){.ch-salary .ch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ch-salary .ch-summary{grid-template-columns:1fr}.ch-salary .ch-panel{padding:16px}.ch-salary .ch-head{padding:18px}.ch-salary .ch-head h2{font-size:21px}}@media(max-width:450px){.ch-salary .ch-grid{grid-template-columns:1fr}.ch-salary .ch-actions button{flex:1}.ch-salary .ch-pill{display:none}.ch-salary .ch-hero strong{font-size:29px}}@media print{body *{visibility:hidden!important}.ch-salary .ch-results,.ch-salary .ch-results *{visibility:visible!important}.ch-salary .ch-results{position:absolute;inset:0 auto auto 0;width:100%;border:0;margin:0;padding:15px}.ch-salary .ch-print-actions,.ch-salary .ch-summary,.ch-salary .ch-hero{display:none!important}.ch-salary .ch-report{display:block!important}.ch-salary .ch-report::before{content:'کافه حسابدار | cafehesabdar.ir';display:block;font-weight:bold;color:#0c5260;margin-bottom:12px}.ch-salary .ch-report td,.ch-salary .ch-report th{border:1px solid #aaa}}
/* v0.2: modern form and print sheet */
.ch-salary{--ch-ink:#113b4d;--ch-teal:#087e84;--ch-line:#d6e4e8;--ch-soft:#f3f9f9;color:var(--ch-ink)}
.ch-salary .ch-panel{border:1px solid var(--ch-line)!important;border-radius:18px!important;box-shadow:0 7px 28px rgba(15,63,74,.055);padding:24px!important;margin-top:18px!important}
.ch-salary input,.ch-salary select{border:1px solid #c7dce2!important;border-radius:10px!important;min-height:44px!important;background:#fbfefe!important;font-variant-numeric:tabular-nums}
.ch-salary input:focus,.ch-salary select:focus{border-color:#10949a!important;box-shadow:0 0 0 3px #159ca322!important;outline:none!important}
.ch-salary .ch-report{background:#fff;border:1px solid var(--ch-line);padding:24px;border-radius:16px;margin-top:22px}
.ch-salary .ch-print-brand{display:flex;justify-content:space-between;align-items:center;color:#0b5262;border-bottom:2px solid #0b5262;padding-bottom:12px;margin-bottom:14px}
.ch-salary .ch-print-brand span{direction:ltr;font-size:13px}
.ch-salary .ch-allowances{background:var(--ch-soft);padding:16px;margin-top:16px;border-radius:14px;border:1px solid var(--ch-line)}
.ch-salary .ch-allowances h4{margin:0 0 8px}
.ch-salary .ch-report-rows tr:nth-child(even){background:#f6fafb}
@media print{
 @page{size:A4 portrait;margin:14mm}
 body *{visibility:hidden!important}
 .ch-salary .ch-report,.ch-salary .ch-report *{visibility:visible!important}
 .ch-salary .ch-report{position:absolute!important;right:0!important;top:0!important;width:100%!important;max-width:100%!important;margin:0!important;padding:14px!important;box-shadow:none!important;border:none!important;color:#172d37!important;background:#fff!important;direction:rtl!important;box-sizing:border-box!important}
 .ch-salary .ch-report h3{text-align:center;font-size:18px!important;margin:10px 0 18px!important}
 .ch-salary .ch-report table{width:100%!important;border-collapse:collapse!important;font-size:12px!important}
 .ch-salary .ch-report th,.ch-salary .ch-report td{border:1px solid #ccd8de!important;padding:7px!important; color:#172d37!important}
 .ch-salary .ch-report tr{break-inside:avoid!important}
 .ch-salary .ch-report-info{display:block!important;padding:8px!important;background:#f5f9fa!important;margin-bottom:12px!important}
 .ch-salary .ch-footnote{font-size:10px!important}
}

/* v0.3 */
.ch-salary .ch-hire-help{font-size:12px;color:#617983;margin:6px 0;align-self:end}
.ch-salary .ch-grid>label:has([data-field="hire_date"]){grid-column:span 2}
.ch-salary .ch-head{background:linear-gradient(115deg,#ecf6f4,#f3f8fb);border:1px solid #d9e9ea}
.ch-salary .ch-primary{background:#0c5765!important;color:white!important}.ch-salary .ch-secondary:hover{background:#edf8f7!important}
.ch-salary .ch-panel{transition:box-shadow .2s}.ch-salary .ch-panel:focus-within{box-shadow:0 8px 35px #087e8421}
@media(max-width:720px){.ch-salary .ch-grid>label:has([data-field="hire_date"]){grid-column:span 1}}

/* v0.4: enhanced contrast and form structure */
.ch-salary{--ch:#0b5163;--ch-border:#b9d2db;--ch-accent:#009e9b;color:#153948}
.ch-salary .ch-head{background:linear-gradient(120deg,#d8eef0,#eef8f8 62%,#f8f5ed);border:1px solid #c0dce3;box-shadow:0 10px 28px #1a697013}
.ch-salary .ch-panel{border:1.5px solid #bed5db!important;background:#fff!important;padding:0 23px 24px!important;overflow:hidden;box-shadow:0 10px 27px #113c4e12!important}
.ch-salary .ch-panel-title{margin:0 -23px 22px!important;padding:14px 22px;background:linear-gradient(100deg,#e0f0f1,#f0f7f9);border-bottom:1px solid #c5dde1}
.ch-salary #ch-stage-attendance .ch-panel-title{background:linear-gradient(100deg,#dceaf7,#f1f7fc);border-bottom-color:#c0d6ea}
.ch-salary #ch-stage-adjustments .ch-panel-title{background:linear-gradient(100deg,#e5f3e9,#f3f9f6);border-bottom-color:#c9e0d0}
.ch-salary .ch-panel-title b{background:#0d6172!important;color:#fff!important;font-size:17px;width:40px;height:40px}
.ch-salary .ch-panel-title h3{color:#103d4d;font-size:20px;font-weight:800}
.ch-salary label{color:#244958!important;font-size:14px!important;font-weight:750!important;line-height:1.7}
.ch-salary input,.ch-salary select{background:#fff!important;border:1.5px solid #acc8d1!important;color:#113744!important;min-height:49px!important;font-weight:650!important}
.ch-salary input:hover,.ch-salary select:hover{border-color:#5b9daa!important}
.ch-salary .ch-grid{gap:18px 21px}
.ch-salary .ch-note{background:#f2f8f9;border-right:3px solid #48a3a5;padding:8px 12px;border-radius:5px;color:#405d69}
.ch-salary .ch-primary{background:linear-gradient(115deg,#0a5263,#067986)!important;box-shadow:0 7px 16px #0b516321;border:0!important}
.ch-salary .ch-secondary{background:#fff!important;border:1.5px solid #8bafb9!important;color:#135369!important}
.ch-salary .ch-actions button:hover{transform:translateY(-1px);box-shadow:0 5px 16px #0b51631a}
.ch-salary .ch-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0}
.ch-salary .ch-steps a{text-decoration:none!important;text-align:center;padding:10px 7px;border:1px solid #b7d3d9;border-radius:11px;background:#f0f8f8;color:#135469!important;font-weight:800;font-size:13px}
.ch-salary .ch-steps a:hover,.ch-salary .ch-steps a:focus{background:#d7efed;border-color:#0a898b}
.ch-salary .ch-results{border:2px solid #b4d3dc;box-shadow:0 15px 35px #164d5f15}
@media(max-width:720px){.ch-salary .ch-panel{padding:0 16px 17px!important}.ch-salary .ch-panel-title{margin:0 -16px 18px!important;padding:13px 15px}.ch-salary .ch-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 1.0: stronger visual hierarchy, inspired by cheque calculator */
.ch-salary{--ch:#103f55;--ch-accent:#079f9b;--ch-border:#d4e2e9;--ch-bg:#f0f6f8;color:#173746}
.ch-salary .ch-head{background:linear-gradient(125deg,#e3f5f4 0%,#e9f1fa 58%,#fff6e9 100%);border:1px solid #cfe5e7;box-shadow:0 12px 30px #174a5712;position:relative;overflow:hidden}
.ch-salary .ch-head::before{content:'';height:6px;position:absolute;inset:0 0 auto;background:linear-gradient(90deg,#08a49a,#17485f,#e4a641)}
.ch-salary .ch-head h2{color:#123e53;font-weight:850;letter-spacing:-.35px}
.ch-salary .ch-pill{background:#fff;color:#19566a;border:1px solid #d7e8ed;font-weight:750}
.ch-salary .ch-panel{border:1px solid #d0e0e7;box-shadow:0 7px 26px #123c5010;padding:25px;border-radius:19px}
.ch-salary #ch-stage-order{border-top:5px solid #0a889b}
.ch-salary #ch-stage-attendance{border-top:5px solid #267ba5;background:linear-gradient(180deg,#f4faff,white 110px)}
.ch-salary #ch-stage-adjustments{border-top:5px solid #d7a44b;background:linear-gradient(180deg,#fffaf0,white 110px)}
.ch-salary .ch-panel-title{background:#edf5f8;border-radius:12px;padding:11px 14px;margin-bottom:20px}
.ch-salary #ch-stage-attendance .ch-panel-title{background:#e0f1fb}
.ch-salary #ch-stage-adjustments .ch-panel-title{background:#fff0d8}
.ch-salary .ch-panel-title b{background:#0e637a;color:white;box-shadow:0 3px 9px #0b50602b;font-size:17px}
.ch-salary #ch-stage-attendance .ch-panel-title b{background:#247fa6}
.ch-salary #ch-stage-adjustments .ch-panel-title b{background:#b97b22}
.ch-salary .ch-panel-title h3{font-size:21px;font-weight:850;color:#123f51}
.ch-salary label{color:#2c515f;font-size:14px;font-weight:750}
.ch-salary input,.ch-salary select{background:#fff;border:1.5px solid #b8cfd7;min-height:50px;border-radius:12px;color:#0d3748;font-weight:650;box-shadow:0 1px 2px #183d4d08}
.ch-salary input:hover,.ch-salary select:hover{border-color:#7eacb8}
.ch-salary input:focus,.ch-salary select:focus{border-color:#008f91;box-shadow:0 0 0 4px #079f9b25}
.ch-salary .ch-modes{background:#e4eef2;border:1px solid #d0e1e8;padding:7px}
.ch-salary .ch-modes button{font-size:15px;font-weight:700}
.ch-salary .ch-modes button.is-active{box-shadow:0 3px 12px #0a435a20}
.ch-salary .ch-steps a{font-weight:800}
.ch-salary .ch-actions button{min-height:47px;transition:transform .15s ease,box-shadow .15s ease}
.ch-salary .ch-actions button:hover{transform:translateY(-1px);box-shadow:0 5px 13px #143a4b1c}
.ch-salary .ch-primary{background:linear-gradient(120deg,#12576b,#0b8b87);color:white;border-color:#12576b}
.ch-salary .ch-secondary{border-color:#b5d3dc;color:#19566d;background:#f8fcfd}
.ch-salary .ch-results{border:2px solid #bad8dd;box-shadow:0 9px 35px #0b435b10}
.ch-salary .ch-hero{background:linear-gradient(130deg,#07394e,#0b6574 65%,#0b8b80)}
.ch-salary .ch-summary>div{background:linear-gradient(155deg,#ecf7f8,#f7fbfc);border:1px solid #d9e9ec}
.ch-salary .ch-report th{background:#dceef2;color:#164b5b;font-weight:800}
@media(max-width:720px){.ch-salary .ch-panel{padding:17px}.ch-salary .ch-panel-title h3{font-size:18px}}
