/* LBN System — stylesheet (diekstrak dari index.html V61, tidak diubah isinya) */

*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:#f4f6f8;color:#172033}.top{height:72px;background:#101827;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.brand{font-weight:800;font-size:19px}.brand span{color:#e2b84a}.brand small{font-weight:700;color:#aeb9c8;margin-left:6px}.userbox{display:flex;align-items:center;gap:12px}.user-email{font-size:13px}.user-role{font-size:11px;color:#aeb9c8;text-align:right}.client-userbox{display:flex;align-items:center;gap:12px}.client-logout{padding:8px 11px;border:1px solid #334155;background:#182235;color:#fff;border-radius:9px;font-size:11px;font-weight:800}.client-logout:hover{background:#243149}.client-logout-static{display:none;padding:8px 12px;border:1px solid #334155;background:#182235;color:#fff;border-radius:9px;font-size:11px;font-weight:800}.client-logout-static:hover{background:#243149}.client-mode .client-logout-static{display:inline-flex}button{border:0;border-radius:9px;padding:10px 14px;background:#101827;color:#fff;cursor:pointer;font-weight:750}button:hover{opacity:.92}button.secondary{background:#eef1f5;color:#243044}button.danger{background:#fee2e2;color:#991b1b}input,select,textarea{padding:11px 12px;border:1px solid #d7dde6;border-radius:9px;background:#fff;font:inherit;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:#718096;box-shadow:0 0 0 3px #10182712}textarea{min-height:90px;resize:vertical}main{display:grid;grid-template-columns:235px 1fr;min-height:calc(100vh - 72px)}aside{background:#fff;border-right:1px solid #e5e9ef;padding:18px 14px;display:flex;flex-direction:column;gap:6px}aside button{background:transparent;color:#394456;text-align:left;width:100%;padding:12px 14px}aside button.active{background:#edf1f6;color:#111827;font-weight:850}aside #logout{margin-top:auto;color:#b42318}#content{padding:30px;max-width:1550px;width:100%;margin:auto}h1{font-size:30px;margin:0 0 5px;letter-spacing:-.4px}h2{margin:0 0 4px}h3{margin:0}.muted,.subhead{color:#667085}.subhead{font-size:14px;margin:0}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.stat,.panel{background:#fff;border:1px solid #e4e8ee;border-radius:15px;box-shadow:0 2px 8px #10182708}.stat{padding:19px}.stat .label{font-size:13px;color:#667085}.stat .value{font-size:24px;font-weight:850;margin-top:8px}.panel{padding:20px}.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:20px 0 14px}.toolbar-left,.toolbar-right{display:flex;gap:10px;align-items:center}.tablewrap{overflow:auto}.table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}.table th,.table td{padding:13px 11px;border-bottom:1px solid #edf0f3;text-align:left;vertical-align:middle}.table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#667085;background:#fafbfc}.table tr:hover td{background:#fbfcfe}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef1f5;font-size:11px;font-weight:800}.badge.blue{background:#e6f0ff;color:#1d4ed8}.badge.yellow{background:#fff4cc;color:#92400e}.badge.green{background:#dcfce7;color:#166534}.badge.red{background:#fee2e2;color:#991b1b}.badge.gray{background:#eef1f5;color:#475467}.empty{padding:36px;text-align:center;color:#8a94a3}.msg{margin-top:12px;color:#b42318;background:#fff1f0;border:1px solid #ffd7d2;padding:11px;border-radius:9px}.ok{margin-top:12px;color:#067647;background:#ecfdf3;border:1px solid #abefc6;padding:11px;border-radius:9px}.modal{position:fixed;inset:0;background:#0b1220a8;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal .card{width:min(820px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:17px;padding:24px;box-shadow:0 20px 70px #0004}.modalhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.close{background:#eef1f5;color:#475467;border-radius:50%;width:36px;height:36px;padding:0;font-size:22px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.formgrid label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:800;color:#344054}.full{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:5px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi-box{background:#f8fafc;border:1px solid #e5e9ef;border-radius:11px;padding:13px}.kpi-box .klabel{font-size:11px;color:#667085}.kpi-box .kvalue{font-size:18px;font-weight:850;margin-top:4px}.readonly{background:#f8fafc}.pipeline-wrap{overflow-x:auto;padding-bottom:6px}.pipeline{display:grid;grid-template-columns:repeat(6,minmax(220px,1fr));gap:12px;min-width:1380px}.stage{background:#f8fafc;border:1px solid #e2e7ee;border-radius:14px;min-height:370px;padding:12px}.stage-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.stage-title{font-size:13px;font-weight:850}.stage-count{min-width:25px;height:25px;display:flex;align-items:center;justify-content:center;background:#111827;color:#fff;border-radius:50%;font-size:11px}.lead-card{background:#fff;border:1px solid #e3e8ef;border-radius:11px;padding:12px;margin-bottom:9px;cursor:pointer;box-shadow:0 1px 3px #10182708}.lead-card:hover{box-shadow:0 4px 12px #10182712}.lead-name{font-size:14px;font-weight:850}.lead-need{font-size:12px;color:#475467;margin:4px 0 9px}.lead-value{font-size:12px;font-weight:800}.lead-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.lead-meta span{font-size:10px;color:#667085}.funnel{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.funnel-box{padding:16px;border-radius:13px;background:#f8fafc;border:1px solid #e4e8ee}.funnel-box .num{font-size:26px;font-weight:900;margin-top:7px}.search{max-width:380px}.login{max-width:520px;margin:80px auto}.login form{display:flex;gap:10px;flex-wrap:wrap}.login input{flex:1;min-width:190px}.login-error{color:#b42318;margin-top:10px}.section-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#667085;font-weight:850;margin:4px 0 10px}
@media(max-width:1050px){main{grid-template-columns:1fr}aside{position:sticky;top:72px;z-index:15;flex-direction:row;overflow-x:auto;white-space:nowrap;padding:9px}aside button{flex:0 0 auto;width:auto}aside #logout{margin-top:0;margin-left:auto}#content{padding:20px}.grid,.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.top{padding:12px 14px;height:auto;min-height:68px}.brand{font-size:15px}.user-email{max-width:150px;overflow:hidden;text-overflow:ellipsis}.grid,.formgrid,.kpi-grid,.funnel{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar-left,.toolbar-right{width:100%;flex-wrap:wrap}.search{max-width:none}.panel,.stat{padding:15px}h1{font-size:26px}.modal{padding:10px}.modal .card{padding:17px}.table{min-width:900px}}
#main[hidden],#login[hidden]{display:none!important}
.client-project-cover{width:210px;height:150px;overflow:hidden;border-radius:14px;flex:0 0 210px;background:#f2f4f7}.client-project-cover img{width:100%;height:100%;object-fit:contain;display:block;background:#f2f4f7}.portal-main-photo{margin:12px 0;border-radius:14px;overflow:hidden;background:#f2f4f7}.portal-main-photo img{width:100%;max-height:520px;object-fit:contain;display:block;cursor:pointer;background:#f2f4f7}.portal-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.portal-photo-grid img{width:100%;height:110px;object-fit:cover;border-radius:10px;display:block;cursor:pointer}.latest-update-card{padding:14px;border:1px solid #edf0f3;border-radius:14px;background:#fff}.latest-update-card .date{font-size:11px;color:#98a2b3;margin-bottom:7px}.latest-update-progress{margin-top:8px;color:#667085;font-size:12px}.owner-cover-preview{display:flex;gap:14px;align-items:center;padding:12px;border:1px solid #edf0f3;border-radius:14px}.owner-cover-preview img{width:180px;height:110px;object-fit:cover;border-radius:10px}.owner-cover-preview small{display:block;color:#98a2b3;margin-top:4px}@media(max-width:700px){.client-project-cover{width:100%;height:190px;flex-basis:auto}.portal-photo-grid{grid-template-columns:repeat(2,1fr)}.portal-photo-grid img{height:120px}.owner-cover-preview{flex-direction:column;align-items:flex-start}.owner-cover-preview img{width:100%;height:180px}}
.schedule-file-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px;border:1px solid #dfe3ea;border-radius:14px;background:#f8fafc}.schedule-selected{min-height:22px;color:#8a94a3;font-size:14px;word-break:break-word}.schedule-selected.selected{color:#1d2939;font-weight:600}
/* ===== V48 CLIENT PORTAL PREMIUM — VISUAL ONLY ===== */
body.client-portal-view #content{max-width:1440px;margin:0 auto;padding:26px 34px 60px}
body.client-portal-view #content>.page-head{padding:10px 4px 6px}
body.client-portal-view #content>.page-head h1{font-size:42px;letter-spacing:-.04em;margin:8px 0 8px}
body.client-portal-view #content>.page-head .subhead{max-width:850px;color:#667085;line-height:1.55}
body.client-portal-view #content .client-project{border:1px solid #e7ebee;border-radius:28px;background:#fff;box-shadow:0 18px 55px rgba(16,24,40,.065);overflow:hidden;margin-top:26px}
body.client-portal-view #content .client-project-head{padding:30px 32px;gap:30px;align-items:center}
body.client-portal-view #content .client-project-head .client-project-cover{width:320px;height:215px;flex:0 0 320px;border-radius:18px;overflow:hidden;background:#f4f6f5;box-shadow:0 8px 24px rgba(16,24,40,.08)}
body.client-portal-view #content .client-project-head .client-project-cover img{width:100%;height:100%;object-fit:cover}
body.client-portal-view #content .client-project-head h2{font-size:31px;letter-spacing:-.03em;margin:6px 0}
body.client-portal-view #content .client-project-head .muted{color:#667085}
body.client-portal-view #content .client-progress-hero{margin:0 30px 28px;padding:29px 30px;border:1px solid #e6ece9;border-radius:22px;background:linear-gradient(180deg,#fbfdfc,#fff)}
body.client-portal-view #content .progress-hero-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
body.client-portal-view #content .progress-hero-label{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800;color:#667085}
body.client-portal-view #content .progress-hero-title{font-size:18px;color:#344054;margin-top:5px}
body.client-portal-view #content .progress-hero-number{font-size:58px;line-height:.95;font-weight:800;letter-spacing:-.05em;color:#23845d}
body.client-portal-view #content .progress-hero-bar{height:11px;background:#e9efec;border-radius:999px;overflow:hidden;margin:23px 0 20px}
body.client-portal-view #content .progress-hero-bar span{display:block;height:100%;border-radius:999px;background:#23845d}
body.client-portal-view #content .progress-hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
body.client-portal-view #content .mini-stat{border:1px solid #edf0f2;border-radius:15px;padding:14px 16px;background:#fff}
body.client-portal-view #content .mini-stat span{display:block;font-size:11px;color:#98a2b3;margin-bottom:6px}
body.client-portal-view #content .mini-stat b{font-size:17px}
body.client-portal-view #content .client-progress-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:20px;margin:0 30px 22px}
body.client-portal-view #content .client-section-card{border:1px solid #e7ebee;border-radius:22px;background:#fff;padding:23px;box-shadow:0 8px 28px rgba(16,24,40,.035)}
body.client-portal-view #content .client-section-head h3{font-size:20px;letter-spacing:-.02em;margin-bottom:5px}
body.client-portal-view #content .client-section-head p{font-size:13px;color:#98a2b3;line-height:1.5;margin-bottom:16px}
body.client-portal-view #content .work-stage{padding:15px 0;border-bottom:1px solid #edf0f2}
body.client-portal-view #content .work-stage:last-child{border-bottom:0}
body.client-portal-view #content .stage-name{font-weight:650}
body.client-portal-view #content .stage-note{font-size:12px}
body.client-portal-view #content .latest-update-card{padding:0;border:0;background:#f7faf8;border-radius:17px;overflow:hidden}
body.client-portal-view #content .portal-main-photo{margin:0 0 17px;border-radius:17px;overflow:hidden;background:#edf2ef}
body.client-portal-view #content .portal-main-photo img{display:block;width:100%;max-height:390px;object-fit:cover}
body.client-portal-view #content .latest-update-card .date,
body.client-portal-view #content .latest-update-card h4,
body.client-portal-view #content .latest-update-card p,
body.client-portal-view #content .latest-update-card .latest-update-progress{margin-left:17px;margin-right:17px}
body.client-portal-view #content .latest-update-card .date{padding-top:0;color:#98a2b3}
body.client-portal-view #content .latest-update-card h4{font-size:20px;margin-top:6px;margin-bottom:7px}
body.client-portal-view #content .latest-update-card p{font-size:13px;line-height:1.6;color:#667085}
body.client-portal-view #content .portal-photo-grid{padding:0 17px 17px;grid-template-columns:repeat(3,1fr);gap:7px}
body.client-portal-view #content .portal-photo-grid img{height:82px;border-radius:10px;object-fit:cover}
body.client-portal-view #content .client-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 30px 22px}
body.client-portal-view #content .client-grid>.panel,
body.client-portal-view #content .client-schedule{border:1px solid #e7ebee;border-radius:22px;box-shadow:0 8px 28px rgba(16,24,40,.035);padding:23px}
body.client-portal-view #content .client-schedule{margin:0 30px 22px}
body.client-portal-view #content .client-grid h3,
body.client-portal-view #content .client-schedule h3{font-size:19px;letter-spacing:-.02em}
body.client-portal-view #content .client-portal-footer-note{margin:26px 30px 4px;text-align:center;color:#98a2b3;font-size:11px}
body.client-portal-view #content .client-alert{margin:0 30px 22px;border:1px solid #f1dfaa;background:#fffbeb;border-radius:15px;padding:14px 17px;display:flex;justify-content:space-between;gap:15px;color:#7a5b00}
@media(max-width:950px){
 body.client-portal-view #content{padding:20px 16px 50px}
 body.client-portal-view #content>.page-head h1{font-size:34px}
 body.client-portal-view #content .client-project-head{display:grid;grid-template-columns:1fr}
 body.client-portal-view #content .client-project-head .client-project-cover{width:100%;height:260px;flex-basis:auto}
 body.client-portal-view #content .client-progress-layout{grid-template-columns:1fr}
 body.client-portal-view #content .client-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
 body.client-portal-view #content .client-progress-hero{margin:0 14px 16px;padding:21px}
 body.client-portal-view #content .progress-hero-number{font-size:48px}
 body.client-portal-view #content .progress-hero-meta{grid-template-columns:1fr}
 body.client-portal-view #content .client-progress-layout,
 body.client-portal-view #content .client-grid,
 body.client-portal-view #content .client-schedule{margin-left:14px;margin-right:14px}
 body.client-portal-view #content .client-section-card,
 body.client-portal-view #content .client-grid>.panel,
 body.client-portal-view #content .client-schedule{padding:18px}
 body.client-portal-view #content .client-project-head{padding:20px}
 body.client-portal-view #content .client-project-head .client-project-cover{height:220px}
 body.client-portal-view #content .progress-hero-top{align-items:flex-start;flex-direction:column}
 body.client-portal-view #content .progress-hero-number{align-self:flex-end}
 body.client-portal-view #content .client-alert{margin-left:14px;margin-right:14px;flex-direction:column}
}

/* ===== V49 CLIENT PORTAL POLISH — VISUAL ONLY ===== */
body.client-portal-view #content .client-project-head{padding:26px 30px;min-height:250px}
body.client-portal-view #content .client-project-head .client-project-cover{
  width:360px;height:225px;flex:0 0 360px;aspect-ratio:16/10;
  border-radius:18px;background:#f4f6f5;box-shadow:0 8px 24px rgba(16,24,40,.08)
}
body.client-portal-view #content .client-project-head .client-project-cover img{
  width:100%;height:100%;object-fit:contain;background:#f4f6f5
}
body.client-portal-view #content .client-project-head h2{font-size:30px;margin:5px 0 7px}
body.client-portal-view #content .client-project-head .project-meta-block{padding-left:8px}
body.client-portal-view #content .client-progress-hero{
  margin:0 30px 24px;padding:26px 28px;border-radius:20px
}
body.client-portal-view #content .progress-hero-number{font-size:54px}
body.client-portal-view #content .progress-hero-bar{height:9px;margin:20px 0 18px}
body.client-portal-view #content .client-progress-layout{gap:18px;margin:0 30px 20px}
body.client-portal-view #content .client-section-card{padding:22px;border-radius:20px}
body.client-portal-view #content .client-section-head h3{font-size:19px}
body.client-portal-view #content .client-section-head p{margin-bottom:13px}
body.client-portal-view #content .latest-update-card{
  background:#f7faf8;border-radius:16px
}
body.client-portal-view #content .portal-main-photo{
  margin:0 0 13px;border-radius:15px
}
body.client-portal-view #content .portal-main-photo img{
  width:100%;height:260px;max-height:260px;object-fit:cover
}
body.client-portal-view #content .latest-update-card .date{
  font-size:11px;padding-top:0
}
body.client-portal-view #content .latest-update-card h4{font-size:19px}
body.client-portal-view #content .latest-update-card p{font-size:13px;margin-bottom:9px}
body.client-portal-view #content .latest-update-card .latest-update-progress{
  font-size:12px;margin-bottom:13px
}
body.client-portal-view #content .latest-update-card .portal-photo-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:0 16px 16px
}
body.client-portal-view #content .latest-update-card .portal-photo-grid img{
  width:100%;height:105px;object-fit:cover;border-radius:11px
}
body.client-portal-view #content .client-grid{gap:18px;margin:0 30px 20px}
body.client-portal-view #content .client-grid>.panel,
body.client-portal-view #content .client-schedule{border-radius:20px;padding:21px}
body.client-portal-view #content .client-schedule{margin:0 30px 20px}
body.client-portal-view #content .client-portal-footer-note{margin-top:22px}
@media(max-width:950px){
 body.client-portal-view #content .client-project-head{min-height:0}
 body.client-portal-view #content .client-project-head .client-project-cover{
   width:100%;height:auto;aspect-ratio:16/10;flex-basis:auto
 }
}
@media(max-width:600px){
 body.client-portal-view #content .client-project-head .client-project-cover{
   width:100%;height:auto;aspect-ratio:16/10
 }
 body.client-portal-view #content .portal-main-photo img{height:230px;max-height:230px}
 body.client-portal-view #content .latest-update-card .portal-photo-grid img{height:115px}
}

