/* EstimatePro — Premium UI Stylesheet */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;1,9..144,300&display=swap');

:root {
  --blue-50:#eef2ff;--blue-100:#e0e7ff;--blue-200:#c7d2fe;
  --blue-500:#6366f1;--blue-600:#4f46e5;--blue-700:#4338ca;--blue-900:#1e1b4b;
  --g0:#fff;--g25:#fafafa;--g50:#f5f5f5;--g100:#f0f0f0;--g150:#e8e8e8;
  --g200:#e0e0e0;--g300:#ccc;--g400:#a3a3a3;--g500:#737373;
  --g600:#525252;--g700:#404040;--g800:#262626;--g900:#171717;
  --green:#22c55e;--green-bg:#f0fdf4;--red:#ef4444;--red-bg:#fef2f2;--amber:#f59e0b;
  --font:'Inter',system-ui,sans-serif;
  --serif:'Fraunces',Georgia,serif;
  --r:10px;--rlg:16px;--rxl:20px;
  --sh-xs:0 1px 2px rgba(0,0,0,.05);
  --sh-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);
  --sh:0 4px 6px -1px rgba(0,0,0,.07),0 2px 4px rgba(0,0,0,.04);
  --sh-md:0 10px 15px -3px rgba(0,0,0,.08),0 4px 6px rgba(0,0,0,.04);
  --sh-lg:0 20px 25px -5px rgba(0,0,0,.08),0 10px 10px rgba(0,0,0,.03);
  --sh-xl:0 25px 50px -12px rgba(0,0,0,.14);
  --sb:232px;--tb:56px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
.ep-auth-wrap,.ep-auth-wrap *,.ep-app-wrap,.ep-app-wrap *,#ep-app,#ep-app *{
  font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-feature-settings:'cv02','cv03','cv04','cv11';line-height:1.5;
}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--g200);border-radius:99px}

/* ── AUTH ── */
.ep-auth-wrap{display:flex;min-height:100vh;overflow:hidden}
.ep-auth-left{width:46%;background:var(--blue-600);display:flex;flex-direction:column;justify-content:center;padding:56px;position:relative;overflow:hidden;flex-shrink:0}
.ep-auth-left::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 20%,rgba(99,102,241,.6) 0%,transparent 60%),radial-gradient(ellipse at 20% 80%,rgba(67,56,202,.8) 0%,transparent 60%)}
.ep-auth-left>*{position:relative}
.ep-auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:48px}
.ep-auth-brand span{font-size:.9rem;font-weight:700;color:white;letter-spacing:-.01em}
.ep-auth-left h2{font-family:var(--serif);font-size:2.4rem;color:white;line-height:1.15;letter-spacing:-.02em;margin-bottom:14px;font-weight:300}
.ep-auth-left h2 em{font-style:italic}
.ep-auth-left>p{font-size:.92rem;color:rgba(255,255,255,.6);line-height:1.75;max-width:360px;margin-bottom:36px}
.ep-auth-features{display:flex;flex-direction:column;gap:14px}
.ep-auth-feat{display:flex;align-items:center;gap:12px}
.ep-feat-dot{width:30px;height:30px;flex-shrink:0;background:rgba(255,255,255,.12);border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.15);font-size:.8rem}
.ep-auth-feat strong{font-size:.86rem;color:white;display:block}
.ep-auth-feat small{font-size:.78rem;color:rgba(255,255,255,.5)}
.ep-auth-right{flex:1;background:var(--g25);display:flex;align-items:center;justify-content:center;padding:40px}
.ep-auth-box{width:100%;max-width:390px;background:white;border-radius:var(--rxl);padding:36px;box-shadow:var(--sh-xl);border:1px solid var(--g150)}
.ep-auth-box-logo{display:flex;align-items:center;gap:8px;margin-bottom:22px}
.ep-auth-box-logo span{font-size:.875rem;color:var(--g700);letter-spacing:-.01em}
.ep-auth-box-logo b{color:var(--blue-600)}
.ep-auth-box h3{font-size:1.2rem;font-weight:700;color:var(--g900);letter-spacing:-.02em;margin-bottom:4px}
.ep-auth-sub{font-size:.875rem;color:var(--g400);margin-bottom:22px}
.ep-auth-switch{text-align:center;font-size:.82rem;color:var(--g400);margin-top:18px}
.ep-auth-switch a{color:var(--blue-600);font-weight:600}
@media(max-width:820px){.ep-auth-left{display:none}.ep-auth-right{padding:24px 16px}}

/* ── LOGO MARK ── */
.ep-logo-mark{width:34px;height:34px;background:var(--blue-600);border-radius:8px;display:grid;place-items:center;flex-shrink:0}
.ep-logo-mark svg{width:18px;height:18px;fill:white}
.ep-logo-mark.sm{width:27px;height:27px;border-radius:7px}
.ep-logo-mark.sm svg{width:14px;height:14px}

