/* ChaloKaamPe v46.10 shared interface foundation */
:root{
  --ckp-font:Inter,"Segoe UI Variable","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --ckp-bg:#f5f7fb;
  --ckp-surface:#ffffff;
  --ckp-surface-soft:#f8fafc;
  --ckp-text:#172033;
  --ckp-muted:#667085;
  --ckp-border:#e2e8f0;
  --ckp-border-strong:#cbd5e1;
  --ckp-primary:#4f46e5;
  --ckp-primary-hover:#4338ca;
  --ckp-primary-soft:#eef2ff;
  --ckp-secondary:#0f9f8f;
  --ckp-success:#08785a;
  --ckp-success-soft:#ecfdf3;
  --ckp-warning:#b54708;
  --ckp-warning-soft:#fffaeb;
  --ckp-danger:#b42318;
  --ckp-danger-soft:#fff1f0;
  --ckp-info:#175cd3;
  --ckp-info-soft:#eff8ff;
  --ckp-radius-xs:7px;
  --ckp-radius-sm:10px;
  --ckp-radius-md:14px;
  --ckp-radius-lg:18px;
  --ckp-shadow-sm:0 2px 8px rgba(16,24,40,.05);
  --ckp-shadow-md:0 10px 30px rgba(16,24,40,.08);
  --ckp-focus:0 0 0 4px rgba(79,70,229,.15);
}
html{font-family:var(--ckp-font);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body,button,input,select,textarea{font-family:var(--ckp-font)}
body{color:var(--ckp-text)}
::selection{background:rgba(79,70,229,.18);color:var(--ckp-text)}
:focus{outline:none}
:focus-visible{outline:2px solid var(--ckp-primary);outline-offset:2px}
a,button,input,select,textarea,summary{touch-action:manipulation}
button,[role="button"],summary{cursor:pointer}
button:disabled,input:disabled,select:disabled,textarea:disabled,[aria-disabled="true"]{cursor:not-allowed;opacity:.58}
input::placeholder,textarea::placeholder{color:#98a2b3;opacity:1}
input,select,textarea{accent-color:var(--ckp-primary)}
input[type="checkbox"],input[type="radio"]{width:18px;height:18px;flex:0 0 auto}
select{background-color:#fff}
textarea{line-height:1.5}
img,svg{max-width:100%}
hr{border:0;border-top:1px solid var(--ckp-border)}

/* Consistent readable typography without inflating page height. */
h1,h2,h3,h4,h5,h6{color:var(--ckp-text);font-weight:800;letter-spacing:-.025em;text-wrap:balance}
h1{line-height:1.12}h2,h3{line-height:1.2}
p{overflow-wrap:anywhere}
small,.small,.muted,.help,.lead{color:var(--ckp-muted)}

/* Shared controls: surface CSS may still customise geometry. */
.btn,.primary,.secondary,.danger,.ghost,.icon-btn,.link-button,button{
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.btn:active,.primary:active,.secondary:active,.danger:active,button:active{transform:translateY(1px)}
.btn-primary,.primary{background:var(--ckp-primary);border-color:var(--ckp-primary);color:#fff}
.btn-primary:hover,.primary:hover{background:var(--ckp-primary-hover);border-color:var(--ckp-primary-hover);color:#fff}
.btn-danger,.danger{background:var(--ckp-danger);border-color:var(--ckp-danger);color:#fff}
.btn-danger:hover,.danger:hover{background:#912018;border-color:#912018;color:#fff}

/* Status language is identical across every workspace. */
.badge-success,.pill-success,.status-success{background:var(--ckp-success-soft)!important;color:var(--ckp-success)!important;border-color:#abefc6!important}
.badge-warning,.pill-warning,.status-warning{background:var(--ckp-warning-soft)!important;color:var(--ckp-warning)!important;border-color:#fedf89!important}
.badge-danger,.pill-danger,.status-danger{background:var(--ckp-danger-soft)!important;color:var(--ckp-danger)!important;border-color:#fecdca!important}
.badge-info,.pill-info,.badge-primary,.pill-primary,.status-info{background:var(--ckp-primary-soft)!important;color:#3730a3!important;border-color:#c7d2fe!important}
.badge-muted,.pill-muted{background:#f2f4f7!important;color:#475467!important;border-color:#e4e7ec!important}

.alert,.app-toast,.worker-flash{border-width:1px;border-style:solid}
.alert-success,.app-toast-success{background:var(--ckp-success-soft)!important;border-color:#abefc6!important;color:var(--ckp-success)!important}
.alert-warning,.app-toast-warning{background:var(--ckp-warning-soft)!important;border-color:#fedf89!important;color:var(--ckp-warning)!important}
.alert-danger,.app-toast-danger{background:var(--ckp-danger-soft)!important;border-color:#fecdca!important;color:var(--ckp-danger)!important}
.alert-info,.app-toast-info{background:var(--ckp-info-soft)!important;border-color:#b2ddff!important;color:var(--ckp-info)!important}

/* Desktop workspaces: calm surfaces, predictable density. */
body:not(.native-app) .card,
body:not(.native-app) .app-card,
body:not(.native-app) .worker-panel,
body:not(.native-app) .employer-data-card,
body:not(.native-app) .employer-form-section{
  border-color:var(--ckp-border);
}
body:not(.native-app) .table-wrap{border-color:var(--ckp-border);background:#fff}
body:not(.native-app) table{font-variant-numeric:tabular-nums}
body:not(.native-app) th{color:#475467;font-weight:800}
body:not(.native-app) tbody tr:last-child td{border-bottom:0}
body:not(.native-app) tbody tr:hover td{background:#fafbff}

/* Common spacing utilities replace scattered inline margins over time. */
.ui-mt-0{margin-top:0!important}.ui-mt-1{margin-top:8px!important}.ui-mt-2{margin-top:12px!important}.ui-mt-3{margin-top:16px!important}.ui-mt-4{margin-top:20px!important}
.ui-mb-0{margin-bottom:0!important}.ui-mb-1{margin-bottom:8px!important}.ui-mb-2{margin-bottom:12px!important}.ui-mb-3{margin-bottom:16px!important}
.ui-stack{display:grid;gap:14px}.ui-inline{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ui-nowrap{white-space:nowrap}.ui-grow{flex:1;min-width:0}.ui-text-right{text-align:right}

/* Keyboard/accessibility and dense data behaviour. */
.table-wrap{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
.table-wrap::-webkit-scrollbar{height:9px;width:9px}.table-wrap::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;border:2px solid transparent;background-clip:padding-box}
pre,code,kbd,samp{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
pre{max-width:100%;overflow:auto}
details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}

/* App surfaces retain their native geometry, but use the same type and status colours. */
body.native-app{font-family:var(--ckp-font)}
body.native-app input,body.native-app select,body.native-app textarea{font-size:16px}
body.native-app .app-card,body.native-app .panel,body.native-app .portal-card{border-color:var(--ckp-border)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@media(max-width:720px){
  h1{letter-spacing:-.02em}
  .ui-inline{align-items:stretch}
  .ui-inline>.btn,.ui-inline>button{flex:1}
}
@media print{
  body{background:#fff!important;color:#000!important}
  nav,.bottom-nav,.app-tabbar,.portal-sidebar,.employer-sidebar,.admin-sidebar,.worker-desktop-header,.portal-topbar,.employer-workspace-header,.admin-workspace-header{display:none!important}
  main,.container,.portal-content,.employer-content,.admin-content,.worker-desktop-main{padding:0!important;margin:0!important;max-width:none!important}
  .card,.app-card,.worker-panel,.table-wrap{box-shadow:none!important;break-inside:avoid}
}


/* v46.12.0 — Local hiring, credits, multilingual and trust operations */
.no-fee-notice,
.worker-no-fee-notice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  margin: 14px 0;
  border: 1px solid #f59e0b;
  border-radius: 14px;
  background: #fffbeb;
  color: #78350f;
}
.no-fee-notice strong,
.worker-no-fee-notice strong {
  white-space: nowrap;
  color: #92400e;
}
.no-fee-notice a,
.worker-no-fee-notice a {
  font-weight: 800;
  color: #b91c1c;
  text-decoration: underline;
}
.job-safety-line {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-left: 4px solid #f59e0b;
  border-radius: 8px;
  background: #fffbeb;
  color: #78350f;
  font-size: .82rem;
  line-height: 1.45;
}
.trust-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  margin: 8px 0;
}
.day-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.day-checks label,
.declaration {
  display: flex;
  gap: 9px;
  align-items: flex-start;
}
.day-checks input,
.declaration input {
  width: auto;
  margin-top: 3px;
}
.declaration {
  padding: 14px;
  border: 1px solid var(--border, #dbe3ee);
  border-radius: 12px;
  background: var(--surface-soft, #f8fafc);
}
.metric-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}
.metric-strip span {
  padding: 10px 12px;
  border: 1px solid var(--border, #dbe3ee);
  border-radius: 12px;
  background: var(--surface-soft, #f8fafc);
}
.metric-strip b {
  display: block;
  margin-bottom: 3px;
}
.trust-case-grid,
.client-portfolio-grid {
  display: grid;
  gap: 16px;
}
.trust-case {
  border-left: 5px solid #64748b;
}
.critical-case {
  border-left-color: #dc2626;
  background: linear-gradient(135deg, #fff, #fff7f7);
}
.credit-summary {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
}
.credit-balance {
  font-variant-numeric: tabular-nums;
}
.language-list .mini-row,
.mini-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--border, #e2e8f0);
}
.language-list .mini-row:last-child,
.mini-row:last-child { border-bottom: 0; }
.text-danger { color: #b91c1c !important; }
.text-success { color: #047857 !important; }
.nowrap { white-space: nowrap; }
.stack-end { display:flex;flex-direction:column;align-items:flex-end;gap:8px; }
.compact-form { margin-top: 12px; }
@media (max-width: 760px) {
  .no-fee-notice,
  .worker-no-fee-notice {
    grid-template-columns: 1fr;
  }
  .metric-strip,
  .credit-summary {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 460px) {
  .metric-strip,
  .credit-summary {
    grid-template-columns: 1fr;
  }
}


/* v46.12.2 — lightweight near-real-time interface feedback */
[data-live-root]{transition:opacity .16s ease}
[data-live-root].is-live-updating{opacity:.72;pointer-events:none}
.ckp-live-status{position:fixed;z-index:5000;right:max(14px,env(safe-area-inset-right));bottom:max(16px,calc(env(safe-area-inset-bottom) + 12px));display:flex;align-items:center;gap:8px;max-width:min(92vw,360px);padding:9px 11px;border:1px solid rgba(148,163,184,.35);border-radius:999px;background:rgba(15,23,42,.94);color:#fff;box-shadow:0 14px 40px rgba(15,23,42,.24);font:700 12px/1.25 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .18s ease,transform .18s ease;backdrop-filter:blur(12px)}
.ckp-live-status.is-visible{opacity:1;transform:none;pointer-events:auto}
.ckp-live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.14)}
.ckp-live-status button{border:0;border-radius:999px;padding:6px 10px;background:#fff;color:#0f172a;font:800 11px/1 inherit;cursor:pointer}
@media(max-width:640px){.ckp-live-status{left:14px;right:14px;bottom:max(76px,calc(env(safe-area-inset-bottom) + 70px));justify-content:center}}
@media(prefers-reduced-motion:reduce){[data-live-root],.ckp-live-status{transition:none}}

/* v46.12.2 notification reliability */
.notification-trigger{position:relative}.notification-badge{position:absolute;top:-6px;right:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;font:700 10px/18px system-ui;text-align:center;box-shadow:0 0 0 2px #fff}.notification-badge[hidden]{display:none!important}.notification-unread{border-left:4px solid #0f766e!important;background:linear-gradient(135deg,rgba(240,253,250,.98),rgba(255,255,255,.98))!important}.notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.notification-card .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ckp-live-notification{position:fixed;z-index:99999;right:18px;top:18px;width:min(380px,calc(100vw - 36px));display:grid;gap:4px;padding:14px 16px;border:1px solid #99f6e4;border-radius:16px;background:#fff;color:#0f172a;box-shadow:0 18px 55px rgba(15,23,42,.2);text-decoration:none;opacity:0;transform:translateY(-12px);transition:.2s ease}.ckp-live-notification.is-visible{opacity:1;transform:none}.ckp-live-notification strong{font-size:14px}.ckp-live-notification span{font-size:13px;color:#475569}.ckp-live-notification small{font-size:11px;color:#0f766e}.ckp-live-notification.priority-urgent,.ckp-live-notification.priority-high{border-color:#fca5a5}.ckp-live-notification.priority-urgent small,.ckp-live-notification.priority-high small{color:#b91c1c}@media(max-width:640px){.ckp-live-notification{top:10px;right:10px;width:calc(100vw - 20px)}}


/* v46.12.4 recruiter browser notifications and private attachments */
.browser-notification-settings{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-color:#bfdbfe;background:linear-gradient(135deg,#eff6ff,#fff)}
.browser-notification-settings p{margin:5px 0 0}.notification-attachment{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin:14px 0;padding:12px;border:1px solid #dbeafe;border-radius:16px;background:#f8fafc}.notification-attachment img{grid-column:1/-1;width:100%;max-height:320px;object-fit:contain;border-radius:12px;background:#e2e8f0}.notification-attachment div{display:grid;gap:3px}.notification-attachment small{color:#64748b}.notification-attachment-pdf{border-color:#fecaca;background:#fff7f7}.notification-attachment-video{border-color:#ddd6fe;background:#faf5ff}@media(max-width:640px){.browser-notification-settings{align-items:flex-start}.notification-attachment{grid-template-columns:1fr}.notification-attachment .secondary{width:100%;text-align:center}}


/* v46.12.4 Admin Notification Centre */
.notification-admin-grid{align-items:start}.notification-recipient-results{display:grid;gap:.5rem;margin:.5rem 0;max-height:18rem;overflow:auto;border:1px solid var(--border,#d9e2ec);border-radius:14px;padding:.5rem;background:#fff}.notification-recipient-option{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.75rem .85rem;border:1px solid transparent;border-radius:10px;background:#f7fafc;text-align:left;cursor:pointer}.notification-recipient-option:hover,.notification-recipient-option:focus{border-color:#4f46e5;background:#eef2ff}.notification-recipient-option small{color:#64748b}.notification-recipient-selected{margin:.6rem 0;padding:.75rem .85rem;border-radius:12px;background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;font-weight:700}.notification-delivery-summary{display:flex;flex-direction:column;gap:.2rem;padding:.75rem;border:1px solid var(--border,#d9e2ec);border-radius:12px;background:#f8fafc}.notification-delivery-summary span{font-weight:700;color:#166534}.notification-delivery-summary small{color:#64748b}.check-list{display:grid;gap:.65rem;padding-left:1.25rem}.check-list li::marker{color:#16a34a}@media(max-width:760px){.notification-admin-grid{grid-template-columns:1fr}.notification-recipient-results{max-height:14rem}}
