:root{--brand-dark:#252424;--brand-accent:#ff5757;--brand-accent-soft:rgba(255,87,87,.1);--brand-accent-strong:#e84a4a;--brand-gray:#cbcfcf;--grad-start:#ff5757;--grad-end:#a855f7;--p-blue:#3b82f6;--p-blue-bg:#e0edff;--p-green:#22c55e;--p-green-bg:#dcfce7;--p-orange:#f97316;--p-orange-bg:#ffe6d4;--p-purple:#a855f7;--p-purple-bg:#f3e8ff;--p-red:#ef4444;--p-red-bg:#ffe1e1;--p-amber:#eab308;--p-amber-bg:#fef3c7;--p-cyan:#06b6d4;--p-cyan-bg:#cffafe;--bg:#fff;--surface:#fff;--text:#252424;--muted:#6b7280;--border:#eef0f0;--radius:14px;--shadow-sm:0 1px 2px rgba(0,0,0,.04);--shadow:0 1px 3px rgba(37,36,36,.06),0 4px 12px rgba(37,36,36,.04)}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:16px 0;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow-y:auto}.logo{gap:10px;padding:4px 18px 16px;margin-bottom:8px}.logo,.logo-mark{display:flex;align-items:center}.logo-mark{width:36px;height:36px;border-radius:8px;background:var(--brand-accent);color:#fff;font-weight:700;font-size:13px;justify-content:center}.logo-text{font-weight:700;font-size:15px;color:var(--brand-dark)}.nav-section{padding:8px 10px 4px}.nav-section-title{font-size:10.5px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.6px;padding:6px 12px}.nav{list-style:none;padding:0 10px;margin:0}.nav li{margin-bottom:2px}.nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;color:#4b5563;text-decoration:none;font-size:13.5px;border-radius:10px;cursor:pointer;transition:background .12s ease,color .12s ease;position:relative}.nav a:hover{background:#f5f5f5;color:var(--brand-dark)}.nav a.active{background:var(--brand-accent);color:#fff;font-weight:600}.nav .ico{width:18px;height:18px;flex-shrink:0;font-size:14px}.nav .pill{margin-left:auto;background:var(--p-red);color:#fff;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px}.nav a.active .pill{background:#fff;color:var(--brand-accent)}.sidebar-foot{padding:12px 18px;border-top:1px solid var(--border);display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;cursor:pointer;margin-top:auto}.sidebar-foot:hover{color:var(--brand-accent)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:#fff;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:5}.topbar-title{font-size:14px;color:#4b5563}.topbar-right{display:flex;align-items:center;gap:14px}.role-switch{display:flex;background:#fff;border:1px solid var(--border);border-radius:999px;padding:3px}.role-pill{padding:6px 12px;border-radius:999px;font-size:12.5px;color:#6b7280;cursor:pointer;display:inline-flex;align-items:center}.role-pill.active{background:var(--brand-accent-soft);color:var(--brand-accent);font-weight:600;border:1px solid rgba(255,87,87,.3)}.bell{width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:#4b5563;cursor:pointer;position:relative}.bell-dot{position:absolute;top:6px;right:7px;width:9px;height:9px;background:var(--brand-accent);border-radius:50%;border:2px solid #fff}.user{display:flex;align-items:center;gap:10px;font-weight:600}.main{background:var(--bg)}.content{padding:24px 32px 60px;max-width:1320px}.hero{background:linear-gradient(95deg,var(--grad-start),var(--grad-end));color:#fff;border-radius:var(--radius);padding:22px 26px;margin-bottom:22px;box-shadow:0 8px 24px rgba(168,85,247,.12)}.hero-date{font-size:13px;opacity:.95;display:flex;align-items:center;gap:8px}.hero-title{font-size:26px;font-weight:700;margin:6px 0 4px}.hero-sub{font-size:14px;opacity:.95}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-bottom:16px}.kpi{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm)}.kpi-text .lbl{font-size:12.5px;color:#6b7280;margin-bottom:6px}.kpi-text .val{font-size:26px;font-weight:700;color:var(--brand-dark);line-height:1}.kpi-text .sub{font-size:12px;color:var(--muted);margin-top:6px}.kpi-text .sub.down{color:var(--brand-accent)}.kpi-text .sub.up{color:var(--p-green)}.kpi-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.ico-blue{background:var(--p-blue-bg);color:var(--p-blue)}.ico-green{background:var(--p-green-bg);color:var(--p-green)}.ico-orange{background:var(--p-orange-bg);color:var(--p-orange)}.ico-purple{background:var(--p-purple-bg);color:var(--p-purple)}.ico-red{background:var(--p-red-bg);color:var(--p-red)}.ico-amber{background:var(--p-amber-bg);color:var(--p-amber)}.ico-cyan{background:var(--p-cyan-bg);color:var(--p-cyan)}.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.card-head h3{margin:0;font-size:15px;font-weight:700;color:var(--brand-dark)}table.data{width:100%;border-collapse:collapse;font-size:13.5px}table.data th{background:#fafafa;text-align:left;padding:12px 18px;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;color:#6b7280;font-weight:700}table.data td,table.data th{border-bottom:1px solid var(--border)}table.data td{padding:14px 18px;color:var(--text)}table.data tr:last-child td{border-bottom:none}table.data tr:hover{background:#fafbfc;cursor:pointer}.mono{font-family:SF Mono,Menlo,Consolas,monospace;font-size:12.5px;color:var(--brand-dark)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:700}.badge-pending{background:var(--p-amber-bg);color:#b45309}.badge-approved{background:var(--p-blue-bg);color:#1d4ed8}.badge-paid{background:var(--p-green-bg);color:#15803d}.badge-noboleta{background:var(--brand-accent-soft);color:var(--brand-accent)}.badge-conc{background:#ede9fe;color:#6d28d9}.badge-rejected{background:#fce7e7;color:#991b1b}.badge-type-solped{background:var(--p-blue-bg);color:var(--p-blue)}.badge-type-reembolso{background:var(--p-cyan-bg);color:#0e7490}.btn{border:none;border-radius:10px;padding:9px 16px;font-weight:600;font-size:13.5px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .12s ease;text-decoration:none}.btn-primary{background:var(--brand-accent);color:#fff}.btn-primary:hover{background:var(--brand-accent-strong)}.btn-success{background:var(--p-green);color:#fff}.btn-success:hover{background:#16a34a}.btn-danger{background:#fff;color:var(--p-red);border:1px solid var(--p-red)}.btn-danger:hover{background:var(--p-red-bg)}.btn-ghost{background:#fff;border:1px solid var(--border);color:var(--brand-dark)}.btn-ghost:hover{background:#f5f5f5}.btn-link{background:none;color:var(--brand-accent);padding:0;font-weight:600}.btn-big{padding:12px 22px;font-size:14.5px}.screen{display:none}.screen.active{display:block}.pageHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.pageHead .crumb{font-size:12px;color:var(--muted)}.pageHead h2{margin:4px 0 0;font-size:22px;font-weight:700;color:var(--brand-dark)}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:22px}.tab{padding:12px 18px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active{color:var(--brand-accent);border-bottom-color:var(--brand-accent)}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:span 2}.form-group label{font-size:12px;font-weight:700;color:var(--brand-dark);text-transform:uppercase;letter-spacing:.4px}.form-group input,.form-group select,.form-group textarea{padding:11px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;font-family:inherit;background:#fff;color:var(--text)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px var(--brand-accent-soft)}.form-group .hint{font-size:11.5px;color:var(--muted)}.type-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.type-option{border:2px solid var(--border);border-radius:12px;padding:14px;cursor:pointer;display:flex;gap:12px;align-items:flex-start}.type-option.selected,.type-option:hover{border-color:var(--brand-accent)}.type-option.selected{background:var(--brand-accent-soft)}.type-option .t-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.type-option .t-title{font-weight:700;color:var(--brand-dark);font-size:14px}.type-option .t-sub{font-size:12px;color:var(--muted);margin-top:2px}.dropzone{border:2px dashed #d1d5db;border-radius:14px;padding:36px 20px;text-align:center;background:#fafafa;cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover{border-color:var(--brand-accent);background:var(--brand-accent-soft)}.dropzone-icon{font-size:30px;color:var(--brand-accent);margin-bottom:6px}.dropzone-text{font-weight:600;color:var(--brand-dark)}.dropzone-sub{font-size:12px;color:var(--muted);margin-top:4px}.inbox-grid{display:grid;grid-template-columns:360px 1fr;grid-gap:16px;gap:16px}.inbox-list{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.inbox-item{padding:14px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s ease}.inbox-item:last-child{border-bottom:none}.inbox-item:hover{background:#fafbfc}.inbox-item.active{background:var(--brand-accent-soft);border-left:3px solid var(--brand-accent);padding-left:13px}.inbox-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.inbox-item-name{font-weight:700;font-size:13.5px;color:var(--brand-dark)}.inbox-item-time{font-size:11px;color:var(--muted)}.inbox-item-detail{font-size:12.5px;color:#4b5563}.inbox-item-amount{font-weight:700;color:var(--brand-dark);margin-top:4px;font-size:14px}.inbox-detail{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px}.id-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border)}.id-meta-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 24px;gap:12px 24px;margin-bottom:18px}.id-meta{font-size:12px}.id-meta .lab{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:10.5px;font-weight:700}.id-meta .v{font-size:14px;color:var(--brand-dark);font-weight:600;margin-top:2px}.id-actions{display:flex;gap:10px;padding-top:18px;border-top:1px solid var(--border)}.voucher-zone{border:2px dashed var(--brand-accent);border-radius:14px;padding:30px 20px;text-align:center;background:var(--brand-accent-soft);cursor:pointer}.voucher-zone .vbig{font-size:36px;color:var(--brand-accent)}.voucher-zone .vt{font-weight:700;color:var(--brand-dark);font-size:16px;margin:6px 0 4px}.voucher-zone .vh{font-size:12.5px;color:var(--muted)}.kbd{display:inline-block;padding:2px 8px;background:#fff;border:1px solid var(--brand-gray);border-radius:6px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11.5px;box-shadow:0 1px 0 rgba(0,0,0,.05)}.voucher-after{background:var(--p-green-bg);border-radius:12px;padding:16px;display:flex;gap:14px;align-items:center;margin-top:14px}.voucher-after .check{width:38px;height:38px;border-radius:50%;background:var(--p-green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.solpedview-grid{display:grid;grid-template-columns:1.3fr 1fr;grid-gap:18px;gap:18px}.timeline{padding:4px 0}.tl-item{display:flex;gap:14px;padding:10px 0;position:relative}.tl-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;background:var(--p-green-bg);color:var(--p-green)}.tl-item.pending .tl-dot{background:#f3f4f6;color:#9ca3af}.tl-item.current .tl-dot{background:var(--brand-accent);color:#fff}.tl-item:not(:last-child):after{content:"";position:absolute;left:15px;top:42px;width:2px;height:calc(100% - 32px);background:var(--border)}.tl-text{padding-top:6px}.tl-text strong{font-size:13.5px;color:var(--brand-dark)}.tl-text .meta{font-size:12px;color:var(--muted);margin-top:2px}.voucher-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px}.voucher-doc{background:#f8fafc;border:1px dashed var(--brand-gray);border-radius:8px;padding:16px;margin-top:12px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11.5px;color:var(--brand-dark)}.voucher-doc-head{text-align:center;font-weight:700;margin-bottom:8px}.voucher-doc hr{border:none;border-top:1px dashed var(--brand-gray);margin:8px 0}.filter-bar{display:flex;gap:10px;margin-bottom:16px;align-items:center;flex-wrap:wrap}.filter-bar input,.filter-bar select{padding:9px 12px;border:1px solid var(--border);border-radius:10px;font-size:13px;background:#fff}.right{margin-left:auto}@media (max-width:1080px){.kpi-row{grid-template-columns:repeat(2,1fr)}.inbox-grid,.solpedview-grid{grid-template-columns:1fr}}@media (max-width:720px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.form-grid{grid-template-columns:1fr}}.nav a .ico-svg{width:18px;height:18px;flex-shrink:0;stroke-width:2;color:inherit}.nav a:hover .ico-svg{color:var(--brand-dark)}.nav a.active .ico-svg{color:#fff}.role-pill{gap:6px}.role-pill svg{flex-shrink:0}.bell svg{color:#4b5563}.kpi-icon svg{stroke-width:2}.welcome-card{background:var(--brand-accent-soft);border:1px solid rgba(255,87,87,.15);border-radius:var(--radius);padding:18px 22px;margin-bottom:18px}.welcome-card .greet{font-size:16px;font-weight:700;color:var(--brand-dark);margin:0}.welcome-card .quote{font-size:13.5px;color:var(--muted);font-style:italic;margin:6px 0 0}.weekstrip{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:10px;gap:10px;margin-bottom:18px}.weekstrip-day{background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px 10px;text-align:center;transition:transform .12s,box-shadow .12s}.weekstrip-day:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.weekstrip-day .dow{font-size:11px;font-weight:700;letter-spacing:.5px;color:var(--muted);text-transform:uppercase}.weekstrip-day .num{font-size:26px;font-weight:700;color:var(--brand-dark);margin:4px 0 6px}.weekstrip-day .meta{font-size:11px;color:var(--muted)}.weekstrip-day.today{background:var(--brand-accent);border-color:var(--brand-accent)}.weekstrip-day.today .dow,.weekstrip-day.today .meta,.weekstrip-day.today .num{color:#fff}.weekstrip-day.weekend{background:#f5f7ff}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.mini-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px}.mini-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mini-card-head .left{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;color:var(--brand-dark)}.mini-card-head .left .ic{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mini-card-head .chevron{color:var(--muted)}.mini-card .summary{font-size:12.5px;color:var(--muted);margin-bottom:10px}.mini-card .row{display:flex;justify-content:space-between;padding:7px 0;font-size:13.5px;color:var(--text)}.mini-card .row+.row{border-top:1px dashed var(--border)}.mini-card .row .v{font-weight:600;color:var(--brand-dark)}.mini-card .urgent{color:var(--brand-accent);font-weight:700}@media (max-width:1080px){.mini-grid{grid-template-columns:1fr}.weekstrip{grid-template-columns:repeat(4,1fr)}}.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--grad-start),var(--grad-end));padding:40px 20px}.login-card{background:#fff;border-radius:var(--radius);padding:40px 36px;width:100%;max-width:420px;box-shadow:0 20px 60px rgba(37,36,36,.25)}.login-logo{display:flex;align-items:center;gap:10px;margin-bottom:20px}.login-logo .logo-mark{width:36px;height:36px;border-radius:8px;background:var(--brand-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.login-logo .logo-text{font-size:16px}.login-card h1,.login-logo .logo-text{font-weight:700;color:var(--brand-dark)}.login-card h1{font-size:22px;margin:0 0 6px}.login-card p.lead{font-size:13.5px;color:var(--muted);margin:0 0 24px}.login-card form{display:flex;flex-direction:column;gap:14px}.login-card label{font-size:12px;font-weight:700;color:var(--brand-dark);text-transform:uppercase;letter-spacing:.4px}.login-card input[type=email]{padding:12px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;font-family:inherit;background:#fff;color:var(--text)}.login-card input[type=email]:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px var(--brand-accent-soft)}.login-card button[type=submit]{background:var(--brand-accent);color:#fff;border:none;padding:12px 16px;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;transition:background .12s}.login-card button[type=submit]:hover{background:var(--brand-accent-strong)}.login-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.login-status{font-size:13px;padding:12px 14px;border-radius:10px}.login-status.sent{background:var(--p-green-bg);color:#15803d}.login-status.error{background:var(--p-red-bg);color:#991b1b}.login-foot{font-size:12px;color:var(--muted);margin-top:20px;text-align:center}.demo-banner{background:var(--p-amber-bg);color:#92400e;padding:12px 18px;border-radius:10px;font-size:13px;margin-bottom:16px;display:flex;gap:10px;align-items:center}.demo-banner strong{color:#78350f}.empty{padding:40px 24px;text-align:center;color:var(--muted);font-size:13.5px}