/* ── BUTTONS ── */
.ep-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--r);font-size:.86rem;font-weight:600;cursor:pointer;border:none;line-height:1;transition:all .15s;white-space:nowrap;letter-spacing:-.01em;font-family:var(--font)}
.ep-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.ep-btn-primary{background:var(--blue-600);color:white;box-shadow:0 1px 2px rgba(79,70,229,.3)}
.ep-btn-primary:hover{background:var(--blue-700);box-shadow:0 4px 12px rgba(79,70,229,.4);transform:translateY(-1px)}
.ep-btn-secondary{background:var(--g0);color:var(--g700);border:1px solid var(--g200);box-shadow:var(--sh-xs)}
.ep-btn-secondary:hover{background:var(--g50);border-color:var(--g300)}
.ep-btn-ghost{background:transparent;color:var(--g600);border:1px solid transparent}
.ep-btn-ghost:hover{background:var(--g100)}
.ep-btn-white{background:white;color:var(--blue-700);box-shadow:var(--sh-sm)}
.ep-btn-white:hover{box-shadow:var(--sh-md);transform:translateY(-1px)}
.ep-btn-danger{background:var(--red-bg);color:var(--red);border:1px solid #fecaca}
.ep-btn-danger:hover{background:#fee2e2}
.ep-btn-sm{padding:5px 12px;font-size:.78rem;border-radius:7px}
.ep-btn-full{width:100%;white-space:normal;text-align:center;word-break:break-word;padding-left:8px;padding-right:8px}

/* ── FORMS ── */
.ep-field{margin-bottom:14px}
.ep-field label{display:block;font-size:.76rem;font-weight:600;color:var(--g700);margin-bottom:5px;letter-spacing:.005em}
.ep-field label small{font-weight:400;color:var(--g400)}
.ep-field input,.ep-field select,.ep-field textarea{width:100%;padding:9px 11px;background:var(--g0);color:var(--g900);border:1px solid var(--g200);border-radius:var(--r);font-size:.86rem;outline:none;transition:border-color .15s,box-shadow .15s;font-family:var(--font)}
.ep-field input:focus,.ep-field select:focus,.ep-field textarea:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(99,102,241,.1)}
.ep-field input:disabled{background:var(--g50);color:var(--g400);cursor:not-allowed}
.ep-field textarea{resize:vertical;min-height:76px;line-height:1.5}
.ep-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ep-alert{padding:10px 14px;border-radius:7px;font-size:.8rem;font-weight:500}
.ep-alert-error{background:var(--red-bg);color:var(--red);border:1px solid #fecaca}
.ep-alert-success{background:var(--green-bg);color:#065f46;border:1px solid #bbf7d0}

/* ── APP LAYOUT ── */
#ep-app{display:flex;height:100vh;overflow:hidden;background:var(--g25)}
.ep-sidebar{width:var(--sb);flex-shrink:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;background:var(--g900);border-right:1px solid rgba(255,255,255,.05);transition:transform .25s}
.ep-sb-top{padding:0 16px;height:var(--tb);flex-shrink:0;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.06)}
.ep-sb-logo{display:flex;align-items:center;gap:9px}
.ep-sb-name{font-size:.8rem;font-weight:700;color:white;letter-spacing:-.01em}
.ep-sb-name small{display:block;font-size:.66rem;font-weight:400;color:rgba(255,255,255,.3);margin-top:1px}
.ep-sb-nav{flex:1;padding:6px 10px}
.ep-sb-section{font-size:.65rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.25);padding:14px 8px 5px}
.ep-sb-link{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:7px;font-size:.82rem;font-weight:500;letter-spacing:-.005em;color:rgba(255,255,255,.5);cursor:pointer;transition:all .12s;margin-bottom:2px;border:1px solid transparent;text-decoration:none}
.ep-sb-link:hover{background:rgba(255,255,255,.06);color:rgba(255,255,255,.85)}
.ep-sb-link.active{background:rgba(99,102,241,.18);color:white;border-color:rgba(99,102,241,.22)}
.ep-sb-link svg{width:14px;height:14px;flex-shrink:0}
.ep-sb-hr{border:none;border-top:1px solid rgba(255,255,255,.06);margin:7px 0}
.ep-sb-foot{padding:12px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}
.ep-sb-user{display:flex;align-items:center;gap:9px;padding:9px;border-radius:7px;background:rgba(255,255,255,.04);cursor:pointer;transition:background .15s;margin-bottom:7px}
.ep-sb-user:hover{background:rgba(255,255,255,.08)}
.ep-sb-av{width:27px;height:27px;border-radius:50%;background:var(--blue-600);display:grid;place-items:center;font-size:.68rem;font-weight:700;color:white;flex-shrink:0;text-transform:uppercase}
.ep-sb-uname{font-size:.8rem;font-weight:600;color:rgba(255,255,255,.8);letter-spacing:-.01em}
.ep-plan-chip{display:inline-block;font-size:.62rem;font-weight:700;padding:1px 7px;border-radius:99px;margin-top:2px}
.ep-chip-free{background:rgba(255,255,255,.1);color:rgba(255,255,255,.4)}
.ep-chip-pro{background:rgba(99,102,241,.3);color:#a5b4fc}
.ep-chip-agency{background:rgba(34,197,94,.2);color:#86efac}
.ep-sb-logout{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px;background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:7px;color:rgba(255,255,255,.3);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s;font-family:var(--font)}
.ep-sb-logout:hover{background:rgba(239,68,68,.15);color:#fca5a5;border-color:rgba(239,68,68,.25)}
.ep-main{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--g25)}
.ep-topbar{height:var(--tb);flex-shrink:0;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);border-bottom:1px solid var(--g150);display:flex;align-items:center;padding:0 24px;gap:12px;position:relative;z-index:10}
.ep-burger{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:3px}
.ep-burger span{width:15px;height:1.5px;background:var(--g600);display:block;border-radius:2px}
.ep-crumb{display:flex;align-items:center;gap:7px;font-size:.85rem}
.ep-crumb-base{color:var(--g400);font-weight:500}
.ep-crumb-sep{color:var(--g300);font-size:.7rem}
.ep-crumb-cur{color:var(--g900);font-weight:600;letter-spacing:-.01em}
.ep-tb-right{margin-left:auto;display:flex;align-items:center;gap:8px}
.ep-tb-chip{display:flex;align-items:center;gap:4px;background:var(--g50);border:1px solid var(--g200);padding:3px 9px;border-radius:99px;font-size:.72rem;font-weight:600;color:var(--g500)}
.ep-content{flex:1;overflow-y:auto;padding:28px 24px;scroll-behavior:smooth}

/* ── VIEWS ── */
.ep-view{display:none;animation:epFadeUp .18s ease}
.ep-view-active{display:block}
@keyframes epFadeUp{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.ep-page-hdr{margin-bottom:22px}
.ep-page-hdr h1{font-size:1.3rem;font-weight:700;color:var(--g900);letter-spacing:-.025em}
.ep-page-hdr p{font-size:.855rem;color:var(--g400);margin-top:3px}

/* ── HOME ── */
.ep-banner{background:var(--blue-600);border-radius:var(--rxl);padding:24px 28px;margin-bottom:20px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:16px}
.ep-banner::before{content:'';position:absolute;right:-60px;top:-60px;width:240px;height:240px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 65%);pointer-events:none;z-index:0}
.ep-banner>*{position:relative;z-index:1}
.ep-banner-text{position:relative}
.ep-banner-text h2{font-size:1.15rem;font-weight:600;color:white;margin-bottom:3px;letter-spacing:-.02em}
.ep-banner-text p{font-size:.845rem;color:rgba(255,255,255,.6)}
.ep-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:20px}
.ep-stat-tile{background:white;border:1px solid var(--g150);border-radius:var(--rlg);padding:18px;transition:box-shadow .15s}
.ep-stat-tile:hover{box-shadow:var(--sh-sm)}
.ep-st-icon{font-size:1.2rem;margin-bottom:10px}
.ep-st-val{font-family:var(--serif);font-size:1.8rem;color:var(--g900);letter-spacing:-.02em;line-height:1;font-weight:300}
.ep-st-label{font-size:.76rem;color:var(--g400);font-weight:500;margin-top:4px}
.ep-st-action{font-size:.7rem;color:var(--blue-600);font-weight:600;margin-top:7px}
.ep-qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
.ep-qa-card{background:white;border:1px solid var(--g150);border-radius:var(--rlg);padding:20px 22px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .2s}
.ep-qa-card:hover{border-color:var(--blue-400);box-shadow:var(--sh-md);transform:translateY(-2px)}
.ep-qa-ico{width:40px;height:40px;border-radius:var(--r);display:grid;place-items:center;font-size:1.2rem;flex-shrink:0}
.ep-qa-blue{background:var(--blue-50)}.ep-qa-green{background:var(--green-bg)}
.ep-qa-title{font-size:.88rem;font-weight:600;color:var(--g900);margin-bottom:2px;letter-spacing:-.01em}
.ep-qa-desc{font-size:.78rem;color:var(--g400);line-height:1.4}
.ep-qa-arr{margin-left:auto;color:var(--g300);transition:color .15s}
.ep-qa-card:hover .ep-qa-arr{color:var(--blue-500)}
.ep-upg-bar{background:linear-gradient(135deg,var(--g900),#1e1b4b);border-radius:var(--rlg);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.ep-upg-bar h3{font-size:.9rem;font-weight:700;color:white;margin-bottom:2px;letter-spacing:-.01em}
.ep-upg-bar p{font-size:.8rem;color:rgba(255,255,255,.5)}

/* ── STEPPER ── */
.ep-stepper{display:flex;align-items:center;margin-bottom:22px;overflow-x:auto;padding-bottom:3px}
.ep-s-step{display:flex;align-items:center;gap:9px;flex-shrink:0}
.ep-s-circle{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--g300);display:grid;place-items:center;font-size:.72rem;font-weight:700;color:var(--g400);background:white;transition:all .2s}
.ep-s-step.active .ep-s-circle{background:var(--blue-600);border-color:var(--blue-600);color:white}
.ep-s-step.done .ep-s-circle{background:var(--green);border-color:var(--green);color:white}
.ep-s-label{font-size:.8rem;font-weight:600;color:var(--g400);transition:color .2s;letter-spacing:-.005em}
.ep-s-step.active .ep-s-label{color:var(--g900)}
.ep-s-step.done .ep-s-label{color:var(--g500)}
.ep-s-line{flex:1;height:1px;background:var(--g200);margin:0 10px;min-width:20px}

/* ── STEP CARD ── */
.ep-step-panel{display:none}
.ep-step-active{display:block}
.ep-step-card{background:white;border:1px solid var(--g150);border-radius:var(--rxl);overflow:visible;box-shadow:var(--sh-sm)}
.ep-result-card{background:white;border:1px solid var(--g150);border-radius:var(--rxl);overflow:visible;box-shadow:var(--sh-sm);margin-bottom:14px;padding:18px 22px}
.ep-sc-hdr{padding:22px 26px 0}
.ep-sc-hdr h2{font-size:1.03rem;font-weight:600;color:var(--g900);margin-bottom:3px;letter-spacing:-.02em}
.ep-sc-hdr p{font-size:.845rem;color:var(--g400)}
.ep-sc-body{padding:20px 26px}
.ep-sc-foot{padding:16px 26px;background:var(--g25);border-top:1px solid var(--g150);display:flex;gap:9px;align-items:center}

/* ── TILES ── */
.ep-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px}
.ep-tile{background:var(--g50);border:1.5px solid var(--g200);border-radius:var(--rlg);padding:16px 12px;text-align:center;cursor:pointer;transition:all .15s}
.ep-tile:hover{background:var(--blue-50);border-color:var(--blue-200)}
.ep-tile-active{background:var(--blue-50)!important;border-color:var(--blue-500)!important}
.ep-tile-ico{font-size:1.5rem;display:block;margin-bottom:9px}
.ep-tile-lbl{font-size:.78rem;font-weight:600;color:var(--g700);letter-spacing:-.01em}
.ep-tile-active .ep-tile-lbl{color:var(--blue-700)}

/* ── CHECKS ── */
.ep-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:7px}
.ep-check-item{display:flex;align-items:center;gap:9px;background:var(--g50);border:1px solid var(--g200);border-radius:7px;padding:8px 11px;cursor:pointer;font-size:.83rem;font-weight:500;color:var(--g700);transition:all .15s;letter-spacing:-.005em}
.ep-check-item:hover{border-color:var(--blue-300);background:var(--blue-50)}
.ep-check-item input{accent-color:var(--blue-600);width:13px;height:13px;flex-shrink:0}

