/* Estilos compartilhados da interface web. */
:root{--cor-marrom:#6f432f;--cor-marrom-escuro:#4f2f21;--cor-marrom-claro:#8b6049;--cor-creme:#f6f0e7;--cor-creme-claro:#fbf8f3;--cor-texto:#4a342a;--cor-borda:#e6ddd2;--largura-sidebar:268px;--altura-topbar:72px}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--cor-creme-claro);color:var(--cor-texto)}.nav-pills .nav-link{border-radius:50px;font-weight:500}.nav-pills .nav-link.active{background-color:#198754}.card{border-radius:15px}.app-shell{min-height:100vh}.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--largura-sidebar);z-index:1040;display:flex;flex-direction:column;background:linear-gradient(180deg,#f7efe5 0%,#f3eadc 100%);border-right:1px solid var(--cor-borda);box-shadow:4px 0 18px rgba(79,47,33,.08);transition:transform .25s ease}.sidebar-brand{min-height:var(--altura-topbar);padding:11px 16px;display:flex;align-items:center;gap:11px;color:#fff;background:var(--cor-marrom)}.sidebar-logo{width:45px;height:45px;object-fit:contain;border-radius:50%;background:rgba(255,255,255,.9);padding:3px}.sidebar-brand span,.sidebar-brand strong{display:block;line-height:1.15}.sidebar-brand span{font-size:.86rem;opacity:.9}.sidebar-brand strong{font-size:1rem}.sidebar-nav{padding:18px 12px;overflow-y:auto}.sidebar-link{display:flex;align-items:center;gap:13px;padding:12px 14px;margin-bottom:5px;border-radius:9px;color:var(--cor-texto);text-decoration:none;font-weight:500;transition:background .2s ease,color .2s ease,transform .2s ease}.sidebar-link i{width:23px;font-size:1.2rem;color:var(--cor-marrom);text-align:center}.sidebar-link:hover,.sidebar-link:focus,.sidebar-link.active{color:#fff;background:var(--cor-marrom-claro);transform:translateX(2px)}.sidebar-link:hover i,.sidebar-link:focus i,.sidebar-link.active i{color:#fff}.sidebar-link.active{box-shadow:0 4px 12px rgba(79,47,33,.12)}.sidebar-link-secondary{font-size:.92rem}.sidebar-separator{height:1px;margin:15px 8px;background:#ddcfc0}.sidebar-backdrop{display:none;position:fixed;inset:0;z-index:1035;border:0;background:rgba(42,27,20,.42);padding:0}.app-content{min-height:100vh;margin-left:var(--largura-sidebar)}.app-topbar{position:sticky;top:0;z-index:1030;min-height:var(--altura-topbar);padding:0 22px;display:flex;align-items:center;gap:16px;color:#fff;background:linear-gradient(90deg,var(--cor-marrom) 0%,var(--cor-marrom-escuro) 100%);box-shadow:0 3px 14px rgba(46,26,18,.18)}.topbar-menu{width:42px;height:42px;border:0;border-radius:9px;display:none;align-items:center;justify-content:center;color:#fff;background:rgba(255,255,255,.12);font-size:1.55rem}.topbar-title{font-size:1.05rem;font-weight:600;flex:1}.topbar-user{display:flex;align-items:center;gap:10px}.topbar-avatar{font-size:2rem;line-height:1}.topbar-user-text strong,.topbar-user-text span{display:block}.topbar-user-text strong{font-size:.9rem}.topbar-user-text span{font-size:.75rem;opacity:.82}.topbar-logout,.topbar-menu{cursor:pointer}.topbar-logout{width:38px;height:38px;border:0;border-radius:8px;color:#fff;background:rgba(255,255,255,.12)}.topbar-logout:hover,.topbar-menu:hover{background:rgba(255,255,255,.22)}.app-main{padding:22px;min-height:calc(100vh - var(--altura-topbar));background:#f8f5f0}.app-main>.alert{max-width:1400px;margin:0 auto 16px}.public-page{min-height:100vh;background:#f8f5f0}.public-page>.alert{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:1100;width:min(calc(100% - 28px),520px);box-shadow:0 8px 22px rgba(0,0,0,.12)}.coluna-acoes{width:150px}.logo-login{max-height:120px}body.sidebar-open{overflow:hidden}.table-responsive{border-radius:inherit}.table>:not(caption)>*>*{vertical-align:middle}.btn{font-weight:500}.form-control,.form-select{border-color:#ded4ca}.form-control:focus,.form-select:focus{border-color:#a88570;box-shadow:0 0 0 .2rem rgba(139,96,73,.12)}@media(max-width:991px){.app-sidebar{transform:translateX(-100%)}body.sidebar-open .app-sidebar{transform:translateX(0)}body.sidebar-open .sidebar-backdrop{display:block}.app-content{margin-left:0}.topbar-menu{display:inline-flex}}@media(max-width:768px){.app-topbar{padding:0 12px}.topbar-title{font-size:.9rem}.topbar-user-text{display:none}.app-main{padding:14px}.table th,.table td{padding:.5rem;font-size:14px}.card-body{padding:1rem}}@media(max-width:480px){.topbar-title{font-size:.82rem}.topbar-avatar{display:none}.app-topbar{gap:9px}.app-main{padding:12px}.sidebar-brand strong{font-size:.94rem}}
