:root{--porto-azul: #0072d6;--porto-azul-vivo: #00a0fb;--porto-navy: #0f1f5c;--bg: #f4f6fb;--surface: #ffffff;--surface-2: #eaf0f8;--border: #d7e0ec;--text: #14213d;--muted: #667a93;--primary: var(--porto-azul);--primary-contrast: #ffffff;--accent: var(--porto-azul-vivo);--navy: var(--porto-navy);--ok: #1e874b;--warn: #b45309;--danger: #d64550;--ring: rgba(0, 114, 214, .3);--shadow-sm: 0 1px 2px rgba(15, 31, 92, .06);--shadow-md: 0 6px 20px rgba(15, 31, 92, .08);--shadow-lg: 0 12px 32px rgba(15, 31, 92, .1);--radius: 10px;--font-sans-stack: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{margin:0;font-family:var(--font-sans-stack);font-variant-numeric:tabular-nums;background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--primary);text-decoration:none;transition:color .15s ease,opacity .15s ease}h1{font-size:1.35rem;margin:0;color:var(--navy)}h2{font-size:1.05rem;margin:0 0 .6rem;color:var(--navy)}.app{display:flex;min-height:100vh;background:var(--bg)}.sidebar{width:268px;min-width:268px;background:var(--navy);padding:0;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.sidebar .brand{padding:1.15rem 1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar .brand img{display:block;height:26px;width:auto;max-width:100%}.sidebar .nav-scroll{flex:1;overflow-y:auto;padding:.75rem .6rem;display:flex;flex-direction:column;gap:.15rem}.sidebar a{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:8px;color:#b9c8e4;font-size:.875rem;font-weight:500;transition:background .15s ease,color .15s ease}.sidebar a:hover{background:#ffffff0f;color:#eaf0fa}.sidebar a.active{background:#00a0fb2e;box-shadow:inset 3px 0 0 var(--accent);color:var(--accent);font-weight:700}.sidebar .who{padding:.75rem .6rem;border-top:1px solid rgba(255,255,255,.08)}.sidebar .who-name{font-size:.84rem;font-weight:700;color:#eaf0fa;padding:0 .65rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar .who-role{font-size:.72rem;color:#8aa0c8;letter-spacing:.05em;padding:.1rem .65rem .55rem}.sidebar .who-logout{display:flex;align-items:center;gap:.7rem;padding:.6rem .65rem;border-radius:8px;color:#b9c8e4;font-size:.86rem;font-weight:500;transition:background .15s ease,color .15s ease}.sidebar .who-logout:hover{background:#d645501f;color:#ff8a93}.main{flex:1;min-width:0}.main-inner{max-width:1280px;margin:0 auto;padding:1.75rem 2rem 4rem}.main-inner--wide{max-width:1680px}.main-inner--fluid{max-width:none;padding:1.25rem}.topbar,.drawer-overlay{display:none}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.8rem;margin-bottom:1.2rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.9rem 1rem}.card--hover{transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}.card--hover:hover{box-shadow:var(--shadow-md);border-color:#c3d2e6}.card .label{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.card .value{font-size:1.45rem;font-weight:700;margin-top:.2rem;color:var(--navy)}.card .value.ok{color:var(--ok)}.card .value.warn{color:var(--warn)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1rem;margin-bottom:1rem}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.1rem;flex-wrap:wrap}.tabs .tab{padding:.55rem .9rem;border:none;background:transparent;color:var(--muted);font-weight:600;font-size:.9rem;cursor:pointer;border-bottom:2px solid transparent;min-height:auto}.tabs .tab:hover{color:var(--navy)}.tabs .tab.active{color:var(--navy);border-bottom-color:var(--accent)}.finance-shell{display:grid;grid-template-columns:196px 1fr;gap:1.35rem;align-items:start}.finance-subnav{position:sticky;top:1rem}.fin-links{display:flex;flex-direction:column;gap:1.1rem}.fin-links .fin-group{display:flex;flex-direction:column;gap:.1rem}.fin-links .grp-title{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 .6rem .35rem}.fin-links a{display:block;padding:.5rem .6rem;border-radius:8px;color:var(--ink);font-size:.86rem;font-weight:500;transition:background .15s ease,color .15s ease}.fin-links a:hover{background:var(--surface-2)}.fin-links a.active{background:#00a0fb24;color:var(--porto-azul);font-weight:700;box-shadow:inset 3px 0 0 var(--accent)}.finance-head{margin-bottom:1.15rem}.finance-head .eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.finance-head h1{font-size:1.4rem;margin:.1rem 0 .15rem;color:var(--navy)}.finance-head p{color:var(--muted);font-size:.9rem}.finance-menu-btn{display:none}@media(max-width:900px){.finance-shell{grid-template-columns:1fr}.finance-subnav{display:none}.finance-menu-btn{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem}.fin-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1f5c73;z-index:80}.fin-drawer{position:fixed;top:0;left:0;bottom:0;width:82%;max-width:320px;background:var(--surface);z-index:81;padding:1.1rem .8rem;overflow-y:auto;box-shadow:0 0 40px #00000040}}@media print{body *{visibility:hidden!important}.receipt-doc,.receipt-doc *{visibility:visible!important}.receipt-doc{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;border:none;box-shadow:none;padding:0}.receipt-actions{display:none!important}.no-print,.no-print *{display:none!important;visibility:hidden!important}}.row-link{transition:background-color .12s ease;cursor:pointer}.row-link:hover{background:var(--surface-2)!important}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;color:var(--muted);font-weight:600;font-size:.78rem;text-transform:uppercase;padding:.5rem .6rem;border-bottom:1px solid var(--border)}td{padding:.55rem .6rem;border-bottom:1px solid var(--border)}button,.btn{background:var(--primary);color:var(--primary-contrast);border:0;border-radius:8px;padding:.55rem 1rem;font-size:.9rem;cursor:pointer;font-weight:600;font-family:inherit;transition:filter .15s ease,box-shadow .15s ease,background-color .15s ease,border-color .15s ease,color .15s ease}button:not(:disabled):hover,.btn:hover{filter:brightness(.96)}button:not(:disabled):active{filter:brightness(.92)}button.secondary{background:transparent;color:var(--primary);border:1px solid var(--primary)}button.danger{background:var(--danger);color:#fff}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring);border-radius:8px}input,select,textarea{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;font-size:.92rem;width:100%;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}::placeholder{color:#94a3b8}::selection{background:#00a0fb38}.form-row{display:flex;gap:.6rem;margin-bottom:.6rem;flex-wrap:wrap}.form-row>*{flex:1;min-width:140px}label{font-size:.8rem;color:var(--muted);display:block;margin-bottom:.2rem}.badge{display:inline-block;padding:.15rem .55rem;border-radius:99px;font-size:.74rem;font-weight:600}.badge.ok{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.badge.warn{background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn)}.badge.danger{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.badge.muted{background:color-mix(in srgb,var(--muted) 15%,transparent);color:var(--muted)}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,1fr);gap:.7rem;overflow-x:auto}.kanban .col{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.7rem}.kanban .col h3{font-size:.8rem;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}.kanban .item{background:var(--surface-2);border-radius:8px;padding:.5rem .6rem;margin-bottom:.5rem;font-size:.85rem}.msg{padding:.6rem .8rem;border-radius:8px;margin-bottom:.8rem;font-size:.88rem}.msg.ok{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}.msg.error{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.muted{color:var(--muted);font-size:.85rem}.qr-box{font-family:ui-monospace,monospace;font-size:.78rem;word-break:break-all;background:var(--surface-2);padding:.7rem;border-radius:8px}.login-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;background:radial-gradient(1200px 600px at 50% -10%,rgba(0,160,251,.14),transparent 60%),var(--navy)}.login-logo{display:block;height:76px;width:auto;max-width:min(420px,82vw);margin-bottom:.35rem}.login-sub{color:#8aa0c8;font-size:.72rem;letter-spacing:.22em;font-weight:600;margin-bottom:1.4rem}.login-card{width:100%;max-width:380px;text-align:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:2.2rem 2rem;box-shadow:0 18px 50px #00000059}.login-card h1{color:#fff;font-size:1.4rem;margin-bottom:.35rem}.login-card .tagline{color:#8aa0c8;font-size:.9rem;margin-bottom:1.5rem}.login-card .btn{display:block;width:100%;text-align:center;background:var(--accent);color:var(--navy);font-weight:700;padding:.75rem 1.4rem;font-size:.95rem}.login-card .btn:hover{filter:brightness(1.05)}.login-hint{color:#6e83ad;font-size:.72rem;margin-top:.9rem}.login-foot{color:#6e83ad;font-size:.78rem;margin-top:1.4rem;text-align:center;font-style:italic}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:767px){.sidebar:not(.drawer){display:none}.topbar{display:flex;position:fixed;top:0;left:0;right:0;height:56px;z-index:60;background:var(--navy);align-items:center;justify-content:space-between;padding:0 .75rem 0 1rem;box-shadow:0 2px 8px #0f1f5c40}.topbar .brand-m img{display:block;height:22px;width:auto}.topbar .hamburger{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#eaf0fa;padding:.5rem;cursor:pointer}.main-inner{padding:calc(56px + 1rem) 1rem 2.5rem}.drawer-overlay{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0f1f5c73;animation:overlayIn .15s ease}.drawer{width:82%;max-width:320px;height:100%;background:var(--navy);display:flex;flex-direction:column;animation:drawerIn .2s ease}.drawer .brand{padding:1.15rem 1.25rem 1rem}input,select,textarea{font-size:16px!important}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes drawerIn{0%{transform:translate(-16px);opacity:.4}to{transform:translate(0);opacity:1}}
