:root{
  --taxai-bg:#f4f7fb;
  --taxai-surface:#ffffff;
  --taxai-surface-2:#f8fafc;
  --taxai-border:#e5e7eb;
  --taxai-text:#0f172a;
  --taxai-muted:#64748b;
  --taxai-primary:#2563eb;
  --taxai-primary-dark:#1d4ed8;
  --taxai-shadow:0 18px 45px rgba(15,23,42,.08);
  --taxai-radius:18px;
}

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

body{
  margin:0!important;
  min-height:100vh!important;
}

.taxai-main,
.taxai-content,
.admin-main,
.admin-content,
.main-content,
.content-wrapper{
  background:var(--taxai-bg)!important;
  min-height:100vh!important;
}

.taxai-content,
.admin-content,
.main-content,
.content-wrapper{
  padding:28px!important;
  box-sizing:border-box!important;
}

.taxai-page-header,
.agent-os-header,
.taxai-agent-os-header,
.page-header,
.admin-page-header{
  background:linear-gradient(135deg,#ffffff 0%,#f8fafc 55%,#eef4ff 100%)!important;
  color:var(--taxai-text)!important;
  border:1px solid rgba(226,232,240,.95)!important;
  border-radius:24px!important;
  box-shadow:var(--taxai-shadow)!important;
  padding:28px 32px!important;
  margin:0 0 24px 0!important;
}

.taxai-page-header h1,
.agent-os-header h1,
.taxai-agent-os-header h1,
.page-header h1,
.admin-page-header h1{
  color:#0f172a!important;
  font-size:28px!important;
  font-weight:900!important;
  letter-spacing:-.03em!important;
  margin:0 0 8px 0!important;
  line-height:1.25!important;
}

.taxai-page-header p,
.agent-os-header p,
.taxai-agent-os-header p,
.page-header p,
.admin-page-header p{
  color:#64748b!important;
  margin:0!important;
  line-height:1.7!important;
}

.taxai-card,
.agent-os-card,
.card,
.panel,
.box,
.taxai-section,
.agent-os-section{
  background:var(--taxai-surface)!important;
  border:1px solid var(--taxai-border)!important;
  border-radius:var(--taxai-radius)!important;
  box-shadow:0 12px 32px rgba(15,23,42,.06)!important;
  color:var(--taxai-text)!important;
}

.taxai-card,
.agent-os-card,
.card,
.panel,
.box{
  padding:22px!important;
}

.taxai-kpi,
.agent-os-kpi,
.kpi-card,
.metric-card{
  background:#fff!important;
  border:1px solid var(--taxai-border)!important;
  border-radius:20px!important;
  box-shadow:0 12px 28px rgba(15,23,42,.06)!important;
  padding:20px!important;
}

.taxai-grid,
.agent-os-grid,
.kpi-grid,
.metrics-grid{
  display:grid!important;
  gap:18px!important;
}

.taxai-btn,
.btn,
button[type="submit"],
input[type="submit"]{
  border-radius:12px!important;
  font-weight:800!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
}

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

.taxai-btn-primary:hover,
.btn-primary:hover{
  background:var(--taxai-primary-dark)!important;
}

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

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.taxai-input:focus{
  border-color:#93c5fd!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.10)!important;
  outline:none!important;
}

table,
.taxai-table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
  border:1px solid var(--taxai-border)!important;
  border-radius:16px!important;
  overflow:hidden!important;
}

thead th,
.taxai-table th{
  background:#f8fafc!important;
  color:#334155!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
  border-bottom:1px solid var(--taxai-border)!important;
}

td,th{
  padding:14px 16px!important;
  border-color:#eef2f7!important;
}

.badge,
.taxai-badge{
  border-radius:999px!important;
  font-weight:800!important;
  padding:.35rem .7rem!important;
}

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

a{
  color:#2563eb;
}

@media(max-width:900px){
  .taxai-content,
  .admin-content,
  .main-content,
  .content-wrapper{
    padding:18px!important;
  }

  .taxai-page-header,
  .agent-os-header,
  .taxai-agent-os-header,
  .page-header,
  .admin-page-header{
    padding:22px!important;
    border-radius:20px!important;
  }

  .taxai-page-header h1,
  .agent-os-header h1,
  .taxai-agent-os-header h1,
  .page-header h1,
  .admin-page-header h1{
    font-size:23px!important;
  }
}
