:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#213a37;background:#f5f7f6;font-synthesis:none;--green:#1b6b55;--muted:#768580;--line:#e2e9e5;--bg:#fff}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:3px}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--green);text-underline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:28px;font-weight:650;letter-spacing:-1px}h2{font-size:18px}h3{font-size:15px}p{line-height:1.8}small,.muted{color:var(--muted)}small{font-size:12px;line-height:1.7}.boot{padding:80px;text-align:center;color:var(--muted)}.layout{display:grid;grid-template-columns:224px 1fr;min-height:100vh}.sidebar{background:#173e38;color:#e4eee8;padding:30px 18px;display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:0 10px}.brand img{width:36px}.brand strong{font-size:18px;display:block;letter-spacing:1px}.brand small{font-size:10px;letter-spacing:2px;color:#a4c2b5}.workspace{border:1px solid #ffffff20;border-radius:10px;padding:14px;font-size:12px;line-height:1.8;color:#b5cec0}.nav{display:grid;gap:7px}.nav button{color:#b6cdc3;background:none;border:0;text-align:left;padding:13px 15px;border-radius:8px;display:flex;gap:12px;align-items:center}.nav button span{font-size:17px;opacity:.85}.nav button:hover{background:#ffffff0a}.nav button.active{background:#d7eedf;color:#194c3d;font-weight:600}.sidebar-foot{margin-top:auto;color:#a7c5b7;font-size:11px;line-height:1.9;padding:10px}.account{border-top:1px solid #ffffff25;padding-top:18px;display:flex;align-items:center;gap:10px;font-size:12px}.avatar{background:#315c4f;color:#c8e8d5;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;font-weight:700}.account strong{display:block}.account small{color:#91b7a4}.logout{margin-left:auto;background:none;border:0;color:#a7c5b7}.main{min-width:0}.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#ffffffa0;font-size:12px;color:var(--muted)}.top-actions{display:flex;gap:20px;align-items:center}.link-btn{background:none;border:0;color:var(--green);padding:0;font-size:12px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#47a476;margin-right:6px}.content{padding:32px 36px 24px;max-width:1600px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px;gap:20px}.eyebrow{font-size:10px;letter-spacing:2px;color:#8b9e91;margin-bottom:11px}.heading p{font-size:13px;color:var(--muted);margin:0}.heading h1{margin-bottom:10px}.pill{padding:8px 12px;background:#e4efe7;border:1px solid #d5e6da;color:#3c6c51;border-radius:20px;font-size:11px;white-space:nowrap}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.panel{background:var(--bg);border:1px solid var(--line);border-radius:13px;padding:24px;margin-bottom:22px;min-width:0;box-shadow:0 4px 16px #1d3d2f02}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:12px}.panel-head h2{margin:0;display:flex;align-items:center;gap:10px}.number{font-size:10px;color:#9aaba0;background:#eff4f0;border-radius:5px;padding:5px;font-weight:400}.button{border:1px solid #d9e3dc;background:#fff;border-radius:7px;padding:10px 15px;font-size:12px;color:#37584a;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;line-height:1.4}.button:hover{background:#eff5f0}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.primary:hover{background:#155641}.button.danger{border-color:#e9c4bf;color:#ab4a43}.button.small{padding:6px 10px;font-size:11px}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.actions.end{justify-content:flex-end;margin-top:22px}.upload{border:1.5px dashed #bdcfc2;border-radius:10px;min-height:285px;background:linear-gradient(140deg,#f6faf7,#fcfdfc);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:14px;padding:24px;width:100%;color:#3c6f52}.upload.drag{background:#e4f2e9;border-color:#1b6b55}.upload .upload-icon{font-size:30px;width:65px;height:65px;display:grid;place-items:center;background:#e8f1e9;border-radius:50%}.upload strong{font-size:16px}.preview{border:1px solid var(--line);border-radius:9px;background:#f1f4f1;padding:12px;display:grid;place-items:center;min-height:285px;max-height:520px;overflow:auto;margin-bottom:14px}.preview img{max-width:100%;max-height:470px;object-fit:contain}.image-toolbar{display:flex;justify-content:space-between;gap:8px;font-size:12px;align-items:center}.empty{padding:70px 25px;text-align:center;color:var(--muted);font-size:13px;line-height:2}.empty .empty-icon{font-size:32px;color:#aec1b2;display:block;margin-bottom:12px}label{display:block;font-size:12px;font-weight:550;color:#496051;margin-bottom:17px}input,textarea,select{display:block;width:100%;background:#fff;border:1px solid #dbe4dd;border-radius:7px;padding:10px 11px;color:#30463b;margin-top:7px;font-size:13px}input:focus,textarea:focus,select:focus{border-color:#7bb395;outline:2px solid #a5d5b733}textarea{line-height:1.7;resize:vertical}label small{display:block;font-weight:400;margin-top:5px}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.note{padding:13px 15px;background:#f1f5ef;border:1px solid #e2e9dd;color:#728166;font-size:12px;line-height:1.8;border-radius:8px;margin:16px 0}.note.warn{background:#fff8ec;color:#926d39;border-color:#f0e3c9}.note.success{background:#eef7f0;color:#3d7a4e;border-color:#d3e8d8}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:23px}.stat{border:1px solid var(--line);border-radius:10px;background:white;padding:20px}.stat small{display:block}.stat strong{font-size:27px;font-weight:600;display:block;margin:8px 0;color:#2d6047}.stat span{font-size:11px;color:#94a197}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.tabs{display:flex;gap:5px;flex-wrap:wrap}.tabs button{border:0;background:transparent;color:#849086;padding:8px 12px;border-radius:6px;font-size:12px}.tabs button.active{background:#e8f0e9;color:#346349}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white}.case>button{display:block;border:0;width:100%;background:#eef2ef;padding:12px;height:185px}.case img{max-width:100%;height:160px;object-fit:contain}.case-info{padding:16px}.case-info h3{font-size:13px;margin:10px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-info p{color:#7d897f;font-size:12px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;margin-bottom:13px}.case-meta{display:flex;justify-content:space-between;font-size:10px;color:#99a599;margin-top:12px}.badge{font-size:10px;border-radius:4px;padding:4px 7px;background:#f1f2ef;color:#768270;display:inline-block}.badge.approved,.badge.normal{background:#e7f2e9;color:#4d8059}.badge.pending,.badge.unknown{background:#fff3dc;color:#9a7c40}.badge.rejected,.badge.fake{background:#faeae6;color:#ae6357}.badge.withdrawn{background:#eee;color:#888}.risk{padding:20px;background:#f0f6f0;border:1px solid #dce8db;border-radius:9px;margin-bottom:20px}.risk h2{color:#496f4e;font-size:20px;margin-bottom:10px}.risk.suspicious{background:#fff1ec;border-color:#f0d4ca}.risk.suspicious h2{color:#a45745}.risk.uncertain{background:#fff8ea;border-color:#eddfbf}.risk p{font-size:13px;margin-bottom:0}.field-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.field{padding:13px 0;border-bottom:1px solid #edf0ec;min-width:0}.field small{display:block}.field strong{font-size:13px;font-weight:500;overflow-wrap:anywhere;display:block;margin-top:6px}.mono,pre,code{font-family:"Cascadia Code",Consolas,monospace}.mono{font-size:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f6f4;border:1px solid #e5eae4;padding:16px;border-radius:8px;font-size:12px;line-height:1.8;max-height:500px;overflow:auto}.evidence{font-size:12px;border-left:2px solid #c5d9c9;padding-left:12px;margin:12px 0;line-height:1.8}.evidence strong{display:block}.evidence span{color:#819080}.result-meta{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.result-meta span{font-size:10px;color:#879581;background:#f3f6ef;padding:5px 7px;border-radius:3px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;font-size:11px;color:#9aa69b;font-weight:400;background:#f8faf7}th,td{padding:14px 12px;border-bottom:1px solid #edf1e9;white-space:nowrap}td.wrap{white-space:normal;max-width:380px;overflow-wrap:anywhere}.footer{display:flex;justify-content:space-between;font-size:10px;color:#a4afa2;border-top:1px solid var(--line);padding-top:20px;margin-top:26px;gap:12px}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-art{background:#173e38;color:#e0eddd;padding:70px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art:after{content:'✓';font-size:330px;position:absolute;bottom:70px;right:-20px;color:#bce6ca12;border:1px solid #ffffff10;border-radius:50%;width:430px;height:430px;display:grid;place-items:center}.login-art h1{font-size:45px;line-height:1.4;letter-spacing:-1px;font-weight:450;position:relative;z-index:1}.login-art p{font-size:13px;color:#96b5a3;position:relative;z-index:1;max-width:340px}.login-art .eyebrow{color:#9bbba4}.login-area{display:grid;place-items:center;padding:35px}.login-form{width:100%;max-width:350px}.login-form h2{font-size:25px;font-weight:550}.login-form>p{font-size:12px;color:#9aab9c;margin-bottom:35px}.login-form .button{width:100%;padding:13px;margin-top:7px}.login-form .error{color:#ac5e50;min-height:24px;font-size:12px}.login-form .fine{margin-top:28px;font-size:10px;color:#a0aca1;text-align:center}#toast{position:fixed;right:25px;top:20px;z-index:50;max-width:440px;font-size:13px;border-radius:9px;box-shadow:0 10px 50px #19382920;background:#fff;border:1px solid #dbe7d9;color:#486e46;line-height:1.7;padding:16px 20px;display:none}#toast.show{display:block}#toast.error{border-color:#e5cbc2;color:#a35c4d}dialog{border:1px solid #dfe6da;border-radius:13px;max-width:1050px;width:calc(100% - 40px);padding:26px;box-shadow:0 30px 120px #17382140;max-height:92vh;color:#314733}dialog::backdrop{background:#1c392b60;backdrop-filter:blur(3px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.modal-head h2{margin:0}.modal-close{background:none;border:0;color:#8fa08d;font-size:24px}.modal-body{max-height:74vh;overflow:auto;padding-right:7px}.modal-body .preview{max-height:65vh}.modal-body .preview img{max-height:60vh}.pager{display:flex;gap:12px;justify-content:flex-end;align-items:center;margin-top:20px;font-size:12px;color:var(--muted)}details{margin-top:18px}summary{font-size:12px;cursor:pointer;color:#7f927b}progress{width:100%;accent-color:#1b6b55;height:4px}.loading-msg{padding:25px;text-align:center;font-size:13px;color:#7f9d81}.help-list{padding-left:20px;font-size:13px;line-height:2.1;color:#70806d}.api-doc .endpoint{display:flex;gap:12px;align-items:center;margin-bottom:18px}.api-doc .method{padding:5px 10px;background:#e5f1e6;color:#56895b;border-radius:5px;font-size:11px}input[type=checkbox]{display:inline;width:auto;margin-right:8px} @media(min-width:1600px){.case-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:1100px){.case-grid{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:190px 1fr}.sidebar{padding:24px 12px}.content{padding:26px 22px}.topbar{padding:0 22px}.grid{grid-template-columns:1fr}.login-art{padding:45px}.login-art h1{font-size:34px}}@media(max-width:700px){.layout{display:block}.sidebar{position:static;height:auto;padding:15px;gap:12px}.brand strong{font-size:15px}.brand img{width:30px}.workspace,.sidebar-foot,.account{display:none}.nav{display:flex;overflow:auto;gap:5px}.nav button{white-space:nowrap;padding:10px 12px;font-size:12px}.nav button span{display:none}.topbar{height:48px;padding:0 18px;font-size:10px}.content{padding:23px 15px}.heading{margin-bottom:23px}.heading h1{font-size:23px}.heading p{font-size:12px}.heading .pill{display:none}.panel{padding:18px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:15px}.stat strong{font-size:24px}.case-grid{grid-template-columns:1fr 1fr;gap:10px}.case>button{height:145px}.case img{height:120px}.case-info{padding:12px}.two{grid-template-columns:1fr;gap:0}.toolbar{flex-wrap:wrap}.login-page{display:block}.login-art{padding:28px;min-height:210px}.login-art h1{font-size:28px;margin:24px 0 5px}.login-art p,.login-art .fine{display:none}.login-art:after{font-size:170px;width:200px;height:200px;bottom:-50px}.login-area{padding:40px 25px}.footer{flex-direction:column}.modal-body .grid{gap:10px}.field-list{grid-template-columns:1fr}.actions.end .button{flex:1}}

