:root{--bg:#e8eef6;--shell:#f3f6fb;--card:#ffffff;--text:#12233d;--muted:#66758c;--line:#d7e0ec;--blue:#0b5fff;--blue-dark:#0846b8;--ok:#08794b;--bad:#a32d3a;--warn:#8f5700;--shell-max:720px}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;max-width:100%;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:Segoe UI,Tahoma,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{width:min(100%,var(--shell-max));margin:0 auto;height:100dvh;display:flex;flex-direction:column;background:var(--shell);position:relative;overflow:hidden}.page{flex:1 1;width:100%;min-width:0;padding:16px 14px 12px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.hero{background:linear-gradient(135deg,#05294f,#0a4faf 60%,#2b7fff);color:#fff;border-radius:18px;padding:18px 16px;margin-bottom:14px}.hero small{opacity:.8}.hero h1{margin:4px 0 8px;font-size:1.35rem}.hero .balance{font-size:1.5rem;font-weight:800}.hero-actions{display:flex;gap:8px;margin-top:12px}.topbar{background:linear-gradient(135deg,#05294f,#0a4faf 60%,#2b7fff);color:#fff;border:0;border-radius:14px;padding:12px 14px;margin-bottom:12px;box-shadow:0 8px 20px #0a25401f}.topbar-main{align-items:flex-start;gap:10px}.topbar-brand-row,.topbar-main{display:flex;justify-content:space-between}.topbar-brand-row{align-items:center;gap:12px;margin-bottom:10px}.topbar-brand{display:flex;align-items:center;gap:9px;min-width:0;flex:1 1}.topbar-brand img{width:34px;height:34px;flex:0 0 34px;border-radius:5px;image-rendering:auto}.topbar-brand strong{display:block;color:#fff;font-size:15px;font-weight:800;letter-spacing:.01em;white-space:nowrap}.topbar-brand-copy{display:flex;align-items:baseline;min-width:0;gap:8px}.topbar-brand-copy span{min-width:0;padding-left:8px;border-left:1px solid rgba(255,255,255,.4);color:rgba(255,255,255,.9);font-family:inherit;font-size:15px;font-weight:800;letter-spacing:.01em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-label{display:block;font-size:11px;color:rgba(255,255,255,.75);margin-bottom:2px}.topbar-value-row{display:flex;align-items:center;gap:6px}.topbar-value{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:#fff}.topbar-value.is-hidden{letter-spacing:.08em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:rgba(255,255,255,.78)}.topbar-name{margin:6px 0 0;font-size:11px;color:rgba(255,255,255,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-logout{padding:6px 10px;font-size:12px;font-weight:700;cursor:pointer}.icon-btn,.topbar-logout{border:0;background:rgba(255,255,255,.16);color:#fff;border-radius:999px;flex-shrink:0}.icon-btn{width:32px;height:32px;display:grid;place-items:center;cursor:pointer;padding:0}.icon-btn svg{width:18px;height:18px}.tabs{flex-shrink:0;width:100%;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:2px;gap:2px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;box-shadow:0 -6px 20px #0a25400f}.tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;color:var(--muted);padding:6px 2px;border-radius:12px;transition:background .12s ease,color .12s ease}.tabs a.active{color:var(--blue-dark);background:#eaf2ff;font-weight:700}.tab-icon{position:relative;display:grid;place-items:center;width:22px;height:22px}.tab-icon svg{width:20px;height:20px}.tab-label{font-size:10px;line-height:1.1;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}.tab-badge{position:absolute;top:-6px;right:-10px;margin:0}@media (min-width:760px){.app-shell{height:calc(100dvh - 32px);border-radius:20px;border:1px solid var(--line);box-shadow:0 18px 48px #0a25401a}}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:10px}.card h3{margin:0 0 8px;font-size:1rem}.muted{color:var(--muted);font-size:12px}.row{display:flex;justify-content:space-between;gap:10px;margin:6px 0;font-size:13px;min-width:0}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.danger,.primary,.secondary{border:0;border-radius:10px;padding:10px 12px;cursor:pointer;font-weight:700}.primary{background:var(--blue);color:#fff}.primary:disabled{opacity:.6}.secondary{background:#e8eef8;color:#1d4f91}.danger{background:#ffe8eb;color:var(--bad)}.status{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;background:#eef2f7}.status.ok{background:#e2f7ee;color:var(--ok)}.status.bad{background:#ffe6e9;color:var(--bad)}.status.warn{background:#fff0d8;color:var(--warn)}.form-grid{display:grid;grid-gap:10px;gap:10px}.form-grid label{display:grid;grid-gap:4px;gap:4px;font-size:12px;color:var(--muted)}.form-grid input,.form-grid select,.form-grid textarea,.month-year-row input,.month-year-row select{width:100%;min-width:0;max-width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff;color:var(--text)}.password-field{position:relative}.password-field input{width:100%;padding-right:42px}.password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.password-toggle:hover{color:var(--text);background:color-mix(in srgb,var(--line) 55%,transparent)}.month-year-filter{display:grid;grid-gap:6px;gap:6px;margin-bottom:12px}.month-year-row{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:8px;gap:8px}.month-year-row label{display:grid;grid-gap:4px;gap:4px;font-size:12px;color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-bottom:12px}.kpis article{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px}.kpis span{display:block;font-size:11px;color:var(--muted)}.kpis strong{font-size:1.1rem}.error{background:#ffe6e9;color:var(--bad);border-radius:10px;padding:10px 12px;margin:10px 0;font-size:13px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(160deg,#05294f,#0a4faf 55%,#2b7fff)}.login-card{width:min(420px,100%);background:#fff;border-radius:18px;padding:22px 18px}.login-card h1{margin:0 0 6px;font-size:1.4rem}.badge{display:inline-flex;min-width:18px;height:18px;border-radius:999px;justify-content:center;background:#ff4d5e;font-size:10px;font-weight:800;padding:0 5px;margin-left:4px}.badge,.pending-hero{align-items:center;color:#fff}.pending-hero{display:flex;justify-content:space-between;gap:12px;padding:16px;border-radius:16px;background:linear-gradient(135deg,#0758a8,#137bd3)}.pending-hero span{font-size:10px;font-weight:800;letter-spacing:.08em}.pending-hero h2{margin:4px 0 0;font-size:1.08rem}.pending-hero>strong{display:grid;place-items:center;min-width:42px;height:30px;padding:0 10px;border-radius:999px;color:#0758a8;background:#fff}.pending-card{display:grid;grid-gap:10px;gap:10px}.pending-reason{display:grid;grid-gap:4px;gap:4px;padding:10px;border-radius:10px;background:#fff4dc;color:#765019}.pending-reason span{font-size:12px}