/* Conselhos do Ideia-Atlântico — mesma identidade do novo site (Pantone 288/2935/2915, Michroma + Inter) */
:root{
  --navy:#003082;--deep:#061a3d;--blue:#0057b8;--sky:#62b5e5;
  --bg:#f5f8fc;--surface:#ffffff;--fg:#0f1b2d;--muted:#4f5d73;--line:#d9e2ee;--accent:#0057b8;--ice:#e8f3fb;
  --ok:#0f7a4a;--warn:#b45309;--err:#b42318;
  --display:"Michroma","Eurostile","Arial Narrow",system-ui,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0a111e;--surface:#111a2b;--fg:#e8eef8;--muted:#a3b1c6;--line:#23314a;--accent:#62b5e5;--ice:#13233d;--ok:#4ade80;--warn:#f59e0b;--err:#f87171;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0a111e;--surface:#111a2b;--fg:#e8eef8;--muted:#a3b1c6;--line:#23314a;--accent:#62b5e5;--ice:#13233d;--ok:#4ade80;--warn:#f59e0b;--err:#f87171;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.6 var(--body)}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.narrow{max-width:760px}
h1,h2,h3{text-wrap:balance;line-height:1.2;margin:0}
p{margin:0}
a{color:var(--accent)}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.kicker{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--accent)}
h2{font-family:var(--display);font-weight:400;font-size:clamp(1.3rem,2.6vw,2rem);margin-top:10px}
.lead{max-width:62ch;color:var(--muted);margin-top:14px;font-size:1.05rem}
section{padding-block:clamp(52px,7vw,96px)}
.demo-bar{background:#111;color:#fff;font-size:.84rem}
.demo-bar .wrap{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;padding-block:9px}
.demo-bar b{color:#fbbf24}
.demo-bar button{background:none;border:1px solid #fbbf24;color:#fbbf24;border-radius:4px;padding:3px 10px;font:inherit;cursor:pointer}

header.top{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0px);z-index:5}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--surface)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:8px}
.brand img{height:54px;width:auto;display:block}
header.top nav{display:flex;gap:18px;flex-wrap:wrap}
header.top nav a{color:var(--fg);text-decoration:none;font-weight:500;font-size:.88rem;white-space:nowrap}
header.top nav a:hover{color:var(--accent)}
@media (max-width:720px){header.top nav .opt{display:none}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:4px;font:600 .95rem var(--body);text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn.primary{background:var(--navy);color:#fff}
.btn.sky{background:var(--sky);color:var(--deep)}
.btn.ghost{border-color:currentColor;color:inherit;background:transparent}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn.li{background:#0a66c2;color:#fff}

/* abertura */
.hero{background:var(--deep);color:#fff;position:relative;overflow:hidden}
.hero .wrap{position:relative;padding-block:clamp(64px,10vw,128px)}
.hero .kicker{color:var(--sky)}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(1.8rem,4.6vw,3.3rem);max-width:18ch;margin-top:16px}
.hero h1 em{font-style:normal;color:var(--sky)}
.hero p.sub{max-width:56ch;margin-top:20px;font-size:1.1rem;color:#d7e6f6}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.emblem{position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:min(520px,60vw);opacity:.22;pointer-events:none}
@media (max-width:760px){.emblem{opacity:.12;right:-120px}}

/* manifesto */
.manifesto{background:var(--surface)}
.mtext{font-family:var(--serif);font-size:1.16rem;line-height:1.75;max-width:66ch}
.mtext p+p{margin-top:1.05em}
.mtext h3{font-family:var(--body);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:2.2em 0 .6em}
.mtext .drop::first-letter{font-family:var(--display);float:left;font-size:3.1em;line-height:.9;padding:.06em .12em 0 0;color:var(--navy)}
:root[data-theme="dark"] .mtext .drop::first-letter{color:var(--sky)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mtext .drop::first-letter{color:var(--sky)}}
.convic{list-style:none;margin:1.2em 0 0;padding:0;display:grid;gap:18px;counter-reset:cv}
.convic li{display:grid;grid-template-columns:44px 1fr;gap:14px}
.convic li::before{counter-increment:cv;content:counter(cv,upper-roman);font-family:var(--display);font-size:.95rem;color:var(--accent);padding-top:.2em}
.convic b{font-family:var(--body);display:block;font-size:1.02rem}
.figs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden;margin:2em 0 .6em;font-family:var(--body)}
.fig{background:var(--surface);padding:16px}
.fig b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(1.15rem,2.4vw,1.6rem);color:var(--accent);font-variant-numeric:tabular-nums}
.fig span{color:var(--muted);font-size:.84rem;line-height:1.4;display:block;margin-top:4px}
@media (max-width:720px){.figs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.src{font:.78rem/1.5 var(--body);color:var(--muted)}
.slot{font-family:var(--body);font-size:.88rem;border:1.5px dashed var(--warn);color:var(--warn);border-radius:6px;padding:10px 12px}
.sign{margin-top:2em;font-family:var(--body);border-left:3px solid var(--accent);padding:4px 0 4px 16px;color:var(--muted)}
.sign b{color:var(--fg)}

/* conselhos */
.councils{display:grid;gap:28px;margin-top:36px}
.council{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:clamp(18px,3vw,30px);min-width:0}
.c-head{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.c-head h3{font-family:var(--display);font-weight:400;font-size:1.25rem}
.c-head .en{display:block;font-size:.8rem;color:var(--muted);letter-spacing:.06em;margin-top:2px}
.c-head p{color:var(--muted);margin-top:6px;max-width:60ch;font-size:.95rem}
.meter{display:grid;place-items:center;width:112px;height:112px;position:relative}
.meter svg{position:absolute;inset:0;transform:rotate(-90deg)}
.meter circle{fill:none;stroke-width:8}
.meter .bgc{stroke:var(--line)}
.meter .fgc{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .8s ease}
.meter b{font-family:var(--display);font-weight:400;font-size:1.5rem;font-variant-numeric:tabular-nums}
.meter small{display:block;font-size:.7rem;color:var(--muted);text-align:center;margin-top:-4px}
.locked{margin-top:20px;display:flex;gap:12px;align-items:flex-start;background:var(--ice);border-radius:6px;padding:14px 16px;font-size:.93rem}
.locked svg{flex:none;margin-top:2px}
.dots{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;margin-top:16px;max-width:420px}
.dots i{aspect-ratio:1;border-radius:50%;border:1.5px solid var(--line)}
.dots i.on{background:var(--accent);border-color:var(--accent)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chip{border:1px solid var(--line);background:transparent;color:var(--fg);border-radius:999px;padding:5px 12px;font:500 .84rem var(--body);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.members{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:18px}
.member{border:1px solid var(--line);border-radius:6px;padding:14px;display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;min-width:0}
.member img,.member .ini{width:52px;height:52px;border-radius:50%;object-fit:cover;background:var(--ice);display:grid;place-items:center;font-weight:700;color:var(--accent)}
.member b{display:block;font-size:.95rem;line-height:1.3}
.member span{display:block;font-size:.8rem;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}
.member a{font-size:.78rem;font-weight:600;text-decoration:none}
.tag{display:inline-block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:2px}
@media (max-width:600px){.c-head{grid-template-columns:1fr}.meter{justify-self:start}}

/* como funciona */
.how{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:36px;list-style:none;padding:0;counter-reset:hw}
.how li{border-top:3px solid var(--accent);padding-top:12px;min-width:0}
.how li::before{counter-increment:hw;content:"0" counter(hw);font-family:var(--display);color:var(--accent)}
.how h3{font-size:1.02rem;margin-top:6px}
.how p{color:var(--muted);font-size:.92rem;margin-top:4px}
@media (max-width:860px){.how{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.how{grid-template-columns:1fr}}

details.reg{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:4px 18px;margin-top:24px}
details.reg summary{cursor:pointer;font-weight:600;padding:12px 0}
details.reg ol{padding-left:20px;margin:0 0 16px;display:grid;gap:8px;font-size:.93rem}

/* aderir */
.steps-bar{display:flex;gap:8px;list-style:none;padding:0;margin:24px 0 0;flex-wrap:wrap}
.steps-bar li{font-size:.8rem;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:6px}
.steps-bar li i{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-style:normal;font-size:.72rem}
.steps-bar li.on{color:var(--fg)}.steps-bar li.on i{background:var(--navy);border-color:var(--navy);color:#fff}
.steps-bar li.done i{background:var(--ok);border-color:var(--ok);color:#fff}
.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:clamp(18px,3vw,30px);margin-top:22px}
.card h2{margin-top:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:640px){.grid2{grid-template-columns:1fr}}
label.f{display:grid;gap:6px;font-size:.9rem;font-weight:500;min-width:0}
label.f small{font-weight:400;color:var(--muted)}
input,select,textarea{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg);width:100%;min-width:0}
textarea{resize:vertical}
.check{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:.93rem;padding:10px 0;border-bottom:1px solid var(--line)}
.check input{width:18px;height:18px;margin-top:3px}
.check em{font-style:normal;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}
.err{color:var(--err);font-weight:500;font-size:.92rem}
.okmsg{color:var(--ok);font-weight:600}
.photo{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.photo .pv{width:84px;height:84px;border-radius:50%;background:var(--ice);overflow:hidden;display:grid;place-items:center;color:var(--accent);font-weight:700;font-size:1.4rem;flex:none}
.photo .pv img{width:100%;height:100%;object-fit:cover}
.li-box{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:var(--ice);border-radius:6px;padding:14px 16px;margin-bottom:18px}
.li-box p{flex:1 1 260px;font-size:.92rem}
.sigbox{font-family:"Caveat","Segoe Script","Brush Script MT",cursive;font-size:1.6rem}
.scroll{max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:16px;background:var(--bg)}

/* certificado */
.cert{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:clamp(24px,5vw,56px);text-align:center;position:relative;overflow:hidden;margin-top:28px}
.cert::before{content:"";position:absolute;inset:10px;border:1.5px solid var(--sky);border-radius:6px;pointer-events:none}
.cert img.logo{height:54px;width:auto;margin:0 auto}
.cert h1{font-family:var(--display);font-weight:400;font-size:clamp(1.3rem,3vw,1.9rem);margin-top:22px}
.cert .name{font-family:var(--serif);font-size:clamp(1.6rem,4vw,2.4rem);margin-top:18px}
.cert p{color:var(--muted);max-width:52ch;margin:12px auto 0}
.cert .meta{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 28px;margin-top:26px;font-size:.84rem;color:var(--muted)}
@media print{header.top,.demo-bar,.noprint,footer{display:none!important}.cert{border:0}body{background:#fff;color:#000}}

/* admin */
table.t{width:100%;border-collapse:collapse;font-size:.86rem}
table.t th,table.t td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
table.t th{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:6px;margin-top:14px}
.st{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.74rem;font-weight:600;background:var(--ice);color:var(--accent)}
.st.aderiu{background:var(--ok);color:#fff}.st.fila{background:var(--warn);color:#fff}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px}
.kpis div{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:14px}
.kpis b{display:block;font-family:var(--display);font-weight:400;font-size:1.4rem;color:var(--accent)}
.kpis span{font-size:.82rem;color:var(--muted)}
@media (max-width:700px){.kpis{grid-template-columns:1fr 1fr}}

footer{background:var(--deep);color:#b9cde6;font-size:.88rem}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-block:28px}
footer a{color:#fff}
