.caw-sqla{--ink:#0F1729;--navy:#0A1730;--slate:#5B6680;--sky:#1D9AE1;--blue:#1E5FE8;--amber:#F2A93B;--mist:#F5F8FC;--line:#E4E9F2;
  font-family:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);font-size:15px;line-height:1.55;width:100%;box-sizing:border-box}
.caw-sqla *,.caw-sqla *::before,.caw-sqla *::after{box-sizing:border-box}
.caw-sqla h2,.caw-sqla h3,.caw-sqla strong.caw-h{font-family:"Plus Jakarta Sans","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.caw-sqla button{font:inherit;cursor:pointer}
.caw-sqla-loading{padding:48px;text-align:center;color:var(--slate)}
.caw-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* gate */
.caw-gate{max-width:520px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:40px 36px;box-shadow:0 30px 60px -30px rgba(10,23,48,.25);text-align:center}
.caw-gate-icon{width:56px;height:56px;border-radius:16px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--sky),var(--blue));box-shadow:0 12px 24px -10px rgba(30,95,232,.6)}
.caw-gate h2{margin:0 0 8px;font-size:28px;letter-spacing:-.5px;color:var(--navy)}
.caw-sub{margin:0 0 24px;color:var(--slate)}
.caw-form{display:flex;flex-direction:column;gap:10px;text-align:left}
.caw-form label{font-weight:600;font-size:14px}
.caw-form input{width:100%;min-height:52px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--mist);font-size:16px;color:var(--ink)}
.caw-form input:focus{outline:none;border-color:var(--sky);background:#fff;box-shadow:0 0 0 4px rgba(29,154,225,.15)}
.caw-form input.caw-code{text-align:center;font-size:30px;letter-spacing:12px;font-weight:700}
.caw-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.caw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 26px;border:0;border-radius:999px;color:#fff !important;font-weight:700;text-decoration:none;background:linear-gradient(135deg,var(--sky),var(--blue));box-shadow:0 12px 24px -12px rgba(30,95,232,.7);transition:transform .15s}
.caw-btn:hover{transform:translateY(-1px)}
.caw-btn:disabled{opacity:.6;cursor:wait;transform:none}
.caw-fine{font-size:13px;color:var(--slate);margin:14px 0 0}
.caw-link{background:none;border:0;padding:0;color:var(--blue);font-weight:600;text-decoration:underline}
.caw-link:disabled{color:var(--slate);text-decoration:none;cursor:default}
.caw-msg{min-height:22px;margin:12px 0 0;font-size:14px;color:#B42318}
.caw-msg.ok{color:#067647}

/* agent */
.caw-agent{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 30px 60px -30px rgba(10,23,48,.2)}
.caw-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:18px}
.caw-db{display:flex;gap:12px;align-items:center}
.caw-db svg{color:#fff;background:linear-gradient(135deg,var(--sky),var(--blue));padding:9px;width:38px;height:38px;border-radius:11px}
.caw-db strong{display:block;font-size:16px;color:var(--navy)}
.caw-db span{font-size:13px;color:var(--slate)}
.caw-top-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.caw-badge{font-size:13px;font-weight:700;color:var(--blue);background:#EAF2FF;border-radius:999px;padding:7px 14px}
.caw-badge.out{color:#9A5B00;background:#FFF4E0}
.caw-ghost{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-weight:600;font-size:13px;color:var(--ink)}
.caw-schema{margin-bottom:18px}
.caw-schema-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.caw-table-card{text-align:left;background:var(--mist);border:1px solid var(--line);border-radius:14px;padding:12px}
.caw-table-card:hover{border-color:var(--sky)}
.caw-tname{font-weight:700;color:var(--navy);display:flex;justify-content:space-between;gap:6px;font-size:14px}
.caw-tname span{font-weight:500;color:var(--slate);font-size:12px}
.caw-cols{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.caw-cols span{font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#fff;border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--slate)}
.caw-ask{display:flex;gap:10px;align-items:stretch}
.caw-ask textarea{flex:1;resize:vertical;min-height:54px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--mist);font:inherit;font-size:16px;color:var(--ink)}
.caw-ask textarea:focus{outline:none;border-color:var(--sky);background:#fff;box-shadow:0 0 0 4px rgba(29,154,225,.15)}
.caw-chips-label{margin:16px 0 8px;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--slate)}
.caw-chips{display:flex;flex-wrap:wrap;gap:8px}
.caw-chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:600;color:var(--ink);transition:all .15s}
.caw-chip:hover{border-color:var(--sky);color:var(--blue);background:#F2F8FE}
.caw-chip:last-child{border-color:var(--amber);background:#FFF8EC}
.caw-steps{margin:20px 0 0;background:var(--mist);border-radius:16px;padding:14px 18px}
.caw-steps ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px}
.caw-steps li{display:flex;align-items:center;gap:8px;font-size:13px;color:#98A2B3}
.caw-steps .dot{width:10px;height:10px;border-radius:50%;background:#D0D5DD;flex-shrink:0}
.caw-steps li.on{color:var(--ink);font-weight:600}.caw-steps li.on .dot{background:var(--sky);box-shadow:0 0 0 4px rgba(29,154,225,.2);animation:cawpulse 1s infinite}
.caw-steps li.done{color:var(--ink)}.caw-steps li.done .dot{background:#12B76A}
.caw-steps li.fail{color:#9A5B00;font-weight:600}.caw-steps li.fail .dot{background:var(--amber)}
@keyframes cawpulse{50%{box-shadow:0 0 0 7px rgba(29,154,225,.05)}}
.caw-output{scroll-margin-top:100px}
.caw-result{margin-top:22px;display:flex;flex-direction:column;gap:14px}
.caw-result-hd{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.caw-result-hd h3{margin:0;font-size:20px;color:var(--navy)}
.caw-meta{font-size:12.5px;color:var(--slate)}
.caw-insight{display:flex;gap:10px;align-items:flex-start;background:linear-gradient(135deg,#F0F7FF,#FFF8EC);border:1px solid var(--line);border-radius:14px;padding:12px 16px;font-weight:600;color:var(--navy)}
.caw-insight svg{color:var(--amber);margin-top:3px;flex-shrink:0}
.caw-chart-wrap{border:1px solid var(--line);border-radius:16px;padding:12px}
.caw-chart{width:100%;height:auto;display:block}
.caw-grid2{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px}
.caw-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.caw-card-hd{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);font-size:13px;font-weight:700;color:var(--navy);background:var(--mist)}
.caw-card-hd em{font-style:normal;font-weight:600;color:var(--slate);margin-left:6px;font-size:12px}
.caw-mini-btn{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--ink)}
.caw-sqlcard{background:#0A1730}
.caw-sqlcard .caw-card-hd{background:#0D1E42;color:#fff;border-color:#1C2C52}
.caw-sqlcard .caw-card-hd em{color:#7CC8F1}
.caw-sqla pre.caw-sql{background:#0A1730 !important;border:0;border-radius:0;margin:0;white-space:pre-wrap !important;word-break:break-word;overflow-wrap:anywhere}
.caw-sqla pre.caw-sql code{background:transparent !important;color:inherit;padding:0;font:inherit}
.caw-sql{margin:0;padding:14px 16px;overflow:auto;max-height:360px;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#D6E4FF;white-space:pre}
.caw-kw{color:#7CC8F1;font-weight:700}.caw-fn{color:#FFC75A}.caw-str{color:#9BE3B0}.caw-num{color:#F9A8D4}.caw-com{color:#8391B0;font-style:italic}
.caw-explain{margin:0;padding:12px 16px 14px 32px;font-size:14px;color:var(--ink)}
.caw-explain li{margin:4px 0}
.caw-table-wrap{overflow:auto;max-height:380px}
.caw-table{width:100%;border-collapse:collapse;font-size:13.5px}
.caw-table th{position:sticky;top:0;background:#fff;text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--slate);white-space:nowrap}
.caw-table td{padding:8px 12px;border-bottom:1px solid #F0F3F8;white-space:nowrap}
.caw-table td.n{text-align:right;font-variant-numeric:tabular-nums}
.caw-table tr:hover td{background:#F7FAFD}
.caw-note{margin-top:20px;padding:14px 18px;border-radius:14px;background:#F0F7FF;border:1px solid #CFE3FB;color:var(--navy)}
.caw-note.warn{background:#FFF8EC;border-color:#F9DDB0}
.caw-summary{margin-top:22px;padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,#0D1E42,#0A1730);color:#E6EEFF}
.caw-summary h3{margin:0 0 8px;color:#fff;display:flex;gap:8px;align-items:center;font-size:18px}
.caw-summary h3 svg{color:var(--amber)}
.caw-summary p{margin:0 0 6px}.caw-summary strong{color:#fff}.caw-summary .caw-fine{color:#AAB8D6}
.caw-cta{margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:18px 22px;border-radius:18px;background:#FFF8EC;border:1px solid #F9DDB0}
.caw-cta strong{display:block;color:var(--navy)}.caw-cta span{color:var(--slate);font-size:14px}
.caw-foot{margin-top:22px;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--slate)}

@media (max-width:900px){.caw-schema-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.caw-grid2{grid-template-columns:1fr}}
@media (max-width:600px){.caw-gate{padding:30px 20px}.caw-agent{padding:16px;border-radius:18px}.caw-ask{flex-direction:column}.caw-ask .caw-btn{width:100%}.caw-schema-grid{grid-template-columns:1fr}}
