/* ARD-2: sign-in, registration and cabinet pages. Loaded after dist/style.css and reuses its look (.panel, .button, .primary,
   inputs, .notice, .total-line). */
body.page-account{overflow:auto;background:#f5f6f3}
body.page-account #app{height:auto;min-height:100%}
.page-account a{color:var(--green)}
.page-account a.button{color:inherit}
.page-account a.button.primary{color:#fff}
.page-account .notice a{font-weight:600}
.brandmark{background:var(--green);color:#fff;border-radius:8px;width:30px;height:30px;display:inline-grid;place-items:center;font-size:18px;font-weight:700}
button.link{background:none;border:0;padding:4px 0;color:var(--green);text-decoration:underline;text-underline-offset:3px}
button.link:hover{background:none;color:#164e39}
button.link:disabled{color:var(--muted);text-decoration:none;opacity:1}

/* Sign-in and registration */
.auth{max-width:440px;margin:0 auto;padding:28px 16px 48px;display:grid;gap:18px}
.auth-brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:22px;letter-spacing:-.6px;color:#26352f!important;text-decoration:none;justify-self:start}
.auth-card h1{font-size:24px;letter-spacing:-.4px;margin-bottom:8px}
.auth-lead{line-height:1.6;margin-bottom:18px}
.auth-form{display:grid;gap:14px}
.auth-form .primary{padding:12px;font-size:16.1px}
.auth-form input{font-size:16.1px}
.code-input{font-size:24px!important;letter-spacing:6px;text-align:center;font-variant-numeric:tabular-nums}
.form-error{color:#a44732;font-size:13.8px;min-height:0}
.form-error:empty{display:none}
.auth-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}
.auth-actions{display:flex;gap:10px;flex-wrap:wrap}
.auth-foot{text-align:center}
.slug-field{display:flex;align-items:center;margin-top:6px;border:1px solid #d8dfd7;border-radius:6px;background:#fff;overflow:hidden}
.slug-field:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #21644b12}
.slug-field input{margin:0;border:0;box-shadow:none!important;min-width:0;flex:1;padding-left:2px;padding-right:2px}
.slug-prefix{color:var(--muted);font-size:14px;padding:0 6px 0 10px;white-space:nowrap}
.slug-prefix:last-child{padding:0 10px 0 2px}
.slug-help{margin-top:-8px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}
.slug-help.bad{color:#a44732}
.slug-help code,.link-box code{font-size:13px;background:#eef3ee;border-radius:4px;padding:1px 4px}

/* Cabinet shell */
.cab-bar .crumb strong{font-weight:650}
.cab-bar .brand-link{display:flex;text-decoration:none}
.cab-tabs{display:flex;gap:4px;padding:0 16px;border-bottom:1px solid var(--line);background:#fafbf8;overflow-x:auto;position:sticky;top:56px;z-index:9}
.cab-tabs a{padding:12px 10px;color:#5f6e63;text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;font-size:15px}
.cab-tabs a[aria-current=page]{color:var(--green);border-bottom-color:var(--green);font-weight:600}
.cab-main{max-width:1000px;margin:0 auto;padding:20px 16px 60px;display:grid;gap:16px}
.cab-main h1{font-size:24px;letter-spacing:-.4px}
.cab-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.cab-head p{margin-top:4px}
.back{font-size:14px;text-decoration:none}
.list{display:grid;gap:10px}
.row-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;color:inherit!important;text-decoration:none}
a.row-card:hover{border-color:#94b29c;background:#fbfdfb}
.row-card .rc-title{font-weight:600;min-width:0;overflow-wrap:anywhere}
.row-card .rc-sub{color:var(--muted);font-size:13.8px;min-width:0;overflow-wrap:anywhere}
.row-card .rc-side{text-align:right;white-space:nowrap}
.badge{display:inline-block;border-radius:999px;padding:2px 10px;font-size:12.7px;font-weight:600;white-space:nowrap;vertical-align:1px}
.badge-new{background:#fbefd9;color:#8a5a12}
.badge-wait{background:#e6eef7;color:#2e5378}
.badge-done{background:#e2f0e6;color:#1f5e3f}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;display:grid;gap:12px}
.card h2{font-size:18.4px;overflow-wrap:anywhere}
.card h3{font-size:16.1px;overflow-wrap:anywhere}
.card .sub{color:var(--muted);font-size:13.8px}
.proj{border-top:1px solid #edf0e8;padding-top:12px;display:grid;gap:8px}
.proj:first-of-type{border-top:0;padding-top:0}
.btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btns .button,.btns button{padding:8px 12px;font-size:14.4px}
.est-state{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:14.4px}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.link-box{display:flex;gap:8px}
.link-box input{font-size:14.4px}
.empty-note{padding:28px 20px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #cfd8ce;border-radius:10px;line-height:1.7}

/* Estimate */
.est-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:16px;align-items:start}
.est-main{display:grid;gap:14px;min-width:0}
.est-side{display:grid;gap:12px;position:sticky;top:110px}
.est-section{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.est-section-head{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;background:#f3f5ef;font-weight:600}
.est-section-head h3{font-size:15px;overflow-wrap:anywhere}
.est-line{display:grid;grid-template-columns:minmax(0,1fr) 90px 120px 120px;gap:4px 12px;padding:10px 14px;border-top:1px solid #edf0e8;font-size:14.4px;align-items:start}
.est-name{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}
.est-pos{font-size:12px;color:var(--muted)}
.est-comment{color:#8a5a12;background:#fbf4e4;border-radius:4px;padding:2px 6px;justify-self:start}
.est-qty,.est-price,.est-sum{text-align:right;white-space:nowrap}
.est-sum{font-weight:600}
.no-price-mark{color:#a44732;font-size:12.7px;font-weight:600}
.est-empty{padding:10px 14px}
.est-edit{font-size:12.7px}
.est-edit input{margin-top:2px;padding:7px 8px;text-align:right}
.est-edit-comment{grid-column:1/-1}
.est-edit-comment input{text-align:left}
.est-totals,.est-summary{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;display:grid;gap:10px}
.est-totals .grand,.est-summary .grand{font-size:19.5px}
.est-summary .sum-first{border-top:1px solid var(--line);padding-top:10px}
.est-terms{font-size:14.4px}
.est-note{background:#fff;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:6px;padding:10px 12px;white-space:pre-wrap;overflow-wrap:anywhere}
.est-versions{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.est-versions button{width:100%;display:grid;grid-template-columns:1fr auto;gap:2px 8px;text-align:left;padding:8px 10px}
.est-versions button .muted{grid-column:1}
.est-versions .est-v-total{grid-column:2;grid-row:1/span 2;align-self:center;font-size:13.8px;white-space:nowrap}
.est-versions button.selected{border-color:var(--green);background:#eef6ef}
.editor{display:grid;gap:14px}
.editor-terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.editor-bar{position:sticky;bottom:0;display:flex;gap:10px;justify-content:flex-end;align-items:center;flex-wrap:wrap;padding:12px 0;background:linear-gradient(#f5f6f300,#f5f6f3 30%)}
.editor-bar .grand-mini{margin-right:auto;font-weight:600}
textarea{min-height:80px;resize:vertical}

@media(max-width:760px){
  .page-bar{height:auto;min-height:56px}
  .cab-tabs{top:0;position:static;padding:0 8px}
  .cab-main{padding:14px 12px 48px}
  .cab-main h1{font-size:21px}
  .est-layout{grid-template-columns:1fr}
  .est-side{position:static;order:-1}
  .est-line{grid-template-columns:minmax(0,1fr) auto;padding:10px 12px}
  .est-line .est-name{grid-column:1/-1;grid-row:1}
  .est-line .est-qty{grid-column:1;grid-row:2;text-align:left;color:var(--muted)}
  .est-line .est-price,.est-line .est-edit{grid-column:1;grid-row:3;text-align:left;color:var(--muted)}
  .est-line .est-sum{grid-column:2;grid-row:2/span 2;align-self:center}
  .est-line .est-edit-comment{grid-column:1/-1;grid-row:4}
  .editor-terms,.form-grid-2{grid-template-columns:1fr 1fr}
  .row-card{grid-template-columns:1fr}
  .row-card .rc-side{text-align:left}
}
@media(max-width:420px){.editor-terms,.form-grid-2{grid-template-columns:1fr}.link-box{flex-direction:column}}