[hidden]{display:none!important}

.login-page.login-simple{min-height:100dvh;display:grid;grid-template-columns:1fr;place-items:center;padding:30px 20px;background:#f4f7f5}.login-card{width:100%;max-width:410px;background:#fff;border:1px solid #e1e9e3;border-radius:15px;padding:36px;box-shadow:0 12px 45px #173e3807}.login-identity{display:flex;align-items:center;justify-content:center;gap:11px;margin-bottom:12px}.login-identity img{width:37px;height:37px}.login-identity h1{font-size:23px;letter-spacing:0;font-weight:600;margin:0}.login-simple .login-form{max-width:none}.login-simple .login-form>p{text-align:center;font-size:12px;color:#8a998e;margin:0 0 31px}.login-simple .login-form label{margin-bottom:20px}.login-simple input{padding:12px}.login-simple .login-form .fine{margin-top:22px;font-size:11px}.login-simple .error:empty{display:none}.login-simple .error{margin:0 0 12px;min-height:0}.login-simple .button{font-size:13px}@media(max-width:480px){.login-card{padding:30px 24px;border-radius:12px}.login-identity h1{font-size:21px}}

@media(min-width:701px){.sidebar{overflow-y:auto;gap:18px;padding-top:24px;padding-bottom:18px}.nav{gap:4px}.nav button{padding:11px 14px}.sidebar .workspace{font-size:11px;padding:12px}.sidebar-foot{font-size:10px;line-height:1.7}.account{padding-top:12px}}