/* ── MODEL ── */
.ep-model-btns{display:flex;gap:9px;margin-bottom:20px}
.ep-model-btn{flex:1;padding:14px;border-radius:var(--rlg);background:var(--g50);border:1.5px solid var(--g200);font-size:.86rem;font-weight:700;color:var(--g500);cursor:pointer;transition:all .15s;text-align:left;letter-spacing:-.01em;font-family:var(--font)}
.ep-model-ico{font-size:1.25rem;display:block;margin-bottom:7px}
.ep-model-lbl{display:block}
.ep-model-sub{font-size:.75rem;font-weight:400;color:var(--g400);margin-top:2px;display:block}
.ep-model-btn:hover{border-color:var(--blue-300);background:var(--blue-50)}
.ep-model-active{background:var(--blue-50)!important;border-color:var(--blue-500)!important;color:var(--blue-700)!important}
.ep-model-active .ep-model-sub{color:var(--blue-500)!important}

/* ── RESULTS ── */
.ep-res-hero{background:var(--blue-600);border-radius:var(--rxl);padding:26px 30px;margin-bottom:16px;position:relative;overflow:hidden}
.ep-res-hero .ep-res-label,.ep-res-hero .ep-res-amount,.ep-res-hero .ep-res-pills{position:relative;z-index:1;overflow-wrap:break-word;word-break:break-word}
.ep-res-hero::after{content:'';position:absolute;right:-70px;top:-70px;width:260px;height:260px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 60%)}
.ep-res-label{font-size:.72rem;font-weight:600;color:rgba(255,255,255,.6);letter-spacing:.07em;text-transform:uppercase;margin-bottom:7px}
.ep-res-amount{font-family:var(--serif);font-size:clamp(2.3rem,5vw,3.2rem);color:white;font-weight:300;letter-spacing:-.03em;margin-bottom:14px;position:relative}
.ep-res-pills{display:flex;flex-wrap:wrap;gap:7px;position:relative}
.ep-res-pill{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);padding:3px 11px;border-radius:99px;font-size:.78rem;font-weight:600;color:rgba(255,255,255,.9)}
.ep-res-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-bottom:16px}
.ep-res-metric{background:white;border:1px solid var(--g150);border-radius:var(--rlg);padding:16px;text-align:center}
.ep-res-metric-val{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:var(--g900);letter-spacing:-.02em}
.ep-res-metric-lbl{font-size:.72rem;color:var(--g400);font-weight:500;margin-top:3px}
.ep-res-table-card{background:white;border:1px solid var(--g150);border-radius:var(--rxl);overflow:hidden;margin-bottom:16px}
.ep-res-table-hdr{padding:14px 22px;font-size:.82rem;font-weight:700;color:var(--g600);border-bottom:1px solid var(--g150);background:var(--g25);letter-spacing:-.01em}
.ep-rtable{width:100%;border-collapse:collapse;font-size:.835rem}
.ep-rtable th{text-align:left;padding:9px 16px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--g400);background:var(--g25);border-bottom:1px solid var(--g150)}
.ep-rtable td{padding:11px 16px;border-bottom:1px solid var(--g50);color:var(--g700);vertical-align:top}
.ep-rtable tr:last-child td{border-bottom:none}
.ep-rtable tr:hover td{background:var(--g25)}
.ep-rtable .ep-tot td{background:var(--blue-50);font-weight:700;color:var(--blue-900)}

