:root{
  --taxai-bg:#f5f7fb;
  --taxai-surface:#ffffff;
  --taxai-surface-2:#f8fafc;
  --taxai-border:#d9e2ef;
  --taxai-text:#0f172a;
  --taxai-muted:#64748b;
  --taxai-primary:#2563eb;
  --taxai-primary-dark:#1e40af;
  --taxai-success:#059669;
  --taxai-warning:#d97706;
  --taxai-danger:#dc2626;
  --taxai-radius:18px;
  --taxai-shadow:0 12px 32px rgba(15,23,42,.08);
}

html,body{
  background:var(--taxai-bg)!important;
  color:var(--taxai-text)!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif!important;
  line-height:1.65;
}

body{
  min-height:100vh;
}

a{
  color:var(--taxai-primary);
  text-decoration:none;
}

a:hover{
  color:var(--taxai-primary-dark);
}

.taxai-main,
.taxai-content,
.taxai-page,
.taxai-ds-page,
main,
.content,
.container,
.container-fluid{
  color:var(--taxai-text)!important;
}

.taxai-page,
.taxai-ds-page,
.taxai-pro-page{
  max-width:1440px;
  margin:0 auto;
  padding:28px;
}

.taxai-page-header,
.taxai-hero,
.taxai-ds-hero,
.page-header{
  background:linear-gradient(135deg,#ffffff 0%,#eef4ff 100%)!important;
  color:var(--taxai-text)!important;
  border:1px solid var(--taxai-border)!important;
  border-radius:24px!important;
  box-shadow:var(--taxai-shadow)!important;
  padding:26px 30px!important;
  margin-bottom:24px!important;
}

.taxai-page-header h1,
.taxai-hero h1,
.taxai-ds-hero h1,
.page-header h1,
h1{
  color:#0f172a!important;
  font-weight:800!important;
  letter-spacing:-.03em;
}

.taxai-page-header p,
.taxai-hero p,
.taxai-ds-hero p,
.page-header p,
.text-muted,
.taxai-text-muted{
  color:var(--taxai-muted)!important;
}

.card,
.taxai-card,
.taxai-ds-card,
.taxai-panel,
.box,
.table-card{
  background:var(--taxai-surface)!important;
  color:var(--taxai-text)!important;
  border:1px solid var(--taxai-border)!important;
  border-radius:var(--taxai-radius)!important;
  box-shadow:var(--taxai-shadow)!important;
}

.card-header,
.taxai-card-header,
.taxai-ds-card-header{
  background:var(--taxai-surface-2)!important;
  color:var(--taxai-text)!important;
  border-bottom:1px solid var(--taxai-border)!important;
  font-weight:700!important;
}

.card-body,
.taxai-card-body,
.taxai-ds-card-body{
  color:var(--taxai-text)!important;
}

.table,
table{
  color:var(--taxai-text)!important;
  background:#fff!important;
}

.table th,
table th{
  background:#f8fafc!important;
  color:#334155!important;
  border-color:var(--taxai-border)!important;
  font-weight:700!important;
}

.table td,
table td{
  color:#0f172a!important;
  border-color:var(--taxai-border)!important;
}

input,
select,
textarea,
.form-control,
.form-select{
  background:#fff!important;
  color:#0f172a!important;
  border:1px solid #cbd5e1!important;
  border-radius:12px!important;
}

.btn,
button,
.button{
  border-radius:12px!important;
  font-weight:700!important;
}

.btn-primary,
.taxai-btn-primary{
  background:var(--taxai-primary)!important;
  border-color:var(--taxai-primary)!important;
  color:#fff!important;
}

.badge,
.status,
.label{
  border-radius:999px!important;
  font-weight:700!important;
}

.alert{
  border-radius:16px!important;
  border:1px solid var(--taxai-border)!important;
}

.sidebar,
.taxai-sidebar,
.taxai-common-sidebar,
.taxai-os-sidebar{
  background:#0f172a!important;
  color:#e5e7eb!important;
}

.sidebar a,
.taxai-sidebar a,
.taxai-common-sidebar a,
.taxai-os-sidebar a{
  color:#cbd5e1!important;
}

.sidebar a:hover,
.taxai-sidebar a:hover,
.taxai-common-sidebar a:hover,
.taxai-os-sidebar a:hover,
.sidebar .active,
.taxai-sidebar .active{
  background:rgba(37,99,235,.18)!important;
  color:#fff!important;
}

[style*="color:white"],
[style*="color: white"],
.text-white{
  text-shadow:none!important;
}

@media(max-width:768px){
  .taxai-page,
  .taxai-ds-page,
  .taxai-pro-page{
    padding:16px;
  }

  .taxai-page-header,
  .taxai-hero,
  .taxai-ds-hero,
  .page-header{
    padding:20px!important;
    border-radius:18px!important;
  }

  .table-responsive{
    border-radius:16px;
    overflow:auto;
  }
}
