:root{--bg:#f4f3ef;--card:#fff;--ink:#24231f;--muted:#6d6a62;--line:#dedbd2;--accent:#d1aa2b;--accent2:#fff5c7;--dark:#34322c;--shadow:0 8px 28px rgba(41,38,29,.07)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand img{width:42px;height:42px;object-fit:contain}.brand strong,.brand span{display:block}.brand span{font-size:12px;color:var(--muted);margin-top:2px}.topbar nav{display:flex;gap:8px}.nav{border:0;background:transparent;padding:10px 14px;border-radius:12px;font-weight:700;cursor:pointer}.nav.active,.nav:hover{background:var(--accent2)}main{max-width:1240px;margin:0 auto;padding:26px}.view{display:none}.view.active{display:block}.hero{display:flex;align-items:flex-end;justify-content:space-between;margin:8px 0 22px}.hero h1{font-family:Georgia,serif;font-size:34px;margin:0 0 6px}.hero p,.panel p{color:var(--muted);margin:0}.status{padding:8px 12px;border-radius:999px;background:#e9e7df;font-size:13px}.status.ok{background:#e4f4e7;color:#246833}.status.bad{background:#fbe7e5;color:#8b2a21}.panel{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:22px;margin-bottom:18px}.panel h2{font-family:Georgia,serif;margin:0 0 14px;font-size:21px}.filters-grid,.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide{grid-column:1/-1}label{font-size:13px;font-weight:700;color:#545149;display:flex;flex-direction:column;gap:7px}input,select,textarea{width:100%;border:1px solid #cbc7bd;border-radius:11px;background:#fff;padding:10px 11px;font:inherit;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #ead77f;border-color:#b59a2e}.checks{display:flex;gap:7px;flex-wrap:wrap}.checks label{display:inline-flex;flex-direction:row;align-items:center;background:#f5f3ec;border:1px solid var(--line);padding:7px 9px;border-radius:10px;font-weight:600}.checks input{width:auto}.query-group{border:1px solid var(--line);border-radius:16px;padding:14px;background:#faf9f6;margin-top:10px}.query-group.depth-0{background:white;border:0;padding:0}.group-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.group-head strong{font-size:13px}.group-head select{width:auto}.small-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 9px;cursor:pointer;font-weight:700}.small-btn.danger{color:#a33}.condition{display:grid;grid-template-columns:72px 105px 120px 145px 150px 1fr 40px;gap:8px;align-items:center;padding:8px 0;border-top:1px dashed #e3e0d7}.condition:first-of-type{border-top:0}.condition .not-wrap{display:flex;flex-direction:row;align-items:center;gap:4px;font-size:11px}.condition .not-wrap input{width:auto}.condition select{padding:8px}.search-actions{display:flex;align-items:center;gap:15px;margin:20px 0}.primary{border:0;border-radius:12px;padding:12px 20px;background:var(--dark);color:white;font-weight:800;letter-spacing:.03em;cursor:pointer}.primary:hover{background:#1f1e1a}.results{display:grid;grid-template-columns:1fr;gap:16px}.result-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:18px;display:grid;grid-template-columns:250px 1fr;gap:20px}.result-card h3{margin:0;font-family:Georgia,serif;font-size:23px}.rating{display:inline-block;background:var(--accent2);border:1px solid #e7cf6b;border-radius:8px;padding:2px 7px;font:700 12px system-ui;margin-left:8px;vertical-align:3px}.meta{color:var(--muted);font-size:13px;margin:5px 0 12px}.badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.badge{background:#f0eee7;border-radius:8px;padding:5px 7px;font-size:12px}.result-right{display:grid;grid-template-columns:minmax(250px,390px) 1fr;gap:20px;align-items:start}.d1-wrap{background:#fbfaf7;border:1px solid var(--line);border-radius:14px;padding:8px}.d1-chart{display:block;width:100%;height:auto}.panchanga{background:#fff9df;border:1px solid #eadb92;border-radius:14px;padding:14px}.panchanga h4{margin:0 0 10px;font-family:Georgia,serif}.pan-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(120,100,30,.12);padding:6px 0;font-size:13px}.pan-row:first-of-type{border-top:0}.form-actions{display:flex;align-items:center;gap:12px}.notice{padding:13px;border-radius:12px;margin:12px 0}.notice.ok{background:#e6f4e9;color:#236434}.notice.bad{background:#fbe7e5;color:#8c2e28}.empty{padding:34px;text-align:center;color:var(--muted);background:#fff;border-radius:18px;border:1px dashed var(--line)}@media(max-width:900px){.filters-grid{grid-template-columns:1fr 1fr}.result-card{grid-template-columns:1fr}.result-right{grid-template-columns:1fr}.condition{grid-template-columns:1fr 1fr}.condition>*{min-width:0}}@media(max-width:600px){main{padding:16px}.topbar{padding:0 14px}.brand span{display:none}.filters-grid,.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.hero{align-items:flex-start;flex-direction:column;gap:12px}.condition{grid-template-columns:1fr}.topbar nav button{padding:8px}}
.status-stack{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

/* v0.1.5 — Astro-Databank canonical tag taxonomy */
.chart-style-control{margin-left:auto;display:flex;align-items:center;gap:8px;font-weight:700}.chart-style-control select{width:auto;min-width:145px}
.south-chart{width:100%;max-width:330px;aspect-ratio:1/1;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);position:relative;background:#fffdf7;border:3px solid #c9b560;border-radius:20px;overflow:hidden;box-shadow:inset 0 0 0 1px #8f8251}
.south-cell{position:relative;border:1px solid #aaa082;padding:5px;min-width:0;background:rgba(255,255,255,.75)}
.south-sign{display:flex;align-items:center;gap:3px;font-size:10px;color:#85784b;line-height:1}.south-sign img{width:15px;height:15px;opacity:.65}
.south-planets{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:4px;min-height:43px;padding-top:3px}.south-planet{font-family:Georgia,serif;font-weight:700;font-size:14px;color:#332f24}.south-planet.retro{text-decoration:underline}.south-planet.asc{color:#9d6100}
.south-center{grid-row:2/4;grid-column:2/4;display:flex;align-items:center;justify-content:center;border:1px solid #aaa082;background:#fffdf7}.south-center img{width:42%;max-width:90px;opacity:.16}
.location-field{position:relative}.location-input-wrap{position:relative}.location-input-wrap input{padding-right:80px}.location-spinner{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:12px;color:#7b6e51}
.location-suggestions{position:absolute;z-index:50;left:0;right:0;top:calc(100% - 19px);background:#fff;border:1px solid #d7cda9;border-radius:12px;box-shadow:0 14px 35px rgba(48,39,18,.16);max-height:290px;overflow:auto;padding:6px}
.location-suggestion{display:block;width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:8px;cursor:pointer;color:#28251e}.location-suggestion:hover,.location-suggestion.active{background:#fff5cf}.location-suggestion strong{display:block;font-size:14px}.location-suggestion span{display:block;font-size:12px;color:#766f63;margin-top:2px}
.tag-picker{position:relative}.tag-picker-btn{width:100%;text-align:left;background:#fff;border:1px solid #d4cbb0;border-radius:10px;padding:11px 13px;color:#4b463b;cursor:pointer}.tag-picker-menu{position:absolute;z-index:45;top:46px;left:0;right:0;background:#fff;border:1px solid #d7cda9;border-radius:12px;box-shadow:0 14px 35px rgba(48,39,18,.16);padding:10px;max-height:380px;overflow:auto}.tag-picker-menu input[type=search]{position:sticky;top:0;background:#fff;z-index:2;margin-bottom:8px}.tag-group{border-top:1px solid #eee7d3;padding-top:8px;margin-top:8px}.tag-group:first-child{border-top:0;margin-top:0}.tag-group h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#8a7841}.tag-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:5px}.tag-option{display:flex;align-items:center;gap:7px;padding:6px 7px;border-radius:7px;font-size:13px}.tag-option:hover{background:#fff8de}.selected-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.selected-tag{display:inline-flex;align-items:center;gap:5px;background:#fff3c4;border:1px solid #e2cd76;border-radius:999px;padding:4px 8px;font-size:12px}.selected-tag button{border:0;background:transparent;cursor:pointer;font-size:14px;line-height:1;color:#705c18;padding:0}
.pan-row strong small{font-weight:500;color:#81775f;margin-left:5px}.result-card .d1-wrap{min-width:285px}
@media (max-width:800px){.chart-style-control{margin-left:0;width:100%;justify-content:flex-end}.south-chart{max-width:300px}.location-suggestions{position:fixed;left:14px;right:14px;top:auto;max-height:42vh}.tag-picker-menu{position:fixed;left:14px;right:14px;top:15vh;max-height:70vh}}

/* v0.1.6 — stable Google location + tag picker + South India default */
.field-block{font-size:13px;font-weight:700;color:#545149;display:flex;flex-direction:column;gap:7px}.field-block>label{display:block}.field-block>small{font-weight:500;color:var(--muted)}
.field-status{min-height:18px;font-size:12px;font-weight:600;color:var(--muted)}.field-status.ok{color:#327044}.field-status.bad{color:#9a3028}
.google-attribution{padding:7px 10px 5px;text-align:right;font-size:10px;color:#777;background:#fafafa;border-top:1px solid #eee;margin:4px -6px -6px}
.tag-menu-head{position:sticky;top:-10px;z-index:4;background:#fff;display:grid;grid-template-columns:1fr auto;gap:7px;padding:10px 0 8px}.tag-menu-head input{margin:0!important}.tag-picker-menu[hidden],.location-suggestions[hidden]{display:none!important}
.tag-picker-btn[aria-expanded="true"]{outline:2px solid #ead77f;border-color:#b59a2e;background:#fffdf4}

/* v0.2.0 — Academy Jyotiṣa chart renderer + dual D1 + imports/actions */
.jr-chart{display:block;width:100%;height:auto;max-height:650px;background:#f5f5f2;border-radius:1rem}
.jr-chart .chart-surround{fill:#f5f5f2;stroke:none}
.jr-chart .chart-frame{stroke:rgba(0,0,0,.72);stroke-width:2.4;fill:#fff}
.jr-chart .chart-line,.jr-chart .south-grid{stroke:rgba(0,0,0,.75);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.jr-chart .south-center-fill{fill:#fff;stroke:none}
.jr-chart .chart-sign-image,.jr-chart .chart-body-image,.jr-chart .chart-academy-logo{pointer-events:none}
.jr-chart .chart-asc-glyph{font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:700;fill:#6b1f1f;text-anchor:middle;dominant-baseline:middle}
.jr-chart .chart-body-degree{font-size:11px;font-weight:600;fill:#8f2d27;text-anchor:middle}
.jr-chart .chart-body-underline{stroke:#8f2d27;stroke-width:1.9;stroke-linecap:round}
.d1-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.d1-pane{min-width:0}.d1-label{text-align:center;font:700 14px Georgia,serif;margin:0 0 6px;color:#4e493d}.chart-pair-wrap{background:#f5f5f2;border:1px solid var(--line);border-radius:18px;padding:10px}
.chart-detail-panel{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:18px;margin-top:16px}.chart-detail-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.chart-detail-head h3{margin:0;font-family:Georgia,serif;font-size:25px}.chart-detail-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(240px,.8fr);gap:18px;align-items:start}.chart-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.source-adb{background:#e6efff}.source-custom{background:#edf4e8}.form-mode{margin:0 0 12px;background:#fff4ca;color:#594c20}.link-btn{display:inline-block;text-decoration:none;color:inherit}
.import-panel p{margin-bottom:14px}.import-source-actions{margin:10px 0 16px}.import-form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.import-form input[type=file]{padding:9px}.table-scroll{overflow:auto;margin-top:14px}.preview-table{width:100%;border-collapse:collapse;font-size:13px}.preview-table th,.preview-table td{text-align:left;padding:8px;border-bottom:1px solid var(--line);white-space:nowrap}.preview-table th{background:#faf7ec}.progress-track{height:12px;background:#eeeae0;border-radius:999px;overflow:hidden;margin-top:14px}.progress-bar{height:100%;width:0;background:#7c6d2f;transition:width .2s ease}
@media(max-width:1000px){.chart-detail-grid{grid-template-columns:1fr}.chart-actions{justify-content:flex-start}.d1-pair{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.d1-pair{grid-template-columns:1fr}.import-form{grid-template-columns:1fr}.chart-detail-head{flex-direction:column}}

/* v0.4.0 — examples, full-detail tables and background imports */
.result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.detail-section{margin-top:18px;padding:18px;border:1px solid rgba(80,70,50,.15);border-radius:16px;background:#fff}
.detail-section h4{margin:0 0 12px;font-size:1.02rem}
.astro-table{width:100%;border-collapse:collapse;font-size:.92rem}
.astro-table th,.astro-table td{padding:9px 10px;border-bottom:1px solid rgba(80,70,50,.12);text-align:left;white-space:nowrap}
.astro-table th{background:#f6f0dd;font-weight:700;position:sticky;top:0}
.deva-export-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.deva-export-stat{padding:12px 14px;border:1px solid rgba(80,70,50,.14);border-radius:12px;background:#fff}
.deva-export-stat span{display:block;font-size:.78rem;color:#6f6a5d;margin-bottom:3px}.deva-export-stat strong{font-size:1.05rem}
.import-background-status{margin-top:10px;font-size:.9rem}
@media(max-width:900px){.deva-export-grid{grid-template-columns:1fr 1fr}.astro-table{font-size:.84rem}}
.recent-import-batches{display:grid;gap:10px}.recent-batch{border:1px solid rgba(80,70,50,.14);border-radius:14px;background:#fff;padding:13px 14px}.recent-batch-main{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.recent-batch-main strong{display:block}.recent-batch-main span{display:block;color:var(--muted);font-size:.82rem;margin-top:3px}.batch-status{border:1px solid var(--line);border-radius:999px;padding:4px 9px;font-size:.76rem;font-weight:700;text-transform:uppercase}.batch-status.ok{background:#e6f4e9;color:#236434}.batch-status.bad{background:#fbe7e5;color:#8c2e28}.recent-batch-progress{margin-top:9px}.recent-batch-progress small{display:block;margin-top:5px;color:var(--muted)}.recent-batch-actions{margin-top:9px;display:flex;gap:8px}.small-muted{font-size:.8rem;color:var(--muted)}
