:root{
  --bg:#f6f8fb;
  --surface:#ffffff;
  --text:#152238;
  --muted:#718096;
  --line:#e5eaf0;
  --line-strong:#d8e0e8;
  --primary:#099a75;
  --primary-dark:#08795f;
  --primary-soft:#eaf8f3;
  --sidebar:#ffffff;
  --blue:#397bf6;
  --amber:#e8a12f;
}
*{box-sizing:border-box}
html{min-height:100%}
body{
  margin:0;
  min-height:100%;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
.sidebar{
  position:sticky;top:0;height:100vh;
  background:var(--sidebar);border-right:1px solid var(--line);
  padding:24px 16px 18px;
  display:flex;flex-direction:column;justify-content:space-between;
}
.brand{display:flex;align-items:center;gap:11px;padding:0 10px;margin-bottom:30px;font-size:23px;font-weight:800;letter-spacing:-.6px}
.brand-mark{position:relative;width:31px;height:29px;display:inline-block}
.brand-mark span{position:absolute;background:linear-gradient(145deg,#0c9677,#38c99b);border-radius:5px 5px 9px 5px;transform:skew(-18deg)}
.brand-mark span:nth-child(1){left:0;top:0;width:12px;height:23px}
.brand-mark span:nth-child(2){left:10px;top:9px;width:12px;height:20px}
.brand-mark span:nth-child(3){right:0;top:0;width:12px;height:18px}
.nav-menu{display:grid;gap:6px}
.nav-link{
  height:46px;padding:0 14px;border-radius:9px;
  display:flex;align-items:center;gap:13px;color:#46566d;
  font-size:14px;font-weight:600;transition:.16s ease;
}
.nav-link:hover{background:#f4f8f7;color:var(--primary-dark)}
.nav-link.active{background:var(--primary-soft);color:var(--primary-dark)}
.nav-icon{width:22px;text-align:center;font-size:20px;font-weight:400}
.sidebar-bottom{display:grid;gap:13px}
.plan-card,.help-card{border:1px solid var(--line);border-radius:11px;padding:14px;background:#fff}
.plan-row,.help-card,.user-card{display:flex;align-items:center;gap:11px}
.plan-icon,.help-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:800}
.plan-card strong,.help-card strong,.user-card strong{display:block;font-size:13px}
.plan-card small,.help-card small,.user-card small{display:block;margin-top:3px;color:var(--muted);font-size:11px}
.progress{height:5px;background:#edf1f5;border-radius:999px;margin:13px 0 9px;overflow:hidden}
.progress span{display:block;height:100%;background:var(--primary);border-radius:999px}
.plan-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}
.help-card{background:#fafcfd}
.user-card{padding:7px 3px 0}
.avatar,.top-avatar,.activity-avatar{
  display:grid;place-items:center;border-radius:50%;
  background:#e4f6f1;color:var(--primary-dark);font-weight:800
}
.avatar{width:38px;height:38px}.top-avatar{width:34px;height:34px}.user-copy{min-width:0;flex:1}
.logout-button{border:0;background:transparent;color:#758399;cursor:pointer;font-size:18px}
.main-area{min-width:0}
.topbar{
  height:78px;background:#fff;border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;padding:0 30px;
  position:sticky;top:0;z-index:10;
}
.search-box{
  width:min(500px,55vw);height:43px;border:1px solid var(--line-strong);
  border-radius:9px;display:flex;align-items:center;gap:10px;padding:0 13px;background:#fff;
}
.search-box>span{font-size:24px;color:#718096;transform:rotate(-20deg)}
.search-box input{border:0;outline:0;width:100%;color:var(--text);background:transparent}
.search-box input::placeholder{color:#97a3b4}
.search-box kbd{border:0;background:#f1f4f7;color:#68778b;padding:4px 7px;border-radius:5px;font-size:11px}
.topbar-actions{display:flex;align-items:center;gap:12px}
.circle-action{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#fff;color:#536277;cursor:pointer}
.primary-circle{background:var(--primary);color:#fff;border-color:var(--primary);font-size:21px}
.content{padding:28px 30px 50px;max-width:1550px;margin:0 auto}
.alert{padding:12px 15px;background:#edf9f5;border:1px solid #c7eadc;color:#176e57;border-radius:9px;margin-bottom:18px}
.welcome-panel{
  min-height:178px;border:1px solid var(--line);background:#fff;border-radius:12px;
  padding:26px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;
}
.eyebrow{margin:0 0 7px;font-size:10px;font-weight:800;letter-spacing:1.3px;color:#8b98aa}
.welcome-panel h1{margin:0;font-size:27px;letter-spacing:-.7px}.wave{font-size:25px}
.subtext{margin:8px 0 20px;color:var(--muted);font-size:14px}
.quick-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{
  min-height:40px;padding:0 15px;border:1px solid var(--line-strong);border-radius:8px;
  background:#fff;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;
  cursor:pointer;box-shadow:none;
}
.btn:hover{border-color:#bdc8d3;background:#fafcfd}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}
.btn.primary:hover{background:var(--primary-dark)}
.welcome-art{position:relative;width:285px;height:130px;margin-right:12px}
.welcome-art:before,.welcome-art:after{content:"";position:absolute;border-radius:50%;background:#e8f8f2}
.welcome-art:before{width:120px;height:120px;right:12px;top:4px}.welcome-art:after{width:75px;height:75px;left:16px;top:34px;opacity:.75}
.art-sheet{
  position:absolute;right:28px;top:12px;width:150px;height:105px;border:1px solid #dce6e3;
  background:#fff;border-radius:10px;transform:rotate(7deg);padding:18px;z-index:2;
}
.art-line{display:block;height:6px;background:#e8efef;border-radius:5px;margin-bottom:8px;width:55%}.art-line.long{width:80%}
.art-chart{display:flex;align-items:flex-end;gap:8px;height:45px;margin-top:10px}
.art-chart i{display:block;width:10px;background:#55c5a5;border-radius:4px 4px 0 0}.art-chart i:nth-child(1){height:16px}.art-chart i:nth-child(2){height:27px}.art-chart i:nth-child(3){height:22px}.art-chart i:nth-child(4){height:39px}
.art-coin{position:absolute;right:155px;bottom:2px;z-index:4;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:29px;font-weight:700}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.metric-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:19px;min-height:135px}
.metric-head{display:flex;justify-content:space-between;align-items:center;color:#56657a;font-size:13px;font-weight:700}
.metric-card>strong{display:block;font-size:26px;letter-spacing:-.5px;margin:17px 0 8px}
.metric-card small{color:var(--muted);font-size:11px}.up{color:var(--primary)}
.metric-icon{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;font-size:18px}
.metric-icon.green,.metric-icon.mint{background:#e5f7f1;color:var(--primary)}.metric-icon.blue{background:#eaf1ff;color:var(--blue)}.metric-icon.amber{background:#fff4df;color:var(--amber)}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);gap:16px;margin-top:16px}
.panel{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}
.panel-head{min-height:65px;padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.panel-head h2{margin:0;font-size:16px}.panel-head a{color:var(--primary);font-size:12px;font-weight:700}
.table-scroll{overflow:auto}.modern-table{width:100%;border-collapse:collapse;font-size:12px}
.modern-table th{padding:11px 16px;text-align:left;color:#8591a3;font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:800;background:#fcfdfd}
.modern-table td{padding:13px 16px;border-top:1px solid var(--line);color:#46566d}
.document-link{display:flex;align-items:center;gap:9px;font-weight:700;color:#24344d}
.doc-badge{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf4ff;color:#397bf6}
.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800}
.status-draft{background:#f0f2f5;color:#667085}.status-sent{background:#eaf2ff;color:#397bf6}.status-accepted,.status-signed{background:#e8f8f2;color:#078264}.status-declined,.status-void{background:#fff0f0;color:#d74848}
.more-link{color:#8894a5;letter-spacing:1px}.empty-state{text-align:center!important;padding:36px!important;color:var(--muted)!important}
.activity-list{padding:1px 18px}
.activity-item{display:flex;align-items:center;gap:11px;padding:14px 0;border-bottom:1px solid var(--line)}
.activity-item:last-child{border-bottom:0}.activity-avatar{width:33px;height:33px;flex:0 0 33px;font-size:11px}
.activity-copy{min-width:0;flex:1}.activity-copy strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-copy small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.activity-time{font-size:10px;color:#8d98a8;white-space:nowrap}.empty-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:35px 10px;color:var(--muted)}.empty-card>span{font-size:28px;color:var(--primary);margin-bottom:10px}.empty-card strong{font-size:13px;color:var(--text)}.empty-card small{font-size:11px;margin-top:5px}
.lower-grid{grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr)}
.workflow{padding:28px 25px 30px;display:flex;align-items:flex-start}
.workflow-step{width:120px;text-align:center;color:#9aa5b5}.workflow-step span{width:43px;height:43px;margin:0 auto 9px;border-radius:50%;display:grid;place-items:center;background:#f2f4f7;border:1px solid #e1e6eb}.workflow-step strong{display:block;font-size:12px;color:#536277}.workflow-step small{display:block;font-size:9px;margin-top:4px}.workflow-step.done span{background:#e8f8f2;color:var(--primary);border-color:#ccecdf}.workflow-step.done strong{color:#1e3b34}
.workflow-line{height:2px;background:#dfe5ea;flex:1;margin-top:21px}.workflow-line.done{background:var(--primary)}
.period-chip{border:1px solid var(--line);border-radius:7px;padding:7px 10px;font-size:10px;color:#69778b}
.fake-chart{position:relative;height:220px;padding:20px 20px 24px 46px}
.fake-chart svg{width:100%;height:155px;overflow:visible}
.chart-area{fill:url(#fill)}.chart-line{fill:none;stroke:var(--primary);stroke-width:3}
.chart-labels{position:absolute;left:18px;top:18px;bottom:42px;display:flex;flex-direction:column;justify-content:space-between;color:#99a4b3;font-size:9px}
.chart-days{display:flex;justify-content:space-between;color:#99a4b3;font-size:9px}
.form-card,.document,.signature-form,.auth-card,.card{
  background:#fff;border:1px solid var(--line);border-radius:11px;padding:24px;box-shadow:none
}
.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-head h1{margin:0;font-size:24px}
.form-control,input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line-strong);border-radius:8px;background:#fff;color:var(--text)}
label{display:block;margin:14px 0 6px;font-weight:700;font-size:12px}.row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}
.document{max-width:930px;margin:0 auto 20px}.doc-top,.doc-meta{display:flex;justify-content:space-between;gap:30px}.right{text-align:right}
.document table{width:100%;border-collapse:collapse}.document th,.document td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}
.totals{margin-left:auto;max-width:320px;padding-top:20px}.totals p{display:flex;justify-content:space-between}.grand{font-size:21px;border-top:2px solid var(--text);padding-top:12px}
.signed-box{margin-top:28px;padding:18px;background:#f2fbf7;border:1px solid #bde9d5;border-radius:10px}.signed-box img{max-width:280px;max-height:100px}
.public-shell{padding:35px 18px}.public-doc{max-width:940px;margin:auto}.signature-form{max-width:900px;margin:20px auto}
canvas{width:100%;border:1px solid var(--line-strong);border-radius:8px;background:#fff;touch-action:none}.auth-card{max-width:480px;margin:8vh auto}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.lower-grid{grid-template-columns:1fr}.welcome-art{display:none}}
@media(max-width:800px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto}.sidebar-bottom{display:none}.topbar{padding:0 18px}.content{padding:20px 16px}.search-box{width:70vw}.metric-grid{grid-template-columns:1fr}.welcome-panel{padding:22px}.workflow{overflow:auto}.doc-top,.doc-meta{display:block}.right{text-align:left}}
@media print{.sidebar,.topbar,.page-head,.signature-form,.muted{display:none!important}.app-shell{display:block}.content,.public-shell{padding:0}.document{border:0}}


.customer-name-cell{
  display:flex;
  align-items:center;
  gap:11px;
}

.customer-name-cell strong{
  display:block;
  color:#24344d;
  font-size:12px;
}

.customer-name-cell small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:10px;
}

.actions-cell{
  text-align:right!important;
  width:90px;
}

.small-button{
  min-height:32px;
  padding:0 12px;
  font-size:11px;
}


.search-box{
  padding-right:5px;
}

.search-submit{
  height:31px;
  padding:0 11px;
  border:0;
  border-radius:7px;
  background:var(--primary);
  color:#fff;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
}

.search-submit:hover{
  background:var(--primary-dark);
}

.search-results-grid{
  display:grid;
  gap:16px;
}

.search-section .panel-head{
  min-height:58px;
}

.result-count{
  min-width:29px;
  height:29px;
  padding:0 8px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--primary-soft);
  color:var(--primary-dark);
  font-size:11px;
  font-weight:800;
}

.search-result-list{
  padding:0 18px;
}

.search-result-item{
  min-height:68px;
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--line);
}

.search-result-item:last-child{
  border-bottom:0;
}

.search-result-item:hover .search-result-copy strong{
  color:var(--primary-dark);
}

.search-result-copy{
  flex:1;
  min-width:0;
}

.search-result-copy strong{
  display:block;
  color:#24344d;
  font-size:13px;
}

.search-result-copy small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
}

.search-arrow{
  color:#9aa5b5;
  font-size:24px;
}

.search-empty{
  padding:28px 0;
  color:var(--muted);
  font-size:12px;
  text-align:center;
}

.contract-badge{
  background:#e8f8f2;
  color:var(--primary);
}


.document-page-head{
  gap:20px;
}

.document-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:9px;
}

.share-link-panel{
  max-width:930px;
  margin:16px auto 0;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:11px;
}

.share-link-panel strong{
  display:block;
  font-size:13px;
  color:#24344d;
}

.share-link-panel small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:11px;
}

.share-inline{
  min-width:420px;
  display:flex;
  align-items:center;
  gap:8px;
}

.share-inline input,
.share-copy-row input{
  flex:1;
  min-width:0;
  background:#f8fafb;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:11px;
}

.modal-open{
  overflow:hidden;
}

.modal-backdrop{
  position:fixed;
  inset:0;
  z-index:1000;
  padding:20px;
  display:grid;
  place-items:center;
  background:rgba(15,23,42,.45);
  backdrop-filter:blur(2px);
}

.modal-backdrop[hidden]{
  display:none;
}

.share-modal{
  width:min(620px,100%);
  padding:24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
}

.share-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}

.share-modal-head h2{
  margin:0;
  font-size:20px;
}

.modal-close{
  width:34px;
  height:34px;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:#667085;
  cursor:pointer;
  font-size:22px;
  line-height:1;
}

.share-description{
  margin:18px 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}

.share-copy-row{
  display:flex;
  align-items:center;
  gap:8px;
}

.share-modal-actions{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.share-modal-actions form{
  margin:0;
}

.danger-button{
  color:#bd3333;
  border-color:#efcaca;
  background:#fff7f7;
}

.danger-button:hover{
  color:#a51e1e;
  border-color:#e5acac;
  background:#fff0f0;
}

@media(max-width:800px){
  .document-page-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .document-actions{
    justify-content:flex-start;
  }

  .share-link-panel{
    align-items:stretch;
    flex-direction:column;
  }

  .share-inline{
    min-width:0;
    width:100%;
  }

  .share-modal-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .share-modal-actions .btn,
  .share-modal-actions form,
  .share-modal-actions form button{
    width:100%;
    justify-content:center;
  }
}


.estimate-builder{
  max-width:1100px;
}

.form-section{
  padding:4px 0 26px;
}

.form-section + .form-section{
  padding-top:25px;
  border-top:1px solid var(--line);
}

.form-section-head{
  margin-bottom:20px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}

.form-section-head h2{
  margin:0;
  font-size:17px;
}

.form-section-head p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:12px;
}

.automatic-number{
  padding:7px 11px;
  border-radius:999px;
  background:var(--primary-soft);
  color:var(--primary-dark);
  font-size:11px;
  font-weight:800;
}

.form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2px 18px;
}

.form-field.full-width{
  grid-column:1 / -1;
}

.field-help{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:10px;
}

.field-error{
  display:block;
  margin-top:5px;
  color:#c63838;
  font-size:10px;
}

.form-errors{
  margin-bottom:18px;
  padding:12px;
  border:1px solid #efc4c4;
  border-radius:8px;
  background:#fff5f5;
  color:#b52d2d;
  font-size:12px;
}

.line-items-table input{
  min-width:90px;
}

.line-items-table td:first-child input{
  min-width:260px;
}

.quantity-column{
  width:120px;
}

.price-column{
  width:155px;
}

.tax-column{
  width:110px;
}

.remove-column,
.remove-cell{
  width:55px;
  text-align:center!important;
}

.hidden-delete-field{
  display:none;
}

.remove-line-button{
  width:31px;
  height:31px;
  border:1px solid #efcaca;
  border-radius:7px;
  background:#fff7f7;
  color:#c13f3f;
  font-size:19px;
  cursor:pointer;
}

.remove-line-button:hover{
  background:#ffeded;
  border-color:#e9aaaa;
}

.form-actions{
  padding-top:22px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:flex-end;
  gap:9px;
}

.document-company p,
.customer-address p{
  margin:4px 0;
  color:#68778a;
  font-size:12px;
  line-height:1.55;
}

.document-logo{
  display:block;
  max-width:170px;
  max-height:75px;
  margin-bottom:14px;
  object-fit:contain;
  object-position:left center;
}

.document-heading h1{
  margin:0;
  font-size:32px;
  letter-spacing:1px;
}

.document-number{
  margin:7px 0 13px;
  color:var(--muted);
  font-size:14px;
}

.document-label{
  margin-bottom:8px!important;
  color:#8b98aa!important;
  font-size:10px!important;
  font-weight:800;
  letter-spacing:1.1px;
}

.customer-address h3{
  margin:0 0 6px;
  font-size:16px;
}

.billing-address{
  margin:8px 0!important;
  color:#536277!important;
}

.estimate-dates{
  display:grid;
  gap:15px;
  min-width:190px;
}

.estimate-dates div{
  display:grid;
  gap:4px;
}

.estimate-dates span{
  color:#8b98aa;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.6px;
}

.estimate-dates strong{
  font-size:12px;
}

.document-table-wrapper{
  margin-top:28px;
  overflow:auto;
}

.document-bottom{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:35px;
  margin-top:20px;
}

.document-notes h3{
  margin:15px 0 6px;
  font-size:13px;
}

.document-notes p{
  margin:0;
  color:#68778a;
  font-size:11px;
  line-height:1.65;
}

@media(max-width:800px){
  .form-grid{
    grid-template-columns:1fr;
  }

  .form-field.full-width{
    grid-column:auto;
  }

  .form-section-head{
    flex-direction:column;
  }

  .document-bottom{
    grid-template-columns:1fr;
  }

  .estimate-dates{
    margin-top:20px;
  }
}


.builder-page-head{
  max-width:1080px;
  margin:0 auto 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.builder-page-head h1{
  margin:0;
  font-size:25px;
}

.builder-page-actions{
  display:flex;
  gap:9px;
}

.document-builder{
  max-width:1080px;
  margin:0 auto;
}

.builder-paper{
  padding:58px 68px 48px;
  background:#fff;
  border:1px solid #dce3eb;
  border-radius:13px;
  box-shadow:none;
}

.builder-company-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:55px;
}

.builder-company-info{
  display:flex;
  align-items:flex-start;
  gap:24px;
  max-width:530px;
}

.builder-company-info h2{
  margin:0 0 5px;
  font-size:20px;
}

.builder-company-info p{
  margin:2px 0;
  color:#20252c;
  font-size:14px;
  line-height:1.35;
}

.builder-company-info a,
.create-client-link{
  display:inline-block;
  margin-top:6px;
  color:#2f66d4;
  font-size:13px;
}

.builder-logo{
  max-width:270px;
  max-height:105px;
  object-fit:contain;
}

.builder-estimate-meta{
  width:375px;
  display:grid;
  gap:8px;
}

.meta-row{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  align-items:center;
  gap:15px;
}

.meta-row span,
.meta-row label{
  margin:0;
  color:#596b84;
  font-size:14px;
  font-weight:500;
}

.meta-row strong{
  text-align:right;
  font-size:14px;
}

.meta-row input{
  padding:5px 3px;
  border:0;
  border-bottom:1px solid transparent;
  border-radius:0;
  text-align:right;
}

.meta-row input:focus{
  outline:0;
  border-bottom-color:#7790b2;
}

.client-picker-section{
  position:relative;
  margin-top:36px;
  max-width:455px;
}

.client-search-wrapper{
  position:relative;
}

.client-search-icon{
  position:absolute;
  left:15px;
  top:50%;
  color:#8798b2;
  font-size:24px;
  transform:translateY(-54%) rotate(-20deg);
}

.client-search-input{
  height:53px;
  padding-left:47px;
  border:2px solid #8da0be;
  border-radius:8px;
  font-size:15px;
}

.client-results{
  position:absolute;
  left:0;
  right:0;
  top:59px;
  z-index:50;
  max-height:300px;
  overflow:auto;
  background:#fff;
  border:1px solid #d6dee8;
  border-radius:9px;
}

.client-result-item{
  width:100%;
  min-height:53px;
  padding:9px 13px;
  border:0;
  border-bottom:1px solid #edf0f4;
  background:#fff;
  display:flex;
  align-items:center;
  gap:11px;
  color:#34445b;
  text-align:left;
  cursor:pointer;
}

.client-result-item:hover{
  background:#f4faf8;
}

.client-result-avatar{
  width:31px;
  height:31px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e4f6f1;
  color:#08795f;
  font-size:11px;
  font-weight:800;
}

.client-result-empty{
  padding:18px;
  color:#8390a1;
  font-size:12px;
  text-align:center;
}

.selected-client-card{
  margin-top:12px;
  padding:12px 14px;
  border:1px solid #dbe4e9;
  border-radius:8px;
  background:#f7fbfa;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.selected-client-card[hidden]{
  display:none;
}

.selected-client-card strong{
  display:block;
  font-size:13px;
}

.selected-client-card small{
  display:block;
  margin-top:3px;
  color:#758399;
  font-size:10px;
}

.selected-client-card button{
  border:0;
  background:transparent;
  color:#2f66d4;
  font-size:11px;
  cursor:pointer;
}

.line-builder-section{
  margin-top:54px;
  border-top:4px solid #596d84;
}

.line-builder-header,
.line-builder-row{
  display:grid;
  grid-template-columns:
    30px minmax(280px,1fr) 125px 75px 90px 125px 36px;
  align-items:center;
  column-gap:10px;
}

.line-builder-header{
  padding:13px 0;
  color:#596b84;
  font-size:13px;
}

.line-builder-row{
  min-height:93px;
  border-bottom:1px solid #d9e0e8;
}

.line-drag{
  color:#999;
  font-size:19px;
}

.line-builder-row input{
  border:0;
  background:transparent;
  border-radius:0;
  padding:7px 3px;
}

.line-builder-row input:focus{
  outline:0;
  background:#f8fafc;
  box-shadow:inset 0 -1px #6f85a5;
}

.line-description input{
  color:#536680;
  font-size:14px;
}

.line-rate input,
.line-qty input,
.line-tax input{
  text-align:right;
}

.line-total{
  color:#536680;
  text-align:right;
  font-size:14px;
}

.delete-field{
  display:none;
}

.remove-line{
  border:0;
  background:transparent;
  color:#999;
  font-size:18px;
  cursor:pointer;
}

.add-line-button{
  width:100%;
  min-height:54px;
  margin-top:14px;
  border:2px dashed #c6d0df;
  border-radius:9px;
  background:#fff;
  color:#182642;
  font-size:20px;
  font-weight:800;
  cursor:pointer;
}

.add-line-button:hover{
  border-color:#8094b3;
  background:#fafcff;
}

.builder-bottom{
  margin-top:38px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 410px;
  gap:50px;
}

.builder-notes{
  display:grid;
  gap:16px;
}

.builder-field label{
  margin:0 0 7px;
  color:#596b84;
  font-size:12px;
}

.builder-field textarea{
  min-height:90px;
  resize:vertical;
}

.builder-totals{
  display:grid;
  align-content:start;
}

.builder-totals > div{
  padding:7px 0;
  display:flex;
  justify-content:space-between;
  gap:20px;
}

.builder-totals span{
  font-size:14px;
}

.builder-totals strong{
  font-size:14px;
}

.builder-grand-total{
  margin-top:7px;
  padding-top:16px!important;
  border-top:1px solid #bac6d4;
}

.builder-grand-total span,
.builder-grand-total strong{
  font-size:16px;
}

.contract-heading{
  color:#596b84;
  font-size:28px;
  font-weight:800;
  letter-spacing:1px;
}

.contract-fields{
  margin-top:48px;
  padding-top:28px;
  border-top:4px solid #596d84;
  display:grid;
  gap:24px;
}

.contract-fields input{
  font-size:18px;
  font-weight:700;
}

.contract-fields textarea{
  min-height:520px;
  line-height:1.65;
}

@media(max-width:1000px){
  .builder-paper{
    padding:35px 28px;
  }

  .builder-company-header{
    flex-direction:column;
  }

  .builder-estimate-meta{
    width:100%;
  }

  .line-builder-header,
  .line-builder-row{
    grid-template-columns:
      24px minmax(200px,1fr) 100px 70px 80px 110px 30px;
  }

  .builder-bottom{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .builder-page-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .builder-company-info{
    flex-direction:column;
  }

  .meta-row{
    grid-template-columns:1fr;
  }

  .meta-row input{
    text-align:left;
  }

  .line-builder-section{
    overflow:auto;
  }

  .line-builder-header,
  .line-builder-row{
    min-width:850px;
  }

  .client-picker-section{
    max-width:none;
  }
}


.invoice-doc-badge{
  background:#eef1ff;
  color:#5967d8;
}

.status-paid{
  background:#e6f8ef;
  color:#087a59;
}

.status-overdue{
  background:#fff0f0;
  color:#c83c3c;
}

.status-void{
  background:#f0f2f5;
  color:#667085;
}

.paid-button{
  border-color:#9fd9c3;
  background:#edf9f4;
  color:#087a59;
}

.document-actions form{
  margin:0;
}
