/*
 * Green Prime premium interface
 * Final visual layer loaded after legacy module styles. It intentionally owns
 * the shared shell and component language while legacy files retain print and
 * document-specific rules.
 */
@font-face{
  font-family:"Plus Jakarta Sans";
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url("assets/plus-jakarta-sans-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Plus Jakarta Sans";
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url("assets/plus-jakarta-sans-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root{
  --gp-premium-forest:#174936;
  --gp-premium-deep:#0f3428;
  --gp-premium-moss:#316b51;
  --gp-premium-gold:#c39a56;
  --gp-premium-canvas:#f5f2ea;
  --gp-premium-surface:#fffdf8;
  --gp-premium-ink:#1c2d26;
  --gp-premium-muted:#77847a;
  --gp-premium-line:#e5e3d8;
  --gp-premium-danger:#ad553d;
  --gp-premium-shadow:0 10px 30px rgba(31,52,41,.07);
  --gp-premium-font:"Plus Jakarta Sans","Avenir Next",Inter,ui-sans-serif,system-ui,sans-serif;
}

:where(body.gp-platform,body.gp-portal,body.gp-commercial,.auth-page,.app-shell){
  font-family:var(--gp-premium-font);
  letter-spacing:-.012em;
}
:where(body.gp-platform,body.gp-portal,body.gp-commercial) *,
:where(body.gp-platform,body.gp-portal,body.gp-commercial) *::before,
:where(body.gp-platform,body.gp-portal,body.gp-commercial) *::after{box-sizing:border-box}
:where(button,input,select,textarea){font:inherit}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid rgba(195,154,86,.45)!important;outline-offset:2px}

/* Shared premium controls */
:where(.gp-platform,.gp-portal,.gp-commercial) :is(.gp-primary,.primary,.gp-ui-button,.portal-primary,.primary-action){
  min-height:40px!important;padding:0 15px!important;border:1px solid transparent!important;border-radius:10px!important;
  background:var(--gp-premium-forest)!important;color:#fff9e9!important;font-size:12px!important;font-weight:800!important;
  letter-spacing:-.01em!important;box-shadow:0 8px 17px rgba(23,73,54,.16)!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
}
:where(.gp-platform,.gp-portal,.gp-commercial) :is(.gp-primary,.primary,.gp-ui-button,.portal-primary,.primary-action):hover{
  background:#236248!important;transform:translateY(-2px);box-shadow:0 11px 22px rgba(23,73,54,.21)!important;
}
:where(.gp-platform,.gp-portal,.gp-commercial) :is(.gp-secondary,.secondary,.gp-ui-button--secondary,.portal-secondary){
  min-height:40px!important;padding:0 14px!important;border:1px solid #d9ddd2!important;border-radius:10px!important;
  background:rgba(255,253,248,.8)!important;color:var(--gp-premium-forest)!important;font-size:12px!important;font-weight:800!important;
  box-shadow:none!important;transition:background .18s ease,transform .18s ease!important;
}
:where(.gp-platform,.gp-portal,.gp-commercial) :is(.gp-secondary,.secondary,.gp-ui-button--secondary,.portal-secondary):hover{background:#fffdf8!important;transform:translateY(-1px)}
:where(.gp-platform,.gp-portal,.gp-commercial) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){
  min-height:42px;border:1px solid #dfe1d8!important;border-radius:10px!important;background:#fbfaf5!important;
  color:var(--gp-premium-ink)!important;font-size:13px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important;
}
:where(.gp-platform,.gp-portal,.gp-commercial) textarea{min-height:96px;padding:12px!important;line-height:1.55!important}
:where(.gp-platform,.gp-portal,.gp-commercial) :is(input,select,textarea):focus{border-color:#90ac94!important;box-shadow:0 0 0 3px rgba(49,107,81,.1)!important}

/* Administrative shell */
body.gp-platform{
  min-height:100dvh!important;background:radial-gradient(circle at 82% -12%,rgba(195,154,86,.13),transparent 28rem),var(--gp-premium-canvas)!important;
  color:var(--gp-premium-ink)!important;font-family:var(--gp-premium-font)!important;
}
body.gp-platform .gp-sidebar{
  position:fixed!important;z-index:40!important;inset:0 auto 0 0!important;width:248px!important;padding:25px 16px 18px!important;
  display:flex!important;flex-direction:column!important;background:var(--gp-premium-deep)!important;color:#e4eee6!important;
  border:0!important;box-shadow:10px 0 30px rgba(15,52,40,.09)!important;
}
body.gp-platform .gp-sidebar-brand{
  display:flex!important;align-items:center!important;gap:11px!important;padding:1px 12px 31px!important;
  color:#f8f2e5!important;text-decoration:none!important;
}
body.gp-platform .gp-sidebar-brand img{display:block!important;width:39px!important;height:39px!important;object-fit:contain!important;filter:drop-shadow(0 7px 10px rgba(0,0,0,.14))!important}
body.gp-platform .gp-sidebar-brand span{display:grid!important;gap:3px!important}
body.gp-platform .gp-sidebar-brand strong{color:#f8f2e5!important;font-size:14px!important;letter-spacing:.12em!important}
body.gp-platform .gp-sidebar-brand small{color:#b9d1bd!important;font-family:"DM Mono",monospace!important;font-size:8px!important;letter-spacing:.22em!important}
body.gp-platform .gp-sidebar nav{overflow:auto!important;flex:1!important;padding:0 1px!important}
body.gp-platform .gp-nav-section{margin:0 0 25px!important}
body.gp-platform .gp-nav-label{margin:0!important;padding:0 12px 8px!important;color:#799b86!important;font-size:9px!important;font-weight:800!important;letter-spacing:.15em!important;text-transform:uppercase!important}
body.gp-platform .gp-nav-section>div{display:grid!important;gap:3px!important}
body.gp-platform .gp-nav-link{
  display:flex!important;align-items:center!important;gap:11px!important;min-height:38px!important;margin:0!important;padding:10px 11px!important;
  border:0!important;border-radius:10px!important;background:transparent!important;color:#c9dbce!important;text-decoration:none!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
body.gp-platform .gp-nav-link:hover{background:rgba(255,255,255,.07)!important;color:#fff5db!important;transform:translateX(2px)}
body.gp-platform .gp-nav-link.is-active{background:#285b45!important;color:#fff5d8!important;box-shadow:inset 3px 0 var(--gp-premium-gold)!important}
body.gp-platform .gp-nav-link>span{display:grid!important;place-items:center!important;width:17px!important;color:#a8c9ae!important;font-size:15px!important;font-weight:400!important}
body.gp-platform .gp-nav-link.is-active>span{color:var(--gp-premium-gold)!important}
body.gp-platform .gp-nav-link b{font-size:12px!important;font-weight:600!important}
body.gp-platform .gp-sidebar footer{margin-top:auto!important;padding:16px 8px 0!important;border-top:1px solid rgba(229,238,230,.12)!important}
body.gp-platform .gp-user-mini{display:flex!important;align-items:center!important;gap:10px!important;margin-bottom:14px!important}
body.gp-platform .gp-user-mini>span{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:11px!important;background:#e8d5a6!important;color:var(--gp-premium-deep)!important;font-size:12px!important;font-weight:800!important}
body.gp-platform .gp-user-mini div{display:grid!important;gap:2px!important;min-width:0!important}
body.gp-platform .gp-user-mini b{overflow:hidden!important;color:#eef4ee!important;font-size:11px!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body.gp-platform .gp-user-mini small,body.gp-platform .gp-sidebar footer>small{color:#88ad94!important;font-size:9px!important}
body.gp-platform .gp-logout{display:block!important;margin:0 0 12px!important;color:#a9c8ae!important;font-size:10px!important;text-decoration:none!important}
body.gp-platform .gp-logout:hover{color:#fff5db!important}
body.gp-platform .gp-app{min-height:100dvh!important;margin-left:248px!important;background:transparent!important}
body.gp-platform .gp-topbar{
  position:sticky!important;z-index:30!important;top:0!important;display:flex!important;align-items:center!important;gap:18px!important;
  height:72px!important;padding:0 38px!important;border:0!important;border-bottom:1px solid rgba(216,218,206,.78)!important;
  background:rgba(245,242,234,.86)!important;backdrop-filter:blur(18px)!important;box-shadow:none!important;
}
body.gp-platform .gp-topbar-leading{display:flex!important;align-items:center!important;gap:10px!important}
body.gp-platform .gp-menu-toggle{display:none!important}
body.gp-platform .gp-back{display:inline-flex!important;align-items:center!important;gap:7px!important;height:34px!important;padding:0 10px!important;border:1px solid #dfe1d7!important;border-radius:9px!important;background:rgba(255,253,248,.65)!important;color:var(--gp-premium-forest)!important;font-size:11px!important}
body.gp-platform .gp-top-current{display:grid!important;gap:2px!important}
body.gp-platform .gp-top-current small{margin:0!important;color:#829083!important;font-size:9px!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase!important}
body.gp-platform .gp-top-current strong{color:var(--gp-premium-deep)!important;font-size:13px!important;font-weight:800!important}
body.gp-platform .gp-top-actions{display:flex!important;align-items:center!important;gap:10px!important;margin-left:auto!important}
body.gp-platform .gp-notify,body.gp-platform .gp-icon-button{
  position:relative!important;display:grid!important;place-items:center!important;width:34px!important;height:34px!important;padding:0!important;
  border:1px solid #dfe1d7!important;border-radius:10px!important;background:rgba(255,253,248,.72)!important;color:var(--gp-premium-forest)!important;
}
body.gp-platform .gp-notify svg{width:16px!important}
body.gp-platform .gp-main{width:min(1510px,100%)!important;margin:0 auto!important;padding:32px 38px 56px!important;background:transparent!important}
body.gp-platform :is(.gp-page-header,.gp-page-head,.gp-page-heading,.gp-module-header){display:flex!important;align-items:end!important;justify-content:space-between!important;gap:18px!important;margin:0 0 26px!important}
body.gp-platform :is(.gp-page-header,.gp-page-head,.gp-page-heading,.gp-module-header) :is(h1,h2){margin:0!important;color:var(--gp-premium-deep)!important;font-size:clamp(26px,3vw,35px)!important;letter-spacing:-.055em!important;line-height:1.08!important}
body.gp-platform :is(.gp-page-header,.gp-page-head,.gp-page-heading,.gp-module-header) :is(p,small){color:var(--gp-premium-muted)!important;font-size:12px!important;line-height:1.6!important}
body.gp-platform .gp-eyebrow{margin:0 0 8px!important;color:var(--gp-premium-moss)!important;font-size:9px!important;font-weight:800!important;letter-spacing:.17em!important;text-transform:uppercase!important}

/* Platform module surfaces */
body.gp-platform :is(.gp-card,.gp-panel,.gp-section,.gp-module-card,.gp-stat-card,.gp-metric,.gp-summary-card,.gp-table-card){
  border:1px solid var(--gp-premium-line)!important;border-radius:15px!important;background:rgba(255,253,248,.84)!important;
  box-shadow:0 6px 18px rgba(54,69,55,.035)!important;
}
body.gp-platform :is(.gp-card,.gp-panel,.gp-section,.gp-module-card,.gp-table-card){padding:20px!important}
body.gp-platform :is(.gp-stat-grid,.gp-metric-grid,.gp-metrics,.gp-summary-grid,.gp-kpi-grid){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:13px!important;margin-bottom:24px!important}
body.gp-platform :is(.gp-stat-card,.gp-metric,.gp-summary-card){display:flex!important;flex-direction:column!important;justify-content:space-between!important;min-height:124px!important;padding:16px 17px!important}
body.gp-platform :is(.gp-stat-card,.gp-metric,.gp-summary-card) :is(small,span,p){color:var(--gp-premium-muted)!important;font-size:10px!important}
body.gp-platform :is(.gp-stat-card,.gp-metric,.gp-summary-card) strong{margin-top:10px!important;color:var(--gp-premium-deep)!important;font-size:24px!important;letter-spacing:-.06em!important}
body.gp-platform :is(.gp-toolbar,.gp-list-toolbar,.gp-table-toolbar){display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:16px!important}
body.gp-platform .gp-toolbar-card{display:flex!important;align-items:center!important;gap:10px!important;padding:14px!important;margin-bottom:16px!important}
body.gp-platform .gp-toolbar-card .gp-search{display:flex!important;align-items:center!important;gap:7px!important;min-width:240px!important;flex:1!important}
body.gp-platform .gp-dashboard-grid{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;gap:16px!important}
body.gp-platform :is(.gp-card-heading,.gp-card>header){display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important;margin-bottom:12px!important}
body.gp-platform :is(.gp-card-heading,.gp-card>header) :is(h2,h3){margin:0!important;color:var(--gp-premium-deep)!important;font-size:14px!important;letter-spacing:-.025em!important}
body.gp-platform .gp-list-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:13px 0!important;border-top:1px solid #eeece3!important}
body.gp-platform .gp-list-row div{display:grid!important;gap:4px!important}
body.gp-platform .gp-list-row strong{color:var(--gp-premium-ink)!important;font-size:11px!important}
body.gp-platform .gp-list-row small{color:var(--gp-premium-muted)!important;font-size:9px!important}
body.gp-platform :is(.gp-table-wrap,.gp-responsive-table){overflow:auto!important;border:1px solid #eeece3!important;border-radius:12px!important;background:#fffdf8!important}
body.gp-platform table{width:100%!important;border-collapse:collapse!important}
body.gp-platform :is(th,td){border-bottom:1px solid #eeece3!important;text-align:left!important;vertical-align:middle!important}
body.gp-platform th{padding:12px 13px!important;background:#f4f3eb!important;color:#7b877c!important;font-size:9px!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important}
body.gp-platform td{padding:14px 13px!important;color:var(--gp-premium-ink)!important;font-size:12px!important}
body.gp-platform tr:last-child td{border-bottom:0!important}
body.gp-platform tbody tr{transition:background .16s ease!important}
body.gp-platform tbody tr:hover{background:#faf9f2!important}
body.gp-platform :is(.gp-status,.status-pill,.gp-badge,.badge){display:inline-flex!important;align-items:center!important;min-height:22px!important;padding:4px 8px!important;border-radius:999px!important;background:#e7f0e8!important;color:#326344!important;font-size:9px!important;font-weight:800!important}
body.gp-platform :is(.gp-empty,.empty-state){padding:40px 22px!important;border:1px dashed #d8ddd3!important;border-radius:14px!important;background:#fbfaf5!important;color:var(--gp-premium-muted)!important;text-align:center!important}
body.gp-platform :is(.gp-empty,.empty-state) :is(h2,h3){margin:10px 0 5px!important;color:var(--gp-premium-deep)!important;font-size:15px!important}
body.gp-platform .gp-dialog{border:1px solid #e1e3d9!important;border-radius:18px!important;background:#fffdf8!important;color:var(--gp-premium-ink)!important;box-shadow:0 26px 80px rgba(15,52,40,.25)!important}
body.gp-platform .gp-dialog::backdrop{background:rgba(15,52,40,.38)!important;backdrop-filter:blur(3px)}

/* Commercial experience */
body.gp-commercial{min-height:100dvh!important;background:radial-gradient(circle at 82% -12%,rgba(195,154,86,.13),transparent 28rem),var(--gp-premium-canvas)!important;color:var(--gp-premium-ink)!important}
body.gp-commercial .app-shell{display:block!important;min-height:100dvh!important;background:transparent!important}
body.gp-commercial .app-shell>.sidebar{
  position:fixed!important;z-index:40!important;inset:0 auto 0 0!important;width:248px!important;padding:25px 16px 18px!important;
  display:flex!important;flex-direction:column!important;background:var(--gp-premium-deep)!important;border:0!important;box-shadow:10px 0 30px rgba(15,52,40,.09)!important;
}
body.gp-commercial .brand{display:flex!important;align-items:center!important;gap:11px!important;padding:1px 12px 31px!important;color:#f8f2e5!important;text-decoration:none!important}
body.gp-commercial .sidebar-logo{display:block!important;width:39px!important;height:39px!important;background:url("assets/logo-green-prime-oficial-3d.png") center/contain no-repeat!important;filter:drop-shadow(0 7px 10px rgba(0,0,0,.14))!important}
body.gp-commercial .brand>span:last-child{display:grid!important;gap:3px!important}
body.gp-commercial .brand strong{color:#f8f2e5!important;font-size:14px!important;letter-spacing:.12em!important}
body.gp-commercial .brand small{color:#b9d1bd!important;font-family:"DM Mono",monospace!important;font-size:8px!important;letter-spacing:.22em!important}
body.gp-commercial .side-menu{flex:1!important;overflow:auto!important;padding:0 1px!important;align-content:start!important;grid-auto-rows:max-content!important}
body.gp-commercial .side-menu .gp-nav-section{margin:0 0 25px!important;align-content:start!important;grid-auto-rows:max-content!important}
body.gp-commercial .side-menu .gp-nav-label{margin:0!important;padding:0 12px 8px!important;color:#799b86!important;font-size:9px!important;font-weight:800!important;letter-spacing:.15em!important;text-transform:uppercase!important}
body.gp-commercial .side-menu .gp-nav-section>div{display:grid!important;gap:3px!important;align-content:start!important;grid-auto-rows:max-content!important}
body.gp-commercial .side-menu .gp-nav-link{display:flex!important;align-items:center!important;gap:11px!important;min-height:38px!important;padding:10px 11px!important;border-radius:10px!important;color:#c9dbce!important;text-decoration:none!important;transition:background .18s ease,color .18s ease,transform .18s ease!important}
body.gp-commercial .side-menu .gp-nav-link:hover{background:rgba(255,255,255,.07)!important;color:#fff5db!important;transform:translateX(2px)}
body.gp-commercial .side-menu .gp-nav-link.is-active{background:#285b45!important;color:#fff5d8!important;box-shadow:inset 3px 0 var(--gp-premium-gold)!important}
body.gp-commercial .side-menu .gp-nav-link>span{width:17px!important;color:#a8c9ae!important}
body.gp-commercial .side-menu .gp-nav-link.is-active>span{color:var(--gp-premium-gold)!important}
body.gp-commercial .side-menu .gp-nav-link b{font-size:12px!important;font-weight:600!important}
body.gp-commercial .sidebar-bottom{margin-top:auto!important;padding:16px 8px 0!important;border-top:1px solid rgba(229,238,230,.12)!important}
body.gp-commercial .sidebar-bottom :is(.logout-link,.autosave,small){color:#a9c8ae!important;font-size:10px!important}
body.gp-commercial .app-shell>main{width:calc(100% - 248px)!important;min-height:100dvh!important;margin-left:248px!important;background:transparent!important}
body.gp-commercial .topbar{position:sticky!important;z-index:30!important;top:0!important;display:flex!important;align-items:center!important;height:72px!important;padding:0 38px!important;border:0!important;border-bottom:1px solid rgba(216,218,206,.78)!important;background:rgba(245,242,234,.86)!important;backdrop-filter:blur(18px)!important;box-shadow:none!important}
body.gp-commercial .top-title .eyebrow{margin:0 0 4px!important;color:#829083!important;font-size:9px!important;font-weight:800!important;letter-spacing:.13em!important}
body.gp-commercial .top-title h1{margin:0!important;color:var(--gp-premium-deep)!important;font-size:25px!important;letter-spacing:-.05em!important}
body.gp-commercial .topbar-right{margin-left:auto!important}
body.gp-commercial .view{width:min(1510px,100%)!important;margin:0 auto!important;padding:32px 38px 56px!important;background:transparent!important}
body.gp-commercial .tracking-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:13px!important;margin:0 0 18px!important}
body.gp-commercial .summary-card{display:flex!important;min-height:118px!important;flex-direction:column!important;justify-content:center!important;padding:17px!important;border:1px solid var(--gp-premium-line)!important;border-radius:14px!important;background:rgba(255,253,248,.8)!important;box-shadow:0 6px 18px rgba(54,69,55,.035)!important}
body.gp-commercial .summary-card span{color:var(--gp-premium-muted)!important;font-size:10px!important}
body.gp-commercial .summary-card strong{margin-top:10px!important;color:var(--gp-premium-deep)!important;font-size:27px!important;letter-spacing:-.06em!important}
body.gp-commercial .card{padding:20px!important;border:1px solid var(--gp-premium-line)!important;border-radius:15px!important;background:rgba(255,253,248,.84)!important;box-shadow:var(--gp-premium-shadow)!important}
body.gp-commercial .card-heading{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin:0 0 17px!important}
body.gp-commercial .card-heading h2{margin:0!important;color:var(--gp-premium-deep)!important;font-size:16px!important;letter-spacing:-.035em!important}
body.gp-commercial .card-heading .step{display:inline-grid!important;place-items:center!important;width:25px!important;height:25px!important;margin:0 0 7px!important;border-radius:8px!important;background:#e8efe6!important;color:var(--gp-premium-moss)!important;font-size:9px!important}
body.gp-commercial .budget-filters{display:grid!important;grid-template-columns:minmax(0,1fr) 180px!important;gap:9px!important;margin:0 0 14px!important}
body.gp-commercial .table-wrap{overflow:auto!important;border:1px solid #eeece3!important;border-radius:12px!important;background:#fffdf8!important}
body.gp-commercial .saved-table,body.gp-commercial .items-table{width:100%!important;border-collapse:collapse!important}
body.gp-commercial :is(.saved-table,.items-table) th{padding:12px 13px!important;background:#f4f3eb!important;color:#7b877c!important;font-size:9px!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important}
body.gp-commercial :is(.saved-table,.items-table) td{padding:14px 13px!important;border-bottom:1px solid #eeece3!important;color:var(--gp-premium-ink)!important;font-size:12px!important}
body.gp-commercial .saved-table tbody tr:hover{background:#faf9f2!important}
body.gp-commercial .modal{background:rgba(15,52,40,.38)!important;backdrop-filter:blur(3px)!important}
body.gp-commercial .modal-panel{border:1px solid #e1e3d9!important;border-radius:18px!important;background:#fffdf8!important;box-shadow:0 26px 80px rgba(15,52,40,.25)!important}

/* Portal experience */
body.gp-portal{min-height:100dvh!important;background:radial-gradient(circle at 82% -12%,rgba(195,154,86,.13),transparent 28rem),var(--gp-premium-canvas)!important;color:var(--gp-premium-ink)!important}
body.gp-portal .portal-layout{display:block!important;min-height:100dvh!important}
body.gp-portal .portal-sidebar{position:fixed!important;z-index:40!important;inset:0 auto 0 0!important;width:248px!important;padding:25px 16px 18px!important;background:var(--gp-premium-deep)!important;border:0!important;box-shadow:10px 0 30px rgba(15,52,40,.09)!important}
body.gp-portal .portal-brand{display:flex!important;align-items:center!important;gap:11px!important;padding:1px 12px 31px!important;color:#f8f2e5!important;text-decoration:none!important;font-size:14px!important;font-weight:800!important;letter-spacing:.11em!important}
body.gp-portal .portal-brand img{width:39px!important;height:39px!important;object-fit:contain!important}
body.gp-portal .portal-brand small{color:#b9d1bd!important;font-family:"DM Mono",monospace!important;font-size:8px!important;letter-spacing:.22em!important}
body.gp-portal .portal-nav{overflow:auto!important;padding:0 1px!important}
body.gp-portal .portal-nav-section{margin:0 0 25px!important}
body.gp-portal .portal-nav-label{margin:0!important;padding:0 12px 8px!important;color:#799b86!important;font-size:9px!important;font-weight:800!important;letter-spacing:.15em!important;text-transform:uppercase!important}
body.gp-portal .portal-nav-section>div{display:grid!important;gap:3px!important}
body.gp-portal .portal-nav-link{display:flex!important;align-items:center!important;gap:11px!important;min-height:38px!important;padding:10px 11px!important;border-radius:10px!important;color:#c9dbce!important;text-decoration:none!important;transition:background .18s ease,color .18s ease,transform .18s ease!important}
body.gp-portal .portal-nav-link:hover{background:rgba(255,255,255,.07)!important;color:#fff5db!important;transform:translateX(2px)}
body.gp-portal .portal-nav-link.active{background:#285b45!important;color:#fff5d8!important;box-shadow:inset 3px 0 var(--gp-premium-gold)!important}
body.gp-portal .portal-nav-link>span{width:17px!important;color:#a8c9ae!important}
body.gp-portal .portal-nav-link.active>span{color:var(--gp-premium-gold)!important}
body.gp-portal .portal-nav-link b{font-size:12px!important;font-weight:600!important}
body.gp-portal .portal-side-bottom{margin-top:auto!important;padding:16px 8px 0!important;border-top:1px solid rgba(229,238,230,.12)!important}
body.gp-portal .portal-side-bottom a{display:block!important;margin:0 0 10px!important;color:#a9c8ae!important;font-size:10px!important;text-decoration:none!important}
body.gp-portal .portal-main{width:calc(100% - 248px)!important;min-height:100dvh!important;margin-left:248px!important;background:transparent!important}
body.gp-portal .portal-topbar{position:sticky!important;z-index:30!important;top:0!important;display:flex!important;align-items:center!important;min-height:72px!important;padding:11px 38px!important;border:0!important;border-bottom:1px solid rgba(216,218,206,.78)!important;background:rgba(245,242,234,.86)!important;backdrop-filter:blur(18px)!important;box-shadow:none!important}
body.gp-portal .portal-top-left{display:flex!important;align-items:center!important;gap:12px!important}
body.gp-portal .portal-top-left small{color:#829083!important;font-size:9px!important;font-weight:800!important;letter-spacing:.12em!important}
body.gp-portal .portal-top-left h1{margin:3px 0!important;color:var(--gp-premium-deep)!important;font-size:18px!important;letter-spacing:-.04em!important}
body.gp-portal .portal-top-left p{margin:0!important;color:var(--gp-premium-muted)!important;font-size:10px!important}
body.gp-portal :is(.portal-menu,.portal-back){height:34px!important;padding:0 10px!important;border:1px solid #dfe1d7!important;border-radius:9px!important;background:rgba(255,253,248,.65)!important;color:var(--gp-premium-forest)!important;font-size:11px!important}
body.gp-portal .portal-top-actions{display:flex!important;align-items:center!important;gap:10px!important;margin-left:auto!important}
body.gp-portal .portal-user{display:flex!important;align-items:center!important;gap:8px!important;padding-left:10px!important;border-left:1px solid #d8dacf!important}
body.gp-portal .portal-avatar{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border-radius:11px!important;background:#e8d5a6!important;color:var(--gp-premium-deep)!important;font-size:12px!important;font-weight:800!important}
body.gp-portal .portal-user strong{display:block!important;color:var(--gp-premium-deep)!important;font-size:10px!important}
body.gp-portal .portal-user small{display:block!important;margin-top:2px!important;color:var(--gp-premium-muted)!important;font-size:9px!important}
body.gp-portal .portal-content{width:min(1510px,100%)!important;margin:0 auto!important;padding:32px 38px 56px!important}
body.gp-portal .portal-hero{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;margin:0 0 18px!important}
body.gp-portal .portal-stat-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:13px!important;margin-bottom:18px!important}
body.gp-portal .portal-stat{display:flex!important;min-height:116px!important;flex-direction:column!important;justify-content:center!important;padding:16px 17px!important}
body.gp-portal .portal-stat small,body.gp-portal .portal-stat span{color:var(--gp-premium-muted)!important;font-size:10px!important}
body.gp-portal .portal-stat strong{margin:8px 0 5px!important;color:var(--gp-premium-deep)!important;font-size:20px!important;letter-spacing:-.045em!important}
body.gp-portal .portal-two-col{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)!important;gap:16px!important}
body.gp-portal :is(.portal-card,.portal-panel,.portal-section,.portal-stat,.portal-summary){border:1px solid var(--gp-premium-line)!important;border-radius:15px!important;background:rgba(255,253,248,.84)!important;box-shadow:0 6px 18px rgba(54,69,55,.035)!important}
body.gp-portal :is(.portal-card,.portal-panel,.portal-section){padding:20px!important}
body.gp-portal .portal-dialog{border:1px solid #e1e3d9!important;border-radius:18px!important;background:#fffdf8!important;box-shadow:0 26px 80px rgba(15,52,40,.25)!important}

/* Public and authentication pages */
body.auth-page,body.gp-public-auth,body.download-page,body:has(.auth-card),body:has(.login-shell),body:has(.update-shell){
  min-height:100dvh!important;background:radial-gradient(circle at 76% -9%,rgba(195,154,86,.17),transparent 30rem),var(--gp-premium-canvas)!important;
  color:var(--gp-premium-ink)!important;font-family:var(--gp-premium-font)!important;
}
:is(.auth-card,.login-card,.login-shell .card,.update-card,.register-card){
  border:1px solid var(--gp-premium-line)!important;border-radius:20px!important;background:rgba(255,253,248,.92)!important;
  box-shadow:0 20px 55px rgba(29,55,43,.1)!important;
}
:is(.auth-card,.login-card,.register-card){padding:32px!important}
:is(.auth-card,.login-card,.register-card) :is(h1,h2){color:var(--gp-premium-deep)!important;letter-spacing:-.05em!important}
:is(.auth-card,.login-card,.register-card) :is(input:not([type=checkbox]),select,textarea){border:1px solid #dfe1d8!important;border-radius:10px!important;background:#fbfaf5!important;color:var(--gp-premium-ink)!important}

@media(max-width:980px){
  body.gp-platform .gp-sidebar,body.gp-commercial .app-shell>.sidebar,body.gp-portal .portal-sidebar{transform:translateX(-104%)!important;transition:transform .25s ease!important}
  body.gp-platform .gp-sidebar.is-open,body.gp-commercial .app-shell>.sidebar.mobile-open,body.gp-portal .portal-sidebar.open{transform:translateX(0)!important}
  body.gp-commercial .mobile-nav-backdrop.open{display:block!important;position:fixed!important;z-index:35!important;inset:0!important;background:rgba(15,52,40,.38)!important;backdrop-filter:blur(2px)!important}
  body.gp-platform .gp-app,body.gp-commercial .app-shell>main,body.gp-portal .portal-main{width:100%!important;margin-left:0!important}
  body.gp-platform .gp-menu-toggle{display:grid!important}
  body.gp-platform .gp-topbar,body.gp-commercial .topbar,body.gp-portal .portal-topbar{padding-left:22px!important;padding-right:22px!important}
  body.gp-platform .gp-main,body.gp-commercial .view,body.gp-portal .portal-content{padding-left:22px!important;padding-right:22px!important}
}
@media(max-width:680px){
  body.gp-platform .gp-topbar,body.gp-commercial .topbar{height:64px!important;padding-left:15px!important;padding-right:15px!important}
  body.gp-platform .gp-top-current small,body.gp-commercial .top-title .eyebrow{display:none!important}
  body.gp-platform .gp-main,body.gp-commercial .view,body.gp-portal .portal-content{padding:22px 15px 42px!important}
  body.gp-commercial .tracking-summary{grid-template-columns:1fr!important}
  body.gp-commercial .budget-filters{grid-template-columns:1fr!important}
  body.gp-platform :is(.gp-page-header,.gp-page-head,.gp-page-heading,.gp-module-header),body.gp-commercial .card-heading{align-items:flex-start!important;flex-direction:column!important}
  body.gp-platform .gp-dashboard-grid{grid-template-columns:1fr!important}
  body.gp-portal .portal-topbar{padding:9px 15px!important}
  body.gp-portal .portal-user>span:last-child{display:none!important}
  body.gp-portal .portal-top-left p{display:none!important}
  body.gp-portal .portal-stat-grid,body.gp-portal .portal-two-col{grid-template-columns:1fr!important}
  body.gp-portal .portal-hero{align-items:flex-start!important;flex-direction:column!important}
}

/* v5.4.3 — seletores técnicos incorporados diretamente nos itens do modelo */
.item-option-picker{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:9px;margin:7px 0 9px;padding:8px 10px;border:1px solid #d8e3dc;border-radius:9px;background:#f5f8f6}
.item-option-label{color:#39604c;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.items-table .item-option-select{width:100%;min-width:0;min-height:36px;padding:7px 35px 7px 10px;border:1px solid #cfdcd4;border-radius:8px;background:#fff;color:#143c2b;font-size:12px;font-weight:700;outline:none;cursor:pointer}
.items-table .item-option-select:hover{border-color:#aebfb5}
.items-table .item-option-select:focus{border-color:#2b6a4b;box-shadow:0 0 0 3px rgba(43,106,75,.12)}
@media(max-width:720px){.item-option-picker{grid-template-columns:1fr;gap:5px}}

/* v5.4.4 — seleção independente das colunas apresentadas no PDF */
.pdf-column-settings{margin:0;padding:17px 18px 18px;border:1px solid #d8e3dc;border-radius:12px;background:linear-gradient(180deg,#f7faf8 0%,#f1f6f3 100%);min-width:0}
.pdf-column-settings legend{padding:0 7px;color:#173f2d;font-size:13px;font-weight:800}
.pdf-column-help{margin:0 0 12px;color:#65756d;font-size:12px;line-height:1.45}
.pdf-column-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pdf-column-option{display:flex!important;align-items:flex-start;gap:10px;min-width:0;padding:12px 13px;border:1px solid #d8e2dc;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.pdf-column-option:hover{border-color:#adc3b5;box-shadow:0 5px 14px rgba(21,73,46,.06);transform:translateY(-1px)}
.pdf-column-option:has(input:checked){border-color:#2a6a49;background:#f4faf6;box-shadow:0 0 0 2px rgba(42,106,73,.08)}
.pdf-column-option input{width:19px!important;height:19px!important;margin:1px 0 0!important;flex:0 0 auto;accent-color:#17613c}
.pdf-column-option span{display:grid;gap:3px;min-width:0}
.pdf-column-option strong{color:#173f2d;font-size:12px;line-height:1.25}
.pdf-column-option small{color:#6a7770;font-size:10.5px;font-weight:500;line-height:1.35}
.pdf-column-note{display:block;margin-top:11px;color:#6b7771;font-size:10.5px;line-height:1.45}
@media(max-width:980px){.pdf-column-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pdf-column-options{grid-template-columns:1fr}.pdf-column-settings{padding:15px}}


/* v5.4.13 — navegação do detalhe da obra: apenas rolagem vertical, nunca horizontal */
body.gp-portal .portal-sidebar{overflow-x:hidden!important;}
body.gp-portal .portal-nav{overflow-y:auto!important;overflow-x:hidden!important;min-width:0!important;scrollbar-gutter:stable;}
body.gp-portal .portal-nav-section,body.gp-portal .portal-nav-section>div,body.gp-portal .portal-nav-link{min-width:0!important;max-width:100%!important;}
body.gp-portal .portal-nav-link b{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
