:root {
  --srai-blue: #19769d;
  --srai-blue-dark: #105f80;
  --srai-blue-soft: #eaf6fb;
  --srai-red: #930808;
  --srai-text: #23343c;
  --srai-muted: #68777f;
  --srai-border: #d4e5ec;
  --srai-green: #18794e;
  --srai-amber: #a35b00;
  --srai-card: #fff;
  --srai-shadow: 0 14px 38px rgba(23, 65, 82, .10);
}

body:has(.srai-app) .site-header,
body:has(.srai-app) .site-footer,
body:has(.srai-app) .entry-header,
body:has(.srai-app) .page-header,
body:has(.srai-app) .entry-title,
body:has(.srai-app) .wp-block-post-title,
body:has(.srai-app) header.wp-block-template-part,
body:has(.srai-app) footer.wp-block-template-part,
body:has(.srai-app) .wp-site-blocks > header,
body:has(.srai-app) .wp-site-blocks > footer {
  display: none !important;
}

html:has(.srai-app),
body:has(.srai-app),
body:has(.srai-app) .wp-site-blocks,
body:has(.srai-app) main:not(.srai-main) {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  overflow-x: hidden;
  overflow-x: clip;
  background: #f2f7f9;
}

.srai-app,
.srai-app * {
  box-sizing: border-box;
}

.srai-app {
  width: 100%;
  max-width: 100%;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  overflow-x: clip;
  color: var(--srai-text);
  background: linear-gradient(180deg, #fff 0, #f7fbfc 260px, #eef4f6 100%);
  font-family: Inter, "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.45;
}

.srai-dev-banner {
  position: relative;
  z-index: 2147483645;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  padding: max(9px, env(safe-area-inset-top)) 18px 10px;
  color: #fff;
  text-align: center;
  background: #9b3b00;
  border-bottom: 3px solid #ffbd66;
}

.srai-dev-banner strong { letter-spacing: .08em; }
.srai-dev-banner span { font-size: 13px; font-weight: 700; }

@media (max-width: 620px) {
  .srai-dev-banner { flex-direction: column; gap: 2px; padding-right: 12px; padding-left: 12px; }
}

body.srai-processing-active {
  overflow: hidden !important;
  overscroll-behavior: none;
}

.srai-app.srai-is-processing > :not(.srai-processing-lock) {
  pointer-events: none !important;
  user-select: none !important;
}

.srai-processing-lock[hidden] { display: none !important; }

.srai-processing-lock {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  display: grid;
  place-items: center;
  width: 100vw;
  height: 100dvh;
  padding: 22px;
  overflow: hidden;
  color: var(--srai-text);
  background: rgba(10, 37, 49, .76);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  touch-action: none;
  cursor: wait;
}

.srai-processing-lock-card {
  width: min(100%, 420px);
  padding: 30px 24px;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 24px;
  text-align: center;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
}

.srai-processing-lock-card strong,
.srai-processing-lock-card p,
.srai-processing-lock-card small { display: block; }

.srai-processing-lock-card strong {
  margin-top: 18px;
  color: var(--srai-blue-dark);
  font-size: 24px;
}

.srai-processing-lock-card p {
  margin: 10px 0 8px;
  font-size: 17px;
  font-weight: 700;
}

.srai-processing-lock-card small { color: var(--srai-muted); }

.srai-processing-spinner {
  width: 54px;
  height: 54px;
  display: inline-block;
  border: 6px solid #d8edf5;
  border-top-color: var(--srai-blue);
  border-radius: 50%;
  animation: srai-spin .8s linear infinite;
}

@keyframes srai-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .srai-processing-spinner { animation-duration: 1.8s; }
}

.srai-app button,
.srai-app input,
.srai-app select {
  min-width: 0;
  max-width: 100%;
  font: inherit;
}

.srai-app img { max-width: 100%; }

.srai-header {
  position: sticky;
  top: 0;
  z-index: 100;
  color: #fff;
  background: var(--srai-blue);
  box-shadow: 0 8px 22px rgba(16, 75, 101, .22);
}

body.admin-bar .srai-header { top: 32px; }

