*{box-sizing:border-box}body{margin:0;background:#f6f3ec;color:#22302c;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}header{background:#183a34;color:white;padding:18px max(20px,calc((100vw - 1100px)/2));font-size:20px}main{max-width:1100px;margin:28px auto;padding:0 18px}.hero{padding:60px 25px;text-align:center}.hero h1{font-size:clamp(30px,5vw,52px);line-height:1.12}.panel,article{background:white;border:1px solid #e4e7e1;border-radius:16px;padding:24px;margin:20px 0;box-shadow:0 3px 15px #102b2110}.panel{max-width:100%}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.cards article{margin:0}.cards h2{font-size:36px;margin:6px 0}form{display:grid;gap:12px}label{display:grid;gap:5px;font-weight:600}input,select{width:100%;border:1px solid #cdd4ce;border-radius:9px;padding:12px;font:inherit;background:white}button{background:#183a34;color:white;border:0;border-radius:9px;padding:12px 18px;cursor:pointer;font:inherit;font-weight:600}.secondary{background:#e9eee9;color:#183a34}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}td,th{padding:12px;border-bottom:1px solid #e5e9e6;text-align:left;white-space:nowrap}td form{display:flex;gap:6px}.error{color:#9b1d1d}.notice{background:#e1efe5;padding:12px;border-radius:8px}code{word-break:break-all}a{color:#17614e}@media(max-width:650px){.panel{padding:16px}.hero{padding:30px 10px}header{padding:16px 20px}}

/* FuneralHomeJA — MFA enrollment */

.mfa-panel {
    max-width: 440px;
    margin: 45px auto;
    padding: 28px;
}

.mfa-qr-container {
    text-align: center;
}

.mfa-qr-container h2 {
    margin-bottom: 12px;
    font-size: 1.55rem;
}

.mfa-qr-container > p {
    color: #62677a;
    line-height: 1.6;
}

.mfa-qr-image {
    display: block;
    width: 260px;
    height: 260px;
    max-width: 100%;
    margin: 24px auto;
    padding: 12px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 8px 30px rgba(36, 28, 82, 0.09);
}

.mfa-help {
    font-size: 0.9rem;
    line-height: 1.6;
}

.mfa-manual {
    margin: 22px 0;
    padding: 15px;
    border: 1px solid #e4e0f2;
    border-radius: 14px;
    text-align: left;
}

.mfa-manual summary {
    cursor: pointer;
    color: #6548c8;
    font-weight: 600;
}

.mfa-manual code {
    display: block;
    margin-top: 12px;
    padding: 12px;
    overflow-wrap: anywhere;
    background: #f5f2fc;
    border-radius: 8px;
    font-size: 0.85rem;
}

.mfa-panel form {
    margin-top: 24px;
}

.mfa-panel input[name="code"] {
    font-size: 1.4rem;
    letter-spacing: 0.3em;
    text-align: center;
}

@media (max-width: 600px) {
    .mfa-panel {
        margin: 20px 12px;
        padding: 20px;
    }

    .mfa-qr-image {
        width: 230px;
        height: 230px;
    }
}