/* ===== V50 MOCKUP MATCH — CLIENT PORTAL VISUAL ONLY ===== */
body.client-portal-view #content .client-project-head{
  padding:22px 30px 24px;
  min-height:0;
  align-items:center;
}
body.client-portal-view #content .client-project-head .client-project-cover{
  width:300px;
  height:230px;
  flex:0 0 300px;
  aspect-ratio:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:18px;
  background:#f7f8f8;
  box-shadow:none;
}
body.client-portal-view #content .client-project-head .client-project-cover img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#f7f8f8;
}
body.client-portal-view #content .client-project-head h2{
  font-size:30px;
  letter-spacing:-.035em;
  margin:3px 0 5px;
}
body.client-portal-view #content .client-project-head .muted{
  font-size:16px;
}
body.client-portal-view #content .client-progress-hero{
  margin:0 30px 22px;
  padding:24px 28px;
  border-radius:20px;
}
body.client-portal-view #content .progress-hero-top{
  align-items:center;
}
body.client-portal-view #content .progress-hero-number{
  font-size:52px;
}
body.client-portal-view #content .progress-hero-bar{
  height:9px;
  margin:18px 0 16px;
}
body.client-portal-view #content .client-progress-layout{
  margin:0 30px 18px;
  gap:18px;
}
body.client-portal-view #content .client-section-card{
  padding:21px;
  border-radius:20px;
}
body.client-portal-view #content .client-section-head h3{
  margin-bottom:4px;
}
body.client-portal-view #content .client-section-head p{
  margin-bottom:12px;
}
body.client-portal-view #content .work-stage{
  padding:14px 0;
}
body.client-portal-view #content .latest-update-card{
  border-radius:16px;
}
body.client-portal-view #content .portal-main-photo{
  margin-bottom:12px;
  border-radius:15px;
}
body.client-portal-view #content .portal-main-photo img{
  height:250px;
  max-height:250px;
  object-fit:cover;
}
body.client-portal-view #content .latest-update-card h4{
  margin-top:5px;
  margin-bottom:6px;
  font-size:19px;
}
body.client-portal-view #content .latest-update-card p{
  margin-bottom:8px;
}
body.client-portal-view #content .latest-update-card .portal-photo-grid img{
  height:100px;
}
@media(max-width:950px){
  body.client-portal-view #content .client-project-head .client-project-cover{
    width:100%;
    height:260px;
    flex-basis:auto;
  }
}
@media(max-width:600px){
  body.client-portal-view #content .client-project-head{
    padding:18px;
  }
  body.client-portal-view #content .client-project-head .client-project-cover{
    height:230px;
  }
  body.client-portal-view #content .progress-hero-number{
    font-size:48px;
  }
  body.client-portal-view #content .portal-main-photo img{
    height:225px;
    max-height:225px;
  }
}