/* ── PROPOSAL PREVIEW ── */
.ep-prop-doc{background:white;border:1px solid var(--g150);border-radius:var(--rxl);overflow:hidden}
.ep-prop-cover{background:var(--blue-700);padding:40px 36px 32px;position:relative;overflow:hidden}
.ep-prop-cover::before{content:'';position:absolute;right:-120px;top:-120px;width:380px;height:380px;background:radial-gradient(circle,rgba(255,255,255,.07) 0%,transparent 60%)}
.ep-cov-agency{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:18px;position:relative}
.ep-cov-title{font-family:var(--serif);font-size:2rem;color:white;line-height:1.15;margin-bottom:7px;position:relative;letter-spacing:-.01em;font-weight:300}
.ep-cov-for{font-size:.92rem;color:rgba(255,255,255,.55);margin-bottom:24px;position:relative}
.ep-cov-tags{display:flex;flex-wrap:wrap;gap:7px;position:relative;margin-bottom:24px}
.ep-cov-tag{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);padding:3px 11px;border-radius:99px;font-size:.76rem;color:rgba(255,255,255,.8);font-weight:500}
.ep-cov-foot{display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:.78rem;color:rgba(255,255,255,.4);flex-wrap:wrap;gap:7px;position:relative}
.ep-cov-foot strong{color:rgba(255,255,255,.72)}
.ep-prop-sec{padding:26px 32px;border-bottom:1px solid var(--g100)}
.ep-prop-sec:last-child{border-bottom:none}
.ep-prop-sec.ep-alt{background:var(--g25)}
.ep-sec-num{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-600);margin-bottom:3px}
.ep-sec-title{font-family:var(--serif);font-size:1.25rem;color:var(--g900);margin-bottom:12px;letter-spacing:-.01em;font-weight:300}
.ep-sec-body{font-size:.86rem;color:var(--g600);line-height:1.85;white-space:pre-wrap}
.ep-prop-phases{display:flex;flex-direction:column;gap:9px}
.ep-prop-phase{display:flex;align-items:flex-start;gap:12px;background:white;border:1px solid var(--g150);border-radius:var(--rlg);padding:14px 16px}
.ep-phase-n{width:28px;height:28px;border-radius:50%;background:var(--blue-600);color:white;display:grid;place-items:center;font-size:.72rem;font-weight:800;flex-shrink:0}
.ep-phase-name{font-size:.86rem;font-weight:600;color:var(--g900);margin-bottom:3px;letter-spacing:-.01em}
.ep-phase-dur{display:inline-block;background:var(--blue-50);color:var(--blue-700);font-size:.68rem;font-weight:700;padding:2px 9px;border-radius:99px;margin-right:4px}
.ep-phase-desc{font-size:.78rem;color:var(--g400);margin-top:5px}
.ep-ms-list{display:flex;flex-direction:column;gap:9px}
.ep-ms-item{display:flex;align-items:center;justify-content:space-between;background:var(--g25);border:1px solid var(--g150);border-radius:var(--rlg);padding:13px 16px;flex-wrap:wrap;gap:7px}
.ep-ms-name{font-size:.86rem;font-weight:600;color:var(--g900);letter-spacing:-.01em}
.ep-ms-pct{font-size:.76rem;color:var(--g400);margin-top:2px}
.ep-ms-amt{font-family:var(--serif);font-size:1.1rem;color:var(--blue-600);font-weight:300}
.ep-ms-total{display:flex;justify-content:space-between;align-items:center;background:var(--blue-600);border-radius:var(--rlg);padding:14px 20px;margin-top:12px;flex-wrap:wrap;gap:7px}
.ep-ms-total-lbl{font-size:.8rem;color:rgba(255,255,255,.65);font-weight:500}
.ep-ms-total-val{font-family:var(--serif);font-size:1.35rem;color:white;font-weight:300}
.ep-scope-disp{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.ep-scope-tag-disp{background:var(--g100);color:var(--g700);border:1px solid var(--g200);padding:4px 11px;border-radius:99px;font-size:.78rem;font-weight:500}
.ep-why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.ep-why-card{background:white;border:1px solid var(--g150);border-radius:var(--rlg);padding:16px}
.ep-why-ico{font-size:1.2rem;margin-bottom:8px}
.ep-why-title{font-size:.84rem;font-weight:600;color:var(--g900);margin-bottom:3px;letter-spacing:-.01em}
.ep-why-desc{font-size:.78rem;color:var(--g400);line-height:1.6}
.ep-terms-list{display:flex;flex-direction:column;gap:9px}
.ep-term-row{display:flex;gap:10px;font-size:.83rem;color:var(--g600);line-height:1.7}
.ep-term-n{font-weight:700;color:var(--blue-600);flex-shrink:0;min-width:18px}
.ep-sig-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:14px}
.ep-sig-block{border-top:2px solid var(--g900);padding-top:10px}
.ep-sig-name{font-size:.88rem;font-weight:600;color:var(--g900);letter-spacing:-.01em}
.ep-sig-role{font-size:.76rem;color:var(--g400);margin-top:2px}
.ep-sig-date{font-size:.74rem;color:var(--g300);margin-top:12px}

/* ── SCOPE INPUT TAGS ── */
.ep-scope-grid{display:flex;flex-wrap:wrap;gap:7px;margin-top:3px}
.ep-scope-inp-tag{padding:5px 13px;border-radius:99px;border:1.5px solid var(--g200);background:white;font-size:.8rem;font-weight:500;color:var(--g500);cursor:pointer;transition:all .15s;letter-spacing:-.005em;font-family:var(--font)}
.ep-scope-inp-tag:hover{border-color:var(--blue-300);color:var(--blue-600)}
.ep-scope-inp-tag.active{background:var(--blue-50);border-color:var(--blue-500);color:var(--blue-700)}

