/* Estimatra account and public-information add-on. Loaded after the existing application styles. */
:root{--account-text:#24352c;--account-muted:#65746b;--account-border:#e1e9e1;--account-soft:#f5f8f4}

/* Readability improvements for compact controls and dense work tables. */
body{font-size:15px}
.nav-link{font-size:13px;min-height:42px}
.nav-group-label{font-size:12px;letter-spacing:1.1px}
.workspace-copy strong{font-size:13px}
.workspace-copy span,.profile-row>div:nth-child(2) span{font-size:12px}
.filter-control>span,.page-size>span,.results-header,.pagination,.source-card,.side-note,.local-demo-note{font-size:12px}
.catalog-table,.draft-table,.admin-price-table{font-size:13px}
.catalog-table thead th,.draft-table thead th,.admin-price-table thead th{font-size:12px;line-height:1.4}
.workspace-field>span,.workspace-form-grid label>span,.project-name-label,.account-field>span{font-size:13px}
button,input,select,textarea{font-size:inherit}

/* New sidebar controls and account footer links. */
.account-sidebar-toggle{display:inline-grid;place-items:center;width:32px;height:32px;margin-left:auto;border:1px solid var(--account-border);border-radius:9px;background:#fff;color:var(--ink-soft);font-size:22px;line-height:1;flex:0 0 auto}
.account-sidebar-toggle:hover{background:var(--account-soft);color:var(--green)}
.account-profile-link{display:flex;align-items:center;gap:10px;width:100%;margin:8px 0 5px;padding:10px 11px;border:1px solid #e2e9e2;border-radius:11px;background:#fff;color:#315443;text-align:left;font-weight:650;font-size:13px}
.account-profile-link[hidden]{display:none!important}
.account-profile-link:hover{border-color:#bfd4c4;background:#f4f8f3}
.account-profile-link>span:last-child{margin-left:auto}
.account-link-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#e7f2e8;font-size:16px}
.account-info-links{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;padding:10px 4px 3px;border-top:1px solid var(--line)}
.account-info-links a{display:inline-flex;align-items:center;gap:5px;padding:3px 0;color:#637369;text-decoration:none;font-size:12px;line-height:1.5}
.account-info-links a:hover,.account-note-card a:hover{color:var(--green);text-decoration:underline}
.account-info-links a>span:first-child{color:#466c55;font-weight:700}
body:not(.estimatra-signed-in) .account-profile-link{display:none}

/* Profile and informational pages. */
.account-view{max-width:1160px;margin:0 auto;padding-bottom:36px}
.account-page-intro{margin-bottom:18px}
.account-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.8fr);gap:18px;align-items:start}
.account-card,.info-card{padding:clamp(18px,3vw,30px)}
.account-card-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}
.account-card-heading h2,.account-note-card h2,.info-card h2{margin:6px 0 8px;color:var(--account-text);font-size:22px;letter-spacing:-.35px}
.account-card-heading p,.account-note-card p,.info-card p{margin:0;color:var(--account-muted);font-size:14px;line-height:1.75}
.account-kicker{color:#76847a;font-size:12px;font-weight:800;letter-spacing:1.15px}
.account-current-avatar{width:82px;height:82px;flex:0 0 82px;overflow:hidden;border-radius:22px;background:#e7f2e8;border:1px solid #e0e9df}
.account-current-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.profile-avatar img,.avatar-small img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.account-form{display:grid;gap:18px}
.account-field{display:grid;gap:7px;color:#3d5045;font-size:13px;font-weight:700}
.account-field input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #dbe4dc;border-radius:10px;background:#fff;color:#26382d;font-size:15px}
.account-field input:focus-visible{outline:3px solid rgba(65,130,92,.22);outline-offset:2px}
.account-field input[readonly]{background:#f6f8f5;color:#65746b;cursor:not-allowed}
.avatar-choice-fieldset{min-width:0;margin:0;padding:0;border:0}
.avatar-choice-fieldset legend{margin-bottom:5px;color:#3d5045;font-size:14px;font-weight:750}
.avatar-choice-fieldset>p{margin:0 0 12px;color:var(--account-muted);font-size:13px;line-height:1.6}
.avatar-choice-grid{display:grid;grid-template-columns:repeat(6,minmax(76px,1fr));gap:10px}
.avatar-choice{display:grid;justify-items:center;gap:7px;min-width:0;padding:8px 6px;border:2px solid #e3e9e3;border-radius:13px;background:#fff;color:#52635a;font-size:12px;font-weight:650}
.avatar-choice:hover{border-color:#a9c5ae;background:#f8fbf7}
.avatar-choice.selected{border-color:#3d7956;box-shadow:0 0 0 2px rgba(61,121,86,.12);color:#214b34}
.avatar-choice img{display:block;width:100%;max-width:84px;aspect-ratio:1;object-fit:cover;border-radius:11px;background:#f2f5f0}
.account-form-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:3px}
.account-message{min-height:22px;margin:0;color:#3b6947;font-size:13px;line-height:1.55}
.account-message.error{color:#a13e37}
.account-form-actions button{min-height:42px;white-space:nowrap}
.account-note-card{padding:22px;border:1px solid #e1e9e1;border-radius:var(--radius);background:#f5f8f4;box-shadow:var(--shadow)}
.account-note-card h2{font-size:19px}
.account-note-card p+p{margin-top:12px}
.account-note-card a{display:inline-block;margin-top:16px;color:#315c43;text-decoration:none;font-size:13px;font-weight:700}
.avatar-attribution{margin:14px 3px 0;color:#7c8980;font-size:12px;line-height:1.6}
.info-view{max-width:980px}
.info-card h2{margin-top:0;font-size:21px}
.info-card h3{margin:24px 0 8px;color:#354a3d;font-size:16px}
.info-card p+p{margin-top:13px}
.info-card p{max-width:82ch}

/* Desktop hide/show; the topbar control remains available to restore navigation. */
@media(min-width:761px){
  .account-sidebar-toggle{display:inline-grid}
  #sidebarClose{display:none}
  #mobileMenu{display:grid;flex:0 0 auto}
  .app-shell{transition:grid-template-columns .18s ease}
  body.estimatra-sidebar-collapsed .app-shell{grid-template-columns:0 minmax(0,1fr)}
  body.estimatra-sidebar-collapsed .sidebar{width:0;min-width:0;padding:0;border:0;overflow:hidden;visibility:hidden;pointer-events:none}
}

@media(max-width:1000px){
  .account-layout{grid-template-columns:minmax(0,1fr) 260px}
  .avatar-choice-grid{grid-template-columns:repeat(3,minmax(80px,1fr));max-width:360px}
}
@media(max-width:760px){
  .account-sidebar-toggle{display:none}
  .account-layout{grid-template-columns:1fr}
  .account-note-card{order:2}
  .avatar-choice-grid{grid-template-columns:repeat(3,minmax(75px,1fr));max-width:430px}
  .account-card-heading h2,.info-card h2{font-size:20px}
  .catalog-table,.draft-table,.admin-price-table{font-size:13px}
  .catalog-table thead th,.draft-table thead th,.admin-price-table thead th{font-size:12px}
  .filter-control>span,.page-size>span{font-size:12px}
}
@media(max-width:480px){
  body{font-size:14px}
  .account-card,.info-card{padding:17px 14px}
  .account-card-heading{gap:10px;margin-bottom:18px}
  .account-current-avatar{width:62px;height:62px;flex-basis:62px;border-radius:17px}
  .account-card-heading h2,.info-card h2{font-size:19px}
  .account-card-heading p,.account-note-card p,.info-card p{font-size:14px}
  .account-field input{min-height:46px;font-size:16px}
  .avatar-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .avatar-choice{padding:7px 4px;font-size:12px}
  .avatar-choice img{max-width:74px}
  .account-form-actions{align-items:stretch;flex-direction:column}
  .account-form-actions .button{width:100%}
  .account-message{min-height:0}
  .account-info-links{gap:6px 12px}
  .account-info-links a{font-size:12px}
  .nav-link{font-size:13px}
  .catalog-table,.draft-table,.admin-price-table{font-size:12px}
  .catalog-table thead th,.draft-table thead th,.admin-price-table thead th{font-size:12px}
}


button.avatar-small{padding:0;border:0;font:inherit;line-height:1;cursor:pointer;appearance:none}
button.avatar-small:hover{transform:translateY(-1px)}
button.avatar-small:focus-visible{outline:3px solid #6b956f;outline-offset:3px}

.donor-card-editor{margin-top:18px;padding:clamp(18px,3vw,28px)}
.donor-card-editor-heading{margin-bottom:17px}
.donor-card-editor-heading h2{margin:6px 0 7px;color:var(--account-text);font-size:22px;letter-spacing:-.35px}
.donor-card-editor-heading p{max-width:760px;margin:0;color:var(--account-muted);font-size:13px;line-height:1.65}
.donor-card-editor-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:20px;align-items:start}
.donor-card-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.donor-card-wide{grid-column:1/-1}
.donor-card-form .account-field{min-width:0}
.donor-card-form .account-field input,.donor-card-form .account-field textarea{width:100%;min-height:43px;padding:10px 12px;border:1px solid #dbe4dc;border-radius:10px;background:#fff;color:#26382d;font:inherit;font-size:14px;font-weight:450;line-height:1.5}
.donor-card-form .account-field textarea{min-height:90px;resize:vertical}
.donor-card-form .account-field input:focus-visible,.donor-card-form .account-field textarea:focus-visible{outline:3px solid rgba(65,130,92,.22);outline-offset:2px}
.donor-social-fields{min-width:0;margin:2px 0 0;padding:0;border:0}
.donor-social-fields legend{margin:0 0 9px;color:#3d5045;font-size:13px;font-weight:750}
.donor-social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.donor-card-publish{display:flex;align-items:flex-start;gap:10px;grid-column:1/-1;padding:12px;border:1px solid #dce7dc;border-radius:11px;background:#f7faf6;color:#34483a;cursor:pointer}
.donor-card-publish input{width:18px;height:18px;flex:none;margin:1px 0 0;accent-color:#47784e}
.donor-card-publish strong,.donor-card-publish small{display:block}
.donor-card-publish strong{font-size:13px}
.donor-card-publish small{margin-top:4px;color:#718075;font-size:12px;font-weight:450;line-height:1.5}
.donor-card-actions{grid-column:1/-1;margin-top:2px}
.donor-card-preview-panel{min-width:0;padding:14px;border:1px solid #e3eae1;border-radius:15px;background:linear-gradient(145deg,#f5f9f3,#fff)}
.donor-card-preview-label{display:block;margin:1px 0 10px;color:#758478;font-size:12px;font-weight:800;letter-spacing:1px}
.donor-card-tier-note{margin:10px 2px 0;color:#748176;font-size:12px;line-height:1.55}
@media(max-width:760px){
  .donor-card-editor{padding:17px 14px}
  .donor-card-editor-grid{grid-template-columns:minmax(0,1fr);gap:15px}
  .donor-card-preview-panel{order:-1}
  .donor-card-editor-heading h2{font-size:20px}
}
@media(max-width:480px){
  .donor-card-form,.donor-social-grid{grid-template-columns:minmax(0,1fr)}
  .donor-card-actions{align-items:stretch;flex-direction:column}
  .donor-card-actions .button{width:100%}
}
