/* ============ CrewCheck front-end app + home ============ */
.cc-shell,.cc-home{
  /* CrewRounds brand palette — Deep Navy / Fresh Teal / Warm Amber / Soft White */
  --navy:#16324F;--navy2:#1e4468;
  --bg:#F7F9F8;--bg2:#ffffff;--panel:#ffffff;--panel2:#f1f5f4;--panel3:#e7edeb;
  --line:#dde5e3;--line2:#c9d5d1;--text:#16324F;--muted:#5c6b78;--dim:#8a97a0;
  --orange:#18A77B;--orange2:#3bbf95;--green:#18A77B;--red:#e0554b;--blue:#3f6fb0;--yellow:#F5A623;
  color:var(--text);
  font-family:"Manrope",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.55;
}
.cc-shell *,.cc-home *{box-sizing:border-box}
.cc-shell{background:var(--bg);border-radius:16px;overflow-x:hidden;border:1px solid var(--line);min-height:calc(100vh - var(--wp-admin--admin-bar--height,0px))}
.cc-shell .cc-inp,.cc-shell input,.cc-shell select,.cc-shell textarea{min-width:0}
.cc-loading,.cc-gate{padding:60px 24px;text-align:center;color:var(--muted)}
.cc-gate .cc-logo-lg{width:56px;height:56px;border-radius:16px;margin:0 auto 10px;background:linear-gradient(140deg,var(--orange2),var(--orange));display:grid;place-items:center;font-size:30px;color:#ffffff}
.cc-gate h2{color:var(--text);margin:.2em 0}
.cc-gate-word{display:block;height:34px;width:auto;margin:0 auto 14px}
.cc-setup{max-width:520px;margin:40px auto;text-align:center;padding:28px 24px;background:var(--panel);border:1px solid var(--line);border-radius:16px}
.cc-setup-ic{font-size:44px;margin-bottom:6px}
.cc-setup h2{margin:.1em 0 .3em;color:var(--text)}
.cc-setup .cc-dim{max-width:400px;margin:0 auto}
.cc-gate code{background:var(--line2,#eee);padding:1px 5px;border-radius:4px;font-size:.9em}

.cc-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:10px;font-weight:600;font-size:14px;text-decoration:none;border:1px solid transparent;cursor:pointer}
.cc-btn.primary{background:linear-gradient(180deg,var(--orange2),var(--orange));color:#fff;box-shadow:0 4px 14px rgba(24,167,123,.28)}
.cc-btn.ghost{background:var(--panel2);border-color:var(--line);color:var(--text)}
.cc-btn.lg{padding:14px 24px;font-size:16px;border-radius:12px}
.cc-btn.sm{padding:6px 12px;font-size:13px}

/* top nav — Deep Navy per brand */
.cc-nav{display:flex;align-items:center;gap:6px;padding:0 20px;height:58px;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:20}
.cc-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;margin-right:16px;color:#fff}
.cc-brand .lg,.cc-brand img.cc-brand-ic{width:30px;height:30px;border-radius:0;background:none;display:block;object-fit:contain}
.cc-brand .o{color:var(--orange2)}
.cc-nav .tab{padding:8px 14px;border-radius:9px;color:rgba(255,255,255,.72);font-weight:600;font-size:14px;background:none;border:none;cursor:pointer}
.cc-nav .tab:hover{color:#fff}
.cc-nav .tab.active{color:#fff;background:rgba(255,255,255,.14)}
.cc-nav .right{margin-left:auto;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.75);font-size:13px}
.cc-nav .who{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);padding:4px 12px 4px 5px;border-radius:999px;font-weight:600;color:#fff}
.cc-nav .who .av{width:24px;height:24px;border-radius:50%;background:linear-gradient(140deg,var(--orange2),var(--orange));color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px}
.cc-nav .cc-lvl{color:rgba(255,255,255,.6)}
.cc-nav .cc-icn{color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16)}
.cc-nav .cc-icn:hover{background:rgba(255,255,255,.18)}
.cc-nav .cc-logout{color:#fff;border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08)}

.cc-page{max-width:none;margin:0;padding:22px 24px 60px}
.cc-row{display:flex;align-items:center;gap:12px}
.cc-between{justify-content:space-between}
.cc-card{background:var(--panel);border:1px solid var(--line);border-radius:14px}

/* toolbar */
.cc-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.cc-select{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;background:var(--panel2);border:1px solid var(--line);font-weight:600;font-size:14px;color:var(--text)}
select.cc-select{cursor:pointer}
/* Location selector: size to content, don't stretch across the toolbar */
#cc-loc{flex:0 0 auto;width:auto;min-width:140px;max-width:260px}
.cc-datenav{display:flex;align-items:center;gap:10px;margin-left:4px}
.cc-arw{width:32px;height:32px;border-radius:9px;background:var(--panel2);border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);cursor:pointer}
.cc-progress .lbl{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);margin:14px 0 6px}
.cc-progright{display:inline-flex;align-items:center;gap:10px}
.cc-signpill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-weight:700;font-size:13px;border:1px solid transparent;line-height:1;white-space:nowrap}
.cc-signpill.done{background:rgba(24,167,123,.15);color:var(--green);border-color:rgba(24,167,123,.3)}
.cc-signpill.alldone{background:var(--panel3);color:var(--muted)}
button.cc-signpill{cursor:pointer;font-family:inherit}
.cc-signpill.act{background:var(--green);color:#fff}
.cc-signpill.act:hover{filter:brightness(1.06)}
.cc-signpill.done:hover{background:rgba(24,167,123,.22)}
.cc-bar{height:7px;border-radius:5px;background:var(--panel3);overflow:hidden}
.cc-bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--orange2))}

