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

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;
}

.taxai-main,
.taxai-common-main,
main,
.main-content{
    background:var(--taxai-bg)!important;
}

.taxai-page-header,
.taxai-common-header,
.page-header,
.admin-header{
    background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%)!important;
    border:1px solid var(--taxai-border)!important;
    border-radius:22px!important;
    box-shadow:var(--taxai-shadow)!important;
    padding:22px 26px!important;
    margin-bottom:22px!important;
}

.taxai-page-title,
.taxai-common-header h1,
.page-header h1,
.admin-header h1,
h1{
    color:#0f172a!important;
    font-size:28px!important;
    font-weight:800!important;
    letter-spacing:-.03em!important;
    line-height:1.25!important;
}

.taxai-page-subtitle,
.taxai-common-header p,
.page-header p,
.admin-header p{
    color:var(--taxai-muted)!important;
    font-size:14px!important;
}

.taxai-card,
.taxai-kpi-card,
.card,
.panel,
.box{
    background:var(--taxai-surface)!important;
    border:1px solid var(--taxai-border)!important;
    border-radius:var(--taxai-radius)!important;
    box-shadow:0 12px 30px rgba(15,23,42,.06)!important;
    overflow:hidden!important;
}

.taxai-card,
.card,
.panel,
.box{
    padding:20px!important;
}

.taxai-kpi-grid,
.kpi-grid,
.stats-grid,
.dashboard-grid{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
    gap:16px!important;
    margin:18px 0 22px!important;
}

.taxai-kpi-card{
    padding:18px!important;
}

.taxai-kpi-card .label,
.taxai-kpi-label,
.stat-label{
    color:var(--taxai-muted)!important;
    font-size:12px!important;
    font-weight:700!important;
    letter-spacing:.04em!important;
}

.taxai-kpi-card .value,
.taxai-kpi-value,
.stat-value{
    color:#0f172a!important;
    font-size:26px!important;
    font-weight:850!important;
    letter-spacing:-.03em!important;
}

.taxai-section,
.section,
.table-section{
    background:var(--taxai-surface)!important;
    border:1px solid var(--taxai-border)!important;
    border-radius:var(--taxai-radius)!important;
    box-shadow:0 12px 30px rgba(15,23,42,.05)!important;
    padding:20px!important;
    margin-bottom:18px!important;
}

.taxai-section-title,
.section-title,
h2{
    color:#0f172a!important;
    font-size:18px!important;
    font-weight:800!important;
    letter-spacing:-.02em!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:#475569!important;
    font-size:12px!important;
    font-weight:800!important;
    letter-spacing:.04em!important;
    text-transform:none!important;
    border-bottom:1px solid var(--taxai-border)!important;
    padding:13px 14px!important;
}

tbody td,
.taxai-table td{
    color:#0f172a!important;
    font-size:13px!important;
    border-bottom:1px solid #edf2f7!important;
    padding:13px 14px!important;
    vertical-align:middle!important;
}

tbody tr:hover{
    background:#f8fbff!important;
}

.btn,
button,
.taxai-btn,
a.taxai-btn{
    border-radius:12px!important;
    font-weight:750!important;
    border:1px solid transparent!important;
    box-shadow:none!important;
}

.btn-primary,
.taxai-btn-primary,
button[type="submit"]{
    background:var(--taxai-primary)!important;
    color:#fff!important;
    border-color:var(--taxai-primary)!important;
}

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

input,
select,
textarea,
.form-control,
.taxai-input{
    border:1px solid var(--taxai-border)!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:var(--taxai-primary)!important;
    box-shadow:0 0 0 3px rgba(37,99,235,.12)!important;
    outline:none!important;
}

.badge,
.taxai-badge{
    border-radius:999px!important;
    padding:5px 10px!important;
    font-size:11px!important;
    font-weight:800!important;
}

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

@media(max-width:900px){
    .taxai-page-header,
    .taxai-common-header,
    .page-header,
    .admin-header{
        padding:18px!important;
        border-radius:18px!important;
    }

    h1,
    .taxai-page-title{
        font-size:22px!important;
    }
}
