@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Devanagari:wght@400;500;600;700;800&display=swap');
:root{--ink:#1f2937;--muted:#6b7280;--gold:#c98a19;--maroon:#7f1d1d;--cream:#fffaf0;--line:#eadfca;--green:#047857;--red:#b91c1c;--card:#fff;--shadow:0 14px 40px rgba(49,36,15,.08)}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#fbf7ef,#fff);color:var(--ink);font-family:'Noto Sans Devanagari',system-ui,sans-serif}.app-shell{max-width:1180px;margin:auto;padding:22px}.hero{display:flex;gap:18px;align-items:center;padding:24px 28px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fffdf8,#fff7e8);box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:'ॐ';position:absolute;right:30px;top:-30px;font-size:190px;color:#b9821a;opacity:.055}.brand-mark{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:var(--maroon);color:#fff;font-size:36px;box-shadow:0 8px 20px #7f1d1d30}.hero h1{margin:0;font-size:30px}.hero p{margin:3px 0;color:#8b5e18;font-weight:600}.hero small{color:var(--muted)}.engine{margin-left:auto;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;color:var(--muted);z-index:1}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:26px;margin-top:20px}.section-title{display:flex;gap:13px;align-items:center;margin-bottom:22px}.section-title>span{font-size:12px;font-weight:800;color:var(--gold);background:#fff3d6;border-radius:9px;padding:7px 9px}.section-title h2{margin:0;font-size:21px}.section-title p{margin:2px 0;color:var(--muted);font-size:12px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{font-size:13px;font-weight:700;color:#374151}label input,label select{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #ddd3c1;border-radius:12px;background:#fff;font:inherit;outline:none}label input:focus,label select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c98a1918}.full{grid-column:1/-1}.db-row{display:flex;gap:12px;align-items:center;margin-top:14px;font-size:12px;color:var(--muted)}.selected{margin-top:12px;padding:12px 14px;background:#f5f3ff;border-radius:12px;color:#4338ca;font-size:13px}.primary,.secondary,.ghost{border:0;border-radius:12px;padding:13px 18px;font:inherit;font-weight:800;cursor:pointer}.primary{width:100%;margin-top:16px;background:linear-gradient(135deg,#8b1e1e,#b45309);color:#fff}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#7f1d1d;color:#fff}.ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.result-actions{display:flex;gap:10px;justify-content:flex-end;margin:20px 0}.busy{text-align:center;padding:12px;color:var(--gold)}.hidden{display:none!important}.report{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:25px}.report-head{text-align:center;border-bottom:2px solid var(--maroon);padding-bottom:13px}.report-head h2{margin:0}.report-head p{margin:4px 0;color:var(--muted)}.meta{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.meta div{background:#faf8f2;border-radius:10px;padding:10px;font-size:12px}.section{margin-top:22px}.section h3{font-size:17px;margin:0 0 9px;border-left:4px solid var(--gold);padding-left:9px}.table-wrap{overflow:auto;border:1px solid #e5e7eb;border-radius:10px}table{width:100%;border-collapse:collapse;font-size:12px;min-width:650px}th{background:#1f2937;color:#fff;padding:8px;text-align:left}td{padding:8px;border-bottom:1px solid #eee}tr:nth-child(even) td{background:#fafafa}.chart-wrap{display:flex;justify-content:center}.kundli{width:min(100%,600px);height:auto;background:#fff}.bad{color:var(--red);font-weight:800}.good{color:var(--green);font-weight:800}.pill{display:inline-block;padding:3px 9px;border-radius:999px;color:#fff;font-weight:800}.pill.bad{background:#dc2626;color:#fff}.pill.good{background:#16a34a;color:#fff}.faladesh p{line-height:1.8;margin:8px 0}.notice{font-size:11px;color:#6b7280;background:#f9fafb;padding:10px;border-radius:9px}footer{text-align:center;color:#9ca3af;font-size:12px;padding:25px 0}.dasha-current{background:#fff7ed;border:1px solid #fed7aa;padding:13px;border-radius:12px}.dosha-grid{display:grid;gap:10px}.dosha{border:1px solid #e5e7eb;border-radius:12px;padding:13px}.dosha.present{background:#fff5f5;border-color:#fecaca}.dosha.clear{background:#f0fdf4;border-color:#bbf7d0}.dosha h4{margin:0 0 5px}.suggestions{position:relative}.autocomplete{position:absolute;left:0;right:0;top:100%;z-index:20;background:#fff;border:1px solid var(--line);border-radius:0 0 12px 12px;max-height:260px;overflow:auto;box-shadow:var(--shadow)}.autocomplete button{display:block;width:100%;padding:10px 13px;text-align:left;border:0;background:#fff;cursor:pointer}.autocomplete button:hover{background:#fff7e8}@media(max-width:720px){.app-shell{padding:10px}.hero{padding:18px}.hero h1{font-size:22px}.engine{position:absolute;right:12px;bottom:10px}.grid,.meta{grid-template-columns:1fr}.full{grid-column:auto}.card{padding:18px}.result-actions{justify-content:stretch}.result-actions>*{flex:1}}
@media print{body{background:#fff}.app-shell{max-width:none;padding:0}.hero,.form-card,.result-actions,footer{display:none!important}.report{box-shadow:none;border:0;padding:0}.section{break-inside:avoid}.chart-wrap{break-inside:avoid}}

.db-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;color:#475569;font-size:13px}.db-note{color:#94a3b8;font-size:12px}
@media(max-width:700px){.db-row{align-items:flex-start;flex-direction:column;gap:4px}}


.place-box{position:relative}
.place-results{display:none;position:absolute;z-index:50;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 16px 35px rgba(15,23,42,.14);overflow:hidden;max-height:330px;overflow-y:auto}
.place-results.show{display:block}
.place-option{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:12px 14px;border:0;border-bottom:1px solid #f1f5f9;background:#fff;text-align:left;cursor:pointer;font:inherit}
.place-option:last-child{border-bottom:0}
.place-option:hover{background:#fff7ed}
.place-option strong{color:#111827;font-size:14px}
.place-option span{color:#64748b;font-size:12px;margin-top:3px}
