:root{font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;line-height:1.5;color:#13233a;--bg: #eef3f9;--surface: #ffffff;--surface-alt: #f7faff;--ink: #13233a;--ink-muted: #4d607a;--primary: #0f4c81;--primary-strong: #0a3a63;--border: #d8e2f0;--danger: #b42318;--success: #17603a;--shadow: 0 14px 34px rgba(15, 50, 95, .1)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(circle at 10% 10%,rgba(23,90,149,.14),transparent 42%),radial-gradient(circle at 90% 0%,rgba(29,185,165,.1),transparent 35%),linear-gradient(180deg,#edf4fb,#eaf0f7)}h1,h2,h3,h4,p{margin-top:0}label{font-size:.82rem;font-weight:700;color:var(--ink-muted)}input,select,button{font-family:inherit}input,select{width:100%;border:1px solid var(--border);border-radius:10px;padding:.65rem .75rem;font-size:.95rem;background:#fff}input:focus,select:focus,button:focus{outline:2px solid rgba(15,76,129,.26);outline-offset:1px}button{border:1px solid transparent;border-radius:10px;padding:.62rem .95rem;font-size:.92rem;font-weight:700;cursor:pointer;background:var(--primary);color:#fff;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}button:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0f4c812e;background:var(--primary-strong)}button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}button.secondary,.expense-form button.secondary,.filter-row button.secondary,.action-row button.secondary{background:#fff;color:var(--primary);border-color:var(--border)}.app-shell header{padding:1.8rem 1rem 1.3rem;color:#fff;text-align:center;background:linear-gradient(130deg,#0c3f6c,#125e9d 58%,#178d96);box-shadow:0 6px 22px #08243e4d}.app-shell header h1{margin-bottom:.35rem;letter-spacing:.01em}.app-shell header p{margin:0;font-size:.95rem;opacity:.95}.app-shell main{width:min(1080px,calc(100% - 1.5rem));margin:0 auto;padding:1.35rem 0 2.5rem}.app-nav{margin-top:.9rem;display:inline-flex;gap:.75rem;background:#ffffff1a;padding:.4rem;border-radius:999px}.app-nav a{color:#fff;text-decoration:none;font-weight:700;border-radius:999px;padding:.4rem .85rem}.app-nav a:hover{background:#ffffff2e}.card{background:var(--surface);border-radius:16px;padding:1.2rem;margin-bottom:1rem;border:1px solid rgba(216,226,240,.78);box-shadow:var(--shadow)}.auth-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.auth-toolbar h2{margin:0 0 .2rem}.auth-toolbar p{margin:0;color:var(--ink-muted)}.expense-form h2{margin-bottom:.4rem}.expense-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.form-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.75rem;align-items:end}.filter-row.report-filters{margin-top:.35rem}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.7rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.badge-draft{background:#ecf0ff;color:#2d3f7d}.badge-locked{background:#ffe8e6;color:#8a1c1c}.action-row{display:flex;flex-wrap:wrap;gap:.45rem}.action-row button{min-width:90px}.receipt-preview{margin-top:.55rem}.receipt-preview img,.report-receipts img{width:100%;max-width:300px;border-radius:10px;border:1px solid var(--border)}.summary-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem}.summary-item{padding:.9rem;border:1px solid var(--border);background:var(--surface-alt);border-radius:12px}.summary-item span{color:var(--ink-muted);font-size:.9rem}.summary-item strong{display:block;margin-top:.3rem;font-size:1.25rem}.expense-report{margin-top:1rem}.report-header{display:grid;gap:.3rem}.report-header h3{margin-bottom:.2rem}.report-header p{margin:0;color:var(--ink-muted)}.report-actions{margin-top:.65rem;display:grid;grid-template-columns:minmax(130px,max-content) 1fr;gap:.8rem;align-items:end}.email-action{display:grid;grid-template-columns:1fr auto;gap:.55rem;align-items:end}.email-action label{grid-column:1 / -1}.report-table,.report-receipts,.report-footer{margin-top:1rem}.receipt-item{display:grid;grid-template-columns:minmax(170px,240px) 1fr;gap:.85rem;padding:.8rem 0;border-top:1px solid var(--border)}.receipt-meta p{margin:0 0 .3rem}.expenses-table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:12px;border:1px solid var(--border)}.expenses-table thead{background:#eef4ff}.expenses-table th,.expenses-table td{border-bottom:1px solid var(--border);text-align:left;padding:.7rem;vertical-align:top}.expenses-table tbody tr:last-child td{border-bottom:0}.status-message{margin-top:.75rem;font-size:.9rem;font-weight:700}.status-message.error{color:var(--danger)}.status-message.success{color:var(--success)}@media (max-width: 980px){.app-shell main{width:calc(100% - 1rem)}.report-actions,.email-action,.receipt-item{grid-template-columns:1fr}}@media (max-width: 760px){.app-shell header{padding:1.3rem .85rem 1rem}.app-shell header h1{font-size:1.45rem}.app-shell header p{font-size:.88rem}.app-nav{width:100%;justify-content:center}.app-nav a{text-align:center;min-width:104px}.card{border-radius:14px;padding:1rem .85rem}.auth-toolbar{flex-direction:column;align-items:flex-start}.auth-toolbar button{width:100%}.filter-row{grid-template-columns:1fr}.filter-row button{width:100%}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table{border:0}.responsive-table tr{border:1px solid var(--border);border-radius:12px;background:#fff;margin-bottom:.65rem;padding:.5rem .6rem;box-shadow:0 4px 14px #0e325a14}.responsive-table td{border:0;border-bottom:1px dashed #e7edf6;display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.45rem 0}.responsive-table td:last-child{border-bottom:0;padding-bottom:0}.responsive-table td:before{content:attr(data-label);color:var(--ink-muted);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;min-width:95px}.responsive-table td[data-label=Actions]{align-items:flex-start}.responsive-table td[data-label=Actions]:before{margin-top:.55rem}.action-row{width:100%}.action-row button{flex:1}}
