:root{font-family:Arial,sans-serif;color:#183c35;background:#edf4f1;font-synthesis:none}*{box-sizing:border-box}body{margin:0}body.login{min-height:100vh;background:radial-gradient(ellipse at top right,#287d68,#102b29 70%)}button,input,select{font:inherit}.loading{text-align:center;padding:4rem;color:#247864}.loginbox{margin:8vh auto 30px;background:#fff;border-radius:20px;max-width:380px;padding:36px 32px;box-shadow:0 16px 55px #0002}.logo{display:block;max-width:170px;max-height:115px;object-fit:contain;margin:auto}.loginbox h1{font-size:19px;text-align:center;margin:12px 0 28px}.loginbox label{display:block;font-size:13px;font-weight:700;margin:18px 0 6px}input,select{padding:12px;border:1px solid #cddcd6;border-radius:9px;width:100%;background:#fff;color:#153e35}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #8ac9b6;outline-offset:3px}.passwordrow{display:flex;gap:7px}.passwordrow button{flex-shrink:0}.button{border:1px solid #cddcd6;background:#fff;color:#196c58;padding:11px 17px;border-radius:9px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-weight:600}.primary{background:#207b64;color:#fff;border-color:#207b64}.loginbox .primary{width:100%;margin-top:20px}.button:disabled{opacity:.55;cursor:wait}.help{font-size:13px;line-height:1.5;color:#718a81}.error{color:#b42a3d;line-height:1.5;font-size:14px}.topbar{background:#fff;border-bottom:1px solid #d8e4de;display:flex;align-items:center;gap:18px;padding:17px max(20px,calc((100vw - 1160px)/2));flex-wrap:wrap}.topbar .logo{width:95px;height:64px;margin:0}.topbar h1{font-size:20px;margin:0}.topbar p{font-size:13px;margin:6px 0;color:#698078}.topbar #logout{margin-left:auto}.catalogbody{max-width:1160px;margin:34px auto;padding:0 22px}.tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:25px}.tools input{flex:1;min-width:200px}.tools select{width:auto;max-width:100%}.count{color:#698078;font-size:14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.catalogcard{background:#fff;border:1px solid #d8e4de;border-radius:15px;overflow:hidden;display:flex;flex-direction:column}.pdfsymbol{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e4f2ec,#c4e2d4);height:145px}.pdfsymbol span{font-size:23px;font-weight:bold;color:#22745d;border:2px solid #72a792;padding:27px 19px;border-radius:7px;background:#fff9}.cardbody{padding:21px;flex:1;display:flex;flex-direction:column}.brand{font-size:12px;color:#26715c;letter-spacing:.06em;text-transform:uppercase}.catalogcard h2{font-size:19px;line-height:1.4;margin:9px 0;overflow-wrap:anywhere}.cardbody .help{margin:3px 0 22px}.cardbody .button{margin-top:auto;width:100%}.empty{padding:45px 15px;text-align:center;color:#698078;grid-column:1/-1}dialog{border:0;border-radius:14px;width:min(1100px,96vw);height:92vh;padding:15px;background:#fff;color:#183c35}dialog::backdrop{background:#102b29bb}.viewerbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.viewerbar h2{font-size:17px;flex:1;overflow-wrap:anywhere}iframe{border:1px solid #d9e3de;border-radius:8px;width:100%;height:calc(100% - 115px);background:#edf4f1}dialog p{font-size:12px;color:#718a81}@media(max-width:480px){.loginbox{margin:6vh 16px;padding:30px 23px}.topbar{gap:10px;padding:13px 16px}.topbar h1{font-size:17px}.catalogbody{padding:0 16px;margin-top:22px}.grid{grid-template-columns:1fr}.viewerbar h2{flex-basis:100%}}

.pdfcontrols{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 0 12px}.pdfcontrols label{display:flex;align-items:center;gap:6px}.pdfcontrols input{width:76px;padding:8px}.pdfcontrols .button{padding:8px 12px}.pdfcanvas{height:calc(100% - 175px);min-height:180px;overflow:auto;background:#e3e8e5;border:1px solid #cddbd4;border-radius:8px;text-align:center;padding:14px}#pdfCanvas{display:block;margin:0 auto;background:#fff;box-shadow:0 3px 14px #0002}#pdfDialog{display:none}#pdfDialog[open]{display:flex;flex-direction:column}#pdfCanvasHost{flex:1;min-height:0}#pdfStatus{flex-shrink:0}@media(max-width:480px){.pdfcontrols{gap:5px}.pdfcontrols .button{padding:8px}.pdfcontrols input{width:62px}.pdfcanvas{padding:8px}}

/* Mesma apresentação de login do Rota de Resultados. */
body.login{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top right,#2b816b,#112b2a 55%);font-family:Inter,"Segoe UI",Arial,sans-serif}
body.login #app{width:100%}
body.login .loginbox{width:min(420px,100%);max-width:420px;margin:0 auto;padding:36px;border-radius:20px;box-shadow:0 24px 80px #07181688}
body.login .loginbox .logo{width:min(250px,82%);max-width:250px;height:128px;max-height:128px;margin:0 auto 10px}
body.login .loginbox h1{font-size:14px;font-weight:400;color:#687d76;text-transform:uppercase;margin:0 0 24px}
body.login .loginbox label{font-size:14px;font-weight:700;margin:14px 0 7px;color:#142c2a}
body.login .loginbox input{border-color:#dce5e1;padding:12px}
body.login .loginbox .primary{background:#1f7a62;border:0;margin-top:14px;padding:12px;font-weight:800;text-transform:uppercase}
body.login .loginbox .help{font-size:11px;line-height:1.6;text-align:center;margin-top:18px;color:#687d76}

.pdfsymbol.catalogcover{height:235px;padding:10px;background:#e4eee9;overflow:hidden}.catalogcover img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 5px #102b2920)}.catalogcover:not(.ready) span{font-size:18px;color:#60917f}.catalogcover.unavailable{background:#e8efeb}

[hidden]{display:none!important}.login-card{width:min(420px,100%);background:#fff;padding:36px;border-radius:20px;box-shadow:0 24px 80px #07181688;margin:auto}.login-card img{display:block;width:180px;max-width:100%;height:128px;object-fit:contain;margin:auto}.subtitle{text-align:center;text-transform:uppercase;font-size:14px;color:#687d76;margin:10px 0 26px}.login-card label{display:block;font-weight:700;font-size:14px;margin:15px 0 7px;text-transform:uppercase}.password-row{display:flex;gap:7px}.password-row input{min-width:0}.login-card .primary{width:100%;margin-top:18px}.login-card .help{text-align:center;font-size:12px}.login-card .error:empty{display:none}header{display:flex;align-items:center;gap:20px;padding:18px max(24px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid #dce5e1}header>img{width:90px;height:64px;object-fit:contain}header h1{font-size:24px;margin:0}header p{color:#6b8278;margin:6px 0}header #logout{margin-left:auto}.workspace{max-width:1230px;margin:auto;padding:30px 24px}.bar{display:flex;justify-content:space-between;align-items:center;gap:10px}.tabs{display:flex;gap:8px}.storage{color:#668176;font-size:13px;line-height:1.8;padding:18px 0}.upload{background:#fff;padding:22px;border:1px solid #d8e4de;border-radius:14px;display:flex;flex-wrap:wrap;align-items:center;gap:15px}.upload h2{font-size:17px;margin:0}.upload p{font-size:13px;color:#71877f;margin:7px 0}.upload input{max-width:370px}.upload progress{width:100%;height:10px;accent-color:#1f7a62}.tools{margin-top:24px}.tools span{font-size:14px;white-space:nowrap;color:#71877f}.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.file-card{border:1px solid #d8e4de;border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.file-icon{height:125px;background:linear-gradient(135deg,#e0efe7,#c3dfd1);display:grid;place-items:center}.file-icon span{font-size:21px;font-weight:800;color:#22715a;border:2px solid #7ca995;border-radius:8px;padding:20px;max-width:90%;overflow-wrap:anywhere}.file-body{padding:20px;display:flex;flex-direction:column;flex:1}.file-body h2{font-size:17px;overflow-wrap:anywhere;margin:0 0 9px}.file-body p,.file-body small{font-size:12px;color:#71877f;line-height:1.5}.actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:20px}.actions .button{font-size:12px;padding:9px 12px}.danger{background:#fff2f3;color:#b72b40;border-color:#efd5da}.notice{padding:15px;background:#fff4de;color:#775b22;border-radius:9px;font-size:14px}.expiry{color:#9b6c2e!important}@media(max-width:520px){header{padding:16px;gap:12px}header h1{font-size:18px}.workspace{padding:22px 16px}.login-card{padding:28px 24px}.grid{grid-template-columns:1fr}.bar{flex-wrap:wrap}.upload{padding:16px}.upload input{max-width:100%}}
