:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#222;background-color:#f5f6fa;line-height:1.5}*{box-sizing:border-box}body{margin:0;background-color:#f5f6fa}.app-shell header{background-color:#1f4f8b;color:#fff;padding:1.5rem;text-align:center}.app-shell main{max-width:1000px;margin:0 auto;padding:2rem 1rem 3rem}.card{background-color:#fff;border-radius:8px;padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0f172a14}.expense-form label{font-size:.85rem;font-weight:600;display:block;margin-bottom:.35rem}.expense-form input,.expense-form select,.expense-form button{width:100%;padding:.6rem;border:1px solid #cfd7ea;border-radius:6px;font-size:.95rem}.expense-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.expense-form button{background-color:#1f4f8b;color:#fff;border:none;cursor:pointer;margin-top:1rem}.expense-form button:disabled{opacity:.6;cursor:not-allowed}.badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.badge-draft{background-color:#eef2ff;color:#2b3a67}.badge-locked{background-color:#fee4e2;color:#8a1c1c}.form-actions{display:flex;gap:.75rem;margin-top:1rem}.expense-form button.secondary,.filter-row button.secondary{background-color:#fff;color:#1f4f8b;border:1px solid #cfd7ea}.action-row{display:flex;gap:.5rem}.action-row button{padding:.4rem .75rem;border-radius:6px;border:1px solid #cfd7ea;background-color:#fff;cursor:pointer}.action-row button:disabled{opacity:.6;cursor:not-allowed}.receipt-preview{margin-top:.75rem}.receipt-preview img{width:100%;max-width:240px;border-radius:6px;border:1px solid #e2e8f0}.auth-card h2{margin-top:0}.auth-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.auth-toolbar h2{margin:0 0 .25rem}.auth-toolbar p{margin:0;color:#475467}.auth-toolbar button{padding:.55rem 1.2rem;border-radius:6px;border:1px solid #cfd7ea;background-color:#fff;cursor:pointer}.app-nav{margin-top:.75rem;display:flex;justify-content:center;gap:1rem}.app-nav a{color:#fff;text-decoration:none;font-weight:600}.app-nav a:hover{text-decoration:underline}.filter-row{display:flex;align-items:flex-end;gap:1rem}.filter-row input{max-width:180px}.filter-row button{padding:.55rem 1rem;border-radius:6px;border:1px solid #cfd7ea;background-color:#fff;cursor:pointer}.summary-box{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.summary-item{flex:1;min-width:150px;background-color:#f4f7ff;padding:1rem;border-radius:8px;border:1px solid #cfd7ea}.summary-item strong{display:block;font-size:1.3rem;margin-top:.35rem}.expense-report{margin-top:1.5rem}.report-header{margin-bottom:1rem}.report-footer{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.report-table{margin-top:1rem}.report-receipts{margin-top:1.5rem}.receipt-item{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem 0;border-top:1px solid #e2e8f0}.receipt-meta p{margin:0 0 .35rem}.report-receipts img{max-width:320px;border-radius:6px;border:1px solid #e2e8f0}.expenses-table{width:100%;border-collapse:collapse}.expenses-table thead{background-color:#eef2ff}.expenses-table th,.expenses-table td{padding:.75rem;border-bottom:1px solid #e0e7ff;text-align:left}.status-message{margin-top:.75rem;font-size:.9rem}.status-message.error{color:#b42318}.status-message.success{color:#17603a}
