
:root { --navy:#0b2948; --blue:#1261a0; --sky:#e8f3fb; --line:#dce5ed; --muted:#64748b; --bg:#f4f7fa; --white:#fff; --menu-font-size-desktop:16px; --menu-font-size-mobile:17px; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:#18324a; font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
.app { min-height:100vh; display:flex; }
.sidebar { width:244px; background:var(--navy); color:white; padding:24px 16px; position:fixed; inset:0 auto 0 0; display:flex; flex-direction:column; z-index:20; }
.brand { display:flex; gap:12px; align-items:center; padding:0 8px 26px; }
.brandmark { width:38px;height:38px;border-radius:11px;background:#fff;color:var(--navy);font-weight:900;display:grid;place-items:center;letter-spacing:-2px; }
.brand strong { display:block;font-size:15px; }.brand span{font-size:11px;color:#b8d5eb;}
.nav { display:grid; gap:5px; min-height:0; }.nav button{border:0;background:transparent;color:#cfe0ef;border-radius:9px;text-align:left;padding:11px 12px;display:flex;gap:11px;align-items:center;min-height:46px;font-size:var(--menu-font-size-desktop);font-weight:700;line-height:1.22}.nav button.active,.nav button:hover{background:#16466f;color:#fff}.nav .ico{width:23px;min-width:23px;text-align:center;font-size:1.06em}.nav-label{white-space:normal}
.sidebar-foot { margin-top:auto; border-top:1px solid #294d6e; padding:16px 8px 0; font-size:12px; color:#abc4d8; }.userrow{display:flex;gap:10px;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;background:#d9effe;color:#104878;display:grid;place-items:center;font-weight:800}
.main { margin-left:244px; width:calc(100% - 244px); min-width:0; }
.topbar { height:72px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:12 }.topbar-title{display:flex;gap:10px;align-items:center;min-width:0}.topbar h1{font-size:18px;margin:0;color:#173b5e}.top-actions{display:flex;gap:10px;align-items:center}.iconbtn{width:40px;min-width:40px;height:40px;padding:0;border:1px solid var(--line);background:white;color:#173b5e;border-radius:9px;display:inline-grid;place-items:center;line-height:0;flex:0 0 40px;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.iconbtn:hover{background:#f4f8fb;border-color:#bfd2df;color:#0e5b98}.iconbtn:active{transform:translateY(1px)}.iconbtn svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.mobile-menu svg{width:21px;height:21px}.notification{position:relative}.notification:after{content:"3";position:absolute;right:-4px;top:-5px;background:#db3038;color:white;width:17px;height:17px;border-radius:50%;font-size:10px;line-height:1;display:grid;place-items:center;border:2px solid white}
.content { padding:26px 30px 48px; max-width:1600px; margin:auto; }.heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:22px}.heading h2{font-size:25px;margin:0 0 3px;color:#123653}.heading p{margin:0;color:var(--muted);font-size:13px}.btn{border:0;border-radius:9px;padding:10px 15px;font-weight:700;font-size:13px}.btn.primary{background:#0e5b98;color:white}.btn.secondary{background:white;color:#244660;border:1px solid var(--line)}
.metrics { display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:20px}.metric{background:white;border:1px solid var(--line);border-radius:12px;padding:15px;min-width:0}.metric-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;font-weight:700;min-height:31px}.metric strong{font-size:27px;color:#123a5d}.metric small{display:block;margin-top:5px;color:var(--muted);font-size:10px}.metric.danger{border-top:3px solid #d72d35}.metric.warn{border-top:3px solid #ee8a1a}.metric.info{border-top:3px solid #1e79bb}.metric.success{border-top:3px solid #24905c}
.grid { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:18px}.card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.card-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.card-head h3{font-size:14px;margin:0;color:#173b5e}.card-head button{border:0;background:none;color:#1261a0;font-size:12px;font-weight:700}.card-body{padding:16px 18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#718096;font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:11px 14px;background:#f8fafc}td{padding:12px 14px;border-top:1px solid #edf1f4;white-space:nowrap}td.titlecell{white-space:normal;min-width:230px;font-weight:650;color:#173b5e}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:4px 8px;font-size:10px;font-weight:800}.p-urgente{background:#fde8e8;color:#b7242a}.p-alta{background:#fff0df;color:#b85a00}.p-media{background:#fff7d4;color:#806000}.p-baixa{background:#e4f5e9;color:#247044}.status{background:#e9f2f8;color:#2b5b7d;font-weight:650}.overdue{color:#c82831;font-weight:800}
.bars{display:flex;gap:9px;align-items:flex-end;height:115px;padding-top:10px}.bar-wrap{flex:1;text-align:center;color:#738398;font-size:9px}.bar{background:#287ab4;border-radius:5px 5px 0 0;min-height:8px;margin-bottom:6px}.bar.alt{background:#9dc9e7}.donut{width:112px;height:112px;border-radius:50%;background:conic-gradient(#d8333b 0 17%,#ee8a1a 17% 43%,#efc744 43% 72%,#2f9b62 72%);display:grid;place-items:center;margin:8px auto}.donut:after{content:"86";background:white;width:68px;height:68px;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#173b5e;font-size:21px}.legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:10px;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}.activity{display:grid;gap:14px}.activity-item{display:flex;gap:10px;font-size:11px}.activity-item p{margin:0;color:#334e68}.activity-item small{color:#8796a5}.miniavatar{width:28px;height:28px;flex:0 0 auto;border-radius:50%;background:#e4f1fa;display:grid;place-items:center;color:#1f6393;font-weight:800;font-size:10px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.field{border:1px solid var(--line);border-radius:9px;background:white;padding:9px 11px;color:#35526a;font-size:12px;min-height:40px}.search{flex:1;min-width:220px}.kanban{display:flex;gap:14px;overflow-x:auto;padding-bottom:12px}.column{min-width:290px;width:290px;background:#edf2f6;border-radius:11px;padding:11px}.column-head{display:flex;justify-content:space-between;align-items:center;padding:3px 4px 11px;font-size:12px;font-weight:800}.count{background:white;border-radius:99px;padding:2px 7px;color:#60758b}.task-card{background:white;border:1px solid #d9e2ea;border-radius:10px;padding:13px;margin-bottom:9px;box-shadow:0 2px 5px #18324a0c}.task-card h4{font-size:12px;margin:7px 0;color:#173b5e;line-height:1.35}.task-card p{font-size:10px;color:#60758b;margin:5px 0}.task-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1f4;padding-top:9px;margin-top:9px}.modalback{position:fixed;inset:0;background:#0b2948aa;z-index:50;display:grid;place-items:center;padding:20px}.modal{background:white;border-radius:14px;max-width:720px;width:100%;max-height:90vh;overflow:auto}.modalhead{padding:19px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.modalhead h3{margin:0}.close{border:0;background:#edf2f6;border-radius:50%;width:30px;height:30px}.form{padding:20px 22px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.form label{font-size:11px;font-weight:750;color:#52677b;display:grid;gap:6px}.form .wide{grid-column:1/-1}.form input,.form select,.form textarea{border:1px solid #ccd8e2;border-radius:8px;padding:10px;background:white}.modalfoot{display:flex;justify-content:flex-end;gap:8px;padding:16px 22px;border-top:1px solid var(--line)}.empty{padding:50px;text-align:center;color:var(--muted)}.report{white-space:pre-wrap;background:#f6f9fb;border:1px solid var(--line);border-radius:10px;padding:18px;font:12px/1.7 ui-monospace,monospace}.mobile-menu{display:none}.hide{display:none!important}
.backlink{border:0;background:none;color:#1261a0;font-size:11px;font-weight:800;padding:0 0 7px}.access-note{display:flex;gap:12px;align-items:center;background:#e9f4fb;border:1px solid #c9e2f2;border-radius:11px;padding:14px 17px;margin-bottom:18px;color:#174a70}.access-note>span{font-size:22px}.access-note b,.access-note small{display:block}.access-note small{margin-top:3px;color:#53728a}.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sector-card{background:white;border:1px solid var(--line);border-radius:12px;padding:16px;text-align:left;color:#18324a;display:grid;grid-template-columns:42px 1fr;gap:12px;transition:.15s}.sector-card:hover{border-color:#6fa9cf;box-shadow:0 7px 20px #16466f12;transform:translateY(-1px)}.sector-symbol{width:42px;height:42px;border-radius:10px;background:#e5f1f9;color:#145b8e;display:grid;place-items:center;font-weight:900;font-size:12px}.sector-info b,.sector-info span{display:block}.sector-info b{font-size:13px}.sector-info span{font-size:10px;color:#728399;margin-top:4px}.sector-stats{grid-column:1/-1;display:flex;gap:22px;padding-top:10px;border-top:1px solid #edf1f4;color:#718096;font-size:10px}.sector-stats strong{font-size:16px;color:#244b69;margin-right:4px}.open-sector{grid-column:1/-1;color:#1261a0;font-size:11px;font-weight:800}.sector-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.sector-summary>div{background:white;border:1px solid var(--line);border-radius:10px;padding:13px 16px}.sector-summary span,.sector-summary strong{display:block}.sector-summary span{font-size:10px;color:#6d8092}.sector-summary strong{font-size:23px;margin-top:4px}.sector-tabs{display:flex;align-items:center;gap:6px;margin-bottom:16px}.sector-tabs button{border:1px solid var(--line);background:white;padding:9px 13px;font-size:11px;font-weight:800;color:#527087}.sector-tabs button:first-child{border-radius:8px 0 0 8px}.sector-tabs button:nth-child(2){border-radius:0 8px 8px 0}.sector-tabs button.active{background:#16466f;color:white;border-color:#16466f}.sector-tabs>span{margin-left:auto;font-size:10px;color:#63788b;background:#eef3f6;padding:8px 11px;border-radius:8px}
@media(max-width:1150px){.metrics{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:1fr}.sidebar{width:210px}.main{margin-left:210px;width:calc(100% - 210px)}.sector-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s;width:245px}.sidebar.open{transform:translateX(0)}.main{margin:0;width:100%}.topbar{padding:0 16px}.mobile-menu{display:block}.content{padding:20px 15px}.metrics{display:flex;overflow-x:auto}.metric{min-width:155px}.heading{align-items:flex-start;flex-direction:column}.heading h2{font-size:21px}.topbar h1{font-size:15px}.grid{display:block}.grid>.card{margin-bottom:15px}.form{grid-template-columns:1fr}.form .wide{grid-column:auto}.hide-mobile{display:none!important}.sector-grid{grid-template-columns:1fr}.sector-summary{grid-template-columns:repeat(2,1fr)}.sector-tabs{flex-wrap:wrap}.sector-tabs>span{margin-left:0;width:100%}}

/* WordPress isolation and complete application states */
html,body.sesp-pg-page{margin:0!important;padding:0!important;width:100%;min-height:100%;overflow-x:hidden}.sesp-pg-page #wpadminbar{display:none!important}.sesp-pg-page{padding-top:0!important}.sesp-pg-root{min-height:100vh}.sesp-pg-root button:disabled{cursor:not-allowed;opacity:.55}.sesp-pg-root a{text-decoration:none}.sesp-pg-root .app{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.nav{overflow-y:auto;padding-right:2px}.nav-separator{height:1px;background:#294d6e;margin:8px 10px}.sidebar-foot{display:grid;gap:12px}.sidebar-user-actions{display:flex;gap:7px}.sidebar-user-actions button{flex:1;border:1px solid #355a7a;background:#123a5e;color:#cfe0ef;border-radius:8px;padding:7px;font-size:10px}.sidebar-overlay{display:none}.heading-actions{display:flex;gap:8px;flex-wrap:wrap}.btn.danger{background:#fff0f0;color:#b4232a;border:1px solid #f1c7c9}.btn.success{background:#e8f7ef;color:#1e7247;border:1px solid #c3e8d3}.btn.small{padding:7px 10px;font-size:11px}.btn.icon-only{padding:8px 10px}.row-actions{display:flex;gap:6px}.row-clickable{cursor:pointer}.row-clickable:hover td{background:#f8fbfd}.task-card{cursor:pointer}.task-card.dragging{opacity:.5}.column.dragover{outline:2px dashed #287ab4;background:#e1edf5}.notification.has-count:after{content:attr(data-count)}.notification:not(.has-count):after{display:none}.notification-panel{position:fixed;right:24px;top:64px;width:min(390px,calc(100vw - 28px));max-height:70vh;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 48px #0b29482e;z-index:45;overflow:hidden}.notification-list{max-height:52vh;overflow:auto}.notification-item{display:flex;gap:10px;padding:13px 15px;border-bottom:1px solid #edf1f4;font-size:11px}.notification-item.unread{background:#f0f8fd}.notification-item p{margin:3px 0;color:#52677b;line-height:1.45}.notification-item small{color:#8a9aaa}.notification-empty{padding:35px;text-align:center;color:var(--muted);font-size:12px}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:90;display:grid;gap:8px}.toast{width:min(380px,calc(100vw - 30px));background:#183b58;color:white;border-radius:10px;padding:13px 16px;box-shadow:0 10px 35px #0b294842;font-size:12px;animation:toastIn .2s ease}.toast.error{background:#9f242a}.toast.success{background:#1f7248}@keyframes toastIn{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}.loading-overlay{position:fixed;inset:0;background:#f3f6f8b8;backdrop-filter:blur(2px);z-index:100;display:grid;place-items:center}.spinner{width:42px;height:42px;border-radius:50%;border:4px solid #d8e6f0;border-top-color:#1261a0;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}

/* Login */
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,480px) 1fr;background:#f3f6f8}.login-panel{background:white;padding:clamp(28px,6vw,72px);display:flex;flex-direction:column;justify-content:center;box-shadow:12px 0 45px #0a2b4712;z-index:2}.login-brand{display:flex;align-items:center;gap:13px;margin-bottom:42px}.login-brandmark{width:50px;height:50px;border-radius:14px;background:#0b2948;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900;letter-spacing:-2px}.login-brand strong,.login-brand span{display:block}.login-brand strong{font-size:18px;color:#153b5d}.login-brand span{font-size:12px;color:#718096;margin-top:2px}.login-panel h1{font-size:29px;line-height:1.15;margin:0 0 8px;color:#123653}.login-panel>p{font-size:13px;color:#718096;margin:0 0 28px}.login-form{display:grid;gap:15px}.login-form label{display:grid;gap:7px;font-size:11px;font-weight:800;color:#52677b}.login-form input{border:1px solid #ccd8e2;border-radius:9px;padding:12px 13px;font-size:14px;outline:0}.login-form input:focus{border-color:#2776ae;box-shadow:0 0 0 3px #2776ae18}.login-form .btn{padding:13px;margin-top:4px}.login-error{background:#fff0f0;border:1px solid #efc8ca;color:#a4242b;border-radius:9px;padding:10px 12px;font-size:12px}.login-help{margin-top:22px;padding-top:18px;border-top:1px solid #edf1f4;font-size:11px;color:#8796a5;line-height:1.6}.login-visual{position:relative;overflow:hidden;background:linear-gradient(140deg,#0b2948,#0f4f80 58%,#1875ae);display:flex;align-items:center;justify-content:center;padding:60px;color:white}.login-visual:before,.login-visual:after{content:"";position:absolute;border-radius:50%;border:1px solid #ffffff17}.login-visual:before{width:620px;height:620px;right:-180px;top:-260px}.login-visual:after{width:500px;height:500px;left:-180px;bottom:-250px}.login-visual-content{position:relative;max-width:610px}.login-visual-content h2{font-size:clamp(34px,4.4vw,64px);line-height:1.03;margin:0 0 20px;letter-spacing:-.045em}.login-visual-content p{font-size:15px;color:#d0e5f3;line-height:1.7;max-width:540px}.login-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px}.login-stat{border:1px solid #ffffff25;background:#ffffff0f;border-radius:12px;padding:16px}.login-stat b{font-size:22px;display:block}.login-stat span{font-size:10px;color:#c3ddec}

/* Tabs, detail, forms and administration */
.tabs{display:flex;gap:5px;overflow:auto;border-bottom:1px solid var(--line);padding:0 18px}.tabs button{border:0;background:none;padding:13px 11px;font-size:11px;font-weight:800;color:#6b7f90;border-bottom:2px solid transparent;white-space:nowrap}.tabs button.active{color:#1261a0;border-color:#1261a0}.detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.detail-section{border:1px solid var(--line);border-radius:10px;padding:15px}.detail-section h4{font-size:12px;margin:0 0 13px;color:#173b5e}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}.detail-item span,.detail-item b{display:block}.detail-item span{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#8190a0;margin-bottom:4px}.detail-item b{font-size:12px;color:#294b67;white-space:pre-wrap}.detail-item.wide{grid-column:1/-1}.timeline{display:grid;gap:12px}.timeline-item{position:relative;padding-left:22px;font-size:11px}.timeline-item:before{content:"";position:absolute;left:5px;top:4px;width:8px;height:8px;background:#5d9bc4;border-radius:50%}.timeline-item:after{content:"";position:absolute;left:8px;top:15px;bottom:-14px;width:1px;background:#dce5ed}.timeline-item:last-child:after{display:none}.timeline-item p{margin:2px 0;color:#486178}.timeline-item small{color:#8a9aaa}.comment-form{display:flex;gap:8px;margin-top:14px}.comment-form textarea{flex:1;border:1px solid #ccd8e2;border-radius:8px;padding:10px;resize:vertical;min-height:68px}.comments{display:grid;gap:11px}.comment{display:flex;gap:9px}.comment-bubble{background:#f3f7fa;border-radius:9px;padding:9px 11px;flex:1}.comment-bubble b,.comment-bubble small{display:block}.comment-bubble b{font-size:10px}.comment-bubble p{font-size:11px;line-height:1.45;margin:5px 0}.comment-bubble small{font-size:9px;color:#8796a5}.admin-list{display:grid}.admin-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.5fr) auto;gap:14px;align-items:center;padding:13px 4px;border-bottom:1px solid #edf1f4}.admin-row:last-child{border-bottom:0}.admin-row small{display:block;color:#718096;margin-top:3px}.role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.role-card{border:1px solid var(--line);border-radius:10px;padding:14px}.role-card h4{margin:0 0 5px;font-size:12px}.role-card p{font-size:10px;color:#718096;line-height:1.5;margin:0 0 10px}.permission-chips{display:flex;flex-wrap:wrap;gap:5px}.permission-chip{font-size:9px;background:#edf4f8;color:#43647d;border-radius:99px;padding:4px 7px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-section{border:1px solid var(--line);border-radius:11px;padding:16px}.settings-section h4{font-size:13px;margin:0 0 14px}.settings-section label{display:grid;gap:6px;font-size:10px;font-weight:800;color:#60758b;margin-bottom:12px}.settings-section input,.settings-section select,.settings-section textarea{border:1px solid #ccd8e2;border-radius:8px;padding:10px;background:white}.check-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important}.check-row input{width:auto}.pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border-top:1px solid var(--line);font-size:10px;color:#718096}.pagination-buttons{display:flex;gap:5px}.pagination-buttons button{width:30px;height:30px;border:1px solid var(--line);background:white;border-radius:7px;color:#52677b}.pagination-buttons button.active{background:#16466f;color:white;border-color:#16466f}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}.status-active{background:#2c9a61}.status-inactive{background:#a8b4be}.empty-state{padding:55px 20px;text-align:center;color:#718096}.empty-state strong{display:block;color:#35526a;font-size:14px;margin-bottom:5px}.modal.wide-modal{max-width:930px}.modal.medium-modal{max-width:620px}.modalhead small{display:block;color:#718096;margin-top:4px}.form-section-title{grid-column:1/-1;color:#173b5e;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding-top:7px;border-top:1px solid #edf1f4}.form .third{grid-column:span 1}.form .checkbox-inline{display:flex;align-items:center;grid-auto-flow:column;justify-content:start}.form input[type="checkbox"]{width:auto}.form-error{grid-column:1/-1;background:#fff0f0;border:1px solid #efc8ca;color:#a4242b;border-radius:8px;padding:10px;font-size:11px}.install-button{display:none}.install-button.available{display:inline-flex;align-items:center;gap:7px}.install-button svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.pwa-standalone .install-button{display:none!important}@media(display-mode:standalone){.install-button{display:none!important}}.offline-banner{background:#8a5a00;color:white;text-align:center;padding:7px 15px;font-size:11px;font-weight:700;position:sticky;top:72px;z-index:11}.help-card{background:#f0f7fc;border:1px solid #cae2f1;border-radius:10px;padding:14px;font-size:11px;color:#486a82;line-height:1.55}.read-only-note{background:#fff8dc;border:1px solid #eddda2;color:#725d13;border-radius:9px;padding:10px 13px;font-size:11px;margin-bottom:14px}.quick-select{min-width:245px}.dashboard-spark{font-size:10px;color:#718096}.print-only{display:none}

@media(max-width:950px){.detail-grid,.settings-grid{grid-template-columns:1fr}.role-grid{grid-template-columns:1fr}.admin-row{grid-template-columns:1fr auto}.admin-row>div:nth-child(2){grid-row:2;grid-column:1/-1}.login-shell{grid-template-columns:1fr}.login-visual{display:none}}
@media(max-width:760px){.topbar-title{gap:9px;min-width:0}.mobile-menu{align-self:center;justify-self:center}.mobile-menu svg{margin:0}.sidebar-overlay{display:block;position:fixed;inset:0;background:#071b2c99;z-index:19;opacity:0;pointer-events:none;transition:.2s}.sidebar-overlay.open{opacity:1;pointer-events:auto}.topbar{height:64px}.offline-banner{top:64px}.content{padding-bottom:90px}.heading-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.heading-actions .btn{padding:10px 8px}.heading-actions .btn:last-child:nth-child(odd){grid-column:1/-1}.toolbar .field{flex:1 1 calc(50% - 10px);min-width:0}.toolbar .search{flex-basis:100%}.table-wrap.card{border-radius:10px}.table-wrap table{min-width:900px}.modalback{padding:0;align-items:end}.modal,.modal.wide-modal,.modal.medium-modal{border-radius:16px 16px 0 0;max-height:94vh;max-width:none}.modalhead{padding:16px}.form{padding:16px}.modalfoot{position:sticky;bottom:0;background:white;padding:13px 16px}.notification-panel{right:10px;top:58px}.login-panel{padding:30px 22px}.login-brand{margin-bottom:32px}.login-panel h1{font-size:25px}.login-help{font-size:10px}.sector-card{padding:14px}.admin-row{grid-template-columns:1fr}.admin-row>div:nth-child(2){grid-column:auto;grid-row:auto}.row-actions{flex-wrap:wrap}.pagination{align-items:flex-start;gap:8px;flex-direction:column}.detail-list{grid-template-columns:1fr}.detail-item.wide{grid-column:auto}.comment-form{flex-direction:column}.quick-select{min-width:0;width:100%}}
@media(max-width:420px){.heading-actions{grid-template-columns:1fr}.heading-actions .btn:last-child:nth-child(odd){grid-column:auto}.metrics{gap:9px}.metric{min-width:145px}.sector-summary{gap:8px}.sector-summary>div{padding:11px}.top-actions{gap:5px}.topbar h1{max-width:165px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iconbtn{width:37px;height:37px}}
@media print{.sidebar,.topbar,.heading-actions,.toolbar,.tabs,.no-print,.sidebar-overlay,.toast-stack{display:none!important}.main{margin:0;width:100%}.content{padding:0}.card{border:0}.report{border:0;font-size:12pt}.print-only{display:block}}
.donut:after{content:attr(data-total)}

/* Sidebar recolhível */
.brand-text,.nav-label,.user-meta,.action-label{transition:opacity .16s ease}.sidebar-collapse{position:absolute;right:-16px;top:27px;width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;margin:0!important;border-radius:10px;border:2px solid #fff;background:#16466f;color:#fff;display:grid;place-items:center;line-height:0;box-shadow:0 5px 16px #071b2c38;z-index:22;appearance:none;-webkit-appearance:none;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.sidebar-collapse:hover{background:#1d5b89;transform:translateY(-1px);box-shadow:0 7px 18px #071b2c48}.sidebar-collapse:focus-visible{outline:3px solid #8cc8ec;outline-offset:2px}.sidebar-collapse svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.sidebar,.main{transition:width .2s ease,margin-left .2s ease}.sidebar.collapsed{width:78px;padding-left:10px;padding-right:10px}.main.collapsed{margin-left:78px;width:calc(100% - 78px)}.sidebar.collapsed .brand{padding-left:10px;padding-right:10px;justify-content:center}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .user-meta,.sidebar.collapsed .action-label{display:none}.sidebar.collapsed .brandmark{width:40px;flex:0 0 40px}.sidebar.collapsed .nav button{justify-content:center;padding:11px 8px}.sidebar.collapsed .nav .ico{font-size:18px;width:24px}.sidebar.collapsed .sidebar-foot{padding-left:0;padding-right:0}.sidebar.collapsed .userrow{justify-content:center}.sidebar.collapsed .sidebar-user-actions{display:grid;grid-template-columns:1fr}.sidebar.collapsed .sidebar-user-actions button{height:34px;padding:5px}.sidebar.collapsed .action-icon{font-size:15px}.sidebar.collapsed .sidebar-collapse{right:-16px}

/* Agenda institucional */
.agenda-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 27px;margin-bottom:15px;border-radius:16px;color:#fff;background:linear-gradient(130deg,#0b2948 0%,#105783 58%,#1386aa 100%);box-shadow:0 13px 30px #0b294826}.agenda-hero:after{content:"";position:absolute;width:270px;height:270px;border:1px solid #ffffff1f;border-radius:50%;right:-75px;top:-150px}.agenda-hero>div{position:relative;z-index:1}.agenda-eyebrow{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:900;color:#a9d9ef;margin-bottom:7px}.agenda-hero h3{font-size:24px;letter-spacing:-.02em;margin:0 0 6px}.agenda-hero p{margin:0;color:#d2e9f4;font-size:12px}.agenda-hero-actions{display:flex;gap:9px;flex-wrap:wrap}.agenda-hero .btn.secondary{background:#ffffff17;color:white;border-color:#ffffff3b}.agenda-hero .btn.primary{background:#fff;color:#0d4e7b}.agenda-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.agenda-metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 17px;box-shadow:0 4px 14px #163a5508}.agenda-metric span,.agenda-metric strong,.agenda-metric small{display:block}.agenda-metric span{font-size:10px;font-weight:800;color:#728399;text-transform:uppercase;letter-spacing:.04em}.agenda-metric strong{font-size:27px;margin:3px 0;color:#123a5d}.agenda-metric small{font-size:10px;color:#728399}.agenda-metric.warning{border-left:4px solid #e28a20}.agenda-metric.finance{border-left:4px solid #2d8e68}.agenda-tabs{display:flex;gap:6px;align-items:center;margin:0 0 14px}.agenda-tabs button{border:1px solid var(--line);background:#fff;color:#587086;padding:9px 14px;font-size:11px;font-weight:800;border-radius:8px}.agenda-tabs button.active{background:#123f63;color:#fff;border-color:#123f63}.agenda-tabs span{margin-left:auto;color:#7b8d9d;font-size:10px}.agenda-toolbar{padding:11px 13px;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;margin-bottom:10px;overflow:visible}.agenda-navigation{display:flex;align-items:center;gap:7px;min-width:0}.agenda-navigation strong{font-size:14px;color:#173b5e;margin-left:7px;white-space:nowrap}.agenda-view-switch{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.agenda-view-switch button{border:0;border-right:1px solid var(--line);background:white;color:#60758b;padding:9px 12px;font-size:10px;font-weight:800}.agenda-view-switch button:last-child{border-right:0}.agenda-view-switch button.active{background:#16466f;color:#fff}.agenda-actions-inline{display:flex;gap:6px}.agenda-filterbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:10px}.agenda-filterbar .field:not(.search){min-width:155px}.agenda-calendar{overflow:hidden}.agenda-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f5f8fa;border-bottom:1px solid var(--line)}.agenda-weekdays span{text-align:center;text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:900;color:#738698;padding:10px}.agenda-month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.agenda-day{min-height:126px;padding:8px;border-right:1px solid #edf1f4;border-bottom:1px solid #edf1f4;background:#fff;min-width:0}.agenda-day:nth-child(7n){border-right:0}.agenda-day.outside{background:#fafcfd;color:#a6b2bd}.agenda-day.today{background:#eef8fd;box-shadow:inset 0 0 0 2px #57a6d0}.agenda-day-number{display:flex;align-items:center;justify-content:space-between;height:23px}.agenda-day-number span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font-size:11px;font-weight:800}.agenda-day.today .agenda-day-number span{background:#1261a0;color:#fff}.agenda-day-number small{font-size:8px;text-transform:uppercase;color:#1261a0;font-weight:900}.agenda-day-events{display:grid;gap:4px;margin-top:5px}.agenda-pill{width:100%;display:flex;gap:5px;align-items:center;text-align:left;border:0;border-left:3px solid #3d8fbd;background:#eaf5fb;color:#224e69;padding:5px 6px;border-radius:5px;font-size:9px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-pill span{font-size:8px;opacity:.75;flex:0 0 auto}.agenda-more{border:0;background:transparent;color:#1261a0;text-align:left;padding:2px 4px;font-size:8px;font-weight:800}.type-evento{--agenda-accent:#267db0;--agenda-soft:#e7f3fa}.type-aluguel{--agenda-accent:#9a5c14;--agenda-soft:#fff3df}.type-permissao{--agenda-accent:#6f4d9c;--agenda-soft:#f1eafa}.type-reuniao{--agenda-accent:#2b8062;--agenda-soft:#e8f6ef}.type-interna{--agenda-accent:#586a7d;--agenda-soft:#edf1f4}.agenda-pill.type-evento,.agenda-week-event.type-evento,.agenda-type-dot.type-evento{border-color:#267db0;background:#e7f3fa}.agenda-pill.type-aluguel,.agenda-week-event.type-aluguel,.agenda-type-dot.type-aluguel{border-color:#9a5c14;background:#fff3df}.agenda-pill.type-permissao,.agenda-week-event.type-permissao,.agenda-type-dot.type-permissao{border-color:#6f4d9c;background:#f1eafa}.agenda-pill.type-reuniao,.agenda-week-event.type-reuniao,.agenda-type-dot.type-reuniao{border-color:#2b8062;background:#e8f6ef}.agenda-pill.type-interna,.agenda-week-event.type-interna,.agenda-type-dot.type-interna{border-color:#586a7d;background:#edf1f4}.agenda-week-grid{display:grid;grid-template-columns:repeat(7,minmax(170px,1fr));gap:9px;overflow:auto;padding-bottom:8px}.agenda-week-day{background:#fff;border:1px solid var(--line);border-radius:12px;min-height:420px;overflow:hidden}.agenda-week-day.today{border-color:#57a6d0;box-shadow:0 0 0 2px #57a6d022}.agenda-week-day>header{display:flex;align-items:baseline;gap:5px;padding:13px;background:#f6f9fb;border-bottom:1px solid var(--line)}.agenda-week-day>header span{text-transform:uppercase;font-size:9px;font-weight:900;color:#718096}.agenda-week-day>header strong{font-size:22px;color:#163e5d}.agenda-week-day>header small{font-size:9px;color:#8090a0}.agenda-week-day>div{padding:9px}.agenda-week-event{display:grid;width:100%;text-align:left;border:0;border-left:3px solid #267db0;border-radius:7px;padding:9px;margin-bottom:7px;color:#294b67;background:#e7f3fa}.agenda-week-event>span{font-size:8px;font-weight:900;opacity:.75}.agenda-week-event>b{font-size:10px;line-height:1.35;margin:4px 0}.agenda-week-event>small{font-size:8px;opacity:.75}.agenda-week-event>i{margin-top:7px;justify-self:start}.agenda-empty-day{padding:42px 5px;text-align:center;color:#a1adb7;font-size:10px}.agenda-list{display:grid;gap:12px}.agenda-list-day{display:grid;grid-template-columns:82px 1fr;gap:12px}.agenda-list-date{background:#123f63;color:#fff;border-radius:11px;padding:12px;display:flex;gap:8px;align-items:center;height:max-content}.agenda-list-date>strong{font-size:26px;line-height:1}.agenda-list-date>span{font-size:10px;text-transform:uppercase;font-weight:900}.agenda-list-date small{display:block;text-transform:none;font-weight:500;color:#c9dfec;margin-top:3px}.agenda-list-items{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden}.agenda-list-item{width:100%;display:grid;grid-template-columns:8px 65px minmax(180px,1fr) auto 20px;align-items:center;gap:12px;border:0;border-bottom:1px solid #edf1f4;background:#fff;text-align:left;padding:13px 15px;color:#294b67}.agenda-list-item:last-child{border-bottom:0}.agenda-list-item:hover{background:#f8fbfd}.agenda-type-dot{width:8px;height:38px;border-radius:6px;background:#267db0}.agenda-list-time b,.agenda-list-time small,.agenda-list-main b,.agenda-list-main span{display:block}.agenda-list-time b{font-size:11px}.agenda-list-time small{font-size:9px;color:#8190a0}.agenda-list-main b{font-size:12px}.agenda-list-main span{font-size:9px;color:#718096;margin-top:3px}.agenda-list-arrow{font-size:22px;color:#8b9baa}.agenda-status{display:inline-flex;align-items:center;border-radius:99px;padding:4px 8px;font-size:8px;font-style:normal;font-weight:900;white-space:nowrap}.agenda-status-pendente{background:#fff4d9;color:#8a5a00}.agenda-status-pre-reservado{background:#e7f2fa;color:#235f87}.agenda-status-aprovado{background:#e1f4e9;color:#206b45}.agenda-status-realizado{background:#e8eef3;color:#496072}.agenda-status-cancelado,.agenda-status-indeferido{background:#fde8e8;color:#a9262d}.space-toolbar{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:14px}.space-toolbar h3{margin:0;font-size:17px;color:#153b5d}.space-toolbar p{margin:4px 0 0;color:#718096;font-size:11px}.space-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.space-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px;box-shadow:0 5px 18px #163a5508}.space-card.inactive{opacity:.62}.space-card-head{display:flex;justify-content:space-between;align-items:center}.space-monogram{width:45px;height:45px;border-radius:11px;background:#e8f3fb;color:#145b8e;display:grid;place-items:center;font-size:10px;font-weight:900}.space-card h4{margin:12px 0 4px;font-size:13px}.space-card>p{font-size:9px;color:#718096;margin:0 0 12px}.space-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:11px 0;border-top:1px solid #edf1f4;border-bottom:1px solid #edf1f4}.space-facts span{font-size:8px;color:#8190a0}.space-facts b{display:block;color:#294b67;font-size:11px;margin-bottom:2px}.space-amenities{font-size:9px;line-height:1.55;color:#60758b;background:#f5f8fa;border-radius:8px;padding:9px;margin:10px 0}.space-card .row-actions{margin-top:12px}.agenda-form .form-section-title{margin-top:3px}.agenda-detail-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 25px;background:linear-gradient(130deg,var(--agenda-soft,#e7f3fa),#fff);border-bottom:1px solid var(--line);border-left:6px solid var(--agenda-accent,#267db0)}.agenda-detail-hero h3{font-size:22px;margin:9px 0 5px;color:#153b5d}.agenda-detail-hero p{font-size:11px;line-height:1.55;color:#60758b;margin:0;max-width:650px}.agenda-detail-date{width:70px;height:75px;border-radius:13px;background:#fff;border:1px solid #dce5ed;display:grid;place-items:center;align-content:center;box-shadow:0 6px 15px #173b5e0d}.agenda-detail-date strong{font-size:28px;line-height:1;color:#153b5d}.agenda-detail-date span{font-size:9px;text-transform:uppercase;font-weight:900;color:#718096}.agenda-decision-bar{display:flex;gap:7px;flex-wrap:wrap;padding:12px 22px;background:#f8fafc;border-bottom:1px solid var(--line)}.agenda-detail-grid{grid-template-columns:repeat(2,1fr);padding:20px 22px;gap:12px}.agenda-detail-grid .detail-item{border:1px solid #e5ebf0;border-radius:9px;padding:11px;background:#fbfcfd}.agenda-detail-grid .detail-item.wide{grid-column:1/-1}.agenda-audit{padding:0 22px 20px}.agenda-audit h4{font-size:12px;margin:0 0 11px}.agenda-audit>p{font-size:10px;color:#718096}.history-item{display:flex;gap:9px;padding:8px 0;border-bottom:1px solid #edf1f4;font-size:10px;color:#52677b}.history-item small{display:block;color:#8a9aaa;margin-top:2px}.history-dot{width:8px;height:8px;background:#5d9bc4;border-radius:50%;margin-top:4px;flex:0 0 auto}

@media(max-width:1150px){.space-grid{grid-template-columns:repeat(2,1fr)}.agenda-metrics{grid-template-columns:repeat(2,1fr)}.agenda-toolbar{grid-template-columns:1fr auto}.agenda-actions-inline{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:760px){.sidebar.collapsed{width:245px;padding:24px 16px}.sidebar.collapsed .brand{padding:0 8px 26px;justify-content:flex-start}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .user-meta,.sidebar.collapsed .action-label{display:block}.sidebar.collapsed .nav button{justify-content:flex-start;padding:10px 12px}.sidebar.collapsed .sidebar-user-actions{display:flex}.sidebar-collapse{display:none!important}.main.collapsed{margin:0;width:100%}.agenda-hero{align-items:flex-start;flex-direction:column;padding:20px}.agenda-hero h3{font-size:20px}.agenda-hero-actions{width:100%}.agenda-hero-actions .btn{flex:1}.agenda-metrics{display:flex;overflow:auto}.agenda-metric{min-width:180px}.agenda-tabs{overflow:auto}.agenda-tabs span{display:none}.agenda-toolbar{display:flex;flex-direction:column;align-items:stretch}.agenda-navigation{flex-wrap:wrap}.agenda-navigation strong{width:100%;margin:4px 0 0;text-align:center}.agenda-view-switch{width:100%}.agenda-view-switch button{flex:1}.agenda-actions-inline{justify-content:stretch}.agenda-actions-inline .btn{flex:1}.agenda-filterbar .field{flex:1 1 calc(50% - 8px);min-width:0}.agenda-filterbar .search{flex-basis:100%}.agenda-calendar{overflow:auto}.agenda-weekdays,.agenda-month-grid{min-width:790px}.agenda-day{min-height:112px}.agenda-week-grid{grid-template-columns:repeat(7,185px)}.agenda-list-day{grid-template-columns:1fr;gap:6px}.agenda-list-date{width:max-content;padding:8px 11px}.agenda-list-item{grid-template-columns:6px 52px 1fr 18px}.agenda-list-item>.agenda-status{grid-column:3;justify-self:start}.agenda-list-arrow{grid-column:4;grid-row:1}.space-toolbar{align-items:flex-start;flex-direction:column}.space-toolbar .btn{width:100%}.space-grid{grid-template-columns:1fr}.agenda-detail-grid{grid-template-columns:1fr}.agenda-detail-grid .detail-item.wide{grid-column:auto}.agenda-detail-hero{padding:18px}.agenda-detail-hero h3{font-size:18px}.agenda-detail-date{width:58px;height:64px}.agenda-detail-date strong{font-size:23px}.agenda-decision-bar .btn{flex:1}.agenda-audit{padding-left:16px;padding-right:16px}}
@media(max-width:420px){.agenda-metrics{gap:8px}.agenda-metric{min-width:160px}.agenda-filterbar .field{flex-basis:100%}.agenda-list-item{padding:11px 9px;gap:8px}.agenda-list-main span{max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-detail-date{display:none}}

/* Personalização visual v1.2.0 */
:root{
  --sidebar-active:#16466f;--sidebar-text:#cfe0ef;--surface:#fff;--text:#18324a;--heading:#173b5e;
  --success:#24905c;--warning:#ee8a1a;--danger:#d72d35;--logo-bg:#fff;--ui-radius:12px;--login-image:none;
}
body{background:var(--bg);color:var(--text)}
.sidebar{background:var(--navy)}
.brandmark{background:var(--logo-bg);color:var(--navy);overflow:hidden;letter-spacing:-1px}
.brandmark-image{padding:4px}
.brandmark-image img{width:100%;height:100%;display:block;object-fit:contain}
.brand-text span,.nav button{color:var(--sidebar-text)}
.nav button.active,.nav button:hover{background:var(--sidebar-active);color:#fff}
.sidebar-collapse{background:var(--sidebar-active)}
.topbar,.card,.metric,.task-card,.agenda-week-day,.agenda-list-items,.space-card,.modal,.settings-section,.role-card,.sector-card{background:var(--surface)}
.topbar h1,.heading h2,.card-head h3,.metric strong,.task-card h4,.settings-section h4,.role-card h4,.sector-card{color:var(--heading)}
.btn.primary{background:var(--blue)}
.card,.metric,.task-card,.settings-section,.role-card,.sector-card,.space-card,.modal,.agenda-week-day,.agenda-list-items{border-color:var(--line);border-radius:var(--ui-radius)}
.metric.danger{border-top-color:var(--danger)}.metric.warn{border-top-color:var(--warning)}.metric.success{border-top-color:var(--success)}
.status-active{background:var(--success)}.notification:after{background:var(--danger)}
.login-shell{background:var(--bg)}
.login-panel{background:var(--surface)}
.login-brand strong,.login-panel h1{color:var(--heading)}
.login-visual{background-color:var(--navy);background-image:linear-gradient(135deg,color-mix(in srgb,var(--navy) 92%,#000),color-mix(in srgb,var(--blue) 84%,#fff)),var(--login-image);background-size:cover;background-position:center}
.login-shell.has-login-image .login-visual{background-image:linear-gradient(135deg,color-mix(in srgb,var(--navy) 88%,transparent),color-mix(in srgb,var(--blue) 72%,transparent)),var(--login-image)}
.login-overlay{position:absolute;inset:0;background:linear-gradient(140deg,#00000012,#00000038);pointer-events:none}
.login-visual-content{z-index:1}
.login-logo-image{width:64px;height:64px;border-radius:16px;flex:0 0 64px;padding:6px}
.compact-tables td{padding-top:8px;padding-bottom:8px}.compact-tables th{padding-top:8px;padding-bottom:8px}.compact-tables .task-card{padding:10px}

.appearance-form{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.appearance-form>.branding-section,.appearance-form>.color-section,.appearance-actions{grid-column:1/-1}.settings-tabs{flex-wrap:wrap}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.section-heading h4{margin-bottom:4px}.section-heading p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.branding-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.upload-card{display:grid;grid-template-columns:118px 1fr;gap:14px;align-items:center;border:1px solid var(--line);border-radius:calc(var(--ui-radius) - 2px);padding:14px;background:color-mix(in srgb,var(--surface) 91%,var(--bg))}.upload-card.wide-upload{grid-column:1/-1;grid-template-columns:250px 1fr}.upload-card b,.upload-card small{display:block}.upload-card b{font-size:12px;color:var(--heading);margin-bottom:4px}.upload-card small{font-size:9px;color:var(--muted);line-height:1.5;margin-bottom:9px}.upload-card input[type=file]{display:block;width:100%;font-size:9px;color:var(--muted);margin-top:7px}.upload-preview{height:92px;border:1px dashed color-mix(in srgb,var(--line) 78%,var(--blue));border-radius:10px;background:var(--surface);display:grid;place-items:center;overflow:hidden}.upload-preview img{max-width:90%;max-height:82%;object-fit:contain}.logo-preview .brandmark{width:60px;height:60px;border-radius:15px}.app-icon-preview img{width:72px;height:72px;border-radius:17px;object-fit:cover}.background-preview{background-size:cover;background-position:center;position:relative;color:#fff;font-size:10px;font-weight:800;text-align:center}.background-preview:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--navy),color-mix(in srgb,var(--blue) 75%,transparent));opacity:.78}.background-preview span{position:relative;z-index:1}.upload-actions{display:flex;gap:7px;margin-top:9px}.color-section{padding-bottom:20px}.theme-presets{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.theme-presets button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:9px;padding:7px 10px;display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800}.theme-presets button:hover{border-color:var(--blue);color:var(--blue)}.theme-presets i{display:inline-block;width:28px;height:17px;border-radius:5px;background:linear-gradient(90deg,var(--p1) 0 50%,var(--p2) 50%);box-shadow:inset 0 0 0 1px #00000012}.color-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:11px}.color-control{margin:0!important}.color-control>span{font-size:9px;font-weight:800;color:var(--muted)}.color-control>div{display:grid;grid-template-columns:42px 1fr;gap:7px}.color-control input[type=color]{width:42px;height:39px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.color-control input[type=text],.color-control input:not([type]){min-width:0;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.layout-section output{float:right;color:var(--blue);font-weight:900}.layout-section input[type=range]{padding:0;border:0;width:100%;accent-color:var(--blue)}.appearance-preview{height:150px;border:1px solid var(--line);border-radius:var(--ui-radius);overflow:hidden;display:grid;grid-template-columns:72px 1fr;background:var(--bg);margin-top:18px}.preview-sidebar{background:var(--navy);padding:15px 10px;display:grid;align-content:start;gap:9px}.preview-sidebar span{height:7px;border-radius:99px;background:var(--sidebar-text);opacity:.72}.preview-sidebar span:first-child{height:24px;width:24px;background:var(--logo-bg);border-radius:7px;margin-bottom:8px}.preview-content{padding:18px}.preview-content b{display:block;color:var(--heading);font-size:12px;margin-bottom:12px}.preview-content div{height:24px;border:1px solid var(--line);background:var(--surface);border-radius:calc(var(--ui-radius) - 4px);margin-bottom:8px}.preview-content button{border:0;background:var(--blue);color:#fff;border-radius:7px;padding:7px 10px;font-size:9px;font-weight:800}.appearance-actions{display:flex;justify-content:flex-end;gap:9px;position:sticky;bottom:12px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);padding:12px;border:1px solid var(--line);border-radius:12px;z-index:3}

@media(max-width:1100px){.color-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:950px){.appearance-form{grid-template-columns:1fr}.appearance-form>.settings-section,.appearance-actions{grid-column:1}.color-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:760px){.settings-tabs{display:flex;flex-wrap:nowrap;overflow:auto}.settings-tabs button{white-space:nowrap}.branding-grid{grid-template-columns:1fr}.upload-card,.upload-card.wide-upload{grid-column:auto;grid-template-columns:84px 1fr;padding:11px}.upload-preview{height:78px}.upload-card.wide-upload .upload-preview{height:84px}.color-grid{grid-template-columns:1fr}.appearance-actions{bottom:8px;display:grid;grid-template-columns:1fr 1fr}.appearance-actions .btn{padding-left:8px;padding-right:8px}.login-logo-image{width:56px;height:56px;flex-basis:56px}.brandmark-image{padding:3px}}
@media(max-width:430px){.upload-card,.upload-card.wide-upload{grid-template-columns:1fr}.upload-preview{height:90px}.appearance-actions{grid-template-columns:1fr}.theme-presets button{flex:1 1 calc(50% - 8px)}}


/* Legibilidade do menu v1.2.1 */
.layout-section .setting-hint{margin:-2px 0 12px;color:var(--muted);font-size:10px;line-height:1.55;padding:9px 10px;border-radius:8px;background:color-mix(in srgb,var(--bg) 74%,var(--surface));border:1px solid var(--line)}
@media(max-width:760px){
  .nav button,.sidebar.collapsed .nav button{font-size:var(--menu-font-size-mobile);font-weight:700;line-height:1.25;min-height:48px;padding-top:11px;padding-bottom:11px}
  .nav .ico,.sidebar.collapsed .nav .ico{width:24px;min-width:24px;font-size:1.08em}
  .nav{overflow-y:auto;overscroll-behavior:contain;padding-bottom:8px}
}


/* v1.3.0 — acesso, usuários e recuperação de senha */
.login-link{border:0;background:transparent;color:var(--blue);font-weight:800;font-size:12px;padding:12px 0 0;text-align:left;cursor:pointer}.login-link:hover{text-decoration:underline}.login-success{background:#eaf7f0;border:1px solid #c7e8d4;color:#1e7247;border-radius:9px;padding:11px 12px;font-size:12px;line-height:1.5;margin:0 0 15px}.user-filterbar{display:grid;grid-template-columns:minmax(240px,1.7fr) minmax(150px,.75fr) minmax(160px,.85fr) minmax(170px,.8fr) auto;gap:9px;margin-bottom:15px;align-items:center}.user-filterbar .field{width:100%;min-width:0}.admin-list{display:grid;gap:0}.admin-row{display:grid;grid-template-columns:minmax(230px,1.25fr) minmax(220px,1fr) minmax(390px,auto);gap:18px;align-items:center;padding:14px 2px;border-bottom:1px solid #edf1f4}.admin-row:last-child{border-bottom:0}.admin-row b,.admin-row small{display:block}.admin-row small{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.45}.user-name-line{display:flex;align-items:center;gap:7px}.master-badge{font-size:8px;font-weight:900;letter-spacing:.07em;background:#e8f3fb;color:#145b8e;border:1px solid #c9dfef;border-radius:999px;padding:3px 6px}.user-actions{justify-content:flex-end;flex-wrap:wrap}.password-admin-box{font-size:13px;line-height:1.65;color:var(--text)}.password-admin-box p{margin:0}.card-subtitle{font-size:10px;color:var(--muted);margin-top:3px}.setting-hint{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:2px}
@media(max-width:1180px){.user-filterbar{grid-template-columns:1fr 1fr}.user-filterbar .search{grid-column:1/-1}.admin-row{grid-template-columns:1fr 1fr}.admin-row .user-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:760px){.user-filterbar{grid-template-columns:1fr}.user-filterbar .search{grid-column:auto}.admin-row{grid-template-columns:1fr;gap:9px;padding:15px 0}.admin-row .user-actions{grid-column:auto;justify-content:flex-start}.user-actions .btn{flex:1 1 calc(50% - 6px)}.login-link{font-size:13px}}

/* v1.4.0 — matriz granular de acessos por usuário */
.modal.permission-user-modal{max-width:1120px}.user-basic-form{padding-bottom:16px}.field-help{display:block;font-size:9px;line-height:1.45;color:var(--muted);font-weight:500}.permission-matrix{padding:0 22px 20px;display:grid;gap:14px}.permission-matrix-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:15px 16px;border:1px solid color-mix(in srgb,var(--blue) 26%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--blue) 6%,var(--surface))}.permission-matrix-head h4{margin:0 0 5px;color:var(--heading);font-size:14px}.permission-matrix-head p{margin:0;max-width:700px;color:var(--muted);font-size:10px;line-height:1.55}.permission-legend{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.permission-legend span{border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900}.permission-legend .inherit{background:#eef3f6;color:#5e7181}.permission-legend .allow{background:#e7f6ed;color:#24704a}.permission-legend .deny{background:#fdebec;color:#aa2e35}.permission-group{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--surface)}.permission-group-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;background:color-mix(in srgb,var(--bg) 72%,var(--surface));border-bottom:1px solid var(--line)}.permission-group-head h5{margin:0 0 3px;color:var(--heading);font-size:12px}.permission-group-head p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}.permission-group-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.permission-group-actions button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:7px;padding:6px 8px;font-size:9px;font-weight:800}.permission-group-actions button:hover{border-color:var(--blue);color:var(--blue)}.permission-list{display:grid}.permission-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:18px;padding:11px 14px;border-bottom:1px solid #edf1f4}.permission-row:last-child{border-bottom:0}.permission-copy b,.permission-copy small,.permission-copy em{display:block}.permission-copy b{font-size:11px;color:var(--heading);margin-bottom:3px}.permission-copy small{font-size:9px;color:var(--muted);line-height:1.45}.permission-copy em{font-size:8px;color:color-mix(in srgb,var(--blue) 74%,var(--muted));font-style:normal;font-weight:800;margin-top:4px}.permission-row select{width:100%;border:1px solid #ccd8e2;border-radius:8px;padding:9px;background:var(--surface);color:var(--text);font-size:10px;font-weight:800}.master-permission-note{margin:0 22px 20px;border:1px solid #c9dfef;background:#eef7fd;border-radius:11px;padding:15px 16px;color:#245777}.master-permission-note b,.master-permission-note span{display:block}.master-permission-note b{font-size:12px;margin-bottom:4px}.master-permission-note span{font-size:10px;line-height:1.5}.settings-wide{grid-column:1/-1}.settings-save-row{grid-column:1/-1;display:flex;justify-content:flex-end;position:sticky;bottom:10px;z-index:3;padding:11px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px)}.user-readonly-label{justify-self:end;color:var(--muted);font-size:10px;font-weight:800;background:#f1f5f7;border:1px solid var(--line);border-radius:999px;padding:6px 9px}.access-empty{margin-top:30px}.settings-section:only-child{grid-column:1/-1}
@media(max-width:900px){.permission-matrix-head,.permission-group-head{align-items:flex-start;flex-direction:column}.permission-legend,.permission-group-actions{justify-content:flex-start}.permission-row{grid-template-columns:1fr 150px}.modal.permission-user-modal{max-width:none}}
@media(max-width:760px){.permission-matrix{padding:0 16px 18px}.permission-row{grid-template-columns:1fr;gap:8px;padding:12px}.permission-row select{font-size:12px;min-height:42px}.permission-group-actions{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.permission-group-actions button{padding:8px 5px}.permission-matrix-head{padding:13px}.master-permission-note{margin:0 16px 18px}.settings-save-row{bottom:6px}.user-readonly-label{justify-self:start}.field-help{font-size:10px}}
@media(max-width:430px){.permission-group-actions{grid-template-columns:1fr}.permission-legend{display:none}}
.permission-matrix-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.permission-matrix-tools input{min-width:280px;flex:1;border:1px solid #ccd8e2;border-radius:8px;padding:10px 11px;color:var(--text);background:var(--surface);font-size:10px}.permission-all-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.permission-all-actions button{border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);padding:7px 9px;font-size:9px;font-weight:850;cursor:pointer}.permission-all-actions button:hover{border-color:var(--blue);color:var(--blue)}.permission-group[hidden],.permission-row[hidden]{display:none!important}
@media(max-width:760px){.permission-matrix-tools{align-items:stretch;flex-direction:column}.permission-matrix-tools input{min-width:0;width:100%;font-size:12px}.permission-all-actions{display:grid;grid-template-columns:1fr 1fr 1fr}.permission-all-actions button{padding:9px 5px}}
@media(max-width:430px){.permission-all-actions{grid-template-columns:1fr}}

/* v1.4.2 — instalação PWA assistida e áreas seguras do iPhone/iPad */
.install-guide{padding:18px 20px 4px}.install-steps{display:grid;gap:10px}.install-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:12px;background:color-mix(in srgb,var(--surface) 94%,var(--bg))}.install-step:has(.install-step-icon){grid-template-columns:34px 36px minmax(0,1fr)}.install-step-number{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:12px;font-weight:900}.install-step-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 10%,var(--surface));color:var(--blue);border:1px solid color-mix(in srgb,var(--blue) 22%,var(--line))}.install-step-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.install-step b{display:block;color:var(--heading);font-size:12px;margin:1px 0 3px}.install-step p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.install-browser-ok,.install-browser-warning,.install-tip{border-radius:10px;padding:11px 12px;margin-bottom:12px;font-size:10px;line-height:1.55}.install-browser-ok{background:#e9f7ef;border:1px solid #cce8d6;color:#236844}.install-browser-warning{background:#fff7e6;border:1px solid #f1ddb1;color:#77551d}.install-browser-warning strong{font-weight:900}.install-tip{margin-top:12px;background:color-mix(in srgb,var(--blue) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--blue) 20%,var(--line));color:var(--text)}.install-tip b,.install-tip span{display:block}.install-tip b{color:var(--heading);font-size:11px;margin-bottom:3px}.install-guide-actions{gap:8px}.install-guide-actions .btn{min-width:150px}

/* Usa o espaço útil do aparelho sem deixar conteúdo atrás do notch, Dynamic Island ou indicador de início. */
html.pwa-standalone,html.pwa-standalone body{min-height:100%;min-height:100dvh}
html.pwa-standalone .app{min-height:100vh;min-height:100dvh}
html.pwa-standalone .sidebar{padding-top:calc(24px + env(safe-area-inset-top,0px));padding-left:calc(16px + env(safe-area-inset-left,0px));padding-right:calc(16px + env(safe-area-inset-right,0px));padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
html.pwa-standalone .topbar{height:calc(72px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:max(30px,env(safe-area-inset-left,0px));padding-right:max(30px,env(safe-area-inset-right,0px))}
html.pwa-standalone .content{padding-left:max(30px,env(safe-area-inset-left,0px));padding-right:max(30px,env(safe-area-inset-right,0px));padding-bottom:calc(48px + env(safe-area-inset-bottom,0px))}
html.pwa-standalone .notification-panel{max-height:calc(100dvh - 90px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
html.pwa-standalone .modalback{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html.pwa-standalone .modalfoot{padding-bottom:max(13px,env(safe-area-inset-bottom,0px))}

@media(max-width:760px){
  .install-guide{padding:14px 16px 2px}.install-step,.install-step:has(.install-step-icon){grid-template-columns:34px minmax(0,1fr)}.install-step-icon{grid-column:1;grid-row:2}.install-step:has(.install-step-icon)>div{grid-column:2;grid-row:1/3}.install-step b{font-size:13px}.install-step p,.install-browser-ok,.install-browser-warning,.install-tip{font-size:11px}.install-guide-actions{display:grid;grid-template-columns:1fr 1fr}.install-guide-actions .btn{min-width:0}
  html.pwa-standalone .sidebar,html.pwa-standalone .sidebar.collapsed{padding-top:calc(18px + env(safe-area-inset-top,0px));padding-left:calc(16px + env(safe-area-inset-left,0px));padding-right:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  html.pwa-standalone .topbar{height:calc(64px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  html.pwa-standalone .content{padding-left:max(15px,env(safe-area-inset-left,0px));padding-right:max(15px,env(safe-area-inset-right,0px));padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
  html.pwa-standalone .notification-panel{top:calc(58px + env(safe-area-inset-top,0px));right:max(10px,env(safe-area-inset-right,0px));left:max(10px,env(safe-area-inset-left,0px));width:auto}
  html.ios-pwa .brand{padding-top:2px}
  html.ios-pwa .sidebar .nav{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:430px){.install-guide-actions{grid-template-columns:1fr}.install-step:has(.install-step-icon)>div{grid-column:2}}

/* v1.5.0 — perfis editáveis e central de zeramento */
.role-management{display:grid;gap:16px}.role-help-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;margin-bottom:14px;border:1px solid color-mix(in srgb,var(--blue) 18%,var(--line));background:color-mix(in srgb,var(--blue) 5%,var(--surface));border-radius:10px}.role-help-banner b,.role-help-banner span{display:block}.role-help-banner b{color:var(--heading);font-size:12px}.role-help-banner>div>span{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.5}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.role-card{border:1px solid var(--line);border-radius:12px;padding:15px;background:var(--surface);display:grid;gap:12px}.role-card-inactive{opacity:.72;background:color-mix(in srgb,var(--bg) 55%,var(--surface))}.role-card-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.role-card h4{margin:0;color:var(--heading);font-size:14px}.role-card p{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.role-title-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.system-role-badge,.custom-role-badge{font-size:8px;font-weight:900;border-radius:999px;padding:4px 7px;letter-spacing:.04em}.system-role-badge{background:#edf3f7;color:#536b7d}.custom-role-badge{background:#e9f3ff;color:#17639a}.role-status{font-size:9px;font-weight:900;border-radius:999px;padding:5px 8px;white-space:nowrap}.role-status.on{background:#e8f6ed;color:#237047}.role-status.off{background:#fdebec;color:#a72d34}.role-actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:2px;border-top:1px solid #edf1f4}.role-permission-row{display:flex!important;align-items:flex-start;gap:10px;padding:11px 14px;border-bottom:1px solid #edf1f4;cursor:pointer}.role-permission-row:last-child{border-bottom:0}.role-permission-row input{width:18px;height:18px;flex:0 0 auto;margin-top:1px;accent-color:var(--blue)}.role-permission-row span,.role-permission-row b,.role-permission-row small{display:block}.role-permission-row b{font-size:11px;color:var(--heading)}.role-permission-row small{margin-top:3px;font-size:9px;line-height:1.45;color:var(--muted)}
.reset-zone{display:grid;gap:16px}.reset-warning{display:flex;gap:14px;align-items:flex-start;padding:17px;border:1px solid color-mix(in srgb,var(--danger) 28%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--danger) 6%,var(--surface))}.reset-warning-icon{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:var(--danger);color:#fff;display:grid;place-items:center;font-weight:950;font-size:20px}.reset-warning h3{margin:0 0 5px;color:var(--heading);font-size:16px}.reset-warning p{margin:0;color:var(--text);font-size:11px;line-height:1.6}.reset-form{display:grid;gap:14px}.reset-presets{display:flex;gap:8px;flex-wrap:wrap}.reset-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reset-option{display:flex!important;gap:11px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:13px;background:var(--surface);cursor:pointer}.reset-option input{width:19px;height:19px;accent-color:var(--danger);flex:0 0 auto;margin-top:1px}.reset-option span,.reset-option b,.reset-option small{display:block}.reset-option b{color:var(--heading);font-size:11px}.reset-option small{color:var(--muted);font-size:9px;line-height:1.5;margin-top:3px}.reset-confirm{border:1px solid #efcf9f;background:#fffaf0;border-radius:12px;padding:15px}.reset-confirm h4{margin:0 0 5px;color:#68491e}.reset-confirm p{margin:0 0 4px;color:#77551d;font-size:10px;line-height:1.55}.reset-confirm .form{padding:12px 0 0}.reset-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.reset-actions small{color:var(--muted);font-size:9px;line-height:1.45;max-width:640px}.reset-actions .btn.danger{background:var(--danger);color:#fff}
@media(max-width:1000px){.role-grid,.reset-options{grid-template-columns:1fr}}
@media(max-width:760px){.role-help-banner,.role-card-top,.reset-actions{align-items:flex-start;flex-direction:column}.role-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.role-actions .btn{width:100%}.reset-presets{display:grid;grid-template-columns:1fr;width:100%}.reset-presets .btn{width:100%}.reset-confirm .form{grid-template-columns:1fr}.reset-actions .btn{width:100%}}