.srai-header-inner {
  width: min(100% - 32px, 1320px);
  min-height: 76px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.srai-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.srai-brand-mark {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: var(--srai-blue);
  background: #fff;
  font-size: 26px;
  font-weight: 900;
  box-shadow: 0 7px 16px rgba(0, 0, 0, .13);
}

.srai-brand strong,
.srai-brand small {
  display: block;
}

.srai-brand strong {
  font-size: 22px;
  letter-spacing: -.02em;
}

.srai-brand small {
  color: rgba(255, 255, 255, .78);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.srai-user {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 14px;
  font-weight: 700;
}

.srai-user a {
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, .5);
  border-radius: 9px;
  color: #fff !important;
  text-decoration: none;
}

.srai-main {
  width: min(100% - 32px, 1320px);
  margin: 0 auto;
  padding: 34px 0 64px;
}

.srai-mobile-view .srai-main {
  width: 100%;
  max-width: 840px;
  padding-right: max(18px, env(safe-area-inset-right));
  padding-left: max(18px, env(safe-area-inset-left));
}

/* Računovodstvo je radna desktop površina, odvojena od užeg mobilnog unosa. */
.srai-accounting-view .srai-header-inner,
.srai-accounting-view .srai-main {
  max-width: none;
}

.srai-accounting-view .srai-header-inner { width: 100%; padding-right: 48px; padding-left: 48px; }
.srai-accounting-view .srai-main {
  width: calc(100% - 96px) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 38px 0 64px !important;
}
.srai-accounting-view .srai-hero { margin-bottom: 30px; }
.srai-accounting-view .srai-panel,
.srai-accounting-view .srai-invoices-section { padding: 28px 30px; }

.srai-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 26px;
}

.srai-kicker {
  color: var(--srai-blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.srai-hero h1 {
  margin: 5px 0 8px;
  color: #173541;
  font-size: clamp(29px, 4vw, 46px);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.srai-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--srai-muted);
  font-size: 17px;
}

.srai-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(88px, 1fr));
  gap: 8px;
  flex: 0 0 auto;
}

.srai-stats div {
  min-width: 92px;
  padding: 12px;
  border: 1px solid var(--srai-border);
  border-radius: 14px;
  background: rgba(255, 255, 255, .82);
  text-align: center;
}

.srai-stats strong,
.srai-stats span { display: block; }
.srai-stats strong { color: var(--srai-blue-dark); font-size: 24px; }
.srai-stats span { color: var(--srai-muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }

.srai-panel,
.srai-invoices-section {
  margin-bottom: 22px;
  padding: 24px;
  border: 1px solid var(--srai-border);
  border-radius: 20px;
  background: var(--srai-card);
  box-shadow: var(--srai-shadow);
}

.srai-panel-head,
.srai-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}

.srai-panel-head > div,
.srai-section-head > div {
  display: flex;
  align-items: center;
  gap: 12px;
}

.srai-panel h2,
.srai-section-head h2 {
  margin: 0;
  color: #173541;
  font-size: 23px;
}

.srai-panel > p { color: var(--srai-muted); }

.srai-profile-badge {
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.srai-profile-badge.is-ready {
  color: var(--srai-green);
  background: #e8f7ef;
}

.srai-profile-badge.is-required {
  color: var(--srai-amber);
  background: #fff4d8;
}

.srai-profile-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, .65fr) auto;
  align-items: end;
  gap: 12px;
}

.srai-profile-form label,
.srai-profile-form label span {
  display: block;
}

.srai-profile-form label span {
  margin-bottom: 6px;
  color: #425a65;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.srai-profile-form input {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #bfd4dd;
  border-radius: 11px;
  color: var(--srai-text);
  background: #fff;
}

.srai-profile-status {
  margin: 12px 0 0 !important;
  font-size: 14px;
  font-weight: 700;
}

.srai-profile-status.is-ready { color: var(--srai-green); }
.srai-profile-status.is-required { color: var(--srai-amber); }
.srai-gallery-button:has(+ .srai-file-input:disabled) { opacity: .45; pointer-events: none; }

.srai-step {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: #fff;
  background: var(--srai-blue);
  font-size: 15px;
  font-weight: 900;
}

.srai-batch-limit {
  padding: 7px 11px;
  border-radius: 999px;
  color: var(--srai-blue-dark);
  background: var(--srai-blue-soft);
  font-size: 12px;
  font-weight: 800;
}

.srai-upload-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 22px 0 14px;
}

.srai-file-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  opacity: 0 !important;
}

.srai-capture-button,
.srai-gallery-button {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 18px;
  border-radius: 14px;
  cursor: pointer;
  font-weight: 850;
  text-align: center;
  transition: transform .15s ease, filter .15s ease;
}