.cc-group{display:flex;align-items:center;gap:10px;margin:22px 0 10px;font-size:12.5px;letter-spacing:1.4px;color:var(--dim);font-weight:700;cursor:pointer;user-select:none}
.cc-group .count{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:1px 9px;font-size:11px;letter-spacing:0;color:var(--muted)}
.cc-group .cc-gcheck{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:var(--green);color:#fff;font-size:11px;font-weight:900;line-height:1}
.cc-group .cc-chev{font-size:14px;line-height:1;color:var(--muted);transition:transform .18s ease}
.cc-group.collapsed .cc-chev{transform:rotate(-90deg)}
.cc-group .ln{flex:1;height:1px;background:var(--line)}
.cc-gitems.collapsed{display:none}

.cc-task{display:flex;align-items:center;gap:14px;padding:15px 16px;margin-bottom:10px;background:var(--panel);border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:.15s}
.cc-task:hover{border-color:var(--line2);background:var(--panel2)}
.cc-tick{width:22px;height:22px;border-radius:50%;border:2px solid var(--dim);flex:none;position:relative}
.cc-task.done .cc-tick{background:var(--orange);border-color:var(--orange)}
.cc-task.done .cc-tick:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#ffffff;font-size:13px;font-weight:800}
/* In-progress: partial (half-filled) ring + a small tag. */
.cc-task.inprogress{border-color:rgba(245,166,35,.5)}
.cc-task.inprogress .cc-tick{border-color:var(--yellow);background:linear-gradient(90deg,var(--yellow) 50%,transparent 50%)}
.cc-progtag{display:inline-block;margin-left:8px;font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--yellow);background:rgba(245,166,35,.15);border-radius:8px;padding:1px 7px;vertical-align:1px}
.cc-task .emo{font-size:22px;flex:none}
.cc-task .body{flex:1;min-width:0}
.cc-task .ttl{font-weight:700;font-size:15px}
.cc-task .desc{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-locbadge{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:999px;border:1px solid rgba(24,167,123,.35);color:var(--orange2);font-size:12px;font-weight:600;flex:none;background:none;cursor:pointer}
.cc-locbadge:hover{border-color:rgba(24,167,123,.7)}
.cc-locbadge.part{color:var(--yellow);border-color:rgba(245,166,35,.5)}
.cc-locbadge.full{color:var(--green);border-color:rgba(24,167,123,.7);background:rgba(24,167,123,.1)}
.cc-brrow{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;cursor:pointer;background:var(--panel)}
.cc-brrow[data-ro]{cursor:default}
.cc-brrow.busy{opacity:.6}
.cc-brchk{width:22px;height:22px;border-radius:50%;border:2px solid var(--dim);flex:none;position:relative}
.cc-brrow.done .cc-brchk{background:var(--green);border-color:var(--green)}
.cc-brrow.done .cc-brchk:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:800}