/* ── MILESTONE EDITOR ── */
.ep-ms-editor{background:var(--g50);border:1px solid var(--g200);border-radius:var(--rlg);padding:16px}
.ep-ms-ed-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ep-ms-ed-lbl{font-size:.8rem;font-weight:700;color:var(--g700);letter-spacing:-.01em}
.ep-ms-rows{display:flex;flex-direction:column;gap:7px}
.ep-ms-row-edit{display:grid;grid-template-columns:1fr 64px 104px 30px;gap:7px;align-items:end}
.ep-ms-del{width:30px;height:34px;border-radius:6px;background:var(--red-bg);border:1px solid #fecaca;color:var(--red);cursor:pointer;display:grid;place-items:center;transition:background .15s;font-size:.85rem;margin-top:19px}
.ep-ms-del:hover{background:#fee2e2}
.ep-ms-add{display:flex;align-items:center;gap:6px;background:none;border:1.5px dashed var(--g300);color:var(--g400);padding:7px 14px;border-radius:7px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:var(--font)}
.ep-ms-add:hover{border-color:var(--blue-400);color:var(--blue-600);background:var(--blue-50)}

/* ── DOCUMENTS ── */
.ep-tab-bar{display:flex;gap:3px;background:var(--g100);border-radius:7px;padding:4px;width:fit-content;margin-bottom:18px}
.ep-tab-pill{padding:6px 16px;border-radius:6px;background:transparent;border:none;font-size:.82rem;font-weight:600;color:var(--g500);cursor:pointer;transition:all .15s;letter-spacing:-.01em;font-family:var(--font)}
.ep-tab-active{background:white!important;color:var(--g900)!important;box-shadow:var(--sh-sm)}
.ep-tab-pane{display:none}
.ep-tab-pane-active{display:block}
.ep-data-card{background:white;border:1px solid var(--g150);border-radius:var(--rxl);overflow:hidden}
.ep-data-card-hdr{padding:12px 20px;background:var(--g25);border-bottom:1px solid var(--g150);font-size:.8rem;font-weight:700;color:var(--g500);letter-spacing:.005em}
.ep-dtable{width:100%;border-collapse:collapse;font-size:.835rem}
.ep-dtable th{padding:9px 18px;text-align:left;font-size:.69rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--g400);border-bottom:1px solid var(--g150);background:var(--g25)}
.ep-dtable td{padding:12px 18px;border-bottom:1px solid var(--g50);color:var(--g700);vertical-align:middle}
.ep-dtable tr:last-child td{border-bottom:none}
.ep-dtable tr:hover td{background:var(--g25)}
.ep-badge{display:inline-block;padding:2px 9px;border-radius:99px;font-size:.7rem;font-weight:700}
.ep-badge-blue{background:var(--blue-50);color:var(--blue-700)}
.ep-badge-green{background:var(--green-bg);color:var(--green)}
.ep-empty-state{text-align:center;padding:52px 24px;background:white;border:1px solid var(--g150);border-radius:var(--rxl)}
.ep-es-ico{font-size:2rem;margin-bottom:12px;opacity:.35}
.ep-empty-state p{font-size:.86rem;color:var(--g400);margin-bottom:16px}
.ep-loading{text-align:center;padding:40px;color:var(--g400);font-size:.875rem}

/* ── SUBSCRIPTION ── */
.ep-sub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;max-width:900px}
.ep-sub-card{background:white;border:1.5px solid var(--g200);border-radius:var(--rxl);padding:26px;position:relative;transition:all .2s}
.ep-sub-card:hover{box-shadow:var(--sh-md)}
.ep-sub-current{border-color:var(--blue-400)!important}
.ep-sub-feat{background:var(--blue-600)!important;border-color:var(--blue-600)!important}
.ep-sub-feat *{color:white!important;border-color:rgba(255,255,255,.15)!important}
.ep-sub-pop{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--amber);color:white;font-size:.66rem;font-weight:700;padding:2px 12px;border-radius:99px;white-space:nowrap}
.ep-sub-badge-curr{display:inline-block;background:var(--blue-50);color:var(--blue-600);font-size:.7rem;font-weight:700;padding:2px 10px;border-radius:99px;margin-bottom:10px}
.ep-sub-tier{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--g400);margin-bottom:7px}
.ep-sub-price{font-family:var(--serif);font-size:2.3rem;color:var(--g900);letter-spacing:-.02em;margin-bottom:4px;font-weight:300}
.ep-sub-price span{font-family:var(--font);font-size:.86rem;font-weight:400;color:var(--g400)}
.ep-sub-desc{font-size:.82rem;color:var(--g500);line-height:1.6;margin-bottom:18px}
.ep-sub-feats{list-style:none;display:flex;flex-direction:column;gap:7px;margin-bottom:22px}
.ep-sub-feats li{display:flex;align-items:center;gap:7px;font-size:.83rem;color:var(--g700)}
.ep-tick{color:var(--green);font-weight:700;font-size:.8rem}
.ep-cross{color:var(--g300);font-size:.8rem}

/* ── ACCOUNT ── */
.ep-settings-card{background:white;border:1px solid var(--g150);border-radius:var(--rxl);padding:24px;max-width:500px;margin-bottom:18px}
.ep-settings-title{font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--g400);padding-bottom:14px;border-bottom:1px solid var(--g100);margin-bottom:18px}

/* ── TOASTS ── */
#ep-toasts{position:fixed;bottom:22px;right:22px;z-index:99999;display:flex;flex-direction:column;gap:7px;pointer-events:none}
.ep-toast{display:flex;align-items:center;gap:9px;padding:11px 15px;border-radius:var(--rlg);font-size:.83rem;font-weight:600;letter-spacing:-.01em;background:var(--g900);color:white;box-shadow:var(--sh-xl);animation:epToastIn .18s ease;pointer-events:auto}
.ep-toast-success{background:#065f46}
.ep-toast-error{background:#7f1d1d}
.ep-toast-info{background:var(--blue-700)}
@keyframes epToastIn{from{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:none}}

/* ── MODAL ── */
.ep-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:99998;display:none;place-items:center;padding:20px;backdrop-filter:blur(4px)}
.ep-modal-open{display:grid!important}
.ep-modal{background:white;border-radius:var(--rxl);padding:32px;max-width:390px;width:100%;text-align:center;box-shadow:var(--sh-xl);position:relative;animation:epModalIn .18s ease}
@keyframes epModalIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.ep-modal-close{position:absolute;top:14px;right:14px;background:var(--g100);border:none;border-radius:7px;width:28px;height:28px;font-size:.82rem;cursor:pointer;color:var(--g500);font-family:var(--font)}
.ep-modal h2{font-size:1.15rem;font-weight:700;color:var(--g900);margin:12px 0 7px;letter-spacing:-.02em}
.ep-modal p{font-size:.86rem;color:var(--g400);line-height:1.7;margin-bottom:22px}

/* ── MOBILE OVERLAY ── */
#ep-sb-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:19}
#ep-sb-ov.on{display:block}
@media(max-width:900px){
  .ep-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:20;transform:translateX(-100%)}
  .ep-sidebar.open{transform:translateX(0);box-shadow:var(--sh-xl)}
  .ep-burger{display:flex}
  .ep-content{padding:18px 14px}
}
@media(max-width:640px){
  .ep-field-row{grid-template-columns:1fr}
  .ep-qa-grid{grid-template-columns:1fr}
  .ep-tile-grid{grid-template-columns:repeat(2,1fr)}
  .ep-model-btns{flex-direction:column}
  .ep-sig-grid{grid-template-columns:1fr}
  .ep-ms-row-edit{grid-template-columns:1fr 56px 86px 30px}
  .ep-tb-chip{display:none}
  .ep-stats-row{grid-template-columns:repeat(2,1fr)}
}

