:root{--red:#b5222b;--ink:#25262c;--muted:#73757f;--line:#e8e8ec;--bg:#f6f7f9}*{box-sizing:border-box}body{margin:0;font:14px 'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select{outline-offset:3px}button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:7px;padding:10px 14px;color:inherit}button:hover{border-color:#b5222b;color:var(--red)}a{color:var(--red);text-decoration:none}aside{position:fixed;width:226px;height:100vh;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:24px 15px}.brand{display:flex;align-items:center;gap:12px;padding:0 9px 22px;border-bottom:1px solid var(--line)}.brand strong{font-size:24px;letter-spacing:-1px}.brand small{display:block;font-size:10px;letter-spacing:3px;color:var(--muted)}.logo{width:57px;height:53px;background:white url('/letterhead.jpg') no-repeat;background-size:293px 414px;background-position:-224px -10px;flex-shrink:0}.navlabel{font-size:9px;letter-spacing:1.6px;color:#94949d;margin:23px 13px 10px}nav{overflow:auto;flex:1}nav a{display:flex;align-items:center;gap:11px;color:#656670;padding:9px 12px;margin:2px 0;font-size:12px;border-radius:6px}nav a.active{color:var(--red);background:#faedef;font-weight:650}nav a:hover{background:#f5f5f7}nav b{font-size:16px;font-weight:400;width:19px;text-align:center}footer{padding:16px 10px 0;border-top:1px solid var(--line);font-size:11px;line-height:1.8}footer small{color:var(--muted);font-size:10px}.dot{display:inline-block;width:6px;height:6px;background:#41a77d;border-radius:50%;margin-right:5px}.shell{margin-left:226px}header{height:68px;border-bottom:1px solid var(--line);background:white;display:flex;align-items:center;gap:20px;padding:0 36px;color:#777984;font-size:11px}header>span:first-child{flex:1}header button{border-radius:50%;padding:8px;background:#f2e9e9;color:var(--red);font-size:11px}.pill{border:1px solid #e2dadb;border-radius:5px;padding:5px 9px;letter-spacing:1px;font-size:9px;color:#94666a}main{padding:30px 36px 60px;max-width:1650px;margin:auto}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--red);font-weight:650}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}h1{font-size:29px;letter-spacing:-.8px;font-weight:650;margin:8px 0}p{color:var(--muted);line-height:1.6;margin:6px 0}h2{font-size:16px;margin:0 0 6px}h3{font-size:14px;margin:0 0 8px}.primary{background:var(--red);color:white;border-color:var(--red)}.primary:hover{background:#971923;color:white}.notice{background:#fff8ec;border:1px solid #efdfbd;border-radius:8px;padding:12px 15px;color:#8c692c;font-size:12px;margin:16px 0;line-height:1.6}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin:22px 0}.metric{background:white;border:1px solid var(--line);border-radius:9px;padding:18px;min-width:0}.metric small{font-size:10px;color:var(--muted)}.metric strong{display:block;font-size:23px;letter-spacing:-.5px;margin:12px 0 9px}.metric label{font-size:10px;color:#858791}.metric.accent{border-top:3px solid var(--red)}.grid{display:grid;grid-template-columns:1.8fr 1fr;gap:22px;margin:22px 0}.card{background:white;border:1px solid var(--line);border-radius:10px;padding:23px;margin-bottom:20px}.cardhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.cardhead p{font-size:11px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:9px;letter-spacing:.7px;text-transform:uppercase;color:#858790;background:#fafafb;padding:13px 12px;font-weight:600}td{padding:16px 12px;border-bottom:1px solid #efeff2;vertical-align:middle}tr:last-child td{border-bottom:0}td small{display:block;color:#8c8d94;margin-top:5px;font-size:10px}.badge{display:inline-block;font-size:10px;border-radius:5px;padding:5px 7px;background:#f6efdf;color:#916a29;white-space:nowrap}.badge.red{background:#fae9eb;color:#b5222b}.badge.green{background:#e8f4ed;color:#2d8061}.barrow{display:flex;align-items:center;gap:12px;margin:19px 0}.barrow label{width:120px;font-size:11px}.bar{height:7px;background:#f0f0f3;flex:1;border-radius:10px;overflow:hidden}.bar i{height:100%;display:block;background:var(--red);border-radius:10px}.barrow strong{font-size:11px;width:72px;text-align:right}.alert{padding:15px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.6}.alert small{display:block;color:var(--muted);margin:3px 0}.toolbar{display:flex;align-items:center;gap:10px;margin:18px 0;flex-wrap:wrap}.toolbar input{min-width:260px}.tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:24px 0}.tabs button{border:0;background:transparent;border-radius:0;font-size:12px;padding:12px}.tabs button.selected{border-bottom:2px solid var(--red);color:var(--red)}input,select,textarea{background:white;border:1px solid #dcdde3;border-radius:6px;padding:10px;color:var(--ink);max-width:100%}textarea{min-height:75px}label.field{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#666873;margin:13px 0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}dialog{border:0;border-radius:12px;box-shadow:0 20px 100px #0003;width:730px;max-width:95vw;padding:28px;max-height:90vh;overflow:auto}dialog::backdrop{background:#24252c66}dialog h2{font-size:22px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.empty{padding:35px;text-align:center;color:#93949c}.projectcards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.projectcards .card{cursor:pointer;border-top:3px solid #b5222b}.projectcards p{font-size:12px;margin:15px 0}.projectcards strong{display:block;font-size:22px;margin-top:22px}.subtle{font-size:11px;color:var(--muted)}#toast{position:fixed;bottom:25px;right:30px;background:#25262c;color:white;padding:14px 22px;border-radius:8px;display:none;z-index:10}.steps{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0}.steps span{background:#f2f2f5;padding:8px;font-size:10px;border-radius:5px}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.quoteitem{display:grid;grid-template-columns:2fr .65fr .9fr .4fr;gap:8px;margin:8px 0}.negative{color:var(--red)}@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:1fr}.projectcards{grid-template-columns:repeat(2,1fr)}main{padding:24px}.shell{margin-left:200px}aside{width:200px}}@media(max-width:700px){aside{position:static;width:100%;height:auto}.brand,footer,.navlabel{display:none}nav{display:flex;overflow:auto}nav a{white-space:nowrap}.shell{margin:0}header{padding:12px}main{padding:16px}.metrics,.projectcards{grid-template-columns:1fr 1fr}.heading{align-items:flex-start}h1{font-size:23px}.metric strong{font-size:20px}.formgrid{grid-template-columns:1fr}}@media print{aside,header,.toolbar,.actions,.tabs,button,.notice{display:none!important}.shell{margin:0}main{padding:0}.card{border:0;padding:5px}.metrics{display:none}}

.authcard{max-width:520px;margin:35px auto;padding:35px}.authcard h1{font-size:25px}.roles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.roles label{display:flex;align-items:center;gap:8px;font-size:12px}button:disabled{opacity:.45;cursor:not-allowed;border-color:#ddd;color:#777}.auditdetail{overflow-wrap:anywhere;font-size:11px;max-width:800px}summary{cursor:pointer;padding:8px 0}.quoteitem{align-items:center;border-bottom:1px solid #eee;padding-bottom:10px}.quoteitem .field{margin:0}.quoteitem b{font-size:12px}.quoteitem small{display:block}dialog .actions{flex-wrap:wrap}dialog p{overflow-wrap:anywhere}@media(max-width:700px){.quoteitem{grid-template-columns:1fr 70px 90px 30px;font-size:11px}.quoteitem button{padding:5px}.roles{grid-template-columns:1fr}.brand{display:flex;padding:5px 10px 15px}.brand .logo{display:block}.authcard{margin:10px auto;padding:20px}}

/* Contraste reforçado para a instância publicada. */
:root{--red:#cf3944;--ink:#172238;--muted:#5c697d;--line:#cbd5e1;--bg:#e8eef6}
body{background:radial-gradient(circle at 82% 0,#d9e5f3 0,#e8eef6 38%,#e3eaf3 100%)}
aside{background:linear-gradient(180deg,#10263f 0%,#0b1b2e 100%);border-right:1px solid #27445f;color:#eef5fc;box-shadow:4px 0 22px #0d213022}
.brand{border-bottom-color:#29445d}.brand small,.navlabel,footer small{color:#a9bed2}.brand strong{color:#fff}.logo{border-radius:9px;box-shadow:0 4px 13px #0004}
nav a{color:#c7d5e4}nav a.active{color:#fff;background:#cf3944;font-weight:700}nav a:hover{background:#1b3956;color:#fff}
footer{border-top-color:#29445d;color:#d9e6f3}.dot{background:#4fd19b}
header{background:linear-gradient(100deg,#10263f,#173755);border-bottom:1px solid #294b68;color:#dce9f5;box-shadow:0 2px 10px #142a4017}
header .pill{border-color:#5c7893;color:#dce9f5;background:#0c2035}header button{background:#e1ebf5;color:#10263f;border-color:#c8d7e5}header #logoutButton{border-radius:7px;background:#cf3944;color:#fff;border-color:#cf3944}
main{background:transparent}.heading h1,h2,h3{color:#12213a}.eyebrow{color:#b5222b}
.card,.metric{background:#f9fbfe;border-color:#c9d5e2;box-shadow:0 5px 16px #18324b12}.metric{border-top:3px solid #315f8a}.metric.accent{border-top-color:#cf3944}.metric small,.metric label{color:#52647a}
button{background:#f7fafc;border-color:#b9c9d9;color:#1a3956;font-weight:600}button:hover{border-color:#cf3944;color:#b5222b;background:#fff}
input,select,textarea{background:#fff;border-color:#afc1d4;color:#15243a}input:focus,select:focus,textarea:focus{border-color:#315f8a;box-shadow:0 0 0 3px #315f8a22}
th{background:#e7eff8;color:#37516b}td{border-bottom-color:#d8e2ed}.badge{background:#e8eef7;color:#38536f}.badge.red{background:#fce9eb}.badge.green{background:#def2e8;color:#176649}
.notice{background:#fff4d6;border-color:#eacb75;color:#725311}.tabs{border-bottom-color:#bdcad7}.tabs button.selected{border-bottom-color:#cf3944;color:#b5222b}
dialog{background:#f7faff;color:#172238;border:1px solid #c3d2e0;box-shadow:0 24px 80px #08172866}dialog::backdrop{background:#0817288a}
.bar{background:#d9e4ef}.steps span{background:#e4edf6;color:#314b65}.primary{background:#b5222b;border-color:#b5222b;color:#fff}.primary:hover{background:#971923;color:#fff}
