*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f3f6f9;color:#17212b}
.topbar{background:#101820;color:#fff;padding:18px 24px;display:flex;justify-content:space-between;align-items:center}
.brand{font-size:24px;font-weight:800;letter-spacing:1px}.subtitle{font-size:13px;opacity:.75;margin-top:4px}
.badge{background:#1d9a6c;padding:8px 12px;border-radius:999px;font-size:12px}
.container{max-width:1100px;margin:28px auto;padding:0 16px}.card{background:#fff;border-radius:16px;padding:24px;margin-bottom:22px;box-shadow:0 5px 20px rgba(0,0,0,.07)}
h1{margin-top:0}h2{margin-top:28px;border-bottom:1px solid #e8edf2;padding-bottom:8px}
.muted{color:#66727d;font-size:14px;line-height:1.55}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}
label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:14px;margin:12px 0}
input,select,textarea{width:100%;border:1px solid #cfd8df;border-radius:9px;padding:11px 12px;font-size:15px;background:#fff}
textarea{resize:vertical}.dropzone{border:2px dashed #b9c6cf;border-radius:14px;padding:25px;display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;background:#fafcfd}
.preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:14px}.thumb{position:relative;border:1px solid #dfe6eb;border-radius:10px;overflow:hidden;background:#fff}.thumb img{width:100%;height:120px;object-fit:cover;display:block}.thumb div{padding:7px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.button{border:0;border-radius:10px;padding:12px 18px;font-weight:700;cursor:pointer}.primary{background:#0d7c5a;color:#fff}.secondary{background:#e9eef2;color:#18232c}.actions{margin-top:22px}.status{margin-top:15px;min-height:20px;font-weight:600}.status.error{color:#b42318}.status.ok{color:#087443}
.hidden{display:none}.resultHead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.resultGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.resultBox{border:1px solid #e1e7ec;border-radius:12px;padding:15px;background:#fbfcfd}.resultBox h3{margin:0 0 9px;font-size:16px}.resultBox ul{margin:7px 0 0;padding-left:20px}.warning{background:#fff6e5;border-left:4px solid #e29a16;padding:13px;border-radius:8px;margin-top:15px}.confidence{font-weight:700}
pre.json{background:#101820;color:#eaf2f7;padding:15px;border-radius:10px;overflow:auto;max-height:500px;font-size:12px}
@media(max-width:800px){.grid,.grid3,.grid4,.resultGrid{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:10px}.resultHead{flex-direction:column}}

/* V1.8: result section hierarchy */
.resultBox > h3:first-child { margin-top: 0; }
.confidence { line-height: 1.7; }
#calcResult .resultBox { border-left: 4px solid #0d7c5a; }
