:root{--green:#2e8b57;--green2:#176b43;--ink:#17221d;--muted:#66736c;--bg:#f4f7f5;--card:#fff;--line:#dfe7e2;--danger:#b42318}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{color:inherit}.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.bar{max-width:none;margin:auto;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:800;font-size:20px}.brand span{color:var(--green)}.nav{display:flex;gap:8px;align-items:center}.nav a{padding:9px 12px;border-radius:10px;text-decoration:none;color:#425047}.nav a:hover{background:#eef4f0}.userpill{background:#eef7f1;padding:8px 12px;border-radius:999px;font-size:14px}.wrap{max-width:none;margin:0 auto;padding:36px 22px}.hero{background:linear-gradient(135deg,#183e2b,#2e8b57);color:#fff;border-radius:24px;padding:38px;display:flex;justify-content:space-between;gap:30px;align-items:end;box-shadow:0 14px 40px rgba(26,70,49,.15)}.hero h1{font-size:38px;line-height:1.05;margin:0 0 12px}.hero p{margin:0;max-width:680px;color:#dcefe5}.badge{display:inline-block;background:rgba(255,255,255,.14);padding:7px 11px;border-radius:999px;font-size:13px;margin-bottom:14px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 5px 20px rgba(20,45,32,.05)}.card h2,.card h3{margin:0 0 8px}.muted{color:var(--muted)}.big{font-size:30px;font-weight:800}.formcard{max-width:760px;margin:30px auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 8px 28px rgba(20,45,32,.06)}label{display:block;font-weight:700;font-size:14px;margin:0 0 7px}input,select{width:100%;padding:12px 13px;border:1px solid #cbd8d0;border-radius:11px;background:#fff;font:inherit}input:focus,select:focus{outline:3px solid rgba(46,139,87,.13);border-color:var(--green)}.row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:16px}.field{margin-bottom:16px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:12px 18px;background:var(--green);color:#fff;font-weight:750;text-decoration:none;cursor:pointer}.btn:hover{background:var(--green2)}.btn.secondary{background:#edf4ef;color:#21553a}.btn.danger{background:#fff0ef;color:var(--danger)}.actions{display:flex;gap:10px;flex-wrap:wrap}.notice{padding:13px 15px;border-radius:12px;background:#eef7f1;color:#22573c;margin:15px 0}.error{padding:13px 15px;border-radius:12px;background:#fff0ef;color:var(--danger);margin:15px 0}.prefs{margin-top:20px}.prefrow{display:flex;align-items:center;gap:12px;padding:12px 13px;border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:8px}.prefrow{user-select:none}.prefrow[draggable="true"]{cursor:grab}.prefrow[draggable="true"]:active{cursor:grabbing}.prefrow.is-dragging{opacity:.45;box-shadow:0 8px 22px rgba(20,45,32,.12)}.drag{font-size:18px;line-height:1;min-width:18px;text-align:center}.prefrow:hover .drag{color:var(--green)}.drag{cursor:grab;color:#8a9891}.num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef4f0;font-weight:800}.school{flex:1}.school small{display:block;color:var(--muted);margin-top:3px}.remove{border:0;background:#fff;color:var(--danger);cursor:pointer;font-size:18px}.searchbox{display:grid;grid-template-columns:1fr 130px;gap:10px}.footer{max-width:none;margin:30px auto;padding:0 22px 35px;color:var(--muted);font-size:13px}.center{text-align:center}.check{display:flex;gap:10px;align-items:center}.check input{width:auto}.resultlink{display:block;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:12px;text-decoration:none}.resultlink:hover{background:#f5faf7}@media(max-width:800px){.hero{padding:28px;display:block}.hero h1{font-size:30px}.grid{grid-template-columns:1fr}.row{grid-template-columns:1fr}.bar{padding:12px 15px}.nav a{display:none}.wrap{padding:24px 15px}.formcard{padding:20px}.searchbox{grid-template-columns:1fr}.hero .btn{margin-top:18px;width:100%}}

.calculator-home{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 8px 28px rgba(20,45,32,.06);width:100%;}.calculator-home iframe{display:block;width:100%;min-height:1200px;border:0;background:#f7faf8}@media(max-width:800px){.calculator-home{margin-left:-2px;margin-right:-2px;border-radius:16px}.calculator-home iframe{min-height:1500px}}

/* Calculadora integrada na página inicial */
html{scroll-behavior:smooth}.calculator-home{margin-top:22px;background:#f7faf8;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 8px 28px rgba(20,45,32,.06)}.calculator-home iframe{display:block;width:100%;height:1900px;min-height:0;border:0;background:#f7faf8}@media(max-width:800px){.calculator-home iframe{height:2500px}}

/* V1.2.2 — aplicação Concurso em largura total */
html, body { width:100%; max-width:none; }
.top, .bar, .wrap, .footer { width:100%; max-width:none; }
.bar { padding-left:24px; padding-right:24px; }
.wrap { padding-left:16px; padding-right:16px; }
.calculator-home { width:100%; max-width:none; margin-left:0; margin-right:0; border-radius:14px; }
.calculator-home iframe { width:100%; max-width:none; }
@media (max-width:800px) { .bar{padding-left:14px;padding-right:14px}.wrap{padding-left:8px;padding-right:8px}.calculator-home{border-radius:10px} }


/* V1.2.3 — full bleed: ultrapassa qualquer contentor estreito do tema WordPress */
html, body { width:100%; max-width:none; margin:0; padding:0; }
.top, .wrap, .footer {
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
}
.bar { width:100% !important; max-width:none !important; }
.wrap { padding-left:16px !important; padding-right:16px !important; }
.calculator-home {
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  border-left:0 !important;
  border-right:0 !important;
  border-radius:0 !important;
}
.calculator-home iframe { width:100% !important; max-width:none !important; }
@media (max-width:800px) {
  .wrap { padding-left:8px !important; padding-right:8px !important; }
}


/* V1.2.4 — calculadora integrada diretamente no index, sem iframe */
.calculator-home-direct { width:100vw !important; max-width:none !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; background:#f7faf8 !important; overflow:visible !important; }
.calculator-home-direct .concurso-calculadora-embedded { width:100% !important; max-width:none !important; }
.calculator-home-direct .calculadora-cabecalho { width:calc(100% - 32px) !important; max-width:none !important; margin:14px 16px !important; }
.calculator-home-direct #opc, .calculator-home-direct #menu, .calculator-home-direct #lista { width:100% !important; max-width:none !important; }
@media(max-width:800px){ .calculator-home-direct .calculadora-cabecalho{width:calc(100% - 16px)!important;margin:8px!important;} }


/* V1.2.14 — escolas, concelhos e QZP nas preferências */
.codes-card{margin-top:22px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:16px}
.codes-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.codes-head h2{margin:0 0 5px;font-size:20px}
.codes-head p{margin:0}
.school-codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-top:16px}
.code-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#f9fbfa}
.code-position{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#eef4f0;font-weight:800;color:var(--ink);font-size:13px}
.school-code{width:100%;padding:9px 10px;border:1px solid #cbd8d0;border-radius:8px;background:#fff;font:700 16px/1 Arial,sans-serif;letter-spacing:.5px;color:var(--ink);text-align:center}
.copy-all-codes{white-space:nowrap}
.copy-all-codes.copied{background:#22573c}
@media(max-width:800px){.codes-card{padding:15px}.codes-head{align-items:flex-start;flex-direction:column}.school-codes{grid-template-columns:1fr}.code-item{grid-template-columns:30px 1fr}.copy-all-codes{width:100%}}

/* V1.2.27 — códigos de escolas, concelhos e QZP */
.codes-group{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.codes-group:first-of-type{border-top:0;padding-top:0}
.codes-subhead{display:flex;align-items:center;justify-content:space-between;gap:16px}
.codes-subhead h3{margin:0 0 4px;font-size:17px}
.codes-subhead p{margin:0}
.code-empty{grid-column:1/-1;margin:4px 0}
@media(max-width:800px){.codes-subhead{align-items:flex-start;flex-direction:column}.codes-subhead .copy-all-codes{width:100%}}
