.layout-wrapper{background:var(--bg-primary);width:100%;height:100vh;color:var(--text-primary);display:flex;position:relative;overflow:hidden}.layout-overlay{z-index:30;cursor:pointer;background:#0a140a66;border:none;position:fixed;inset:0}.layout-sidebar{background:var(--bg-surface);border-right:.5px solid var(--border-main);width:220px;color:var(--text-primary);z-index:40;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.layout-sidebar--mobile{width:min(84vw,300px);transition:transform .24s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-104%);box-shadow:4px 0 24px #0000001f}.layout-sidebar--mobile-open{transform:translate(0)}.layout-logo-wrap{border-bottom:.5px solid var(--border-main);align-items:center;gap:9px;padding:20px 18px 18px;display:flex}.layout-logo-icon{background:var(--brand-primary);border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.layout-logo-text-wrap{flex:1;min-width:0}.layout-logo-title{color:var(--text-primary);letter-spacing:-.02em;font-family:DM Sans,sans-serif;font-size:16px;font-weight:700;line-height:1}.layout-tenant-badge{background:var(--bg-hover);border-radius:8px;flex-direction:column;gap:3px;margin:12px 8px 4px;padding:10px 12px;display:flex}.layout-tenant-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:500}.layout-tenant-name{color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.4}.layout-nav{flex-direction:column;flex:1;padding:8px;display:flex;overflow-y:auto}.layout-nav-link{color:var(--text-secondary);border-radius:8px;align-items:center;gap:9px;margin-bottom:2px;padding:9px 10px;font-size:13.5px;font-weight:400;text-decoration:none;transition:background .15s,color .15s;display:flex}.layout-nav-link:hover{background:var(--bg-hover);color:var(--text-primary)}.layout-nav-link.active{background:var(--bg-success-subtle);color:var(--brand-primary);font-weight:500}.layout-nav-link--locked{opacity:.4;pointer-events:none;-webkit-user-select:none;user-select:none}.layout-user-profile{border-top:.5px solid var(--border-main);align-items:center;gap:9px;padding:12px 14px;display:flex}.layout-user-avatar{background:var(--brand-primary);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:13px;font-weight:500;display:grid}.layout-user-info{flex:1;min-width:0}.layout-user-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.2;overflow:hidden}.layout-user-sub{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.layout-sair-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;place-items:center;text-decoration:none;transition:background .15s,color .15s;display:grid}.layout-sair-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.layout-main{background:var(--bg-primary);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.layout-mobile-header{padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;border-bottom:.5px solid var(--border-main);background:var(--bg-surface);z-index:20;align-items:center;gap:12px;display:flex;position:sticky;top:0}.layout-icon-btn{border:.5px solid var(--border-main);background:var(--bg-surface);width:38px;height:38px;color:var(--text-primary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.layout-mobile-brand{color:var(--text-primary);font-family:Instrument Serif,serif;font-size:15px;font-weight:600}.layout-mobile-page{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:11px}.layout-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;max-width:100%;height:100%;overflow:hidden}body{background:var(--bg-primary,#f4f8f5);color:var(--text-primary,#141c14);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:DM Sans,system-ui,sans-serif}#root{flex-direction:column;width:100%;max-width:100%;height:100%;display:flex;overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#2a342a;border-radius:3px}.badge-success{background:var(--bg-success-subtle);color:var(--brand-primary)}.badge-warning{background:var(--bg-warning-subtle);color:var(--color-warning-text)}.badge-neutral{background:var(--bg-neutral-subtle);color:var(--text-neutral)}:focus{outline:none}:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #1b5235}:root{--bg-primary:#f4f8f5;--bg-surface:#fafaf8;--bg-secondary:#fff;--bg-card:#fff;--bg-success-subtle:#ebf2ed;--bg-warning-subtle:#fdf3e0;--border-main:#dde8df;--border-subtle:#141c1412;--text-primary:#141c14;--text-secondary:#5a6b5c;--text-muted:#9aad9c;--brand-primary:#1b5235;--brand-hover:#2a6b44;--brand-text:#ebf2ed;--success:#1b5235;--error:#dc2626;--warning:#d97706;--color-warning-text:#b07d2b;--bg-neutral-subtle:#f0eee9;--text-neutral:#5f5e5a;--bg-hover:#eef3ef;--radius-lg:14px;--radius-md:8px;--radius-sm:4px}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:DM Sans,system-ui,-apple-system,sans-serif}h1,h2,h3,.serif{font-family:Instrument Serif,Georgia,serif}[data-theme=dark]{--bg-primary:#111a11;--bg-surface:#182018;--bg-secondary:#182018;--bg-card:#1e281e;--bg-hover:#1e281e;--bg-success-subtle:#1a3028;--bg-warning-subtle:#2d1f08;--bg-neutral-subtle:#2a2926;--border-main:#2c3c2c;--text-primary:#e4ede4;--text-secondary:#8fa490;--text-muted:#4e5e50;--text-neutral:#9a9690;--color-warning-text:#c49020;--brand-text:#c8e6d4}[data-theme=dark] .layout-nav-link:hover,[data-theme=dark] .layout-sair-btn:hover,[data-theme=dark] .layout-tenant-badge{background:var(--bg-hover)}
