
:root{color-scheme:light;--primary:#2F4F4F;--gold:#DAA520;--gold-deep:#8c650a;--bg:#f8f9f7;--stroke:#dde5e1;--ink:#172c2b;--muted:#657774;--red:#a52d2d;--green:#1f7655}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.52}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.brand{font-weight:800;letter-spacing:.045em;font-size:1.1rem;color:var(--primary);display:inline-flex;align-items:center;gap:.65rem}.brand-mark{width:52px;height:52px;border-radius:12px;object-fit:cover;display:inline-block;box-shadow:0 2px 10px #0001}.brand.light{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.68rem 1rem;gap:.5rem;border-radius:8px;border:1px solid var(--primary);background:var(--primary);color:#fff;font-weight:650;min-height:42px}.btn:hover{filter:brightness(1.09)}.btn.outline{color:var(--primary);background:#fff;border-color:var(--stroke)}.btn.gold{background:var(--gold);border-color:var(--gold);color:#172c2b}.btn.small{min-height:34px;padding:.4rem .7rem;font-size:.87rem}.btn.danger{background:#fff;border-color:#efc4c4;color:var(--red)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem min(6vw,80px);border-bottom:1px solid var(--stroke);background:#fff}.topnav{display:flex;gap:1.3rem;align-items:center}.topnav a:hover{color:var(--gold-deep)}.hero{background:linear-gradient(125deg,#253f3f,#41665d);padding:clamp(3rem,8vw,5rem) 6vw;color:#fff}.hero-inner{max-width:1120px;margin:auto}.kicker{color:#f1cf71;font-weight:750;letter-spacing:.14em;font-size:.75rem;text-transform:uppercase}.hero h1{font:600 clamp(2.4rem,5vw,4.2rem)/1.13 Georgia,serif;max-width:730px;margin:.55rem 0 1.2rem}.hero p{max-width:570px;color:#e5efeb;font-size:1.13rem}.hero-buttons{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}.hero .btn.outline{background:transparent;color:white;border-color:#9bb4ac}.goldrule{width:58px;height:4px;background:var(--gold);border-radius:4px;margin:1rem 0}.section{max-width:1120px;margin:3rem auto;padding:0 1.1rem}.section h2{font:600 1.8rem Georgia,serif}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.panel{background:white;border:1px solid var(--stroke);border-radius:13px;box-shadow:0 6px 24px #2f4f4f08}.feature{padding:1.4rem}.feature .num{color:var(--gold-deep);font-weight:800;font-size:1.6rem}.feature h3{margin:.5rem 0}.feature p,.muted{color:var(--muted)}.notice{border:1px solid #eadca9;background:#fffbed;border-radius:9px;padding:.8rem 1rem;color:#655019;font-size:.92rem}.notice.danger{background:#fff3f3;border-color:#f0caca;color:#943636}.notice.success{background:#eff9f3;border-color:#b8e4cb;color:#246245}.footer{text-align:center;padding:2rem;color:var(--muted);border-top:1px solid var(--stroke);margin-top:2rem}.footer-admin{display:inline-block;margin-top:.8rem;font-size:.92rem;color:var(--muted)}
.center{max-width:440px;margin:5rem auto;padding:0 1rem}.cardbody{padding:2rem}.cardbody h1{font:600 2rem Georgia,serif;margin:.8rem 0}.field{display:flex;flex-direction:column;gap:.36rem;margin:0 0 1rem}.field label{font-weight:650;font-size:.89rem}.field input,.field select,.field textarea,.search{border:1px solid #cbd7d3;border-radius:8px;padding:.72rem .8rem;background:#fff;color:var(--ink);width:100%;min-width:0}.field textarea{min-height:95px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.errorline{min-height:1.5rem;color:var(--red);font-size:.9rem}.hint{color:var(--muted);font-size:.82rem}
.admin{display:flex;min-height:100vh}.sidebar{width:250px;background:var(--primary);padding:1.3rem 1rem;display:flex;flex-direction:column;gap:1rem;color:#fff;flex-shrink:0}.sidebar .brand{margin:.6rem}.sidegroup{color:#c1d2c9;font-size:.75rem;text-transform:uppercase;font-weight:800;letter-spacing:.07em;margin:1.5rem .6rem .35rem}.sidelink{display:block;padding:.75rem .8rem;border-radius:8px;color:#f2f6f4}.sidelink:hover,.sidelink.active{background:#456562}.sidebottom{margin-top:auto}.content{flex:1;min-width:0}.head{padding:1.1rem 2rem;border-bottom:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between;background:#fff}.main{padding:2rem;max-width:1320px;margin:auto}.pagetitle{font:600 2.2rem Georgia,serif;color:var(--primary);margin:0}.sub{color:var(--muted);margin:.25rem 0 1.3rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.stat{padding:1.25rem}.stat .number{font-size:2rem;font-weight:800;color:var(--primary)}.stat .label{color:var(--muted)}.toolbar{display:flex;gap:.8rem;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:1rem 0}.tablewrap{overflow:auto}.table{width:100%;border-collapse:collapse;text-align:left;min-width:650px}.table th,.table td{padding:.82rem 1rem;border-bottom:1px solid var(--stroke);font-size:.9rem}.table th{color:#586962;background:#f8faf9;font-size:.8rem;text-transform:uppercase}.table tr:last-child td{border-bottom:0}.table td strong{color:var(--primary)}.empty{padding:2rem;text-align:center;color:var(--muted)}.badge{display:inline-block;border-radius:30px;padding:.17rem .55rem;background:#e9efeb;color:var(--primary);font-size:.78rem;font-weight:700}.badge.gold{background:#fbf3db;color:#7a5700}.badge.red{background:#fae8e8;color:var(--red)}
.modalbg{position:fixed;inset:0;background:#122823a8;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:90}.modal{width:min(600px,100%);max-height:90vh;overflow-y:auto;background:white;border-radius:14px;padding:1.6rem;box-shadow:0 20px 60px #0004}.modal h2{font:600 1.6rem Georgia,serif;margin:.2rem 0 .9rem}.twocol{display:grid;grid-template-columns:repeat(2,1fr);gap:0 1rem}.modalfooter{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1rem}.menu-toggle{display:none;border:0;background:transparent;color:var(--primary);font-size:1.4rem}#toast{position:fixed;bottom:1rem;right:1rem;max-width:380px;z-index:120}.toast{background:var(--primary);color:#fff;border-radius:10px;padding:1rem;box-shadow:0 8px 20px #0002}.toast.fail{background:#913939}.loadingpage{max-width:700px;margin:15vh auto;text-align:center;color:var(--muted)}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}.features{grid-template-columns:1fr}.sidebar{width:220px}.topbar{padding:1rem}}
@media(max-width:680px){.topnav{font-size:.8rem;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.admin{display:block}.sidebar{display:none;position:fixed;z-index:50;inset:0 auto 0 0;box-shadow:5px 0 20px #0005}.sidebar.open{display:flex}.head{padding:1rem}.main{padding:1.2rem}.cards{grid-template-columns:1fr 1fr}.pagetitle{font-size:1.8rem}.twocol{grid-template-columns:1fr}.menu-toggle{display:inline-flex}}

/* v0.5.0 public layout: warm gold band and compact footer */
.home-gold-band{min-height:clamp(130px,22vh,250px);background:var(--gold)}
.footer{margin-top:0;padding:1.4rem 1rem 1.6rem}
.footer-admin{display:inline;color:var(--primary);font-weight:400;text-decoration:underline;text-underline-offset:3px;margin:0}
.footer-meta{margin-top:.24rem}
.home-gold-band+.footer{margin-top:0}
.reader{margin-top:1rem;background:#142727;border-radius:12px;overflow:hidden;position:relative;max-width:440px}
.reader video{width:100%;display:block;min-height:180px;background:#142727}
.reader::after{content:"";position:absolute;inset:20% 22%;border:3px solid var(--gold);border-radius:14px;pointer-events:none}
.reader-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.7rem}
.cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin:1.2rem 0}
.cert-card{padding:1.25rem}.cert-card h3{margin:.4rem 0;color:var(--primary)}.cert-card small{display:block;color:var(--muted)}
.portal-container{max-width:850px;margin:3rem auto;padding:0 1rem;min-height:45vh}
.portal-container h1{font:600 2.3rem Georgia,serif;color:var(--primary)}
.error-help{color:var(--red);font-size:.88rem}
@media(max-width:680px){.home-gold-band{min-height:130px}.brand{font-size:.84rem}.brand-mark{width:43px;height:43px}.topnav{gap:.6rem}.topnav a{font-size:.79rem}}

/* MedSchool v0.5.3 — feedbacks e controles de câmera */
[hidden]{display:none!important}
.footer-admin:hover{text-decoration-thickness:2px;color:#1f4240}
.notice.success,.feedback.success,.toast:not(.fail){background:#e9f8ee;border:1px solid #8bcaaa;color:#155e3c}
.notice.danger,.feedback.danger,.toast.fail{background:#fff0f0;border:1px solid #e5a1a1;color:#992424}
.toast{box-shadow:0 8px 26px #0002;font-weight:600}
.feedback{border-radius:9px;padding:.7rem .9rem;margin-top:1rem;font-size:.94rem}
.feedback:empty{display:none}
.feedback.neutral{background:#f2f6f4;border:1px solid #d0ded6;color:#315b51}
.errorline:not(:empty){background:#fff0f0;border:1px solid #e5a1a1;border-radius:9px;padding:.7rem .9rem;color:#992424;font-weight:600}
.qr-status{display:block;max-width:560px}
.qr-status.danger{background:#fff0f0;border:1px solid #e5a1a1;border-radius:9px;padding:.7rem .9rem;color:#992424}
.qr-status.success{background:#e9f8ee;border:1px solid #8bcaaa;border-radius:9px;padding:.7rem .9rem;color:#155e3c}
.qr-status.neutral{color:var(--muted)}

/* v0.5.4 — prévia de PDF e mensagens de e-mail */
.portal-spam{margin-top:.9rem;padding:.85rem 1rem;border-left:4px solid #26764a;background:#e7f7ee;color:#15583a;font-weight:600;border-radius:7px}
.portal-help-error{margin-top:.7rem;font-size:.88rem}
.cert-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:1rem}
.certificate-preview{margin-top:1.1rem;border:1px solid #cfddd5;border-radius:12px;overflow:hidden;background:#f1f5f2}
.certificate-preview .preview-title{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem 1rem;background:#e7f3eb;color:#2F4F4F;font-weight:700;font-size:.9rem}
.certificate-preview iframe{display:block;width:100%;height:clamp(320px,55vw,620px);border:0;background:#fff}
.certificate-preview .preview-description{margin:0;padding:.65rem 1rem;color:var(--muted);font-size:.82rem}
.preview-modal{width:min(1020px,100%);padding:1.1rem}
.preview-modal h2{font-size:1.28rem;margin:.1rem 0}
.preview-modal .certificate-preview iframe{height:min(73vh,720px)}
.preview-error{margin-top:1rem}
.reader canvas{display:none}
@media(max-width:680px){.certificate-preview iframe{height:330px}.preview-modal .certificate-preview iframe{height:60vh}}

/* v0.6.0 — atividades, prévias e filtros por situação */
.reader{width:min(440px,100%);aspect-ratio:1 / 1;max-width:440px}
.reader video{width:100%;height:100%;min-height:0;position:absolute;inset:0;object-fit:cover}
.reader::after{content:"";position:absolute;inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);width:67%;aspect-ratio:1 / 1;height:auto;border:3px solid var(--gold);border-radius:14px;pointer-events:none;box-shadow:0 0 0 150px #0000002b}
.table-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.sort-head{border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:800;cursor:pointer;text-decoration:underline;text-decoration-color:#9bb2a8;text-underline-offset:3px}
.sort-head:hover{color:var(--primary)}
.search-toolbar{justify-content:flex-start}.search-toolbar .search{max-width:350px}
.action-menu{position:relative;display:inline-block}.action-menu summary{list-style:none;cursor:pointer;white-space:nowrap}.action-menu summary::-webkit-details-marker{display:none}
.action-menu-panel{position:relative;z-index:35;right:auto;top:auto;background:white;border:1px solid #cfddd5;border-radius:9px;padding:.35rem;min-width:190px;box-shadow:0 12px 30px #233c3430}
.action-item{display:block;width:100%;background:white;border:0;border-radius:5px;padding:.7rem .8rem;cursor:pointer;text-align:left;color:var(--primary);font-weight:650}
.action-item:hover{background:#eef5ef}.tablewrap{overflow:visible;overflow-x:auto}.action-menu[open]{z-index:40}
.wide-modal{width:min(880px,100%)}
.activity-select{border:1px solid #c9d9cf;border-radius:8px;padding:.8rem;margin-bottom:1rem;max-height:220px;overflow-y:auto}
.activity-select legend{font-weight:700;color:var(--primary);padding:0 .35rem}
.activity-check{display:flex;align-items:center;gap:.65rem;margin:.45rem 0;font-size:.93rem;cursor:pointer}
.activity-check input{width:17px;height:17px;flex:none;accent-color:var(--primary)}
.status-filter{position:relative;display:inline-grid;grid-template-columns:repeat(2,1fr);align-items:center;width:240px;height:44px;padding:4px;border-radius:999px;background:#e3ebe7;border:1px solid #c7d8ce;isolation:isolate}
.slider-thumb{position:absolute;inset:4px auto 4px 4px;width:calc(50% - 4px);background:var(--primary);border-radius:999px;transition:transform .2s ease;z-index:-1;box-shadow:0 2px 6px #1c30272b}
.slider-thumb.right{transform:translateX(100%)}
.status-tab{position:relative;border:none;background:none;color:var(--primary);font-weight:700;border-radius:999px;height:35px;padding:0 .5rem;cursor:pointer}
.status-tab.selected{color:white}.status-tab:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.btn:disabled{opacity:.57;cursor:not-allowed}
@media(max-width:680px){.table-actions{min-width:230px}.action-menu-panel{right:auto;left:0}.status-filter{width:205px}.reader{max-width:100%}}

/* MedSchool v0.6.1 */
.download-model{background:#DAA520!important;color:#213c35!important;border-color:#c39118!important;font-weight:700}
.download-model:hover{background:#ecc04b!important}
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.1rem;align-items:start}
.settings-grid .cardbody{padding:1.4rem}.settings-grid h2{margin:0 0 .8rem;color:var(--primary);font-size:1.25rem}
.settings-grid .field{margin-top:.7rem}.settings-divider{border:0;border-top:1px solid #d8e4dd;margin:1.5rem 0}
.revoked-reason{margin:.45rem 0 0;padding:.45rem .55rem;border:1px solid #e8bbbb;border-radius:7px;background:#fff0f0;color:#942a2a;font-size:.82rem}
#location-wrap[hidden],#revoke-detail-wrap[hidden]{display:none!important}

/* MedSchool 0.7.0: página pública integral, gerenciamento de modelos e envios */
.site-home{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
.site-home>.home-gold-band{flex:1;min-height:clamp(170px,22vh,380px);width:100%;background:var(--gold)}
.action-danger{color:#a52d2d}.action-danger:hover{background:#fff0f0}
.menu-note{display:block;padding:.35rem .65rem;max-width:215px}
.module-notes{margin:0 0 1.2rem}
.module-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.module-card{padding:1.25rem;display:flex;flex-direction:column;gap:.65rem}
.module-card h3{margin:0;color:var(--primary);font-size:1.1rem}
.module-card p{margin:.2rem 0;color:var(--muted);font-size:.88rem}
.module-card .actions{margin-top:auto}
.module-meta{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.module-tag{display:inline-block;background:#f4eed8;color:#74530b;border:1px solid #e1d09e;padding:.12rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700}
.module-tag.on{background:#e6f5ec;color:#1c6540;border-color:#a8d8ba}
.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}
.template-form .field textarea{min-height:70px}
.template-options{display:flex;gap:1.2rem;flex-wrap:wrap;margin:.5rem 0 1.1rem}
.template-options label{display:flex;align-items:center;gap:.45rem;font-size:.91rem;font-weight:650}
.template-options input{accent-color:var(--primary)}
.template-form-header{font-size:.94rem;color:var(--primary);margin:1.1rem 0 .7rem}
.template-modal{max-width:770px;width:100%}
.template-modal .modalfooter{flex-wrap:wrap}
.mail-status{font-weight:700}
.mail-status.sent{color:#19673c}.mail-status.failed{color:#9b2f2f}.mail-status.sending{color:#986c12}
.mail-table .hint{font-size:.78rem}
@media(max-width:700px){.template-grid{grid-template-columns:1fr}.template-modal{width:100%}.site-home>.home-gold-band{min-height:150px}}
.template-editor-modal{width:min(1180px,100%)}
.template-editor-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.9fr);gap:1rem;align-items:start}
.template-editor-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin:.8rem 0}
.template-canvas-shell{margin-top:.9rem;border:1px solid var(--stroke);border-radius:14px;padding:1rem;background:#f5f8f7}
.template-canvas,.template-canvas-preview{position:relative;width:100%;aspect-ratio:1.414/1;background:#fff;border:1px dashed #c8d5cf;border-radius:12px;overflow:hidden}
.template-canvas.pdf-like,.template-canvas-preview.pdf-like{background-image:linear-gradient(180deg,#fff,#f7faf9)}
.tpl-box,.tpl-preview-box{position:absolute;border-radius:10px;padding:.45rem .55rem;border:1px dashed #2f4f4f55;background:#ffffffd4;color:var(--primary);display:flex;align-items:center;justify-content:center;overflow:hidden}
.tpl-box{cursor:grab;box-shadow:0 3px 10px #16312b12}
.tpl-box.selected{outline:2px solid var(--gold-deep);border-style:solid;background:#fff9e7}
.tpl-preview-box{pointer-events:none;line-height:1.15;background:#ffffffba;border-color:#d1ddd7;align-items:flex-start;justify-content:flex-start;white-space:pre-wrap}
.template-sidepanel{position:sticky;top:0}
.mail-table code{font-size:.78rem}
@media(max-width:980px){.template-editor-grid{grid-template-columns:1fr}.template-sidepanel{position:static}}

/* MedSchool 0.8.1 — lançamento: identidade pública, painel e controles limpos */
.home-gold-band{display:flex;align-items:flex-end;justify-content:center;padding:2.4rem 1rem 2.6rem}
.home-social{display:flex;flex-direction:column;align-items:center;gap:.9rem}
.home-social-caption{font-size:.79rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:#294740}
.social-icons{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}
.social-link{width:48px;height:48px;background:#fff9e9;border:1px solid #d3a72c;border-radius:50%;display:grid;place-items:center;color:#264b43;box-shadow:0 7px 19px #71520d22;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.social-link:hover{transform:translateY(-4px);background:white;box-shadow:0 10px 24px #71520d38}
.social-link:focus-visible{outline:3px solid #183c35;outline-offset:4px}
.social-link svg{width:22px;height:22px}
.mail-filter.status-filter{width:336px;min-width:336px;max-width:100%;height:48px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.mail-filter .status-tab{min-width:0;padding:0 1rem;white-space:nowrap;font-size:.9rem;height:40px}
.mail-filter .slider-thumb{inset:4px auto 4px 4px;height:40px}
.template-tokens{display:flex;flex-wrap:wrap;gap:.4rem;margin:.65rem 0}
.template-tokens button{background:#f0f5f2;color:#31564c;border:1px solid #cbd9cf;border-radius:6px;padding:.33rem .46rem;font:600 .77rem ui-monospace,Consolas,monospace;cursor:pointer}
.template-tokens button:hover{background:#e6f1e9;border-color:#9bb5a6}
.dashboard-top{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin:0 0 1.55rem}
.dashboard-eyebrow{font-size:.75rem;color:#7a6a3e;letter-spacing:.14em;text-transform:uppercase;font-weight:750}
.dashboard-top .pagetitle{margin:.35rem 0 .3rem;font-size:clamp(1.85rem,3vw,2.5rem)}
.dashboard-lead{color:var(--muted);margin:0;font-size:.94rem}
.dashboard-shortcuts{display:flex;gap:.6rem;flex-wrap:wrap}
.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.15rem}
.dashboard-stat{padding:1.3rem 1.3rem 1.05rem;display:flex;flex-direction:column;gap:.8rem;text-decoration:none;color:var(--primary);transition:transform .18s,box-shadow .18s}
.dashboard-stat:hover{transform:translateY(-2px);box-shadow:0 12px 34px #244a391c}
.dash-stat-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.88rem;color:#526d61;font-weight:700}
.dash-stat-icon{width:30px;height:30px;border-radius:9px;background:#f5f6ed;color:#9a791a;display:grid;place-items:center;font-size:1.18rem}
.dash-stat-value{font-size:clamp(1.6rem,2.5vw,2.2rem);line-height:1.1;letter-spacing:-.045em;font-weight:770;color:#234b40}
.dash-stat-note{font-size:.77rem;color:#798c82}
.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:1.15rem;margin-bottom:1.15rem}
.dashboard-bottom-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:1.15rem}
.dashboard-panel{padding:1.35rem;min-width:0}
.dashboard-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;margin-bottom:1.2rem}
.dashboard-panel-head h2{margin:0;color:var(--primary);font-size:1.05rem;letter-spacing:-.02em}
.dashboard-panel-head p{margin:.28rem 0 0;font-size:.78rem;color:var(--muted)}
.dash-panel-total{font-size:1.45rem;color:var(--primary);font-weight:800;white-space:nowrap}
.dash-panel-total small{display:block;text-align:right;font-size:.7rem;font-weight:500;color:var(--muted)}
.dash-chart{height:225px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem;border-bottom:1px solid #dfe9e2;padding:.2rem .25rem .4rem;align-items:end}
.dash-chart-column{display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;min-width:0}
.dash-chart-value{height:23px;color:#576d61;font-size:.76rem;font-weight:700}
.dash-chart-barwrap{display:flex;align-items:flex-end;width:min(45px,72%);height:160px}
.dash-chart-bar{width:100%;height:0;background:linear-gradient(180deg,#d9b044,#b78a17);border-radius:7px 7px 2px 2px;min-height:0;transition:height .4s ease}
.dash-chart-label{margin-top:.55rem;color:#788e82;text-transform:capitalize;font-size:.77rem}
.dashboard-text-link{color:#2c6854;text-decoration:none;font-size:.77rem;font-weight:700;white-space:nowrap}
.dashboard-text-link:hover{text-decoration:underline}
.dash-progress-total{display:flex;align-items:baseline;gap:.65rem;margin:.8rem 0 1rem}
.dash-progress-total strong{font-size:2.55rem;line-height:1;color:var(--primary);font-weight:800}
.dash-progress-total span{font-size:.82rem;color:var(--muted)}
.dash-progress-track{height:10px;background:#e8eee9;border-radius:100px;overflow:hidden}
.dash-progress-track div{height:100%;background:#42705e;border-radius:100px}
.dash-progress-meta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.85rem;font-size:.78rem;color:#62756a}
.dash-legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.35rem;background:#becbc2}
.dash-legend-dot.green{background:#42705e}.dash-legend-dot.pale{background:#c6d5c9}
.dash-small-alert{display:inline-block;font-size:.78rem;color:#a43131;margin-top:.65rem;text-decoration:underline}
.dash-month-caption{border-top:1px solid #e1e8e3;margin-top:2rem;padding-top:1rem;display:flex;align-items:center;gap:.55rem;color:var(--muted);font-size:.8rem}
.dash-month-caption strong{color:#2f6250;font-size:1.2rem}
.dashboard-tablewrap{overflow-x:auto!important;overflow-y:hidden!important}
.dash-table{border-collapse:collapse;width:100%;min-width:360px}
.dash-table th{font-size:.72rem;letter-spacing:.035em;color:#8a9c91;text-transform:uppercase;text-align:left;padding:0 .7rem .65rem 0;border-bottom:1px solid #e7ede8}
.dash-table td{font-size:.87rem;border-bottom:1px solid #edf1ed;padding:.83rem .7rem .83rem 0}
.dash-table tr:last-child td{border:0}
.dash-table .dash-num{text-align:right;white-space:nowrap;color:#466858;font-variant-numeric:tabular-nums}
.dash-table th:not(:first-child){text-align:right}
.dashboard-activity-link{color:#294b3d;text-decoration:none;font-weight:650}
.dashboard-activity-link:hover{text-decoration:underline}
.dash-recent{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}
.dash-recent-item{display:flex;gap:.75rem;align-items:center;border-bottom:1px solid #edf1ed;padding:.72rem 0}
.dash-recent-item:last-child{border:0}
.dash-recent-dot{height:9px;width:9px;flex-shrink:0;border-radius:50%;background:#60a07b}
.dash-recent-dot.revoked{background:#b85e5e}
.dash-recent-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}
.dash-recent-main strong{font-size:.85rem;color:#304c41;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-recent-main small{font-size:.75rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-recent-date{font-size:.74rem;color:#89968b;white-space:nowrap}
.dash-empty{color:var(--muted);font-size:.86rem;padding:1.1rem 0}
@media(max-width:1100px){.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main-grid,.dashboard-bottom-grid{grid-template-columns:1fr}}
@media(max-width:680px){.dashboard-stats{gap:.7rem}.dashboard-stat{padding:1rem}.dash-chart{height:195px}.dash-chart-barwrap{height:130px}.social-link{width:44px;height:44px}.home-gold-band{padding-bottom:2rem}.mail-filter.status-filter{width:min(336px,100%);min-width:0}.mail-filter .status-tab{font-size:.81rem;padding:0 .48rem}}
@media(max-width:390px){.dashboard-stats{grid-template-columns:1fr}.dash-chart{gap:.25rem}}
@media(max-width:600px){
  .dash-table{min-width:0;table-layout:fixed}
  .dash-table th,.dash-table td{font-size:.72rem;padding-right:.25rem}
  .dash-table th:first-child{width:55%}
  .dash-table th:nth-child(2){width:21%}
  .dash-table th:nth-child(3){width:24%}
}

/* v0.8.2 — autenticação responsiva e visualização PDF sem plugin nativo */
.verified-result{min-width:0;overflow-wrap:anywhere;word-break:normal}
.verified-result p{max-width:100%;margin:.75rem 0;overflow-wrap:anywhere}
.verification-code{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.45rem;min-width:0}
.verification-code span{flex-shrink:0}
.verification-code code{white-space:normal;word-break:break-all;overflow-wrap:anywhere;max-width:100%;min-width:0;font:600 .92em/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}
.public-preview-body{min-height:210px;display:flex;justify-content:center;align-items:center;padding:1.1rem;min-width:0;background:linear-gradient(150deg,#f9fbf9,#eff4f0)}
.public-pdf-canvas{max-width:100%;height:auto;display:block;background:white;border-radius:6px;box-shadow:0 12px 25px #2c443523}
.public-preview-fallback,.public-preview-loading{padding:3rem 1rem;text-align:center;color:var(--muted);line-height:1.6}
.public-preview-actions{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;margin:.7rem 0}
.certificate-preview .preview-description{display:flex;flex-direction:column;gap:.3rem;line-height:1.45}
.certificate-preview .preview-description small{display:block;color:var(--muted);font-size:.78rem}
@media(max-width:640px){.public-preview-body{min-height:180px;padding:.6rem}.verification-code{display:block}.verification-code span{display:inline}.verification-code code{display:block;margin-top:.2rem;font-size:.8rem}.public-preview-actions .btn{flex:1;justify-content:center;white-space:nowrap}}
/* Transições discretas somente para páginas públicas e quando o usuário permite movimento */
@media(prefers-reduced-motion:no-preference){
 .site-home .hero-inner,.home-social,.portal-container,.section:has(#verify-result){animation:medscreen .5s cubic-bezier(.2,.7,.3,1) both}
 .topnav a,.hero-buttons .btn,.public-preview-actions .btn{transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}
 .hero-buttons .btn:hover,.public-preview-actions .btn:hover{transform:translateY(-2px)}
 @keyframes medscreen{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
}

/* v0.8.3: apresentação dos certificados — exibida apenas em tablet e desktop */
.hero-layout{max-width:1260px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(.7rem,2vw,2.2rem)}
.hero-copy{position:relative;z-index:1;min-width:0}
.hero-layout .hero-copy h1{font-size:clamp(2.3rem,3.55vw,4rem);max-width:610px}
.hero-visual{display:flex;align-items:center;justify-content:center;margin:0;min-width:0;isolation:isolate}
.hero-visual img{display:block;max-width:100%;width:100%;height:auto;filter:drop-shadow(0 22px 22px rgba(10,23,21,.23));transform-origin:55% 50%}
@media(min-width:768px) and (max-width:1020px){
 .hero{padding-block:3.25rem}
 .hero-layout{grid-template-columns:minmax(0,1fr) minmax(0,.94fr);gap:.7rem}
 .hero-layout .hero-copy h1{font-size:clamp(1.95rem,3.2vw,2.7rem)}
 .hero-visual img{width:108%;max-width:108%}
}
@media(max-width:767px){
 .hero-layout{display:block}
 .hero-layout .hero-visual{display:none!important}
}
@media(min-width:768px) and (prefers-reduced-motion:no-preference){
 .hero-visual{animation:medschool-hero-reveal .85s ease-out both}
 .hero-visual img{animation:medschool-certificates-float 7s ease-in-out 1s infinite}
 @keyframes medschool-hero-reveal{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
 @keyframes medschool-certificates-float{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-9px) rotate(.45deg)}}
}

/* MedSchool Certificados v1.0 — páginas curtas, indicadores e prévia PDF. */
.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1rem 1.1rem;margin:0 0 .55rem;color:#49635b;font-size:.9rem}
.pagination-buttons{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.pagination-buttons .btn{min-width:110px}
.dashboard-traffic{margin:1.3rem 0 1.4rem}
.dashboard-metrics-heading{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem}
.dashboard-metrics-heading h2{margin:0;color:var(--primary);font-size:1.13rem;font-weight:750}
.dashboard-metrics-heading p{margin:0;color:var(--muted);font-size:.8rem}
.dashboard-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.dashboard-metric{display:flex;flex-direction:column;gap:.55rem;padding:1.15rem 1.3rem;min-width:0}
.dashboard-metric>span{font-weight:650;color:#4b665e;font-size:.91rem}
.dashboard-metric>strong{font-size:clamp(1.85rem,3vw,2.4rem);line-height:1.1;color:var(--primary);font-variant-numeric:tabular-nums}
.dashboard-metric>small{color:var(--muted);font-size:.77rem}
.dashboard-channel-list{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.8rem}
.dashboard-channel{border:1px solid #d7e5dc;background:#f7faf8;border-radius:999px;padding:.33rem .72rem;font-size:.81rem;color:#3f5a50}
.dashboard-channel strong{color:var(--primary)}
.public-pdf-canvas{display:block;max-width:100%;height:auto!important;margin:0 auto;background:white;box-shadow:0 5px 22px #25392b17}
.public-preview-body{min-height:140px;display:flex;align-items:center;justify-content:center;padding:.7rem;background:#f9fbfa}
.public-preview-body:has(.public-pdf-canvas){display:block}
@media(max-width:760px){.dashboard-metric-grid{grid-template-columns:1fr}.pagination{font-size:.82rem}.pagination-buttons .btn{min-width:0}}