/* LBN V61 — polished Field Portal */
.field-portal-view{background:#f6f8fb}.field-portal-view #content{max-width:1180px}.field-portal-view .field-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}.field-portal-view .field-kicker{font-size:11px;letter-spacing:.18em;font-weight:800;color:#7b8794;text-transform:uppercase}.field-portal-view .field-hero h1{font-size:34px;letter-spacing:-1px;margin:6px 0 7px;color:#142033}.field-portal-view .field-hero p{margin:0;color:#667085}.field-portal-view .field-status{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #dfe7e3;background:#fff;border-radius:999px;font-size:11px;font-weight:700;color:#344054;box-shadow:0 5px 18px rgba(16,24,40,.04)}.field-portal-view .field-status i{width:8px;height:8px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 4px #e9f8ef}.field-portal-view .field-project-list{display:grid;gap:16px}.field-portal-view .field-project-card{background:#fff;border:1px solid #e4e9ef;border-radius:22px;padding:22px 24px;box-shadow:0 10px 30px rgba(16,24,40,.05);transition:transform .15s ease,box-shadow .15s ease}.field-portal-view .field-project-card:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(16,24,40,.08)}.field-portal-view .field-project-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.field-portal-view .field-project-title{display:flex;gap:13px;align-items:flex-start}.field-portal-view .field-project-icon{width:42px;height:42px;border-radius:13px;background:#eef4ff;color:#356fe8;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;flex:0 0 42px}.field-portal-view .field-project-title h3{margin:0;font-size:18px;color:#172033}.field-portal-view .field-project-title p{margin:5px 0 0;color:#7b8794;font-size:12px}.field-portal-view .field-update-btn{border:1px solid #dce3ea;background:#172033;color:#fff;border-radius:11px;padding:10px 14px;font-weight:800;font-size:12px;cursor:pointer;white-space:nowrap;box-shadow:0 5px 12px rgba(23,32,51,.12)}.field-portal-view .field-update-btn:active{transform:translateY(1px)}.field-portal-view .field-progress-meta{display:flex;justify-content:space-between;align-items:center;margin-top:20px;margin-bottom:8px}.field-portal-view .field-progress-label{font-size:11px;font-weight:800;color:#667085;text-transform:uppercase;letter-spacing:.08em}.field-portal-view .field-progress-value{font-size:18px;font-weight:900;color:#18794e}.field-portal-view .progress-track{height:11px;background:#edf1f4;border-radius:99px;overflow:hidden}.field-portal-view .progress-track span{display:block;height:100%;background:linear-gradient(90deg,#18794e,#2eae73);border-radius:99px}.field-portal-view .field-progress-foot{display:flex;justify-content:space-between;margin-top:9px;font-size:10px;color:#98a2b3}.field-portal-view .field-modal{position:fixed;inset:0;background:rgba(15,23,42,.52);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}.field-portal-view .field-modal[hidden]{display:none}.field-portal-view .field-modal-card{background:#fff;border:1px solid #e7ecf1;border-radius:22px;width:min(700px,100%);max-height:92vh;overflow:auto;box-shadow:0 28px 80px rgba(15,23,42,.25)}.field-portal-view .field-modal-head{padding:20px 22px 16px;border-bottom:1px solid #edf0f3;display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.field-portal-view .field-modal-head h3{margin:4px 0 0;font-size:20px;color:#172033}.field-portal-view .field-modal-body{padding:20px 22px 22px}.field-portal-view .field-close{border:1px solid #e1e6eb;background:#fff;border-radius:10px;width:34px;height:34px;font-size:20px;color:#667085;cursor:pointer}.field-portal-view .field-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-portal-view .field-form-grid label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:800;color:#475467}.field-portal-view .field-form-grid .full{grid-column:1/-1}.field-portal-view .field-form-grid input,.field-portal-view .field-form-grid select,.field-portal-view .field-form-grid textarea{font:inherit;font-size:13px;font-weight:500;color:#172033;background:#fff;border:1px solid #dfe5eb;border-radius:11px;padding:11px 12px;outline:none}.field-portal-view .field-form-grid input:focus,.field-portal-view .field-form-grid select:focus,.field-portal-view .field-form-grid textarea:focus{border-color:#8bb4ff;box-shadow:0 0 0 3px #edf4ff}.field-portal-view .field-form-hint{font-size:10px;color:#98a2b3;font-weight:500}.field-portal-view .field-form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:4px}.field-portal-view .field-form-actions button{border-radius:10px;padding:10px 14px;font-size:12px;font-weight:800;cursor:pointer}.field-portal-view .field-btn-secondary{border:1px solid #dfe5eb;background:#fff;color:#475467}.field-portal-view .field-btn-primary{border:1px solid #172033;background:#172033;color:#fff}.field-portal-view .field-msg{font-size:11px;margin-top:4px}.field-portal-view .field-photo-box{border:1px dashed #cfd8e3;background:#f9fbfc;border-radius:12px;padding:12px}.field-portal-view .field-photo-box input{border:0;padding:0;background:transparent}.field-portal-view .field-current-progress{padding:11px 12px;border-radius:11px;background:#f2f8f4;border:1px solid #d9eee1;color:#18794e;font-size:11px;font-weight:800;margin-bottom:14px}@media(max-width:700px){.field-portal-view .field-hero{align-items:flex-start;flex-direction:column}.field-portal-view .field-hero h1{font-size:29px}.field-portal-view .field-project-card{padding:18px}.field-portal-view .field-project-head{flex-direction:column}.field-portal-view .field-update-btn{width:100%}.field-portal-view .field-form-grid{grid-template-columns:1fr}.field-portal-view .field-form-grid .full{grid-column:auto}.field-portal-view .field-modal{padding:8px}.field-portal-view .field-modal-card{border-radius:18px}}

.dash-head{margin-bottom:20px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;opacity:.6}.dash-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dash-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:20px;box-shadow:0 5px 18px rgba(0,0,0,.04)}.dash-card span{display:block;font-size:12px;opacity:.65}.dash-card strong{display:block;font-size:25px;margin:7px 0}.dash-card small{opacity:.55}.dash-panels{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin-top:14px}.dash-panel{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:20px}.panel-title{font-weight:750;margin-bottom:14px}.funnel-row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #eee}.funnel-row:last-child{border-bottom:0}.project-mini{display:flex;align-items:baseline;gap:12px;padding:15px 0;border-bottom:1px solid #eee}.project-mini b{font-size:25px}.pipeline-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-bottom:8px}.pipeline-col{background:linear-gradient(180deg,#f8fafc 0%,#f5f7fa 100%);border:1px solid #e5e7eb;border-radius:16px;padding:12px;min-height:240px}.pipeline-head{display:flex;justify-content:space-between;align-items:flex-start;padding:5px 4px 13px}.pipeline-list{display:flex;flex-direction:column;gap:9px}.pipeline-card{background:#fff;border:1px solid #e7ebf0;border-radius:13px;padding:12px;box-shadow:0 3px 12px rgba(15,23,40,.035);transition:transform .15s ease,box-shadow .15s ease}.pipeline-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(15,23,40,.07)}.pc-name{font-weight:750}.pc-phone,.pc-need{font-size:12px;opacity:.65;margin-top:4px}.pc-value{font-size:13px;font-weight:700;margin-top:8px}.pc-actions{display:flex;gap:6px;margin-top:10px}.pc-actions button{font-size:11px;padding:6px 9px}.pipeline-col.closing-stage{background:linear-gradient(180deg,#f8fffb 0%,#f4fbf7 100%);border-color:#d8eee1}.pipeline-col.closing-stage .pipeline-head b,.pipeline-col.closing-stage .pipeline-head .muted{color:#18794e!important}.closed-lost-panel{margin-top:16px;background:#fff;border:1px solid #e7ebf0;border-radius:16px;padding:16px 18px;box-shadow:0 3px 12px rgba(15,23,40,.035)}.closed-lost-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.closed-lost-title{display:flex;align-items:center;gap:10px}.closed-lost-dot{width:9px;height:9px;border-radius:50%;background:#98a2b3}.closed-lost-stats{display:flex;gap:22px;flex-wrap:wrap}.closed-lost-stat span{display:block;font-size:10px;color:#98a2b3;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.closed-lost-stat strong{display:block;margin-top:3px;font-size:16px;color:#344054}.closed-lost-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.lost-preview{padding:10px 11px;border:1px solid #eef0f3;border-radius:11px;background:#fafbfc}.lost-preview b{font-size:12px}.lost-preview small{display:block;margin-top:3px;color:#98a2b3}@media(max-width:900px){.pipeline-board{grid-template-columns:repeat(2,minmax(0,1fr))}.closed-lost-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.pipeline-board{grid-template-columns:1fr}.closed-lost-head{align-items:flex-start;flex-direction:column}.closed-lost-list{grid-template-columns:1fr}}.pipeline-col{background:#f7f8fa;border:1px solid #e5e7eb;border-radius:14px;padding:10px;min-height:240px}.pipeline-head{display:flex;justify-content:space-between;padding:6px 4px 12px}.pipeline-list{display:flex;flex-direction:column;gap:9px}.pipeline-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px;box-shadow:0 3px 10px rgba(0,0,0,.04)}.pc-name{font-weight:750}.pc-phone,.pc-need{font-size:12px;opacity:.65;margin-top:4px}.pc-value{font-size:13px;font-weight:700;margin-top:8px}.pc-actions{display:flex;gap:6px;margin-top:10px}.pc-actions button{font-size:11px;padding:6px 9px}.danger{background:#fff0f0!important;color:#b42318!important;border-color:#fecdca!important}@media(max-width:900px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-panels{grid-template-columns:1fr}.pipeline-board{grid-template-columns:repeat(6,220px)}}@media(max-width:520px){.dash-grid{grid-template-columns:1fr 1fr}.dash-card strong{font-size:20px}}
#main[hidden],#login[hidden]{display:none!important}

