:root{--ink:#17212b;--muted:#72808c;--line:#e5e9ec;--paper:#f7f8f9;--card:#fff;--accent:#b44636;--accent2:#e8b35b;--ok:#2a8b68}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.shell{display:flex;min-height:100vh}.sidebar{width:244px;background:#18242a;color:#d8e0e3;padding:28px 16px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;padding:0 12px 34px}.brand>span{background:var(--accent);color:#fff;border-radius:10px;width:35px;height:35px;display:grid;place-items:center;font-weight:700;font-size:20px}.brand b{display:block;color:#fff;font-size:18px}.brand small{color:#8ea0a8;letter-spacing:1.4px;font-size:9px}nav{display:grid;gap:4px}nav button{border:0;background:transparent;color:#b6c3c8;text-align:left;padding:11px 13px;border-radius:7px;cursor:pointer;font-size:14px}nav button:hover,nav button.active{background:#29383f;color:#fff}nav button.active{box-shadow:inset 3px 0 var(--accent2)}.side-foot{margin-top:auto;border-top:1px solid #314149;padding:18px 12px 0;color:#91a2a8;font-size:12px;display:flex;gap:8px;align-items:center}.dot{width:7px;height:7px;border-radius:50%;background:var(--ok)}main{flex:1;max-width:1500px;margin:0 auto;padding:28px 44px 60px;width:100%}header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:1.5px;color:var(--accent);font-weight:700;margin:0 0 6px}h1,h2,h3,p{margin-top:0}h1{font-size:28px;margin-bottom:0}h2{font-size:25px;margin-bottom:7px}h3{font-size:16px}.muted{color:var(--muted)}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 2px 12px #13232a08}.login{max-width:760px;margin:7vh auto}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin:22px 0}label{display:grid;gap:7px;color:#43515a;font-size:13px;font-weight:600;margin-bottom:17px}input,select,textarea{border:1px solid #d7dee2;border-radius:7px;background:#fff;color:var(--ink);font:inherit;padding:11px 12px;font-weight:400;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}button{font:inherit}.primary{border:0;background:var(--accent);color:#fff;border-radius:7px;padding:11px 17px;cursor:pointer;font-weight:700}.primary:hover{background:#963b2e}.ghost,.link{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:7px;padding:9px 13px;cursor:pointer}.link{border:0;color:var(--accent);padding:0}.hero{background:#283d42;color:#fff;border-radius:14px;padding:34px 38px;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.hero .eyebrow{color:#e8b35b}.hero h2{font-size:30px;margin-bottom:5px}.hero p:last-child{color:#bdcdd0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px}.stat b{font-size:27px;display:block}.stat span{font-size:12px;color:var(--muted)}.panel-head,.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-head{margin-bottom:26px}.case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:15px}.case-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:19px;cursor:pointer}.case-card:hover{border-color:var(--accent2);transform:translateY(-1px)}.case-card h3{margin-bottom:8px}.badge{display:inline-block;background:#e8f3ef;color:var(--ok);border-radius:15px;padding:3px 9px;font-size:11px}.case-list{display:grid;gap:2px}.case-row{padding:14px 5px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;cursor:pointer}.analysis-layout{display:grid;grid-template-columns:minmax(300px,400px) 1fr;gap:18px}.status-box{margin-top:10px;color:var(--muted);font-size:13px}.result{min-height:300px}.empty{color:var(--muted);text-align:center}.warning{border-left:4px solid var(--accent2)}.error{color:var(--accent);min-height:1.4em}.ok{color:var(--ok)}.citation{border-left:3px solid var(--accent2);padding:8px 12px;margin:10px 0;background:#fffaf2}.meta{color:var(--muted);font-size:12px}.modal{position:fixed;inset:0;background:#101c2088;display:grid;place-items:center;padding:20px}.modal[hidden]{display:none}.modal-card{background:#fff;border-radius:12px;padding:25px;max-width:500px;width:100%}@media(max-width:800px){.sidebar{width:70px;padding:20px 8px}.brand div,nav button:not(.active),.side-foot span:last-child{display:none}.brand{padding:0 9px 28px}.brand>span{width:40px;height:40px}main{padding:22px 18px}.stats{grid-template-columns:repeat(2,1fr)}.analysis-layout{grid-template-columns:1fr}.hero{display:block;padding:25px}.hero button{margin-top:15px}.form-grid{grid-template-columns:1fr}}
.page-tools{display:flex;gap:18px;align-items:end;flex-wrap:wrap;margin:18px 0}.page-tools label{margin:0}.page-card{border:1px solid var(--line);border-radius:10px;padding:14px;margin:12px 0;background:#fff}.page-card[hidden]{display:none}.page-card.citation-focus{outline:3px solid var(--accent2)}.page-head{display:flex;gap:12px;align-items:center;margin-bottom:10px}.page-grid{display:grid;grid-template-columns:minmax(250px,42%) 1fr;gap:15px}.page-image{width:100%;max-height:600px;object-fit:contain;background:#eef1f2;border-radius:7px;transition:transform .2s}.page-image.zoomed{max-height:none;cursor:zoom-out}.image-switch,.image-controls{display:flex;gap:7px;margin:7px 0;flex-wrap:wrap}.quality-box{background:#f7f8f9;border:1px solid var(--line);padding:10px;border-radius:7px;margin-bottom:8px}.quality-box small{display:block;color:var(--muted);overflow-wrap:anywhere}.ocr-text{white-space:pre-wrap;max-height:500px;overflow:auto;background:#fbfcfc;border:1px solid var(--line);padding:12px;border-radius:7px;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace}.citation-link{display:block;width:100%;text-align:left;border:0;cursor:pointer}.citation-link:hover{box-shadow:0 0 0 2px var(--accent2)}mark{background:#ffe28c;padding:2px}.image-controls .ghost{padding:6px 9px}@media(max-width:800px){.page-grid{grid-template-columns:1fr}.page-image{max-height:420px}}
