.table-filters{flex-wrap:wrap;gap:8px;display:flex}.review-control{gap:6px;min-width:150px;display:grid}.review-control select,.review-control input{color:#34454b;background:#fff;border:1px solid #cbd9d9;width:100%;padding:7px;font-size:12px}.review-updated{color:#a56a08;font-size:11px}.review-history{color:#718188;white-space:normal;font-size:11px;line-height:1.45;display:block}.rule-note{color:#b9ced0;font-size:12px;line-height:1.5}.threshold input:disabled{cursor:not-allowed;opacity:.7}.project-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.project-list{background:#fff;border:1px solid #d8e1e1;padding:20px}.project-list h2{margin:0;font-size:17px}.project-list p{color:#718188;font-size:13px;line-height:1.55}.project-list ol{margin:14px 0 0;padding:0;list-style:none}.project-list li{border-top:1px solid #e4ebeb;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.project-list li div{gap:4px;display:grid}.project-list li span{color:#718188;font-size:12px}.project-list li strong{color:#1e5558;white-space:nowrap}@media (width<=520px){.table-filters{margin-top:12px}.review-control{min-width:180px}.project-list-grid{grid-template-columns:1fr}}:root{color:#17252b;font-synthesis:none;background:#f4f7f7;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.app-shell{grid-template-columns:255px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#eaf4f3;background:#0b5052;flex-direction:column;padding:26px 19px;display:flex}.brand{border-bottom:1px solid #ffffff2e;align-items:center;gap:11px;padding:0 5px 24px;display:flex}.brand-mark{color:#d1f4ef;border:1px solid #9adbd2;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.brand strong,.brand span{display:block}.brand strong{font-size:16px}.brand span{color:#b3cecc;margin-top:4px;font-size:11px}.side-section{border-bottom:1px solid #ffffff2e;padding:22px 4px}.side-label{letter-spacing:.7px;color:#b6d1cf;margin:0 0 9px;font-size:11px}.upload-button{color:#0b5052;cursor:pointer;background:#e8f5f3;align-items:center;gap:7px;padding:10px;font-size:12px;font-weight:650;display:flex}.upload-button input{display:none}.file-state{background:#ffffff1c;gap:8px;margin-top:11px;padding:10px;font-size:11px;line-height:1.55;display:flex}.file-state b,.file-state span{display:block}.file-state span{color:#99ead3}.error{color:#ffcbc8;font-size:12px;line-height:1.5}.sidebar select{color:#fff;background:#104f51;border:1px solid #ffffff45;width:100%;padding:9px;font-size:12px}.threshold-title{margin-top:23px}.threshold{margin-top:13px;display:block}.threshold>span{color:#c4dad8;margin-bottom:6px;font-size:11px;display:block}.threshold div{position:relative}.threshold input{color:#fff;background:#0000001f;border:1px solid #ffffff47;width:100%;padding:8px 40px 8px 9px;font-size:12px}.threshold em{color:#b5cfcd;font-size:11px;font-style:normal;position:absolute;top:8px;right:9px}.sidebar-note{color:#b7d3d0;gap:7px;margin-top:auto;padding:20px 5px 0;font-size:11px;line-height:1.5;display:flex}.content{min-width:0;padding:28px 34px 38px}.content header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.content h1{letter-spacing:.2px;margin:0;font-size:25px}.content header p{color:#718188;margin:7px 0 0;font-size:13px}.primary,.secondary{cursor:pointer;border:0;align-items:center;gap:6px;font-size:12px;display:inline-flex}.primary{color:#fff;background:#0e6668;padding:10px 16px}.secondary{color:#0b585b;background:#fff;border:1px solid #afc7c6;padding:8px 11px}.secondary:disabled{opacity:.5;cursor:not-allowed}.empty,.ready,.notice{background:#fff;border:1px solid #dce6e6;max-width:760px;padding:44px}.empty{text-align:center;color:#6a7b82}.empty h2,.ready h2,.notice h2{color:#1c2b31;margin:14px 0 8px;font-size:18px}.empty p,.ready p,.notice p{margin:0;font-size:13px;line-height:1.7}.notice{border-left:3px solid #c28b2d}.metrics{grid-template-columns:repeat(6,minmax(110px,1fr));gap:11px;margin-bottom:18px;display:grid}.metric{background:#fff;border:1px solid #dce6e6;min-height:92px;padding:15px}.metric span,.metric small{color:#718188;font-size:11px;display:block}.metric strong{margin:10px 0 4px;font-size:25px;display:block}.risk-value{color:#b83d3d}.summary-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;display:grid}.chart-card,.table-card,.report-card{background:#fff;border:1px solid #dce6e6}.chart-card{padding:18px}.chart-card h2,.table-heading h2{margin:0;font-size:15px}.bar-row{grid-template-columns:95px minmax(70px,1fr) 85px;align-items:center;gap:10px;margin-top:14px;font-size:12px;display:grid}.track{background:#edf2f2;height:8px}.track i{background:#367a7b;height:100%;display:block}.bar-row b{text-align:right;color:#62747a;font-size:11px;font-weight:500}.table-card,.report-card{margin-bottom:18px}.table-heading{justify-content:space-between;align-items:flex-start;gap:15px;padding:17px 18px 11px;display:flex}.table-heading p{color:#718188;margin:5px 0 0;font-size:11px}.table-heading select{background:#fff;border:1px solid #cbd9d9;padding:7px;font-size:12px}.table-scroll{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}th{text-align:left;color:#63747a;background:#f7f9f9;border-top:1px solid #e1e9e9;border-bottom:1px solid #e1e9e9;padding:10px 18px;font-weight:500}td{color:#34454b;border-bottom:1px solid #edf1f1;padding:11px 18px}.tag{padding:4px 7px;font-size:11px;display:inline-block}.tag-stack{flex-wrap:wrap;gap:5px;display:flex}.quality{color:#946203;background:#fff1d5}.danger{color:#a53d3b;background:#fde8e7}.no-issues{color:#718188;padding:16px 18px;font-size:12px}.report-card textarea{color:#34454b;resize:vertical;background:#fbfdfd;border:1px solid #d7e1e1;width:calc(100% - 36px);min-height:310px;margin:0 18px 18px;padding:15px;font-size:13px;line-height:1.75;display:block}.preview{margin-top:22px;overflow:auto}.preview p{margin-bottom:8px;font-weight:650}.preview table{border:1px solid #e2e9e9}.preview th,.preview td{padding:9px 12px}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{padding:19px}.sidebar-note{margin-top:22px}.content{padding:22px 16px}.metrics{grid-template-columns:repeat(3,1fr)}.summary-grid{grid-template-columns:1fr}.content header{gap:15px}.content header h1{font-size:21px}}@media (width<=520px){.metrics{grid-template-columns:repeat(2,1fr)}.content header{display:block}.primary{margin-top:14px}.empty,.ready,.notice{padding:26px 18px}.table-heading{display:block}.table-heading select,.secondary{margin-top:12px}}.sample-download{color:#0b585b;background:#f5fbfa;border:1px solid #82b5b1;align-items:center;gap:7px;margin:18px 0 22px;padding:9px 12px;font-size:12px;font-weight:650;text-decoration:none;display:inline-flex}.field-guide{text-align:left;border-top:1px solid #e1e9e9;padding-top:19px}.field-guide h3{color:#26373c;margin:0 0 10px;font-size:13px}.field-tags{flex-wrap:wrap;gap:7px;display:flex}.field-tags span{color:#466066;background:#f7fbfb;border:1px solid #d5e2e1;padding:5px 7px;font-size:11px}.field-notes{border-left:2px solid #7cb6b2;margin-top:16px;padding-left:12px}.field-notes p{margin:2px 0;font-size:12px;line-height:1.7}.field-notes b{color:#30474d}.product-footer{color:#718188;border-top:1px solid #dce6e6;flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px;padding:18px 0 0;font-size:12px;display:flex}.product-footer a,.footer-action{color:#376669;align-items:center;gap:5px;text-decoration:none;display:inline-flex}.product-footer a:hover,.footer-action:hover{text-decoration:underline}.footer-action{cursor:pointer;background:0 0;border:0;padding:0}.product-footer i{background:#cbd9d9;width:1px;height:13px}@media (width<=520px){.product-footer{gap:8px;margin-top:22px}.product-footer i{display:none}.product-footer span{width:100%}}
