:root{--navy:#153e5b;--navy-deep:#0c283c;--navy-ink:#081a27;--sky:#5dc5fe;--blue:#0239f6;--teal:#40ad95;--amber:#e8b400;--paper:#f6f8f9;--ink:#1b2a38;--muted:#5c7082;--line:#e1e8ee;--white:#ffffff;--danger:#c43a2e;--danger-bg:#fbecea;--radius:16px;--radius-sm:10px;--shadow:0 10px 30px rgba(8,26,39,0.1);--shadow-lg:0 24px 60px rgba(8,26,39,0.22);--font-head:var(--font-inter-tight),"Inter Tight",system-ui,sans-serif;--font-body:var(--font-inter),"Inter",system-ui,sans-serif}.sm-shell{font-family:var(--font-body);background:var(--paper);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100dvh;display:flex;flex-direction:column}.sm-shell h1,.sm-shell h2,.sm-shell h3,.sm-shell h4{font-family:var(--font-head);color:var(--navy);line-height:1.15;letter-spacing:-.01em}.bg-deco{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(1200px 500px at 100% -10%,rgba(93,197,254,.14),transparent 60%),radial-gradient(900px 420px at -10% 110%,rgba(64,173,149,.12),transparent 60%),var(--paper)}.container{width:100%;max-width:1120px;margin:0 auto;padding:20px 18px}.container.narrow{max-width:560px}.container.form{max-width:620px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-head);font-weight:700;font-size:.95rem;padding:12px 18px;border-radius:12px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:all .15s ease;min-height:44px;line-height:1}.btn svg{width:18px;height:18px;flex:none}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-deep)}.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:#022bc0}.btn-ghost{background:transparent;color:var(--navy);border-color:var(--line)}.btn-ghost:hover{border-color:var(--navy)}.btn-teal{background:var(--teal);color:#0a2b22}.btn-danger{background:transparent;color:#b3261e;border-color:#e6b8b4}.btn-danger:hover{background:#fdf2f1;border-color:#b3261e}.btn-block{width:100%}.btn-sm{padding:8px 12px;font-size:.85rem;min-height:34px;border-radius:9px}.btn[disabled]{opacity:.55;cursor:not-allowed}.topbar{background:linear-gradient(135deg,var(--navy-ink) 0,var(--navy-deep) 55%,var(--navy) 100%);color:#fff;padding:14px 18px;gap:14px;box-shadow:var(--shadow);position:sticky;top:0;z-index:20}.topbar,.topbar .brand{display:flex;align-items:center}.topbar .brand{gap:10px;min-width:0;text-decoration:none;color:inherit}.topbar .brand .mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--sky),var(--blue));display:grid;place-items:center;font-family:var(--font-head);font-weight:800;font-size:.78rem;color:#fff;letter-spacing:-.02em;flex:none}.topbar .brand .wm{display:flex;flex-direction:column;line-height:1.05;min-width:0}.topbar .brand .wm b{font-family:var(--font-head);font-weight:800;font-size:.95rem;letter-spacing:.01em}.topbar .brand .wm span{font-family:var(--font-head);font-weight:600;font-size:.68rem;color:var(--sky);letter-spacing:.08em;text-transform:uppercase}.topbar .spacer{flex:1 1}.topbar .back,.topbar .navlink{display:inline-flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font-family:var(--font-head);font-weight:600;font-size:.88rem;background:rgba(255,255,255,.08);padding:8px 12px;border-radius:9px;border:1px solid rgba(255,255,255,.12);cursor:pointer}.topbar .back svg,.topbar .navlink svg{width:16px;height:16px}.topbar .back:hover,.topbar .navlink:hover{background:rgba(255,255,255,.16)}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-head);font-weight:700;font-size:.72rem;letter-spacing:.02em;text-transform:uppercase;padding:5px 10px;border-radius:999px;line-height:1;white-space:nowrap}.badge svg{width:13px;height:13px}.badge-valid{background:rgba(64,173,149,.16);color:#1d7a66}.badge-soon{background:rgba(232,180,0,.18);color:#8a6a00}.badge-expired{background:var(--danger-bg);color:var(--danger)}.badge-off{background:#e3e9ef;color:#6b7c8d}.badge-sec{background:rgba(93,197,254,.18);color:#0d5a8a}.pub-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.avatar,.pub-card{box-shadow:var(--shadow)}.avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;border:4px solid #fff;background:linear-gradient(135deg,var(--sky),var(--navy));display:block}.avatar-wrap{position:relative;margin-top:-12px}.avatar-placeholder,.avatar-wrap{display:flex;justify-content:center}.avatar-placeholder{width:96px;height:96px;border-radius:50%;border:4px solid #fff;box-shadow:var(--shadow);align-items:center;background:linear-gradient(135deg,var(--navy),var(--sky));color:#fff;font-family:var(--font-head);font-weight:800;font-size:1.6rem}.pub-head{text-align:center;padding:16px 18px 20px}.pub-head h1{font-size:1.45rem;font-weight:800;color:var(--navy-ink)}.pub-head .cargo{color:var(--blue);font-weight:600;margin-top:4px;font-size:1rem}.pub-head .setor{color:var(--muted);font-size:.85rem;margin-top:2px}.pub-head .email{color:var(--muted);font-size:.8rem;margin-top:6px}.pub-lead{display:flex;gap:16px;align-items:stretch;padding:18px;background:linear-gradient(135deg,var(--navy-ink),var(--navy));color:#fff}.pub-lead .qr{background:#fff;border-radius:12px;padding:10px;width:118px;height:118px;flex:none;display:flex;align-items:center;justify-content:center}.pub-lead .qr img,.pub-lead .qr svg{width:100%;height:100%;border-radius:4px}.pub-lead .lead-meta{display:flex;flex-direction:column;justify-content:center;gap:6px;font-size:.9rem;min-width:0}.pub-lead .lead-meta .mc{color:rgba(255,255,255,.7);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.pub-lead .lead-meta .mv{font-family:var(--font-head);font-weight:700;font-size:1.05rem}.pub-lead .lead-meta .sh{display:flex;align-items:center;gap:7px;color:var(--sky);font-weight:600}.pub-lead .lead-meta svg{width:18px;height:18px}.pub-lead .lead-meta .valid-meta{color:rgba(255,255,255,.85);font-size:.85rem}.sec{margin-top:22px}.sec-inline{padding:0 18px 18px}.sec-title{display:flex;align-items:center;gap:9px;font-size:1.05rem;font-weight:700;margin-bottom:12px;font-family:var(--font-head);color:var(--navy)}.sec-title svg{width:20px;height:20px;color:var(--blue)}.doc-list{display:flex;flex-direction:column;gap:10px}.doc-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:13px 14px;display:flex;align-items:center;gap:13px;transition:border-color .15s}.doc-item.is-expired{border-color:#efc7c1;background:linear-gradient(180deg,#fff,#fdf7f6)}.doc-item .doc-ic{width:44px;height:44px;border-radius:11px;flex:none;display:flex;align-items:center;justify-content:center;background:rgba(2,57,246,.08);color:var(--blue)}.doc-item .doc-ic svg{width:22px;height:22px}.doc-item .doc-main{flex:1 1;min-width:0}.doc-item .doc-name{font-family:var(--font-head);font-weight:700;font-size:.94rem;color:var(--navy-ink);line-height:1.25}.doc-item .doc-meta{font-size:.8rem;color:var(--muted);margin-top:3px;display:flex;flex-wrap:wrap;gap:4px 12px}.doc-item .doc-meta b{color:var(--ink);font-weight:600}.doc-item .doc-actions{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:7px}.inactive-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:40px 24px;text-align:center}.inactive-card .ic-ic{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:#e3e9ef;color:#6b7c8d;display:flex;align-items:center;justify-content:center}.inactive-card .ic-ic svg{width:36px;height:36px}.inactive-card h2{color:var(--navy-ink);font-size:1.25rem;margin-bottom:10px}.inactive-card p{color:var(--muted);max-width:380px;margin:0 auto;font-size:.95rem}.notfound{text-align:center;padding:60px 20px}.notfound h1{font-size:3rem;color:var(--navy)}.notfound p{color:var(--muted);margin:8px 0 22px}.admin-login{max-width:400px;margin:8vh auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 22px}.admin-login .wl{margin-bottom:16px}.admin-login h1{font-size:1.3rem;margin-bottom:4px}.admin-login .sub{color:var(--muted);font-size:.88rem;margin-bottom:20px}.field{margin-bottom:14px}.field label{display:block;font-family:var(--font-head);font-weight:600;font-size:.85rem;margin-bottom:6px;color:var(--navy-deep)}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1.5px solid var(--line);border-radius:10px;font-family:var(--font-body);font-size:.95rem;color:var(--ink);background:#fff;outline:none;transition:border-color .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(2,57,246,.12)}.field .hint{font-size:.76rem;color:var(--muted);margin-top:4px}.field .erro{font-size:.78rem;color:var(--danger);margin-top:4px;font-weight:500}.field input[aria-invalid=true]{border-color:#b3261e;background:#fff6f5}.field input[aria-invalid=true]:focus{border-color:#b3261e;box-shadow:0 0 0 3px rgba(179,38,30,.18)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:520px){.field-row{grid-template-columns:1fr}}.card-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 18px}.admin-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.admin-head h1{font-size:1.35rem}.admin-head .sub{color:var(--muted);font-size:.88rem;width:100%}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;gap:12px}.stat,.stat .st-ic{display:flex;align-items:center}.stat .st-ic{width:42px;height:42px;border-radius:10px;justify-content:center;flex:none}.stat .st-ic svg{width:21px;height:21px}.stat .st-n{font-family:var(--font-head);font-weight:800;font-size:1.5rem;color:var(--navy-ink);line-height:1}.stat .st-l{font-size:.76rem;color:var(--muted);margin-top:3px}.st-ic.navy{background:rgba(21,62,91,.1);color:var(--navy)}.st-ic.sky{background:rgba(93,197,254,.16);color:#0d5a8a}.st-ic.amber{background:rgba(232,180,0,.2);color:#8a6a00}.st-ic.red{background:var(--danger-bg);color:var(--danger)}.collist{display:flex;flex-direction:column;gap:10px}.coll-row{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}a.coll-row:hover{border-color:rgba(21,62,91,.35);box-shadow:0 6px 18px rgba(8,26,39,.08)}.coll-row .av-ph{width:46px;height:46px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--navy),var(--sky));color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:800;font-size:.95rem}.coll-row .cr-main{flex:1 1;min-width:0}.coll-row .cr-name{font-family:var(--font-head);font-weight:700;color:var(--navy-ink);font-size:.95rem}.coll-row .cr-cargo{font-size:.8rem;color:var(--muted)}.coll-row .cr-token{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;color:var(--blue);background:rgba(2,57,246,.07);padding:2px 7px;border-radius:6px;display:inline-block;margin-top:4px}.coll-row .cr-actions{display:flex;gap:7px;flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center}.coll-row .cr-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.alert-ok{display:flex;align-items:flex-start;gap:8px;background:rgba(64,173,149,.1);border:1px solid rgba(64,173,149,.4);color:#1d7a66;border-radius:10px;padding:9px 12px;font-size:.8rem;font-weight:500;margin-top:10px;text-align:left}.alert-ok svg{flex:none;margin-top:1px}.alert-soon{background:rgba(232,180,0,.12);border:1px solid rgba(232,180,0,.5);color:#7a6100;border-radius:10px}.alert-exp,.alert-soon{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;font-size:.82rem;margin-top:8px}.alert-exp{background:var(--danger-bg);border:1px solid rgba(196,58,46,.4);color:var(--danger);border-radius:10px}.alert-exp svg,.alert-soon svg{width:16px;height:16px;flex:none;margin-top:1px}.link-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .12s,box-shadow .12s;text-align:left}.link-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.link-card .ic{width:44px;height:44px;border-radius:11px;background:rgba(2,57,246,.08);color:var(--blue);flex:none;display:flex;align-items:center;justify-content:center}.link-card .lc-main{flex:1 1;display:flex;flex-direction:column}.link-card .lc-t{font-family:var(--font-head);font-weight:700;color:var(--navy-ink)}.link-card .lc-d{font-size:.83rem;color:var(--muted);margin-top:2px}.link-card .arr{color:var(--sky);display:flex}.link-sutil{background:none;border:0;padding:0;font:inherit;font-size:.82rem;color:var(--blue);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.form-erro{display:flex;align-items:flex-start;gap:10px;background:#b3261e;border:1px solid #8c1d17;color:#fff;border-radius:10px;padding:11px 13px;font-size:.88rem;font-weight:600;line-height:1.35;margin-bottom:14px;box-shadow:0 4px 14px rgba(179,38,30,.22)}.form-erro svg{flex:none;margin-top:1px;color:#fff}.navlink.is-active{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.28)}.toolbar{gap:10px;flex-wrap:wrap;margin-bottom:16px}.search,.toolbar{display:flex;align-items:center}.search{flex:1 1;min-width:200px;gap:8px;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:0 12px}.search svg{width:18px;height:18px;color:var(--muted);flex:none}.search input{border:none;outline:none;padding:12px 0;font-family:var(--font-body);font-size:.95rem;width:100%;background:transparent;color:var(--ink)}.empty{background:#fff;border:1px dashed var(--line);border-radius:var(--radius-sm);padding:34px 20px;text-align:center;color:var(--muted);font-size:.92rem}.ficha-grid{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width:860px){.ficha-grid{grid-template-columns:1.1fr .9fr;align-items:start}}.link-box{display:flex;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;color:var(--navy-deep);overflow:hidden;word-break:break-all}.link-box,.voltar{align-items:center}.voltar{display:inline-flex;gap:6px;color:var(--navy);text-decoration:none;font-family:var(--font-head);font-weight:600;font-size:.88rem;margin-bottom:14px}.voltar svg{width:16px;height:16px}.foot-note{text-align:center;font-size:.78rem;margin-top:26px}.foot-note,.muted{color:var(--muted)}.text-center{text-align:center}.mt-1{margin-top:6px}.mt-2{margin-top:12px}.mt-3{margin-top:20px}.mt-4{margin-top:28px}.hidden{display:none!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width:620px){.topbar{gap:8px;padding:12px}.topbar .nav-label,.topbar .nav-user{display:none}.topbar .navlink{padding:8px 10px}}@media (min-width:680px){.stat-grid{grid-template-columns:repeat(4,1fr)}.pub-card{max-width:560px;margin:0 auto}.container.narrow{padding-top:32px}}:root{--sm-navy:#153e5b;--sm-navy-deep:#0c283c;--sm-navy-ink:#081a27;--sm-sky:#5dc5fe;--sm-blue:#0239f6;--sm-teal:#40ad95;--sm-amber:#e8b400;--sm-paper:#f6f8f9;--sm-line:#e1e8ee;--sm-text:#1b2a38;--sm-muted:#5c7082;--background:var(--sm-paper);--foreground:var(--sm-text)}@theme inline{--color-background:var(--background);--color-foreground:var(--foreground);--color-sm-navy:var(--sm-navy);--color-sm-navy-deep:var(--sm-navy-deep);--color-sm-navy-ink:var(--sm-navy-ink);--color-sm-sky:var(--sm-sky);--color-sm-blue:var(--sm-blue);--color-sm-teal:var(--sm-teal);--color-sm-amber:var(--sm-amber);--color-sm-paper:var(--sm-paper);--color-sm-line:var(--sm-line);--color-sm-muted:var(--sm-muted);--font-sans:var(--font-inter),system-ui,sans-serif;--font-display:var(--font-inter-tight),var(--font-inter),system-ui,sans-serif}body{background:var(--background);color:var(--foreground);font-family:var(--font-inter),system-ui,sans-serif}h1,h2,h3{font-family:var(--font-inter-tight),var(--font-inter),system-ui,sans-serif;letter-spacing:-.01em}.badge-ok{background:rgba(64,173,149,.16);color:#1d7a66}.badge-warn{background:rgba(232,180,0,.18);color:#8a6a00}.badge-expired{background:var(--danger-bg,#fbecea);color:#c43a2e}.badge-none{background:#e3e9ef;color:#6b7c8d}