@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Manrope:wght@400;500;600;700&display=swap";body{color:#1f3348;background:radial-gradient(circle at 90% -10%,#d8ebff 0%,#f4f7fb 35%),linear-gradient(140deg,#f8fbff 0%,#edf3fb 100%);margin:0;font-family:Manrope,sans-serif}h1,h2,h3,button,label,th{letter-spacing:.02em;font-family:Barlow Condensed,sans-serif}#root{min-height:100vh}:root{--bg:#f4f7fb;--surface:#fff;--border:#dce4ef;--text:#1f3248;--muted:#6e8198;--nav-a:#013566;--nav-b:#02264b;--primary:#0f5fa5;--success:#1f8f5f;--danger:#c13b45;--warning:#ba7b1e}*{box-sizing:border-box}body{color:var(--text);background:radial-gradient(circle at 92% -18%,#d8ebff 0%,#f4f7fb 35%),linear-gradient(140deg,#f8fbff 0%,#edf3fb 100%);min-height:100vh;margin:0;font-family:Manrope,sans-serif}h1,h2,h3,label,thead th,.nav-item span,button{letter-spacing:.02em;font-family:Barlow Condensed,sans-serif}.app-shell{grid-template-columns:104px 1fr;min-height:100vh;display:grid}.sidebar{background:linear-gradient(180deg, var(--nav-a) 0%, var(--nav-b) 100%);color:#cfe4ff;border-right:1px solid #0b4478;flex-direction:column;align-items:stretch;height:100vh;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff24;flex-shrink:0;place-items:center;height:74px;display:grid}.brand-logo-img{object-fit:contain;width:68px;height:auto;display:block}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:10px 0;display:flex;overflow-y:auto}.nav-item{color:#c8dfff;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;padding:10px 8px 8px;font-size:1.05rem;line-height:1;text-decoration:none;transition:color .12s,background .12s;display:flex}.nav-item span{font-size:.75rem;line-height:1}.nav-item:hover:not(.nav-disabled):not(.active){color:#fff;background:#ffffff12}.nav-item.active{color:#fff;background:linear-gradient(90deg,#1277d259,#1277d200);border-left:3px solid #3fa7ff}.nav-disabled{opacity:.3;cursor:default}.sidebar-footer{border-top:1px solid #ffffff1a;flex-direction:column;align-items:center;gap:2px;padding:10px 0 8px;display:flex}.sidebar-user{color:#7baed4;text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 6px;font-family:Manrope,sans-serif;font-size:.72rem;overflow:hidden}.nav-logout{color:#f98a8a!important}.nav-logout:hover{color:#ff6b6b!important}.content{flex-direction:column;gap:16px;padding:18px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 6px 14px #16283c0d}.topbar{justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.topbar h1{margin:0;font-size:2.15rem;line-height:1}.topbar p{color:#15538d;margin:4px 0 0;font-family:Barlow Condensed,sans-serif;font-size:1.4rem}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.updated{color:var(--muted);font-size:.88rem}.btn{border:1px solid var(--border);color:#1e3b58;cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;align-items:center;gap:7px;height:40px;padding:0 14px;font-family:Barlow Condensed,sans-serif;font-size:1.1rem;transition:background .12s;display:inline-flex}.btn:hover:not(:disabled){background:#f0f6ff}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.full{justify-content:center;width:100%}.btn-primary{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}.btn-primary:hover:not(:disabled){background:#0a4e8c!important}.kpi-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:12px;align-items:center;gap:14px;padding:16px;display:flex;box-shadow:0 6px 14px #16283c0d}.kpi-icon{border-radius:50%;flex-shrink:0;place-items:center;width:66px;height:66px;display:grid}.kpi-body h3{margin:0 0 2px;font-size:1.05rem}.kpi-body strong{font-family:Barlow Condensed,sans-serif;font-size:2.7rem;font-weight:700;line-height:1;display:block}.kpi-body p{color:var(--muted);margin:5px 0 0;font-size:.9rem;font-weight:600}.sync-pill{text-overflow:ellipsis;white-space:nowrap;border-radius:20px;max-width:300px;padding:4px 14px;font-family:Manrope,sans-serif;font-size:.82rem;font-weight:700;overflow:hidden}.sync-pill.syncing{color:#0060b0;background:#e8f4ff;animation:1.5s ease-in-out infinite pulse}.sync-pill.error{color:#af3340;cursor:help;background:#fce2e6}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.sync-info{color:var(--muted);white-space:nowrap;font-family:Manrope,sans-serif;font-size:.83rem}.filters{grid-template-columns:repeat(5,1fr);align-items:end;gap:12px;padding:14px;display:grid}.field-block label{margin-bottom:7px;font-size:1.05rem;display:block}.field-block input,.field-block select{border:1px solid var(--border);color:#264560;background:#fff;border-radius:8px;width:100%;height:40px;padding:0 10px;font-family:Manrope,sans-serif;font-size:.88rem}.field-block input:focus,.field-block select:focus{border-color:#4a9fe0;outline:none;box-shadow:0 0 0 3px #4a9fe026}.table-card{padding:12px}.table-head{justify-content:space-between;align-items:center;gap:14px;padding:2px 4px 10px;display:flex}.table-head h2{color:#1b5d95;margin:0;font-size:1.9rem}.total-count{color:var(--muted);font-size:1rem;font-weight:400}.table-controls{align-items:center;gap:8px;display:flex}.table-head-right{align-items:center;gap:10px;display:flex}.loading-text{color:var(--muted);font-family:Manrope,sans-serif;font-size:.85rem}.error-msg{color:var(--danger);font-family:Manrope,sans-serif;font-size:.85rem;font-weight:700}.table-wrap{overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%}thead th{text-align:left;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:#294a68;white-space:nowrap;background:#fbfdff;padding:11px 10px;font-size:1.15rem}thead th.num{text-align:right}tbody td{color:#2e4a65;vertical-align:middle;border-bottom:1px solid #edf1f7;padding:10px;font-size:.9rem}tbody td.num{text-align:right}tbody td.valor{color:var(--success);text-align:right;font-weight:700}tbody td.dias{color:#b34a31;font-weight:700}tbody td.mono{color:var(--primary);font-family:Courier New,monospace;font-size:.84rem;font-weight:700}tbody td.nowrap{white-space:nowrap}tbody td.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}tbody tr:hover{background:#f8fafd}tbody tr:last-child td{border-bottom:0}.tag{border-radius:7px;padding:4px 12px;font-family:Barlow Condensed,sans-serif;font-size:1rem;font-weight:700;display:inline-flex}.tag.high{color:#b33540;background:#fbe0e3}.tag.medium{color:#99691c;background:#f8edc5}.tag.low{color:#2b8457;background:#dff4e6}.tag.wait{color:#5b41a8;background:#ebe4ff}.tag.analysis{color:#af6a09;background:#fce9d2}.tag.blocked{color:#ab2f3a;background:#fbe1e3}.tag.released{color:#2b8457;background:#dff4e6}.empty-state{text-align:center;color:var(--muted);padding:56px 24px}.empty-state p{margin:0;font-size:1rem;line-height:1.7}.table-foot{justify-content:space-between;align-items:center;padding:12px 4px 2px;display:flex}.table-foot small{color:var(--muted);font-size:.85rem}.pagination{gap:6px;display:flex}.pagination button{border:1px solid var(--border);color:#31506d;cursor:pointer;background:#fff;border-radius:6px;min-width:36px;height:34px;padding:0 8px;font-family:Barlow Condensed,sans-serif;font-size:1.05rem;transition:background .12s}.pagination button:hover:not(:disabled){background:#e8f0fb}.pagination button:disabled{opacity:.35;cursor:not-allowed}.pagination button.current{background:var(--primary);color:#fff;border-color:var(--primary)}.auth-loading{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;font-size:1rem;display:flex}.login-shell{background:linear-gradient(135deg,#013566 0%,#025494 55%,#0478c8 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border-radius:16px;width:100%;max-width:400px;padding:44px 40px 40px;box-shadow:0 24px 64px #01285066}.login-brand{text-align:center;background:linear-gradient(135deg,#013566 0%,#0478c8 100%);border-radius:16px 16px 0 0;margin:-44px -40px 32px;padding:32px 40px 24px}.login-logo-img{object-fit:contain;width:96px;height:auto;display:block}.login-title{color:#fff;letter-spacing:.02em;margin:0;font-family:Barlow Condensed,sans-serif;font-size:1.6rem;font-weight:700}.login-subtitle{color:#ffffffb3;margin:4px 0 0;font-size:.9rem}.login-form{flex-direction:column;gap:16px;display:flex}.login-field label{color:#345371;margin-bottom:6px;font-family:Barlow Condensed,sans-serif;font-size:1.05rem;display:block}.login-field input{border:1.5px solid var(--border);box-sizing:border-box;border-radius:9px;width:100%;height:44px;padding:0 12px;font-family:Manrope,sans-serif;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.login-field input:focus{border-color:#0478c8;outline:none;box-shadow:0 0 0 3px #0478c826}.login-pw-wrap{position:relative}.login-pw-wrap input{padding-right:42px}.login-pw-toggle{cursor:pointer;color:var(--muted);background:0 0;border:none;place-items:center;padding:4px;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.login-pw-toggle:hover{color:var(--text)}.login-error{color:#a3293a;background:#fce4e8;border:1px solid #f5c0c9;border-radius:8px;margin:0;padding:10px 14px;font-size:.87rem;font-weight:600}.login-btn{color:#fff;letter-spacing:.04em;cursor:pointer;background:linear-gradient(135deg,#013566,#0478c8);border:none;border-radius:10px;height:46px;margin-top:4px;font-family:Barlow Condensed,sans-serif;font-size:1.3rem;font-weight:700;transition:opacity .15s}.login-btn:hover:not(:disabled){opacity:.9}.login-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=1450px){.kpi-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.filters{grid-template-columns:repeat(3,1fr)}}@media (width<=1024px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #0b4478;border-right:0;height:auto;position:static}.sidebar-nav{flex-direction:row;overflow-x:auto}.topbar{flex-direction:column;align-items:flex-start}.table-head,.table-foot{flex-direction:column;align-items:flex-start;gap:8px}.kpi-grid,.filters{grid-template-columns:1fr 1fr}}@media (width<=640px){.kpi-grid,.filters{grid-template-columns:1fr}}
