/* Orçamentos Mobile 2.0 — modernização visual para desktop e celular.
   Arquivo em camadas: não interfere nas regras de cálculo nem na impressão de documentos. */
:root{
 --dark:#1a1d21;--navy:#292d33;--blue:#292d33;--blue2:#eef0f2;
 --bg:#f5f6f7;--ink:#1b2027;--muted:#69717d;--line:#e5e8ec;
 --radius:20px;--shadow:0 8px 32px rgba(25,31,40,.035);
 --sidebar-width:258px;
}
html{scroll-behavior:smooth}
body{font-size:14px;line-height:1.55;background:var(--bg);color:var(--ink)}
h1,h2,h3{letter-spacing:-.045em}
h1{font-size:clamp(27px,3vw,35px);line-height:1.2;font-weight:800}
h2{font-size:18px;letter-spacing:-.035em}
h3{font-size:15px}
a{color:#303b49}
button,input,select,textarea{font-family:'DM Sans',Arial,sans-serif}
::selection{background:#dce0e6;color:#111}
:where(button,input,textarea,select,a):focus-visible{outline:3px solid #878f9d!important;outline-offset:3px}
#app{min-height:100vh}
.appbar{position:relative;z-index:10;background:#191c20;color:#fff;border:0}
.appbar .topbar{gap:14px}
.appbar .brand{gap:11px;min-width:0}
.appbar .mark,.brand .mark{width:46px;min-width:46px;height:46px;border-radius:15px;background:#fafafa!important;color:#1b1d21!important;border:1px solid rgba(255,255,255,.3);font:800 24px/1 Manrope,Arial;box-shadow:0 8px 22px rgba(0,0,0,.1)}
.brandtitle{font-size:15px;line-height:1.28;letter-spacing:-.055em;color:#fff}
.brandunder{font-size:9px;line-height:1.5;letter-spacing:.13em;color:#9da4b1}
.appbar .topactions .userchip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#adb4c0}
.appbar .topactions .btn{background:#30343a;color:#f9fafb;border-color:#474b52;border-radius:12px;font-weight:700}
.nav{scrollbar-width:none;gap:7px}
.nav::-webkit-scrollbar{display:none}
.nav button{display:flex;align-items:center;gap:12px;border:1px solid transparent;transition:background .18s,border-color .18s,color .18s;font-size:13px;font-weight:700;letter-spacing:-.01em}
.nav button .nav-icon{display:grid;place-items:center;flex:none;opacity:.86}
.nav button .nav-icon svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;fill:none}
.nav button:hover{color:#fff;background:#2d3238}
.nav button.active,.nav button.active:hover{background:#f4f5f6!important;border-color:#f4f5f6!important;color:#1d2025!important;box-shadow:0 6px 20px rgba(0,0,0,.1)}
.wrap{max-width:1370px;padding:38px 40px 75px}
.wrap.public-wrap{max-width:1080px}
.intro{margin-bottom:27px;align-items:center;gap:20px}
.intro h1{margin-bottom:8px}
.intro p{font-size:13px;line-height:1.5;color:#77808c}
.eyebrow{font-size:10px;letter-spacing:.17em;color:#828a96;font-weight:800}
.intro .eyebrow{margin-bottom:8px}
.cols{grid-template-columns:minmax(0,1fr) minmax(0,.88fr);gap:20px}
.col-stack{gap:20px}
.grid2{gap:16px}
.grid3{gap:16px}
.card,.panel{border:1px solid #e6e8eb;background:#fff;border-radius:21px;padding:25px;box-shadow:0 7px 27px rgba(24,31,42,.025)}
.card h2,.panel h2{line-height:1.3}
.card-soft{background:#f7f8fa;border-color:#e8ebef;border-radius:15px;padding:18px}
.stat{min-width:0;position:relative;overflow:hidden;border:1px solid #e5e8ed;border-radius:20px;padding:22px 22px 21px;background:#fff;box-shadow:0 7px 27px rgba(24,31,42,.025)}
.stat::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:#363b42;opacity:.7}
.stat .eyebrow{color:#626b78;font-size:10px}
.statvalue{font-size:clamp(24px,2.4vw,32px);line-height:1.2;margin:13px 0 4px;letter-spacing:-.055em;color:#20242b}
.mini-label{font-size:11px;color:#8a909b}
.section-title{gap:13px;margin-bottom:20px}
.section-title p,.section-title .muted{margin-bottom:0}
.section-title h2,.section-title h3{margin-bottom:2px}
.btn{background:#fff;color:#313742;border:1px solid #e1e4e9;border-radius:12px;min-height:42px;padding:10px 15px;font-size:12px;font-weight:750;letter-spacing:-.005em;box-shadow:0 1px 2px rgba(0,0,0,.02);transition:transform .15s,background .15s,border-color .15s,box-shadow .15s}
.btn:hover:not(:disabled){background:#f2f4f6;border-color:#cdd2da;box-shadow:0 4px 14px rgba(23,31,41,.06);transform:translateY(-1px)}
.btn.primary,.btn.dark{background:#25292e!important;border-color:#25292e!important;color:white!important}
.btn.primary:hover:not(:disabled),.btn.dark:hover:not(:disabled){background:#3a3e44!important;border-color:#3a3e44!important}
.btn.borderless{box-shadow:none}
.btn:active:not(:disabled){transform:translateY(0)}
.btn.block{min-height:46px}
.btns{gap:8px}
.field{gap:7px}
.field label{color:#454d58;font-size:12px;font-weight:750;letter-spacing:-.005em}
.field input,.field select,.field textarea{background:#fcfcfd;border:1px solid #dce1e7;border-radius:12px;min-height:45px;padding:11px 13px;color:#1f2630;transition:border-color .15s,box-shadow .15s}
.field input::placeholder,.field textarea::placeholder{color:#a0a6af}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#b9c1cd}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#828b98;box-shadow:0 0 0 3px rgba(70,77,89,.10)}
.field textarea{line-height:1.6}
.form{gap:17px}
.checkline{align-items:center;line-height:1.45;color:#596371;font-size:12px;cursor:pointer}
.checkline input{width:17px;height:17px;accent-color:#25292f;margin:0}
select,.invite-status{accent-color:#272c33}
.invite-status{border:1px solid #dde1e6;background:#fafbfc;border-radius:12px;min-height:42px}
.list-item{padding:17px 2px;border-color:#ebedf0;gap:15px}
.list-item .details strong{font-size:13px;font-weight:750;letter-spacing:-.008em}
.list-item .details small{font-size:11px;line-height:1.65;color:#808994}
.list-item .actions{align-items:center}
.list-item .actions select{border-radius:10px;min-height:42px;border:1px solid #dbe0e7;padding:9px 10px;background:#fff;color:#343a42;font-size:12px}
.chip{font-size:10px;font-weight:800;border-radius:9px;padding:6px 10px;background:#e9f5ee;color:#28724b;border:1px solid #d7eadf}
.chip.gray{background:#f2f3f5;color:#606875;border-color:#e7e9ee}
.chip.amber{background:#fff4df;color:#8b5d1a;border-color:#f7e4c2}
.chip.blue{background:#edf0f4;color:#363d47;border-color:#e1e5ea}
.badge-demo{background:#33383e;border-color:#474e56;color:#d9dfe6;border-radius:10px}
.notice{border-left-width:3px;border-radius:12px;line-height:1.6}
.notice.success{background:#edf6f0;color:#31684c;border-color:#4c9470}
.notice.warning{background:#fff7eb;color:#7f663c;border-color:#c7a367}
.notice.danger{background:#fff2f1;color:#99484a;border-color:#cc7377}
.divider{background:#eceef0;margin:22px 0}
.empty{background:#fbfcfd;padding:30px 22px;border-color:#dce2e8;color:#848d98}
.copybox{background:#f8f9fa;border-color:#e5e8eb;border-radius:12px}
.callout{background:#252a30;border:0;border-radius:17px;padding:23px}
.callout .mini-label{color:#c6ccd5}
.callout .number{color:#fff;font-size:31px}
.table td{border-color:#eff0f2;padding:12px 5px}
.title-line{margin:27px 0 11px;color:#6b737f}
.step{background:#f0f2f4;color:#626b77;border-radius:10px}
.step.active{background:#2b3037}
.sticky-side{top:25px}
.contract-preview{border-color:#e3e5e8;border-radius:15px;padding:18px;background:#fff}
.summary-doc{border-color:#e7e8ea;border-radius:14px}
.summary-doc .docbrand{color:#252b32}
.summary-doc .doctip{background:#f1f3f5}
.summary-doc .docfooter{border-color:#e6e8eb}
.field-info{display:flex;align-items:center;gap:9px;color:#47515f}
.help-icon{width:22px;height:22px;flex:none;border-color:#c5ccd4;color:#57616f;font-size:11px;box-shadow:none}
.help-icon:hover{background:#f3f5f7}
.estimate-card{background:#f2f4f5;border-color:#e5e8eb;border-radius:16px}
.estimate-amount{color:#20252c}
.price-grid{gap:13px}
.price-tile{background:#f9fafb;border-color:#e8ebef;border-radius:14px;padding:17px}
.price-tile strong{color:#20262e}
.welcome{background:linear-gradient(137deg,#2d3239,#171a1e 78%);border-radius:23px;padding:38px}
.welcome::after{border-color:rgba(245,247,250,.04)}
.welcome p{color:#d8dce2}
.security,.float-help{color:#737b87;line-height:1.6}
.footer{color:#939aa4;margin-top:45px}
.toast{background:#22262b;border:1px solid #454b53;border-radius:13px}

/* Novo painel e atalhos */
.dashboard-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:176px;padding:29px 32px;margin-bottom:22px;border-radius:23px;background:radial-gradient(circle at 88% 35%,rgba(255,255,255,.095),transparent 27%),linear-gradient(125deg,#353a42,#1b1f24 76%);color:#fff}
.dashboard-hero:after{content:'';position:absolute;right:-72px;bottom:-158px;width:300px;height:300px;border:1px solid rgba(255,255,255,.11);border-radius:50%;pointer-events:none}
.dashboard-hero .eyebrow{color:#bfc6d0;margin-bottom:13px}
.dashboard-hero h1{font-size:clamp(26px,3vw,33px);max-width:480px;color:#fff;margin:0 0 9px}
.dashboard-hero p{color:#c6cdd6;max-width:520px;margin:0;font-size:13px}
.dashboard-hero .btn{position:relative;z-index:1;flex:none;background:#f8f9fa;border-color:#f8f9fa;color:#21262c;border-radius:13px;padding:13px 17px;font-size:12px}
.dashboard-hero .btn:hover{background:#eceff2}
.dashboard-hero .hero-copy{position:relative;z-index:1}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:23px}
.dashboard-metrics .stat{min-height:134px}
.dashboard-metrics .stat:nth-child(4)::before{background:#a5aab2}
.dashboard-metrics .stat::after{content:'';width:44px;height:44px;border-radius:14px;border:1px solid #eef0f3;position:absolute;top:17px;right:17px;background:#f7f8f9}
.dashboard-metrics .stat .metric-icon{position:absolute;right:27px;top:27px;z-index:1;color:#626b77;width:24px;height:24px}
.dashboard-metrics .stat .metric-icon svg{width:24px;height:24px;stroke-width:1.7}
.quick-link-form{display:grid;gap:14px}
.quick-link-form .btn{justify-content:center}
.dashboard-cards{align-items:start;gap:20px}
.dashboard-cards .card{min-width:0}
.dashboard-cards .card .list-item:last-of-type{border-bottom:0}
.action-icon{width:18px;height:18px;display:inline-block;vertical-align:middle;flex:none}
.action-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dashboard-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:3px}

/* Sidebar para desktop com conteúdo confortável */
@media(min-width:1060px){
 .appbar.admin-shell{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);height:100vh;background:linear-gradient(176deg,#22262b,#181b20 79%);border-right:1px solid #343840;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#4e535b transparent;z-index:35}
 .admin-shell .topbar{width:100%;min-height:164px;max-width:none;padding:31px 20px 24px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:22px}
 .admin-shell .brand{gap:12px}
 .admin-shell .brandtitle{font-size:15px}
 .admin-shell .brandunder{font-size:9px}
 .admin-shell .topactions{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;border-top:1px solid #363b42;padding-top:20px}
 .admin-shell .topactions .userchip{font-size:10px;max-width:132px;color:#aab1bb}
 .admin-shell .topactions .btn{min-height:35px;padding:8px 12px;font-size:11px}
 .admin-shell .badge-demo{width:100%;text-align:center}
 .admin-shell .nav{display:flex;flex-direction:column;gap:5px;overflow:visible;padding:10px 13px 32px;width:100%;max-width:none;margin:0}
 .admin-shell .nav button{width:100%;border:1px solid transparent;border-radius:12px;padding:13px 14px;color:#acb4c0;text-align:left;min-height:46px}
 .admin-shell .nav button.active{border-radius:12px;box-shadow:0 6px 23px rgba(0,0,0,.12)}
 .wrap.admin-wrap{width:calc(100% - var(--sidebar-width));max-width:1500px;margin-left:var(--sidebar-width);margin-right:0;padding:43px clamp(23px,3.1vw,55px) 74px}
 .wrap.admin-wrap .cols{grid-template-columns:minmax(0,1fr) minmax(0,.92fr)}
 .wrap.admin-wrap .footer{padding-bottom:15px}
}
@media(min-width:1060px) and (max-width:1300px){
 .wrap.admin-wrap{padding:32px 26px 75px}
 .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dashboard-metrics .stat{min-height:127px}
}
/* Header compacto no tablet/celular, navegação deslizando horizontalmente */
@media(max-width:1059px){
 .appbar{box-shadow:0 4px 20px rgba(23,28,35,.06)}
 .appbar.admin-shell{position:sticky;top:0;z-index:35}
 .appbar .topbar{padding:14px 20px;max-width:100%}
 .appbar .nav{max-width:100%;width:100%;overflow-x:auto;padding:0 16px 12px;gap:7px}
 .appbar .nav button{white-space:nowrap;flex:none;border-radius:11px;padding:10px 13px;min-height:41px;color:#b7bec7;font-size:12px}
 .appbar .nav button .nav-icon svg{width:17px;height:17px}
 .wrap{padding:26px 22px 78px}
 .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dashboard-hero{min-height:154px;padding:25px 27px}
}
@media(max-width:680px){
 .wrap{padding:21px 14px 72px}
 .appbar .topbar{padding:13px 14px}
 .appbar .nav{padding:0 11px 11px}
 .appbar .nav button{gap:7px;padding:9px 12px;font-size:11px}
 .appbar .nav button .nav-icon svg{width:16px;height:16px}
 .brandtitle{font-size:13px}
 .brandunder{font-size:8px}
 .appbar .mark{width:40px;height:40px;min-width:40px;font-size:21px}
 .intro{margin-bottom:19px}
 .intro h1{font-size:27px}
 .intro p{font-size:12px}
 .cols,.wrap.admin-wrap .cols{grid-template-columns:minmax(0,1fr);gap:14px}
 .card,.panel{padding:19px;border-radius:17px}
 .grid2{grid-template-columns:minmax(0,1fr)}
 .dashboard-hero{display:block;min-height:0;padding:24px 22px;border-radius:18px}
 .dashboard-hero h1{font-size:26px}
 .dashboard-hero p{font-size:12px}
 .dashboard-hero .btn{margin-top:19px;width:100%}
 .dashboard-metrics{gap:10px;margin-bottom:15px}
 .dashboard-metrics .stat{padding:18px 15px;border-radius:16px;min-height:118px}
 .dashboard-metrics .stat::after{width:34px;height:34px;right:11px;top:12px}
 .dashboard-metrics .stat .metric-icon{right:18px;top:18px;width:20px;height:20px}
 .dashboard-metrics .stat .metric-icon svg{width:20px;height:20px}
 .dashboard-metrics .statvalue{font-size:23px;margin-top:12px}
 .dashboard-metrics .stat .eyebrow{font-size:9px;max-width:calc(100% - 28px)}
 .dashboard-metrics .stat .mini-label{font-size:10px}
 .card-soft{padding:14px}
 .list-item{align-items:flex-start;flex-direction:column;gap:11px}
 .list-item .actions{width:100%;justify-content:flex-start}
 .list-item .actions select{flex:1;min-width:0}
 .invite-status{width:100%;max-width:none}
 .section-title{align-items:flex-start}
 .btn{min-height:42px}
 .sticky-side{position:static}
 .contract-preview{padding:12px}
 .welcome{padding:26px 22px}
 .welcome h1{font-size:26px}
}
@media(max-width:360px){
 .dashboard-metrics{grid-template-columns:1fr}
 .appbar .topbar{gap:5px}
 .brandunder{letter-spacing:.06em}
 .badge-demo{font-size:9px;padding:7px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
/* Propostas/contratos impressos mantêm tipografia e fundo próprios, sem sidebar. */
@media print{
 body{background:#fff!important;color:#000}
 .appbar{display:none!important}
 .print-only{display:block!important}
 .print-only .contract-document{box-shadow:none;border:none;background:#fff;color:#000}
 .print-only .contract-pricing td{font-size:11px}
 @page{size:A4;margin:14mm}
}

/* Calculadora Mobile: apenas o painel administrativo */
.dashboard-hero-actions{position:relative;z-index:2;display:flex;gap:9px;flex-direction:column;min-width:175px}
.dashboard-hero-actions .btn{width:100%;margin:0;white-space:nowrap}
.dashboard-hero-actions .btn.secondary{background:transparent;border-color:#777e88;color:#f1f3f5}
.dashboard-hero-actions .btn.secondary:hover{background:#414751;border-color:#aeb5be}
.calc-layout{align-items:start}
.calc-layout .form{gap:16px}
.calc-layout .title-line{margin-top:26px;color:#5e6874}
.calc-extra-list{display:grid;gap:10px}
.calc-extra-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr) auto;align-items:end;gap:9px;padding:11px 12px;border:1px solid #e4e7eb;border-radius:13px;background:#fafbfc}
.calc-extra-row .field{min-width:0}
.calc-extra-row .btn{min-height:45px}
.calc-feature{padding:23px;background:linear-gradient(145deg,#2d3239,#1d2126);color:#fff;border-radius:16px;margin:0 0 15px}
.calc-feature-label{display:block;font-size:10px;line-height:1.65;font-weight:800;letter-spacing:.11em;color:#c3cbd5}
.calc-feature strong{display:block;font:800 clamp(27px,3vw,36px)/1.22 Manrope,Arial,sans-serif;margin:10px 0 9px;letter-spacing:-.05em}
.calc-feature small{font-size:11px;color:#cfd5dc;line-height:1.6;display:block}
.calc-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:13px}
.calc-mini{padding:15px;border:1px solid #e7ebee;border-radius:13px;background:#f9fafb;min-width:0}
.calc-mini span{color:#727b88;display:block;font-size:11px;line-height:1.5;margin-bottom:8px}
.calc-mini strong{font:800 clamp(17px,1.8vw,23px)/1.3 Manrope,Arial;letter-spacing:-.035em;overflow-wrap:anywhere}
.calc-breakdown{margin:17px 0}
.calc-breakdown td:last-child{font-weight:800}
.calc-average{display:grid;gap:5px;padding:14px 16px;margin:12px 0;background:#f3f5f7;border:1px solid #e7eaee;border-radius:13px}
.calc-average span{font-size:12px;color:#606a78}
.calc-average strong{font:800 17px Manrope,Arial}
.calc-average small{color:#818a96;font-size:11px;line-height:1.5}
#mc-results .notice{margin-top:12px;margin-bottom:10px}
#mc-results>.float-help{margin-top:17px}
@media(min-width:1060px) and (max-width:1280px){.calc-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1059px){.dashboard-hero-actions{min-width:160px}}
@media(max-width:680px){
 .dashboard-hero-actions{width:100%;margin-top:15px;gap:8px}
 .dashboard-hero-actions .btn{margin:0}
 .calc-layout{grid-template-columns:1fr}
 .calc-extra-row{grid-template-columns:minmax(0,1fr) minmax(0,100px)}
 .calc-extra-row .btn{grid-column:1/-1;min-height:37px}
 .calc-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .calc-mini{padding:11px}
}
@media(max-width:360px){.calc-result-grid{grid-template-columns:1fr}}
@media print{.calc-layout,.dashboard-hero-actions{display:none}}

/* Documentos contratuais — versão corporativa e personalização do prestador. */
[hidden]{display:none!important}
.contract-editor-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:5px;margin:15px 0 22px;border-radius:13px;background:#f3f4f6;border:1px solid #e5e7eb}
.contract-editor-tabs .btn{border:0;box-shadow:none;flex:1;min-width:130px;background:transparent;color:#555e69}
.contract-editor-tabs .btn[aria-selected="true"]{background:#24282e;color:#fff}
.contract-editor-tabs .btn[aria-selected="true"]:hover{background:#353a41}
#ct-panel-fields .form{gap:14px}
.brand-panel{display:grid;gap:19px}
.brand-panel>.checkline{font-size:13px;color:#24282e;font-weight:700}
.brand-file-card{border:1px solid #e4e7ea;border-radius:15px;padding:17px;background:#fbfbfc;display:grid;gap:9px}
.brand-file-card>strong{font-size:13px}
.brand-file-card p{margin:0}
.brand-file-preview{min-height:115px;display:flex;align-items:center;justify-content:center;border:1px dashed #c8cfd7;border-radius:11px;background:#fff;overflow:hidden;padding:10px}
.brand-file-preview img{max-width:100%;max-height:138px;object-fit:contain}
.brand-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.brand-file-card .btns{margin-top:5px}
.brand-file-card .btn{min-height:38px}
.contract-preview{background:#f1f3f5;padding:19px;border:1px solid #dbe0e5;max-height:720px}
.contract-preview .contract-document{box-shadow:0 7px 30px rgba(14,20,28,.09);border:1px solid #eaedf0}
.modern-contract{background:#fff;color:#242930;max-width:820px;min-height:480px;padding:31px 35px 30px;margin:0 auto;font:12px/1.78 Arial,Helvetica,sans-serif}
.modern-contract .contract-top-rule{height:5px;background:#252b32;margin:-31px -35px 25px}
.modern-contract .contract-brand-media{display:grid;gap:12px;margin-bottom:14px}
.modern-contract .contract-letterhead{max-width:100%;max-height:140px;width:100%;object-fit:contain;object-position:center;display:block}
.modern-contract .contract-brand-logo img{max-width:220px;max-height:85px;object-fit:contain}
.modern-contract .contract-header{padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #d8dde2}
.modern-contract .contract-header-line{display:flex;gap:15px;align-items:center;justify-content:space-between}
.modern-contract .docbrand{font:800 17px/1.4 Manrope,Arial,sans-serif;letter-spacing:-.035em;color:#222932}
.modern-contract .contract-edition{font:700 9px/1.4 Arial;letter-spacing:.12em;color:#7b8590;text-align:right}
.modern-contract .eyebrow{font-size:9px;letter-spacing:.14em;font-weight:700;color:#77828e;margin:17px 0 9px}
.modern-contract h1{font:800 23px/1.26 Manrope,Arial,sans-serif;letter-spacing:-.04em;color:#151a20;margin:0 0 15px}
.modern-contract .contract-meta{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;font:11px Arial;color:#717984}
.modern-contract .contract-intro{background:#f4f6f8;border-left:3px solid #3c454d;border-radius:4px;padding:12px 15px;margin-bottom:18px;font-size:12px}
.modern-contract h2{font:800 12px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.07em;color:#27313b;border-bottom:1px solid #e3e6e9;padding-bottom:7px;margin:25px 0 12px}
.modern-contract h3{font:bold 12px/1.5 Arial;color:#252e37;letter-spacing:0;margin:0 0 5px}
.modern-contract p{margin:0 0 11px;line-height:1.77;overflow-wrap:anywhere}
.modern-contract .contract-clause{border-left:2px solid #e6e9ec;padding-left:14px;margin:16px 0;break-inside:avoid-page;page-break-inside:avoid}
.modern-contract .contract-financial{margin:24px 0;padding:12px 16px 14px;background:#fafbfc;border:1px solid #e5e9ec;border-radius:7px;break-inside:avoid-page}
.modern-contract .contract-financial h2{margin-top:8px}
.modern-contract .contract-pricing td{padding:7px 6px;font-size:11px}
.modern-contract .contract-pricing .contract-total td{border-top:2px solid #232b33;border-bottom:0;padding-top:12px;font-size:12px}
.modern-contract .contract-signatures{break-inside:avoid-page;margin-top:45px;padding:20px 0 18px}
.modern-contract .signature-grid{gap:42px;margin-top:70px}
.modern-contract .signature-line{border-color:#6b737b}
.modern-contract .contract-brand-footer{margin-top:32px;border-top:1px solid #e0e5e9;padding-top:13px;text-align:center;font:10px/1.7 Arial;color:#5c6671}
.modern-contract .contract-brand-footer img{display:block;width:100%;max-height:95px;object-fit:contain;margin:0 auto 10px}
.modern-contract .contract-brand-footer>div{white-space:pre-wrap}
@media(max-width:650px){
 .contract-preview{padding:9px}
 .modern-contract{padding:20px 19px;font-size:11px}
 .modern-contract .contract-top-rule{margin:-20px -19px 20px}
 .modern-contract .contract-header-line{align-items:flex-start}
 .modern-contract h1{font-size:19px}
 .modern-contract .docbrand{font-size:14px}
 .modern-contract .signature-grid{gap:18px}
 .contract-editor-tabs .btn{min-width:120px;padding:10px 8px}
}
@media print{
 .print-only{display:block!important}
 .print-only .modern-contract{padding:0!important;border:0!important;box-shadow:none!important;max-width:none!important;margin:0!important;min-height:0!important;color:#1c2229!important;font-size:10.8px!important}
 .print-only .modern-contract .contract-top-rule{margin:0 0 20px!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .print-only .modern-contract .contract-header{margin-bottom:16px}
 .print-only .modern-contract .contract-clause{break-inside:avoid-page}
 .print-only .modern-contract .contract-brand-footer,.print-only .modern-contract .contract-signatures{break-inside:avoid-page}
 .print-only .modern-contract .contract-intro,.print-only .modern-contract .contract-financial{print-color-adjust:exact;-webkit-print-color-adjust:exact}
 @page{size:A4;margin:16mm}
}

/* Resumo da visão geral também é navegação */
.dashboard-metrics .metric-link{display:block;text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;transition:transform .16s,box-shadow .16s,border-color .16s}
.dashboard-metrics .metric-link:hover{transform:translateY(-2px);border-color:#b4bac3;box-shadow:0 10px 30px rgba(23,29,40,.09)}
.dashboard-metrics .metric-link:focus-visible{outline:3px solid #747e8d;outline-offset:3px}
