:root{--bg:#f3f5f8;--surface:#fff;--ink:#1c2430;--muted:#5d6b7d;--line:#d9dfe7;--brand:#1f4e8c;--brand-d:#173c6c;--danger:#b3261e;--ok:#e7f4ec;--ok-ink:#17603a;--bad:#fbeae9}
@media (prefers-color-scheme:dark){:root{--bg:#10151c;--surface:#171e28;--ink:#e6ebf2;--muted:#9aa8ba;--line:#2a3442;--brand:#5b95dc;--brand-d:#79aaea;--danger:#ff8a80;--ok:#12301f;--ok-ink:#7fd6a3;--bad:#3a1a18}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 "IBM Plex Sans",system-ui,sans-serif}
.wrap{max-width:860px;margin:0 auto;padding:0 20px}
.top{background:var(--surface);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;flex-wrap:wrap}
.brand{font-weight:600;font-size:1.05rem}.sub{color:var(--muted);font-size:.9rem}
.intro{padding:36px 0 18px}.intro h1{margin:0 0 6px;font-size:2rem;font-weight:600;letter-spacing:-.01em}.intro p{margin:0;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:22px}
.stats div{padding:16px 18px;border-left:1px solid var(--line)}.stats div:first-child{border-left:0}
.stats strong{display:block;font-size:1.9rem;font-weight:600;line-height:1.1;color:var(--brand);font-variant-numeric:tabular-nums}
.stats span{color:var(--muted);font-size:.9rem}
.ok,.bad{padding:14px 16px;border-radius:8px;margin-bottom:18px}
.ok{background:var(--ok);color:var(--ok-ink)}.bad{background:var(--bad);color:var(--danger)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:26px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.full{grid-column:1/-1}
label{display:block;font-weight:500;font-size:.92rem;margin-bottom:6px}
input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:10px 12px}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus,.btn:focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}
.err{display:block;color:var(--danger);font-size:.85rem;margin-top:4px}
.btn{margin-top:22px;background:var(--brand);color:#fff;border:0;border-radius:7px;padding:12px 26px;font:inherit;font-weight:600;cursor:pointer}
.btn:hover{background:var(--brand-d)}
.hp{position:absolute;left:-9999px}
.foot{color:var(--muted);font-size:.85rem;padding:26px 20px 40px}
@media (max-width:640px){.grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(3){border-left:0}.stats div:nth-child(n+3){border-top:1px solid var(--line)}.intro h1{font-size:1.6rem}}
.btn{display:inline-block;text-decoration:none}
.btn:disabled{opacity:.6;cursor:not-allowed}
.success{text-align:center;padding:40px 26px}
.success h2{margin:10px 0 4px;font-size:1.5rem;font-weight:600}
.success p{margin:4px 0}
.success .muted{color:var(--muted);font-size:.92rem}
.tick{width:56px;height:56px;margin:0 auto;border-radius:50%;background:var(--ok);color:var(--ok-ink);font-size:1.8rem;line-height:56px;font-weight:600}
.refno{font-size:1.5rem;font-weight:600;letter-spacing:.02em;color:var(--brand);background:var(--bg);border:1px dashed var(--line);border-radius:8px;display:inline-block;padding:8px 18px;margin:8px 0 12px}


/* =========================================
   Taxway Complaint Information Card
   No Bootstrap / No Framework Required
   ========================================= */

.taxway-info-card {
    width: 100%;
    max-width: 900px;
    margin: 30px auto;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
    color: #263238;
    font-family: inherit;
}

/* Header */

.taxway-info-header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 24px 28px;
    background: linear-gradient(135deg, #8b0000, #c62828);
    color: #ffffff;
}

.taxway-info-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    border: 2px solid rgba(255, 255, 255, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    font-weight: 700;
}

.taxway-info-header h2 {
    margin: 0 0 4px;
    font-size: 24px;
    line-height: 1.3;
    font-weight: 700;
}

.taxway-info-header p {
    margin: 0;
    font-size: 14px;
    opacity: 0.9;
}

/* Content */

.taxway-info-content {
    padding: 28px;
}

.taxway-info-content > p {
    margin: 0 0 24px;
    font-size: 16px;
    line-height: 1.7;
    color: #4b5563;
}

.taxway-info-content h3 {
    margin: 0 0 14px;
    font-size: 18px;
    color: #1f2937;
}

/* Complaint list */

.taxway-complaint-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
    margin-bottom: 25px;
}

.taxway-complaint-list div {
    position: relative;
    padding: 12px 14px 12px 36px;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.5;
    color: #374151;
}

.taxway-complaint-list div::before {
    content: "✓";
    position: absolute;
    left: 13px;
    top: 12px;
    color: #c62828;
    font-weight: 700;
}

/* Purpose box */

.taxway-purpose-box {
    margin-top: 24px;
    padding: 20px;
    background: #fff8e1;
    border: 1px solid #f1d27a;
    border-left: 4px solid #d99a00;
    border-radius: 8px;
}

.taxway-purpose-box h3 {
    margin-bottom: 8px;
    color: #795600;
}

.taxway-purpose-box p {
    margin: 0;
    color: #5f4b20;
    font-size: 14px;
    line-height: 1.7;
}

/* Disclaimer */

.taxway-disclaimer {
    margin-top: 18px;
    padding: 16px 18px;
    background: #f3f4f6;
    border: 1px solid #d9dde3;
    border-radius: 8px;
    color: #4b5563;
    font-size: 13px;
    line-height: 1.7;
}

/* Buttons */

.taxway-info-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.taxway-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 20px;
    border-radius: 7px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.2s ease;
    cursor: pointer;
}

.taxway-btn-primary {
    background: #c62828;
    color: #ffffff;
    border: 1px solid #c62828;
}

.taxway-btn-primary:hover {
    background: #a91f1f;
    border-color: #a91f1f;
    color: #ffffff;
}

.taxway-btn-secondary {
    background: #ffffff;
    color: #374151;
    border: 1px solid #cbd5e1;
}

.taxway-btn-secondary:hover {
    background: #f3f4f6;
    color: #111827;
}

/* =========================================
   Responsive
   ========================================= */

@media (max-width: 700px) {

    .taxway-info-card {
        margin: 20px 10px;
        border-radius: 12px;
    }

    .taxway-info-header {
        padding: 20px;
    }

    .taxway-info-header h2 {
        font-size: 20px;
    }

    .taxway-info-content {
        padding: 20px;
    }

    .taxway-complaint-list {
        grid-template-columns: 1fr;
    }

    .taxway-info-actions {
        flex-direction: column;
    }

    .taxway-btn {
        width: 100%;
    }
}