:root{
  --wine:#7b0d1b;
  --wine-dark:#4d0710;
  --wine-soft:#f8eef0;
  --gold:#b8945e;
  --ink:#25161a;
  --text:#45393c;
  --muted:#7b7072;
  --bg:#f7f4f1;
  --card:#ffffff;
  --line:#eadeda;
  --line-strong:#d8c3bd;
  --ok:#24733b;
  --ok-bg:#eaf6e8;
  --danger:#b3261e;
  --danger-bg:#fdecea;
  --shadow:0 12px 32px rgba(52,31,24,.07);
}
*{box-sizing:border-box}
html,body{min-height:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Segoe UI",Inter,Roboto,Arial,sans-serif;font-size:14px;line-height:1.45;font-weight:400}
a{text-decoration:none;color:inherit}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:252px;position:fixed;inset:0 auto 0 0;background:#fff;color:var(--ink);padding:16px 14px;display:flex;flex-direction:column;gap:14px;border-right:1px solid var(--line);z-index:5;overflow-y:auto}
.brand-block{text-align:center;padding:18px 12px 16px;border:0;border-radius:20px;background:linear-gradient(155deg,var(--wine-dark),var(--wine));color:#fff;box-shadow:0 14px 30px rgba(122,13,28,.18)}
.brand-symbol{width:88px;height:88px;object-fit:contain;margin:0 auto 10px;display:block;filter:drop-shadow(0 7px 12px rgba(0,0,0,.16))}.brand-text span{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.8)}.brand-text strong{display:block;font-family:Georgia,serif;font-size:24px;line-height:1.05;letter-spacing:.035em;color:#fff}.brand-text small{display:block;margin-top:6px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.sidebar-nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:13px;color:#3f3034;font-weight:500;transition:.15s ease}.nav-item span{width:18px;text-align:center;color:var(--wine);opacity:.9}.nav-item:hover{background:#fbf5f3;color:var(--wine-dark)}.nav-item.active{background:var(--wine);color:#fff;box-shadow:0 10px 22px rgba(122,13,28,.15)}.nav-item.active span{color:#fff}
.sidebar-credit{margin-top:auto;padding:12px;border:1px solid var(--line);background:#fff;border-radius:16px;text-align:center;min-height:auto}.sidebar-credit span{display:block;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.sidebar-credit img{display:block;width:138px;max-width:100%;height:auto;margin:0 auto;opacity:.96;border-radius:8px}
.main{margin-left:252px;min-height:100vh;display:flex;flex-direction:column;width:calc(100% - 252px)}.topbar{height:72px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:4}.page-title span{display:block;text-transform:uppercase;letter-spacing:.21em;font-size:10px;font-weight:600;color:var(--muted)}.page-title h1{margin:3px 0 0;font-size:22px;line-height:1.1;font-weight:600;color:var(--ink)}.top-actions{display:flex;align-items:center;gap:10px}.user-chip{display:flex;align-items:center;gap:10px;margin-right:4px}.user-chip strong{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--wine);color:#fff;font-size:14px}.user-chip b{display:block;font-size:14px;font-weight:600}.user-chip small{display:block;color:var(--muted);font-size:11px}.content{width:min(1180px,calc(100% - 40px));margin:22px auto 0;flex:1}.app-footer{text-align:center;color:var(--muted);font-size:12px;padding:28px}.card,.table-wrap,.stat,.login-card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.card{padding:22px;margin-bottom:18px}.card h2,.card h3{margin:0 0 14px;font-weight:600;color:var(--wine-dark)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat{padding:18px}.stat span{display:block;color:var(--muted);font-size:13px}.stat strong{display:block;font-size:30px;font-weight:600;color:var(--ink);margin-top:2px}.grid,.grid-2{display:grid;gap:18px}.grid{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:1fr 1fr}
.search{display:grid;grid-template-columns:minmax(260px,1fr) 210px 210px 112px;gap:12px;align-items:end}.search .form-actions{display:flex;align-items:end}.search button{height:42px;width:112px}.small{font-size:12px;color:var(--muted)}label{display:block;font-size:12px;font-weight:600;margin:0 0 6px;color:#442a30}input,select,textarea{width:100%;height:42px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;color:var(--ink);padding:10px 12px;font:inherit;font-weight:400;outline:none;transition:border .15s,box-shadow .15s}textarea{height:auto;min-height:108px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#9e6971;box-shadow:0 0 0 3px rgba(122,13,28,.08)}
.btn,button{border:1px solid transparent;border-radius:11px;padding:9px 13px;font-size:12px;font-weight:600;line-height:1.1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.15s ease}.btn-primary,button{background:var(--wine);color:#fff;box-shadow:0 8px 18px rgba(122,13,28,.12)}.btn-primary:hover,button:hover{background:var(--wine-dark)}.btn-outline,.btn.secondary{background:#fff;color:var(--wine);border-color:#c9a5aa;box-shadow:none}.btn-outline:hover,.btn.secondary:hover{background:var(--wine-soft)}.btn-danger,.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover,.btn.danger:hover{background:#8e1c16}.btn.small{padding:7px 10px;border-radius:10px;font-size:12px}.btn-full{width:100%;height:44px}.table-wrap{overflow:hidden;margin-top:18px}table{width:100%;border-collapse:separate;border-spacing:0}th,td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#63484e;background:#fffaf8;font-weight:600}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fffaf8}.code{font-family:Consolas,Monaco,monospace;background:#f9edef;color:#65101c;border:1px solid #ecd2d5;padding:3px 8px;border-radius:999px;font-size:12px;display:inline-block}.url-text{display:inline-block;max-width:220px;word-break:break-all;line-height:1.25}.dest{max-width:280px;word-break:break-word}.badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:600}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.no{background:var(--danger-bg);color:var(--danger)}.actions{display:flex;gap:7px;flex-wrap:wrap;min-width:260px}.notice,.alert{padding:13px 15px;border-radius:14px;margin-bottom:16px;font-weight:500}.notice{background:#eaf7ed;color:#1f7a39;border:1px solid #ccebd3}.alert{background:#fff0ee;color:var(--danger);border:1px solid #f5c4bd}.pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.qr-thumb{width:58px;height:58px;border:1px solid var(--line);border-radius:12px;background:#fff}.print-card{max-width:720px;margin:24px auto}.form-actions-inline{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.login-page{min-height:100vh;background:linear-gradient(135deg,#f6f1ee 0%,#ffffff 58%,#f6eeec 100%);display:grid;place-items:center;padding:24px}.login-shell{width:min(900px,100%);display:grid;grid-template-columns:.95fr 1.05fr;min-height:520px;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 24px 70px rgba(49,28,20,.14);border:1px solid var(--line)}.login-brand{position:relative;background:#fff;color:var(--ink);padding:46px 42px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid var(--line)}.login-brand:before{content:"";position:absolute;inset:0 0 auto 0;height:10px;background:linear-gradient(90deg,var(--wine-dark),var(--wine),#9f2734)}.login-pinheiro{width:118px;height:118px;object-fit:contain;margin-bottom:20px}.login-brand h1{font-family:Georgia,serif;font-size:34px;line-height:1.05;margin:0;color:var(--wine-dark)}.login-brand p{color:var(--muted);max-width:310px;margin:12px auto 0}.login-credit{margin-top:42px;width:100%;padding-top:22px;border-top:1px solid var(--line)}.login-credit span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.22em;color:var(--muted);margin-bottom:10px}.login-credit img{width:220px;max-width:92%;opacity:1;border-radius:10px}.login-card{box-shadow:none;border:0;border-radius:0;padding:58px 52px;display:flex;flex-direction:column;justify-content:center}.login-card h2{font-size:27px;margin:4px 0 22px;font-weight:600}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--muted);font-size:10px;font-weight:600}
@media(max-width:980px){.sidebar{width:226px}.main{margin-left:226px;width:calc(100% - 226px)}.search{grid-template-columns:1fr 1fr}.search button{width:100%}.stats{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}.topbar{padding:0 22px}.content{width:min(100% - 28px,1180px)}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;width:100%;min-height:auto}.main{margin-left:0;width:100%}.topbar{position:relative;height:auto;padding:16px;gap:14px;align-items:flex-start;flex-direction:column}.top-actions{width:100%;justify-content:space-between;flex-wrap:wrap}.search{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-brand{padding:34px 24px}.login-card{padding:34px 24px}.actions{min-width:0}.table-wrap{overflow:auto}th,td{padding:13px 12px}.sidebar-credit img{width:170px}}@media(max-width:520px){.stats{grid-template-columns:1fr}.brand-symbol{width:82px;height:82px}.brand-text strong{font-size:23px}.content{width:calc(100% - 20px)}}
.login-qrcore{
    width: 340px;
    max-width: 95%;
    display:block;
    margin:0 auto 18px;
}

.login-subtitle{
    text-align:center;
    font-size:15px;
    font-weight:400;
    color:#5d5d5d;
    margin-bottom:35px;
    letter-spacing:.04em;
}

.login-cartorio{
    text-align:center;
    margin-top:20px;
}

.login-cartorio img{
    width:60px;
    height:auto;
    display:block;
    margin:0 auto 10px;
}

.login-cartorio span{
    display:block;
    color:#7B001C;
    font-size:14px;
    font-weight:600;
}

.login-credit{
    margin-top:30px;
    text-align:center;
}

.login-credit span{
    display:block;
    font-size:11px;
    letter-spacing:.15em;
    color:#777;
    margin-bottom:12px;
}

.login-credit img{
    max-width:170px;
    width:auto;
    height:auto;
    opacity:.95;
}
.login-page{
    min-height:100vh !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#f6f1ef !important;
    padding:24px !important;
}

.login-shell{
    width:520px !important;
    max-width:96vw !important;
    min-height:auto !important;
    display:block !important;
    grid-template-columns:none !important;
    overflow:visible !important;
    border-radius:24px !important;
}

.login-brand{
    padding:38px 38px 18px !important;
    border-right:0 !important;
    text-align:center !important;
    display:block !important;
}

.login-brand:before,
.login-brand:after{
    display:none !important;
}

.login-qrcore{
    width:300px !important;
    max-width:100% !important;
    height:auto !important;
    display:block !important;
    margin:0 auto 12px !important;
    object-fit:contain !important;
}

.login-subtitle{
    font-size:14px !important;
    font-weight:400 !important;
    color:#6f6262 !important;
    margin:0 0 24px !important;
}

.login-cartorio{
    margin:20px auto 0 !important;
    text-align:center !important;
}

.login-cartorio img{
    width:52px !important;
    height:auto !important;
    margin:0 auto 8px !important;
    display:block !important;
}

.login-cartorio span{
    font-size:13px !important;
    color:#7B001C !important;
    font-weight:500 !important;
}

.login-credit{
    margin:24px auto 0 !important;
    padding-top:18px !important;
    border-top:1px solid #ead8d4 !important;
    text-align:center !important;
}

.login-credit img{
    max-width:150px !important;
    width:150px !important;
    height:auto !important;
    opacity:.95 !important;
    margin:0 auto !important;
    display:block !important;
}

.login-card{
    padding:22px 38px 38px !important;
    border-top:0 !important;
}

.login-card h2{
    font-size:24px !important;
    font-weight:500 !important;
}

.login-card button{
    background:#7B001C !important;
}
.login-brand{
    padding-bottom:20px !important;
}

.login-qrcore{
    width:360px !important;
    max-width:90% !important;
    margin:0 auto 30px !important;
}

.login-card{
    padding-top:10px !important;
}

.login-credit{
    margin-top:35px !important;
    padding-top:25px !important;
    border-top:1px solid #ead8d4 !important;
    text-align:center !important;
}

.login-credit img{
    width:140px !important;
    max-width:140px !important;
    display:block !important;
    margin:10px auto 0 !important;
}

.login-credit span{
    display:block !important;
    font-size:11px !important;
    letter-spacing:.18em !important;
    color:#6f6f6f !important;
}
.login-shell{
    width: 620px !important;
    max-width: 94vw !important;
    display: block !important;
    grid-template-columns: none !important;
}

.login-brand{
    padding: 42px 44px 10px !important;
    text-align: center !important;
    border-right: 0 !important;
}

.login-card{
    padding: 20px 44px 44px !important;
}

.login-qrcore{
    width: 360px !important;
    max-width: 92% !important;
    margin: 0 auto 32px !important;
    display: block !important;
}

.login-brand img.login-qrcore + img,
.login-brand img:not(.login-qrcore):not(.login-pinheiro){
    display: none !important;
}

.login-card .login-credit{
    margin-top: 32px !important;
    padding-top: 26px !important;
    border-top: 1px solid #ead8d4 !important;
}
.login-shell{
    width:620px !important;
    max-width:94vw !important;
    display:block !important;
    grid-template-columns:none !important;
}

.login-brand{
    padding:30px 44px 10px !important;
    text-align:center !important;
    border-right:0 !important;
}

.login-qrcore{
    width:390px !important;
    max-width:90% !important;
    display:block !important;
    margin:0 auto !important;
}

.login-card{
    padding:10px 44px 44px !important;
}

.login-credit{
    margin-top:34px !important;
    padding-top:26px !important;
    border-top:1px solid #ead8d4 !important;
    text-align:center !important;
}

.login-credit img{
    width:145px !important;
    max-width:145px !important;
    display:block !important;
    margin:12px auto 0 !important;
}

.login-credit span{
    display:block !important;
    font-size:11px !important;
    letter-spacing:.18em !important;
    color:#777 !important;
}
.topbar{
    background:#ffffff !important;
    border-bottom:1px solid #ece5e2 !important;
}

.topbar a,
.topbar span,
.topbar strong{
    color:#2f3542 !important;
}
.top-logo-qrcore{
    height:52px !important;
    max-width:180px !important;
    object-fit:contain !important;
}

.sidebar{
    overflow-y:hidden !important;
}

.sidebar .developer,
.sidebar .fm-footer,
.sidebar .sidebar-footer{
    margin-top:auto !important;
}

.sidebar img[src*="logo-fm"],
.fm-footer img{
    max-width:150px !important;
    width:150px !important;
    height:auto !important;
    opacity:.95 !important;
    display:block !important;
    margin:8px auto 0 !important;
}

.nav-item{
    font-weight:400 !important;
}

.nav-item.active{
    font-weight:500 !important;
}
.top-actions .btn,
.top-actions a.btn,
.top-actions .btn-primary{
    color:#ffffff !important;
}

.top-actions .btn:hover,
.top-actions a.btn:hover{
    color:#ffffff !important;
}
.avatar,
.user-avatar,
.profile-avatar,
.top-avatar{
    background:#7B001C !important;
    color:#ffffff !important;
}

/* letra dentro do círculo */
.avatar *,
.user-avatar *,
.profile-avatar *,
.top-avatar *{
    color:#ffffff !important;
}

/* botão senha */
.top-actions .btn-outline,
.top-actions .btn-secondary,
.top-actions a[href*="password"]{
    color:#2f3542 !important;
}

/* botão sair */
.top-actions .btn-danger,
.top-actions a[href*="logout"]{
    color:#ffffff !important;
}
/* AJUSTE FINAL BOTÕES DO TOPO */
.topbar .btn-outline{
    color:#2f3542 !important;
    background:#ffffff !important;
    border-color:#b57b86 !important;
}

.topbar .btn-primary{
    color:#ffffff !important;
    background:#7B001C !important;
    border-color:#7B001C !important;
}

/* LETRA DO AVATAR */
.topbar .avatar,
.topbar .user-initial,
.topbar .initial,
.topbar .user-circle{
    color:#ffffff !important;
}
/* AVATAR DO USUÁRIO */

.user-chip{
    color:#2f3542 !important;
}

.user-chip strong{
    background:#7B001C !important;
    color:#ffffff !important;
    width:42px !important;
    height:42px !important;
    border-radius:50% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:18px !important;
}