/* detail */
.cc-back{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:600;font-size:14px;margin-bottom:8px;background:none;border:none;cursor:pointer}
.cc-h1{font-size:24px;font-weight:800;margin:6px 0}
.cc-desc{color:var(--muted);max-width:640px;margin:8px 0 4px}
.cc-sect{font-weight:800;font-size:15px;margin:24px 0 10px}
.cc-check{display:block;border-bottom:1px solid var(--line)}
.cc-check:last-child{border-bottom:none}
.cc-crow{display:flex;align-items:center;gap:14px;padding:15px 16px}
.cc-clabel{flex:1;min-width:0}
.cc-cbox{width:22px;height:22px;border-radius:50%;border:2px solid var(--dim);flex:none;cursor:pointer;position:relative}
.cc-cbox.on{background:var(--orange);border-color:var(--orange)}
.cc-cbox.on:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#ffffff;font-size:12px;font-weight:800}
.cc-flag{margin-left:auto;color:var(--dim);background:none;border:none;cursor:pointer;font-size:15px;flex:none}
.cc-flag.on{color:var(--red)}
/* Done = ticked off: cross it out. */
.cc-check.done .cc-clabel{text-decoration:line-through;color:var(--muted)}
/* Flagged = an issue: cross it out in red instead of showing a tick. */
.cc-check.flagged .cc-cbox{background:var(--red);border-color:var(--red)}
.cc-check.flagged .cc-cbox:after{content:"✕";position:absolute;inset:0;display:grid;place-items:center;color:#ffffff;font-size:12px;font-weight:800}
.cc-check.flagged .cc-clabel{color:var(--red);text-decoration:line-through}
.cc-flagcmt{display:none;width:calc(100% - 32px);margin:0 16px 14px;box-sizing:border-box;background:rgba(224,49,49,.06);border:1px solid rgba(224,49,49,.4);border-radius:10px;padding:10px 12px;color:var(--text);font:inherit;resize:vertical;min-height:52px}
.cc-check.flagged .cc-flagcmt{display:block}
.cc-sectlabel{padding:12px 16px 4px;font-weight:700;color:var(--orange2);font-size:13px;letter-spacing:.4px}
.cc-inp{width:100%;padding:10px 13px;border-radius:10px;background:var(--bg2);border:1px solid var(--line);color:var(--text);font-size:14px;font-family:inherit}
.cc-pwrap{position:relative}
.cc-pwrap .cc-inp{padding-right:44px}
.cc-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:0;border-radius:8px;color:var(--muted);cursor:pointer}
.cc-eye:hover{color:var(--text);background:var(--panel2)}
.cc-cred{margin-top:10px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.cc-cred .cc-credrow{display:flex;align-items:center;gap:12px;padding:9px 12px;border-top:1px solid var(--line)}
.cc-cred .cc-credrow:first-child{border-top:0}
.cc-cred .cc-credk{flex:0 0 78px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.cc-cred code{font-size:14px;background:var(--bg2);padding:3px 8px;border-radius:6px;word-break:break-all}
.cc-cred a{word-break:break-all}
.cc-brand-logo{height:30px;width:auto;max-width:150px;object-fit:contain;display:block}
.cc-brand-rest{font-weight:800;font-size:16px;color:#fff;margin-left:8px;white-space:nowrap}
.cc-brand.has-logo{gap:0}
.cc-locrow{border-top:1px solid var(--line);padding:12px 4px}
.cc-locrow:first-child{border-top:0}
.cc-locmain{display:flex;align-items:center;gap:12px}
.cc-locthumb{width:44px;height:44px;flex:0 0 44px;border-radius:10px;object-fit:contain;background:var(--bg2);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:20px}
.cc-locadmin{padding:0 2px}
.cc-locfixed{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:15px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 14px}
.cc-inp:focus{outline:none;border-color:var(--orange)}
textarea.cc-inp{resize:vertical;min-height:70px}
.cc-logtbl{padding:8px}
.cc-logtbl table{width:100%;border-collapse:collapse}
.cc-logtbl th{text-align:left;padding:8px 10px;font-size:11.5px;letter-spacing:.5px;color:var(--muted);text-transform:uppercase;font-weight:700}
.cc-logtbl td{padding:5px 8px}
.cc-logtbl input,.cc-logtbl select{width:100%;padding:8px 10px;border-radius:8px;background:var(--bg2);border:1px solid var(--line);color:var(--text);font-family:inherit}
.cc-del{color:var(--red);background:none;border:none;cursor:pointer;font-size:15px}
.cc-addrow{display:inline-flex;align-items:center;gap:8px;color:var(--orange2);font-weight:600;font-size:14px;padding:10px;background:none;border:none;cursor:pointer}
.cc-cta{position:sticky;bottom:0;padding:14px 0;background:linear-gradient(180deg,transparent,var(--bg) 40%);display:flex;flex-direction:column;gap:9px}
.cc-cta .cc-btn{width:100%;justify-content:center;padding:15px;font-size:16px;border-radius:13px}

.cc-empty{padding:50px 20px;text-align:center;color:var(--muted)}

/* reports */
.cc-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
.cc-kpi{padding:16px}
.cc-kpi .k{font-size:11.5px;letter-spacing:.6px;color:var(--muted);text-transform:uppercase;font-weight:700}
.cc-kpi .v{font-size:28px;font-weight:800;margin-top:6px}
.cc-kpi .v.g{color:var(--green)}
.cc-chips{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.cc-chip{padding:6px 13px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);font-size:13px;color:var(--muted);cursor:pointer}
.cc-chip.active{color:var(--orange2);border-color:rgba(24,167,123,.4);background:rgba(24,167,123,.08)}
.cc-rgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cc-barrow{display:flex;align-items:center;gap:12px;margin:10px 0}
.cc-barrow .nm{width:110px;font-size:13px;font-weight:600;flex:none}
.cc-barrow .track{flex:1;height:9px;border-radius:5px;background:var(--panel3);overflow:hidden}
.cc-barrow .track>i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--orange2))}
.cc-barrow .pct{width:44px;text-align:right;font-size:13px;color:var(--muted)}
.cc-heat{display:grid;gap:5px;margin-top:10px;font-size:11px}
.cc-heat .hh{color:var(--dim);text-align:center}
.cc-heat .rn{color:var(--muted);font-weight:600;display:flex;align-items:center;font-size:12px}
.cc-cell{aspect-ratio:1;border-radius:7px;display:grid;place-items:center;font-weight:700;color:#1a1410;font-size:12px}
.cc-cell.hi{background:#3ecf8e}.cc-cell.mid{background:#F5A623}.cc-cell.lo{background:#e0554b;color:#2a0f0c}.cc-cell.zero{background:var(--panel3);color:var(--dim)}
.cc-act{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);font-size:13.5px}
.cc-act:last-child{border-bottom:none}
.cc-act .t{color:var(--muted)}
.cc-act .t b{color:var(--text)}
.cc-act .tm{color:var(--dim);font-size:12px;white-space:nowrap}

@media(max-width:680px){
  .cc-kpis{grid-template-columns:1fr 1fr}
  .cc-rgrid{grid-template-columns:1fr}
}

/* Mobile top-bar menu: single sticky bar, scrollable tabs, icon-only actions */
@media(max-width:720px){
  .cc-nav{padding:0 12px;gap:4px;height:54px}
  /* Icon-only brand on mobile (font-size:0 hides the wordmark text, image stays) */
  .cc-brand{font-size:0;gap:0;margin-right:8px}
  .cc-brand .cc-brand-ic,.cc-brand .lg{width:28px;height:28px}
  .cc-tabs{display:flex;flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:2px}
  .cc-tabs::-webkit-scrollbar{display:none}
  .cc-nav .tab{padding:8px 10px;font-size:13px;white-space:nowrap;flex:0 0 auto}
  .cc-nav .right{gap:6px;margin-left:6px}
  .cc-nav .who,.cc-nav .cc-lvl{display:none}
  .cc-nav .cc-logout .cc-logout-txt{display:none}
  .cc-nav .cc-logout{padding:7px 10px;gap:0}
  .cc-icn{width:34px;height:34px}
  .cc-page{padding:16px 14px 60px}
}

/* ============ home page ============ */
.cc-home{background:var(--bg);color:var(--text);margin:0 -20px;padding:0}
.cc-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;max-width:1080px;margin:0 auto;padding:60px 24px 40px}
.cc-badge{display:inline-block;background:rgba(24,167,123,.12);border:1px solid rgba(24,167,123,.3);color:var(--orange2);padding:5px 13px;border-radius:999px;font-size:13px;font-weight:600;margin-bottom:16px}
.cc-hero h1{font-size:42px;line-height:1.08;font-weight:800;margin:0 0 14px;letter-spacing:-1px}
.cc-hero h1 span{color:var(--orange2)}
.cc-lede{color:var(--muted);font-size:17px;max-width:520px}
.cc-hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 12px}
.cc-hero-meta{color:var(--dim);font-size:13px}
.cc-hero-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.cc-hc-top{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-bottom:8px}
.cc-hc-top b{color:var(--text)}
.cc-hc-bar{height:6px;border-radius:4px;background:var(--panel3);overflow:hidden;margin-bottom:14px}
.cc-hc-bar>i{display:block;height:100%;width:39%;background:linear-gradient(90deg,var(--orange),var(--orange2))}
.cc-hc-row{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;margin-bottom:8px;font-weight:600;font-size:14px}
.cc-hc-row .d{width:18px;height:18px;border-radius:50%;border:2px solid var(--dim);flex:none}
.cc-hc-row.done .d{background:var(--orange);border-color:var(--orange)}
.cc-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1080px;margin:0 auto;padding:30px 24px 50px}
.cc-feat{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px}
.cc-feat .ic{font-size:26px}
.cc-feat h3{margin:10px 0 6px;font-size:17px}
.cc-feat p{margin:0;color:var(--muted);font-size:14px}
.cc-pricing{max-width:1080px;margin:0 auto;padding:20px 24px 60px;text-align:center}
.cc-pricing h2{font-size:28px;font-weight:800;margin-bottom:24px}
.cc-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left}
.cc-plan{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;position:relative}
.cc-plan.featured{border-color:rgba(24,167,123,.5);box-shadow:0 12px 40px rgba(24,167,123,.12)}
.cc-tag{position:absolute;top:-11px;left:24px;background:var(--orange);color:#ffffff;font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;letter-spacing:.4px}
.cc-plan h3{margin:0 0 8px;font-size:18px}
.cc-price{font-size:32px;font-weight:800;margin-bottom:14px}
.cc-price span{font-size:14px;color:var(--muted);font-weight:600}
.cc-plan ul{list-style:none;padding:0;margin:0 0 18px}
.cc-plan li{padding:6px 0 6px 24px;position:relative;color:var(--muted);font-size:14px}
.cc-plan li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
.cc-plan .cc-btn{width:100%;justify-content:center}
.cc-home-foot{text-align:center;padding:50px 24px 60px;border-top:1px solid var(--line)}
.cc-home-foot .cc-logo-lg{width:48px;height:48px;border-radius:14px;margin:0 auto 12px;background:linear-gradient(140deg,var(--orange2),var(--orange));display:grid;place-items:center;font-size:26px;color:#ffffff}
.cc-home-foot p{color:var(--muted);margin-bottom:18px}
@media(max-width:860px){
  .cc-hero{grid-template-columns:1fr;padding-top:40px}
  .cc-features,.cc-plans{grid-template-columns:1fr}
  .cc-hero h1{font-size:34px}
}

/* ============ v1.1 additions ============ */
.cc-lvl{opacity:.6;text-transform:capitalize;font-size:12.5px}
.cc-icn{width:32px;height:32px;border-radius:9px;background:var(--panel2);border:1px solid var(--line);color:var(--muted);cursor:pointer;font-size:15px}
.cc-icn:hover{color:var(--text)}
.cc-dim{color:var(--dim)}
.cc-flabel{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}
.cc-search{display:flex;align-items:center;gap:8px;flex:1;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:0 12px}
.cc-search span{color:var(--dim)}
.cc-search input{flex:1;background:none;border:none;color:var(--text);font:inherit;padding:10px 0;outline:none}
.cc-now{display:flex;align-items:center;gap:12px;margin:14px 0 4px;color:var(--dim);font-size:12px}
.cc-now:before,.cc-now:after{content:"";flex:1;height:1px;background:var(--line)}
.cc-now b{color:var(--orange2);background:rgba(24,167,123,.1);border:1px solid rgba(24,167,123,.3);padding:2px 10px;border-radius:999px;font-size:11.5px;letter-spacing:.5px}
.cc-md p{margin:6px 0}.cc-md ul{margin:6px 0;padding-left:20px}.cc-md li{margin:3px 0}
.cc-md strong{color:var(--text)}.cc-md code{background:var(--bg2);border:1px solid var(--line);border-radius:5px;padding:1px 5px;font-size:.92em;color:var(--orange2)}
.cc-photos{display:flex;gap:10px;margin-top:8px}
.cc-photo{width:74px;height:74px;border-radius:11px;border:1.5px dashed var(--line2);display:grid;place-items:center;color:var(--dim);font-size:20px;cursor:pointer;overflow:hidden;flex:none}
.cc-photo.has{border-style:solid;cursor:default}
.cc-photo img{width:100%;height:100%;object-fit:cover}
.cc-seg{display:inline-flex;gap:4px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:3px}
.cc-seg button{padding:6px 12px;border-radius:7px;background:none;border:none;color:var(--muted);font-weight:600;font-size:13px;cursor:pointer}
.cc-seg button.active{background:rgba(24,167,123,.15);color:var(--orange2)}
.cc-subtabs{display:flex;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:4px;max-width:440px;margin:16px 0}
.cc-subtabs button{flex:1;padding:9px;border-radius:9px;background:none;border:none;color:var(--muted);font-weight:700;font-size:13.5px;cursor:pointer}
.cc-subtabs button.active{background:var(--panel3);color:var(--text)}
.cc-cap{font-size:11.5px;letter-spacing:.6px;color:var(--muted);text-transform:uppercase;font-weight:700;margin-bottom:8px}
.cc-delta{font-size:12.5px;font-weight:700;margin-top:4px}
.cc-delta.dn{color:var(--red)}.cc-delta.up{color:var(--green)}
.cc-rgrid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:14px 0}
.cc-two2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media(max-width:680px){.cc-rgrid3{grid-template-columns:1fr}.cc-two2{grid-template-columns:1fr}}
.cc-axis{stroke:var(--panel3);stroke-width:1}
.cc-cell.clk{cursor:pointer}
.cc-cell.signed{box-shadow:0 0 0 2px var(--orange)}
.cc-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:11.5px;color:var(--muted);align-items:center}
.cc-legend i{width:12px;height:12px;border-radius:3px;display:inline-block;margin-right:5px;vertical-align:-1px}
.cc-legend i.none{background:var(--panel3)}
.cc-legend i.sgn{box-shadow:0 0 0 2px var(--orange);background:transparent}
.cc-tr{width:100%;border-collapse:collapse;font-size:13px}
.cc-tr th{text-align:left;padding:9px 12px;font-size:11px;letter-spacing:.5px;color:var(--muted);text-transform:uppercase;font-weight:700;border-bottom:1px solid var(--line)}
.cc-tr td{padding:9px 12px;border-bottom:1px solid var(--line)}
.cc-tr tr:last-child td{border-bottom:none}
.cc-stat{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:6px;letter-spacing:.3px;white-space:nowrap}
.cc-stat.ok{background:rgba(62,207,142,.15);color:var(--green)}
.cc-stat.bad{background:rgba(224,85,75,.14);color:var(--red)}
.cc-stat.flag{background:rgba(245,166,35,.16);color:var(--yellow)}
.cc-stat.prog{background:var(--panel3);color:var(--muted)}
.cc-chip.trf.active{color:var(--orange2)}

