
.rsp-wrap{
  --brand:#103f2a;
  --brand-2:#1f6b49;
  --brand-soft:#edf7f1;
  --ink:#14251b;
  --muted:#6b776f;
  --line:#dfe8e2;
  --surface:#ffffff;
  --surface-2:#f8fbf9;
  --shadow:0 18px 50px rgba(16,63,42,.08);
  max-width:1220px;
  margin:0 auto;
  padding:28px 18px 70px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink)
}
.rsp-wrap,.rsp-wrap *{box-sizing:border-box!important}
.rsp-wrap h1,.rsp-wrap h2,.rsp-wrap h3{margin-top:0;color:var(--ink);letter-spacing:-.02em}
.rsp-wrap p{color:var(--muted)}
.rsp-brand{font-size:11px;font-weight:900;letter-spacing:.18em;color:var(--brand);margin-bottom:10px}
.rsp-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:26px;padding:8px 0}
.rsp-topbar h1{font-size:clamp(30px,4vw,44px);margin-bottom:5px}
.rsp-topbar p{margin:0}
.rsp-logout{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:auto!important;min-height:42px!important;padding:9px 16px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:#fff!important;color:var(--ink)!important;text-decoration:none!important;font-weight:700!important;white-space:nowrap!important;box-shadow:0 4px 12px rgba(16,63,42,.04)!important}
.rsp-logout:hover{border-color:#b8c9bf!important;background:#f9fbfa!important}

.rsp-card,.rsp-login-card,.rsp-create-box{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 28px rgba(16,63,42,.045)}
.rsp-card{padding:22px;margin-bottom:18px}
.rsp-login-shell{min-height:72vh;display:grid;place-items:center;padding:20px 0}
.rsp-auth-stack{width:min(520px,100%);display:grid;gap:16px}
.rsp-login-card{width:100%;padding:34px;box-shadow:var(--shadow)}
.rsp-premium-card{position:relative;overflow:hidden}
.rsp-premium-card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--brand),#3b9167)}
.rsp-auth-mark{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:var(--brand);color:#fff;font-weight:900;font-size:16px;letter-spacing:.04em;margin-bottom:18px;box-shadow:0 10px 25px rgba(16,63,42,.18)}
.rsp-login-card h1{font-size:36px;margin-bottom:8px}
.rsp-auth-subtitle{margin:0 0 24px!important;font-size:14px;line-height:1.6}

.rsp-wrap label{display:block!important;margin:14px 0 7px!important;font-size:12px!important;font-weight:800!important;color:#26382e!important}
.rsp-wrap input[type=text],.rsp-wrap input[type=password],.rsp-wrap input[type=file],.rsp-wrap select,.rsp-wrap textarea{
  display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;
  min-height:49px!important;padding:11px 13px!important;margin:0!important;
  border:1px solid #ccd9d1!important;border-radius:12px!important;background:#fff!important;color:var(--ink)!important;
  font:inherit!important;box-shadow:0 1px 2px rgba(16,63,42,.02)!important;transition:border-color .15s ease,box-shadow .15s ease!important
}
.rsp-wrap textarea{min-height:100px!important;resize:vertical!important}
.rsp-wrap input:focus,.rsp-wrap select:focus,.rsp-wrap textarea:focus{outline:none!important;border-color:#74a88b!important;box-shadow:0 0 0 4px rgba(31,107,73,.08)!important}
.rsp-check{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important}
.rsp-check input{width:auto!important;min-height:0!important;margin:0!important}
.rsp-login-options{margin-top:14px}
.rsp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:14px;padding:10px 16px;border:0;border-radius:12px;background:#e9f1ec;color:var(--brand);font-weight:850;cursor:pointer;text-decoration:none!important;transition:transform .12s ease,box-shadow .12s ease}
.rsp-btn:hover{transform:translateY(-1px)}
.rsp-btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 9px 20px rgba(16,63,42,.16)}
.rsp-login-btn,.rsp-create-btn{width:100%}

.rsp-create-box{overflow:hidden}
.rsp-create-box summary{list-style:none;cursor:pointer;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:850}
.rsp-create-box summary::-webkit-details-marker{display:none}
.rsp-create-title{color:var(--brand)}
.rsp-admin-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.rsp-create-inner{padding:2px 20px 22px;border-top:1px solid var(--line)}
.rsp-create-intro{display:flex;flex-direction:column;gap:3px;padding:18px 0 4px}
.rsp-create-intro strong{font-size:14px}
.rsp-create-intro span{font-size:12px;color:var(--muted);line-height:1.5}
.rsp-admin-verify{margin-top:14px;padding:16px;border:1px solid #dce9e1;border-radius:14px;background:var(--surface-2)}
.rsp-mini-heading{font-size:13px;font-weight:900;color:var(--brand);margin-bottom:2px}
.rsp-form-divider{display:flex;align-items:center;gap:10px;margin:22px 0 6px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.rsp-form-divider:before,.rsp-form-divider:after{content:"";height:1px;background:var(--line);flex:1}

.rsp-notice{padding:13px 16px;border-radius:12px;margin-bottom:16px;background:#ecfdf3;color:#166534;border:1px solid #d1fadf;font-weight:700}
.rsp-notice.error{background:#fff3f2;color:#b42318;border-color:#fecdca}
.rsp-shared-note{display:flex;flex-direction:column;gap:4px;margin-bottom:18px;padding:14px 16px;border-radius:14px;background:linear-gradient(180deg,#f5fbf7,#edf7f1);border:1px solid #d9eadf}
.rsp-shared-note strong{color:var(--brand)}
.rsp-shared-note span{font-size:12px;color:var(--muted)}

.rsp-checklist-grid,.rsp-supervisor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rsp-checklist-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.rsp-checklist-head h2,.rsp-checklist-head h3{margin-bottom:4px}
.rsp-checklist-head>div>span{font-size:10px;color:var(--muted);font-weight:700}
.rsp-score{text-align:right}.rsp-score b{display:block;font-size:22px;color:var(--brand)}.rsp-score small{display:block;font-size:10px;color:var(--muted);font-weight:700}
.rsp-progress-track{height:9px;margin:11px 0;background:#e9efeb;border-radius:999px;overflow:hidden}
.rsp-progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#4c9d75);border-radius:999px;transition:width .25s ease}
.rsp-autosave-note{margin:8px 0 4px;color:#377252;font-size:10px;font-weight:800}
.rsp-task-check{display:grid!important;grid-template-columns:20px minmax(0,1fr) 18px!important;align-items:start!important;gap:12px!important;width:100%!important;padding:11px 2px!important;margin:0!important;border-bottom:1px solid #edf2ee!important;cursor:pointer}
.rsp-task-check input[type=checkbox]{display:block!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:1px 0 0!important;padding:0!important}
.rsp-task-check span{font-size:12px;line-height:1.45;font-weight:650}
.rsp-save-state{display:block;width:15px;height:15px}
.rsp-task-check.saving .rsp-save-state{border:2px solid #cbd5cf;border-top-color:var(--brand);border-radius:50%;animation:rspin .7s linear infinite}
.rsp-task-check.saved .rsp-save-state:before{content:"✓";color:#166534;font-style:normal;font-weight:900}
.rsp-task-check.save-error .rsp-save-state:before{content:"!";color:#b42318;font-style:normal;font-weight:900}
@keyframes rspin{to{transform:rotate(360deg)}}

.rsp-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}
.rsp-section-head h2{margin-bottom:5px}
.rsp-section-head p{margin:0;color:var(--muted);font-size:12px}
.rsp-live-dot{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#ecfdf3;color:#166534;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.rsp-live-dot i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}
.rsp-period-monitor{border:1px solid var(--line);border-radius:16px;padding:15px;min-width:0;background:#fff}
.rsp-mini-stats{display:flex;gap:14px;margin:8px 0 10px;font-size:10px;color:var(--muted);font-weight:700}
.rsp-mini-stats b{color:var(--ink)}
.rsp-readonly-item{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 4px;border-top:1px solid #edf1ee}
.rsp-status-icon{font-weight:900}.rsp-readonly-item.done .rsp-status-icon,.rsp-readonly-item.done .rsp-item-status{color:#166534}
.rsp-item-label{font-size:11px;font-weight:700}.rsp-item-status{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase}

.rsp-admin-info{background:linear-gradient(180deg,#f5fbf7,#eef8f2)}
.rsp-admin-stats{display:flex;gap:10px;flex-wrap:wrap}.rsp-admin-stats span{padding:9px 11px;border:1px solid #d7e6db;background:#fff;border-radius:11px;font-size:11px;font-weight:700}.rsp-admin-create{max-width:680px}
.rsp-report{max-width:760px}

.rsp-password-wrap{position:relative!important}
.rsp-password-wrap input{padding-right:46px!important}
.rsp-password-eye{position:absolute!important;right:6px!important;top:50%!important;transform:translateY(-50%)!important;width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:#53625a!important;cursor:pointer!important;box-shadow:none!important}
.rsp-password-eye:hover{background:#f2f6f3!important}
.rsp-password-eye svg{width:18px;height:18px}

@media(max-width:1000px){.rsp-checklist-grid,.rsp-supervisor-grid{grid-template-columns:1fr}}
@media(max-width:700px){
  .rsp-wrap{padding:16px 10px 44px}
  .rsp-card{padding:16px}
  .rsp-login-card{padding:24px}
  .rsp-login-card h1{font-size:31px}
  .rsp-topbar{align-items:center}
  .rsp-wrap input[type=text],.rsp-wrap input[type=password],.rsp-wrap select,.rsp-wrap textarea{font-size:16px!important}
}


/* v3.2 logo, checkbox alignment and daily history */
.rsp-logo-holder{
  display:flex;
  align-items:center;
  margin-bottom:16px;
}
.rsp-site-logo{
  display:block!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
.rsp-site-logo-login{
  max-width:230px!important;
  max-height:76px!important;
}
.rsp-site-logo-dashboard{
  max-width:180px!important;
  max-height:58px!important;
}
.rsp-dashboard-brand{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}
.rsp-dashboard-brand .rsp-logo-holder{
  margin:0;
  flex:0 0 auto;
}
.rsp-dashboard-copy{
  min-width:0;
}
.rsp-dashboard-copy .rsp-brand{
  margin-bottom:4px;
}
.rsp-dashboard-copy h1{
  margin-bottom:4px;
}
.rsp-dashboard-copy p{
  margin:0;
}

/* Strong checkbox reset so Astra/theme cannot push text under checkbox */
.rsp-wrap .rsp-task-check{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  width:100%!important;
  padding:11px 2px!important;
  margin:0!important;
  border-bottom:1px solid #edf2ee!important;
  cursor:pointer!important;
}
.rsp-wrap .rsp-task-check input[type="checkbox"]{
  -webkit-appearance:checkbox!important;
  appearance:checkbox!important;
  display:block!important;
  flex:0 0 18px!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  margin:1px 0 0 0!important;
  padding:0!important;
}
.rsp-wrap .rsp-task-check > span{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  line-height:1.45!important;
}
.rsp-wrap .rsp-task-check .rsp-save-state{
  flex:0 0 16px!important;
  margin-top:2px!important;
}

/* History */
.rsp-history{
  margin-top:20px;
}
.rsp-history-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.rsp-history-head h2{
  margin-bottom:4px;
}
.rsp-history-head p{
  margin:0;
  font-size:12px;
}
.rsp-history-list{
  display:grid;
  gap:9px;
}
.rsp-history-row{
  display:grid;
  grid-template-columns:minmax(150px,.7fr) minmax(220px,1.4fr) auto;
  align-items:center;
  gap:16px;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fbfcfb;
}
.rsp-history-date strong{
  display:block;
  font-size:13px;
}
.rsp-history-date span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
}
.rsp-history-progress{
  display:grid;
  grid-template-columns:minmax(0,1fr) 42px;
  align-items:center;
  gap:9px;
}
.rsp-history-progress .rsp-progress-track{
  margin:0;
}
.rsp-history-progress b{
  text-align:right;
  color:var(--brand);
  font-size:12px;
}
.rsp-history-download{
  margin:0!important;
  min-height:38px;
  white-space:nowrap;
}
.rsp-history-empty{
  padding:14px;
  border-radius:11px;
  background:#f7faf8;
  color:var(--muted);
  font-size:12px;
}
.rsp-history-unavailable{
  color:var(--muted);
  font-size:11px;
}

@media(max-width:760px){
  .rsp-dashboard-brand{
    align-items:flex-start;
  }
  .rsp-site-logo-dashboard{
    max-width:110px!important;
    max-height:46px!important;
  }
  .rsp-history-row{
    grid-template-columns:1fr;
    gap:10px;
  }
  .rsp-history-download{
    width:100%;
  }
}


/* v3.3 dashboard logo stacked above title */
.rsp-dashboard-stack{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  min-width:0;
}
.rsp-dashboard-stack .rsp-logo-holder{
  margin:0;
}
.rsp-dashboard-stack .rsp-site-logo-dashboard{
  max-width:220px!important;
  max-height:72px!important;
}
.rsp-dashboard-copy h1{
  margin:0 0 5px!important;
}
.rsp-dashboard-copy p{
  margin:0!important;
}
@media(max-width:700px){
  .rsp-dashboard-stack .rsp-site-logo-dashboard{
    max-width:170px!important;
    max-height:58px!important;
  }
}


/* v3.4 completed-day history only */
.rsp-history-complete{
  grid-template-columns:minmax(180px,1fr) auto auto!important;
  background:#f6fbf8!important;
  border-color:#d5eadc!important;
}
.rsp-history-complete-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 11px;
  border-radius:999px;
  background:#e8f7ee;
  color:#166534;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
@media(max-width:760px){
  .rsp-history-complete{
    grid-template-columns:1fr!important;
  }
  .rsp-history-complete-badge{
    justify-self:start;
  }
}


/* v3.5 history shows completed and incomplete days */
.rsp-history-row{
  grid-template-columns:minmax(170px,.8fr) minmax(280px,1.5fr) auto!important;
}
.rsp-history-summary{
  min-width:0;
}
.rsp-history-counts{
  display:flex;
  gap:14px;
  margin-bottom:7px;
  color:var(--muted);
  font-size:10px;
  font-weight:700;
}
.rsp-history-counts b{
  color:var(--ink);
  font-size:12px;
}
.rsp-history-partial{
  background:#fffaf0!important;
  border-color:#f0dfb5!important;
}
.rsp-history-pending-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 11px;
  border-radius:999px;
  background:#fff2cc;
  color:#8a5b00;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.rsp-history-complete{
  background:#f6fbf8!important;
  border-color:#d5eadc!important;
}
@media(max-width:760px){
  .rsp-history-row{
    grid-template-columns:1fr!important;
  }
  .rsp-history-pending-badge{
    justify-self:start;
  }
}


/* v3.6 every previous day + supervisor-only PDF */
.rsp-history-zero{
  background:#fafafa!important;
  border-color:#e4e7e5!important;
}
.rsp-history-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:7px 11px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.rsp-history-status.complete{
  background:#e8f7ee;
  color:#166534;
}
.rsp-history-status.pending{
  background:#fff2cc;
  color:#8a5b00;
}
.rsp-history-status.zero{
  background:#eef1ef;
  color:#66716b;
}
.rsp-history-zero .rsp-progress-track span{
  width:0!important;
}


/* v3.7 compact 50/50 bottom layout */
.rsp-bottom-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  align-items:start;
  margin-top:20px;
}
.rsp-bottom-col{
  min-width:0;
}
.rsp-bottom-col > .rsp-card{
  margin-bottom:0;
}
.rsp-bottom-col .rsp-history,
.rsp-bottom-col .rsp-report{
  max-width:none;
  width:100%;
}
.rsp-history-list{
  gap:7px!important;
}
.rsp-history-row{
  grid-template-columns:minmax(120px,.8fr) minmax(180px,1.2fr) auto!important;
  gap:10px!important;
  padding:10px 11px!important;
}
.rsp-history-date strong{
  font-size:12px!important;
}
.rsp-history-date span{
  font-size:9px!important;
}
.rsp-history-counts{
  margin-bottom:5px!important;
  gap:10px!important;
}
.rsp-history-progress{
  grid-template-columns:minmax(0,1fr) 34px!important;
  gap:6px!important;
}
.rsp-history-download{
  min-height:34px!important;
  padding:7px 10px!important;
  font-size:10px!important;
}
.rsp-history-status{
  min-height:32px!important;
  padding:6px 9px!important;
  font-size:10px!important;
}
.rsp-history-head{
  margin-bottom:8px!important;
}
.rsp-history-head h2{
  font-size:20px!important;
}
.rsp-history-head p{
  font-size:11px!important;
}

@media(max-width:900px){
  .rsp-bottom-grid{
    grid-template-columns:1fr;
  }
}

/* v3.8 per-Peon monitoring and admin deletion */
.rsp-peon-monitor{padding:18px 0 4px;border-top:1px solid var(--line)}
.rsp-peon-monitor:first-of-type{border-top:0}
.rsp-peon-monitor-head{margin-bottom:12px}
.rsp-peon-monitor-head strong{display:block;font-size:18px}
.rsp-peon-monitor-head span{display:block;margin-top:2px;color:var(--muted);font-size:11px}
.rsp-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.rsp-user-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line)}
.rsp-user-row:first-of-type{border-top:0}
.rsp-user-info strong{display:block;font-size:13px}
.rsp-user-info span{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.rsp-user-row form{margin:0;flex:0 0 auto}
.rsp-delete-btn{margin:0!important;min-height:36px!important;padding:7px 11px!important;background:#fff1f0!important;color:#b42318!important;border:1px solid #f6cbc7!important}
.rsp-help{color:var(--muted);font-size:11px}
@media(max-width:900px){.rsp-admin-grid{grid-template-columns:1fr}}


/* v3.9 Vinod auto-user credentials */
.rsp-vinod-credentials{
  background:linear-gradient(180deg,#fffdf5,#fff9e8);
  border-color:#f2dfa5;
}
.rsp-vinod-credentials h2{
  margin-bottom:6px;
}
.rsp-vinod-credentials p{
  margin-top:0;
  font-size:12px;
}
.rsp-credential-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:12px 0;
}
.rsp-credential-grid>div{
  padding:12px;
  border:1px solid #ead9a5;
  border-radius:11px;
  background:#fff;
}
.rsp-credential-grid span{
  display:block;
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.rsp-credential-grid strong{
  display:block;
  margin-top:4px;
  font-size:14px;
  overflow-wrap:anywhere;
}
.rsp-temp-password{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}
@media(max-width:700px){
  .rsp-credential-grid{grid-template-columns:1fr}
}


/* v4.0 repaired layout */
.rsp-wrap{
  width:calc(100vw - 32px)!important;
  max-width:1500px!important;
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  margin-left:0!important;
  margin-right:0!important;
}
.rsp-supervisor-grid{
  grid-template-columns:repeat(3,minmax(310px,1fr))!important;
  gap:16px!important;
}
.rsp-period-monitor{
  padding:18px!important;
}
.rsp-readonly-item{
  grid-template-columns:24px minmax(0,1fr) auto!important;
  gap:10px!important;
}
.rsp-item-label{
  font-size:12px!important;
  line-height:1.4!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.rsp-item-status{
  white-space:nowrap!important;
}
.rsp-history-person{
  border:1px solid var(--line);
  border-radius:12px;
  margin-bottom:8px;
  background:#fbfcfb;
  overflow:hidden;
}
.rsp-history-person summary{
  cursor:pointer;
  padding:11px 12px;
  font-weight:800;
  color:var(--brand);
}
.rsp-history-person-body{
  padding:0 10px 10px;
  border-top:1px solid var(--line);
}
.rsp-history-row{
  grid-template-columns:minmax(125px,.8fr) minmax(180px,1.25fr) auto!important;
}
.rsp-history-status{
  font-size:10px;
  color:var(--muted);
  white-space:nowrap;
}
@media(max-width:1200px){
  .rsp-supervisor-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:700px){
  .rsp-wrap{
    width:calc(100vw - 20px)!important;
  }
  .rsp-history-row{
    grid-template-columns:1fr!important;
  }
}
