/* Vangellis: sistema visual, sem dependências externas. */
:root{--bg:#f7f6f3;--ink:#20201f;--muted:#69665f;--line:#e5e1d8;--accent:#a57724;--accent-soft:#f4ead7;--nav:#151616;--nav2:#292722;--radius:16px}
body{font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.5}
main{padding:30px 34px 60px}main>header{gap:18px;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line)}h1{font-size:29px;font-weight:750;letter-spacing:-.8px}h2,h3{letter-spacing:-.25px}p{line-height:1.6}a{color:#805919;text-underline-offset:3px}a:hover{color:#533b15}
aside{padding:22px 14px;width:242px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#63553d transparent}.brand img{background:#fff;border-radius:10px}.brand span{font-size:12px;color:#cfbf9f;letter-spacing:.1em;text-transform:uppercase}.brand{padding-bottom:16px}
nav{gap:3px}.vg-nav-label{font-size:10px;color:#a9a396;text-transform:uppercase;letter-spacing:.13em;padding:18px 14px 7px}nav button{display:flex;align-items:center;gap:11px;font-size:12px;padding:10px 13px;min-height:42px;color:#c9c7c1;border:1px solid transparent}nav button.active{background:#342b1d;border-color:#5b4728;color:#f5d795}nav button:hover{background:#282723}nav button::before{display:none!important}.vg-icon{width:17px;height:17px;flex:none;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.primary,.ghost,.small,.linkbtn,button:not([class]){border-radius:10px;min-height:40px;padding:9px 13px;font-size:13px;font-weight:650;transition:background .15s,box-shadow .15s,transform .15s}.primary{background:#a57724;border-color:#a57724;color:#fff;box-shadow:0 3px 8px #a5772420}.primary:hover{background:#89621d;filter:none;box-shadow:0 5px 12px #a5772433}.ghost,.small,.linkbtn,button:not([class]){background:#fff;border:1px solid var(--line);color:var(--ink)}.ghost:hover,.small:hover,.linkbtn:hover{background:#f7f3e9;border-color:#b9a078}button:active,a.linkbtn:active{transform:translateY(1px)}button:disabled{opacity:.6;cursor:default;transform:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a57724;outline-offset:3px}
input,select,textarea{border-color:#dcd7cd;border-radius:10px;font-size:14px;min-height:42px}input:focus,select:focus,textarea:focus{border-color:#a57724;box-shadow:0 0 0 3px #a577241c}input[type=checkbox],input[type=radio]{width:18px;min-height:18px;accent-color:#a57724}label{color:#4d4941;font-size:12px}.vg-field-error{display:block;color:#a7251c;font-size:12px;font-weight:500}.vg-invalid{border-color:#b42318!important}.form-grid-2{gap:16px}.form-actions{gap:9px;flex-wrap:wrap}
.panel,.metric{border-radius:var(--radius);box-shadow:0 3px 16px #31271905}.panel{padding:23px}.panel-head{gap:16px}.metric{padding:20px;border-top:3px solid #d0b178}.metric-value{font-size:32px;line-height:1.2}.metric-hint{line-height:1.5}.dashboard-grid{gap:20px}.vg-dashboard-hero{background:linear-gradient(115deg,#20201e,#30291f);color:#fff;padding:25px 28px;border-radius:18px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:20px}.vg-dashboard-hero h2{margin:0 0 5px;font-size:23px}.vg-dashboard-hero p{margin:0;color:#d8ceba;font-size:13px}.vg-quick-actions{display:flex;gap:8px;flex-wrap:wrap}.vg-dashboard-hero .ghost{background:#ffffff0d;color:#f6e4c0;border-color:#ffffff35}
.vg-breadcrumb{font-size:11px;color:var(--muted);margin:0 0 5px}.vg-header-actions{display:flex;gap:8px;flex-wrap:wrap}.vg-page-desc{max-width:640px}.vg-table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:12px;margin-top:12px}.vg-table-wrap table{min-width:100%;border-collapse:collapse}.vg-table-wrap th{position:sticky;top:0;background:#f6f4ee;z-index:1;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#676155}.vg-table-wrap td,.vg-table-wrap th{padding:13px 12px;border-bottom:1px solid var(--line);font-size:13px;text-align:left}.vg-table-wrap tbody tr:hover{background:#fcfaf5}.vg-table-filter{display:flex;gap:10px;align-items:center;margin:12px 0 5px}.vg-table-filter input{max-width:310px}.vg-table-count{font-size:12px;color:var(--muted)}
.generated-doc-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:14px}.generated-doc-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff}.generated-doc-row>div:first-child{width:100%;display:grid;gap:7px}.generated-doc-row strong{font-size:15px}.generated-doc-row small{line-height:1.6}.generated-doc-row .document-actions{justify-content:flex-start;margin-top:0}.generated-doc-row .vg-doc-icon{background:var(--accent-soft);color:#805919;display:inline-flex;padding:9px;border-radius:10px;width:max-content}.vg-review-state{display:inline-flex;font-size:11px;border-radius:7px;background:#f0eee9;color:#625b4e;padding:4px 8px;width:max-content}.vg-review-state.aprovado{background:#e8f5ed;color:#17643d}.vg-review-state.em_revisao{background:#fff2d8;color:#805919}.template-row{padding:15px 8px}.empty{border:1px dashed #d7cfbf;background:#fcfbf8;border-radius:12px;padding:28px 16px;line-height:1.6}.empty::before{content:'◇';display:block;font-size:28px;color:#a57724;margin-bottom:6px}
.modal-backdrop,.modal.show{background:#11141170;backdrop-filter:blur(4px)}.modal-card{border:1px solid #e6dfd1;border-radius:18px;padding:24px;scroll-padding-top:85px}.modal-head{position:sticky;top:-24px;background:#fff;z-index:5;padding:17px 0 14px}.close-modal{display:flex;justify-content:center;align-items:center;width:42px;height:42px;border-radius:10px;background:#f6f4ee!important;flex:none;font-size:26px!important;color:#574e3f!important}.vg-case-summary{padding:18px 20px;border:1px solid var(--line);background:#fbf8f1;border-radius:12px;margin-bottom:16px}.vg-case-summary strong{display:block;font-size:18px;margin-bottom:4px}.vg-case-summary p{margin:4px 0;color:var(--muted);font-size:13px}.vg-case-tabs,.vg-calc-steps{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.vg-case-tabs button,.vg-calc-steps button{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 12px;min-height:42px;font-size:12px;color:#635b4f}.vg-case-tabs button[aria-selected=true],.vg-calc-steps button[aria-selected=true]{background:#27241f;color:#f4dcae;border-color:#27241f}.vg-case-pane{padding-top:10px}.vg-case-pane>h3{font-size:16px}.vg-case-pane .case-history-section{margin-top:0;border-top:0;padding-top:0}.vg-case-pane .detail-grid{grid-template-columns:1fr 1fr}.vg-context-link{display:block;margin:12px 0}
.vg-calc-section{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:20px}.vg-calc-section>h3{margin:0}.vg-calc-nav{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:17px}.vg-draft-status{font-size:12px;color:#696050;background:#f7f3ea;padding:10px 12px;border-radius:9px}.vg-calc-progress{height:5px;background:#eee9df;border-radius:5px;margin-bottom:15px}.vg-calc-progress>span{display:block;height:100%;background:#a57724;border-radius:5px;transition:width .2s}.vg-calc-summary{padding:15px;background:#f8f5ee;border-radius:12px;font-size:13px;white-space:pre-line}.toast{z-index:200;background:#23251f;border-left:4px solid #bfa269;max-width:min(460px,calc(100vw - 30px));line-height:1.5}.toast.error{background:#8c261e;border-left-color:#f7b9ad}.vg-busy::after{content:'';width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:vgspin .8s linear infinite;display:inline-block;margin-left:8px}@keyframes vgspin{to{transform:rotate(360deg)}}
@media(max-width:1100px){main{padding:25px}.vg-dashboard-hero{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){main{padding:18px 14px 45px!important;margin-left:0!important;width:100%!important}main>header{align-items:flex-start;flex-wrap:wrap;padding-left:45px;min-height:64px;margin-bottom:20px}h1{font-size:24px}.vg-header-actions{width:100%}.vg-breadcrumb{font-size:10px}.vg-page-desc{font-size:12px}.panel{padding:17px}.vg-dashboard-hero{padding:22px}.vg-dashboard-hero h2{font-size:21px}.metrics{gap:10px}.metric{padding:15px}.metric-value{font-size:27px}.vg-case-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.vg-case-tabs button{white-space:nowrap;flex:none}.vg-case-pane .detail-grid{grid-template-columns:1fr}.modal-card{padding:17px;max-height:94dvh}.modal-head{top:-17px}.vg-case-summary{padding:15px}.vg-calc-steps{display:grid;grid-template-columns:1fr 1fr}.vg-calc-nav button{min-width:110px}button,.primary,.ghost,.small,.linkbtn{min-height:44px}.vg-table-wrap .list{display:table;white-space:nowrap}.vg-table-filter{flex-wrap:wrap}.vg-table-filter input{max-width:100%}.vg-table-count{width:100%}.generated-doc-list{grid-template-columns:1fr}.vg-header-actions button{font-size:12px}.form-grid-2{grid-template-columns:1fr}input,select,textarea{font-size:16px}nav button{font-size:13px;text-align:left}aside .brand{font-size:inherit;padding:0 8px 16px}.vg-quick-actions{width:100%}.vg-quick-actions button{flex:1}.vg-table-wrap{max-height:65vh}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* A navegação usa sua própria aparência, inclusive em botões sem classe. */
aside nav button{background:transparent;color:#c9c7c1;border-color:transparent;box-shadow:none;font-weight:600}aside nav button:hover{background:#282723;color:#fff}aside nav button.active{background:#342b1d;border-color:#5b4728;color:#f5d795}
@media(min-width:761px){aside{top:0;bottom:0;left:0;height:100dvh;transform:none!important}}
body.vg-dialog-open{overflow:hidden}
aside nav button[data-view]{background:transparent;color:#c9c7c1;border:1px solid transparent;box-shadow:none}aside nav button[data-view]:hover{background:#282723;color:#fff}aside nav button[data-view].active{background:#342b1d;border-color:#5b4728;color:#f5d795}