/* optional dark (navy) theme — toggled via the ☀/☾ button */
.cc-shell.cc-dark{
  --bg:#0f2438;--bg2:#0b1b2b;--panel:#16324F;--panel2:#1c3d5c;--panel3:#244a6e;
  --line:#2b4d6b;--line2:#37587a;--text:#eaf1f5;--muted:#9fb3c4;--dim:#7d93a5;
}
.cc-dark{background:var(--bg)}
@media print{
  body *{visibility:hidden}
  #cc-app,#cc-app *{visibility:visible}
  #cc-app{position:absolute;left:0;top:0;width:100%;border:none}
  .cc-nav,.cc-subtabs,#cc-presets,#cc-csv,#cc-pdf,#cc-locchips{display:none!important}
  .cc-shell{background:#fff;color:#000}
}

/* ============ v1.2: in-app builder ============ */
.cc-mtask{display:flex;align-items:center;gap:14px;padding:14px 16px;margin-bottom:10px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.cc-mtask .emo{font-size:20px}
.cc-mtask .body{flex:1;min-width:0}
.cc-mtask .ttl{font-weight:700;font-size:15px}
.cc-mtask .meta{color:var(--muted);font-size:12.5px}
.cc-draft{font-size:10px;font-weight:800;padding:1px 7px;border-radius:5px;background:var(--panel3);color:var(--muted);letter-spacing:.4px;text-transform:uppercase}
.cc-picklist{display:flex;flex-direction:column;gap:8px}
.cc-pick{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:var(--panel)}
.cc-pick:hover{border-color:var(--line2)}
.cc-pick input{margin-top:3px;flex:none}
.cc-pick .cc-pick-main{flex:1;min-width:0}
.cc-pick.had{opacity:.72;cursor:default}
.cc-added{font-size:10px;font-weight:800;padding:2px 8px;border-radius:10px;background:#e6f6ea;color:#1a7f37;letter-spacing:.3px;text-transform:uppercase;align-self:center}
.cc-mtask .acts{display:flex;gap:6px;color:var(--muted)}
.cc-mtask .acts button{width:32px;height:32px;border-radius:8px;background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px}
.cc-mtask .acts button:hover{background:var(--panel2);color:var(--text)}
.cc-mtask .acts .rm:hover{color:var(--red)}
.cc-sitetag{font-size:9.5px;font-weight:800;padding:1px 6px;border-radius:5px;background:rgba(90,169,230,.15);color:var(--blue);letter-spacing:.4px;text-transform:uppercase;vertical-align:1px}
.cc-addline{display:flex;gap:10px;padding:12px 4px 4px}
.cc-addline .cc-inp{flex:1}

.cc-overlay{position:fixed;inset:0;background:rgba(8,7,6,.7);backdrop-filter:blur(3px);z-index:70;display:grid;place-items:start center;padding:34px 14px;overflow:auto}
.cc-modal{width:100%;max-width:640px;background:var(--panel);border:1px solid var(--line2);border-radius:18px;padding:20px 22px 18px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.cc-modal-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cc-modal-hd h3{margin:0;font-size:19px;font-weight:800}
.cc-mx{width:32px;height:32px;border-radius:8px;background:none;border:none;color:var(--muted);cursor:pointer;font-size:15px}
.cc-mx:hover{background:var(--panel2);color:var(--text)}
.cc-mtabs{display:flex;background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:4px;margin-bottom:16px}
.cc-mtabs button{flex:1;padding:9px;border-radius:8px;background:none;border:none;color:var(--muted);font-weight:700;font-size:13.5px;cursor:pointer}
.cc-mtabs button.active{background:var(--panel3);color:var(--text)}
.cc-mpane .fld{margin-bottom:14px}
.cc-mpane .fld > label{display:block;font-size:13px;font-weight:600;margin-bottom:5px}
.cc-mlbl{display:block;font-weight:800;font-size:14px;margin:4px 0 8px}
.cc-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cc-mrule{height:1px;background:var(--line);margin:16px 0}
.cc-tog{display:flex;align-items:center;gap:9px;padding:9px 0;font-weight:600;font-size:14px;cursor:pointer}
.cc-chk{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--text);cursor:pointer}
.cc-brow{display:grid;grid-template-columns:1.4fr 1fr 70px 36px;gap:8px;align-items:center;margin-top:8px}
.cc-brow.cc-bhead{margin-top:12px}
.cc-brow.cc-bhead span{font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);font-weight:700}
.cc-loclist{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;padding:10px;background:var(--panel2);border:1px solid var(--line);border-radius:10px}
.cc-modal-ft{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.cc-btn.danger{background:rgba(224,85,75,.14);border:1px solid rgba(224,85,75,.35);color:var(--red)}
@media(max-width:600px){.cc-two{grid-template-columns:1fr}.cc-loclist{grid-template-columns:1fr}.cc-brow{grid-template-columns:1fr 1fr;grid-auto-rows:auto}}

/* ============ v1.3: templates, drag, settings ============ */
.cc-templink{display:inline-flex;align-items:center;gap:6px;color:var(--orange2);font-weight:600;font-size:13.5px;text-decoration:none;padding:8px 0}
.cc-templink:hover{text-decoration:underline}
.cc-mtask{cursor:default}
.cc-mtask .drag{color:var(--dim);cursor:grab;font-size:15px;user-select:none}
.cc-mtask.dragging{opacity:.5;border-color:var(--orange)}
.cc-setrow{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.cc-setrow:last-child{border-bottom:none}
.cc-setrow b{font-weight:700}
.cc-setrow .rm{margin-left:auto;background:none;border:none;color:var(--red);cursor:pointer;font-size:15px}
.cc-uav{width:30px;height:30px;border-radius:50%;background:var(--panel3);color:var(--muted);display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}
.cc-role{font-size:10px;font-weight:800;padding:2px 8px;border-radius:6px;letter-spacing:.4px;text-transform:uppercase}
.cc-role.admin{background:rgba(24,167,123,.16);color:var(--orange2)}
.cc-role.manager{background:rgba(90,169,230,.14);color:var(--blue)}
.cc-role.member{background:var(--panel3);color:var(--muted)}
/* Settings: forms, user actions, profile */
.cc-formrow{display:flex;gap:10px;align-items:center}
.cc-formrow .cc-inp{flex:1}
#cc-newloc{flex:1;max-width:360px}
.cc-formgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cc-formgrid .cc-inp{width:100%}
.cc-formgrid #cc-adduser{grid-column:1 / -1}
@media(max-width:820px){.cc-formgrid{grid-template-columns:1fr}}
.cc-setrow .ed,.cc-setrow .du{background:none;border:none;cursor:pointer;font-size:15px;padding:4px}
.cc-setrow .du{color:var(--red)}
.cc-useredit .fld,.cc-useredit .cc-two{margin-bottom:12px}
.cc-profile{padding:34px 22px;text-align:center;display:flex;flex-direction:column;align-items:center}
.cc-pav{width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--orange2));color:#fff;display:grid;place-items:center;font-weight:800;font-size:30px;margin-bottom:14px}
.cc-pname{font-size:20px;font-weight:800}
.cc-pdiv{width:100%;max-width:520px;height:1px;background:var(--line);margin:22px 0}
.cc-profile .cc-btn.danger{text-decoration:none;display:inline-flex;align-items:center;gap:8px;padding:11px 22px}
/* Nav logout */
.cc-logout{text-decoration:none;display:inline-flex;align-items:center;gap:6px}
/* Branded login screen */
.cc-login{min-height:calc(100vh - var(--wp-admin--admin-bar--height,0px));display:grid;place-items:center;padding:24px}
.cc-login-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line2);border-radius:18px;padding:30px 28px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.cc-login-word{display:block;height:40px;width:auto;max-width:100%;margin-bottom:20px}
.cc-login-logo{display:block;height:64px;width:auto;max-width:70%;object-fit:contain;margin-bottom:10px}
.cc-login-rest{font-weight:800;font-size:18px;margin-bottom:16px}
.cc-login-brand{font-weight:800;font-size:20px;margin-bottom:18px}
.cc-login-brand .o{color:var(--orange)}
.cc-login-h{margin:0;font-size:22px;font-weight:800}
.cc-login-card .cc-flabel{display:block;margin-bottom:6px}
.cc-remember{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin:14px 0 4px;cursor:pointer}
.cc-remember input{width:16px;height:16px;accent-color:var(--orange)}
.cc-login-err{background:rgba(224,85,75,.12);border:1px solid rgba(224,85,75,.4);color:var(--red);border-radius:9px;padding:9px 12px;font-size:13px;margin:12px 0 0}
.cc-login-card .cc-btn.primary{width:100%;justify-content:center;margin-top:16px;padding:12px}
.cc-login-forgot{display:block;text-align:center;margin-top:14px;color:var(--muted);font-size:13px;text-decoration:none}
.cc-login-forgot:hover{color:var(--orange)}
/* brand marks on home / gate */
.cc-home-word{display:block;height:44px;width:auto;margin-bottom:18px}
.cc-foot-ic{width:56px;height:56px;object-fit:contain;margin:0 auto 6px;display:block}


/* Save progress — secondary CTA, visually distinct from the green Complete Task */
.cc-cta .cc-btn[data-mode="save"]{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 4px 14px rgba(22,50,79,.22)}
.cc-cta .cc-btn[data-mode="save"]:active{transform:translateY(1px);box-shadow:0 2px 8px rgba(22,50,79,.22)}
.cc-shell.cc-dark .cc-cta .cc-btn[data-mode="save"]{background:var(--navy2);border-color:var(--line2);box-shadow:none}

/* ============ v1.29.3: column builder rows (handle, unit, repeats) ============ */
#b-cols .cc-brow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#b-cols .cc-brow .col-label{flex:1 1 120px;min-width:100px}
#b-cols .cc-brow .col-type{flex:0 0 128px}
#b-cols .cc-brow .col-unit{flex:0 0 96px}
#b-cols .cc-brow .cc-chk{flex:0 0 auto;white-space:nowrap;font-size:12.5px}
#b-cols .cc-brow .cc-drag{flex:0 0 auto;font-size:15px;line-height:1}
#b-cols .cc-brow .brow-del{flex:0 0 auto}
#b-cols .cc-brow.cc-dragging{opacity:.45}

/* ============ v1.29.6: schedule rows gain a day column ============ */
.cc-mpane[data-mp="schedule"] .cc-brow{grid-template-columns:1fr 1fr 1fr 1fr 36px}
.cc-mpane[data-mp="schedule"] .s-extra{min-width:0}
.cc-mpane[data-mp="schedule"] .s-extra .cc-inp{width:100%}
@media(max-width:600px){.cc-mpane[data-mp="schedule"] .cc-brow{grid-template-columns:1fr 1fr;grid-auto-rows:auto}}

/* ============ v1.29.8: Comments / Published switch rows ============ */
.cc-switchrow{display:flex;align-items:center;gap:16px;padding:14px 0;cursor:pointer}
.cc-switchrow + .cc-switchrow{border-top:1px solid var(--line)}
.cc-switchrow .cc-swtxt{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.cc-switchrow .cc-swtxt b{font-weight:800;font-size:15px;color:var(--text)}
.cc-switchrow .cc-swhint{font-size:12.5px;color:var(--dim);line-height:1.35}
.cc-switchrow input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.cc-switch{flex:0 0 auto;position:relative;width:46px;height:26px;border-radius:999px;background:var(--line);transition:background .15s ease}
.cc-switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.28);transition:transform .15s ease}
.cc-switchrow input:checked ~ .cc-switch{background:var(--green)}
.cc-switchrow input:checked ~ .cc-switch::after{transform:translateX(20px)}
.cc-switchrow input:focus-visible ~ .cc-switch{outline:2px solid var(--green);outline-offset:2px}

/* The forgot-password control is a button (opens the in-app reset screen), so strip button chrome. */
button.cc-login-forgot{width:100%;background:none;border:0;padding:0;font:inherit;font-size:13px;cursor:pointer}

/* Weekly record grid — the paper-sheet report. */
.cc-wr{overflow-x:auto;padding:0}
.cc-wr table{width:100%;border-collapse:collapse;font-size:13px}
.cc-wr th,.cc-wr td{border:1px solid var(--line);padding:8px 6px;text-align:center}
.cc-wr thead th{background:var(--panel2);font-weight:700;white-space:nowrap}
.cc-wr thead th span{display:block;font-weight:500;font-size:11px;opacity:.7}
.cc-wr th.rl{text-align:left;white-space:nowrap;font-weight:600;background:var(--panel2)}
.cc-wr td.done{background:rgba(24,167,123,.16);font-weight:700}
.cc-wr td.miss{background:rgba(214,69,69,.10)}
.cc-wr td.done i{font-style:normal;color:var(--yellow);margin-left:3px}
.cc-wr td.done.val{line-height:1.15;padding:5px 6px}
.cc-wr td.done.val b{display:block;font-size:14px}
.cc-wr td.done.val small{display:block;font-weight:500;font-size:10px;opacity:.65}
.cc-wr td.done.oor{background:rgba(245,158,11,.28);box-shadow:inset 0 0 0 2px rgba(217,119,6,.75)}
.cc-wr td.done.oor b{color:#b45309}
.cc-fin.cc-oor{background:rgba(245,158,11,.18)!important;border-color:#d97706!important;color:#92400e;font-weight:700}

/* Waste report extras. */
.cc-wr th.rl.sec{background:var(--panel3);text-transform:uppercase;font-size:11px;letter-spacing:.04em;text-align:left}
.cc-waste td{font-variant-numeric:tabular-nums}
.cc-waste td.grand{background:rgba(24,167,123,.18);font-weight:800}
/* Waste entry grid (task detail): manager types quantities, cost is live. */
.cc-wg td,.cc-wg th{font-variant-numeric:tabular-nums}
.cc-wg .cc-wg-sec th{text-align:left;font-weight:800;font-size:11px;letter-spacing:.05em;text-transform:uppercase;background:rgba(24,167,123,.10)}
.cc-wg .cc-wg-qty{width:84px;text-align:center;font-weight:700}
.cc-wg .cc-wg-price{opacity:.7}
.cc-wg tr.has th.rl{font-weight:800}
.cc-wg tr.has .cc-wg-line{font-weight:700}
.cc-wg .cc-wg-total th,.cc-wg .cc-wg-total td{font-weight:800;border-top:2px solid rgba(24,167,123,.45)}
.cc-wr .w-sec,.cc-wr .w-lab,.cc-wr .w-price{width:100%;min-width:90px}
