@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{color-scheme:light dark}html{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{@apply bg-gray-50 text-gray-900;}.dark{color-scheme:dark}.dark body{@apply bg-gray-900 text-gray-100;}.dark .card,.dark .app-header,.dark .app-nav{@apply bg-gray-800 border-gray-700;}.dark .input{@apply bg-gray-700 border-gray-600 text-white placeholder-gray-400;}.dark .label{@apply text-gray-200;}.dark .btn-ghost{@apply bg-transparent border-gray-600 text-gray-200 hover:bg-gray-700;}.dark .btn-primary{@apply bg-blue-600 text-white hover:bg-blue-700;}.dark .btn-secondary{@apply bg-green-600 text-white hover:bg-green-700;}.dark .btn-danger{@apply bg-red-600 text-white hover:bg-red-700;}.dark .nav-btn.active{@apply bg-blue-600 text-white;}.dark .text-gray-600{@apply text-gray-300;}.dark .text-gray-700{@apply text-gray-200;}.dark .text-gray-800{@apply text-gray-100;}.dark .border-gray-200{@apply border-gray-700;}.dark .border-gray-300{@apply border-gray-600;}.dark .hover\:bg-gray-100:hover{@apply hover:bg-gray-700;}.dark .hover\:bg-gray-200:hover{@apply hover:bg-gray-600;}.dark .bg-gray-50{@apply bg-gray-800;}.dark .bg-gray-100{@apply bg-gray-700;}.dark .bg-gray-200{@apply bg-gray-600;}.dark .bg-red-50{@apply bg-red-900/20;}.dark .text-red-700{@apply text-red-300;}.dark .border-red-200{@apply border-red-800;}.dark .text-red-600{@apply text-red-400;}.dark .bg-green-100{@apply bg-green-900/20;}.dark .text-green-800{@apply text-green-300;}.dark .bg-yellow-100{@apply bg-yellow-900/20;}.dark .text-yellow-800{@apply text-yellow-300;}.dark .bg-red-100{@apply bg-red-900/20;}.dark .text-red-800{@apply text-red-300;}.dark .bg-gray-500{@apply bg-gray-600;}.dark .text-gray-500{@apply text-gray-400;}.dark .bg-gray-700,.dark .bg-gray-400{@apply bg-gray-600;}.dark .text-gray-900{@apply text-white;}.dark .focus\:ring-blue-500:focus{@apply focus:ring-blue-400;}.dark .focus\:ring-green-500:focus{@apply focus:ring-green-400;}.dark .focus\:ring-red-500:focus{@apply focus:ring-red-400;}.dark .focus\:ring-gray-500:focus{@apply focus:ring-gray-400;}@layer components{.btn{@apply px-4 py-2 rounded-lg font-medium transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2;}.btn-primary{@apply bg-blue-600 text-white hover:bg-blue-700 focus:ring-blue-500;}.btn-secondary{@apply bg-green-600 text-white hover:bg-green-700 focus:ring-green-500;}.btn-danger{@apply bg-red-600 text-white hover:bg-red-700 focus:ring-red-500;}.btn-ghost{@apply bg-transparent border border-gray-300 text-gray-700 hover:bg-gray-50 focus:ring-gray-500;}.card{@apply bg-white rounded-xl shadow-sm border border-gray-200;}.input{@apply w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-colors;}.label{@apply block text-sm font-medium text-gray-700 mb-1;}.app-header{@apply bg-white border-b border-gray-200 sticky top-0 z-50 shadow-sm;}.app-nav{@apply bg-white border-b border-gray-200 sticky top-16 z-40;}.nav-btn{@apply px-4 py-2 rounded-lg font-medium transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2;}.nav-btn.active{@apply bg-blue-600 text-white shadow-lg;}.app-content{@apply max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8;}}:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--secondary-color: #10b981;--text-primary: #1f2937;--text-secondary: #374151;--text-muted: #6b7280;--bg-color: #f9fafb;--card-bg: #ffffff;--border-color: #e5e7eb;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);color:var(--text-primary);line-height:1.6}.app-header{background-color:var(--card-bg);border-bottom:1px solid var(--border-color);padding:1rem;position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}.logo-container{display:flex;align-items:center;gap:1rem}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.app-nav{background-color:var(--card-bg);border-bottom:1px solid var(--border-color);padding:1rem 0;position:sticky;top:72px;z-index:99;box-shadow:var(--shadow)}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;gap:1rem}.nav-btn{background-color:var(--bg-color);color:var(--text-secondary);border:1px solid var(--border-color);padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow)}.nav-btn:hover{background-color:var(--border-color);color:var(--text-primary);transform:translateY(-1px)}.nav-btn.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 12px -2px #2563eb4d}.app-content{max-width:1200px;margin:0 auto;padding:2rem}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.btn{background-color:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow)}.btn:hover{background-color:var(--primary-hover);transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn-secondary{background-color:var(--secondary-color)}.btn-secondary:hover{background-color:#059669}.btn:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}.card{background-color:var(--card-bg);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow);border:1px solid var(--border-color)}.text-muted{color:var(--text-muted)}.text-primary{color:var(--primary-color)}.text-success{color:#10b981}.text-danger{color:#ef4444}@media (max-width: 768px){.app-header,.app-content{padding:1rem}h1{font-size:1.25rem}}.clients-page{max-width:1200px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.add-client-btn{background-color:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s;box-shadow:0 4px 6px -1px #0000001a}.add-client-btn:hover{background-color:#1d4ed8}.add-client-btn:active{transform:translateY(1px)}.client-form-container{background-color:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb}.client-form-container h2{margin-top:0;color:#1f2937;font-size:1.5rem;margin-bottom:1.5rem}.client-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.form-group input{padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s;background-color:#fafafa}.form-group input:focus{outline:none;border-color:#2563eb;background-color:#fff}.form-group input:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;margin-top:1rem}.clients-list h2{margin-top:0;color:#1f2937;font-size:1.5rem;margin-bottom:1rem}.no-clients{background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;padding:2rem;text-align:center;color:#6b7280;font-size:1.1rem}.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.client-card{background-color:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb;transition:transform .2s,box-shadow .2s}.client-card:hover{transform:translateY(-2px);box-shadow:0 8px 15px -3px #0000001a}.client-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.client-header h3{margin:0;color:#1f2937;font-size:1.25rem}.client-id{background-color:#f3f4f6;color:#6b7280;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;border:1px solid #e5e7eb}.client-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.client-actions{display:flex;gap:.5rem;justify-content:flex-end;border-top:1px solid #e5e7eb;padding-top:1rem}.btn-danger{background-color:#ef4444}.btn-danger:hover:not(:disabled){background-color:#dc2626}@media (max-width: 768px){.clients-page{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.client-form,.clients-grid{grid-template-columns:1fr}}.bookings-page{max-width:1200px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.add-booking-btn{background-color:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s;box-shadow:0 4px 6px -1px #0000001a}.add-booking-btn:hover{background-color:#1d4ed8}.add-booking-btn:active{transform:translateY(1px)}.booking-form-container{background-color:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb}.booking-form-container h2{margin-top:0;color:#1f2937;font-size:1.5rem;margin-bottom:1.5rem}.booking-form{display:grid;gap:1.5rem}.bookings-list h2{margin-top:0;color:#1f2937;font-size:1.5rem;margin-bottom:1rem}.no-bookings{background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;padding:2rem;text-align:center;color:#6b7280;font-size:1.1rem}.bookings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem}.booking-card{background-color:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb;transition:transform .2s,box-shadow .2s}.booking-card:hover{transform:translateY(-2px);box-shadow:0 8px 15px -3px #0000001a}.booking-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.booking-title{display:flex;flex-direction:column;gap:.5rem}.booking-title h3{margin:0;color:#1f2937;font-size:1.25rem}.status-badge.confirmed{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}.status-badge.cancelled{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.booking-id{background-color:#f3f4f6;color:#6b7280;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;border:1px solid #e5e7eb}.booking-details{display:flex;flex-direction:column;gap:.5rem}@media (max-width: 768px){.bookings-page{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.form-row,.bookings-grid{grid-template-columns:1fr}}.invoices-page{max-width:1200px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;border-bottom:2px solid #e5e7eb;padding-bottom:1rem}.page-header h1{margin:0;color:#1f2937;font-size:2.5rem;font-weight:700}.add-invoice-btn{background-color:#2563eb;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s;box-shadow:0 4px 6px -1px #0000001a}.add-invoice-btn:hover{background-color:#1d4ed8}.add-invoice-btn:active{transform:translateY(1px)}.error-message{background-color:#fee2e2;color:#dc2626;padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid #fecaca}.invoice-form-container{background-color:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb}.invoice-form-container h2{margin-top:0;color:#1f2937;font-size:1.5rem;margin-bottom:1.5rem}.invoice-form{display:grid;gap:1.5rem}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.875rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s;background-color:#fafafa}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;background-color:#fff}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.items-section{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.items-section h3{margin-top:0;margin-bottom:1rem;color:#1f2937}.item-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:1rem;margin-bottom:1rem;align-items:end}.item-row:last-child{margin-bottom:0}.item-row .form-group{margin-bottom:0}.remove-item-btn{background-color:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s}.remove-item-btn:hover:not(:disabled){background-color:#dc2626}.remove-item-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.add-item-btn{background-color:#10b981;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.add-item-btn:hover:not(:disabled){background-color:#059669}.add-item-btn:disabled{background-color:#9ca3af;cursor:not-allowed}.totals-section{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.form-actions{display:flex;justify-content:flex-end;margin-top:1rem}.form-actions button{background-color:#10b981;color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.form-actions button:hover:not(:disabled){background-color:#059669}.form-actions button:disabled{background-color:#9ca3af;cursor:not-allowed}.invoices-list h2{margin-top:0;color:#1f2937;font-size:1.5rem;margin-bottom:1rem}.loading{color:#6b7280;font-style:italic;margin-bottom:1rem}.no-invoices{background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;padding:2rem;text-align:center;color:#6b7280;font-size:1.1rem}.invoices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(500px,1fr));gap:1.5rem}.invoice-card{background-color:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e5e7eb;transition:transform .2s,box-shadow .2s}.invoice-card:hover{transform:translateY(-2px);box-shadow:0 8px 15px -3px #0000001a}.invoice-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.invoice-title{display:flex;flex-direction:column;gap:.5rem}.invoice-title h3{margin:0;color:#1f2937;font-size:1.25rem}.status-badge{padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.pending{background-color:#fef3c7;color:#92400e;border:1px solid #fde68a}.status-badge.paid{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}.status-badge.overdue{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.invoice-id{background-color:#f3f4f6;color:#6b7280;padding:.25rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;border:1px solid #e5e7eb}.invoice-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.detail-item{color:#374151;font-size:.95rem;line-height:1.5}.detail-item.total-amount{font-size:1.1rem;font-weight:700;color:#1f2937;border-top:1px solid #e5e7eb;padding-top:.5rem;margin-top:.5rem}.detail-item strong{color:#1f2937;font-weight:600}.invoice-items h4{margin-top:0;margin-bottom:1rem;color:#1f2937;font-size:1rem}.items-list{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.item-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;padding:.5rem 0;border-bottom:1px solid #e5e7eb}.item-row:last-child{border-bottom:none}.item-description{color:#374151;font-weight:500}.item-quantity{color:#6b7280;text-align:right}.item-price{color:#374151;text-align:right;font-weight:500}.item-amount{color:#1f2937;text-align:right;font-weight:700}@media (max-width: 768px){.invoices-page{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.form-row,.item-row,.invoices-grid{grid-template-columns:1fr}.items-list .item-row{grid-template-columns:1fr 1fr;gap:.5rem}}}