.srai-capture-button {
  color: #fff;
  background: var(--srai-blue);
}

.srai-gallery-button {
  width: 100%;
  min-height: 66px;
  border: 2px solid var(--srai-blue);
  color: var(--srai-blue-dark);
  background: #fff;
  font-size: 17px;
}

.srai-capture-button:hover,
.srai-gallery-button:hover { transform: translateY(-1px); filter: brightness(.98); }

.srai-selected {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 10px;
  margin: 18px 0 12px;
}

.srai-selected-item {
  display: grid;
  grid-template-columns: 64px 1fr 36px;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border: 1px solid var(--srai-border);
  border-radius: 12px;
  background: #f8fbfc;
}

.srai-selected-thumb {
  position: relative;
  width: 64px;
  height: 64px;
  overflow: hidden;
  border-radius: 9px;
  color: #83a2ae;
  background: #e7f0f3;
}

.srai-selected-thumb > span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 25px;
}

.srai-selected-thumb > .srai-pdf-thumb {
  color: #075b77;
  background: #dff2fa;
  font-size: 16px;
  font-weight: 950;
  letter-spacing: .04em;
}

.srai-selected-thumb img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.srai-selected-meta strong,
.srai-selected-meta span,
.srai-selected-meta small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.srai-selected-meta span { color: var(--srai-muted); font-size: 12px; }
.srai-selected-meta small { color: var(--srai-blue); font-size: 11px; font-weight: 800; }
.srai-selected-item em { display: block; margin-top: 3px; color: var(--srai-muted); font-size: 11px; font-style: normal; font-weight: 750; }
.srai-selected-item em.is-ready { color: var(--srai-green); }
.srai-selected-item em.is-error { color: var(--srai-red); white-space: normal; }
.srai-selected-item.has-error { border-color: #e3a5a5; background: #fff5f5; }

.srai-selected-item button {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: var(--srai-red);
  cursor: pointer;
  font-size: 25px;
  line-height: 1;
}

.srai-batch-info {
  margin: 10px 0 14px;
  color: var(--srai-muted);
  font-size: 13px;
  font-weight: 700;
}

.srai-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  padding: 10px 16px;
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 800;
  text-decoration: none !important;
}

