:root{
  --bg:#f6f7fb;
  --card:#ffffff;
  --text:#25262b;
  --muted:#70727a;
  --line:#e7e8ee;
  --primary:#f2a000;
  --primary-dark:#cc8500;
  --blue:#049aac;
  --green:#03bd54;
  --danger:#d83a3a;
  --gray:#767982;
  --shadow:0 18px 50px rgba(30,34,54,.10);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 32px));margin:0 auto}.narrow{width:min(850px,calc(100% - 32px))}
.hidden{display:none!important}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.muted{color:var(--muted)}
.btn{border:0;border-radius:999px;padding:12px 18px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s;background:#fff;color:var(--text);box-shadow:0 5px 18px rgba(0,0,0,.08)}
.btn:hover{transform:translateY(-1px)}.btn-small{padding:9px 14px;font-size:.92rem}.btn-primary{background:linear-gradient(135deg,var(--primary),#ffbd32);color:#fff}.btn-ghost{background:#fff;color:var(--primary-dark);border:1px solid rgba(242,160,0,.18)}.btn-soft{background:#fff;color:var(--text);border:1px solid var(--line);box-shadow:none}.btn-danger{background:var(--danger);color:#fff}.full{width:100%}.icon-button{border:0;background:#fff;border-radius:14px;width:44px;height:44px;box-shadow:0 5px 18px rgba(0,0,0,.08)}
.site-body{background:#fff}.site-header{position:fixed;inset:0 0 auto 0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(230,230,230,.85)}.header-wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:54px;height:54px;object-fit:contain}.brand strong{font-weight:900;font-size:1.15rem;display:block;color:#787b82}.brand small{color:var(--muted);display:block;font-weight:700;font-size:.78rem}.site-nav{display:flex;align-items:center;gap:18px}.site-nav a{font-weight:800;color:#5d6068}.site-nav a:hover{color:var(--primary-dark)}.hamburger{display:none;border:0;background:#fff;width:46px;height:46px;border-radius:14px;box-shadow:0 5px 18px rgba(0,0,0,.08);padding:12px}.hamburger span{display:block;height:3px;background:#45474d;margin:5px 0;border-radius:10px}
.hero{padding:125px 0 70px}.hero-acosa{background:radial-gradient(circle at 70% 25%,rgba(3,189,84,.12),transparent 30%),radial-gradient(circle at 20% 30%,rgba(4,154,172,.16),transparent 28%),linear-gradient(180deg,#fff 0%,#fff7e8 100%)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:42px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:900;color:var(--primary-dark);margin:0 0 12px}.hero h1,.section h2{font-size:clamp(2rem,4.5vw,4.65rem);line-height:.97;margin:0 0 20px;font-weight:900;letter-spacing:-.06em;color:#5d6068}.section h2{font-size:clamp(1.8rem,3.3vw,3.3rem)}.lead{font-size:1.22rem;line-height:1.7;color:#5f626a;max-width:650px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.hero-stats div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.hero-stats strong{display:block;font-size:1.15rem;color:var(--primary-dark)}.hero-stats span{color:var(--muted);font-size:.88rem}.hero-card{position:relative;min-height:470px;display:grid;place-items:center}.hero-logo{width:min(390px,80%);filter:drop-shadow(0 30px 30px rgba(0,0,0,.12));z-index:2}.hero-photo-card{position:absolute;right:0;bottom:0;width:68%;border-radius:30px;overflow:hidden;box-shadow:var(--shadow);border:8px solid #fff}.hero-photo-card img{height:270px;width:100%;object-fit:cover}
.section{padding:82px 0}.section-muted{background:#f7f7f8}.section-title{text-align:center;margin-bottom:32px}.section p{font-size:1.05rem;line-height:1.8;color:#555963}.cards-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:0 12px 34px rgba(0,0,0,.04)}.info-card i{font-size:2rem;color:var(--primary);margin-bottom:14px}.info-card h3{margin:0 0 10px;color:#5d6068}.info-card p{font-size:.95rem;margin:0}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.values-grid div{border-radius:22px;padding:24px;color:#fff;background:linear-gradient(135deg,#04a1b3,#03bd54)}.values-grid div:nth-child(even){background:linear-gradient(135deg,#f2a000,#ffbd32)}.values-grid strong{font-size:1.22rem;display:block;margin-bottom:10px}.values-grid span{line-height:1.55}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.team-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}.team-card img{height:260px;width:100%;object-fit:cover;object-position:center 25%}.team-card div{padding:18px}.team-card span{text-transform:uppercase;font-weight:900;color:var(--primary-dark);font-size:.76rem;letter-spacing:.08em}.team-card h3{margin:8px 0 0;color:#5e6168}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-grid img{width:100%;height:260px;object-fit:cover;border-radius:22px;box-shadow:0 10px 35px rgba(0,0,0,.08)}.section-contact{background:linear-gradient(135deg,#5d6068,#33363d);color:#fff}.section-contact h2,.section-contact p{color:#fff}.contact-grid{display:grid;grid-template-columns:1fr .9fr;gap:34px;align-items:center}.contact-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:24px;display:grid;gap:12px}.contact-card a,.contact-card span{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800}.site-footer{padding:35px 0;background:#fff;border-top:1px solid var(--line)}.footer-wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.footer-wrap img{width:70px}.dev-credit{font-size:.86rem;color:var(--muted);margin:0}
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:80;align-items:center;justify-content:center;padding:16px}.modal.show{display:flex}.modal-card{background:#fff;border-radius:26px;padding:28px;width:min(440px,100%);position:relative;box-shadow:var(--shadow)}.modal-close{position:absolute;top:12px;right:14px;border:0;background:#f1f1f1;border-radius:50%;width:38px;height:38px;font-size:1.6rem}.login-logo{width:90px;margin:0 auto 10px}.login-card h2{text-align:center;margin:0;color:#5d6068}.login-card p{text-align:center;color:var(--muted)}.login-card label{display:block;font-weight:800;margin:14px 0 6px}.login-card input{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px}.link-button{border:0;background:transparent;color:var(--primary-dark);font-weight:800;margin:14px auto 0;display:block}
.app-body{display:flex;min-height:100vh;background:var(--bg)}.app-loading{position:fixed;inset:0;background:#fff;z-index:99;display:grid;place-items:center;align-content:center;gap:16px}.app-loading img{width:110px}.app-loading.hide{display:none}.sidebar{position:fixed;left:0;top:0;bottom:0;width:290px;background:#fff;border-right:1px solid var(--line);padding:18px;z-index:40;display:flex;flex-direction:column;transition:.25s}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:8px 8px 18px;border-bottom:1px solid var(--line)}.sidebar-brand img{width:58px;height:58px;object-fit:contain}.sidebar-brand strong{display:block;color:#5d6068;font-size:1.25rem}.sidebar-brand span{font-weight:800;color:var(--muted);font-size:.78rem}.side-nav{display:grid;gap:7px;margin-top:18px}.side-nav button{border:0;background:transparent;text-align:left;padding:13px 14px;border-radius:16px;font-weight:850;color:#5d6068;display:flex;align-items:center;gap:12px}.side-nav button:hover,.side-nav button.active{background:linear-gradient(135deg,rgba(242,160,0,.14),rgba(3,189,84,.10));color:#3e4046}.side-nav i{width:22px;color:var(--primary-dark)}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding-top:14px}.sidebar-footer small{display:block;color:var(--muted);font-weight:800;margin-bottom:10px}.app-main{margin-left:290px;min-width:0;flex:1;padding:24px}.topbar{height:auto;min-height:76px;display:flex;align-items:center;gap:16px;justify-content:space-between;margin-bottom:22px}.topbar h1{margin:0;font-size:1.8rem;color:#4f5259;letter-spacing:-.03em}.topbar p{margin:4px 0 0;color:var(--muted);font-weight:700}.topbar-actions{display:flex;align-items:center;gap:10px}.app-section{display:none}.app-section.active{display:block}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.dashboard-grid.small{grid-template-columns:repeat(4,1fr)}.metric-card{background:#fff;border-radius:24px;border:1px solid var(--line);padding:22px;position:relative;box-shadow:0 9px 28px rgba(0,0,0,.04);overflow:hidden}.metric-card span{display:block;color:var(--muted);font-weight:800;font-size:.86rem}.metric-card strong{display:block;font-size:1.9rem;margin-top:8px;color:#4f5259}.metric-card i{position:absolute;right:20px;bottom:18px;font-size:2.4rem;color:rgba(242,160,0,.2)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px;box-shadow:0 9px 28px rgba(0,0,0,.04)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-header.wrap,.wrap{flex-wrap:wrap}.panel h2{margin:0;color:#4f5259;letter-spacing:-.03em;font-size:1.3rem}.panel h3{margin:10px 0;color:#4f5259}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toolbar input,.toolbar select{min-width:180px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quick-grid button,.doc-grid button{border:1px solid var(--line);background:#fff;border-radius:22px;padding:20px;text-align:left;box-shadow:0 7px 24px rgba(0,0,0,.04);transition:.2s}.quick-grid button:hover,.doc-grid button:hover{transform:translateY(-2px);border-color:rgba(242,160,0,.45)}.quick-grid i,.doc-grid i{font-size:1.7rem;color:var(--primary);display:block;margin-bottom:10px}.quick-grid span,.doc-grid strong{font-weight:900;color:#4f5259;display:block}.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.doc-grid span{color:var(--muted);font-size:.9rem;margin-top:6px;display:block}.list-stack{display:grid;gap:10px}.list-item{border:1px solid var(--line);border-radius:18px;padding:14px;background:#fff;display:flex;justify-content:space-between;gap:12px;align-items:center}.list-item strong{display:block;color:#4f5259}.list-item span{color:var(--muted);font-size:.9rem}.list-actions{display:flex;flex-wrap:wrap;gap:6px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;background:#f2f3f6;font-weight:900;font-size:.78rem}.pill.green{background:rgba(3,189,84,.12);color:#07833d}.pill.yellow{background:rgba(242,160,0,.14);color:#a86d00}.pill.red{background:rgba(216,58,58,.12);color:#a92828}.tabs{display:flex;gap:8px;margin-bottom:16px}.tab-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 18px;font-weight:900}.tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.tab-panel{display:none}.tab-panel.active{display:block}.form-panel{display:block}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:900;color:#555963;font-size:.86rem}.field input,.field select,.field textarea,.toolbar input,.toolbar select{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;color:var(--text);width:100%;outline:none}.field input:focus,.field select:focus,.field textarea:focus,.toolbar input:focus,.toolbar select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(242,160,0,.12)}.span-2{grid-column:span 2}.span-4{grid-column:span 4}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px}.table-wrap.compact{max-height:420px}.data-table{width:100%;border-collapse:collapse;background:#fff;min-width:760px}.data-table th,.data-table td{padding:13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.data-table th{background:#f7f7f9;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:#666973}.data-table tr:hover td{background:#fff9ec}.data-table .actions{display:flex;gap:6px;flex-wrap:wrap}.btn-mini{border:0;border-radius:10px;padding:8px 10px;font-weight:900;background:#f2f3f6;color:#464951}.btn-mini.primary{background:rgba(242,160,0,.15);color:#9b6600}.btn-mini.danger{background:rgba(216,58,58,.12);color:#a92828}.attendance-list{display:grid;gap:8px}.attendance-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:16px;padding:12px}.attendance-controls{display:flex;gap:6px;flex-wrap:wrap}.attendance-controls label{display:flex;align-items:center;gap:4px;background:#f5f5f6;border-radius:999px;padding:7px 10px;font-weight:800;font-size:.85rem}.stack-buttons{display:grid;gap:10px}.profile-list{line-height:1.8}.access-warning{background:#fff;border:1px solid #f4c7c7;border-left:6px solid var(--danger);border-radius:18px;padding:22px;margin-bottom:22px}.toast{position:fixed;right:20px;bottom:20px;background:#25262b;color:#fff;border-radius:16px;padding:14px 16px;box-shadow:var(--shadow);opacity:0;transform:translateY(20px);pointer-events:none;transition:.25s;z-index:90}.toast.show{opacity:1;transform:translateY(0)}
@media print{body{background:#fff}.sidebar,.topbar,.tabs,.form-actions,.toast,.btn,.icon-button{display:none!important}.app-main{margin:0;padding:0}.panel{box-shadow:none;border:0}.app-section{display:block}.table-wrap{border:0;overflow:visible}.data-table{min-width:0}.data-table th,.data-table td{padding:8px;font-size:12px}.app-section:not(.print-target){display:none!important}}
@media(max-width:1050px){.cards-4,.values-grid,.team-grid,.dashboard-grid,.quick-grid{grid-template-columns:repeat(2,1fr)}.doc-grid{grid-template-columns:repeat(2,1fr)}.hero-grid,.contact-grid,.grid-2{grid-template-columns:1fr}.hero-card{min-height:360px}.sidebar{transform:translateX(-105%)}.sidebar.open{transform:translateX(0)}.app-main{margin-left:0}.topbar-actions{display:none}.form-grid{grid-template-columns:repeat(2,1fr)}.span-4{grid-column:span 2}}
@media(max-width:760px){.site-nav{position:absolute;left:16px;right:16px;top:82px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:18px;display:none;flex-direction:column;align-items:stretch}.site-nav.open{display:flex}.hamburger{display:block}.brand small{display:none}.hero{padding-top:110px}.hero-stats,.cards-4,.values-grid,.team-grid,.gallery-grid,.dashboard-grid,.dashboard-grid.small,.quick-grid,.doc-grid{grid-template-columns:1fr}.hero h1{font-size:2.4rem}.section{padding:56px 0}.form-grid,.form-grid.two{grid-template-columns:1fr}.span-2,.span-4{grid-column:span 1}.topbar{align-items:flex-start}.topbar h1{font-size:1.45rem}.panel{padding:15px}.toolbar{width:100%}.toolbar input,.toolbar select,.toolbar button{width:100%}.list-item{display:block}.list-actions{margin-top:10px}.attendance-row{grid-template-columns:1fr}.hero-photo-card{display:none}.team-card img{height:320px}.sidebar{width:86vw}.app-main{padding:16px}}


/* ===== Correção 1.0.1: hero sem logo gigante sobre a foto ===== */
.hero-card-clean{
  min-height:470px;
  display:block;
  position:relative;
}
.hero-card-clean .hero-photo-main{
  position:relative;
  inset:auto;
  right:auto;
  bottom:auto;
  width:100%;
  height:430px;
  border-radius:34px;
  overflow:hidden;
  border:8px solid #fff;
  box-shadow:var(--shadow);
}
.hero-card-clean .hero-photo-main img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-badge{
  position:absolute;
  left:26px;
  bottom:24px;
  display:flex;
  align-items:center;
  gap:12px;
  max-width:360px;
  padding:12px 16px;
  border-radius:20px;
  background:rgba(255,255,255,.92);
  box-shadow:0 12px 30px rgba(0,0,0,.16);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.7);
}
.hero-badge img{
  width:54px;
  height:54px;
  object-fit:contain;
  flex:0 0 auto;
}
.hero-badge span{
  font-weight:900;
  color:#5d6068;
  line-height:1.2;
}
.brand img,
.footer-wrap img,
.login-logo{
  object-fit:contain;
}
@media(max-width:760px){
  .hero-card-clean{
    min-height:auto;
    margin-top:20px;
  }
  .hero-card-clean .hero-photo-main{
    display:block;
    height:260px;
    border-radius:24px;
  }
  .hero-badge{
    position:relative;
    left:auto;
    bottom:auto;
    margin:12px auto 0;
    max-width:100%;
  }
}

/* ===== Correção 1.0.2: painel, menu lateral, usuários e carteirinha ===== */
.app-main{overflow-x:hidden;}
.panel,.grid-2>*{min-width:0;}
#btn-sidebar{display:none;}
.sidebar{overflow-y:auto;overflow-x:hidden;}
.side-nav{flex:1 1 auto;overflow-y:auto;min-height:0;padding-right:4px;}
.sidebar-footer{flex:0 0 auto;}
.sidebar::-webkit-scrollbar,.side-nav::-webkit-scrollbar{width:8px;}
.sidebar::-webkit-scrollbar-thumb,.side-nav::-webkit-scrollbar-thumb{background:#d6d8df;border-radius:999px;}
.table-wrap.compact .data-table{min-width:0;width:100%;}
.table-wrap.compact .data-table th,.table-wrap.compact .data-table td{padding:11px 10px;}
.config-stack{display:block;min-width:0;}
.profile-list.compact{font-size:.92rem;margin-bottom:0;}
.small-note{font-size:.92rem;line-height:1.55;}
.hint-inline{font-weight:700;color:var(--muted);font-size:.78rem;}
.file-pill{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:999px;padding:12px 16px;background:#fff;font-weight:900;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:#4f5259;}
.file-pill input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.user-row .list-actions .btn-mini:disabled{opacity:.45;cursor:not-allowed;}
.user-row span{display:block;margin-top:4px;}
@media(max-width:1050px){
  #btn-sidebar{display:inline-flex;align-items:center;justify-content:center;position:sticky;top:16px;z-index:35;}
  .sidebar{max-height:100vh;}
}
@media(max-width:760px){
  .doc-toolbar{align-items:stretch;}
  .file-pill{justify-content:center;width:100%;}
  .table-wrap.compact .data-table{min-width:520px;}
}
