/* GeopoliticaWeb — Identidade visual v2.9. Logotipo fornecido pelo titular. */
:root{--geo-purple:#724499;--geo-purple-deep:#51316f;--geo-violet:#9b59b6;--geo-green:#2ecc71;--geo-cyan:#10b4d7;--geo-blue:#4d84d3;--geo-gold:#e0c345;--geo-ink:#2f3440;--geo-border:#e6e4ed;--geo-bg:#f6f6f9;font-family:'DM Sans',system-ui,sans-serif;color:var(--geo-ink);background:var(--geo-bg)}
body{background:var(--geo-bg)}
.sidebar{background:#fff;color:#353343;border-right:1px solid var(--geo-border)}
.side-brand{align-items:flex-start;flex-direction:column;gap:2px;margin:0 7px 32px}.sidebar-brand-image{display:block;width:184px;height:auto;max-height:93px;object-fit:contain;object-position:left center}.side-brand-sub{font-size:10px;font-weight:800;letter-spacing:1.1px;color:var(--geo-purple-deep);padding-left:4px}.side-brand-sub span{display:block;font-size:8px;color:#707483;letter-spacing:1.2px;margin-top:3px}
.side-caption{color:#8b839b}.navlink{color:#55566b}.navlink:hover{background:#f1ecf6;color:var(--geo-purple-deep)}.navlink.active{color:#fff;background:var(--geo-purple-deep);box-shadow:inset 3px 0 0 var(--geo-green)}
.tenant{background:#f7f5fa;border-color:#ebe4f3;color:var(--geo-purple-deep)}.tenant strong{color:#343443}.tenant small{color:#727184}.tenant-dot,.live span{background:var(--geo-green)}.logout{color:#6e627e}
.topbar{border-bottom-color:var(--geo-border)}.eyebrow{color:#787187}.live{color:#646a76}.avatar{background:#eee5f5;color:var(--geo-purple-deep)}.circle-btn{border-color:var(--geo-border)}
.panel,.stat{border-color:var(--geo-border);box-shadow:0 5px 18px rgba(81,49,111,.025)}
.btn{border-color:#ded9e7;color:var(--geo-purple-deep)}.btn:hover:not(:disabled){border-color:var(--geo-purple)}.btn.primary{background:var(--geo-purple-deep);border-color:var(--geo-purple-deep);color:#fff}.btn.primary:hover:not(:disabled){background:var(--geo-purple)}.btn.lime{background:var(--geo-green);border-color:var(--geo-green);color:#063823}
.stat .kicon,.person-initial{background:#f0e8f7;color:var(--geo-purple-deep)}.stat:nth-child(2) .kicon{background:#e5f7ed;color:#187044}.stat:nth-child(3) .kicon{background:#fff6d8;color:#806500}.stat:nth-child(4) .kicon{background:#e7f5fb;color:#126783}
.pill{background:#e7f7ed;color:#1d7143}.pill.blue{background:#e5eefb;color:#2459a8}.notice{background:#f1f4fc;color:#465472}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--geo-purple);box-shadow:0 0 0 3px rgba(155,89,182,.16)}
.login-view{background:#fff}.login-brand-image{display:block;width:clamp(185px,20vw,250px);height:auto;object-fit:contain;margin-bottom:8px}.login-card h1 em{color:var(--geo-purple-deep)}.login-card p{color:#747686}.login-art{background:linear-gradient(144deg,#492d66 3%,#8252ab 38%,#477db3 72%,#117d91 100%)}.orb-one{border:1px solid rgba(255,255,255,.19);box-shadow:0 0 0 80px rgba(255,255,255,.035),0 0 0 160px rgba(255,255,255,.025)}.orb-two{background:radial-gradient(circle,rgba(46,204,113,.65),rgba(16,180,215,.2) 45%,transparent 75%)}.art-logo-badge{position:relative;background:#fff;padding:22px 25px;border-radius:22px;box-shadow:0 22px 65px rgba(24,17,52,.28);z-index:1}.art-logo-badge img{width:260px;max-width:55vw;height:auto;display:block}.art-sub{margin-top:23px;font-weight:800;font-size:17px;color:#fff;letter-spacing:.3px}
.login-legal-note{font-size:12px;line-height:1.65;background:#f7f4fb;border-left:3px solid var(--geo-purple);padding:12px 14px;margin-top:21px;border-radius:0 11px 11px 0;color:#4f455b}.login-legal-note a,.legal-references a{color:var(--geo-purple-deep);font-weight:800}
.mobile-tab.active{background:#efe8f7;color:var(--geo-purple-deep)}.toast{background:var(--geo-purple-deep)}
/* Avisos de uso responsável */
.legal-overlay{position:fixed;inset:0;z-index:10000;background:rgba(27,20,41,.78);padding:18px;display:flex;align-items:center;justify-content:center;overflow-y:auto;backdrop-filter:blur(5px)}
.legal-dialog{margin:auto;background:#fff;color:var(--geo-ink);max-width:650px;width:100%;max-height:calc(100vh - 36px);overflow-y:auto;border-radius:19px;border-top:6px solid var(--geo-purple);box-shadow:0 24px 85px rgba(14,12,25,.24);padding:clamp(20px,4vw,30px)}
.legal-dialog-header{display:flex;align-items:center;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--geo-border);margin-bottom:15px}.legal-dialog-header img{width:122px;height:auto}.legal-dialog-header span{font-size:10px;font-weight:800;color:var(--geo-purple-deep);letter-spacing:1.2px}.legal-eyebrow{font-size:10px;letter-spacing:1.2px;color:var(--geo-purple-deep);font-weight:800}.legal-dialog h2{font-size:clamp(23px,4vw,30px);line-height:1.18;margin:10px 0}.legal-intro{font-size:14px;color:#505467;line-height:1.6}.legal-items{padding:4px 15px;background:#f7f5fa;border-radius:11px;border:1px solid #eee9f3}.legal-items p{font-size:13px;line-height:1.6;margin:10px 0}.legal-items p+p{border-top:1px solid #e9e2f0;padding-top:9px}.legal-small{font-size:12px;line-height:1.55;color:#697080}.legal-check{margin-top:14px;display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;font-weight:600;cursor:pointer}.legal-check input{margin:4px 0 0;width:19px;height:19px;flex:none;accent-color:var(--geo-purple-deep)}.legal-references{margin:14px 0 0;font-size:12px}.legal-dialog-actions{display:flex;justify-content:flex-end;gap:11px;margin-top:20px;flex-wrap:wrap}.legal-action-dialog{max-width:535px}.legal-action-dialog .legal-items{margin-top:12px}
.legal-policy-page{min-height:100vh;background:#f8f7fa;padding:32px 17px}.legal-policy-container{max-width:830px;margin:auto}.legal-policy-container>img{width:220px;height:auto;margin-bottom:18px}.legal-policy-card{background:white;padding:clamp(22px,5vw,45px);border:1px solid var(--geo-border);border-radius:18px;line-height:1.65}.legal-policy-card h2{font-size:20px;margin-top:26px}.legal-policy-card h1{line-height:1.2}.legal-policy-card a{color:var(--geo-purple-deep)}
@media(max-width:760px){.sidebar{display:none}.login-card{padding:25px 21px}.login-brand-image{width:210px}.login-card h1{font-size:33px}.legal-overlay{padding:10px;align-items:flex-start}.legal-dialog{max-height:calc(100dvh - 20px);padding:18px}.legal-dialog-header img{width:100px}.legal-dialog-header span{letter-spacing:.4px}.legal-dialog-actions{flex-direction:column-reverse}.legal-dialog-actions .btn{width:100%;min-height:46px}.mobile-tab.active{background:#efe8f7}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important}}
