:root{
  --bg:#f4f6f5;--card:#fff;--text:#17201c;--muted:#68736d;--line:#e3e8e5;
  --brand:#10271e;--brand-2:#1d4434;--accent:#cfe7d7;--accent-strong:#83b896;
  --danger:#a73737;--warning:#a46a18;--shadow:0 12px 36px rgba(18,38,29,.06)
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.shell{max-width:1180px;margin:auto;padding:28px 22px 60px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:30px}.topbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.logo{font-weight:850;letter-spacing:.09em;color:var(--brand);font-size:14px}.brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:850;margin-bottom:14px}
.nav{display:flex;gap:6px;padding:5px;background:#e9eeeb;border-radius:14px}.nav a{padding:9px 12px;border-radius:10px;font-size:14px;font-weight:700}.nav a:hover{background:white}
.card{background:var(--card);border:1px solid var(--line);border-radius:19px;padding:21px;box-shadow:var(--shadow)}.card.compact{padding:16px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{display:grid;gap:13px}.muted{color:var(--muted)}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}.metric{font-size:32px;font-weight:820;letter-spacing:-.04em;margin:5px 0 2px}.badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#e8f4ec;color:#235f3b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.badge.neutral{background:#eef1f0;color:#59635e}.badge.warn{background:#fff1dc;color:#86520d}.badge.danger{background:#fae8e8;color:#8d3030}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:11px 15px;background:var(--brand);color:#fff;font-weight:760;cursor:pointer}.btn:hover{background:var(--brand-2)}.btn.secondary{background:#edf1ef;color:var(--text)}.btn.ghost{background:transparent;color:var(--brand);border:1px solid var(--line)}.btn.small{padding:8px 11px;font-size:13px}
input,textarea,select{width:100%;border:1px solid #d9dfdc;border-radius:12px;padding:12px 13px;background:white;color:var(--text);outline:none}input:focus,textarea:focus,select:focus{border-color:#8eb39c;box-shadow:0 0 0 3px rgba(131,184,150,.14)}label{display:grid;gap:7px;font-size:13px;font-weight:720}form{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.span-2{grid-column:1/-1}
.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%)}.login-card h1{margin-top:26px}.contract,.row{display:flex;justify-content:space-between;gap:20px;align-items:center}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:30px 0 14px}.section-head h2{margin-bottom:0}.section-head p{margin:4px 0 0}
h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em}h2{letter-spacing:-.025em}.alert{border-radius:12px;padding:12px 14px;margin-bottom:14px;background:#e9f6ed;color:#245e3a}.alert.danger{background:#fae9e9;color:#8b3131}.alert.warning{background:#fff3df;color:#845613}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:white}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f8faf9}.table tr:last-child td{border-bottom:0}
.timeline{position:relative;display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:22px 1fr;gap:12px;padding-bottom:20px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{width:12px;height:12px;border-radius:999px;background:var(--brand);margin-top:4px;position:relative}.timeline-item:not(:last-child) .timeline-dot:after{content:"";position:absolute;left:5px;top:13px;width:2px;height:calc(100% + 13px);background:#dfe5e2}.timeline-title{font-weight:760}.timeline-meta{color:var(--muted);font-size:13px;margin-top:3px}.file-list{display:grid;gap:8px}.file{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{padding:30px;text-align:center;color:var(--muted)}
.searchbar{display:flex;gap:10px}.searchbar input{max-width:420px}.kicker{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.divider{height:1px;background:var(--line);margin:18px 0}
@media(max-width:800px){.grid,.grid.two,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.contract,.row,.section-head{align-items:flex-start;flex-direction:column}.topbar{align-items:flex-start}.nav{display:none}.shell{padding:20px 15px 50px}.row-actions{width:100%}.row-actions .btn{flex:1}.searchbar{flex-direction:column}}


.nav-notification{display:inline-flex!important;align-items:center;gap:6px}
.notification-count{display:inline-flex;min-width:20px;height:20px;padding:0 6px;align-items:center;justify-content:center;border-radius:999px;background:#c52828;color:#fff;font-size:11px;font-weight:800;line-height:1}
.notification-card{display:flex;align-items:center;justify-content:space-between;gap:18px;transition:.18s ease}
.notification-card:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(15,25,20,.07)}
.notification-card.unread{border-left:4px solid var(--brand)}
.notification-arrow{font-size:24px;color:var(--muted)}
@media(max-width:760px){.topbar{align-items:flex-start}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.nav{flex-wrap:wrap}.notification-card{align-items:flex-start}}


/* V1.4 — relacionamento da carteira */
.shell-wide{max-width:1560px}
.dashboard-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.attention-card{border-color:#efc9c9;background:#fffafa}
.action-card{display:flex;align-items:center;justify-content:space-between;gap:16px}
.action-card.overdue{border-left:4px solid #b83d3d}
.pipeline-board{display:flex;gap:14px;overflow-x:auto;align-items:flex-start;padding:4px 2px 22px;scrollbar-width:thin}
.pipeline-column{flex:0 0 305px;background:#edf1ef;border:1px solid #dfe5e2;border-radius:18px;padding:12px;min-height:360px}
.pipeline-column-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:5px 5px 12px}
.pipeline-subtitle{font-size:12px;margin-top:3px}
.pipeline-count{min-width:28px;height:28px;border-radius:999px;background:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;border:1px solid var(--line)}
.pipeline-list{display:grid;gap:10px}
.pipeline-card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 6px 18px rgba(18,38,29,.04);overflow:hidden}
.pipeline-card.has-overdue{border-color:#e2adad}
.pipeline-card-main{display:block;padding:15px}
.pipeline-card h3{font-size:16px;margin:10px 0 8px}
.pipeline-products{display:flex;gap:5px;flex-wrap:wrap;font-size:12px}
.pipeline-products span{background:#f2f5f3;border-radius:999px;padding:5px 7px}
.pipeline-action{margin-top:12px;padding:10px;border-radius:11px;background:#f1f5f2;display:grid;gap:2px;font-size:12px}
.pipeline-action.overdue{background:#fff0f0;color:#853333}
.pipeline-action small{opacity:.8}
.pipeline-meta{display:grid;gap:3px;margin-top:12px;font-size:11px;color:var(--muted)}
.pipeline-move{display:grid;grid-template-columns:1fr auto;gap:7px;border-top:1px solid var(--line);padding:9px}
.pipeline-move select{padding:8px 9px;font-size:12px}
.pipeline-empty{padding:28px 12px;text-align:center;color:var(--muted);font-size:13px;border:1px dashed #cfd7d3;border-radius:13px}
.stage-renewal_due{background:#f7f1e7}
.stage-renewal_in_progress{background:#f3eee3}
.stage-claim_in_progress{background:#f6ecec}
.stage-awaiting_documents{background:#f8f0e3}
.stage-post_service{background:#edf2f8}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.dashboard-grid{grid-template-columns:1fr 1fr}.pipeline-column{flex-basis:285px}}
@media(max-width:520px){.dashboard-grid{grid-template-columns:1fr}}