/* ════════════════════════════════════════
   FULLSCREEN PAGE RESET
   Strips WP theme chrome from our pages
════════════════════════════════════════ */
body.ep-fullscreen-page {
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  overflow-x: hidden;
}
body.ep-fullscreen-page #wpadminbar { display: none !important; }
body.ep-fullscreen-page html { margin-top: 0 !important; }

/* ════════════════════════════════════════
   LANDING PAGE
════════════════════════════════════════ */
#ep-landing {
  font-family: var(--font);
  color: var(--g900);
  -webkit-font-smoothing: antialiased;
  background: var(--g0);
}

/* Nav */
.ep-ln-nav {
  position: sticky; top: 0; z-index: 100;
  display: flex; align-items: center;
  padding: 0 5%; height: 64px;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid var(--g150);
}
.ep-ln-logo { display: flex; align-items: center; gap: 10px; }
.ep-ln-name { font-size: .9rem; font-weight: 700; letter-spacing: -.02em; color: var(--g900); }
.ep-ln-name span { color: var(--blue-600); }
.ep-ln-links { display: flex; gap: 32px; margin-left: 48px; }
.ep-ln-links a { font-size: .85rem; font-weight: 500; color: var(--g500); text-decoration: none; transition: color .15s; }
.ep-ln-links a:hover { color: var(--g900); }
.ep-ln-right { margin-left: auto; display: flex; gap: 10px; align-items: center; }

/* Hero */
.ep-hero {
  padding: 96px 5% 80px;
  background: linear-gradient(160deg, #f5f7ff 0%, var(--g0) 60%);
}
.ep-hero-inner { max-width: 1100px; margin: 0 auto; }
.ep-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--blue-50); color: var(--blue-600);
  font-size: .75rem; font-weight: 600; letter-spacing: .03em;
  padding: 5px 14px; border-radius: 99px;
  border: 1px solid var(--blue-200); margin-bottom: 28px;
}
.ep-hero-badge span {
  width: 6px; height: 6px; background: var(--blue-500);
  border-radius: 50%; animation: epBlink 2s ease-in-out infinite;
}
@keyframes epBlink { 0%,100%{opacity:1} 50%{opacity:.3} }
.ep-hero h1 {
  font-family: var(--serif);
  font-size: clamp(2.6rem, 5vw, 4.5rem);
  line-height: 1.1; letter-spacing: -.02em;
  color: var(--g900); max-width: 760px;
  margin-bottom: 22px; font-weight: 300;
}
.ep-hero h1 em { font-style: italic; color: var(--blue-600); }
.ep-hero p {
  font-size: 1.05rem; color: var(--g500);
  max-width: 520px; line-height: 1.75; margin-bottom: 36px;
}
.ep-hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 64px; }
.ep-hero-stats {
  display: flex; gap: 48px; flex-wrap: wrap;
  padding-top: 36px; border-top: 1px solid var(--g150);
}
.ep-stat-n { font-family: var(--serif); font-size: 2rem; color: var(--g900); line-height: 1; font-weight: 300; }
.ep-stat-l { font-size: .78rem; color: var(--g400); font-weight: 500; margin-top: 4px; }

/* Sections */
.ep-ln-section { padding: 80px 5%; }
.ep-ln-alt { background: var(--g25); }
.ep-ln-inner { max-width: 1100px; margin: 0 auto; }
.ep-kicker { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--blue-600); margin-bottom: 10px; }
.ep-ln-section h2 { font-family: var(--serif); font-size: clamp(1.8rem,3vw,2.5rem); letter-spacing: -.02em; color: var(--g900); margin-bottom: 10px; font-weight: 300; }
.ep-ln-sub { font-size: .95rem; color: var(--g500); max-width: 480px; line-height: 1.7; margin-bottom: 44px; }

/* Feature grid */
.ep-feat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1px; background: var(--g150);
  border: 1px solid var(--g150); border-radius: var(--rlg); overflow: hidden;
}
.ep-feat-item { background: var(--g0); padding: 28px 24px; transition: background .15s; }
.ep-feat-item:hover { background: var(--blue-50); }
.ep-feat-ico { font-size: 1.4rem; margin-bottom: 14px; display: block; }
.ep-feat-item h3 { font-size: .9rem; font-weight: 600; color: var(--g900); margin-bottom: 6px; letter-spacing: -.01em; }
.ep-feat-item p { font-size: .83rem; color: var(--g500); line-height: 1.65; }

/* How it works */
.ep-how-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; margin-top: 40px; }
.ep-how-card { background: var(--g0); border: 1px solid var(--g150); border-radius: var(--rlg); padding: 28px; }
.ep-how-num { font-family: var(--serif); font-size: 2.5rem; color: var(--blue-200); font-weight: 300; line-height: 1; margin-bottom: 14px; }
.ep-how-card h3 { font-size: .95rem; font-weight: 600; color: var(--g900); margin-bottom: 8px; letter-spacing: -.01em; }
.ep-how-card p { font-size: .83rem; color: var(--g500); line-height: 1.65; }

