:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}h1,h2,h3,p{margin-top:0}p{line-height:1.55}button,input,select,textarea{font-family:inherit}.login-shell{background:#f5f7fb;grid-template-columns:minmax(320px,1.1fr) minmax(320px,440px);min-height:100vh;display:grid}.login-visual{color:#fff;background:linear-gradient(#071c38d1,#071c38eb),url(https://images.unsplash.com/photo-1556761175-4b46a572b786?auto=format&fit=crop&w=1600&q=80) 50%/cover;flex-direction:column;justify-content:center;gap:22px;min-height:100vh;padding:64px;display:flex}.brand-logo{object-fit:contain;filter:drop-shadow(0 18px 42px #0a7cff59);width:86px;height:86px;display:block}.brand-logo.small{filter:none;width:46px;height:46px}.login-visual h1{margin:0;font-size:52px;line-height:1.05}.login-visual p{color:#dbe8f8;max-width:640px;font-size:19px}.visual-grid{grid-template-columns:repeat(2,minmax(0,240px));gap:12px;margin-top:12px;display:grid}.visual-grid span{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:8px;align-items:center;gap:10px;min-height:46px;padding:10px 12px;display:flex}.login-panel{background:#fff;flex-direction:column;justify-content:center;gap:16px;min-height:100vh;padding:44px;display:flex}.panel-heading{gap:6px;margin-bottom:8px;display:grid}.eyebrow{color:#0a7cff;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:800}label{color:#334155;gap:7px;font-size:14px;font-weight:700;display:grid}input,select,textarea{color:#152033;width:100%;min-height:42px;font:inherit;box-sizing:border-box;background:#fff;border:1px solid #d6dde8;border-radius:7px;outline:none;padding:10px 12px}textarea{resize:vertical;min-height:88px}input:focus,select:focus,textarea:focus{border-color:#0a7cff;box-shadow:0 0 0 3px #0a7cff1f}button{font:inherit;cursor:pointer;border:0;border-radius:7px;font-weight:800}button:disabled{opacity:.5;cursor:not-allowed}.primary-action,.secondary-action,.text-action{justify-content:center;align-items:center;gap:9px;min-height:42px;display:inline-flex}.primary-action{color:#fff;background:#0a7cff;padding:10px 16px}.primary-action.compact{white-space:nowrap;min-height:36px;padding:8px 11px}.secondary-action{color:#075dbf;background:#e8f1ff;padding:10px 14px}.text-action{color:#0a7cff;background:0 0}.friendly-alert,.billing-banner,.password-notice{color:#26415f;background:#eaf4ff;border:1px solid #cce4ff;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.friendly-alert.danger{color:#7f1d1d;background:#fff0f0;border-color:#ffcaca}.recovery-box{background:#f8fafc;border:1px solid #d6dde8;border-radius:8px;gap:12px;padding:18px;display:grid;position:relative}.close{position:absolute;top:8px;right:8px}.app-shell{background:#f5f7fb;grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#dbe7f5;background:#08172a;flex-direction:column;gap:20px;min-height:100vh;padding:20px;display:flex}.sidebar-brand{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding-bottom:16px;display:flex}.sidebar-brand div:last-child{gap:2px;display:grid}.sidebar-brand span{color:#91a4bc;font-size:13px}.sidebar nav{gap:6px;display:grid}.nav-item,.logout{color:#c8d5e6;text-align:left;background:0 0;align-items:center;gap:10px;min-height:42px;padding:10px 12px;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#0f2745}.nav-item.active{border-left:3px solid #20c997}.sidebar-footer{gap:12px;margin-top:auto;display:grid}.sync-pill{border-radius:8px;align-items:flex-start;gap:8px;padding:10px;font-size:13px;line-height:1.35;display:flex}.sync-pill.online{color:#bdf6d8;background:#20c99724}.sync-pill.offline{color:#ffe6b0;background:#f59e0b29}.sync-message{color:#c7d2fe;font-size:12px;line-height:1.35;display:block}.workspace{align-content:start;gap:18px;min-width:0;padding:22px;display:grid}.topbar{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:14px 18px;display:flex}.topbar h1{margin:0;font-size:24px;line-height:1.15}.topbar-actions{align-items:center;gap:8px;display:flex}.icon-button,.status-button{color:#182335;background:#edf2f7;justify-content:center;align-items:center;gap:8px;min-width:42px;min-height:42px;display:inline-flex}.notification-button{position:relative}.notification-dot{color:#fff;background:#ef4444;border-radius:999px;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:11px;line-height:1;display:grid;position:absolute;top:-5px;right:-5px}.status-button{padding:9px 12px}.status-button.online{color:#067647;background:#def8e8}.status-button.offline{color:#915c00;background:#fff0c9}.mobile-menu{display:none}.password-notice{background:#fff8dc;border-color:#fde68a;justify-content:space-between;align-items:center}.password-notice>div{gap:12px;display:flex}.password-notice h2,.password-notice p{margin:0}.password-notice p{color:#66500a;margin-top:4px}.password-fields{grid-template-columns:repeat(2,minmax(0,220px));gap:10px;margin-top:12px;display:grid}.inline-message{color:#38506c;margin:0;font-size:14px;font-weight:700}.billing-banner.vencido,.billing-banner.suspenso,.billing-banner.cancelado{color:#7f1d1d;background:#fff0f0;border-color:#ffcaca}.content-grid{gap:18px;display:grid}.notifications-panel{background:#fff;border:1px solid #dbe5f2;border-radius:8px;padding:18px}.notification-list{gap:10px;display:grid}.notification-item{border:1px solid #dbe5f2;border-left:4px solid #0a7cff;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.notification-item.read{opacity:.68;border-left-color:#94a3b8}.notification-item div{gap:4px;display:grid}.notification-item span{color:#52657d;font-size:14px}.notification-item button{color:#172033;white-space:nowrap;background:#edf2f7;min-height:36px;padding:8px 10px}.metric-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric,.panel,.wide-panel,.form-panel,.list-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px}.metric{gap:7px;padding:16px;display:grid}.metric svg{color:#0a7cff}.metric span,.metric small{color:#65758b}.metric strong{color:#111827;font-size:25px}.panel,.wide-panel,.form-panel,.list-panel{padding:18px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.section-heading h2,.panel h2,.form-panel h2{margin:0}.badge{color:#38506c;white-space:nowrap;background:#eef4fb;border-radius:6px;align-items:center;gap:6px;min-height:28px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.badge.ok,.badge.ativo{color:#067647;background:#def8e8}.badge.warn,.badge.vencendo{color:#875a00;background:#fff2c7}.badge.vencido,.badge.suspenso,.badge.cancelado{color:#9b1c1c;background:#ffe1e1}.timeline,.quick-actions,.soft-list,.client-table{gap:10px;display:grid}.timeline span{color:#42556e;align-items:center;gap:10px;min-height:42px;display:flex}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions button,.camera-actions button,.saved-actions button,.client-line button{color:#172033;background:#edf2f7;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 12px;display:inline-flex}.soft-list{color:#42556e;margin:0;padding-left:20px}.dev-panel{background:#f5f9ff;border:1px dashed #9db7d8;border-radius:8px;gap:12px;margin-bottom:12px;padding:14px;display:grid}.dev-panel h2,.dev-panel p{margin:0}.dev-panel p{color:#52657d;font-size:13px}.module-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:start;gap:18px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0;display:grid}.form-grid .full{grid-column:1/-1}.form-grid.compact{grid-template-columns:1fr;gap:10px;margin:0}.camera-actions{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.search-field{margin-bottom:12px;position:relative}.search-field svg{color:#68788d;position:absolute;top:36px;left:12px}.search-field input{padding-left:38px}.data-row,.client-line{border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.data-row div,.client-line div{gap:3px;display:grid}.data-row span,.client-line span{color:#64748b;font-size:13px}.user-card{border:1px solid #e2e8f0;border-radius:8px;gap:12px;padding:12px;display:grid}.user-card-main{justify-content:space-between;align-items:center;gap:12px;display:flex}.user-card-main div:first-child{gap:3px;display:grid}.user-card-main span{color:#64748b;font-size:13px}.user-badges,.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-actions{justify-content:flex-end}.sale-total{border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin:16px 0;padding:14px 0;display:flex}.sale-total strong{color:#0a7cff;font-size:28px}.saved-actions{background:#f0fff6;border:1px solid #c8f3db;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding:12px;display:flex}.saved-actions span{color:#067647;align-items:center;gap:8px;font-weight:800;display:inline-flex}.client-line{grid-template-columns:minmax(180px,1fr) auto auto auto;display:grid}.client-line.central-line{grid-template-columns:minmax(220px,1fr) auto auto auto auto auto}@media (width<=1050px){.login-shell,.app-shell,.module-layout{grid-template-columns:1fr}.login-visual{min-height:auto;padding:36px 22px}.login-panel{min-height:auto;padding:28px 22px}.sidebar{z-index:20;width:min(84vw,300px);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-menu{display:inline-flex}.metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.client-line{grid-template-columns:1fr;align-items:stretch}}@media (width<=640px){.visual-grid,.metric-row,.form-grid,.quick-actions{grid-template-columns:1fr}.login-visual h1{font-size:38px}.workspace{padding:12px}.topbar{align-items:flex-start}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.password-notice,.section-heading,.data-row{flex-direction:column;align-items:stretch}.password-fields{grid-template-columns:1fr}.primary-action.compact,.status-button{width:100%}}
