.app{min-height:100vh;background:#f5f7fa}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#1a1a2e;color:#fff;box-shadow:0 2px 4px #0000001a}.app-header h1{margin:0;font-size:1.5rem;font-weight:600}.sign-in-btn{padding:.5rem 1rem;background:#4f46e5;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;transition:background .2s}.sign-in-btn:hover{background:#4338ca}.sign-in-btn.large{padding:.75rem 2rem;font-size:1rem}.sign-in-prompt{text-align:center;padding:4rem 2rem}.sign-in-prompt h2{color:#1a1a2e;margin-bottom:1rem}.sign-in-prompt p{color:#64748b;margin-bottom:2rem}.dashboard{padding:1.5rem 2rem}.dashboard-controls{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.tabs{display:flex;gap:.5rem;background:#fff;padding:.25rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.tabs button{padding:.5rem 1rem;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:.875rem;color:#64748b;transition:all .2s}.tabs button:hover{background:#f1f5f9}.tabs button.active{background:#4f46e5;color:#fff}.date-filter{display:flex;flex-direction:column;gap:.5rem;background:#fff;padding:.75rem 1rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.date-inputs{display:flex;gap:1rem}.date-inputs label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#64748b}.date-inputs input{padding:.375rem .5rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.875rem}.quick-ranges{display:flex;gap:.5rem}.quick-ranges button{padding:.25rem .5rem;border:1px solid #e2e8f0;background:#fff;border-radius:4px;font-size:.75rem;color:#64748b;cursor:pointer;transition:all .2s}.quick-ranges button:hover{background:#f1f5f9;border-color:#cbd5e1}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.card{background:#fff;padding:1.25rem;border-radius:12px;box-shadow:0 1px 3px #0000001a;border-left:4px solid #64748b}.card.success{border-left-color:#22c55e}.card.warning{border-left-color:#f59e0b}.card.danger{border-left-color:#ef4444}.card.info{border-left-color:#3b82f6}.card h3{margin:0 0 .5rem;font-size:.875rem;color:#64748b;font-weight:500}.card-value{font-size:2rem;font-weight:700;color:#1a1a2e}.card-subvalue{font-size:.875rem;color:#64748b;margin-top:.25rem}.table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:.75rem 1rem;background:#f8fafc;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.data-table td{padding:.75rem 1rem;font-size:.875rem;color:#334155;border-bottom:1px solid #f1f5f9}.data-table tr:hover{background:#f8fafc}.data-table tr.row-warning{background:#fef3c7}.amount-negative{color:#ef4444}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.status-paid,.status-sent{background:#dcfce7;color:#166534}.status-open,.status-pending{background:#e0f2fe;color:#0369a1}.status-overdue{background:#fee2e2;color:#dc2626}.status-warning{background:#fef3c7;color:#92400e}.reconciliation{display:flex;flex-direction:column;gap:1.5rem}.section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.section-title{margin:0;padding:1rem;font-size:1rem;font-weight:600;border-bottom:1px solid #e2e8f0}.section-title.success{color:#166534;background:#f0fdf4}.section-title.warning{color:#92400e;background:#fffbeb}.section-title.danger{color:#dc2626;background:#fef2f2}.section-title.info{color:#0369a1;background:#f0f9ff}.loading,.empty-state,.error{text-align:center;padding:3rem;color:#64748b}.error{color:#dc2626;background:#fef2f2;border-radius:8px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
