/* VyaraRecon product finish: restrained controls, legible fields, and one consistent wordmark. */
.brand,
.brand > span:last-child {
  font-family: "Times New Roman", Times, serif !important;
  font-weight: 600;
  letter-spacing: 0;
}
.brand { gap: 9px; color: #20392d; }
.brand > span:last-child { font-size: 20px; }
.brand-icon {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border: 1px solid #d8e4db;
  border-radius: 8px;
  background: #176b45;
  box-shadow: none;
  color: #fff;
}
.brand-icon svg { width: 32px; height: 32px; fill: none; stroke: none; }
.brand-icon img { display: block; width: 36px; height: 36px; border-radius: 7px; }

/* Standard, calm buttons; no gradients, lift, or decorative shadows. */
.button,
button.button,
a.button {
  min-height: 38px;
  height: auto;
  padding: 8px 14px;
  border: 1px solid #cfd9d1;
  border-radius: 6px;
  box-shadow: none !important;
  transform: none !important;
  font: 600 13px/1.25 "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0;
  transition: background-color .14s ease, border-color .14s ease, color .14s ease;
}
.button:hover,
button.button:hover,
a.button:hover,
.button:active,
button.button:active,
a.button:active { transform: none !important; box-shadow: none !important; }
.button.dark,
.button.dark:hover { color: #fff; background: #176b45; border-color: #176b45; }
.button.dark:hover { background: #125638; border-color: #125638; }
.button.outline,
.button.secondary { color: #263a2e; background: #fff; border-color: #cfd9d1; }
.button.outline:hover,
.button.secondary:hover { color: #174d34; background: #f4f8f5; border-color: #9bb6a3; }
.button.quiet { color: #35483b; background: transparent; border-color: transparent; }
.button.quiet:hover { background: #f2f6f3; }
.button.cream { color: #263a2e; background: #f4f7f4; border-color: #d8e1da; }
.button.cream:hover { background: #ebf2ed; border-color: #bdcfc2; }
.button.danger,
.button.danger-button { color: #9d3029; background: #fff; border-color: #d9aaa6; }
.button.danger:hover,
.button.danger-button:hover { color: #85221d; background: #fff6f5; border-color: #c7817b; }
.btn-action-edit,
.btn-action-wa { min-height: 34px; padding: 7px 10px; border: 1px solid #cfd9d1; border-radius: 5px; background: #fff; color: #304439; box-shadow: none; font: 600 12px/1.2 "Plus Jakarta Sans", sans-serif; cursor: pointer; transition: background-color .14s ease, border-color .14s ease, color .14s ease; }
.btn-action-edit:hover,
.btn-action-wa:hover { background: #f2f7f3; border-color: #9db5a4; color: #174d34; }
.button:focus-visible,
button:focus-visible,
a.button:focus-visible { outline: 3px solid #176b4540 !important; outline-offset: 2px; }
.icon-button {
  display: inline-grid;
  place-items: center;
  width: 38px;
  min-width: 38px;
  height: 38px;
  border: 1px solid #d2dcd4;
  border-radius: 6px;
  background: #fff;
  color: #34473b;
  box-shadow: none;
  cursor: pointer;
}
.icon-button:hover { background: #f3f7f4; border-color: #afc2b4; }

/* Search behaves as one workspace-wide command palette, with direct, keyboard-accessible matches. */
.global-search-wrap { position: relative; flex: 0 1 340px; width: clamp(250px, 26vw, 340px); min-width: 0; }
.global-search-wrap .global-search { width: 100%; min-width: 0; }
.global-search-results {
  position: absolute;
  z-index: 1000;
  top: calc(100% + 7px);
  right: 0;
  width: min(500px, calc(100vw - 24px));
  max-height: min(65vh, 440px);
  overflow: auto;
  padding: 6px;
  border: 1px solid #dce5de;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px #1f30241c;
}
.global-search-results[hidden] { display: none; }
.global-search-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  min-height: 52px;
  padding: 8px 10px;
  border: 0;
  border-radius: 6px;
  background: #fff;
  color: #263a2e;
  text-align: left;
  cursor: pointer;
}
.global-search-option:hover,
.global-search-option:focus-visible { background: #f1f6f2; outline: 2px solid #176b4540; outline-offset: -2px; }
.global-search-option-main { display: grid; gap: 3px; min-width: 0; }
.global-search-option-main strong,
.global-search-option-main small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.global-search-option-main strong { color: #233c2d; font-size: 13px; font-weight: 650; }
.global-search-option-main small { color: #718077; font-size: 11px; }
.global-search-kind { flex: 0 0 auto; padding: 4px 7px; border-radius: 12px; background: #f1f5f2; color: #576a5d; font-size: 10px; }
.global-search-message { margin: 0; padding: 13px 12px; color: #66756a; font-size: 12px; line-height: 1.5; }

/* Workspace selection stays usable with many clients and long business names. */
.workspace-switch { position: relative; z-index: 8; min-width: 0; cursor: default; }
.workspace-switch-trigger { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 9px !important; width: 100% !important; min-width: 0; min-height: 50px !important; height: auto !important; padding: 7px 6px !important; border: 1px solid transparent !important; border-radius: 7px !important; background: transparent !important; text-align: left !important; cursor: pointer !important; }
.workspace-switch-trigger:hover,
.workspace-switch-trigger[aria-expanded="true"] { border-color: #dbe5de !important; background: #f6f9f6 !important; }
.workspace-switch .workspace-info { display: grid; gap: 2px; flex: 1 1 auto; min-width: 0; }
.workspace-switch .workspace-info strong { display: block; width: 100%; max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-switch .workspace-avatar { flex: 0 0 32px; width: 32px; height: 32px; }
.workspace-switch .workspace-chevron { flex: 0 0 18px; margin-left: auto; }
.workspace-menu { left: 0; width: min(320px, calc(100vw - 24px)); max-width: 320px; max-height: min(68vh, 560px); overflow-y: auto; }
.workspace-filter { display: flex; align-items: center; gap: 7px; margin: 8px 2px 6px; padding: 0 9px; border: 1px solid #dce4dd; border-radius: 6px; background: #fff; color: #708077; }
.workspace-filter:focus-within { border-color: #438362; box-shadow: 0 0 0 3px #176b4517; }
.workspace-filter input { width: 100%; min-width: 0; min-height: 36px; padding: 5px 0; border: 0 !important; outline: 0 !important; box-shadow: none !important; font-size: 12px; }
#workspaceMenuItems { max-height: min(48vh, 380px); overflow-y: auto; }
.workspace-menu .workspace-option { min-height: 48px; }
.workspace-menu .workspace-option b { max-width: 230px; font-size: 12px !important; }
.workspace-menu-empty { margin: 4px 2px 8px; padding: 12px 10px; color: #748178; font-size: 12px; }
.workspace-switch[aria-expanded="true"] .workspace-chevron .chevron-icon { transform: rotate(180deg); }
.breadcrumbs .crumb-ws { display: inline-block; max-width: clamp(80px, 17vw, 200px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
#page-clients .table-wrap { overflow-x: auto; }
#page-clients table { width: 100%; min-width: 690px; table-layout: fixed; }
#page-clients th:nth-child(1) { width: 25%; }
#page-clients th:nth-child(2) { width: 19%; }
#page-clients th:nth-child(3) { width: 18%; }
#page-clients th:nth-child(4) { width: 21%; }
#page-clients th:nth-child(5) { width: 17%; }
.client-name-cell { max-width: 0; }
.client-name,
.client-trade-name { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Validator input gives immediate, specific guidance before the checksum request. */
.gstin-check-form { display: grid; gap: 6px; }
.gstin-check-form>label { color: #405247; font-size: 12px; font-weight: 650; }
.gstin-input-row { display: flex; align-items: stretch; gap: 8px; min-width: 0; }
.gstin-input-row input { flex: 1 1 auto; min-width: 0; font-family: ui-monospace, Consolas, monospace !important; letter-spacing: .035em; text-transform: uppercase; }
.gstin-input-row .button { flex: 0 0 auto; }
.field-help { color: #758178; font-size: 11px; line-height: 1.5; }
.gstin-input-status { min-height: 17px; margin: 0; color: #7b877e; font-size: 11px; }
.gstin-input-status.ready { color: #176b45; font-weight: 600; }
.gstin-result { display: grid; gap: 4px; }
.gstin-result>strong { font-size: 13px; }
.gstin-result>span { font-size: 12px; }
.gstin-result>small { margin-top: 2px; color: #6d7a71; font-size: 10px; }

/* Consistent editable fields and helpful, quiet placeholder text. */
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
select,
textarea {
  min-height: 38px;
  border: 1px solid #cfd9d1;
  border-radius: 6px;
  background-color: #fff;
  color: #24372c;
  box-shadow: none;
}
textarea { min-height: 82px; }
input::placeholder,
textarea::placeholder { color: #8a968e; opacity: 1; }
input:focus,
select:focus,
textarea:focus { border-color: #438362; outline: 0; box-shadow: 0 0 0 3px #176b4517; }
input[type="file"]::file-selector-button {
  min-height: 32px;
  margin: -4px 10px -4px -4px;
  padding: 6px 10px;
  border: 1px solid #cfd9d1;
  border-radius: 5px;
  background: #f7f9f7;
  color: #304439;
  font: 600 12px "Plus Jakarta Sans", sans-serif;
  cursor: pointer;
}
input[type="file"]::file-selector-button:hover { background: #eef4f0; }
.file-dropzone { border-radius: 7px; }
.file-dropzone .file-cta { border-radius: 5px; }

@media (max-width: 540px) {
  .brand > span:last-child { font-size: 19px; }
  .button, button.button, a.button { min-height: 40px; }
}
@media (max-width: 760px) {
  .topbar { height: auto; min-height: 56px; flex-wrap: wrap; gap: 8px; padding-block: 8px; }
  .breadcrumbs { min-width: 0; flex: 1 1 130px; }
  .top-actions { order: 2; flex: 1 1 auto; min-width: 0; justify-content: flex-end; }
  .topbar-fy-wrap { order: 3; flex: 1 1 100%; flex-wrap: wrap; justify-content: flex-start; overflow: visible; }
  .user-button { min-width: 0; max-width: 40vw; }
  .user-button #userName { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
@media (max-width: 420px) {
  .topbar { padding-inline: 10px; }
  .breadcrumbs { flex-basis: 90px; }
  .top-actions { gap: 6px; }
  .top-actions > .global-search { width: clamp(90px, 29vw, 132px); min-width: 0; }
  .user-button { max-width: 34vw; padding-inline: 6px; }
  .global-search-wrap { flex: 1 1 100%; order: 2; width: 100%; }
  .global-search-results { left: 0; right: auto; width: 100%; }
  .top-actions { flex-wrap: wrap; }
  .gstin-input-row { flex-direction: column; }
  .gstin-input-row .button { width: 100%; }
}
.tax-period-picker { display:flex; align-items:center; flex-wrap:wrap; gap:8px; width:100%; margin-top:6px; }
.tax-period-picker select { min-width:132px; min-height:42px; padding:9px 34px 9px 12px; border:1px solid #cfd8d1; border-radius:7px; background:#fff; color:#24372b; font-family:inherit;font-size:14px;font-weight:500; }
.tax-period-picker .tax-period-year { min-width:104px; }
.tax-period-picker .tax-period-fy { color:#65766b; font-size:12px; font-weight:600; }
.month-picker-native { display:none !important; }
@media(max-width:520px){.tax-period-picker select{flex:1 1 42%;min-width:0}.tax-period-picker .tax-period-fy{flex-basis:100%;}}

.legal-content{max-width:900px;margin:42px auto;padding:0 24px 72px}.legal-content h1{font-size:38px}.legal-updated{font-size:14px;color:#65766b;margin:10px 0 22px}.legal-notice{font-size:14px}.legal-card{padding:32px 36px}.legal-card h2{font-size:19px;margin:28px 0 10px}.legal-card p,.legal-card li{font-size:15px;line-height:1.8;color:#435249}.legal-card .legal-bullet{padding-left:18px;position:relative}.legal-card .legal-bullet:before{content:'•';position:absolute;left:4px}.legal-footer{font-size:13px}.policy-editor{width:min(100%,600px)}.policy-editor>label{display:grid;gap:7px;margin:12px 0}.policy-editor textarea{width:100%;min-height:320px;padding:14px;border:1px solid #cfd8d1;border-radius:8px;line-height:1.55;font-size:14px;line-height:1.6}.policy-editor textarea{font-family:inherit}.policy-editor [hidden]{display:none!important}@media(max-width:600px){.legal-content{margin:24px auto;padding-inline:16px}.legal-card{padding:20px}.legal-content h1{font-size:32px}}
