*{box-sizing:border-box}:root{--blue:#2563eb;--blue-dark:#1e40af;--card-bg:#f8fafc;--border:#e2e8f0;--text:#1e293b;--text-muted:#64748b;--danger:#dc2626;--success:#16a34a}html,body,#root{height:100%}body{color:var(--text);-webkit-font-smoothing:antialiased;background:#fff;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{cursor:pointer;font-family:inherit}input,select{font-family:inherit}.app-shell{flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex}.app-shell.wide{max-width:1080px}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.topbar h1{color:var(--blue);margin:0;font-size:18px}.content{flex:1;padding:20px}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:0 1px 3px #0000000f}.btn{border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:15px;font-weight:500;transition:opacity .15s;display:inline-flex}.btn:active{opacity:.85}.btn-primary{background:var(--blue);color:#fff}.btn-secondary{color:var(--text);border:1px solid var(--border);background:#fff}.btn-danger{color:var(--danger);background:#fee2e2}.btn-block{width:100%}.input{border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;padding:12px 14px;font-size:15px}.field{margin-bottom:14px}.field label{color:var(--text-muted);margin-bottom:6px;font-size:13px;display:block}.badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-block}.badge-pending{color:#92400e;background:#fef3c7}.badge-approved{color:#166534;background:#dcfce7}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:12px;display:flex}.row-between{justify-content:space-between;align-items:center;display:flex}.error-text{color:var(--danger);font-size:14px}.modal-overlay{z-index:50;background:#0f172a80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:100%;max-width:400px;padding:24px}.invoice-list-item{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:14px}.summary-bar{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.summary-tile{background:var(--card-bg);border:1px solid var(--border);text-align:center;border-radius:12px;padding:14px}.summary-tile .value{color:var(--blue);font-size:20px;font-weight:600}.summary-tile .label{color:var(--text-muted);font-size:12px}
