/* DESIGN LOCK v1 — aprovado em 21/09/2026. Não alterar sem autorização do cliente. */
:root{--navy:#0B2D4A;--navy2:#112E4B;--teal:#14B8A6;--ink:#142b4a;--muted:#627693;--border:#dfe8f3;--paper:#fff;--base:#f7faff;--sky:#eaf3ff;--blue:#2577db;--red:#e53e47;--shadow:0 7px 24px rgba(24,57,100,.045);--r:13px;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--base)}
*{box-sizing:border-box}body{margin:0;min-width:320px;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--teal);outline-offset:2px}svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;flex:none}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.shell{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;align-self:flex-start;height:100vh;flex:0 0 265px;width:265px;background:linear-gradient(160deg,#112e4a 0%,#0a2b48 100%);color:#fff;padding:25px 15px;overflow:hidden;z-index:15}.brand{display:flex;align-items:center;gap:9px;padding:1px 19px 40px;white-space:nowrap}.brand-mark{width:56px;height:56px;object-fit:contain;flex:none}.brand-word{display:flex;flex-direction:column;gap:5px}.brand-word strong{font-size:21px;letter-spacing:-.9px;font-weight:400}.brand-word b{font-weight:800}.brand-word small{font-size:7px;letter-spacing:3.3px;font-weight:700}.menu{display:flex;flex-direction:column;gap:8px}.nav-link{border:0;background:transparent;border-radius:10px;padding:14px 16px;width:100%;display:flex;align-items:center;gap:22px;color:#f1f6ff;text-align:left;font-size:15px;font-weight:500;min-height:54px;transition:background .15s}.nav-link svg{width:27px;height:27px}.nav-link:hover,.nav-link.active{background:#255e87}.nav-link.active{font-weight:700}.sidebar-footer{position:absolute;bottom:0;left:31px;width:calc(100% - 31px);height:282px}.footer-line{height:2px;width:39px;background:#21a4ad;opacity:.85}.footer-line.short{width:40px;background:#10bda7}.sidebar-footer p{font-size:12px;line-height:1.75;letter-spacing:4px;margin:25px 0 21px}.footer-molecule{position:absolute;width:236px;height:236px;bottom:-96px;left:34px;opacity:.87;stroke:none}.workspace{width:calc(100% - 265px);min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid #e4eaf3;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 31px;position:sticky;top:0;z-index:10}.search-wrap{height:41px;width:min(432px,100%);background:#f0f4fa;border-radius:24px;display:flex;align-items:center;gap:12px;padding:0 17px;color:#537399}.search-wrap input{width:100%;border:0;background:transparent;color:var(--ink);outline:0;font-size:14px}.search-wrap input::placeholder{color:#8190aa}.top-actions{display:flex;align-items:center;gap:25px}.icon-button{border:0;background:transparent;color:var(--navy);padding:9px;position:relative}.icon-button svg{width:27px;height:27px}.notice-dot{width:11px;height:11px;border-radius:50%;background:var(--teal);border:1px solid #fff;position:absolute;right:7px;top:5px}.profile{display:flex;align-items:center;gap:10px;text-align:left;background:none;border:none;color:var(--navy);padding:0}.avatar{width:45px;height:45px;border-radius:50%;background:var(--navy);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:12px;flex:none}.profile-label{display:flex;flex-direction:column;gap:4px;max-width:160px}.profile-label b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-label small{font-size:11px;color:#8795ae}.profile svg{width:17px}.mobile-menu{display:none}.main{padding:20px 24px 32px;max-width:1660px;margin:auto}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(325px,37%);gap:16px;align-items:start;margin-bottom:17px}.hero-text{min-width:0;padding:8px 10px 0}.hero h1{font-size:38px;line-height:1.18;letter-spacing:-1.4px;font-weight:800;margin:2px 0 4px}.hero p{margin:0;font-size:18px;color:#71819e;line-height:1.5}.slogan-card{position:relative;background:#fff;border:1px solid var(--border);border-radius:var(--r);height:157px;overflow:hidden;padding:23px 31px;display:flex;justify-content:space-between}.slogan-card h2{font-size:26px;letter-spacing:-.5px;line-height:1.22;margin:0 0 6px}.slogan-card p{font-size:14px;line-height:1.42;color:#657996}.molecule-art{position:absolute;right:0;top:0;height:100%;width:51%;opacity:.93}.molecule-art svg{width:100%;height:100%;stroke-width:2}.slogan-card .round-next{position:absolute;right:14px;bottom:16px;background:#e2f5f3;color:var(--navy);border:1px solid #fff;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.slogan-card .round-next svg{width:18px}.columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(315px,30%);gap:16px}.left-stack,.right-stack{min-width:0}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:16px}.metric{min-height:141px;background:#fff;border:1px solid var(--border);border-radius:10px;padding:22px 16px 13px;box-shadow:var(--shadow)}.metric-heading{display:flex;align-items:center;gap:15px}.metric-heading .micon{color:#167cdb}.metric-heading .micon.teal{color:var(--teal)}.metric-heading .micon svg{width:35px;height:35px}.metric-heading .num{font-size:24px;line-height:1;font-weight:800;letter-spacing:-.8px}.metric-heading .mlabel{color:#596b87;margin-top:5px;font-size:12px;line-height:1.35}.metric-foot{margin-top:20px;color:#8290a9;font-size:11px}.metric-foot .up{color:#09af91;font-weight:700;font-size:13px;display:block;margin-bottom:2px}.panel{background:#fff;border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);padding:20px 19px 21px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h2{font-size:20px;letter-spacing:-.55px;line-height:1.2;margin:0;font-weight:800}.panel-head .small-link{background:none;border:0;color:#0871d0;font-size:12px;white-space:nowrap}.primary{border:0;background:var(--navy);color:#fff;border-radius:22px;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:12px;white-space:nowrap;min-height:37px}.primary svg{width:16px;height:16px}.primary:hover{background:#19577c}.secondary{border:1px solid var(--border);border-radius:9px;background:#fff;padding:9px 13px;color:var(--ink);display:inline-flex;align-items:center;gap:7px;font-weight:600}.secondary svg{width:16px;height:16px}.danger{background:#fff1f1;border:1px solid #ffd3d3;color:#bb253b;border-radius:8px;padding:9px 12px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 18px}.tab{border:0;background:#f1f5fb;border-radius:8px;padding:8px 15px;color:#647595;white-space:nowrap;font-size:12px}.tab.active{background:#e0f0ff;color:#006ac7}.project-table{width:100%;border-collapse:collapse;table-layout:fixed}.project-table thead{background:#f3f7fc}.project-table th{height:36px;font-size:10px;letter-spacing:.75px;color:#657795;text-align:left;font-weight:700}.project-table th:first-child{border-radius:7px 0 0 7px}.project-table th:last-child{border-radius:0 7px 7px 0}.project-table td{border-bottom:1px solid #e5ebf4;height:61px;font-size:11px;color:#617591;vertical-align:middle}.project-table th,.project-table td{padding:6px 5px}.project-table th:first-child,.project-table td:first-child{padding-left:7px}.project-table tbody tr:hover{background:#fbfdff}.project-cell{display:flex;align-items:center;gap:11px;min-width:0}.project-symbol{width:35px;height:36px;background:#f4f7fc;border-radius:9px;color:var(--navy);display:flex;align-items:center;justify-content:center;flex:none}.project-symbol svg{width:21px}.project-cell strong{display:block;color:var(--ink);font-size:12px;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-cell small{display:block;color:#7d8ba2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.click-project{border:0;background:none;text-align:left;padding:0;max-width:100%;cursor:pointer}.mini-person{display:flex;align-items:center;gap:7px;min-width:0}.mini-avatar{width:29px;height:29px;background:var(--navy);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:10px;flex:none}.mini-person span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.progress{display:flex;align-items:center;gap:7px;color:#2e496b;font-weight:700}.progress-track{height:9px;width:min(95px,100%);min-width:35px;background:#e3e9f1;border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#0cae94,#13bc9e);border-radius:10px}.pill{font-size:10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 11px;border-radius:20px;white-space:nowrap}.pill:before{content:"";width:8px;height:8px;background:currentColor;border-radius:50%}.pill.em_andamento,.pill.concluido{color:#078d78;background:#ddf9f2}.pill.planejamento{color:#127bd6;background:#e2f2ff}.pill.atrasado{color:#e03d45;background:#ffeaee}.dots{background:none;border:0;color:#173f65;font-size:22px;padding:0 5px}.panel-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#607590;font-size:12px;padding-top:17px}.pager{display:flex;align-items:center;gap:5px}.page-btn{min-width:28px;height:30px;background:transparent;border:0;color:#2b5a86;border-radius:7px}.page-btn.active{background:#e2f1ff;color:#0671d4}.right-stack{display:flex;flex-direction:column;gap:16px}.right-stack .panel{padding:17px 16px}.right-stack .panel-head h2{font-size:17px}.delivery-list,.activity-list{display:flex;flex-direction:column;gap:5px;margin-top:12px}.delivery{display:flex;align-items:center;gap:12px;border:1px solid #e5ebf5;border-radius:11px;min-height:61px;padding:5px 8px 5px 3px}.date-box{border-radius:8px;background:#f2f6fc;width:50px;min-height:50px;display:flex;align-items:center;justify-content:center;flex-direction:column;flex:none}.date-box b{font-size:16px}.date-box small{font-size:10px;color:#627591}.delivery-body,.activity-body{min-width:0;flex:1}.delivery-body strong,.activity-body strong{font-size:12px;color:var(--ink);font-weight:700;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delivery-body small,.activity-body small{font-size:11px;color:#657b97;display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{width:9px;height:9px;border-radius:50%;background:var(--blue);flex:none;margin-right:3px}.dot.teal{background:var(--teal)}.dot.red{background:var(--red)}.activity{border:1px solid #e5ebf5;border-radius:11px;min-height:68px;display:flex;align-items:center;gap:10px;padding:7px 5px}.activity .mini-avatar{background:#e2eaf4;color:#365374;width:37px;height:37px;font-weight:700}.activity-body strong{white-space:normal;line-height:1.35;font-size:11px;font-weight:500}.activity-body small{margin-top:4px}.muted{color:var(--muted)}.empty{padding:42px 15px;text-align:center;color:#7890a9}.empty svg{width:36px;height:36px;color:#9ab3c7}.empty h3{color:var(--ink);font-size:15px;margin:12px 0 5px}.empty p{margin:0 0 12px;line-height:1.55}.section-intro{margin:9px 0 18px;color:#6b7e9a;font-size:14px}.simple-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:13px 0 21px}.simple-head h1{margin:0;font-size:29px;letter-spacing:-.6px}.simple-head p{margin:5px 0 0;color:#73849d}.list-stack{display:flex;flex-direction:column;gap:10px}.line-item{border:1px solid var(--border);border-radius:11px;background:#fff;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:14px}.line-item h3{font-size:14px;margin:0 0 4px}.line-item p{font-size:12px;color:#798aa2;margin:0}.line-item aside{display:flex;align-items:center;gap:10px}.line-item input[type=checkbox]{accent-color:var(--teal);width:19px;height:19px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.report-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:20px 0}.report-tiles .metric{min-height:90px}.panel table{width:100%}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.fields label{font-size:12px;font-weight:600;color:#39516f;display:flex;flex-direction:column;gap:7px}.fields label.full{grid-column:1/-1}.fields input,.fields select,.fields textarea{width:100%;border:1px solid #dce5f1;border-radius:8px;padding:11px 12px;background:#fff;color:var(--ink);font-weight:400;min-height:41px}.fields textarea{min-height:75px;resize:vertical}.modal-cover{position:fixed;inset:0;background:rgba(8,30,54,.58);z-index:40;display:flex;align-items:center;justify-content:center;padding:15px}.modal{width:min(610px,100%);max-height:94vh;overflow-y:auto;background:#fff;border-radius:16px;padding:24px;box-shadow:0 25px 100px #071b3580}.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.modal-top h2{margin:0;font-size:21px}.close-btn{border:0;background:#f0f4fa;border-radius:50%;width:32px;height:32px;font-size:23px;color:#42617e}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;flex-wrap:wrap}.form-actions .right{display:flex;gap:8px;margin-left:auto}.subsection{margin:23px 0 12px;padding-top:18px;border-top:1px solid var(--border)}.subsection h3{margin:0 0 9px}.task-inside{padding:8px 0;border-bottom:1px solid #edf1f6;display:flex;justify-content:space-between;gap:10px;align-items:center}.task-inside button{border:0;background:transparent;color:var(--blue)}.toast{position:fixed;right:22px;bottom:22px;padding:13px 18px;background:var(--navy);color:#fff;border-radius:10px;box-shadow:0 8px 28px #13325240;z-index:60;display:none;font-size:13px}.toast.visible{display:block}.tooltip-menu{position:fixed;z-index:33;min-width:170px;background:#fff;border:1px solid var(--border);box-shadow:0 7px 22px #12345725;border-radius:9px;padding:6px}.tooltip-menu button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:7px;color:var(--ink)}.tooltip-menu button:hover{background:#f0f6fd}.hint{font-size:11px;color:#8393ac}.mobile-overlay{display:none}.login-page{display:grid;place-items:center;min-height:100vh;background:linear-gradient(135deg,#0b2d4a,#165c70)}.login-card{width:min(385px,calc(100vw - 30px));padding:38px;background:#fff;border-radius:17px;text-align:center;box-shadow:0 28px 80px #001a2d50}.login-card>img{background:#0b2d4a;border-radius:15px;padding:7px}.login-card h1{letter-spacing:2px;margin:13px 0 5px}.login-card p{color:#7b8ba0;margin:0 0 32px}.login-card form{text-align:left;display:flex;flex-direction:column;gap:11px}.login-card label{font-weight:600}.login-card input{border:1px solid #d8e2f0;padding:13px;border-radius:8px}.login-card .primary{margin-top:5px;border-radius:9px}.login-card small{color:#ba2534}
@media(max-width:1450px){.hero h1{font-size:34px}.hero p{font-size:16px}.metric-grid{gap:9px}.metric{padding:17px 10px 12px}.metric-heading{gap:8px}.metric-heading .micon svg{width:29px;height:29px}.metric-heading .num{font-size:22px}.project-table td{font-size:10px}.pill{padding:7px 8px}.main{padding:18px 18px 30px}}
@media(max-width:1180px){.columns{grid-template-columns:minmax(0,1fr)}.right-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.hero{grid-template-columns:1fr}.hero .slogan-card{display:none}.metric-grid{gap:12px}.metric{padding:18px}.sidebar{flex-basis:230px;width:230px}.workspace{width:calc(100% - 230px)}.sidebar-footer{opacity:.4}.topbar{padding:0 18px}}
@media(max-width:850px){.sidebar{position:fixed;left:-265px;width:265px;transition:left .2s}.sidebar.open{left:0}.workspace{width:100%}.mobile-menu{display:inline-flex}.mobile-overlay.show{display:block;position:fixed;inset:0;background:#102d4e88;z-index:14}.main{padding:17px 14px 26px}.hero-text{padding:2px}.hero h1{font-size:29px}.hero p{font-size:14px}.topbar{height:67px;gap:9px;padding:0 13px}.top-actions{gap:6px}.profile-label,.profile>span[data-icon]{display:none}.search-wrap{height:38px}.profile .avatar{width:34px;height:34px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.columns,.right-stack{grid-template-columns:1fr}.project-table{min-width:680px}.table-scroll{overflow-x:auto}.grid-2{grid-template-columns:1fr}.report-tiles{grid-template-columns:1fr 1fr}.fields{grid-template-columns:1fr}.panel{padding:15px 10px}.panel-head h2{font-size:17px}}

/* Alinhamento da faixa hero com os cards conforme referência visual aprovada. */
@media(min-width:1181px){.hero{height:97px;position:relative}.hero .slogan-card{position:absolute;top:0;right:0;width:37%}.right-stack{padding-top:60px}}

@media(min-width:1501px){.metric-grid{max-width:calc(100% - 85px)}}


/* DIMENSIONAMENTO v1.1 — correção autorizada: preservar cores, logo, tipografia e componentes.
   A sidebar nunca deve sobrepor o menu, mesmo em telas baixas ou com zoom. */
.sidebar{
  display:flex;
  flex-direction:column;
  overflow-x:hidden;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:#3b6887 transparent;
}
.brand{flex:0 0 auto;}
.menu{flex:0 0 auto;}
.sidebar-footer{
  position:relative;
  left:auto;
  bottom:auto;
  width:100%;
  height:260px;
  flex:0 0 260px;
  margin-top:auto;
  padding-left:16px;
}
.footer-molecule{pointer-events:none;}
/* A chamada institucional ocupa a mesma coluna das próximas entregas:
   não pode cobrir o quarto indicador em larguras intermediárias. */
@media(min-width:1181px){
  .hero .slogan-card{width:calc(30% - 1px);}
}
/* Mantém os sete links inteiros; em monitores baixos a lateral rola em vez
   de posicionar o slogan por cima de Equipe, Cronograma ou Configurações. */
@media(max-height:850px) and (min-width:851px){
  .sidebar-footer{height:165px;flex-basis:165px;}
  .sidebar-footer p{font-size:10px;line-height:1.5;letter-spacing:2.2px;margin:13px 0 11px;}
  .footer-molecule{width:145px;height:145px;bottom:-72px;left:65px;}
}
/* A transição para o layout reduzido já existente não deve espremer o logo
   ou perder a faixa da marca; nenhum elemento flutua sobre os cards. */
@media(max-width:1180px){
  .sidebar{flex-shrink:0;}
  .sidebar-footer{opacity:.8;}
}
@media(max-width:850px){
  .sidebar{left:-265px;flex-basis:265px;overflow-y:auto;}
  .sidebar.open{left:0;}
  .sidebar-footer{height:210px;flex-basis:210px;}
  .sidebar-footer p{font-size:11px;line-height:1.6;letter-spacing:2.7px;margin:16px 0 12px;}
  .footer-molecule{width:166px;height:166px;bottom:-78px;left:50px;}
}


/* DIMENSIONAMENTO v1.2 — interface utilizável em zoom 100% sem reduzir
   artificialmente o tamanho da página nem alterar a marca aprovada.
   Para resoluções compactas: organizar os painéis verticalmente e permitir
   rolagem natural; o banner não deve flutuar sobre indicadores. */
@media (min-width:851px) and (max-width:1450px) {
  .shell{min-width:0;}
  .workspace{min-width:0;}
  .main{min-width:0;}
  .columns{grid-template-columns:minmax(0,1fr);}
  .left-stack,.right-stack{min-width:0;}
  .right-stack{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
    padding-top:0;
  }
  .hero{
    position:static;
    height:auto;
    grid-template-columns:minmax(0,1fr) minmax(285px,35%);
    align-items:center;
    gap:16px;
  }
  .hero .slogan-card{
    display:flex;
    position:relative;
    top:auto;
    right:auto;
    width:100%;
    height:150px;
    padding:20px 22px;
  }
  .slogan-card h2{font-size:23px;}
  .metric-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    max-width:none;
  }
  .metric{min-width:0;}
  .metric-heading{gap:9px;min-width:0;}
  .metric-foot{margin-top:14px;}
  .project-panel{min-width:0;}
  .table-scroll{max-width:100%;overflow-x:auto;}
}
@media (min-width:851px) and (max-width:1100px) {
  .sidebar{
    flex:0 0 210px;
    width:210px;
    padding:17px 10px;
  }
  .workspace{width:calc(100% - 210px);}
  .brand{padding:0 7px 25px;gap:6px;}
  .brand-mark{width:45px;height:45px;}
  .brand-word strong{font-size:17px;}
  .brand-word small{font-size:6px;letter-spacing:2px;}
  .nav-link{min-height:47px;padding:10px 12px;gap:13px;font-size:13px;}
  .nav-link svg{width:23px;height:23px;}
  .sidebar-footer{padding-left:10px;}
  .hero{grid-template-columns:minmax(0,1fr);}
  .hero .slogan-card{height:126px;max-width:none;}
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (min-width:851px) and (max-height:650px) {
  .sidebar{padding-top:13px;padding-bottom:13px;}
  .brand{padding-bottom:17px;}
  .menu{gap:3px;}
  .nav-link{min-height:44px;padding-top:8px;padding-bottom:8px;}
  .sidebar-footer{height:140px;flex-basis:140px;}
  .sidebar-footer p{margin:12px 0 10px;}
}
/* Em telas menores, preserve o drawer móvel já previsto; a página rola
   verticalmente, e somente a tabela de projetos rola na horizontal. */
@media (max-width:850px) {
  .shell,.workspace,.main{min-width:0;}
  .table-scroll{max-width:100%;overflow-x:auto;}
}