.srai-button:disabled { opacity: .5; cursor: not-allowed; }
.srai-button-primary { color: #fff !important; background: var(--srai-blue); }
.srai-button-secondary { color: #fff !important; background: #324c58; }
.srai-button-ghost { border: 1px solid var(--srai-border); color: var(--srai-blue-dark) !important; background: #fff; }
.srai-button-danger { border: 1px solid #e7b6b6; color: var(--srai-red) !important; background: #fff5f5; }
.srai-button-warning { border: 1px solid #e3b65e; color: #704000 !important; background: #fff5d9; }
.srai-process-button { width: 100%; min-height: 56px; font-size: 17px; }

.srai-batch-submit {
  display: grid;
  gap: 14px;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #91d0b0;
  border-radius: 16px;
  background: #effaf4;
}

.srai-batch-submit[hidden] { display: none !important; }
.srai-batch-submit strong,
.srai-batch-submit span { display: block; }
.srai-batch-submit strong { color: #12623e; font-size: 17px; }
.srai-batch-submit span { margin-top: 4px; color: #426455; font-size: 13px; }

.srai-button-submit-all {
  width: 100%;
  min-height: 58px;
  color: #fff !important;
  background: #168351;
  font-size: 17px;
}

.srai-button-submit-all:hover:not(:disabled) { background: #106b41; }

.srai-progress { margin-top: 16px; }
.srai-progress-track { height: 12px; overflow: hidden; border-radius: 999px; background: #dce8ed; }
.srai-progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--srai-blue), #2ba8d0); transition: width .25s ease; }
.srai-progress p { margin: 8px 0 0; color: var(--srai-blue-dark); font-size: 13px; font-weight: 800; }

.srai-client-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}

.srai-accounting-view .srai-client-cards {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 16px;
}

.srai-accounting-view .srai-client-card { min-height: 82px; padding: 16px; }

.srai-selected-client-panel .srai-panel-head { margin-bottom: 14px; }

.srai-selected-client-card {
  cursor: default;
  pointer-events: none;
}

.srai-selected-client-card:not(.is-active) {
  border-style: dashed;
  background: #fbfdfe;
}

.srai-client-card {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 13px;
  border: 1px solid var(--srai-border);
  border-radius: 14px;
  color: var(--srai-text);
  background: #fff;
  cursor: pointer;
  text-align: left;
}

.srai-client-card:hover,
.srai-client-card.is-active {
  border-color: var(--srai-blue);
  background: var(--srai-blue-soft);
  box-shadow: 0 0 0 2px rgba(25, 118, 157, .09);
}

.srai-client-avatar {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #fff;
  background: var(--srai-blue);
  font-size: 20px;
  font-weight: 900;
}

.srai-client-card-name strong,
.srai-client-card-name small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.srai-client-card-name small { margin-top: 2px; color: var(--srai-muted); font-size: 11px; }
.srai-client-counts { color: var(--srai-muted); font-size: 11px; text-align: right; }
.srai-client-counts b { color: var(--srai-amber); font-size: 17px; }
.srai-empty-small { padding: 18px; border: 1px dashed var(--srai-border); border-radius: 12px; color: var(--srai-muted); }

.srai-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(190px, .6fr) auto;
  align-items: end;
  gap: 14px;
}

.srai-accounting-view .srai-toolbar {
  grid-template-columns: minmax(230px, 1fr) minmax(155px, .55fr) minmax(170px, .58fr) minmax(180px, .62fr) auto;
  gap: 18px;
}

.srai-accounting-view-tabs {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  margin: 4px 0 18px;
  padding: 4px;
  border: 1px solid var(--srai-border);
  border-radius: 12px;
  background: #edf4f7;
}

.srai-accounting-view-tabs button {
  min-height: 42px;
  padding: 8px 15px;
  border: 0;
  border-radius: 9px;
  color: #526771;
  background: transparent;
  cursor: pointer;
  font-weight: 800;
}

.srai-accounting-view-tabs button.is-active {
  color: #fff;
  background: var(--srai-blue);
  box-shadow: 0 4px 12px rgba(16, 95, 128, .18);
}

.srai-toolbar-actions,
.srai-section-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.srai-toolbar-actions { align-self: end; }

.srai-toolbar label {
  display: grid;
  gap: 5px;
  color: #39505a;
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
}

.srai-toolbar select {
  min-height: 45px;
  padding: 8px 36px 8px 11px;
  border: 1px solid #bed5df;
  border-radius: 10px;
  color: var(--srai-text);
  background: #fff;
  font-size: 15px;
  text-transform: none;
}

.srai-toolbar-note { margin: 12px 0 0 !important; font-size: 13px; }

.srai-scan-access-qr {
  width: 100%;
  margin: 4px 0 8px;
  border-color: var(--srai-blue);
  color: var(--srai-blue-dark);
  background: #eaf6fa;
}

.srai-message {
  margin: 14px 0;
  padding: 12px 14px;
  border-radius: 11px;
  font-weight: 700;
}
.srai-message.info { border: 1px solid #add7e8; color: #155d78; background: #edf8fc; }
.srai-message.success { border: 1px solid #9ed2b9; color: #12623e; background: #effaf4; }
.srai-message.warning { border: 1px solid #e1c071; color: #6d4700; background: #fff8e5; }
.srai-message.error { border: 1px solid #e3a5a5; color: #871d1d; background: #fff0f0; }

.srai-invoices { display: grid; gap: 16px; }

.srai-invoice-month-group,
.srai-month-invoices { display: grid; gap: 16px; }

.srai-invoice-month-group + .srai-invoice-month-group { margin-top: 14px; }

.srai-month-divider {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 18px;
  border-left: 5px solid var(--srai-blue);
  border-radius: 12px;
  color: var(--srai-blue-dark);
  background: #e8f4f9;
}

.srai-month-divider strong { font-size: 20px; }
.srai-month-divider span { color: #58727e; font-size: 12px; font-weight: 750; text-align: right; }

.srai-invoice {
  overflow: hidden;
  border: 1px solid var(--srai-border);
  border-left: 5px solid #9fbac5;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(24, 65, 80, .06);
}

.srai-status-submitted { border-left-color: #6b78c4; }
.srai-status-verified { border-left-color: var(--srai-green); }
.srai-status-exported { border-left-color: #55707b; }
.srai-status-duplicate { border-left-color: #e08a00; }
.srai-status-error { border-left-color: var(--srai-red); }
.srai-status-processing { border-left-color: var(--srai-blue); }

.srai-test-warning {
  margin: 0 0 18px;
  padding: 14px 18px;
  border: 2px solid #c51622;
  border-radius: 12px;
  color: #a0000b;
  background: #fff0f1;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.srai-test-warning strong { display: block; color: #8f0009; font-size: 15px; }

.srai-invoice-summary {
  display: grid;
  grid-template-columns: auto 84px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 15px 16px;
  background: #f9fcfd;
}

.srai-invoice-summary > img {
  width: 84px;
  height: 84px;
  border-radius: 11px;
  object-fit: cover;
  background: #e9f0f2;
}

.srai-document-preview {
  width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 2px;
  border: 1px solid #bed5df;
  border-radius: 11px;
  color: var(--srai-blue-dark);
  background: #eaf6fa;
  text-decoration: none;
}

.srai-document-preview span { font-size: 20px; font-weight: 950; letter-spacing: .04em; }
.srai-document-preview small { color: #607984; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.srai-document-preview:hover { border-color: var(--srai-blue); background: #ddf1f8; }

.srai-select { position: relative; width: 28px; height: 28px; }
.srai-select input { position: absolute; opacity: 0; }
.srai-select span { width: 25px; height: 25px; display: block; border: 2px solid #90a9b3; border-radius: 7px; background: #fff; }
.srai-select input:checked + span { border-color: var(--srai-blue); background: var(--srai-blue); box-shadow: inset 0 0 0 5px #fff; }
.srai-select input:disabled + span { opacity: .35; }

.srai-invoice-title { min-width: 0; }
.srai-invoice-title h3 { margin: 5px 0 2px; overflow: hidden; color: #173541; font-size: 19px; text-overflow: ellipsis; white-space: nowrap; }
.srai-invoice-title p { margin: 0; color: var(--srai-muted); }
.srai-invoice-title small { display: block; margin-top: 4px; color: var(--srai-blue-dark); font-weight: 800; }
.srai-invoice-title .srai-received-note { color: #657b85; font-weight: 650; }
.srai-invoice-title .srai-exported-note { margin-top: 7px; color: #49626c; font-size: 11px; }
.srai-status-badge { display: inline-flex; padding: 4px 8px; border-radius: 999px; color: var(--srai-blue-dark); background: var(--srai-blue-soft); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.srai-document-type-badge { display: inline-flex; margin-left: 6px; padding: 4px 8px; border-radius: 999px; font-size: 10px; font-weight: 950; text-transform: uppercase; }
.srai-document-type-badge.is-ura { color: #075b77; background: #dff2fa; }
.srai-document-type-badge.is-ira { color: #664300; background: #fff0c9; }
.srai-document-type-badge.is-unknown { color: #8a2020; background: #ffe4e4; }

.srai-confidence { min-width: 68px; text-align: center; }
.srai-confidence strong,
.srai-confidence span { display: block; }
.srai-confidence strong { color: var(--srai-blue-dark); font-size: 20px; }
.srai-confidence span { color: var(--srai-muted); font-size: 10px; text-transform: uppercase; }

.srai-fields {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}

.srai-fields-primary { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.srai-accounting-view .srai-fields-primary {
  grid-template-columns: repeat(6, minmax(135px, 1fr));
}

.srai-accounting-view .srai-fields {
  grid-template-columns: repeat(6, minmax(135px, 1fr));
  gap: 14px;
  padding: 20px;
}

.srai-accounting-view .srai-invoice-summary {
  grid-template-columns: auto 104px minmax(0, 1fr) auto;
  padding: 18px 20px;
}

.srai-accounting-view .srai-invoice-summary > img,
.srai-accounting-view .srai-document-preview {
  width: 104px;
  height: 104px;
}

.srai-accounting-view .srai-card-actions { padding: 16px 20px 20px; }

.srai-field {
  display: grid;
  gap: 5px;
}

.srai-field span {
  color: #52666f;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.srai-field input,
.srai-field select {
  width: 100%;
  min-height: 43px;
  padding: 8px 10px;
  border: 1px solid #c7d9e0;
  border-radius: 9px;
  color: var(--srai-text);
  background: #fff;
}

.srai-field input:focus,
.srai-field select:focus {
  border-color: var(--srai-blue);
  outline: 3px solid rgba(25, 118, 157, .12);
}

.srai-tax-details { border-top: 1px solid #e2ecef; }
.srai-tax-details summary { padding: 12px 16px; cursor: pointer; color: var(--srai-blue-dark); font-size: 13px; font-weight: 850; }
.srai-card-actions { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 16px 17px; border-top: 1px solid #e2ecef; }
.srai-card-actions .srai-button { font-size: 13px; }

.srai-warnings {
  margin: 0;
  padding: 12px 38px;
  border-top: 1px solid #efd59d;
  border-bottom: 1px solid #efd59d;
  color: #704800;
  background: #fff9e9;
  font-size: 13px;
}

.srai-duplicate-note,
.srai-error-note { padding: 12px 16px; font-size: 13px; }
.srai-duplicate-note { color: #704800; background: #fff1cf; }
.srai-error-note { color: #861e1e; background: #fff0f0; }

.srai-empty {
  padding: 52px 20px;
  border: 2px dashed #c9dce3;
  border-radius: 16px;
  color: var(--srai-muted);
  text-align: center;
}
.srai-empty span { color: #9bb8c4; font-size: 44px; }
.srai-empty h3 { margin: 7px 0 3px; color: #39545f; }
.srai-empty p { margin: 0; }

.srai-footer {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 24px;
  color: #fff;
  background: var(--srai-red);
  text-align: center;
}
.srai-footer span { color: rgba(255, 255, 255, .8); }

.srai-login {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}
.srai-login-card { width: min(100%, 430px); padding: 34px; border: 1px solid var(--srai-border); border-radius: 22px; background: #fff; box-shadow: var(--srai-shadow); text-align: center; }
.srai-login-card .srai-brand-mark { margin: 0 auto; color: #fff; background: var(--srai-blue); }
.srai-login-card h1 { margin: 16px 0 5px; }
.srai-login-card p { margin: 0 0 22px; color: var(--srai-muted); }
.srai-access-form { display: grid; gap: 16px; text-align: left; }
.srai-access-form label { display: grid; gap: 7px; }
.srai-access-form label span { color: #38535e; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.srai-access-form input {
  width: 100%;
  min-height: 50px;
  box-sizing: border-box;
  padding: 10px 13px;
  border: 1px solid #b9d2dc;
  border-radius: 12px;
  background: #fff;
  color: #173744;
  font: inherit;
}
.srai-access-form .srai-button { width: 100%; min-height: 50px; }
.srai-access-notice { margin: 18px 0; padding: 14px; border: 1px solid; border-radius: 12px; text-align: left; line-height: 1.45; }
.srai-access-notice.is-success { color: #11663f; border-color: #8ed2b0; background: #edf9f3; }
.srai-access-notice.is-error { color: #8c2424; border-color: #e5aaaa; background: #fff1f1; }
.srai-login-card .srai-access-help { margin: 20px 0 0; font-size: 13px; }

@media (max-width: 900px) {
  .srai-hero { align-items: flex-start; flex-direction: column; }
  .srai-profile-form { grid-template-columns: 1fr 1fr; }
  .srai-profile-form .srai-button { grid-column: 1 / -1; }
  .srai-stats { width: 100%; }
  .srai-toolbar { grid-template-columns: 1fr 1fr; }
  .srai-toolbar-actions { grid-column: 1 / -1; }
  .srai-fields,
  .srai-fields-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 901px) and (max-width: 1280px) {
  .srai-accounting-view .srai-header-inner,
  .srai-accounting-view .srai-main { max-width: none; }
  .srai-accounting-view .srai-header-inner { padding-right: 32px; padding-left: 32px; }
  .srai-accounting-view .srai-main { width: calc(100% - 64px) !important; padding-right: 0 !important; padding-left: 0 !important; }
  .srai-accounting-view .srai-fields,
  .srai-accounting-view .srai-fields-primary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .srai-accounting-view .srai-toolbar { grid-template-columns: 1fr 1fr; }
  .srai-accounting-view .srai-toolbar-actions { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .srai-accounting-view .srai-header-inner,
  .srai-accounting-view .srai-main { max-width: none; }
  .srai-accounting-view .srai-main { width: calc(100% - 48px) !important; padding-right: 0 !important; padding-left: 0 !important; }
  .srai-accounting-view .srai-panel,
  .srai-accounting-view .srai-invoices-section { padding: 20px; }
  .srai-accounting-view .srai-fields,
  .srai-accounting-view .srai-fields-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .srai-accounting-view .srai-invoice-summary { grid-template-columns: auto 84px minmax(0, 1fr) auto; }
  .srai-accounting-view .srai-invoice-summary > img { width: 84px; height: 84px; }
  .srai-accounting-view .srai-document-preview { width: 84px; height: 84px; }
}

@media (max-width: 600px) {
  body.admin-bar .srai-header { top: 46px; }
  .srai-header-inner {
    width: 100%;
    min-height: 68px;
    padding-right: max(16px, env(safe-area-inset-right));
    padding-left: max(16px, env(safe-area-inset-left));
  }
  .srai-brand-mark { width: 40px; height: 40px; flex-basis: 40px; border-radius: 12px; font-size: 22px; }
  .srai-brand strong { font-size: 19px; }
  .srai-user span { display: none; }
  .srai-user a { padding: 7px 9px; font-size: 12px; }
  .srai-main,
  .srai-mobile-view .srai-main {
    width: 100%;
    max-width: none;
    padding-top: 23px;
    padding-right: max(18px, env(safe-area-inset-right));
    padding-bottom: 48px;
    padding-left: max(18px, env(safe-area-inset-left));
  }
  .srai-hero h1 { font-size: 31px; }
  .srai-hero p { font-size: 15px; }
  .srai-stats div { min-width: 0; padding: 9px 5px; }
  .srai-stats strong { font-size: 20px; }
  .srai-panel,
  .srai-invoices-section { padding: 16px; border-radius: 16px; }
  .srai-panel h2,
  .srai-section-head h2 { font-size: 20px; }
  .srai-profile-form { grid-template-columns: 1fr; }
  .srai-profile-form .srai-button { grid-column: auto; width: 100%; }
  .srai-upload-actions { grid-template-columns: 1fr; }
  .srai-capture-button { min-height: 68px; font-size: 18px; }
  .srai-selected { width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr); }
  .srai-selected-item { width: 100%; min-width: 0; grid-template-columns: 64px minmax(0, 1fr) 36px; }
  .srai-section-head { align-items: flex-start; }
  .srai-section-head .srai-button { min-height: 36px; padding: 7px 10px; font-size: 12px; }
  .srai-invoice-summary { grid-template-columns: 72px minmax(0, 1fr); padding: 12px; }
  .srai-invoice-summary > img { width: 72px; height: 72px; }
  .srai-document-preview { width: 72px; height: 72px; }
  .srai-select { position: absolute; z-index: 2; margin: 4px; }
  .srai-confidence { display: none; }
  .srai-invoice-title h3 { font-size: 17px; }
  .srai-fields,
  .srai-fields-primary { grid-template-columns: 1fr; padding: 13px; }
  .srai-card-actions { display: grid; grid-template-columns: 1fr; padding: 13px; }
  .srai-card-actions .srai-button { width: 100%; }
  .srai-client-cards { grid-template-columns: 1fr; }
  .srai-toolbar { grid-template-columns: 1fr; }
  .srai-accounting-view-tabs { width: 100%; }
  .srai-accounting-view-tabs button { padding: 8px 10px; font-size: 12px; }
  .srai-toolbar-actions { grid-column: auto; display: grid; grid-template-columns: 1fr; }
  .srai-month-divider { align-items: flex-start; flex-direction: column; gap: 3px; padding: 12px 14px; }
  .srai-month-divider strong { font-size: 18px; }
  .srai-month-divider span { text-align: left; }
  .srai-section-actions { display: grid; grid-template-columns: 1fr; }
  .srai-footer { flex-direction: column; gap: 3px; font-size: 13px; }
  .srai-accounting-view .srai-header-inner { width: 100%; max-width: none; padding-right: 12px; padding-left: 12px; }
  .srai-accounting-view .srai-main { width: calc(100% - 24px) !important; max-width: none; padding: 23px 0 48px !important; }
  .srai-accounting-view .srai-panel,
  .srai-accounting-view .srai-invoices-section { padding: 16px; }
  .srai-accounting-view .srai-fields,
  .srai-accounting-view .srai-fields-primary { grid-template-columns: 1fr; }
  .srai-accounting-view .srai-invoice-summary { grid-template-columns: 72px minmax(0, 1fr); padding: 12px; }
  .srai-accounting-view .srai-invoice-summary > img { width: 72px; height: 72px; }
}
