@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-color:#f7f9f6;--card-bg:#fff;--primary:#155528;--primary-hover:#2a4621;--accent:#56af31;--text-main:#1c2b20;--text-muted:#5b6b5f;--border:#e2e8e4;--input-bg:#fff;--input-disabled:#f4f6f3;--error:#900;--success:#56af31;--radius-sm:10px;--radius-md:14px;--radius-lg:24px;--shadow-sm:0 4px 15px #1555280d;--shadow-md:0 8px 25px #15552814;--shadow-lg:0 20px 40px #1555281f}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif}.app-container{background-color:var(--bg-color);flex-direction:column;width:100%;max-width:600px;height:100vh;margin:0 auto;display:flex;position:relative;overflow-x:hidden}.fade-in{animation:.5s cubic-bezier(.16,1,.3,1) forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.home-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 24px;display:flex}.logos-container{justify-content:center;gap:16px;width:100%;margin-bottom:40px;display:flex}.logo-card{width:80px;height:80px;box-shadow:var(--shadow-sm);background:#fff;border:1px solid #1555280d;border-radius:20px;justify-content:center;align-items:center;padding:12px;transition:transform .3s;display:flex}.logo-card:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.company-logo{object-fit:contain;max-width:100%;max-height:100%}.welcome-text{text-align:center;margin-bottom:40px}.welcome-text h1{letter-spacing:-.5px;color:var(--primary);margin-bottom:12px;font-size:28px;font-weight:700}.welcome-text p{color:var(--text-muted);font-size:15px}.action-buttons{flex-direction:column;gap:16px;width:100%;display:flex}.btn-primary,.btn-secondary{border-radius:var(--radius-lg);cursor:pointer;justify-content:center;align-items:center;gap:14px;width:100%;padding:20px;font-size:17px;font-weight:600;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex}.btn-primary{background-color:var(--primary);color:#fff;border:none;box-shadow:0 10px 25px #15552840}.btn-primary:hover,.btn-primary:active{background-color:var(--primary-hover);transform:translateY(-3px);box-shadow:0 15px 30px #15552859}.btn-secondary{color:var(--primary);border:1px solid var(--border);box-shadow:var(--shadow-sm);background-color:#fff}.btn-secondary:hover,.btn-secondary:active{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-3px)}.form-screen-layout{background:#fff;flex-direction:column;height:100vh;display:flex;overflow:hidden auto}.camera-overlay{z-index:9999;background:#000;flex-direction:column;height:100dvh;display:flex;position:fixed;inset:0;overflow:hidden}.header-compact{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.header-compact h2{color:var(--primary);font-size:16px;font-weight:600}.btn-icon-small{background:var(--bg-color);color:var(--primary);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.btn-icon-small:hover{background:var(--border)}.form-wrapper-compact{flex-direction:column;flex:1;gap:12px;padding:12px 16px;display:flex}.form-row-compact{gap:10px;display:flex}.col-2{flex:2}.col-3{flex:3}.col-4{flex:4}.col-6{flex:6}.col-7{flex:7}.form-group-compact{flex-direction:column;display:flex}.form-wrapper-compact label{color:var(--text-muted);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.form-wrapper-compact input,.form-wrapper-compact select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-main);background:var(--input-bg);appearance:none;height:42px;padding:10px 12px;font-family:inherit;font-size:14px;transition:all .2s}.form-wrapper-compact select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23155528' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.form-wrapper-compact input:focus,.form-wrapper-compact select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #15552826}.form-wrapper-compact input:read-only{background-color:var(--input-disabled);color:var(--text-muted);border-color:var(--border);cursor:not-allowed;font-weight:500}.input-with-button{gap:8px;display:flex}.btn-search{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;width:48px;transition:all .2s;display:flex}.btn-search:disabled{background:#cbd5e1}.btn-search:hover:not(:disabled){background:var(--primary-hover)}.status-msg-inline{text-align:right;font-size:11px;font-weight:600}.status-msg-inline.error{color:var(--error)}.status-msg-inline.success{color:var(--success)}.status-msg-inline.loading{color:var(--accent)}.toggle-wrapper{justify-content:center;margin-top:4px;display:flex}.btn-toggle-compact{background:var(--bg-color);color:var(--primary);cursor:pointer;border:none;border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.btn-toggle-compact:hover{background:#e8eee9}.collapsible-content-compact{background:var(--bg-color);border-radius:var(--radius-md);border:1px solid var(--border);flex-direction:column;gap:8px;padding:12px;display:flex}.divider-compact{background:var(--border);border:none;height:1px;margin:8px 0}.btn-submit-compact{background-color:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;width:100%;margin-top:10px;padding:16px;font-size:16px;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #15552833}.btn-submit-compact:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 20px #1555284d}.selection-container{flex-direction:column;gap:20px;padding:30px 24px;display:flex}.company-selection-btn{border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;align-items:center;gap:20px;padding:20px;transition:all .3s;display:flex}.company-selection-btn:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-4px)}.company-selection-btn .logo-placeholder{background:var(--bg-color);border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;padding:8px;display:flex}.company-selection-btn img{object-fit:contain;max-width:100%;max-height:100%}.company-selection-btn span{color:var(--text-main);font-size:18px;font-weight:600}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tela-aguarde-roda{border:4px solid #e2e8f0;border-top-color:var(--primary);border-radius:50%;width:44px;height:44px;margin:0 auto 16px;animation:.9s linear infinite tela-aguarde-gira}@keyframes tela-aguarde-gira{to{transform:rotate(360deg)}}.login-form{flex-direction:column;gap:28px;width:100%;max-width:320px;display:flex}.pin-caixas{cursor:text;justify-content:center;gap:14px;display:flex;position:relative}.pin-input-oculto{opacity:0;caret-color:#0000;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.pin-caixa{border-radius:var(--radius-md);background:var(--card-bg);border:1.5px solid var(--border);width:58px;height:64px;box-shadow:var(--shadow-sm);color:var(--primary);justify-content:center;align-items:center;font-size:30px;transition:border-color .2s,box-shadow .2s;display:flex}.pin-caixa.cheia{border-color:var(--accent)}.pin-caixas:focus-within .pin-caixa.ativa{border-color:var(--primary);box-shadow:0 0 0 4px #15552814}.pin-caixas.erro{animation:.4s pin-tremer}.pin-caixas.erro .pin-caixa{border-color:var(--error)}@keyframes pin-tremer{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}