/* Pricing */
.ep-price-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 18px; max-width: 900px; }
.ep-pc { background: var(--g0); border: 1.5px solid var(--g200); border-radius: var(--rxl); padding: 28px; position: relative; transition: all .2s; }
.ep-pc:hover { box-shadow: var(--sh-lg); transform: translateY(-2px); }
.ep-pc-feat { background: var(--blue-600) !important; border-color: var(--blue-600) !important; }
.ep-pc-feat * { color: white !important; border-color: rgba(255,255,255,.15) !important; }
.ep-pc-pop { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); background: var(--amber); color: white; font-size: .68rem; font-weight: 700; padding: 3px 14px; border-radius: 99px; white-space: nowrap; }
.ep-pc-tier { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--g400); margin-bottom: 8px; }
.ep-pc-price { font-family: var(--serif); font-size: 2.4rem; color: var(--g900); letter-spacing: -.02em; margin-bottom: 4px; font-weight: 300; }
.ep-pc-price span { font-family: var(--font); font-size: .88rem; font-weight: 400; color: var(--g400); }
.ep-pc-desc { font-size: .83rem; color: var(--g500); line-height: 1.6; margin-bottom: 20px; }
.ep-pc-feats { list-style: none; display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; }
.ep-pc-feats li { display: flex; align-items: center; gap: 9px; font-size: .845rem; }

/* CTA strip */
.ep-ln-cta {
  background: linear-gradient(135deg, var(--blue-700), var(--blue-900));
  padding: 80px 5%; text-align: center;
}
.ep-ln-cta h2 { font-family: var(--serif); font-size: clamp(1.8rem,3vw,2.5rem); color: white; font-weight: 300; margin-bottom: 12px; }
.ep-ln-cta p { font-size: .95rem; color: rgba(255,255,255,.65); margin-bottom: 32px; }

/* Footer */
.ep-ln-footer { background: var(--g900); padding: 28px 5%; }
.ep-ln-footer-inner { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.ep-ln-footer-brand { display: flex; align-items: center; gap: 8px; }
.ep-ln-footer-brand span { font-size: .85rem; font-weight: 600; color: rgba(255,255,255,.6); }
.ep-ln-footer-links { display: flex; gap: 24px; }
.ep-ln-footer-links a { font-size: .8rem; color: var(--g500); text-decoration: none; transition: color .15s; }
.ep-ln-footer-links a:hover { color: white; }
.ep-ln-footer-copy { font-size: .78rem; color: var(--g600); }

/* Responsive landing */
@media(max-width:768px){
  .ep-ln-links { display: none; }
  .ep-hero { padding: 64px 5% 56px; }
  .ep-hero-stats { gap: 28px; }
  .ep-how-grid { grid-template-columns: 1fr; }
  .ep-ln-footer-inner { flex-direction: column; text-align: center; }
}

/* Button overrides for anchor tags */
a.ep-btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }

/* ── GLOBAL / RESPONSIVE ADDITIONS v4 ── */
@media(max-width:900px){
  .ep-stats-row{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:600px){
  .ep-stats-row{grid-template-columns:repeat(2,1fr)!important}
}
.ep-qa-card{display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--g150);border-radius:var(--rlg);padding:14px 18px;cursor:pointer;transition:all .18s}
.ep-qa-card:hover{border-color:#bfdbfe;box-shadow:0 4px 16px rgba(37,99,235,.08);transform:translateY(-1px)}
.ep-qa-arr{margin-left:auto;color:var(--g300);transition:color .15s;font-size:.95rem}
.ep-qa-card:hover .ep-qa-arr{color:var(--blue-600)}

/* EstimatePro — Global Platform, Multi-currency */

.ep-client-card{background:white;border:1px solid #e5e7eb;border-radius:13px;padding:18px;transition:box-shadow .2s,border-color .2s;position:relative}
.ep-client-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);border-color:#bfdbfe}

/* ── RESULT DISPLAY CARDS v4.1 ── */
.ep-result-section{background:white;border:1px solid #e5e7eb;border-radius:12px;padding:18px 22px;margin-bottom:14px;overflow:visible}
.ep-result-section-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#374151;margin-bottom:10px}
.ep-result-badge{display:inline-flex;align-items:center;background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe;padding:4px 12px;border-radius:99px;font-size:.78rem;font-weight:600;margin:3px;white-space:nowrap}
.ep-result-text{font-size:.85rem;color:#6b7280;line-height:1.75;word-break:break-word;overflow-wrap:break-word;white-space:pre-wrap}
.ep-result-deliver-item{display:flex;align-items:flex-start;gap:8px;font-size:.85rem;color:#374151;padding:3px 0}
.ep-result-deliver-check{color:#16a34a;font-weight:700;flex-shrink:0;margin-top:1px}
/* Fix client dropdown in forms */
#ep-e-client-select,#ep-p-client-select{width:100%;height:40px;padding:0 12px;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:9px;font-family:var(--font);font-size:.86rem;color:var(--g900);outline:none;transition:all .15s;cursor:pointer}
#ep-e-client-select:focus,#ep-p-client-select:focus{background:white;border-color:var(--blue-600);box-shadow:0 0 0 3px rgba(37,99,235,.1)}

/* ── WATERFALL PHASE EDITOR ── */
.ep-wf-phase-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:6px}
.ep-wf-phase-row input[type=text]{flex:1;border:1px solid #e5e7eb;border-radius:6px;padding:5px 9px;font-size:.83rem;font-family:var(--font);background:white;outline:none}
.ep-wf-phase-row input[type=text]:focus{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.1)}
.ep-wf-phase-row input[type=number]{border:1px solid #e5e7eb;border-radius:6px;padding:5px 7px;font-size:.83rem;font-family:var(--font);text-align:center;background:white;outline:none}
.ep-wfp-del{width:24px;height:24px;border-radius:6px;border:1px solid #fecaca;background:#fff5f5;color:#ef4444;cursor:pointer;font-size:11px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.ep-wfp-del:hover{background:#fef2f2}
/* ── EDITABLE WF TABLE INPUTS ── */
#ep-wf-edit-table input[type=text]{border:1px solid transparent;border-radius:5px;padding:3px 5px;font-size:.85rem;transition:all .15s}
#ep-wf-edit-table input[type=text]:hover,#ep-wf-edit-table input[type=text]:focus{border-color:#2563eb;background:#eff6ff;outline:none}
#ep-wf-edit-table input[type=number]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.1)}

/* ── ENHANCED CLIENT CARDS ── */
.ep-client-card{background:white;border:1px solid #e5e7eb;border-radius:13px;padding:18px;transition:all .2s;overflow:hidden}
.ep-client-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.09);border-color:#d1d5db;transform:translateY(-2px)}
/* ── TERMS/PRIVACY LINKS ── */
#ep-view-terms h2,#ep-view-privacy h2{border-left:3px solid #2563eb;padding-left:12px}
/* ── SUBSCRIPTION COMPARISON TABLE ── */
#ep-view-subscription table th{font-weight:700}

/* ── EDITABLE PROPOSAL/ESTIMATE SECTIONS ── */
.ep-editable{border:1px solid transparent;border-radius:6px;padding:6px 8px;cursor:text;transition:all .15s;outline:none;line-height:1.75}
.ep-editable:hover{border-color:#bfdbfe;background:#f8faff}
.ep-editable:focus{border-color:#2563eb;background:#f0f7ff;box-shadow:0 0 0 3px rgba(37,99,235,.08)}
.ep-edit-hint{font-size:.7rem;color:#9ca3af;margin-left:auto;font-weight:400}
.ep-prop-sec-hdr{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:4px}
/* ── TEAM ROLE CARD ── */
.ep-team-role-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:14px;transition:border-color .15s}
.ep-team-role-card:hover{border-color:#bfdbfe}
/* ── MOBILE RESPONSIVE ── */
@media(max-width:768px){
  :root{--sb:0px}
  #ep-app{flex-direction:column}
  .ep-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:200;transform:translateX(-100%);width:240px!important}
  .ep-sidebar.open{transform:translateX(0)}
  #ep-sb-ov{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:199;display:none}
  #ep-sb-ov.on{display:block}
  .ep-main{width:100%;min-height:100vh}
  .ep-topbar{padding:0 14px;gap:8px}
  .ep-content{padding:16px 14px}
  .ep-stats-row{grid-template-columns:repeat(2,1fr)!important}
  .ep-field-row{flex-direction:column}
  .ep-model-btns{flex-direction:column}
  .ep-banner{flex-direction:column;gap:12px;padding:18px}
  .ep-banner>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
  .ep-step-card .ep-sc-body{padding:14px 16px}
  .ep-step-card .ep-sc-hdr{padding:16px 16px 0}
  .ep-step-card .ep-sc-foot{padding:12px 16px;gap:8px;flex-wrap:wrap}
  #ep-team-roles-grid{grid-template-columns:1fr!important}
  .ep-res-metrics{grid-template-columns:repeat(2,1fr)!important}
  .ep-rtable{font-size:.75rem}
  .ep-rtable th,.ep-rtable td{padding:6px 8px}
  .ep-sub-grid,.ep-sub-grid>div{grid-template-columns:1fr!important;transform:none!important;box-shadow:none!important}
  .ep-prop-doc{font-size:.85rem}
  .ep-prop-cover{padding:24px 18px 20px}
  .ep-cov-title{font-size:1.4rem!important}
  .ep-prop-sec{padding:18px 16px!important}
  .ep-settings-card{margin-bottom:14px}
  .ep-data-card table{font-size:.78rem}
  .ep-wf-phase-row{flex-wrap:wrap}
  .ep-tb-right .ep-tb-chip{display:none}
  .ep-client-card{padding:14px}
  .ep-crumb-base{display:none}
}
@media(max-width:480px){
  .ep-stats-row{grid-template-columns:1fr 1fr}
  .ep-tile-grid{grid-template-columns:repeat(2,1fr)!important}
  .ep-prop-cover{padding:18px 14px 16px}
  .ep-res-hero{padding:18px 16px}
  .ep-res-amount{font-size:2rem!important}
  .ep-btn{font-size:.8rem;padding:7px 12px}
}
@media(min-width:769px){
  #ep-sb-ov{display:none!important}
}

/* ── PROPOSAL EDITABLE FIELDS ── */
.ep-prop-edit{cursor:text;border-radius:4px;transition:all .15s;outline:none}
.ep-prop-edit:hover{background:rgba(37,99,235,.06);box-shadow:0 0 0 2px rgba(37,99,235,.15)}
.ep-prop-edit:focus{background:rgba(37,99,235,.08);box-shadow:0 0 0 2px #2563eb;border-radius:4px}
/* Special: cover editable items */
.ep-prop-cover .ep-prop-edit:hover{background:rgba(255,255,255,.12)}
.ep-prop-cover .ep-prop-edit:focus{background:rgba(255,255,255,.18);box-shadow:0 0 0 2px rgba(255,255,255,.5)}
/* Table cell editable */
.ep-tbl-edit{cursor:text;border-radius:4px;padding:2px 4px;transition:all .15s;outline:none;min-width:20px;display:inline-block}
.ep-tbl-edit:hover{background:#eff6ff}
.ep-tbl-edit:focus{background:#dbeafe;box-shadow:0 0 0 1px #2563eb}
/* ep-prop-sec header flex */
.ep-prop-sec-hdr{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:6px}
/* ep-step-card inner elements */
.ep-sc-hdr{padding:20px 22px 0;background:white}
.ep-sc-body{padding:18px 22px;background:white}
.ep-sc-foot{padding:14px 22px;background:white;border-top:1px solid #f3f4f6;display:flex;gap:10px;flex-wrap:wrap}
/* Fix waterfall phase row button - ensure visible */
#ep-wf-opts{overflow:visible!important}
#ep-wf-phases{max-height:400px;overflow-y:auto;padding-right:4px}
.ep-wf-phase-row button{flex-shrink:0}

.ep-tmpl-btn{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;font-size:.75rem;padding:4px 10px;border-radius:6px;cursor:pointer;font-family:inherit;transition:all .15s}.ep-tmpl-btn:hover{background:#dbeafe;border-color:#93c5fd}


/* Proposal and scope template cards */
.ep-template-panel{background:linear-gradient(180deg,#f8fbff 0%,#f8fafc 100%);border:1px solid #dbeafe;border-radius:16px;padding:16px 18px}
.ep-template-panel-soft{background:linear-gradient(180deg,#fcfdff 0%,#f8fafc 100%);border-color:#e5e7eb}
.ep-template-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.ep-template-kicker{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#2563eb;margin-bottom:4px}
.ep-template-title{font-size:.98rem;font-weight:800;color:#0f172a}
.ep-template-note{max-width:420px;font-size:.76rem;line-height:1.5;color:#64748b}
.ep-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ep-template-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ep-template-card,.ep-scope-template-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:white;border:1px solid #dbeafe;border-radius:14px;padding:14px 15px;cursor:pointer;font-family:inherit;transition:all .18s ease;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.ep-template-card:hover,.ep-scope-template-card:hover{transform:translateY(-1px);border-color:#93c5fd;box-shadow:0 10px 24px rgba(37,99,235,.08)}
.ep-template-card.active,.ep-scope-template-card.active{border-color:#2563eb;background:linear-gradient(180deg,#eff6ff 0%,#ffffff 100%);box-shadow:0 0 0 2px rgba(37,99,235,.08)}
.ep-template-emoji{font-size:1.25rem;line-height:1}
.ep-template-name{font-size:.84rem;font-weight:800;color:#0f172a}
.ep-template-desc{font-size:.75rem;line-height:1.45;color:#64748b}
@media (max-width: 980px){.ep-template-grid,.ep-template-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 640px){.ep-template-grid,.ep-template-grid-3{grid-template-columns:1fr;}}
