:root {
  --color-bg: #fafafa;
  --color-surface: #ffffff;
  --color-surface-soft: #f8fafc;
  --color-surface-hover: #f8fbff;
  --radius-md: 4px;
  --shadow-card: 0 1px 2px rgba(15, 23, 42, 0.08);
  --radius-lg: 16px;
  --card-padding: 5px;
  --shadow-card-hover: 0 8px 24px rgba(16, 24, 40, 0.10);
  --color-text: #0f1314;
  --color-muted: #6b7280;
  --color-heading: #0f1314;
  --color-primary: #3ea9da;
  --color-primary-hover: #1849a9;
  --color-primary-soft: #eff4ff;
  --font-family-body: Inter, "Segoe UI", Arial, sans-serif;
  --font-size-body: 14px;
  --font-size-small: 10px;
  --font-size-table: 12px;
  --font-size-h1: 32px;
  --font-size-h2: 20px;
  --font-size-h3: 16px;
  --color-success: #53ac74;
  --color-success-soft: #ecfdf3;
  --color-danger: #c65353;
  --color-danger-soft: #fef3f2;
  --color-warning: #e6b156;
  --color-warning-soft: #fffaeb;
  --focus-ring: rgba(23, 92, 211, 0.22);
  --content-padding-x: 22px;
  --content-padding-y: 18px;
  --module-gap: 12px;
  --module-hero-padding-x: 18px;
  --module-hero-padding-y: 16px;
  --module-panel-radius: 10px;
  --module-hero-bg: #ffffff;
  --module-hero-border: #dfe4ea;
  --module-hero-accent: #bdbdbd;
  --module-hero-shadow: 0 1px 3px rgba(16, 24, 40, 0.08);
  --panel-header-bg: #f8fafc;
  --panel-header-border: #dfe4ea;
  --panel-header-padding-x: 12px;
  --panel-header-padding-y: 10px;
  --toolbar-bg: #f8fafc;
  --toolbar-padding-x: 12px;
  --toolbar-padding-y: 10px;
  --summary-card-padding: 12px;
  --summary-card-radius: 10px;
  --sidebar-width: 260px;
  --sidebar-collapsed-width: 72px;
  --sidebar-padding-x: 10px;
  --sidebar-padding-y: 10px;
  --sidebar-item-radius: 4px;
  --sidebar-bg: #11191b;
  --sidebar-text: #f0f0e8;
  --sidebar-active-bg: rgba(14,165,233,0.18);
  --header-bg: #ffffff;
  --header-border: #e5e7eb;
  --header-height: 64px;
  --header-padding-x: 22px;
  --header-padding-y: 10px;
  --header-link-radius: 10px;
  --table-header-bg: #f9fafb;
  --table-row-hover-bg: #f8fbff;
  --table-border: #e5e7eb;
  --table-cell-padding-x: 6px;
  --table-cell-padding-y: 4px;
  --input-bg: #ffffff;
  --input-min-height: 40px;
  --input-padding-x: 10px;
  --input-radius: 4px;
  --button-radius: 4px;
  --button-bg: #ffffff;
  --button-text: #182230;
  --button-border: #c9d1da;
  --button-primary-bg: #3089b5;
  --button-primary-hover-bg: #75abbd;
  --button-primary-text: #ffffff;
  --button-font-size: 10px;
  --button-font-weight: 500;
  --button-min-height: 15px;
  --button-padding-x: 5px;
  --content-gap: 20px;
  --dialog-width: 520px;
  --dialog-compact-width: 520px;
  --dialog-wide-width: 600px;
  --dialog-radius: 6px;
  --dialog-padding-x: 6px;
  --dialog-padding-y: 6px;
  --dialog-field-gap: 4px;
  --dialog-input-height: 20px;
  --dialog-font-size: 10px;
  --dialog-title-size: 14px;
  --dialog-backdrop: rgba(16, 24, 40, 0.52);
  --dialog-backdrop-blur: 2px;
  --dialog-shadow: 0 24px 64px rgba(16, 24, 40, 0.24);
  --dialog-border: #dfe4ea;
}
html { font-family: var(--font-family-body); font-size: var(--font-size-body); }
small, .small { font-size: var(--font-size-small); }
h1 { font-size: var(--font-size-h1); }
h2 { font-size: var(--font-size-h2); }
h3 { font-size: var(--font-size-h3); }
.app-content table { font-size: var(--font-size-table); }
.app-content table thead th { background: var(--table-header-bg); }
.button { min-height: var(--button-min-height); padding-right: var(--button-padding-x); padding-left: var(--button-padding-x); border-radius: var(--button-radius); font-size: var(--button-font-size); font-weight: var(--button-font-weight); }
.button:not(.button--primary):not(.button--success):not(.button--danger):not(.button--ghost) { border-color: var(--button-border); background: var(--button-bg); color: var(--button-text); }
.button--primary { border-color: var(--button-primary-bg); background: var(--button-primary-bg); color: var(--button-primary-text); }
.button--primary:hover { background: var(--button-primary-hover-bg); }
.admin-hero, .registers-hero, .subcontractors-hero, .links-book-hero, .rfq-send__hero, .materials-rfq__hero, .settings-hero, .dashboard-hero { gap: var(--module-gap); padding: var(--module-hero-padding-y) var(--module-hero-padding-x); border-color: var(--module-hero-border); border-top-color: var(--module-hero-accent); border-radius: var(--module-panel-radius); background: var(--module-hero-bg); box-shadow: var(--module-hero-shadow); }
.admin-card, .registers-workspace, .subcontractors-workspace, .subcontractor-card, .links-book-workspace, .rfq-workspace, .rfq-card, .bids-workspace, .bids-card, .settings-workspace, .settings-card, .procurement-workspace, .procurement-table-card, .procurement-detail-card { border-radius: var(--module-panel-radius); }
.admin-card__header, .rfq-card__heading, .bids-card__heading, .settings-card > header, .procurement-table-card > header, .procurement-detail-card__heading { padding: var(--panel-header-padding-y) var(--panel-header-padding-x); border-color: var(--panel-header-border); background: var(--panel-header-bg); }
.admin-toolbar, .registers-toolbar, .subcontractors-toolbar { padding: var(--toolbar-padding-y) var(--toolbar-padding-x); background: var(--toolbar-bg); }
.app-content input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=range]), .app-content select, .app-content textarea { min-height: var(--input-min-height); padding-right: var(--input-padding-x); padding-left: var(--input-padding-x); border-radius: var(--input-radius); background-color: var(--input-bg); }