.client-project{background:#fff;border:1px solid #e4e8ee;border-radius:18px;padding:22px;margin-bottom:16px;box-shadow:0 5px 18px rgba(16,24,40,.04)}.client-project-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.client-progress-row{margin-top:22px}.client-progress-row>div:first-child{display:flex;justify-content:space-between;align-items:center}.client-progress-row strong{font-size:28px}.client-progress-bar{height:11px;background:#eef1f5;border-radius:999px;overflow:hidden;margin-top:9px}.client-progress-bar span{display:block;height:100%;background:#18794e;border-radius:999px}.client-meta{display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;color:#667085;font-size:12px}.client-meta b{color:#344054}.client-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.client-list{margin-top:12px}.client-milestone{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf0f3}.client-milestone small{display:block;color:#98a2b3;margin-top:3px}.client-ms-right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.client-alert{margin-top:18px;padding:13px 15px;background:#fff8e6;border:1px solid #f2d58a;border-radius:12px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.client-update{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #edf0f3}.client-update-date{font-size:11px;color:#98a2b3}.client-update p{margin:5px 0;color:#667085;font-size:12px;line-height:1.5}.client-update small{color:#667085}@media(max-width:800px){.client-grid{grid-template-columns:1fr}}@media(max-width:520px){.client-project{padding:16px}.client-project-head{flex-direction:column}.client-update{grid-template-columns:1fr;gap:4px}}

.project-stage-panel{margin-bottom:16px}.project-stage-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0 16px}.project-stage-current{font-size:18px;font-weight:800;color:#101828}.project-stage-caption{font-size:11px;color:#98a2b3;margin-top:4px}.admin-stage-list{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.admin-stage{position:relative;padding:12px 10px;border:1px solid #e7ebf0;border-radius:11px;background:#fafbfc}.admin-stage.done{border-color:#b7e4ca;background:#f2fbf5}.admin-stage.active{border-color:#6bc58e;background:#f0faf4;box-shadow:0 0 0 2px #e2f5e9}.admin-stage .num{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;background:#e4e7ec;color:#667085;font-size:10px;font-weight:800;margin-bottom:7px}.admin-stage.done .num{background:#12b76a;color:#fff}.admin-stage.active .num{background:#18794e;color:#fff}.admin-stage .name{display:block;font-size:11px;font-weight:800;color:#344054;line-height:1.35}.admin-stage .note{display:block;margin-top:5px;font-size:9px;color:#98a2b3}.admin-stage.active .note{color:#18794e;font-weight:700}@media(max-width:800px){.admin-stage-list{grid-template-columns:repeat(2,1fr)}}
.project-detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.detail-progress{height:9px;background:#eef1f5;border-radius:999px;overflow:hidden;margin-top:12px}.detail-progress span{display:block;height:100%;background:#18794e}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-list{margin-top:12px}.milestone-row,.update-row{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #edf0f3}.milestone-row small,.update-row small{display:block;color:#98a2b3;margin-top:4px}.update-row p{margin:6px 0 0;color:#667085;font-size:12px;line-height:1.5}.icon-btn{border:1px solid #d9dee7;background:#fff;border-radius:8px;padding:6px 9px;font-size:11px;cursor:pointer}.back-link{border:0;background:none;padding:0;margin-bottom:12px;font-size:12px;color:#667085;cursor:pointer}.modal{position:fixed;inset:0;background:rgba(15,23,42,.38);display:flex;align-items:center;justify-content:center;padding:18px;z-index:1000}.modal[hidden]{display:none}.modal-card{background:#fff;border-radius:16px;max-width:650px;width:100%;max-height:90vh;overflow:auto;padding:22px}@media(max-width:800px){.project-detail-stats,.detail-grid{grid-template-columns:1fr}}

.time-schedule-card{margin-top:16px}.schedule-latest{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0}.schedule-file{display:flex;align-items:center;gap:10px}.schedule-icon{width:36px;height:36px;border-radius:10px;background:#fef2f2;color:#b42318;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px}.schedule-revision{font-size:11px;color:#667085}.schedule-history{margin-top:8px;border-top:1px solid #edf0f3}.schedule-history-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f3}.schedule-history-row small{color:#98a2b3;display:block;margin-top:3px}.schedule-empty{padding:16px 0;color:#98a2b3}.client-schedule{margin-top:18px}.client-schedule .schedule-history-row{padding:12px 0}.schedule-actions{display:flex;gap:7px;flex-wrap:wrap}.schedule-help{font-size:11px;color:#98a2b3;margin-top:6px}@media(max-width:650px){.schedule-latest,.schedule-history-row{align-items:flex-start;flex-direction:column}.schedule-actions{width:100%}}

.upload-status{padding:10px 12px;border-radius:10px;background:#f2f4f7;color:#475467;font-size:12px}.upload-success{padding:10px 12px;border-radius:10px;background:#ecfdf3;color:#067647;font-size:12px}.schedule-help{font-size:11px;color:#98a2b3}.pdf-viewer-modal{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:2000;display:flex;align-items:center;justify-content:center;padding:12px}.pdf-viewer-modal[hidden]{display:none}.pdf-viewer-card{background:#fff;border-radius:16px;width:min(100%,980px);height:min(92vh,900px);display:flex;flex-direction:column;overflow:hidden}.pdf-viewer-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #e5e7eb;gap:8px}.pdf-viewer-actions{display:flex;gap:8px;align-items:center}.pdf-viewer-frame{border:0;flex:1;width:100%;background:#f2f4f7}.pdf-viewer-note{font-size:11px;color:#98a2b3;padding:8px 12px;border-top:1px solid #eef0f3}@media(max-width:600px){.pdf-viewer-card{height:96vh;border-radius:10px}.pdf-viewer-head{align-items:flex-start}.pdf-viewer-actions .soft-action{display:none}}

/* V19 clarity pass: softer surfaces + unmistakable closing state */
.hero-stat.closing-stat{border-top:3px solid #22a06b;background:linear-gradient(180deg,#ffffff 0%,#fbfffc 100%)}
.hero-stat.closing-stat strong{color:#18794e}
.hero-stat.revenue-stat{border-top:3px solid #22a06b;background:linear-gradient(180deg,#ffffff 0%,#f8fffb 100%)}
.hero-stat.revenue-stat strong{color:#18794e}
.summary-card{transition:transform .15s ease,box-shadow .15s ease}
.summary-card:hover,.hero-stat:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(16,24,40,.06)}
.closing-stage{background:#f2fbf6!important;border-color:#b7e4cb!important}
.closing-stage .pipeline-head b{color:#18794e}
.closing-stage .stage-count,.closing-stage .pipeline-head>span{background:#18794e!important;color:#fff}
.closing-card{border-color:#b7e4cb!important;background:#fbfffc!important;box-shadow:0 3px 12px rgba(24,121,78,.08)!important}
.closing-card .pc-name{color:#18794e}
.closing-card .pc-value{color:#18794e}
.badge.green{background:#dcfce7!important;color:#166534!important;border:1px solid #bbf7d0}
.status-closing{background:#dcfce7!important;color:#166534!important}
.funnel-step:last-child .funnel-index{background:#dcfce7;color:#166534}
.funnel-step:last-child .funnel-bar span{background:#22a06b!important}
.attention-item{transition:background .15s ease}.attention-item:hover{background:#fafbfc}
@media(max-width:650px){.hero-stat strong{font-size:22px}.dash-card,.summary-card,.premium-panel{border-radius:14px}}

.client-mode main{grid-template-columns:1fr;min-height:calc(100vh - 68px)}.client-mode aside{display:none}.client-mode #content{max-width:1180px;width:100%;margin:0 auto;padding:34px 30px 48px}.client-mode .page-head{margin-bottom:20px}.client-mode .page-head h1{font-size:31px}.client-mode .page-head .subhead{max-width:720px;color:#667085}.client-mode .client-project{border-radius:22px;border:1px solid #e5eaf0;box-shadow:0 14px 40px rgba(15,23,42,.06);padding:26px;background:linear-gradient(180deg,#fff 0%,#fcfdfd 100%)}.client-mode .client-project-head{padding-bottom:20px;border-bottom:1px solid #eef1f4}.client-mode .client-project-head h2{font-size:25px;letter-spacing:-.6px;margin:3px 0 5px}.client-mode .client-progress-row{margin-top:24px;padding:20px 20px 17px;border:1px solid #e8edf2;border-radius:16px;background:#f9fbfc}.client-mode .client-progress-row>div:first-child span{font-size:12px;font-weight:700;color:#475467}.client-mode .client-progress-row strong{font-size:34px;letter-spacing:-1px}.client-mode .client-progress-bar{height:12px;margin-top:12px;background:#e9eef2}.client-mode .client-progress-bar span{background:linear-gradient(90deg,#18794e,#2aa66d)}.client-mode .client-meta{margin-top:16px;gap:8px}.client-mode .client-meta span{background:#fff;border:1px solid #e6ebef;border-radius:9px;padding:7px 9px;font-size:10px}.client-mode .client-schedule{border-radius:16px;margin-top:16px;box-shadow:none}.client-mode .client-schedule .section-top{margin-bottom:8px}.client-mode .client-schedule h3,.client-mode .client-grid .panel h3{font-size:16px}.client-mode .schedule-latest{background:#f8fafc;border:1px solid #e8edf2;border-radius:13px;padding:14px}.client-mode .schedule-icon{width:40px;height:40px;border-radius:11px}.client-mode .schedule-file b{font-size:12px}.client-mode .schedule-history{margin-top:14px}.client-mode .schedule-history-row{padding:12px 4px}.client-mode .client-grid{gap:16px;margin-top:16px}.client-mode .client-grid>.panel{border:1px solid #e5eaf0;background:#fff;border-radius:16px;padding:18px;box-shadow:none}.client-mode .client-milestone{padding:14px 2px}.client-mode .client-update{padding:14px 2px}.client-mode .client-alert{background:#fffaf0;border-color:#f0d58b;box-shadow:0 4px 14px rgba(180,130,20,.05)}.client-mode .badge.green{font-size:10px;padding:7px 10px;border-radius:999px}.client-mode .top{box-shadow:0 4px 18px rgba(15,23,42,.12)}@media(max-width:650px){.client-mode #content{padding:22px 14px 34px}.client-mode .page-head h1{font-size:26px}.client-mode .client-project{padding:17px;border-radius:18px}.client-mode .client-progress-row{padding:16px}.client-mode .client-progress-row strong{font-size:29px}.client-mode .client-meta span{flex:1 1 calc(50% - 8px)}}

[hidden]{display:none!important}.danger{color:#b42318!important}

:root{--navy:#0f1728;--ink:#172033;--muted:#667085;--line:#e7ebf0;--soft:#f7f8fa;--gold:#d7b15a}
body{background:#f7f8fa;color:var(--ink);letter-spacing:-.01em}.top{height:68px;padding:0 30px;background:rgba(15,23,40,.98);backdrop-filter:blur(12px)}.brand{font-size:16px;letter-spacing:.02em}.brand small{font-size:9px;letter-spacing:1.4px}.user-email{font-size:12px}.user-role{font-size:10px}
main{grid-template-columns:220px 1fr;min-height:calc(100vh - 68px)}aside{padding:22px 12px;background:#fff;border-right:1px solid var(--line);gap:4px}aside .nav-label{font-size:9px;letter-spacing:1.5px;color:#98a2b3;font-weight:800;padding:0 14px 9px}aside button{border-radius:10px;padding:11px 13px;color:#475467;font-size:13px;display:flex;align-items:center;gap:11px}aside button.active{background:#f0f2f5;color:#101828}aside button:hover{background:#f7f8fa}.nav-icon{width:18px;text-align:center;font-size:15px;color:#667085;font-weight:700}aside #logout{margin-top:auto;color:#8f1d1d}
#content{padding:32px;max-width:1450px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.eyebrow{font-size:9px;letter-spacing:2px;color:#98a2b3;font-weight:850;margin-bottom:5px}.page-head h1{font-size:29px;letter-spacing:-.8px}.subhead{font-size:13px}.dash-date{font-size:11px;color:#98a2b3;background:#fff;border:1px solid var(--line);padding:8px 11px;border-radius:8px}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.hero-stat,.summary-card,.premium-panel{background:#fff;border:1px solid var(--line);box-shadow:0 6px 22px rgba(16,24,40,.035)}.hero-stat{padding:18px 20px;border-radius:14px}.hero-stat span{font-size:11px;color:#667085}.hero-stat strong{display:block;font-size:27px;letter-spacing:-.7px;margin-top:7px}.hero-stat small{font-size:10px;color:#98a2b3}.hero-stat.accent{border-top:2px solid var(--gold)}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.summary-card{border-radius:14px;padding:17px 19px}.summary-head{display:flex;justify-content:space-between;align-items:center;color:#475467;font-size:12px}.mini-label{font-size:8px;letter-spacing:1px;color:#98a2b3}.summary-card>strong{display:block;font-size:22px;letter-spacing:-.4px;margin:10px 0}.summary-meta{display:flex;gap:18px;flex-wrap:wrap;color:#98a2b3;font-size:10px}.summary-meta b{color:#344054;margin-left:3px}.inline-muted{font-size:11px;color:#98a2b3;font-weight:500}.soft-action,.link-btn{background:#f5f6f8;color:#344054;border:1px solid #e5e7eb;padding:8px 10px;border-radius:8px;font-size:10px}.soft-action{margin-top:12px}.link-btn{background:transparent;border:0;color:#344054;padding:4px 0;margin-left:auto}.dashboard-main-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:12px;margin-bottom:12px}.premium-panel{border-radius:14px;padding:19px}.section-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.section-top h3{font-size:15px}.section-top .muted{font-size:11px;margin-top:3px}.section-top .soft-action{margin-top:0}.funnel-clean{display:flex;flex-direction:column;gap:4px}.funnel-step{display:grid;grid-template-columns:34px 80px 1fr 30px;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #f0f2f4}.funnel-step:last-child{border-bottom:0}.funnel-index{font-size:9px;color:#98a2b3;font-weight:800}.funnel-name{font-size:11px;font-weight:750}.funnel-step>b{font-size:12px;text-align:right}.funnel-bar{height:5px;background:#eef1f4;border-radius:99px;overflow:hidden}.funnel-bar span{display:block;height:100%;background:#1f2937;border-radius:99px}.attention-list{display:flex;flex-direction:column}.attention-item{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #f0f2f4}.attention-item:last-child{border-bottom:0}.attention-item b{display:block;font-size:11px}.attention-item small{display:block;color:#98a2b3;font-size:10px;margin-top:3px}.attention-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.attention-dot.red{background:#c2413a}.attention-dot.amber{background:#c9952f}.attention-dot.gray{background:#98a2b3}.attention-empty{padding:25px 5px}.channel-panel{margin-bottom:10px}.clean-table{min-width:0}.clean-table th{background:#fff;padding-top:8px}.clean-table td{padding:12px 10px;font-size:11px}.dashboard-footer-note{font-size:10px;color:#98a2b3;padding:2px 2px 15px}.dashboard-footer-note b{color:#475467}
.badge.green{background:#dcfce7!important;color:#166534!important}.closing-stage{background:#f0faf3!important;border-color:#b7e1c0!important}.closing-stage .pipeline-head b{color:#166534}.closing-stage .stage-count{background:#16803c!important}.closing-card{border-color:#b7e1c0!important;background:#fbfffc!important}.closing-card .pc-name{color:#166534}
h1{font-size:27px;letter-spacing:-.6px}.panel,.stat{border-radius:14px;box-shadow:0 5px 18px rgba(16,24,40,.03)}.toolbar{margin:18px 0 12px}.table th{background:#fafbfc;font-size:10px}.table td{font-size:12px}.badge{font-size:10px}.kpi-box{border-radius:10px}.pipeline-board{gap:10px}.pipeline-col{border-radius:12px;background:#f8f9fb;border-color:#e7ebf0}.pipeline-card{border-radius:10px;box-shadow:none}.modal .card{border-radius:15px}
@media(max-width:1050px){main{grid-template-columns:1fr}#content{padding:22px}.hero-stats{grid-template-columns:repeat(2,1fr)}.summary-grid{grid-template-columns:1fr 1fr}.dashboard-main-grid{grid-template-columns:1fr}}
@media(max-width:650px){#content{padding:18px 14px}.top{padding:0 15px}.brand small{display:none}.page-head{align-items:flex-start;flex-direction:column;gap:10px}.hero-stats,.summary-grid{grid-template-columns:1fr 1fr}.hero-stat{padding:15px}.hero-stat strong{font-size:21px}.summary-card{padding:14px}.summary-meta{gap:9px}.section-top{align-items:flex-start}.section-top .soft-action{display:none}.funnel-step{grid-template-columns:28px 70px 1fr 24px}}

.period-picker{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #e4e8ee;border-radius:12px;padding:7px 9px;box-shadow:0 2px 8px rgba(16,24,40,.04)}
.period-picker span{font-size:10px;letter-spacing:1.4px;font-weight:850;color:#98a2b3;padding-left:4px}.period-picker select{width:auto;min-width:150px;border:0;background:#f8fafc;padding:9px 28px 9px 11px;font-weight:750}.period-caption{display:flex;align-items:center;gap:10px;margin:-6px 0 15px;color:#667085;font-size:12px}.period-caption b{color:#172033;font-size:13px}.green-number,.actual-closing-cell{color:#18794e!important;font-weight:850}.closing-text{display:inline-flex;min-width:24px;justify-content:center;padding:3px 7px;border-radius:999px;background:#ecfdf3;color:#18794e;font-weight:850}.selected-period td{background:#f8fffb!important}.selected-period td:first-child{box-shadow:inset 3px 0 #22a06b}.table th{white-space:nowrap}@media(max-width:650px){.period-picker{width:100%}.period-picker select{flex:1}.page-head{display:flex;flex-direction:column;gap:12px}.period-caption{flex-wrap:wrap}}

.leads-filter-panel{padding:11px 13px;margin-bottom:12px}.leads-filter-row{display:flex;align-items:center;gap:9px}.leads-filter-row select{width:auto;min-width:145px;background:#fafbfc;border-color:#e6e9ee;font-size:12px}.lead-search{display:flex;align-items:center;gap:7px;flex:1;max-width:420px;background:#fafbfc;border:1px solid #e6e9ee;border-radius:9px;padding:0 10px}.lead-search span{color:#98a2b3;font-size:17px}.lead-search input{border:0;background:transparent;padding:9px 2px;font-size:12px;box-shadow:none}.lead-search input:focus{box-shadow:none}.lead-count{margin-left:auto;color:#98a2b3;font-size:10px;font-weight:700;white-space:nowrap}.leads-table-panel{padding:0;overflow:hidden}.leads-table th,.leads-table td{font-size:11px}.leads-table th{padding:12px 10px}.leads-table td{padding:12px 10px}.lead-sub{font-size:9px}.source-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:7px;font-size:10px;font-weight:750;border:1px solid #e5e7eb;background:#f8fafc;color:#475467;white-space:nowrap}.source-meta{background:#eef4ff;color:#3157a5;border-color:#d8e4ff}.source-ig{background:#f5efff;color:#7048a8;border-color:#e7dbff}.source-organic{background:#edf9f1;color:#24734b;border-color:#d5efdf}.source-referral{background:#fff8e8;color:#916c16;border-color:#f3e5b7}.source-other{background:#f5f6f8;color:#596273;border-color:#e6e8ec}@media(max-width:800px){.leads-filter-row{flex-wrap:wrap}.lead-search{max-width:none;flex:1 1 100%}.leads-filter-row select{flex:1;min-width:0}.lead-count{margin-left:0}.leads-table{min-width:980px}}

.project-actions{white-space:nowrap}.detail-btn{background:#eef6ff!important;color:#173b6b!important;border:1px solid #cfe1f7!important}.detail-btn:hover{background:#e3f0ff!important}.project-detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px}.detail-progress{height:9px;background:#eef1f5;border-radius:999px;overflow:hidden;margin-top:12px}.detail-progress span{display:block;height:100%;background:#18794e}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-list{margin-top:12px}.milestone-row,.update-row{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #edf0f3}.milestone-row small,.update-row small{display:block;color:#98a2b3;margin-top:4px}.update-row p{margin:6px 0 0;color:#667085;font-size:12px;line-height:1.5}.icon-btn{border:1px solid #d9dee7;background:#fff;border-radius:8px;padding:6px 9px;font-size:11px;cursor:pointer}.back-link{border:0;background:none;padding:0;margin-bottom:12px;font-size:12px;color:#667085;cursor:pointer}.modal{position:fixed;inset:0;background:rgba(15,23,42,.38);display:flex;align-items:center;justify-content:center;padding:18px;z-index:1000}.modal[hidden]{display:none}.modal-card{background:#fff;border-radius:16px;max-width:650px;width:100%;max-height:90vh;overflow:auto;padding:22px}@media(max-width:800px){.project-detail-stats,.detail-grid{grid-template-columns:1fr}.project-actions{display:flex;gap:5px;flex-wrap:wrap}}

.pdf-viewer-modal{position:fixed;inset:0;background:rgba(15,23,42,.72);display:flex;align-items:center;justify-content:center;padding:12px;z-index:3000}.pdf-viewer-modal[hidden]{display:none}.pdf-viewer-card{background:#fff;border-radius:16px;width:min(1100px,96vw);height:min(92vh,900px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.28)}.pdf-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #edf0f3}.pdf-viewer-head strong{font-size:14px}.pdf-viewer-actions{display:flex;gap:7px}.pdf-viewer-frame{width:100%;height:100%;border:0;background:#f4f6f8}.pdf-viewer-note{padding:10px 14px;font-size:11px;color:#667085;border-top:1px solid #edf0f3}@media(max-width:650px){.pdf-viewer-card{width:100%;height:94vh;border-radius:12px}.pdf-viewer-head{padding:10px}.pdf-viewer-actions .soft-action{font-size:11px;padding:7px 9px}}

.client-progress-hero{margin-top:20px;border:1px solid #e5eaf0;border-radius:22px;padding:24px;background:linear-gradient(135deg,#f8fbfa 0%,#ffffff 58%);box-shadow:0 12px 34px rgba(15,23,42,.06)}
.progress-hero-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.progress-hero-label{font-size:12px;font-weight:800;letter-spacing:.08em;color:#667085;text-transform:uppercase}.progress-hero-title{margin:5px 0 0;font-size:18px;color:#101828}.progress-hero-number{font-size:44px;line-height:1;font-weight:800;letter-spacing:-1.8px;color:#18794e}.progress-hero-bar{height:13px;background:#e9eef2;border-radius:999px;overflow:hidden;margin-top:20px}.progress-hero-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#18794e,#35a66e)}.progress-hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.progress-hero-meta .mini-stat{border:1px solid #e8edf2;background:#fff;border-radius:13px;padding:12px}.mini-stat span{display:block;color:#98a2b3;font-size:10px;margin-bottom:4px}.mini-stat b{font-size:13px;color:#344054}.client-progress-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;margin-top:16px}.client-section-card{border:1px solid #e5eaf0;border-radius:18px;background:#fff;padding:19px;box-shadow:0 8px 24px rgba(15,23,42,.035)}.client-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.client-section-head h3{margin:0;font-size:16px}.client-section-head p{margin:4px 0 0;color:#98a2b3;font-size:11px;line-height:1.45}.work-stage-list{display:grid;gap:0}.work-stage{display:flex;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid #edf0f3}.work-stage:last-child{border-bottom:0}.stage-dot{width:10px;height:10px;border-radius:50%;background:#d0d5dd;flex:0 0 auto}.stage-dot.active{background:#18794e;box-shadow:0 0 0 5px #e9f6ef}.stage-dot.done{background:#12b76a}.stage-name{font-size:12px;font-weight:700;color:#344054}.stage-note{margin-left:auto;font-size:10px;color:#98a2b3}.stage-note.active{color:#18794e;font-weight:700}.latest-update-card{border-radius:15px;background:#f8fafc;border:1px solid #e8edf2;padding:15px}.latest-update-card .date{font-size:10px;color:#98a2b3}.latest-update-card h4{margin:6px 0 5px;font-size:13px;color:#101828}.latest-update-card p{margin:0;color:#667085;font-size:11px;line-height:1.55}.latest-update-progress{margin-top:11px;font-size:10px;color:#667085}.client-updates-list{margin-top:12px}.client-update.compact{grid-template-columns:76px 1fr;padding:11px 0}.client-update.compact p{font-size:11px}.client-portal-footer-note{margin-top:15px;color:#98a2b3;font-size:10px;text-align:center}.@media(max-width:800px){.client-progress-layout{grid-template-columns:1fr}.progress-hero-meta{grid-template-columns:1fr 1fr}.progress-hero-top{align-items:flex-start}}
@media(max-width:520px){.client-progress-hero{padding:18px;border-radius:18px}.progress-hero-number{font-size:36px}.progress-hero-meta{grid-template-columns:1fr}.client-section-card{padding:16px}.stage-note{font-size:9px}}

.work-stage-panel{margin-top:16px}.work-stage-summary{display:grid;grid-template-columns:1fr 180px;gap:12px;margin:14px 0 8px}.work-stage-summary>div{background:#f8fafc;border:1px solid #e8edf2;border-radius:12px;padding:12px}.work-stage-summary span{display:block;color:#98a2b3;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.work-stage-summary strong{display:block;margin-top:5px;font-size:15px;color:#101828}.owner-work-stage-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 12px;padding-top:8px}.owner-work-stage{display:flex;gap:9px;min-height:74px;position:relative}.owner-stage-marker{width:18px;display:flex;flex-direction:column;align-items:center;position:relative;flex:0 0 18px}.owner-stage-dot{width:12px;height:12px;border-radius:50%;background:#d0d5dd;border:2px solid #fff;box-shadow:0 0 0 1px #d0d5dd;z-index:2;margin-top:2px}.owner-work-stage.done .owner-stage-dot{background:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.owner-work-stage.active .owner-stage-dot{background:#12b76a;box-shadow:0 0 0 4px #e7f7ee}.owner-stage-line{position:absolute;top:14px;bottom:-3px;width:2px;background:#e5e7eb}.owner-work-stage.done .owner-stage-line{background:#bfdbfe}.owner-stage-body{min-width:0;padding-bottom:12px}.owner-stage-title{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.owner-stage-title b{font-size:12px;color:#344054}.owner-stage-body small{display:block;color:#98a2b3;font-size:10px;margin-top:5px}.owner-work-stage.active .owner-stage-title b{color:#18794e}.owner-work-stage .badge{font-size:9px;padding:3px 7px}@media(max-width:900px){.owner-work-stage-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.work-stage-summary{grid-template-columns:1fr}.owner-work-stage-list{grid-template-columns:1fr}}

/* ===== V54 — EXECUTIVE DASHBOARD VISUAL REFRESH ===== */
.dash-head{align-items:flex-end;margin-bottom:22px}.dash-head .dash-date{background:#fff;border:1px solid #e6eaf0;border-radius:12px;padding:10px 13px;font-size:11px;color:#667085;box-shadow:0 3px 12px rgba(16,24,40,.04)}
.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:15px}.hero-stat{position:relative;overflow:hidden;background:#fff;border:1px solid #e5e9ef;border-radius:18px;padding:19px 20px;box-shadow:0 7px 24px rgba(16,24,40,.055);min-height:128px}.hero-stat:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#475467}.hero-stat:nth-child(1):before{background:#5b8def}.hero-stat:nth-child(2):before{background:#8b6fe8}.hero-stat:nth-child(3):before{background:#20a36a}.hero-stat:nth-child(4):before{background:#e0a52b}.hero-stat span{display:block;color:#667085;font-size:12px;font-weight:700}.hero-stat strong{display:block;font-size:25px;line-height:1.15;letter-spacing:-.6px;margin-top:10px;color:#101828}.hero-stat small{display:block;color:#98a2b3;font-size:10px;margin-top:7px}.hero-stat.closing-stat strong,.hero-stat.revenue-stat strong{color:#18794e}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:15px}.summary-card{background:#fff;border:1px solid #e5e9ef;border-radius:18px;padding:17px 19px;box-shadow:0 6px 20px rgba(16,24,40,.045);position:relative;overflow:hidden}.summary-card:after{content:"";position:absolute;right:-30px;top:-35px;width:100px;height:100px;border-radius:50%;background:#f2f5f9}.summary-card:nth-child(1):after{background:#eef4ff}.summary-card:nth-child(2):after{background:#edf9f3}.summary-card:nth-child(3):after{background:#fff7e7}.summary-head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#475467;font-weight:750}.mini-label{font-size:9px;letter-spacing:.08em;color:#98a2b3}.summary-card>strong{position:relative;z-index:1;display:block;font-size:23px;margin-top:10px;color:#101828}.summary-meta{position:relative;z-index:1;display:flex;gap:18px;flex-wrap:wrap;margin-top:7px;color:#98a2b3;font-size:10px}.summary-meta b{color:#344054}.summary-card .soft-action{position:relative;z-index:2;margin-top:11px;background:#f6f8fa;color:#344054;border:1px solid #e6eaf0;font-size:10px;padding:7px 10px}.inline-muted{font-size:10px;color:#98a2b3;font-weight:600}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:15px;margin-bottom:15px}.premium-panel{border-radius:18px;box-shadow:0 7px 24px rgba(16,24,40,.045);border-color:#e5e9ef}.section-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.section-top h3{font-size:15px;color:#101828}.section-top .muted{font-size:10px;margin-top:4px}.soft-action{font-size:10px;padding:8px 11px;background:#f6f8fa;color:#344054;border:1px solid #e6eaf0}.funnel-clean{display:grid;gap:13px;margin-top:20px}.funnel-step{display:grid;grid-template-columns:28px 82px 1fr 34px;gap:10px;align-items:center}.funnel-index{width:26px;height:26px;border-radius:8px;background:#f2f4f7;color:#667085;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:850}.funnel-step:nth-child(1) .funnel-index{background:#eef4ff;color:#3157a5}.funnel-step:nth-child(2) .funnel-index{background:#f4efff;color:#7048a8}.funnel-step:nth-child(3) .funnel-index{background:#fff8e8;color:#916c16}.funnel-step:nth-child(4) .funnel-index{background:#edf9f1;color:#24734b}.funnel-name{font-size:11px;font-weight:750;color:#344054}.funnel-bar{height:11px;background:#edf0f4;border-radius:999px;overflow:hidden}.funnel-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#6b8de3,#91a9ea)}.funnel-step:nth-child(2) .funnel-bar span{background:linear-gradient(90deg,#9a7fe2,#b39be9)}.funnel-step:nth-child(3) .funnel-bar span{background:linear-gradient(90deg,#e1ae3b,#efca70)}.funnel-step:nth-child(4) .funnel-bar span{background:linear-gradient(90deg,#2ba873,#67c493)}.funnel-step>b{text-align:right;font-size:12px;color:#101828}.attention-list{margin-top:10px}.attention-item{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #edf0f3}.attention-item:last-child{border-bottom:0}.attention-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.attention-dot.red{background:#d64545;box-shadow:0 0 0 4px #fdecec}.attention-dot.amber{background:#d99a22;box-shadow:0 0 0 4px #fff5dd}.attention-item>div{flex:1;min-width:0}.attention-item b{display:block;font-size:11px;color:#344054}.attention-item small{display:block;color:#98a2b3;font-size:9px;margin-top:4px}.attention-item .link-btn{padding:5px 7px;background:transparent;color:#475467;font-size:10px}.health-overview{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center;margin-top:16px}.health-donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(#20a36a 0 60%,#5b8def 60% 82%,#f0b43c 82% 100%);display:grid;place-items:center;margin:auto;box-shadow:0 8px 22px rgba(16,24,40,.08)}.health-donut:after{content:"";width:92px;height:92px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #edf0f3}.health-legend{display:grid;gap:10px}.health-legend-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#667085}.health-legend-row b{color:#344054}.legend-dot{width:8px;height:8px;border-radius:50%;margin-right:7px;display:inline-block}.legend-green{background:#20a36a}.legend-blue{background:#5b8def}.legend-amber{background:#f0b43c}.health-note{font-size:9px;color:#98a2b3;line-height:1.5;margin-top:2px}.channel-panel{margin-bottom:15px}.clean-table th{background:#fafbfc;font-size:10px}.clean-table td{font-size:11px}.clean-table tr:hover td{background:#fbfcff}.dashboard-footer-note{padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid #e9edf2;color:#98a2b3;font-size:10px;text-align:center;margin-top:2px}.dashboard-footer-note b{color:#475467}
@media(max-width:1050px){.hero-stats{grid-template-columns:repeat(2,1fr)}.dashboard-main-grid{grid-template-columns:1fr}}
@media(max-width:700px){.dash-head{align-items:flex-start}.dash-head .dash-date{width:100%}.hero-stats,.summary-grid{grid-template-columns:1fr}.health-overview{grid-template-columns:1fr}.funnel-step{grid-template-columns:28px 70px 1fr 28px}.hero-stat strong{font-size:22px}}
/* ===== V55 — WEEKLY AD KPI COMPARISON ===== */
.weekly-kpi-panel{min-height:390px}.kpi-chart-tools{display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}.kpi-toggle{border:1px solid #e4e8ee;background:#f8fafc;color:#667085;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:800}.kpi-toggle.active{background:#101828;color:#fff;border-color:#101828}.weekly-chart{margin-top:12px}.weekly-chart-legend{display:flex;gap:16px;align-items:center;font-size:9px;color:#667085;margin-bottom:8px}.weekly-chart-legend span{display:inline-flex;align-items:center;gap:6px}.weekly-chart-legend i{display:inline-block;width:9px;height:9px;border-radius:3px}.legend-meta{background:#5b8def}.legend-ig{background:#8b6fe8}.weekly-svg{width:100%;height:245px;display:block;overflow:visible}.weekly-grid{stroke:#edf0f4;stroke-width:1}.weekly-axis{fill:#98a2b3;font-size:9px}.weekly-bar-meta{fill:#5b8def}.weekly-bar-ig{fill:#8b6fe8}.weekly-line-meta{fill:none;stroke:#5b8def;stroke-width:2.5}.weekly-line-ig{fill:none;stroke:#8b6fe8;stroke-width:2.5}.weekly-dot-meta{fill:#5b8def}.weekly-dot-ig{fill:#8b6fe8}.weekly-empty{height:245px;display:grid;place-items:center;color:#98a2b3;font-size:11px;border:1px dashed #e5e9ef;border-radius:12px;background:#fafbfc}.kpi-insight{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:7px;padding-top:10px;border-top:1px solid #edf0f3}.kpi-insight b{font-size:11px;color:#344054}.kpi-insight small{font-size:9px;color:#98a2b3}.kpi-score{padding:5px 8px;border-radius:999px;background:#edf9f3;color:#18794e;font-size:9px;font-weight:850;white-space:nowrap}.funnel-donut-wrap{display:grid;grid-template-columns:170px 1fr;gap:16px;align-items:center;margin-top:8px}.sales-donut{width:158px;height:158px;border-radius:50%;margin:auto;display:grid;place-items:center;position:relative;background:conic-gradient(#5b8def 0 80%,#8b6fe8 80% 93%,#e0a52b 93% 96%,#20a36a 96% 100%);box-shadow:0 8px 22px rgba(16,24,40,.07)}.sales-donut:after{content:"";width:96px;height:96px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #edf0f3}.sales-donut-center{position:absolute;inset:0;display:grid;place-items:center;text-align:center;z-index:2}.sales-donut-center strong{font-size:25px;color:#101828}.sales-donut-center span{display:block;font-size:9px;color:#98a2b3;margin-top:-28px}.funnel-legend{display:grid;gap:12px}.funnel-legend-row{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:8px;font-size:10px;color:#667085}.funnel-legend-row i{width:8px;height:8px;border-radius:50%}.funnel-legend-row b{color:#344054}.closing-rate{display:flex;justify-content:space-between;border-top:1px solid #edf0f3;padding-top:11px;margin-top:2px;font-size:9px;color:#98a2b3}.closing-rate b{color:#18794e}.dashboard-lower-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:15px;margin-bottom:15px}.health-mini{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.health-mini-card{padding:13px;border:1px solid #edf0f3;border-radius:12px;background:#fafbfc}.health-mini-card span{font-size:9px;color:#98a2b3}.health-mini-card b{display:block;font-size:17px;margin-top:5px;color:#344054}.health-mini-card small{display:block;font-size:9px;color:#98a2b3;margin-top:3px}@media(max-width:900px){.funnel-donut-wrap,.dashboard-lower-grid{grid-template-columns:1fr}}

.hero-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-stat{min-width:0;overflow:hidden}.hero-stat strong{font-size:25px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.08}.summary-card{min-width:0;overflow:hidden}.summary-card>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-main-grid{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr)}
.funnel-donut-wrap{grid-template-columns:190px minmax(0,1fr)}.funnel-legend{min-width:0}.funnel-legend-row{grid-template-columns:9px minmax(0,1fr) auto}.weekly-kpi-panel{min-width:0}.weekly-svg{height:250px}.weekly-axis{font-size:9px}
@media(max-width:1050px){.dashboard-main-grid{grid-template-columns:1fr}.hero-stat strong{font-size:24px}}
@media(max-width:700px){.hero-stats{grid-template-columns:1fr 1fr}.hero-stat strong{font-size:22px}.funnel-donut-wrap{grid-template-columns:1fr}.funnel-legend{width:100%}}

.hero-stat{padding-right:78px}.hero-icon{position:absolute;right:18px;top:18px;width:46px;height:46px;border-radius:15px;display:grid;place-items:center}.hero-icon svg{width:23px;height:23px}.hero-leads .hero-icon{background:#eaf1ff;color:#4f80df}.hero-pipeline .hero-icon{background:#f0eaff;color:#8462dc}.closing-stat .hero-icon{background:#eaf8f0;color:#209462}.revenue-stat .hero-icon{background:#fff5dc;color:#c49120}
.cashflow-panel{min-height:300px}.cashflow-rate{padding:6px 9px;border-radius:999px;background:#edf9f3;color:#18794e;font-size:10px;font-weight:850}.cashflow-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:2px 0 14px}.cashflow-summary>div{padding:10px 12px;border:1px solid #edf0f3;border-radius:11px;background:#fafbfc}.cashflow-summary span{display:block;font-size:9px;color:#98a2b3}.cashflow-summary b{display:block;margin-top:4px;font-size:14px;color:#344054}.cashflow-list{display:grid;gap:13px;margin-bottom:13px}.cashflow-project{padding-bottom:10px;border-bottom:1px solid #edf0f3}.cashflow-project:last-child{border-bottom:0}.cashflow-project-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:7px}.cashflow-project-head b{display:block;font-size:10px;color:#344054;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cashflow-project-head small{display:block;font-size:8px;color:#98a2b3;margin-top:2px}.cashflow-project-head>strong{font-size:10px;color:#344054;white-space:nowrap}.cashflow-project-head>strong span{color:#98a2b3;font-weight:600}.cashflow-bar{height:10px;background:#eef1f4;border-radius:999px;overflow:hidden}.cashflow-paid{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#55b98a,#2ca36f)}.cashflow-paid.done{background:linear-gradient(90deg,#5b8def,#789fe9)}.cashflow-meta{display:flex;justify-content:space-between;gap:8px;margin-top:5px;font-size:8px;color:#98a2b3}.cashflow-meta b{color:#667085}.project-health-list{display:grid;gap:13px;margin-top:6px}.project-health-row{padding:10px 0;border-bottom:1px solid #edf0f3}.project-health-row:last-child{border-bottom:0}.project-health-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}.project-health-head>b{font-size:10px;color:#344054;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-health-head .badge{font-size:8px;padding:4px 7px}.project-health-head .badge.green{background:#eaf8f0!important;color:#18794e!important}.project-health-head .badge.amber{background:#fff5dc!important;color:#9a6a12!important}.project-health-head .badge.red{background:#fef0f0!important;color:#b42318!important}.project-health-bars{display:grid;gap:6px}.project-health-bars>div{display:grid;grid-template-columns:34px 1fr 30px;align-items:center;gap:7px}.project-health-bars span{font-size:8px;color:#98a2b3}.project-health-bars b{text-align:right;font-size:8px;color:#667085}.health-track{height:7px;background:#eef1f4;border-radius:999px;overflow:hidden}.health-track i{display:block;height:100%;border-radius:999px}.health-physical{background:#5b8def}.health-payment{background:#2ba873}
@media(max-width:700px){.hero-stat{padding-right:68px}.hero-icon{right:14px;top:14px;width:40px;height:40px}.hero-icon svg{width:20px;height:20px}.cashflow-summary{grid-template-columns:1fr}.cashflow-project-head>strong{font-size:9px}}

/* ===== V62 — kelas pengganti inline style yang dulu ditulis di JavaScript ===== */
.schedule-file-input{display:block;visibility:visible;opacity:1;width:100%;min-height:64px;padding:18px 14px;background:#f8fafc;border:2px dashed #94a3b8;border-radius:12px;cursor:pointer;font-size:15px}
