:root{--navy:#171a1c;--gold:#c79a2b;--gold2:#e6c65c;--blue:#315f8b;--grid:#d8e0e8}.glu-public{margin:0;background:#eef2f3;font-family:Arial,Helvetica,sans-serif;color:#17222d}.glu-plan-wrap{max-width:2200px;width:calc(100% - 20px);box-sizing:border-box;margin:20px auto;background:#fff;padding:18px;box-shadow:0 3px 18px #0002}.glu-toolbar{text-align:right;margin-bottom:10px}.glu-toolbar button{background:var(--gold);color:#fff;border:0;padding:10px 16px;border-radius:5px;font-weight:700;cursor:pointer}.glu-head{display:grid;grid-template-columns:250px 1fr 320px;gap:20px;align-items:start;border-bottom:3px solid var(--gold);padding-bottom:12px}.glu-brand{font-size:42px;font-weight:800;color:#111}.glu-brand small{display:block;font-size:12px;letter-spacing:2px;color:#9d7619}.glu-head h1{font-size:25px;text-align:center;margin:0;color:#16191b}.glu-head h2{text-align:center;margin:3px 0;font-size:18px;color:#8f6a16}.glu-head p{text-align:center;margin:4px 0;font-size:12px}.glu-head aside{background:#f8f6ef;border:1px solid #d6c797;padding:10px;font-size:12px}.glu-milestones{display:flex;justify-content:space-around;gap:10px;padding:10px 0;font-weight:700;font-size:12px}.glu-milestones span:last-child{color:#8d6816}.glu-scroll{overflow:auto;border:1px solid #b9c5d0}.glu-gantt{display:grid;grid-template-columns:360px minmax(1000px,1fr);min-width:1360px}.glu-left{border-bottom:1px solid var(--grid);padding:7px 10px}.glu-colhead{background:#171a1c;color:#fff;font-weight:700}.glu-timeline-head{display:grid;grid-template-columns:repeat(var(--cols),1fr);background:#171a1c;color:#fff;border-left:1px solid #fff}.glu-timeline-head>div{text-align:center;padding:7px 4px;border-right:1px solid #ffffff44;font-weight:700;font-size:12px}.glu-taskname{font-size:12px}.glu-taskname small{display:block;color:#667;font-size:10px;margin-top:2px}.glu-row{position:relative;min-height:46px;border-left:1px solid var(--grid);border-bottom:1px solid var(--grid);background-image:repeating-linear-gradient(to right,transparent,transparent calc(var(--grid-day,4px) - 1px),#e7ecf0 calc(var(--grid-day,4px) - 1px),#e7ecf0 var(--grid-day,4px))}.glu-bar{position:absolute;top:9px;height:28px;min-width:8px;border-radius:3px;color:#fff;font-size:10px;font-weight:700;overflow:visible;box-shadow:0 1px 2px #0003}.glu-bar i{position:absolute;left:0;top:0;bottom:0;background:#ffffff33;border-radius:3px}.glu-bar span{position:absolute;left:5px;top:3px;white-space:nowrap;color:#111;background:rgba(255,255,255,.94);border:1px solid rgba(0,0,0,.16);border-radius:3px;padding:3px 5px;text-shadow:none;line-height:14px;box-shadow:0 1px 2px #0001}.glu-bar b{position:absolute;right:-36px;top:4px;background:#c81f1f;padding:3px 5px;border-radius:3px;z-index:4}.glu-foot{display:grid;grid-template-columns:1fr;gap:14px;margin-top:12px;font-size:11px;border-top:2px solid var(--gold);padding-top:10px;width:100%}.glu-foot-notes,.glu-foot-resources{width:100%;min-width:0}.glu-foot-notes strong,.glu-foot-resources strong{display:block;margin-bottom:7px}.glu-foot ol{margin:5px 0 0 24px;padding:0;width:calc(100% - 24px)}.glu-foot li{margin:5px 0;text-align:justify;text-justify:inter-word;hyphens:auto}.glu-foot p{margin:5px 0;text-align:justify;text-justify:inter-word;hyphens:auto}.glu-foot-resources{border-top:1px solid #d9c27b;padding-top:10px}.glu-add-public{margin-top:14px;border-top:2px solid #b98a1b;padding-top:10px}.glu-add-public h3{margin:0 0 8px;color:#7c5b10;font-size:14px}.glu-add-public table{width:100%;border-collapse:collapse;font-size:10px}.glu-add-public th{background:#f6edd5;color:#523c0d;text-align:left;padding:6px}.glu-add-public td{padding:6px;border-bottom:1px solid #ead8c5;vertical-align:top}.glu-weekly-public{margin:16px 0;padding:14px 16px;border-left:5px solid var(--gold);background:#faf7ee}.glu-weekly-public h3{margin:0 0 8px;color:#684d12}

.glu-view-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;margin:10px 0 8px;font-size:12px}.glu-view-controls span{font-weight:700;margin-right:4px}.glu-view-controls button{border:1px solid #c7cdd2;background:#fff;color:#20262b;border-radius:5px;padding:7px 12px;cursor:pointer;font-weight:700}.glu-view-controls button.is-active{background:var(--gold);border-color:#a77c17;color:#111}.glu-view-controls button:hover{border-color:var(--gold)}
@media(max-width:900px){.glu-head{grid-template-columns:1fr}.glu-brand{text-align:center}.glu-head aside{max-width:none}.glu-gantt{grid-template-columns:300px minmax(900px,1fr)}}
@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.no-print{display:none!important}.glu-public{background:#fff!important;margin:0!important;padding:0!important}.glu-plan-wrap{max-width:none;margin:0;padding:4mm;box-shadow:none}.glu-head{grid-template-columns:210px 1fr 280px}.glu-brand{font-size:32px}.glu-head h1{font-size:18px}.glu-head h2{font-size:14px}.glu-scroll{overflow:visible;border-color:#aaa}.glu-gantt{min-width:0;grid-template-columns:280px 1fr}.glu-taskname{font-size:8px;padding:4px 6px}.glu-taskname small{font-size:7px}.glu-row{min-height:30px}.glu-bar{top:5px;height:20px;box-shadow:none!important}.glu-bar span{font-size:7px;top:2px;color:#111!important;background:#fff!important;border:1px solid #999!important;padding:2px 3px}.glu-timeline-head>div{font-size:8px;padding:5px 2px}.glu-foot{font-size:8px}.glu-add-public{break-inside:avoid}.glu-add-public table{font-size:7px}.glu-add-public th,.glu-add-public td{padding:3px}@page{size:A4 landscape;margin:0}}

.glu-project-facts{line-height:1.8}.glu-status-badge{display:inline-block;padding:2px 7px;border-radius:999px;background:#ececec;color:#333;font-weight:700}.glu-status-badge.is-valid{background:#e7f6ea;color:#216b2b;border:1px solid #9fd0a8}

/* v1.8.5 - cabeçalho documental GLurbanis */
.glu-head{display:grid!important;grid-template-columns:minmax(210px,300px) minmax(420px,1fr) minmax(330px,460px)!important;gap:24px;align-items:start}
.glu-brand-logo{display:flex!important;align-items:flex-start;justify-content:flex-start;background:#050505;border-radius:6px;overflow:hidden;min-height:170px}
.glu-brand-logo img{display:block;width:100%;max-width:280px;height:auto;object-fit:contain;background:#050505}
.glu-head-title{text-align:center;padding-top:4px}
.glu-project-facts{line-height:1.45}
.glu-project-facts>div{margin:0 0 5px}
.glu-header-notes{margin-top:10px;padding-top:9px;border-top:1px solid #d4bd7a}
.glu-header-notes b{display:block;margin-bottom:3px}
.glu-header-notes span{display:block;white-space:normal}
@media(max-width:1100px){.glu-head{grid-template-columns:220px 1fr!important}.glu-project-facts{grid-column:1/-1}.glu-brand-logo{min-height:auto}}
@media(max-width:700px){.glu-head{grid-template-columns:1fr!important}.glu-brand-logo{justify-content:center}.glu-head-title{text-align:left}.glu-project-facts{grid-column:auto}}
@media print{.glu-head{grid-template-columns:180px 1fr 360px!important;gap:14px}.glu-brand-logo{min-height:125px}.glu-brand-logo img{max-width:170px}.glu-project-facts{font-size:10px}.glu-header-notes{font-size:9px}}

/* v1.8.8 - logotipo transparente e compacto */
.glu-brand-logo{background:transparent!important;border-radius:0!important;overflow:visible!important;min-height:0!important;align-items:flex-start!important;justify-content:flex-start!important;padding:4px 0!important}
.glu-brand-logo img{width:auto!important;max-width:165px!important;max-height:135px!important;height:auto!important;object-fit:contain!important;background:transparent!important}
@media(max-width:1100px){.glu-brand-logo img{max-width:145px!important;max-height:120px!important}}
@media(max-width:700px){.glu-brand-logo{justify-content:center!important}.glu-brand-logo img{max-width:135px!important}}
@media print{.glu-brand-logo{background:transparent!important;min-height:0!important}.glu-brand-logo img{max-width:120px!important;max-height:95px!important;background:transparent!important}}


/* v1.9.2 - controlo rápido de atraso/antecipação no Gantt do admin */
.glu-row{position:relative}
.glu-delay-adjust{position:absolute;top:5px;z-index:12;display:flex;align-items:center;gap:3px;background:#fff;border:1px solid #c8cdd2;border-radius:6px;padding:2px;box-shadow:0 1px 4px #0002;white-space:nowrap}
.glu-delay-adjust button{width:25px;height:25px;border:0;border-radius:4px;background:#171a1c;color:#fff;font-size:18px;font-weight:800;line-height:22px;cursor:pointer;padding:0}
.glu-delay-adjust button:last-child{background:#c69a2b;color:#111}
.glu-delay-adjust em{min-width:34px;text-align:center;font-style:normal;font-size:10px;font-weight:800;color:#222}
.glu-bar b.is-early{background:#167a37}.glu-bar b.is-late{background:#c81f1f}
@media print{.glu-delay-adjust{display:none!important}}

/* v1.9.3 - impressão A3 paginada e utilização integral da folha */
@media print{
  html,body{width:100%!important;max-width:none!important}
  .glu-plan-wrap{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  .glu-scroll{width:100%!important;max-width:none!important;overflow:visible!important}
  .glu-gantt{width:100%!important;max-width:none!important;min-width:0!important}
  .glu-head{width:100%!important;box-sizing:border-box!important}
  .glu-left,.glu-row{break-inside:avoid!important;page-break-inside:avoid!important}
  .glu-foot,.glu-weekly-public,.glu-add-public{break-inside:avoid!important;page-break-inside:avoid!important}
}

.glu-measure-icon{float:right;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;margin-left:6px;font-weight:900;color:#fff}.glu-measure-icon.is-accepted{background:#2f7d32}.glu-measure-icon.is-attention{background:#b42318}.glu-measure-icon.is-review{background:#c69a2b;color:#111}


/* v1.9.9 - manter barras e etiquetas totalmente dentro do Plano/Gantt */
.glu-client-portal .glu-row,
.glu-print-document .glu-row{overflow:hidden!important}
.glu-client-portal .glu-bar,
.glu-print-document .glu-bar{max-width:100%!important;box-sizing:border-box!important}
.glu-client-portal .glu-bar span,
.glu-print-document .glu-bar span{box-sizing:border-box!important;max-width:min(240px,calc(100vw - 48px));overflow:hidden!important;text-overflow:ellipsis!important}
@media print{
  .glu-row{overflow:hidden!important}
  .glu-bar{max-width:100%!important;box-sizing:border-box!important}
  .glu-bar span{max-width:150px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
}

/* v2.0.0 - margem dinâmica do Gantt após a última tarefa */
.glu-gantt{overflow:visible}.glu-row{overflow:hidden}.glu-measure-icon.is-internal{background:#256b37}


/* v2.0.1 - impressão: logótipo compacto e alinhado ao canto superior esquerdo */
@media print{
  .glu-head{grid-template-columns:105px minmax(0,1fr) 300px!important;gap:10px!important;align-items:start!important}
  .glu-brand-logo{justify-content:flex-start!important;align-items:flex-start!important;padding:0!important;margin:0!important}
  .glu-brand-logo img{width:auto!important;max-width:88px!important;max-height:72px!important;margin:0!important;object-fit:contain!important;object-position:left top!important}
  .glu-head-title{padding-top:0!important}
}

/* v2.0.2 - espaçamento de seguros, retificações e histórico de alterações */
.glu-project-facts .glu-insurance-line{margin-bottom:11px!important}
.glu-project-facts .glu-insurance-line + .glu-insurance-line{margin-top:2px!important}
.glu-budget-revision-note{display:block;margin-top:7px;padding-top:6px;border-top:1px dashed #d7c98f}
.glu-plan-change-history{margin-top:18px}
.glu-plan-change-history details{border:1px solid #d9c47f;background:#fffdf6;border-radius:7px;overflow:hidden}
.glu-plan-change-history summary{cursor:pointer;list-style:none;background:#c69a2b;color:#111;font-weight:800;padding:13px 16px;text-align:center}
.glu-plan-change-history summary::-webkit-details-marker{display:none}
.glu-plan-change-history details[open] summary{border-bottom:1px solid #d2b865}
.glu-plan-change-history .glu-client-history-list{padding:10px}
@media print{.glu-project-facts .glu-insurance-line{margin-bottom:6px!important}.glu-plan-change-history{display:none!important}}

/* v2.0.3 - logotipo compacto e consistente em TODAS as impressões */
@media print{
  .glu-head{
    grid-template-columns:96px minmax(0,1fr) 285px!important;
    gap:10px!important;
    align-items:start!important;
    padding-bottom:6px!important;
    margin-bottom:4px!important;
  }
  .glu-brand-logo{
    width:96px!important;
    min-width:96px!important;
    max-width:96px!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    align-self:start!important;
    justify-self:start!important;
    background:transparent!important;
    overflow:visible!important;
  }
  .glu-brand-logo img{
    display:block!important;
    width:88px!important;
    max-width:88px!important;
    height:auto!important;
    max-height:88px!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
    object-position:left top!important;
    background:transparent!important;
  }
  .glu-head-title{padding-top:0!important;align-self:start!important}
  .glu-head h1{margin-top:0!important;font-size:16px!important;line-height:1.1!important}
  .glu-head h2{font-size:11px!important;line-height:1.15!important;margin:2px 0!important}
  .glu-head p{font-size:8px!important;line-height:1.2!important;margin:2px 0!important}
  .glu-project-facts{font-size:8.5px!important;line-height:1.25!important;padding:7px!important}
  .glu-project-facts>div{margin:0 0 4px!important}
  .glu-status-badge{padding:1px 5px!important}
}

/* v2.0.4 - documentos visíveis no portal do cliente */
.glu-client-documents{margin:22px 0;padding:18px;border:1px solid #d8dde2;border-radius:12px;background:#fff}.glu-client-doc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.glu-client-doc{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px;border:1px solid #e1d4ac;border-radius:10px;background:#fbfaf5;color:#1b2024!important;text-decoration:none!important}.glu-client-doc-icon{width:38px;height:38px;border-radius:8px;background:#11171b;color:#c69a2b;display:flex;align-items:center;justify-content:center;font-size:20px}.glu-client-doc strong,.glu-client-doc small,.glu-client-doc em{display:block}.glu-client-doc small,.glu-client-doc em{font-size:12px;color:#6b6f73;font-style:normal;margin-top:2px}.glu-client-doc b{color:#9b7415;font-size:12px}@media(max-width:720px){.glu-client-doc-grid{grid-template-columns:1fr}}

/* v2.0.5 - documentos financeiros */
.glu-client-doc.is-financial{border-left:4px solid #c69a2b;background:linear-gradient(90deg,#fffaf0 0,#fff 42%)}
.glu-client-doc.is-financial .glu-client-doc-icon{color:#a77710}

/* v2.0.6 - informação comercial e contratual */
.glu-client-contract-summary{margin:22px 0;padding:18px;border:1px solid #d4b455;background:#fbfaf6;border-radius:10px}
.glu-contract-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.glu-contract-grid article{background:#fff;border:1px solid #e4dcc4;border-left:4px solid #c69a2b;border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:7px}
.glu-contract-grid article>strong{font-size:16px;color:#1b1d1f}.glu-contract-grid article>span{font-size:15px;font-weight:700;color:#8c6514}.glu-contract-grid article>small{font-size:13px;line-height:1.45;color:#4a4e52}
@media(max-width:760px){.glu-contract-grid{grid-template-columns:1fr}}
@media print{.glu-client-contract-summary{break-inside:avoid;page-break-inside:avoid;margin:8px 0;padding:8px}.glu-contract-grid{gap:6px}.glu-contract-grid article{padding:7px}.glu-contract-grid article>strong{font-size:9px}.glu-contract-grid article>span,.glu-contract-grid article>small{font-size:8px}}


/* v2.0.8 - separação entre identificação/contrato e dados técnicos */
.glu-brand-panel{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.glu-brand-meta{width:100%;box-sizing:border-box;border-top:1px solid #d8c58b;padding-top:8px;font-size:11px;line-height:1.35;color:#222}
.glu-brand-meta>div{margin:0 0 5px;overflow-wrap:anywhere}
.glu-brand-meta .glu-budget-revision-note{margin-top:7px;padding-top:6px}
@media(max-width:1100px){.glu-brand-panel{align-items:center}.glu-brand-meta{max-width:360px}.glu-project-facts{grid-column:1/-1}}
@media(max-width:700px){.glu-brand-panel{align-items:center}.glu-brand-meta{max-width:none}}
@media print{
  .glu-brand-panel{width:96px!important;min-width:96px!important;max-width:96px!important;gap:4px!important}
  .glu-brand-meta{font-size:6.6px!important;line-height:1.15!important;padding-top:4px!important;border-top:1px solid #c69a2b!important}
  .glu-brand-meta>div{margin-bottom:2px!important}
  .glu-brand-meta .glu-budget-revision-note{margin-top:3px!important;padding-top:3px!important}
}

/* v2.3.1 - Textos de consulta justificados */
.glu-plan-wrap p,.glu-client-portal p,.glu-client-history article,.glu-client-doc em,.glu-condition-clause p,.glu-desc-preview,.glu-desc-full{text-align:justify;text-justify:inter-word;hyphens:auto}
.glu-plan-wrap button,.glu-plan-wrap a,.glu-plan-wrap h1,.glu-plan-wrap h2,.glu-plan-wrap h3,.glu-plan-wrap h4,.glu-plan-wrap th{text-align:initial;text-justify:auto;hyphens:manual}


/* v2.3.5 - notas compactas em serviços adicionais */
.glu-note-details{margin:0;min-width:110px}
.glu-note-details summary{display:inline-block;cursor:pointer;list-style:none;background:#171a1c;color:#fff;border:1px solid #c79a2b;border-radius:6px;padding:7px 11px;font-weight:700;font-size:11px;white-space:nowrap;user-select:none}
.glu-note-details summary::-webkit-details-marker{display:none}
.glu-note-details[open] summary{background:#c79a2b;color:#111}
.glu-note-content{margin-top:8px;padding:10px 12px;border-left:3px solid #c79a2b;background:#faf7ee;color:#1d252b;line-height:1.5;text-align:justify;text-justify:inter-word;hyphens:auto;min-width:260px;max-width:560px;white-space:normal}
@media(max-width:700px){.glu-note-content{min-width:220px;max-width:78vw}.glu-note-details summary{padding:8px 10px;font-size:12px}}
@media print{.glu-note-details summary{display:none!important}.glu-note-details:not([open]) .glu-note-content{display:none!important}.glu-note-details[open] .glu-note-content{display:block!important;border:0!important;padding:0!important;background:transparent!important;min-width:0!important;max-width:none!important}}

/* v2.3.7 - Portal QR Code em modo app móvel */
.glu-client-toolbar.is-qr-app{position:sticky;top:0;z-index:40;border-radius:0 0 12px 12px;margin-bottom:12px}
.glu-qr-app-home{margin:16px 0;padding:16px;border:1px solid #d8b653;border-radius:12px;background:#111518;color:#fff}
.glu-qr-app-home>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.glu-qr-app-home strong{font-size:20px}.glu-qr-app-home span{padding:7px 10px;border-radius:8px;background:#2c3033;color:#e7c65b;font-weight:700}.glu-qr-app-home p{margin:10px 0 0;color:#d8dadd}
.glu-app-section{margin:14px 0;border:1px solid #d9c071;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.glu-app-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;background:#f9f7ef;color:#171b1e;font-size:17px;font-weight:800;cursor:pointer}
.glu-app-section>summary::-webkit-details-marker{display:none}.glu-app-section>summary b{font-size:12px;padding:7px 10px;border-radius:999px;background:#c99b24;color:#111;text-transform:uppercase;letter-spacing:.03em}.glu-app-section[open]>summary b::before{content:'Fechar';font-size:12px}.glu-app-section[open]>summary b{font-size:0}.glu-app-section-body{padding:14px}
.glu-app-section-body>.glu-client-documents,.glu-app-section-body>.glu-client-questions,.glu-app-section-body>.glu-client-history,.glu-app-section-body>.glu-client-measurements,.glu-app-section-body>.glu-client-contract-summary{margin:0;border:0;padding:0;box-shadow:none}
.glu-app-action-card{padding:8px 2px}.glu-app-action-card p{margin-top:0}
.glu-weekly-collapsible details>summary,.glu-plan-change-history details>summary{cursor:pointer;font-weight:800;padding:13px 14px;border:1px solid #dfd3b0;border-radius:9px;background:#fbfaf5;color:#171b1e;list-style:none}.glu-weekly-collapsible details>summary::-webkit-details-marker,.glu-plan-change-history details>summary::-webkit-details-marker{display:none}
.glu-qr-desktop-block{max-width:720px;margin:30px auto!important;text-align:center}
@media(max-width:720px){
  .glu-client-portal{padding-left:10px!important;padding-right:10px!important}
  .glu-client-toolbar.is-qr-app{display:block!important;padding:12px!important}.glu-client-toolbar.is-qr-app>div:first-child{margin-bottom:10px}.glu-client-toolbar.is-qr-app .glu-client-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.glu-client-toolbar.is-qr-app .glu-client-actions a{width:100%;box-sizing:border-box;text-align:center!important;padding:10px 8px!important;font-size:13px!important}
  .glu-qr-app-home{margin:12px 0;padding:14px}.glu-qr-app-home strong{font-size:18px}.glu-qr-app-home>div{align-items:flex-start;flex-direction:column}
  .glu-app-section{margin:11px 0;border-radius:12px}.glu-app-section>summary{padding:15px 14px;font-size:16px}.glu-app-section-body{padding:10px}
  .glu-app-section .glu-panel-title{display:block!important}.glu-app-section .glu-panel-title .glu-access-chip{margin-top:8px;display:inline-block}
  .glu-app-section .glu-client-doc-grid{grid-template-columns:1fr!important}
  .glu-app-section .glu-client-doc{grid-template-columns:46px minmax(0,1fr)!important}.glu-app-section .glu-client-doc b{grid-column:2;justify-self:start}
}
.glu-qr-member-login{margin-top:14px;padding-top:14px;border-top:1px solid #3a3e41;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.glu-qr-member-login label span{display:block;font-size:12px;font-weight:800;margin-bottom:5px;color:#f2f2f2}.glu-qr-member-login input{width:100%;box-sizing:border-box;border:1px solid #646a6e;border-radius:8px;padding:11px 12px;background:#fff;color:#111;font-weight:700}.glu-qr-member-login small{grid-column:1/-1;color:#bfc3c6;line-height:1.4}
@media(max-width:720px){.glu-qr-member-login{grid-template-columns:1fr}.glu-qr-member-login small{grid-column:auto}}

/* v2.4.0 — acesso QR autenticado e Alertas GL */
.glu-qr-access-gate{max-width:560px;margin:32px auto!important}
.glu-qr-access-gate .glu-qr-member-login{margin-top:22px}
.glu-request-access{margin-top:26px;border-top:1px solid #d9c17d;padding-top:18px}
.glu-request-access>summary{display:block;cursor:pointer;text-align:center;background:#c99b24;color:#111;font-weight:800;padding:14px 18px;border-radius:8px;list-style:none}
.glu-request-access>summary::-webkit-details-marker{display:none}.glu-request-access-body{margin-top:16px}.glu-request-access-body .glu-client-contract-summary{margin:0}
.glu-alert-list{display:grid;gap:14px;margin-top:18px}.glu-alert-card{border:1px solid #e0d4ad;border-left:5px solid #c99b24;background:#fff;padding:18px;border-radius:8px}.glu-alert-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.glu-alert-card-head strong{display:block;font-size:18px}.glu-alert-card-head span{display:block;color:#666;margin-top:4px}.glu-alert-card p{text-align:justify;text-justify:inter-word;line-height:1.55}.glu-alert-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.glu-client-alerts .glu-panel-title{margin-bottom:12px}
@media(max-width:680px){.glu-qr-access-gate{margin:14px 10px!important;max-width:none}.glu-alert-card{padding:14px}.glu-alert-card-head{display:block}.glu-alert-card-head .glu-access-chip{margin-top:10px;display:inline-block}.glu-alert-files{display:grid}.glu-alert-files a{width:100%;text-align:center}}


/* v2.4.2 — gestão de acessos QR e regeneração do código da obra */
.glu-access-code-stack{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.glu-regenerate-access-form{margin:0}.glu-code-btn{border:1px solid #c99b24;background:#202427;color:#f1cd61;border-radius:8px;padding:9px 12px;font-weight:800;cursor:pointer;white-space:nowrap}.glu-code-btn:hover{background:#2b3033}
.glu-qr-access-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:430px}.glu-qr-access-actions select{min-width:205px;margin:0!important}.glu-qr-action-buttons{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.glu-qr-action-buttons button{margin:0!important;min-width:94px}
.glu-block-btn{display:inline-block;border:1px solid #b57b17;background:#fff5d8;color:#6d4900;border-radius:7px;padding:10px 14px;font-weight:800;cursor:pointer}.glu-block-btn:hover{background:#f4df9e}.glu-danger-btn{background:#a62d27!important;color:#fff!important;border:1px solid #84211c!important;border-radius:7px;padding:10px 14px;font-weight:800;cursor:pointer}.glu-danger-btn:hover{background:#84211c!important}
@media(max-width:900px){.glu-access-code-stack{justify-content:flex-start}.glu-qr-access-actions{min-width:0;display:grid;grid-template-columns:1fr}.glu-qr-access-actions select{min-width:0;width:100%}.glu-qr-action-buttons{gap:8px}.glu-qr-action-buttons button{flex:1 1 90px}}

.glu-toolbar .glu-print-admin-btn{display:inline-flex;align-items:center;text-decoration:none;background:#c99b24;color:#fff;border:0;border-radius:7px;padding:11px 17px;font-weight:800;cursor:pointer}

.glu-client-progress-photos{background:#fff;border:1px solid #d8c58d;border-radius:16px;padding:20px;margin:18px 0}.glu-client-progress-entry{border-top:1px solid #e5dcc5;padding:16px 0}.glu-client-progress-entry:first-of-type{border-top:0}.glu-progress-entry-head strong{display:block;font-size:18px}.glu-progress-entry-head span{color:#69717a}.glu-progress-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px}.glu-progress-grid a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:10px}.glu-progress-grid img{width:100%;height:100%;object-fit:cover}.glu-client-progress-entry p{text-align:justify;line-height:1.55}@media(max-width:700px){.glu-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v2.4.14 — legibilidade do código e recuperação por e-mail */
.glu-qr-access-gate .glu-qr-member-login label span{color:#202427!important;font-size:14px!important;font-weight:800!important;opacity:1!important}
.glu-qr-access-gate .glu-qr-member-login{border-top:1px solid #c99b24}
.glu-access-recovery{margin-top:16px!important;padding-top:16px!important}
.glu-access-recovery>summary{background:#fff!important;color:#1c2023!important;border:1px solid #c99b24!important}
.glu-access-recovery>summary:hover{background:#faf6e9!important}
.glu-recovery-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.glu-recovery-form label span{display:block!important;color:#202427!important;font-weight:800!important;margin-bottom:7px!important;opacity:1!important}
.glu-recovery-form input{width:100%;box-sizing:border-box}
@media(max-width:720px){.glu-recovery-form{grid-template-columns:1fr}.glu-access-recovery>summary{padding:13px 14px!important}}


/* v2.5.0 — Comunicações, informações e tickets */
.glu-information-list,.glu-ticket-thread{display:grid;gap:12px;margin-top:16px}.glu-information-card,.glu-ticket-reply{border:1px solid #e2e4e7;border-radius:10px;padding:14px;background:#fff}.glu-information-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.glu-information-head span{display:block;color:#697078;font-size:12px;margin-top:3px}.glu-ticket-card{border-left:4px solid #c69a2b}.glu-ticket-reply.is-gl{background:#fff8e8;border-color:#e6c66c}.glu-ticket-reply.is-client{background:#f7f8f9}.glu-ticket-reply>strong{font-size:12px;color:#646b72}.glu-ticket-inline{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e7e7e7}.glu-ticket-inline textarea{width:100%}.glu-ticket-admin .glu-client-msg-head strong{font-size:15px}.glu-app-section.is-information>summary:before{content:'i';display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#c69a2b;color:#fff;margin-right:8px;font-weight:700}

/* v2.6.1 - menu recolhido do portal do cliente */
.glu-client-menu{margin:22px 0}.glu-client-menu>.glu-panel-title{margin-bottom:12px}.glu-client-menu-item{background:#fff;border:1px solid #d9c990;border-radius:14px;margin:12px 0;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.04)}
.glu-client-menu-item>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;font-size:18px;font-weight:800;cursor:pointer;background:#fbfaf6;color:#1b1f22}.glu-client-menu-item>summary::-webkit-details-marker{display:none}.glu-client-menu-item>summary b{font-size:14px;color:#9a6b00;border:1px solid #d9c990;border-radius:999px;padding:7px 13px;background:#fff}.glu-client-menu-item[open]>summary b:before{content:'Fechar';font-size:0}.glu-client-menu-body{padding:18px;border-top:1px solid #e6dcc0}.glu-client-menu-body .glu-client-documents,.glu-client-menu-body .glu-client-history,.glu-client-menu-body .glu-client-questions,.glu-client-menu-body .glu-client-alerts,.glu-client-menu-body .glu-client-photos{margin:0!important;border:0!important;box-shadow:none!important;padding:0!important}.glu-feature-locked{padding:18px;border:1px dashed #c99b24;border-radius:12px;background:#fffaf0}.glu-feature-locked strong{font-size:18px}.glu-feature-locked p{margin:8px 0 14px}.glu-access-pending{padding:12px;background:#eef7ef;border-left:4px solid #2d8a46;margin:10px 0}.glu-access-denied{padding:12px;background:#fff1ef;border-left:4px solid #b43228;margin:10px 0}.glu-finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 18px}.glu-finance-summary>div{border:1px solid #e0d4aa;border-radius:10px;padding:12px;background:#fbfaf6}.glu-finance-summary span{display:block;font-size:12px;color:#666}.glu-finance-summary strong{display:block;font-size:18px;margin-top:4px}.glu-feature-admin{margin-top:22px;padding-top:18px;border-top:1px solid #ddd}
@media(max-width:700px){.glu-client-menu-item>summary{padding:16px;font-size:17px}.glu-client-menu-body{padding:14px}.glu-finance-summary{grid-template-columns:1fr 1fr}.glu-client-menu .glu-panel-title{display:block}.glu-client-menu .glu-access-chip{display:inline-block;margin-top:8px}}

/* v2.6.2 - submenus do portal do cliente */
.glu-submenu-intro{margin:0 0 12px;padding:12px 14px;border-left:4px solid var(--glu-gold);background:#fbfaf6;border-radius:8px}.glu-submenu-intro strong{font-size:18px}.glu-submenu-intro p{margin:5px 0 0}
.glu-client-submenu,.glu-finance-submenu{display:grid;gap:10px}.glu-client-submenu-item{border:1px solid #ded2aa;border-radius:12px;background:#fff;overflow:hidden}.glu-client-submenu-item>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;cursor:pointer;background:#fbfaf6;color:#1b1f22}.glu-client-submenu-item>summary::-webkit-details-marker{display:none}.glu-client-submenu-item>summary>span{display:flex;flex-direction:column;gap:3px;min-width:0}.glu-client-submenu-item>summary strong{font-size:16px}.glu-client-submenu-item>summary small{font-size:12px;color:#6b7075;font-weight:600}.glu-client-submenu-item>summary>b{font-size:12px;color:#8c6508;border:1px solid #d8c078;border-radius:999px;padding:6px 11px;background:#fff;white-space:nowrap}.glu-client-submenu-item[open]>summary>b{font-size:0}.glu-client-submenu-item[open]>summary>b:after{content:'Fechar';font-size:12px}.glu-client-submenu-body{padding:15px;border-top:1px solid #e7dfc8}.glu-client-submenu-body>p:first-child{margin-top:0}.glu-alert-subitem{border-left:4px solid #c99b24}.glu-client-menu-item.is-alerts>summary{border-left:5px solid #c99b24}.glu-client-menu-item.is-communications>summary{border-left:5px solid #8b6b1e}.glu-client-menu-item.is-financial>summary{border-left:5px solid #2c6e49}
@media(max-width:700px){.glu-client-submenu-item>summary{padding:14px}.glu-client-submenu-body{padding:13px}.glu-client-submenu-item>summary strong{font-size:15px}}

/* v2.6.3 - access matrix: hidden client menus are not rendered server-side */


/* v2.7.2 — menu prioritário, áreas reservadas e impressão independente */
.glu-menu-locked{padding:14px 16px;border:1px solid #d9c98f;border-radius:12px;background:#f8f6ef;opacity:.92;margin:10px 0}
.glu-menu-locked-head{display:flex;align-items:center;justify-content:space-between;gap:14px;font-weight:800;color:#1c2226}
.glu-menu-locked-head b{font-size:12px;color:#7a5a08;background:#fff4cf;border:1px solid #d9b54c;border-radius:999px;padding:5px 9px;white-space:nowrap}
.glu-menu-locked p{margin:8px 0 0;color:#64686b;font-size:13px;line-height:1.45;text-align:justify}
.glu-menu-empty-note{padding:12px 14px;border-radius:9px;background:#f5f5f3;color:#666;font-size:13px}
@media(max-width:640px){.glu-menu-locked-head{align-items:flex-start;flex-direction:column;gap:7px}.glu-menu-locked-head b{font-size:11px}}


/* v2.7.3 — leitura móvel, indicadores por ler e menus compactos */
.glu-client-menu{display:grid;gap:16px}
.glu-client-menu-item{border-radius:18px!important;overflow:hidden;background:#fffdf8}
.glu-client-menu-item>summary{min-height:82px;padding:20px 24px!important;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;list-style:none;font-weight:800}
.glu-client-menu-item>summary::-webkit-details-marker{display:none}
.glu-client-menu-item>summary:after{content:'›';font-size:30px;line-height:1;color:#a87809;transform:rotate(90deg);transition:transform .2s ease;margin-left:8px}
.glu-client-menu-item[open]>summary:after{transform:rotate(-90deg)}
.glu-client-menu-item>summary>span:first-child{font-size:20px;line-height:1.25;min-width:0}
.glu-unread-badge{display:inline-flex;align-items:center;gap:7px;margin-left:auto;background:#fff1f0;border:1px solid #d73131;border-radius:999px;padding:5px 9px;color:#a71919;white-space:nowrap}
.glu-unread-badge i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#d73131;color:#fff;font-style:normal;font-weight:900}.glu-unread-badge strong{font-size:14px}.glu-unread-badge em{font-size:11px;font-style:normal;font-weight:700}
.glu-client-menu-item.is-alerts>summary .glu-unread-badge,.glu-client-menu-item.is-communications>summary .glu-unread-badge{box-shadow:0 0 0 2px #fff inset}
.glu-client-submenu-item>summary>b{display:none!important}.glu-client-submenu-item>summary:after{content:'›';font-size:22px;color:#a87809;transform:rotate(90deg);margin-left:auto}.glu-client-submenu-item[open]>summary:after{transform:rotate(-90deg)}
.glu-finance-warning{margin:14px 0 18px;padding:14px 16px;border-left:5px solid #c99b24;background:#fff7df;color:#2a2a2a;line-height:1.55;text-align:justify;border-radius:8px}
.glu-update-entry{border:1px solid #e0d4ad;border-left:5px solid #c99b24;border-radius:12px;background:#fff;overflow:hidden;margin:10px 0}.glu-update-entry>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;cursor:pointer;list-style:none}.glu-update-entry>summary::-webkit-details-marker{display:none}.glu-update-entry>summary span:first-child{display:grid;gap:3px}.glu-update-entry>summary small{font-size:13px;color:#5f6266}.glu-update-detail-label{font-size:12px;font-weight:800;color:#8b6406;border:1px solid #d8c078;border-radius:999px;padding:7px 10px;background:#fff}.glu-update-entry[open] .glu-update-detail-label{font-size:0}.glu-update-entry[open] .glu-update-detail-label:after{content:'Fechar';font-size:12px}.glu-update-entry-body{padding:16px;border-top:1px solid #eee5c9;line-height:1.55}.glu-update-meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin:10px 0}.glu-related-changes{margin-top:14px;padding-top:12px;border-top:1px solid #eee}.glu-related-changes article{margin:10px 0;padding:10px 12px;background:#f7f7f5;border-radius:8px}.glu-related-changes p{margin:5px 0 0}.glu-muted-note{color:#73777a;font-style:italic}
.glu-client-extra-approval{display:grid;gap:14px}.glu-extra-info{display:grid;gap:6px}.glu-extra-info p{margin:4px 0;line-height:1.5;text-align:justify}.glu-extra-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:700px){.glu-client-menu{gap:12px}.glu-client-menu-item>summary{min-height:72px;padding:17px 18px!important}.glu-client-menu-item>summary>span:first-child{font-size:18px}.glu-unread-badge em{display:none}.glu-extra-actions{grid-template-columns:1fr}.glu-client-menu-body{padding:14px!important}.glu-client-submenu-item>summary{padding:14px!important}.glu-finance-warning{font-size:14px}.glu-update-entry-body{padding:14px}}
/* v2.11.0 — permissões no menu principal + financeiro reconciliado */
.glu-menu-locked{min-height:78px;display:flex;align-items:center;padding:0 22px!important;background:#f7f4ea!important;border:1px solid #d9c98f!important;opacity:1!important;cursor:not-allowed}
.glu-menu-locked-head{width:100%;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;flex-direction:row!important}
.glu-menu-locked-head>span{font-size:20px;line-height:1.25;font-weight:800;color:#34383b}
.glu-menu-locked-head>b{font-size:12px!important;color:#7a5a08!important;background:#fff4cf!important;border:1px solid #d9b54c!important;border-radius:999px!important;padding:7px 11px!important;white-space:nowrap}
.glu-finance-legend{padding:12px 14px;border:1px solid #e0d4aa;border-radius:10px;background:#fffdf6;margin-top:12px}.glu-finance-legend p{margin:5px 0;font-size:13px;line-height:1.5}
.glu-finance-contract-balance{margin-top:14px;padding:14px;border-left:4px solid #c99b24;background:#fff9e9;border-radius:8px}.glu-finance-contract-balance p{margin:7px 0 0;font-size:13px;line-height:1.5}
.glu-finance-reconciliation{margin-top:18px;padding:16px;border:1px solid #d9c990;border-radius:12px;background:#fbfaf6}.glu-finance-reconciliation h4{margin:0 0 10px}
.glu-payment-due-card{display:grid;gap:6px;padding:14px;border:1px solid #e0d4aa;border-radius:10px;background:#fff;margin:10px 0}.glu-payment-due-card.is-paid{border-left:4px solid #2d8a46}.glu-payment-due-card.has-balance{border-left:4px solid #c99b24}.glu-payment-due-card a{font-weight:700;color:#8c6508}
@media(max-width:700px){
 .glu-menu-locked{min-height:72px;padding:0 18px!important}.glu-menu-locked-head>span{font-size:18px}.glu-menu-locked-head>b{font-size:11px!important}
 .glu-finance-table{min-width:1120px}.glu-finance-summary{grid-template-columns:1fr 1fr!important}.glu-finance-summary strong{font-size:16px}
}

/* v2.12.0 — Financeiro simplificado e responsivo */
.glu-finance-status{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;margin:0 0 14px;border-radius:10px;border-left:5px solid #2c6e49;background:#eef8f1}.glu-finance-status strong{font-size:16px}.glu-finance-status span{font-weight:700}.glu-finance-status.is-regularizacao{border-left-color:#c99b24;background:#fff8df}.glu-finance-status.is-incumprimento{border-left-color:#b42318;background:#fff0ef;color:#7b1e17}.glu-finance-summary-simple{grid-template-columns:repeat(2,minmax(0,1fr))!important}.glu-client-installments{display:grid;gap:12px}.glu-client-installment{border:1px solid #ddcf9f;border-left:5px solid #9b7418;border-radius:12px;background:#fff;padding:14px}.glu-client-installment.is-overdue{border-left-color:#b42318;background:#fff8f7}.glu-client-installment.is-due{border-left-color:#c99b24;background:#fffdf5}.glu-client-installment.is-future{border-left-color:#7a8086;background:#fbfbfb}.glu-client-installment header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid #eadfbd}.glu-client-installment header>div{display:flex;flex-direction:column;gap:3px}.glu-client-installment header small{color:#73777b}.glu-client-installment header>span{font-size:12px;font-weight:700;text-align:right}.glu-client-installment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:12px}.glu-client-installment-grid div,.glu-finance-mini-grid div{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:8px;background:#f7f5ef}.glu-client-installment-grid small,.glu-finance-mini-grid small{color:#686d72}.glu-installment-late{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;padding:10px;border-radius:8px;background:#fff0ef;color:#7b1e17}.glu-installment-late strong{margin-left:auto}.glu-finance-rules{padding:12px 14px;border-radius:10px;background:#fbfaf6;border:1px solid #e0d4aa}.glu-finance-rules p{margin:7px 0}.glu-payment-due-card.has-overdue{border-left-color:#b42318;background:#fff8f7}
@media(max-width:700px){.glu-finance-status{flex-direction:column;align-items:flex-start}.glu-finance-summary-simple{grid-template-columns:1fr 1fr!important}.glu-client-installment-grid{grid-template-columns:1fr 1fr}.glu-client-installment header{flex-direction:column}.glu-client-installment header>span{text-align:left}.glu-installment-late{flex-direction:column}.glu-installment-late strong{margin-left:0}}
@media(max-width:420px){.glu-finance-summary-simple{grid-template-columns:1fr!important}.glu-client-installment-grid{grid-template-columns:1fr}}


/* v2.15.1 — Financeiro 0034: faseamento por etapas + incumprimento legível */
.glu-0034-payment-agreement{display:grid;gap:12px;padding:14px;border:1px solid #ddcf9f;border-radius:12px;background:#fffdf8}
.glu-agreement-head{display:flex;flex-direction:column;gap:4px;padding-bottom:10px;border-bottom:1px solid #eadfbd}.glu-agreement-head strong{font-size:17px}.glu-agreement-head span{color:#6f7276;font-size:13px}
.glu-agreement-stage{display:flex;flex-direction:column;gap:5px;padding:12px 14px;border-radius:10px;border-left:4px solid #b68a2b;background:#f8f6ef}.glu-agreement-stage.is-overdue{border-left-color:#b42318;background:#fff5f3}.glu-agreement-stage b{font-size:16px}.glu-agreement-stage span{line-height:1.45}.glu-agreement-note{margin:0;padding:11px 13px;border-radius:9px;background:#f1f4f7;color:#555d66;line-height:1.5}
.glu-finance-rules-elegant{display:grid;gap:14px;padding:16px!important}.glu-rule-title{display:flex;flex-direction:column;gap:3px;padding-bottom:11px;border-bottom:2px solid #c7a24d}.glu-rule-title strong{font-size:18px}.glu-rule-title span{font-size:13px;color:#72777d}.glu-rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.glu-rule-grid>div{display:flex;gap:10px;align-items:flex-start;padding:12px;background:#f8f7f2;border:1px solid #eadfbd;border-radius:10px}.glu-rule-grid>div>b{display:flex;align-items:center;justify-content:center;flex:0 0 30px;height:30px;border-radius:50%;background:#1f252a;color:#d5ad4c}.glu-rule-grid span{display:flex;flex-direction:column;gap:4px}.glu-rule-grid small{font-size:13px;line-height:1.45;color:#60666d}.glu-rule-highlight{padding:13px 15px;border-left:5px solid #b42318;border-radius:9px;background:#fff1ef;color:#7b1e17}.glu-rule-highlight strong{font-size:16px}.glu-rule-highlight p{margin:6px 0 0;line-height:1.5}.glu-rule-footnote{margin:0!important;padding:10px 12px;border-radius:8px;background:#f2f4f6;color:#5e656c;line-height:1.5}
@media(max-width:680px){.glu-rule-grid{grid-template-columns:1fr}.glu-agreement-stage,.glu-rule-highlight{padding:12px}.glu-client-installment header{flex-direction:column}.glu-client-installment header>span{text-align:left}}


/* v2.15.5 — leitura documental: texto corrido justificado sem afetar títulos, botões ou campos. */
.glu-public .glu-plan-wrap p,
.glu-public .glu-plan-wrap li,
.glu-public .glu-client-menu-body p,
.glu-public .glu-client-menu-body li,
.glu-public .glu-client-doc em,
.glu-public .glu-client-submenu-body p,
.glu-public .glu-general-conditions p,
.glu-public .glu-information-card p,
.glu-public .glu-alert-card p { text-align: justify; text-justify: inter-word; }
/* v2.16.0 — textos corridos justificados */
.glu-client-menu-body p,.glu-client-submenu-body p,.glu-panel p,.glu-ai-note,.glu-help,.glu-client-history p,.glu-client-alerts p,.glu-client-doc em,.glu-information-card p,.glu-alert-card p{text-align:justify;text-justify:inter-word;hyphens:auto}

/* v2.16.2 - Cronograma / Calendario: lupa +/- */
.glu-view-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.glu-magnify-controls{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid #d3d7dc;border-radius:9px;background:#fff}.glu-magnify-controls button{min-width:46px}.glu-magnify-controls output{min-width:48px;text-align:center;font-weight:800;color:#5f470f;font-size:12px}
@media(max-width:700px){.glu-magnify-controls{width:auto}.glu-view-controls>span:first-child{flex-basis:100%}}

/* v2.16.6 — Cronograma / Calendário integrado no Menu de acompanhamento */
.glu-client-plan-summary .glu-view-controls,.glu-client-plan-summary .glu-scroll{display:none!important}
.glu-client-schedule-only .glu-head,.glu-client-schedule-only .glu-foot,.glu-client-schedule-only .glu-weekly-public,.glu-client-schedule-only .glu-add-public,.glu-client-schedule-only .glu-toolbar{display:none!important}
.glu-client-schedule-only .glu-plan-wrap{margin:0!important;padding:0!important;box-shadow:none!important;max-width:none!important;background:transparent!important}
.glu-client-schedule-only .glu-view-controls{margin-top:0!important}
.glu-client-schedule-only .glu-scroll{margin-bottom:0!important}
.glu-client-menu-item.is-plan .glu-client-menu-body{padding:14px 10px!important;overflow:hidden}
@media(max-width:720px){.glu-client-menu-item.is-plan .glu-client-menu-body{padding:10px 4px!important}.glu-client-schedule-only .glu-view-controls{gap:7px}.glu-client-schedule-only .glu-view-controls>span:first-child{width:100%}}

/* v2.16.7 — Notas Importantes em largura total e texto justificado */
.glu-foot-notes li,.glu-foot-notes p,.glu-foot-resources p{text-align:justify!important;text-justify:inter-word!important;hyphens:auto;overflow-wrap:anywhere}
@media(max-width:700px){.glu-foot{grid-template-columns:1fr!important;gap:16px!important}.glu-foot ol{margin-left:22px!important;width:calc(100% - 22px)!important}.glu-foot li{font-size:15px!important;line-height:1.55!important;margin:8px 0!important}.glu-foot strong{font-size:17px!important}.glu-foot-resources p{font-size:15px!important;line-height:1.5!important}}
@media print{.glu-foot{grid-template-columns:1fr!important;gap:4mm!important;width:100%!important}.glu-foot-notes,.glu-foot-resources{width:100%!important}.glu-foot li,.glu-foot p{text-align:justify!important;text-justify:inter-word!important}}

/* v2.16.10 — impressão apenas dentro do Cronograma / Calendário */
.glu-cronograma-print-actions{display:flex;justify-content:flex-end;gap:10px;margin:0 0 14px}.glu-cronograma-print-actions .glu-print-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.glu-foot-notes li{text-align:justify;text-justify:inter-word}
/* v2.16.14 — notas por fotografia aprovada da equipa */
.glu-client-photo-figure{margin:0}.glu-client-photo-figure figcaption{font-size:12px;line-height:1.35;color:#555;padding:5px 2px 10px}

/* v2.18.6 — destaque visual das datas de início/fim nas atividades */
.glu-task-meta{display:flex!important;align-items:center;gap:5px;flex-wrap:wrap;color:#667;font-size:10px;margin-top:5px!important;line-height:1.35}
.glu-task-team{color:#667}
.glu-task-team:not(:empty)::after{content:" ·";margin-left:2px}
.glu-date-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:999px;font-weight:700;white-space:nowrap;border:1px solid transparent}
.glu-date-chip b{font-size:.88em;text-transform:uppercase;letter-spacing:.02em}
.glu-date-start{background:#f3d778;color:#3f310b;border-color:#d0a52f}
.glu-date-end{background:#20282e;color:#fff;border-color:#20282e}
.glu-date-arrow{font-weight:800;color:#8d6816}
.glu-task-status{color:#667}
.glu-task-status::before{content:" · ";}
@media(max-width:760px){.glu-task-meta{gap:4px}.glu-date-chip{padding:3px 6px;font-size:9px}.glu-date-arrow{font-size:9px}}
@media print{.glu-task-meta{gap:3px!important;font-size:6.7px!important;margin-top:2px!important}.glu-date-chip{padding:1px 3px!important;border-radius:3px!important}.glu-date-chip b{font-size:6px!important}.glu-date-start{background:#f3d778!important;color:#3f310b!important}.glu-date-end{background:#20282e!important;color:#fff!important}.glu-date-arrow{font-size:6px!important}.glu-task-status{font-size:6.5px!important}}


/* v2.18.8 — aviso automático de atraso por atividade */
.glu-delay-alert{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;font-weight:800;font-size:9px;letter-spacing:.01em;white-space:nowrap;border:1px solid #b3261e;background:#fff2f0;color:#9f1d17}
.glu-delay-alert.is-start-late,.glu-delay-alert.is-date-analysis{border-color:#d00000;background:#fff0ee;color:#d00000}
.glu-delay-alert::before{content:""}
@media(max-width:760px){.glu-delay-alert{font-size:8.5px;padding:3px 6px}}
@media print{.glu-delay-alert{font-size:6px!important;padding:1px 3px!important;border-radius:3px!important;background:#fff!important;color:#8b1d16!important;border:1px solid #8b1d16!important}.glu-delay-alert.is-start-late,.glu-delay-alert.is-date-analysis{color:#d00000!important;border-color:#d00000!important}}

/* v2.18.9 — número de dias de atraso sempre em vermelho */
.glu-delay-alert .glu-delay-days{color:#c62828!important;font-weight:900!important}
@media print{.glu-delay-alert .glu-delay-days{color:#b71c1c!important;font-weight:900!important}}
/* v2.18.43 - Portfolio client */
.glu-portfolio-client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.glu-portfolio-client-card{margin:0;border:1px solid #ddd;border-radius:12px;overflow:hidden;background:#fff}.glu-portfolio-client-card>div{position:relative}.glu-portfolio-client-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.glu-portfolio-client-card>div span{position:absolute;left:10px;bottom:10px;background:#111;color:#fff;padding:4px 8px;border-radius:6px;font-weight:700}.glu-portfolio-client-card figcaption{padding:12px;display:flex;gap:10px;align-items:center;justify-content:space-between}@media(max-width:700px){.glu-portfolio-client-grid{grid-template-columns:1fr}}

/* v2.18.45 - Visualização interativa do Portfólio */
.glu-portfolio-viewer,.glu-portfolio-lightbox{display:none;position:fixed;inset:0;z-index:999999}.glu-portfolio-viewer.is-open,.glu-portfolio-lightbox.is-open{display:block}.glu-portfolio-viewer-backdrop,.glu-portfolio-lightbox-backdrop{position:absolute;inset:0;background:rgba(7,11,16,.82);backdrop-filter:blur(3px)}.glu-portfolio-viewer-dialog{position:relative;z-index:2;width:min(1180px,calc(100% - 28px));max-height:calc(100vh - 28px);margin:14px auto;background:#fff;border-radius:18px;overflow:auto;box-shadow:0 24px 80px rgba(0,0,0,.35)}.glu-portfolio-viewer-dialog>header{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;background:#fff;border-bottom:1px solid #e5e5e5}.glu-portfolio-viewer-dialog>header strong{display:block;font-size:20px}.glu-portfolio-viewer-dialog>header span{display:block;color:#666;margin-top:2px}.glu-portfolio-viewer-close,.glu-portfolio-lightbox-close{border:0;background:#111;color:#fff;width:38px;height:38px;border-radius:50%;font-size:25px;line-height:1;cursor:pointer}.glu-portfolio-viewer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;padding:20px}.glu-portfolio-viewer-grid figure{margin:0;border:1px solid #e0e0e0;border-radius:14px;overflow:hidden;background:#fff}.glu-portfolio-viewer-grid figure>button{display:block;position:relative;width:100%;padding:0;border:0;background:#eee;cursor:zoom-in}.glu-portfolio-viewer-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.glu-portfolio-viewer-grid figure>button span{position:absolute;left:10px;bottom:10px;background:rgba(18,18,18,.85);color:#fff;padding:5px 8px;border-radius:7px;font-weight:700;font-size:12px}.glu-portfolio-viewer-grid figcaption{padding:11px 12px;line-height:1.4}.glu-portfolio-lightbox-dialog{position:relative;z-index:2;width:min(1200px,calc(100% - 28px));height:calc(100vh - 28px);margin:14px auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.glu-portfolio-lightbox-dialog img{max-width:100%;max-height:calc(100vh - 100px);object-fit:contain;border-radius:10px;box-shadow:0 18px 60px rgba(0,0,0,.4)}.glu-portfolio-lightbox-dialog p{margin:0;color:#fff;font-weight:700;text-align:center;max-width:900px}.glu-portfolio-lightbox-close{position:absolute;right:6px;top:6px}.glu-no-scroll{overflow:hidden!important}.glu-portfolio-client-actions{display:flex;gap:8px;flex-wrap:wrap}.glu-portfolio-client-actions .glu-secondary{flex:1 1 auto;text-align:center}@media(max-width:700px){.glu-portfolio-viewer-dialog{width:calc(100% - 16px);max-height:calc(100vh - 16px);margin:8px auto;border-radius:14px}.glu-portfolio-viewer-grid{grid-template-columns:1fr;padding:12px}.glu-portfolio-lightbox-dialog{width:calc(100% - 16px);height:calc(100vh - 16px);margin:8px auto}.glu-portfolio-client-actions{width:100%}}
/* v2.18.46 - Flyer premium por Plano de Obra */
.glu-portfolio-flyer-modal{display:none;position:fixed;inset:0;z-index:1000000}.glu-portfolio-flyer-modal.is-open{display:block}.glu-portfolio-flyer-backdrop{position:absolute;inset:0;background:rgba(7,11,16,.88);backdrop-filter:blur(5px)}.glu-portfolio-flyer-shell{position:relative;z-index:2;width:min(1080px,calc(100% - 24px));max-height:calc(100vh - 24px);margin:12px auto;overflow:auto;background:#15191d;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.45)}.glu-flyer-toolbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#11161a;color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}.glu-flyer-toolbar>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.glu-portfolio-flyer{width:min(210mm,100%);margin:0 auto;background:#fff;color:#1c2024;font-family:Arial,sans-serif;overflow:hidden}.glu-flyer-hero{position:relative;height:92mm;overflow:hidden;background:#15191d;color:#fff}.glu-flyer-hero>img{width:100%;height:100%;object-fit:cover;display:block}.glu-flyer-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,13,16,.92) 0%,rgba(10,13,16,.72) 38%,rgba(10,13,16,.1) 70%,rgba(10,13,16,.34) 100%)}.glu-flyer-brand,.glu-flyer-title,.glu-flyer-message{position:absolute;z-index:2}.glu-flyer-brand{left:10mm;top:9mm}.glu-flyer-brand b{display:block;font-size:27pt;line-height:1;letter-spacing:-1px}.glu-flyer-brand b span,.glu-flyer-footer b span{color:#c99b24}.glu-flyer-brand small{display:block;margin-top:3mm;font-size:7.5pt;letter-spacing:2.2px}.glu-flyer-title{left:10mm;bottom:11mm;max-width:105mm}.glu-flyer-title>span{display:block;font-size:8pt;letter-spacing:2.2px;color:#e7c75c}.glu-flyer-title h1{margin:2.5mm 0 1.5mm;font-size:25pt;line-height:1.05}.glu-flyer-title p{margin:0;font-size:11.5pt}.glu-flyer-message{right:9mm;bottom:10mm;text-align:right;font-size:20pt;line-height:1.03}.glu-flyer-message strong{color:#d4a62e}.glu-flyer-message small{display:block;margin-top:3mm;font-size:8pt;line-height:1.35;letter-spacing:.3px}.glu-flyer-compare{display:grid;grid-template-columns:1fr 1fr;gap:4mm;padding:6mm 6mm 4mm}.glu-flyer-compare figure{margin:0;border:1px solid #e1e1e1;border-radius:3mm;overflow:hidden;background:#fff}.glu-flyer-compare figure>div{position:relative;height:67mm;background:#eee}.glu-flyer-compare img{width:100%;height:100%;object-fit:cover;display:block}.glu-flyer-compare figure>div>span{position:absolute;left:3mm;top:3mm;background:#15191d;color:#fff;padding:1.8mm 3.2mm;border-radius:1.5mm;font-size:8pt;font-weight:800;letter-spacing:.4px}.glu-flyer-compare figure:nth-child(2)>div>span{background:#b98914}.glu-flyer-compare figcaption{padding:3mm 3.5mm;font-size:9pt;font-weight:700;line-height:1.35}.glu-flyer-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#777}.glu-flyer-details{display:grid;grid-template-columns:repeat(4,1fr);gap:3mm;padding:0 6mm 5mm}.glu-flyer-details figure{position:relative;margin:0;height:44mm;overflow:hidden;border-radius:2.2mm;background:#eee}.glu-flyer-details img{width:100%;height:100%;object-fit:cover}.glu-flyer-details span{position:absolute;left:2mm;bottom:2mm;background:rgba(15,18,21,.84);color:#fff;padding:1.2mm 2mm;border-radius:1mm;font-size:6.5pt;font-weight:700}.glu-flyer-details figcaption{display:none}.glu-flyer-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin:0 6mm;padding:5mm 0}.glu-flyer-benefits div{padding:0 4mm;border-right:1px solid #e3e3e3}.glu-flyer-benefits div:last-child{border-right:0}.glu-flyer-benefits b{display:block;font-size:8pt;color:#8f6912;margin-bottom:1.8mm}.glu-flyer-benefits span{display:block;font-size:7.4pt;line-height:1.35;color:#444}.glu-flyer-footer{display:grid;grid-template-columns:1.2fr 1.5fr 1fr;align-items:center;gap:5mm;background:#11161a;color:#fff;margin-top:6mm;padding:6mm 8mm}.glu-flyer-footer b{display:block;font-size:19pt}.glu-flyer-footer small{display:block;margin-top:1mm;font-size:6.5pt;letter-spacing:.6px;color:#ddd}.glu-flyer-footer p{margin:0;text-align:center;font-size:9pt;line-height:1.35;color:#e8c35a}.glu-flyer-footer>div:last-child{text-align:right}.glu-flyer-footer strong{display:block;font-size:9pt}.glu-portfolio-client-top-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
@media(max-width:700px){.glu-portfolio-flyer-shell{width:calc(100% - 12px);max-height:calc(100vh - 12px);margin:6px auto;border-radius:12px}.glu-flyer-toolbar{align-items:flex-start}.glu-flyer-toolbar>div{justify-content:flex-end}.glu-portfolio-flyer{width:100%}.glu-flyer-hero{height:58vw;min-height:250px}.glu-flyer-brand{left:18px;top:18px}.glu-flyer-brand b{font-size:26px}.glu-flyer-brand small{font-size:8px;letter-spacing:1.5px}.glu-flyer-title{left:18px;bottom:18px;max-width:65%}.glu-flyer-title h1{font-size:27px}.glu-flyer-title p{font-size:13px}.glu-flyer-message{right:14px;bottom:18px;font-size:16px}.glu-flyer-message small{font-size:8px}.glu-flyer-compare{grid-template-columns:1fr;padding:12px}.glu-flyer-compare figure>div{height:52vw;min-height:210px}.glu-flyer-details{grid-template-columns:repeat(2,1fr);padding:0 12px 12px;gap:8px}.glu-flyer-details figure{height:34vw;min-height:130px}.glu-flyer-benefits{grid-template-columns:1fr 1fr;margin:0 12px;gap:14px}.glu-flyer-benefits div{border-right:0;padding:0}.glu-flyer-footer{grid-template-columns:1fr;text-align:center}.glu-flyer-footer>div:last-child{text-align:center}}
@media print{@page{size:A4 portrait;margin:0}body.glu-flyer-printing *{visibility:hidden!important}body.glu-flyer-printing .glu-portfolio-flyer,body.glu-flyer-printing .glu-portfolio-flyer *{visibility:visible!important}body.glu-flyer-printing .glu-portfolio-flyer{position:absolute!important;left:0!important;top:0!important;width:210mm!important;min-height:297mm!important;margin:0!important;box-shadow:none!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body.glu-flyer-printing .glu-flyer-toolbar{display:none!important}body.glu-flyer-printing .glu-flyer-hero{height:92mm!important}body.glu-flyer-printing .glu-flyer-compare figure>div{height:67mm!important}body.glu-flyer-printing .glu-flyer-details figure{height:44mm!important}}

/* v2.18.48 — Portfólio operacional, sincronização e aprovação geral */
.glu-portfolio-bulk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;padding:14px;border:1px solid #e3e6ea;border-radius:14px;background:#f8fafb}.glu-portfolio-bulk-actions form{margin:0}.glu-portfolio-bulk-actions small{flex-basis:100%;color:#667085}.glu-flyer-section-title{grid-column:1/-1;margin:18px 0 8px;font-size:18px;letter-spacing:.08em;color:#1d2327;border-bottom:2px solid #c89d2b;padding-bottom:6px}.glu-flyer-section-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.glu-flyer-section-grid figure{margin:0;break-inside:avoid;position:relative;height:auto!important;overflow:visible!important}.glu-flyer-section-grid img{width:100%;height:220px!important;object-fit:cover;border-radius:10px}.glu-flyer-section-grid figure>span{position:absolute;top:10px;left:10px;bottom:auto!important;background:rgba(18,18,18,.86);color:#fff;padding:5px 9px;border-radius:6px;font-size:11px;font-weight:800}.glu-flyer-section-grid figcaption{display:block!important;padding:7px 2px 3px;font-size:12px;color:#333}@media(max-width:720px){.glu-portfolio-bulk-actions{display:grid}.glu-portfolio-bulk-actions form,.glu-portfolio-bulk-actions button{width:100%}.glu-flyer-section-grid{grid-template-columns:1fr}.glu-flyer-section-grid img{height:auto!important;max-height:none}}@media print{body.glu-flyer-printing .glu-flyer-section-grid{display:grid!important;grid-template-columns:1fr 1fr!important}.glu-flyer-section-grid figure{page-break-inside:avoid}.glu-flyer-section-title{page-break-after:avoid}}

.glu-portfolio-bulk-progress{flex-basis:100%;display:grid;grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:10px;margin-top:4px}.glu-portfolio-bulk-progress[hidden]{display:none!important}.glu-portfolio-bulk-progress>div{height:10px;background:#e7e9ec;border-radius:999px;overflow:hidden}.glu-portfolio-bulk-progress>div>span{display:block;width:0;height:100%;background:linear-gradient(90deg,#a97911,#d8b64b);transition:width .2s ease}.glu-portfolio-bulk-progress strong{font-size:12px;color:#4a5560}.glu-portfolio-bulk-btn[disabled]{opacity:.55;cursor:wait}
/* v2.18.55 — Segurança em obra */
.glu-safety-panel .glu-safety-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 20px}.glu-safety-summary>div{padding:16px;border:1px solid #e0e4e7;border-radius:12px;background:#fff;text-align:center}.glu-safety-summary b{display:block;font-size:26px}.glu-safety-item{border:1px solid #dde2e5;border-left:6px solid #c99b24;border-radius:12px;background:#fff;padding:18px;margin:16px 0}.glu-safety-item.glu-safety-warning{border-left-color:#b42318}.glu-safety-item.glu-safety-success{border-left-color:#198754}.glu-safety-body{display:grid;grid-template-columns:minmax(160px,260px) 1fr;gap:18px;margin-top:16px}.glu-safety-body img{width:100%;height:auto;border-radius:9px}@media(max-width:760px){.glu-safety-panel .glu-safety-summary,.glu-safety-body{grid-template-columns:1fr}}


/* v2.18.58 — Ticket de Segurança e origem cliente */
.glu-ticket-safety-note{margin:14px 0 18px;padding:13px 15px;border-left:4px solid #c99b24;background:#fff8e6;border-radius:8px;line-height:1.5}
.glu-ticket-safety-link{padding:9px 12px;background:#fff8e6;border-left:4px solid #c99b24;border-radius:6px}
.glu-ticket-safety-link a{font-weight:700}
.glu-safety-source-ticket{margin:10px 0;padding:10px 12px;background:#eef6ff;border-left:4px solid #3978b8;border-radius:7px}
/* v2.18.59 — Segurança no Portal por estatuto */
.glu-safety-client-list{display:grid;gap:16px}.glu-safety-client-card{border:1px solid #d7dce0;border-left:5px solid #c99b24;border-radius:12px;padding:16px;background:#fff}.glu-safety-client-card.success{border-left-color:#1d7a3a}.glu-safety-client-card.critical{border-left-color:#b42318}.glu-safety-client-card header h4{margin:5px 0 0}.glu-safety-client-meta{display:flex;gap:10px 18px;flex-wrap:wrap;margin:12px 0;color:#5f6870}.glu-safety-client-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.glu-safety-client-photos figure{margin:0}.glu-safety-client-photos img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}.glu-safety-client-photos figcaption{font-size:12px;margin-top:5px;color:#687078}@media(max-width:700px){.glu-safety-client-photos{grid-template-columns:1fr}}

/* v2.18.73 — alterações formais de prazo / atrasos */
.glu-delay-alert.is-manual-delay{border-color:#d39a00;background:#fff8df;color:#805b00;box-shadow:0 0 0 1px rgba(211,154,0,.08)}
.glu-date-chip.is-adjusted{border-color:#d39a00;background:#fffaf0}.glu-date-base{display:block;margin-top:2px;font-size:8px;font-weight:600;color:#8b6a18;text-transform:none}
.glu-delay-dialog{width:min(720px,calc(100vw - 28px));max-width:720px;border:0;border-radius:16px;padding:0;box-shadow:0 22px 70px rgba(0,0,0,.28);color:#1d2327}.glu-delay-dialog::backdrop{background:rgba(12,16,20,.62)}
.glu-delay-dialog-form{margin:0}.glu-delay-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;background:#111619;color:#fff;border-bottom:4px solid #c99b24}.glu-delay-dialog-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.glu-delay-attention{grid-row:1/3;font-size:26px;color:#f0c24b}.glu-delay-dialog-head strong{font-size:18px}.glu-delay-dialog-head small{display:block;margin-top:3px;color:#e8dfc6}.glu-delay-dialog-close{width:34px;height:34px;border:1px solid #5b6064;border-radius:8px;background:#252a2e;color:#fff;font-size:24px;cursor:pointer}
.glu-delay-dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 22px}.glu-delay-dialog-grid label{display:flex;flex-direction:column;gap:6px}.glu-delay-dialog-grid label>span{font-size:12px;font-weight:800;color:#444}.glu-delay-dialog-grid select,.glu-delay-dialog-grid textarea{width:100%;box-sizing:border-box;border:1px solid #c9ced3;border-radius:8px;background:#fff;padding:10px 11px;font:inherit}.glu-delay-dialog-grid textarea{resize:vertical}.glu-delay-dialog-grid .glu-delay-full{grid-column:1/-1}
.glu-delay-dialog-foot{padding:0 22px 20px}.glu-delay-dialog-foot p{margin:0 0 14px;padding:10px 12px;border-left:4px solid #c99b24;background:#fff8df;font-size:12px;line-height:1.5}.glu-delay-dialog-foot>div{display:flex;justify-content:flex-end;gap:9px}.glu-delay-cancel,.glu-delay-confirm{border:0;border-radius:8px;padding:10px 15px;font-weight:800;cursor:pointer}.glu-delay-cancel{background:#e9ecef;color:#202529}.glu-delay-confirm{background:#c99b24;color:#111}.glu-delay-confirm:disabled{opacity:.55;cursor:wait}
.glu-delay-register .glu-delay-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 20px}.glu-delay-kpis>div{padding:14px;border:1px solid #e0d6b5;border-radius:11px;background:#fffaf0;display:flex;flex-direction:column;gap:4px}.glu-delay-kpis span{font-size:12px;color:#676d72}.glu-delay-kpis strong{font-size:24px}.glu-delay-current,.glu-delay-history{margin-top:22px}.glu-delay-current h4,.glu-delay-history h4{margin:0 0 10px}.glu-delay-pill{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900}.glu-delay-pill.is-late{background:#fff0ee;color:#a52318;border:1px solid #e4aaa4}.glu-delay-pill.is-recovered{background:#eef8f1;color:#23643d;border:1px solid #acd2ba}.glu-delay-note{display:block;margin-top:5px;color:#6d7378}
@media(max-width:760px){.glu-delay-dialog-grid{grid-template-columns:1fr}.glu-delay-dialog-grid .glu-delay-full{grid-column:auto}.glu-delay-register .glu-delay-kpis{grid-template-columns:1fr 1fr}.glu-delay-dialog-foot>div{flex-direction:column-reverse}.glu-delay-cancel,.glu-delay-confirm{width:100%}}
@media print{.glu-delay-alert.is-manual-delay{color:#8b6500!important;border-color:#8b6500!important}.glu-date-base{display:none!important}}


/* v2.18.83.14 - texto corrido justificado; cabeçalhos, botões e navegação mantêm o layout original */
.glu-plan-wrap .glu-weekly-public p,
.glu-plan-wrap .glu-weekly-public li,
.glu-plan-wrap .glu-add-public p,
.glu-plan-wrap .glu-add-public li,
.glu-plan-wrap .glu-project-facts p,
.glu-plan-wrap .glu-header-notes span,
.glu-client-progress-entry p{
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
}


/* v2.18.83.23 — As Minhas Obras */
.glu-client-menu-item.is-myworks>summary{border-left:5px solid #2d6a4f;background:linear-gradient(90deg,#f5fbf6,#fffdf8)}
.glu-myworks-wrap{display:grid;gap:16px}.glu-myworks-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.glu-myworks-summary>div{padding:14px;border:1px solid #d9c990;border-radius:12px;background:#fbfaf6}.glu-myworks-summary strong{display:block;font-size:24px;color:#9a6b00}.glu-myworks-summary span{display:block;font-size:12px;color:#62686d;margin-top:3px}.glu-myworks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px}.glu-mywork-card{border:1px solid #ddd2ad;border-radius:14px;background:#fff;padding:16px;box-shadow:0 4px 14px rgba(0,0,0,.04)}.glu-mywork-card.is-current{border:2px solid #c99b24}.glu-mywork-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.glu-mywork-head>div{min-width:0}.glu-mywork-head strong{display:block;font-size:17px;color:#1b1f22}.glu-mywork-head small{display:block;color:#72777c;margin-top:3px}.glu-mywork-status{white-space:nowrap;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800;background:#f0f0f0}.glu-mywork-status.is-active{background:#e8f5eb;color:#216337}.glu-mywork-status.is-configuration{background:#fff5d8;color:#7a5a00}.glu-mywork-status.is-inactive{background:#f4e8e6;color:#8b3329}.glu-mywork-location{margin:10px 0!important;color:#5d646a!important}.glu-mywork-progress{display:flex;align-items:center;gap:10px;margin:12px 0}.glu-mywork-progress>span{height:8px;flex:1;background:#ece8dc;border-radius:999px;overflow:hidden}.glu-mywork-progress i{display:block;height:100%;background:#c99b24;border-radius:999px}.glu-mywork-progress b{font-size:13px}.glu-mywork-meta{display:grid;gap:5px;font-size:12px;color:#666}.glu-mywork-meta span strong{color:#222}.glu-mywork-open{margin-top:14px}.glu-mywork-current,.glu-mywork-disabled{margin-top:14px;padding:9px 11px;border-radius:8px;font-size:12px;font-weight:700}.glu-mywork-current{background:#fff7df;color:#725300}.glu-mywork-disabled{background:#f3f3f3;color:#686868}.glu-myworks-note{font-size:12px!important;color:#687078!important;margin:0!important}
@media(max-width:700px){.glu-myworks-summary{grid-template-columns:1fr 1fr}.glu-myworks-summary>div:last-child{grid-column:1/-1}.glu-myworks-grid{grid-template-columns:1fr}.glu-mywork-head{flex-direction:column}.glu-mywork-status{align-self:flex-start}}

/* v2.18.83.32 editor rich: estilos principais em front-admin.css */
.glu-rich-editor{margin:10px 0 12px}.glu-rich-surface{min-height:145px}

/* v2.18.83.33 — evita overflow dos formulários públicos em desktop/Mac */
.glu-client-portal *,.glu-client-login *{box-sizing:border-box}.glu-client-portal input,.glu-client-portal select,.glu-client-portal textarea,.glu-client-login input,.glu-client-login select,.glu-client-login textarea{max-width:100%;min-width:0}.glu-client-portal .glu-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}.glu-client-portal .glu-form-grid>*{min-width:0;max-width:100%}@media(max-width:760px){.glu-client-portal .glu-form-grid{grid-template-columns:1fr}}


/* v2.18.83.55 — pedido de acesso compacto e referência automática */
.glu-access-request-form{max-width:860px;margin:14px auto 0!important}
.glu-access-request-form .glu-form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 14px!important;margin-bottom:12px!important}
.glu-access-request-form label{gap:5px!important;font-size:13px!important}
.glu-access-request-form label>span{font-size:13px!important;line-height:1.25!important}
.glu-access-request-form input:not([type=checkbox]):not([type=hidden]),.glu-access-request-form select,.glu-access-request-form textarea{min-height:42px!important;padding:8px 10px!important;font-size:15px!important;border-radius:7px!important}
.glu-access-request-form textarea{min-height:88px!important}
.glu-access-request-form .glu-consent-line{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:9px!important;width:100%!important;margin:12px 0!important;font-weight:600!important;line-height:1.45!important}
.glu-access-request-form .glu-consent-line input[type=checkbox]{flex:0 0 auto!important;width:18px!important;height:18px!important;margin:2px 0 0!important}
.glu-access-request-form .glu-consent-line span{display:block!important;min-width:0!important;font-size:13px!important;line-height:1.45!important}
.glu-access-request-form .glu-access-submit{display:flex!important;justify-content:flex-start!important;margin-top:8px!important}
.glu-access-request-form .glu-access-submit .glu-gold-btn{width:auto!important;min-width:220px!important;padding:10px 18px!important;font-size:14px!important}
.glu-auto-reference{margin:0 0 12px;padding:9px 12px;border:1px solid #d8c078;border-left:4px solid #c99b24;border-radius:7px;background:#fffaf0;color:#34383b;font-size:13px;line-height:1.4}
.glu-auto-reference strong{color:#202427}
@media(max-width:720px){.glu-access-request-form{max-width:none;margin-top:10px!important}.glu-access-request-form .glu-form-grid{grid-template-columns:1fr!important;gap:10px!important}.glu-access-request-form input:not([type=checkbox]):not([type=hidden]),.glu-access-request-form select{min-height:40px!important;font-size:14px!important;padding:7px 9px!important}.glu-access-request-form .glu-access-submit .glu-gold-btn{width:100%!important;min-width:0!important}}


/* v2.18.83.56 — formulário de acesso mais compacto e consentimento sempre em largura total */
.glu-client-contract-summary .glu-access-request-form{
  display:block!important;
  width:100%!important;
  max-width:760px!important;
  margin:10px auto 0!important;
}
.glu-client-contract-summary .glu-access-request-form>.glu-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px 12px!important;
  width:100%!important;
  margin:0 0 9px!important;
}
.glu-client-contract-summary .glu-access-request-form .glu-form-grid label{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  min-width:0!important;
  max-width:none!important;
  width:auto!important;
  margin:0!important;
}
.glu-client-contract-summary .glu-access-request-form .glu-form-grid label>span{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  font-size:12px!important;
  line-height:1.25!important;
}
.glu-client-contract-summary .glu-access-request-form input:not([type=checkbox]):not([type=hidden]),
.glu-client-contract-summary .glu-access-request-form select{
  min-height:36px!important;
  height:36px!important;
  padding:5px 9px!important;
  font-size:13px!important;
  line-height:1.2!important;
  border-radius:6px!important;
}
.glu-client-contract-summary .glu-access-request-form textarea{
  min-height:72px!important;
  padding:7px 9px!important;
  font-size:13px!important;
  line-height:1.4!important;
}
.glu-client-contract-summary .glu-access-request-form>.glu-consent-line{
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
  margin:10px 0 8px!important;
  padding:0!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.45!important;
  color:#30363b!important;
}
.glu-client-contract-summary .glu-access-request-form>.glu-consent-line input[type=checkbox]{
  width:17px!important;
  min-width:17px!important;
  max-width:17px!important;
  height:17px!important;
  margin:1px 0 0!important;
  padding:0!important;
}
.glu-client-contract-summary .glu-access-request-form>.glu-consent-line>span{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  line-height:1.45!important;
}
.glu-client-contract-summary .glu-access-request-form .glu-auto-reference{
  margin:0 0 9px!important;
  padding:7px 10px!important;
  font-size:12px!important;
}
.glu-client-contract-summary .glu-access-request-form>.glu-access-submit{
  display:flex!important;
  width:100%!important;
  justify-content:flex-end!important;
  margin-top:8px!important;
}
.glu-client-contract-summary .glu-access-request-form>.glu-access-submit .glu-gold-btn{
  width:auto!important;
  min-width:190px!important;
  min-height:38px!important;
  padding:8px 14px!important;
  font-size:13px!important;
}
@media(max-width:720px){
  .glu-client-contract-summary .glu-access-request-form{max-width:none!important}
  .glu-client-contract-summary .glu-access-request-form>.glu-form-grid{grid-template-columns:1fr!important;gap:8px!important}
  .glu-client-contract-summary .glu-access-request-form input:not([type=checkbox]):not([type=hidden]),
  .glu-client-contract-summary .glu-access-request-form select{height:36px!important;min-height:36px!important;font-size:13px!important}
  .glu-client-contract-summary .glu-access-request-form>.glu-consent-line{grid-template-columns:19px minmax(0,1fr)!important;gap:7px!important;font-size:12px!important}
  .glu-client-contract-summary .glu-access-request-form>.glu-access-submit .glu-gold-btn{width:100%!important;min-width:0!important}
}

/* v2.18.83.57 — consentimento robusto no pedido de acesso */
.glu-access-request-form>.glu-consent-line{
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-items:start!important;
  column-gap:9px!important;
  width:100%!important;
  max-width:100%!important;
  margin:10px 0 8px!important;
  padding:0!important;
  box-sizing:border-box!important;
}
.glu-access-request-form>.glu-consent-line>input[type=checkbox]{
  grid-column:1!important;
  width:17px!important;
  min-width:17px!important;
  max-width:17px!important;
  height:17px!important;
  min-height:17px!important;
  margin:2px 0 0!important;
  padding:0!important;
  justify-self:start!important;
}
.glu-access-request-form>.glu-consent-line>label{
  grid-column:2!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.45!important;
  color:#30363b!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
}
@media(max-width:720px){
  .glu-access-request-form>.glu-consent-line{grid-template-columns:17px minmax(0,1fr)!important;column-gap:8px!important}
  .glu-access-request-form>.glu-consent-line>label{font-size:12px!important;line-height:1.4!important}
}


/* v2.18.83.58 — referência automática reforçada e formulário de acesso realmente compacto */
.glu-general-access-request .glu-client-contract-summary{padding:14px!important}
.glu-general-access-request .glu-panel-title{margin-bottom:8px!important}
.glu-general-access-request .glu-panel-title h3{font-size:18px!important;line-height:1.2!important;margin:0 0 3px!important}
.glu-general-access-request .glu-panel-title p{font-size:12px!important;line-height:1.35!important;margin:0!important}
.glu-general-access-request .glu-access-request-form{
  width:100%!important;
  max-width:640px!important;
  margin:8px auto 0!important;
}
.glu-general-access-request .glu-access-request-form>.glu-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px 10px!important;
  margin:0 0 7px!important;
}
.glu-general-access-request .glu-access-request-form .glu-form-grid label{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  margin:0!important;
  min-width:0!important;
}
.glu-general-access-request .glu-access-request-form .glu-form-grid label>span{
  font-size:11px!important;
  line-height:1.2!important;
  margin:0!important;
}
.glu-general-access-request .glu-access-request-form input:not([type=checkbox]):not([type=hidden]),
.glu-general-access-request .glu-access-request-form select{
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:3px 8px!important;
  font-size:12px!important;
  line-height:1.15!important;
  border-radius:5px!important;
}
.glu-general-access-request .glu-access-request-form input::placeholder{font-size:12px!important}
.glu-general-access-request .glu-auto-reference{
  margin:0 0 7px!important;
  padding:6px 9px!important;
  font-size:11px!important;
  line-height:1.3!important;
}
.glu-general-access-request .glu-access-request-form>.glu-consent-line{
  margin:7px 0 6px!important;
  grid-template-columns:16px minmax(0,1fr)!important;
  column-gap:7px!important;
}
.glu-general-access-request .glu-access-request-form>.glu-consent-line>input[type=checkbox]{
  width:15px!important;min-width:15px!important;max-width:15px!important;height:15px!important;min-height:15px!important;
}
.glu-general-access-request .glu-access-request-form>.glu-consent-line>label{font-size:11px!important;line-height:1.35!important}
.glu-general-access-request .glu-access-request-form>.glu-access-submit{margin-top:6px!important}
.glu-general-access-request .glu-access-request-form>.glu-access-submit .glu-gold-btn{
  min-width:170px!important;min-height:34px!important;padding:6px 12px!important;font-size:12px!important;
}
@media(max-width:720px){
  .glu-general-access-request .glu-access-request-form{max-width:none!important}
  .glu-general-access-request .glu-access-request-form>.glu-form-grid{grid-template-columns:1fr!important;gap:6px!important}
  .glu-general-access-request .glu-access-request-form input:not([type=checkbox]):not([type=hidden]),
  .glu-general-access-request .glu-access-request-form select{height:34px!important;min-height:34px!important;max-height:34px!important;font-size:12px!important}
  .glu-general-access-request .glu-access-request-form>.glu-access-submit .glu-gold-btn{width:100%!important;min-width:0!important}
}
