/* Identidade compartilhada do ERP. Distribuida por npm run ui:sync. */
:root,html.theme-light,body.theme-light {
  --bg:#f8f9f6;--text:#24372f;--muted:#697866;--card:#fff;--border:#e0e6db;
  --primary:#285e48;--primary-strong:#194c36;--soft:#edf2e7;
  --shadow:0 5px 20px #29403007;--shadow-lg:0 14px 36px #29403010;--radius:13px;
  --suite-on-primary:#fff;--suite-focus:#8aab7a;--suite-heading:#24372f;
  --bs-primary:#285e48;--bs-primary-rgb:40,94,72;--bs-link-color:#285e48;
  --bs-body-bg:var(--bg);--bs-body-color:var(--text);--bs-border-color:var(--border);
}
html.theme-dark,body.theme-dark {
  --bg:#142019;--text:#e2ebdf;--muted:#acbba6;--card:#1c2b22;--border:#344738;
  --primary:#a4c796;--primary-strong:#c0d9b5;--soft:#26392a;--suite-on-primary:#142019;
  --suite-heading:#e2ebdf;--shadow:0 5px 20px #0002;--shadow-lg:0 14px 36px #0003;
  --bs-primary:#a4c796;--bs-primary-rgb:164,199,150;--bs-link-color:#a4c796;
}
html,body,body.app-shell,body.workbench-shell {
  background:var(--bg)!important;color:var(--text)!important;
  font-family:Inter,"Segoe UI",Arial,sans-serif!important;line-height:1.6;
}
body{padding:0}
h1,h2,h3,h4,h5,h6,.titulo,.bem-vindo{color:var(--suite-heading)!important;letter-spacing:-.035em}
h1,h2{font-weight:600}h2::after{background:var(--primary)}
a{color:var(--primary)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--suite-focus);outline-offset:3px}
.geunpg-suitebar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;padding:9px clamp(18px,4vw,48px);background:var(--card);border-bottom:1px solid var(--border);font-size:11px;color:var(--muted)}
.geunpg-suitebrand{display:flex;align-items:center;gap:10px;letter-spacing:1px;font-weight:700;color:var(--text);text-decoration:none}
.geunpg-suitebadge{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#285e48;color:white;font-size:23px;line-height:1;font-weight:650;letter-spacing:-2px}
.geunpg-module-label{font-weight:400;letter-spacing:0;border-left:1px solid var(--border);padding-left:12px;color:var(--muted)}
.geunpg-portal-link{color:var(--primary);text-decoration:none;font-weight:600;white-space:nowrap}
.geunpg-measurement-toggle{font:inherit;font-size:10px;background:var(--soft);color:var(--primary);border:1px solid var(--border);border-radius:6px;padding:5px 8px;cursor:pointer}.geunpg-suitebar{flex-wrap:wrap}a[hidden]{display:none!important}
body header,body .header,body .app-topbar,html.theme-dark .header,html.theme-light .header {
  background:var(--card)!important;color:var(--text)!important;border-bottom:1px solid var(--border);box-shadow:none;
}
body header h1,body .header h1{font-size:clamp(1.15rem,2vw,1.6rem);margin:0}
.brand-mark{background:#285e48!important;color:white!important;box-shadow:none!important;border-radius:13px}
.brand-title{color:var(--text)}.brand-subtitle,.muted-text,.text-muted,.lead{color:var(--muted)!important}
.surface,.card,.card-table,.feature-card,.module-card,.kpi-card,.stat-card,.panel,.hero-panel,#form-container,#list-container,.modal-content {
  background:var(--card)!important;color:var(--text);border:1px solid var(--border)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;
}
.card-header,.modal-header,.modal-footer{background:var(--card)!important;border-color:var(--border)!important;color:var(--text)}
.card:hover,.surface:hover{box-shadow:var(--shadow-lg)!important}
.card p,.feature-card p,.module-card p{color:var(--muted)}
.btn{border-radius:8px;font-size:.875rem;font-weight:500;letter-spacing:0;padding:.6rem 1rem;box-shadow:none}
.btn-primary,body button.btn-primary,#avaliacao-form button[type="submit"] {
  --bs-btn-bg:var(--primary);--bs-btn-border-color:var(--primary);--bs-btn-color:var(--suite-on-primary);
  background:var(--primary)!important;border-color:var(--primary)!important;color:var(--suite-on-primary)!important;
}
.btn-primary:hover,.btn-primary:focus{background:var(--primary-strong)!important;border-color:var(--primary-strong)!important}
.btn-outline-primary,.header .btn-outline-light,html.theme-dark .header .btn-outline-light,html.theme-light .header .btn-outline-light {
  background:transparent!important;border-color:var(--border)!important;color:var(--primary)!important;
}
.btn-outline-primary:hover,.header .btn-outline-light:hover{background:var(--soft)!important;color:var(--primary)!important}
.text-primary{color:var(--primary)!important}.bg-primary{background:var(--primary)!important;color:var(--suite-on-primary)!important}
.form-control,.form-select,input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]),select,textarea {
  background-color:var(--card)!important;color:var(--text)!important;border:1px solid var(--border);border-radius:8px;box-shadow:none;
}
.form-control:focus,.form-select:focus{border-color:var(--suite-focus)!important;box-shadow:0 0 0 3px #799b6b20!important}
input::placeholder,textarea::placeholder{color:var(--muted)!important;opacity:.85}.form-label,label{color:var(--text)}
.form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}
.table,table{--bs-table-bg:var(--card);--bs-table-color:var(--text);--bs-table-striped-bg:var(--soft);--bs-table-striped-color:var(--text);--bs-table-hover-bg:var(--soft);--bs-table-hover-color:var(--text);--bs-table-border-color:var(--border);color:var(--text)}
table th,.table thead th,#avaliacao-table th{background:var(--soft)!important;color:var(--text)!important;font-size:.78rem;font-weight:600;border-color:var(--border)!important}
table td{border-color:var(--border)!important}table tr:nth-child(even){background:var(--soft)}
.pagination .page-link{background:var(--card);color:var(--primary);border-color:var(--border)}.pagination .active>.page-link{background:var(--primary);color:var(--suite-on-primary)}
.workbench-sidebar{background:var(--card)!important;color:var(--text)!important;border-right:1px solid var(--border)}
.sidebar-heading{border-color:var(--border)}.sidebar-heading span{color:var(--muted)}
.workbench-nav .nav-action{color:var(--muted);border-color:transparent;border-radius:8px}.workbench-nav .nav-action:hover,.workbench-nav .nav-action.active{background:var(--soft);color:var(--primary)}
.metric-icon,.module-icon,.status-chip,.eyebrow{background:var(--soft);color:var(--primary)}
.student-shell{background:var(--bg)!important}.student-layout .sidebar{background:var(--card);color:var(--text);border-right:1px solid var(--border)}
.sidebar-summary{border-color:var(--border)}.sidebar-summary span{color:var(--muted)}
.sidebar .menu-header,.sidebar .menu-item{color:var(--muted);background:transparent;border-color:var(--border);font-weight:500}
.sidebar .menu-header:hover,.sidebar .menu-header.active,.sidebar .menu-item:hover,.sidebar .menu-item.active{background:var(--soft);color:var(--primary)}
.metric-card i,.discipline-icon{background:var(--soft)!important;color:var(--primary)}
.dropdown-menu{background:var(--card);border-color:var(--border)}.dropdown-item{color:var(--text)}.dropdown-item:hover{background:var(--soft);color:var(--primary)}
.hero,.landing-hero{background:var(--soft)!important;border:1px solid var(--border);border-radius:16px;padding:clamp(25px,4vw,48px)!important;box-shadow:none!important}
.hero h2,.landing-hero h1{font-weight:550!important;font-size:clamp(2rem,4vw,3.4rem);line-height:1.12}
.hero h2::after{display:none}.landing-main{padding-top:35px}.feature-card,.module-card{padding:26px}
.footer,body .footer,html.theme-dark .footer{background:var(--card)!important;color:var(--muted)!important;border-top:1px solid var(--border);box-shadow:none}.footer a{color:var(--primary)!important}
.geunpg-login-layout{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(30px,6vw,85px);align-items:center;max-width:1140px!important;width:100%;padding:48px 30px!important;margin:0 auto!important;min-height:calc(100vh - 180px)!important}
.geunpg-login-intro{padding:40px;border:1px solid var(--border);border-radius:18px;background:var(--soft);position:relative;overflow:hidden}
.geunpg-login-intro .geunpg-kicker{display:block;color:var(--primary);font-size:10px;font-weight:650;letter-spacing:2px;margin-bottom:25px}
.geunpg-login-intro h2{font-size:clamp(2rem,3.8vw,3.1rem)!important;font-weight:550!important;line-height:1.15;letter-spacing:-.05em;margin:0 0 22px;text-align:left}
.geunpg-login-intro h2::after{display:none}.geunpg-login-intro p{font-size:14px;color:var(--muted);line-height:1.9;max-width:350px;margin-bottom:35px}
.geunpg-login-intro .geunpg-suitebadge{height:66px;width:66px;font-size:54px;border-radius:19px;margin-bottom:35px;transform:rotate(-8deg)}
.geunpg-login-note{display:block;border-top:1px solid var(--border);padding-top:20px;font-size:11px;color:var(--muted)}
.geunpg-login-layout .geunpg-login-form{width:100%!important;max-width:430px!important;padding:35px!important;border-radius:16px!important;margin:auto;transform:none!important;animation:none!important}
.geunpg-login-form h1,.geunpg-login-form h2{font-size:1.6rem!important;margin-bottom:12px}.geunpg-login-form h2::after{display:none}
.geunpg-login-form .form-control{min-height:45px}.geunpg-login-form button[type="submit"]{min-height:45px;margin-top:6px}
@media(max-width:760px){.geunpg-suitebar{padding:10px 18px}.geunpg-module-label{display:none}.geunpg-login-layout{grid-template-columns:1fr;padding:25px 20px!important;gap:24px;min-height:auto!important}.geunpg-login-intro{padding:25px}.geunpg-login-intro h2{font-size:2rem!important}.geunpg-login-intro .geunpg-suitebadge,.geunpg-login-note{display:none}.geunpg-login-intro p{margin:0}.geunpg-login-intro .geunpg-kicker{margin-bottom:16px}.geunpg-login-layout .geunpg-login-form{padding:25px!important;max-width:none!important}.header,.app-topbar,body header{flex-wrap:wrap;gap:12px}.user-info,.topbar-actions{flex-wrap:wrap}.header .titulo{white-space:normal}.hero,.landing-hero{margin-top:12px}.table-responsive{max-width:100%;overflow-x:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
