#asl-root, #asl-root * { box-sizing: border-box; }
#asl-root {
    font-family: 'Segoe UI', Arial, sans-serif;
    background: #FFFDF7;
    color: #3a2c1a;
    max-width: 900px;
    margin: 0 auto;
    padding: 16px;
}
.asl-topbtns { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.asl-btn {
    background: linear-gradient(180deg,#C97A1E,#A6531A);
    color:#FFFDF7; border:none; border-radius:8px; padding:12px 18px;
    font-weight:700; font-size:14px; cursor:pointer; box-shadow:0 2px 4px rgba(0,0,0,.15);
}
.asl-btn:hover { filter:brightness(1.06); }
.asl-btn.secondary { background:#FFF6E8; color:#A6531A; border:2px solid #C97A1E; }
.asl-btn.danger { background:#B3261E; }
.asl-btn.small { padding:6px 10px; font-size:12px; }
.asl-btn:disabled { opacity:.45; cursor:not-allowed; filter:none; }

.asl-lang-toggle { display:flex; gap:6px; justify-content:flex-end; margin-bottom:10px; }
.asl-lang-toggle button { border:1px solid #C97A1E; background:#FFF6E8; color:#A6531A; border-radius:16px; padding:4px 12px; font-weight:700; cursor:pointer; font-size:12px; }
.asl-lang-toggle button.active { background:#C97A1E; color:#fff; }

.asl-card {
    background:#FFF6E8; border:1px solid #eddcb8; border-radius:12px;
    padding:16px; margin-bottom:16px;
}
.asl-card h3 { margin-top:0; color:#A6531A; border-bottom:2px solid #eddcb8; padding-bottom:8px; }
.asl-docnum { position:absolute; top:8px; right:16px; font-weight:700; color:#A6531A; font-size:13px; }
.asl-page { position:relative; }

.asl-row { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:10px; }
.asl-field { flex:1 1 220px; display:flex; flex-direction:column; gap:4px; }
.asl-field label { font-size:12.5px; font-weight:700; color:#7a5a2e; }
.asl-field input, .asl-field select, .asl-field textarea {
    border:1.5px solid #d9c396; border-radius:6px; padding:9px 10px;
    font-size:14px; font-weight:700; color:#3a2c1a; background:#FFFFFF;
    caret-color:#3a2c1a;
}
.asl-field input:not(:placeholder-shown), .asl-field textarea:not(:placeholder-shown) {
    color:#1c1206; font-weight:700;
}
.asl-field input:focus, .asl-field select:focus, .asl-field textarea:focus {
    outline:none; background:#FFF9C4; border-color:#C97A1E;
}
.asl-field input:placeholder-shown:focus, .asl-field textarea:placeholder-shown:focus {
    background:#FFF9C4;
}
.asl-field.filled input, .asl-field.filled textarea { background:#FFFFFF; }

.asl-aadhaar-boxes { display:flex; gap:8px; }
.asl-aadhaar-boxes input { width:70px; text-align:center; letter-spacing:2px; font-size:16px; }
.asl-aadhaar-confirm { font-size:22px; font-weight:800; color:#A6531A; letter-spacing:3px; margin-top:6px; }

.asl-radio-group, .asl-check-group { display:flex; gap:16px; flex-wrap:wrap; }
.asl-radio-group label, .asl-check-group label { font-weight:700; font-size:13.5px; display:flex; align-items:center; gap:6px; }

.asl-nilbtn { border:1px solid #A6531A; background:#fff; color:#A6531A; border-radius:6px; padding:4px 10px; font-weight:700; font-size:12px; cursor:pointer; }
.asl-nilbtn.active { background:#A6531A; color:#fff; }

.asl-owner-saved { background:#fff; border:1px dashed #C97A1E; border-radius:8px; padding:10px 14px; font-weight:700; }

.asl-preview { background:#fff; border:1px solid #eddcb8; border-radius:10px; padding:20px; font-size:13.5px; line-height:1.6; }
.asl-preview h2 { text-align:center; color:#A6531A; }
.asl-preview table { width:100%; border-collapse:collapse; margin:8px 0; }
.asl-preview td, .asl-preview th { border:1px solid #ccc; padding:6px; font-size:12.5px; }

.asl-popup-overlay { position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.45); display:flex; align-items:center; justify-content:center; z-index:9999; }
.asl-popup { background:#FFFDF7; border-radius:12px; padding:22px; max-width:420px; text-align:center; box-shadow:0 6px 24px rgba(0,0,0,.3); }
.asl-popup p { font-weight:700; color:#3a2c1a; font-size:15px; }

.asl-stats { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.asl-stat { background:#FFF6E8; border-radius:8px; padding:10px 16px; font-weight:700; text-align:center; flex:1 1 100px; }
.asl-stat .n { font-size:20px; color:#A6531A; display:block; }

.asl-admin-table { width:100%; border-collapse:collapse; font-size:12.5px; }
.asl-admin-table th, .asl-admin-table td { border:1px solid #eddcb8; padding:6px; word-break:break-word; font-size:13px; }
.asl-admin-table th { background:#C97A1E; color:#fff; }
.asl-badge { padding:3px 8px; border-radius:10px; font-size:11px; font-weight:700; color:#fff; }
.badge-draft{background:#8a8a8a;} .badge-previewed{background:#C97A1E;} .badge-downloaded{background:#1e6fb3;}
.badge-approved{background:#2e7d32;} .badge-rejected{background:#B3261E;}

.asl-filterbar { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px; align-items:center; }
.asl-filterbar input, .asl-filterbar select { padding:6px 10px; border:1px solid #d9c396; border-radius:6px; }

.asl-inline-edit { display:flex; flex-wrap:wrap; gap:6px; background:#fffbe8; padding:8px; border-radius:6px; margin-top:6px; }
