:root{--ink:#17251f;--muted:#6f7e76;--line:#dfe6e1;--paper:#f5f7f4;--surface:#fff;--primary:#176b4d;--primary-dark:#0e4b36;--mint:#dff2e8;--lime:#cce96b;--amber:#d88a22;--amber-bg:#fff1d9;--red:#bd4a43;--red-bg:#fde8e5;--shadow:0 20px 55px rgba(23,37,31,.09);--radius:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper)}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}.muted{color:var(--muted)}.eyebrow{margin:0 0 7px;color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow.alert{color:var(--red)}.button{border:0;border-radius:11px;padding:11px 17px;font-weight:750;transition:.2s transform,.2s background}.button:hover{transform:translateY(-1px)}.button.primary{color:#fff;background:var(--primary);box-shadow:0 8px 18px rgba(23,107,77,.18)}.button.primary:hover{background:var(--primary-dark)}.button.ghost{border:1px solid var(--line);background:#fff}.button.danger{color:var(--red);background:var(--red-bg)}.text-button{border:0;background:transparent;color:var(--primary);font-weight:750;padding:7px}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:1.2rem}.brand-mark{display:flex;align-items:end;gap:5px;height:42px}.brand-mark span{display:block;width:10px;border-radius:8px;background:var(--primary)}.brand-mark span:nth-child(1){height:22px}.brand-mark span:nth-child(2){height:40px;background:var(--lime)}.brand-mark span:nth-child(3){height:31px}.brand-mark.small{height:32px;gap:4px}.brand-mark.small span{width:8px}.brand-mark.small span:nth-child(1){height:17px}.brand-mark.small span:nth-child(2){height:31px}.brand-mark.small span:nth-child(3){height:24px}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#e0f2e6 0,transparent 30%),radial-gradient(circle at 90% 80%,#eff5c8 0,transparent 28%),var(--paper)}.login-card{width:min(430px,100%);padding:42px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.8);border-radius:28px;box-shadow:var(--shadow)}.login-card h1{margin:8px 0;font-size:2.2rem;letter-spacing:-.04em}.stack-form{display:grid;gap:17px;margin-top:28px}label{display:grid;gap:7px;color:#47564e;font-size:.82rem;font-weight:750}input,select,textarea{width:100%;border:1px solid #d4ddd7;border-radius:10px;background:#fff;padding:11px 12px;outline:none;transition:.2s border,.2s box-shadow}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(23,107,77,.1)}textarea{resize:vertical}.form-error{min-height:1.1rem;margin:0;color:var(--red);font-size:.82rem}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:5;display:flex;flex-direction:column;width:236px;padding:27px 18px;background:var(--ink);color:#fff}.brand{display:flex;align-items:center;gap:12px;margin:0 11px 38px;color:#fff;text-decoration:none}.brand strong,.brand small{display:block}.brand strong{font-size:1.17rem}.brand small{color:#a9b6af;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.sidebar nav{display:grid;gap:6px}.sidebar nav a,.sidebar-foot a,.sidebar-foot button{display:flex;align-items:center;gap:12px;width:100%;border-radius:11px;padding:12px;color:#b8c5be;text-decoration:none;font-size:.9rem;font-weight:650}.sidebar nav a span,.sidebar-foot span{width:21px;text-align:center;font-size:1.1rem}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:rgba(255,255,255,.1)}.sidebar-foot{display:grid;gap:3px;margin-top:auto}.sidebar-foot button{border:0;background:transparent}.app-shell main{margin-left:236px;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:106px;padding:25px 38px;border-bottom:1px solid var(--line);background:rgba(245,247,244,.9);backdrop-filter:blur(12px)}.topbar h1{margin:0;font-size:1.65rem;letter-spacing:-.035em}.top-actions{display:flex;align-items:center;gap:14px}.date-chip{color:var(--muted);font-size:.85rem}.view{display:none;padding:30px 38px 55px}.active-view{display:block}.hero-panel{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;min-height:200px;padding:36px 42px;border-radius:24px;background:var(--primary-dark);color:#fff}.hero-panel:after{content:"";position:absolute;right:-50px;bottom:-110px;width:310px;height:310px;border:58px solid rgba(204,233,107,.18);border-radius:50%}.hero-panel>div{position:relative;z-index:1}.hero-panel .eyebrow{color:var(--lime)}.hero-panel h2{max-width:620px;margin:0 0 12px;font-size:2rem;line-height:1.08;letter-spacing:-.045em}.hero-panel p:last-child{max-width:650px;margin:0;color:#c5d4cc}.adherence{min-width:170px;text-align:right}.adherence span,.adherence small{display:block;color:#c5d4cc}.adherence strong{display:block;margin:5px 0;font-size:3.2rem;letter-spacing:-.07em;color:var(--lime)}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:19px 0}.metric{position:relative;overflow:hidden;padding:23px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.metric:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--primary)}.metric.alert:before{background:var(--red)}.metric span,.metric small{display:block;color:var(--muted);font-size:.77rem}.metric strong{display:block;margin:6px 0;font-size:2rem;letter-spacing:-.05em}.content-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.panel{padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.panel.span-2{grid-column:auto}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.panel h2{margin:0;font-size:1.2rem;letter-spacing:-.025em}.portfolio-list{display:grid;gap:16px}.portfolio-row{display:grid;grid-template-columns:minmax(150px,1fr) 2.2fr 70px;align-items:center;gap:18px}.portfolio-row strong{font-size:.9rem}.portfolio-row small{display:block;margin-top:4px;color:var(--muted)}.progress-track{height:9px;overflow:hidden;border-radius:99px;background:#edf1ee}.progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#54a477)}.portfolio-row>span{text-align:right;font-weight:800}.attention-list{display:grid;gap:10px}.attention-item{display:grid;grid-template-columns:10px 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fbfcfb;cursor:pointer}.health-dot{width:9px;height:9px;border-radius:50%;background:var(--primary)}.health-dot.amarelo{background:var(--amber)}.health-dot.vermelho{background:var(--red)}.attention-item strong,.attention-item small{display:block}.attention-item strong{font-size:.84rem}.attention-item small{margin-top:3px;color:var(--muted);font-size:.72rem}.gap{font-size:.77rem;font-weight:800;color:var(--red)}.timeline{display:grid;gap:18px}.timeline-item{position:relative;padding-left:24px}.timeline-item:before{content:"";position:absolute;left:1px;top:5px;width:8px;height:8px;border:3px solid var(--mint);border-radius:50%;background:var(--primary)}.timeline-item:after{content:"";position:absolute;left:6px;top:19px;bottom:-20px;width:1px;background:var(--line)}.timeline-item:last-child:after{display:none}.timeline-item header{display:flex;justify-content:space-between;gap:12px}.timeline-item strong{font-size:.87rem}.timeline-item time{color:var(--muted);font-size:.72rem}.timeline-item p{margin:5px 0 0;color:#54635b;font-size:.81rem;line-height:1.45}
.filterbar{display:grid;grid-template-columns:1fr 190px 210px;gap:12px;margin-bottom:17px}.search{position:relative}.search span{position:absolute;left:13px;top:10px;color:var(--muted);font-size:1.1rem}.search input{padding-left:38px}.table-panel{padding:0;overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}th{color:var(--muted);background:#fafbfa;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}td{font-size:.84rem}tr:last-child td{border-bottom:0}tbody tr{cursor:pointer}tbody tr:hover{background:#f9fbf9}.project-name strong,.project-name small{display:block}.project-name small{margin-top:3px;color:var(--muted)}.status-pill,.health-pill{display:inline-flex;align-items:center;border-radius:99px;padding:5px 9px;background:#edf3ef;font-size:.7rem;font-weight:800}.health-pill.amarelo{color:#9a5d10;background:var(--amber-bg)}.health-pill.vermelho{color:var(--red);background:var(--red-bg)}.table-progress{display:flex;align-items:center;gap:8px}.table-progress .progress-track{width:80px}.empty{padding:50px;text-align:center;color:var(--muted)}
dialog{width:min(760px,calc(100% - 30px));padding:0;border:0;border-radius:22px;background:transparent;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(12,25,19,.58);backdrop-filter:blur(4px)}.dialog-card{margin:0;padding:27px;background:#fff}.dialog-card>header,.dialog-card>footer{display:flex;align-items:center;justify-content:space-between;gap:14px}.dialog-card h2{margin:0;font-size:1.4rem}.dialog-card>footer{margin-top:23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.span-2{grid-column:span 2}.detail-card{max-height:88vh;overflow:auto}.detail-card>footer>div{display:flex;gap:9px}.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.detail-stat{padding:16px;border-radius:13px;background:var(--paper)}.detail-stat span,.detail-stat strong{display:block}.detail-stat span{color:var(--muted);font-size:.72rem}.detail-stat strong{margin-top:5px}.detail-section{margin-top:22px}.detail-section h3{font-size:.83rem;text-transform:uppercase;letter-spacing:.08em}.item-list{display:grid;gap:8px}.item-card{padding:12px;border:1px solid var(--line);border-radius:10px;font-size:.8rem}.item-card small{display:block;margin-top:4px;color:var(--muted)}.toast{position:fixed;right:25px;bottom:25px;z-index:20;max-width:360px;padding:13px 17px;border-radius:11px;background:var(--ink);color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translateY(0)}.mobile-only{display:none}
@media(max-width:1050px){.metrics-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}.panel.span-2{grid-column:auto}.date-chip{display:none}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.25s transform}.sidebar.open{transform:translateX(0)}.app-shell main{margin-left:0}.mobile-only{display:inline-grid;place-items:center}.topbar{padding:18px;min-height:86px}.topbar>div:first-of-type{flex:1;margin-left:12px}.top-actions .button{padding:10px;font-size:0}.top-actions .button:first-letter{font-size:1rem}.view{padding:20px 15px 45px}.hero-panel{display:block;padding:28px}.hero-panel h2{font-size:1.65rem}.adherence{margin-top:28px;text-align:left}.adherence strong{font-size:2.7rem}.metrics-grid{gap:10px}.metric{padding:18px}.content-grid{display:block}.panel{margin-bottom:14px;padding:20px}.portfolio-row{grid-template-columns:1fr 60px}.portfolio-row .progress-track{grid-column:span 2;grid-row:2}.filterbar{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.login-card{padding:30px 24px}.dialog-card{padding:22px 18px}.detail-hero{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.metrics-grid{grid-template-columns:1fr 1fr}.metric strong{font-size:1.65rem}.topbar h1{font-size:1.3rem}.topbar .eyebrow{display:none}.detail-card>footer{align-items:stretch;flex-direction:column-reverse}.detail-card>footer>div{display:grid;grid-template-columns:1fr 1fr}}
