:root{--bg: #f4f6fb;--card: #ffffff;--border: #d7dce7;--text: #1f2937;--muted: #6b7280;--primary: #2563eb;--primary-strong: #1d4ed8;--danger: #dc2626}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}.app-shell{min-height:100vh;padding:32px 16px}.container{max-width:1040px;margin:0 auto}.brand{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.brand h1{margin:0;font-size:2rem}.card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:0 12px 30px #0f172a0d}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:1fr 1fr}button,input,select{font:inherit}button{border:none;border-radius:12px;cursor:pointer;padding:12px 18px;transition:background .2s ease}button.primary{background:var(--primary);color:#fff}button.primary:hover{background:var(--primary-strong)}button.secondary{background:transparent;color:var(--primary);border:1px solid rgba(37,99,235,.25)}button.danger{background:var(--danger);color:#fff}button:disabled{opacity:.65;cursor:not-allowed}input,select{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--text)}label{display:block;margin-bottom:8px;font-size:.92rem;color:var(--muted)}.form-grid{display:grid;gap:16px}.summary{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.summary-item{background:#f8fbff;border:1px solid #dbeafe;border-radius:16px;padding:18px}.summary-item span{display:block;font-size:.85rem;color:var(--muted);margin-bottom:8px}.summary-item strong{font-size:1.2rem}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}thead th,tbody td{text-align:left;padding:14px 12px;border-bottom:1px solid #e5e7eb}thead{background:#f8fafc}.status-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:6px 12px;font-size:.85rem}.status-open{background:#eff6ff;color:#1d4ed8}.status-paid{background:#dcfce7;color:#166534}.message{margin-top:16px;color:var(--danger)}@media (max-width: 900px){.grid-2{grid-template-columns:1fr}}@media (max-width: 600px){.brand{flex-direction:column;align-items:flex-start}}
