:root{color-scheme:light;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#eef5ff;color:#142033;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.app-shell{min-height:100vh;padding:24px}.topbar{align-items:center;background:#fff;border:1px solid #d8e6f7;border-radius:8px;display:flex;justify-content:flex-start;min-height:72px;padding:16px 20px;box-shadow:0 12px 38px #1a4d8814}.brand-mark{align-items:center;color:#0f5d9f;display:inline-flex;font-size:22px;font-weight:900;gap:10px;letter-spacing:0}.brand-mark svg{color:#1674be;flex:0 0 auto}.eyebrow{align-items:center;color:#1f6eb3;display:inline-flex;font-size:12px;font-weight:700;gap:6px;letter-spacing:0}h1,h2{margin:0;letter-spacing:0}h1{color:#0f2745;font-size:30px;line-height:1.15;margin-top:4px}h2{color:#142033;font-size:20px;line-height:1.25;margin-top:4px}.workspace-grid{display:grid;grid-template-columns:minmax(260px,320px) minmax(420px,1.1fr) minmax(420px,1fr);gap:16px;margin-top:16px}.left-rail,.config-area,.report-area{min-width:0}.left-rail{display:flex;flex-direction:column;gap:14px}.panel,.upload-panel,.config-area,.report-area{background:#fff;border:1px solid #d8e6f7;border-radius:8px;box-shadow:0 12px 38px #1a4d880f}.panel,.config-area,.report-area{padding:16px}.panel-title,.section-heading{align-items:center;display:flex;gap:8px}.panel-title{color:#123a65;font-weight:800;margin-bottom:14px}.section-heading{justify-content:space-between;margin-bottom:14px}.upload-panel{border-style:dashed;padding:18px}.hidden-input{display:none}.upload-action{align-items:center;background:#eef6ff;border:1px solid #bcd7f4;border-radius:8px;color:#0f5d9f;display:flex;font-weight:800;gap:10px;justify-content:center;min-height:76px;width:100%}.file-facts{color:#47627f;display:grid;gap:6px;margin-top:14px}.file-facts strong{color:#142033;overflow-wrap:anywhere}.field,.compact-field{display:grid;gap:6px}.field label,.compact-field span{color:#526a84;font-size:12px;font-weight:700}.field input,.compact-field input,.compact-field select,.filter-row select{background:#fbfdff;border:1px solid #cfe0f3;border-radius:6px;color:#142033;min-height:36px;outline:none;padding:8px 10px;width:100%}.field input.placeholder-value{color:#8ba0b7}.field input:focus,.compact-field input:focus,.compact-field select:focus,.filter-row select:focus{border-color:#2a81d0;box-shadow:0 0 0 3px #2a81d024}.inline-error,.inline-note{border-radius:6px;font-size:13px;margin-top:10px;padding:9px 10px}.inline-error{background:#fff2f2;color:#b6272f}.inline-note{background:#f1f7ff;color:#526a84}.progress-track{background:#e7effa;border-radius:999px;height:10px;overflow:hidden}.progress-track div{background:#1f75bd;border-radius:inherit;height:100%;transition:width .18s ease}.progress-copy{color:#5b718b;display:flex;font-size:13px;justify-content:space-between;margin-top:8px}.run-actions{display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-top:14px}.primary-button,.ghost-button{align-items:center;border-radius:6px;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:38px;padding:8px 12px}.primary-button{background:#156db5;border:1px solid #156db5;color:#fff}.ghost-button{background:#fff;border:1px solid #cfe0f3;color:#1a527f}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.category-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px}.category-tabs button{background:#f6fbff;border:1px solid #d8e6f7;border-radius:999px;color:#425d78;flex:0 0 auto;font-size:13px;font-weight:800;padding:8px 12px}.category-tabs button.active{background:#126db4;border-color:#126db4;color:#fff}.rules-list{display:grid;gap:10px;max-height:calc(100vh - 216px);overflow:auto;padding-right:4px}.rule-row{border:1px solid #dce8f5;border-radius:8px;display:grid;gap:12px;padding:14px}.rule-row.disabled{background:#f8fafc}.rule-header{align-items:flex-start;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto}.rule-main{align-items:flex-start;display:block;min-width:0}.rule-title-line{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.rule-title-line strong{color:#142033}.rule-main p{color:#61768d;font-size:13px;line-height:1.5;margin:5px 0 0}.switch{display:inline-flex;padding-top:2px}.switch input{display:none}.switch span{background:#c8d6e6;border-radius:999px;display:block;height:22px;position:relative;transition:background .15s ease;width:40px}.switch span:after{background:#fff;border-radius:999px;content:"";height:18px;left:2px;position:absolute;top:2px;transition:transform .15s ease;width:18px}.switch input:checked+span{background:#1674be}.switch input:checked+span:after{transform:translate(18px)}.rule-controls{align-items:end;display:flex;flex-wrap:wrap;gap:10px}.rule-toggle{align-self:start;margin-left:auto}.rule-controls .segmented{margin-left:auto}.segmented{background:#edf4fc;border-radius:6px;display:inline-grid;flex:0 0 auto;grid-template-columns:1fr 1fr;padding:3px}.segmented button{background:transparent;border:0;border-radius:5px;color:#526a84;font-size:12px;font-weight:800;min-height:30px;padding:5px 9px}.segmented button.active{background:#fff;color:#145c99;box-shadow:0 1px 4px #17538729}.check-control{align-items:center;color:#425d78;display:inline-flex;font-size:13px;gap:6px;min-height:32px}.compact-field{min-width:132px}.number-field{grid-template-columns:1fr auto}.number-field span{grid-column:1 / -1}.number-field input{min-width:96px}.number-field em{align-self:center;color:#6b7f94;font-size:12px;font-style:normal}.text-param{min-width:min(100%,280px)}.empty-report{align-items:center;color:#5e7288;display:flex;flex-direction:column;justify-content:center;min-height:360px;text-align:center}.empty-report svg{color:#1f75bd}.empty-report p{margin:8px 0 0}.report-time{color:#5b718b;font-weight:800}.stat-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{border:1px solid #d8e6f7;border-radius:8px;display:grid;gap:4px;min-height:82px;padding:12px}.stat-card svg{color:currentColor}.stat-card span{color:#5d7288;font-size:12px;font-weight:800}.stat-card strong{color:#142033;font-size:24px;line-height:1}.stat-card.normal{color:#17835a}.stat-card.warning{color:#d88716}.stat-card.error{color:#c83d49}.stat-card.skipped{color:#65758b}.report-meta,.filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.report-meta{color:#5b718b;font-size:13px;margin:12px 0}.report-meta span{background:#f6fbff;border:1px solid #d8e6f7;border-radius:999px;padding:6px 10px}.filter-row{margin-bottom:12px}.filter-row label{color:#526a84;display:grid;font-size:12px;font-weight:800;gap:5px;min-width:130px}.findings-table{border:1px solid #dce8f5;border-radius:8px;overflow:hidden}.table-head,.finding-row summary{display:grid;gap:10px;grid-template-columns:92px minmax(0,1fr) 72px 72px 20px}.table-head{background:#f1f7ff;color:#526a84;font-size:12px;font-weight:800;padding:10px 12px}.finding-row{border-top:1px solid #dce8f5}.finding-row summary{align-items:center;cursor:pointer;list-style:none;min-height:58px;padding:10px 12px}.finding-row summary::-webkit-details-marker{display:none}.finding-row summary strong,.finding-row summary em{display:block;overflow-wrap:anywhere}.finding-row summary em{color:#647890;font-size:12px;font-style:normal;margin-top:3px}.status-cell{align-items:center;display:flex;font-weight:800;gap:6px}.finding-row.normal .status-cell{color:#17835a}.finding-row.warning .status-cell{color:#d88716}.finding-row.error .status-cell{color:#c83d49}.finding-row.skipped .status-cell{color:#65758b}.finding-detail{background:#fbfdff;border-top:1px solid #e5eef8;color:#425d78;display:grid;gap:12px;padding:12px 16px 14px 104px}.finding-detail b{color:#142033}.finding-detail ul{margin:8px 0 0;padding-left:18px}.finding-detail p{margin:8px 0 0}@media(max-width:1280px){.workspace-grid{grid-template-columns:300px minmax(0,1fr)}.report-area{grid-column:1 / -1}}@media(max-width:820px){.app-shell{padding:14px}.topbar{min-height:66px}.brand-mark{font-size:20px}.workspace-grid{grid-template-columns:1fr}.rules-list{max-height:none}.rule-header{grid-template-columns:1fr}.rule-header .segmented{justify-self:end}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-head{display:none}.finding-row summary{grid-template-columns:1fr auto}.finding-row summary>span:nth-child(2),.finding-row summary>span:nth-child(3),.finding-row summary>span:nth-child(4){grid-column:1 / -1}.finding-detail{padding:12px 14px}}
