*{box-sizing:border-box}body{margin:0;background:#f2f6f9;color:#293f52;font-family:'DM Sans',sans-serif;font-size:13px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.eyebrow{font-size:9px;font-weight:700;letter-spacing:.16em;color:#648eaf}.login-page{min-height:100vh;background:linear-gradient(125deg,#20384f 0%,#314d68 48%,#e5edf4 48%);display:grid;place-items:center;padding:30px;position:relative}.back-home{position:absolute;left:6%;top:35px;color:#f6f3ea;font-size:12px}.login-card{width:min(100%,430px);background:#f8fafc;padding:46px 48px;box-shadow:0 25px 75px #14251c38}.login-mark{font-size:27px;color:#5d8fb8;margin-bottom:22px}.login-card h1,.welcome h1{font:500 37px/1.08 'Playfair Display',serif;letter-spacing:-.03em;margin:14px 0}.login-card h1 em,.welcome h1 em{color:#5b88ae;font-weight:500}.login-card>p,.welcome p,.panel-heading p{font-size:12px;line-height:1.6;color:#788078}.login-card label,.form-grid label{display:flex;flex-direction:column;gap:7px;margin:18px 0;font-size:11px;font-weight:600;color:#505e54}.login-card input,.form-grid input,.form-grid textarea{width:100%;border:1px solid #d8e3ed;background:#fff;padding:12px 13px;outline:none;border-radius:2px;color:#293f52}.login-card input:focus,.form-grid input:focus,.form-grid textarea:focus{border-color:#7397b6}.button{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:13px 17px;font-size:11px;font-weight:700;cursor:pointer}.primary{background:#263f57;color:white}.primary span{font-size:15px}.login-card .button{width:100%;margin-top:8px}.login-card>small{display:block;margin-top:20px;font-size:9px;color:#858b83}.admin-top{height:68px;display:flex;align-items:center;justify-content:space-between;background:#fff;padding:0 5%;border-bottom:1px solid #ecebe6}.admin-top>div{display:flex;align-items:center;gap:25px;font-size:11px}.brand{font-weight:700;font-size:12px}.brand span{color:#5f91b9;font-size:21px;margin-right:10px}.inline{display:inline}.logout{border:0;background:none;color:#6685a0;cursor:pointer}.dashboard{display:grid;grid-template-columns:220px minmax(0,1fr);max-width:1380px;margin:auto;min-height:calc(100vh - 68px)}.sidebar{padding:38px 23px;background:#e9eff4;border-right:1px solid #dce6ee}.sidebar .eyebrow{display:block;margin:0 0 22px 8px}.sidebar>a{display:block;padding:13px 11px;border-radius:2px;color:#677268;font-size:11px}.sidebar>a:hover,.sidebar .side-active{background:#dce7ef;color:#344d64}.side-note{border-top:1px solid #d7e2eb;margin-top:35px;padding:20px 7px 0;font-size:10px;line-height:1.7;color:#838880}.content{padding:42px 5.5%;min-width:0}.welcome{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.welcome h1{font-size:36px}.welcome p{margin:0}.welcome .button{min-width:130px}.alert{padding:12px 15px;margin:0 0 17px;font-size:11px}.success{background:#e4edf5;color:#426685}.error{background:#f5e4df;color:#9a4d38}.panel{background:#fff;padding:28px 30px;margin:0 0 20px;box-shadow:0 3px 18px #343a2910;scroll-margin-top:20px}.panel-heading{display:flex;justify-content:space-between;margin-bottom:22px}.panel-heading h2{font:500 24px 'Playfair Display',serif;margin:7px 0}.panel-heading p{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}.form-grid label{margin:9px 0 14px}.form-grid label small{font-weight:400;color:#899087}.form-grid .wide{grid-column:1/-1}.form-grid textarea{resize:vertical;line-height:1.5}.form-end{display:flex;align-items:center;gap:18px;margin-top:8px}.check{display:flex;align-items:center;gap:7px;color:#667068;font-size:10px;margin-right:auto}.check input{accent-color:#33483a}.cancel{font-size:10px;color:#6f879a}.admin-events{border-top:1px solid #ecebe6;margin-top:20px}.admin-event{min-height:58px;border-bottom:1px solid #ecebe6;display:grid;grid-template-columns:78px 1fr 70px 43px 25px;align-items:center;gap:10px}.date-chip{font-size:10px;color:#628caf}.admin-event-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.admin-event-copy b{font-size:11px}.admin-event-copy span{font-size:9px;color:#818880;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.visibility{font-size:9px}.visible{color:#567da1}.hidden{color:#999}.edit{font-size:10px;color:#6885a0}.delete{border:0;background:none;color:#668fb2;font-size:18px;cursor:pointer}.upload-form{display:grid;grid-template-columns:1fr auto;gap:10px 16px;align-items:end}.upload-box{grid-column:1/-1;display:flex;align-items:center;gap:13px;border:1px dashed #c9c8bf;background:#f8fafc;padding:17px;cursor:pointer}.upload-box input{max-width:230px;font-size:10px}.upload-icon{font-size:26px;color:#6597be}.upload-box b,.upload-box small{display:block}.upload-box b{font-size:11px}.upload-box small{font-size:9px;color:#82877f;margin-top:4px}.upload-form .form-grid{grid-column:1/-1}.upload-form .button{justify-self:end}.photo-manager{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:20px}.managed-photo{border:1px solid #ecebe6}.managed-photo img{display:block;width:100%;height:130px;object-fit:cover}.managed-photo>div{display:flex;justify-content:space-between;align-items:center;padding:8px 9px;font-size:9px;color:#6b756c;gap:5px}.managed-photo form{margin:0}.managed-photo .delete{font-size:9px}.hint{background:#f0f5f9;padding:17px;font-size:10px;color:#7d847c}.security-note{margin-right:auto;font-size:9px;color:#82877f}.dashboard-footer{color:#838981;font-size:10px;line-height:1.6}.dashboard-footer code{font-size:10px;color:#5f6d62}@media(max-width:850px){.dashboard{grid-template-columns:1fr}.sidebar{display:none}.content{padding:30px 4%}.panel{padding:22px 20px}.login-page{background:linear-gradient(160deg,#20384f 0%,#314d68 33%,#e5edf4 33%)}}@media(max-width:570px){.admin-top{padding:0 4%}.admin-top .brand{font-size:10px;max-width:200px}.admin-top>div{gap:12px;font-size:10px}.content{padding:24px 12px}.welcome{align-items:flex-start;flex-direction:column;gap:15px}.welcome h1{font-size:32px}.panel{padding:19px 14px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.form-end{flex-wrap:wrap}.admin-event{grid-template-columns:55px minmax(0,1fr) 30px 23px;gap:6px}.visibility{display:none}.date-chip{font-size:9px}.photo-manager{grid-template-columns:1fr 1fr}.upload-form{grid-template-columns:1fr}.upload-form .button{justify-self:start}.upload-box{flex-wrap:wrap}.login-card{padding:36px 28px}.login-card h1{font-size:34px}}

/* Gerenciador de identidade visual */
.admin-top .brand{display:flex;align-items:center;gap:10px}.admin-top .brand-logo{display:block;width:auto;max-width:115px;height:auto;max-height:38px;object-fit:contain}.brand-manager{display:grid;grid-template-columns:1fr 1fr;gap:18px}.brand-card{min-width:0;border:1px solid #dce6ee;background:#fbfcfd;padding:15px}.brand-preview{display:flex;align-items:center;justify-content:center;background:#eef3f7;border:1px solid #e0e8ef;border-radius:3px;overflow:hidden}.logo-preview{height:130px;gap:10px;flex-direction:column}.logo-preview img{max-width:80%;max-height:80%;object-fit:contain}.logo-preview>span{font-size:35px;color:#5f91b9}.logo-preview small{font-size:10px;color:#728397}.banner-preview{height:145px}.banner-preview img{width:100%;height:100%;object-fit:cover}.banner-default{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:linear-gradient(115deg,#dce8f1,#edf3f8);color:#344f69;text-align:center;padding:12px}.banner-default b{font:500 21px 'Playfair Display',serif}.banner-default small{font-size:10px;color:#647a8c}.brand-card h3{font-size:12px;margin:14px 0 10px;color:#344b60}.brand-upload{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.brand-upload label{display:flex;flex-direction:column;gap:6px;font-size:10px;color:#566b7d}.brand-upload input[type=file]{max-width:100%;font-size:10px}.brand-upload .button{padding:10px 12px}.brand-remove{margin-top:7px}.brand-remove .delete{font-size:10px;padding:0}.sidebar>a[href="#identidade"]{color:#355d7c}.sidebar>a[href="#identidade"]:hover{background:#dce7ef}.brand-card .button{min-width:120px}@media(max-width:570px){.brand-manager{grid-template-columns:1fr}.banner-preview{height:130px}.brand-upload{align-items:stretch;flex-direction:column}.brand-upload .button{align-self:flex-start}.admin-top .brand-logo{max-width:70px;max-height:32px}}
