:root{--color-black: #000000;--color-white: #ffffff;--color-gray-50: #f6f6f6;--color-gray-100: #eeeeee;--color-gray-200: #e2e2e2;--color-gray-300: #cbcbcb;--color-gray-400: #afafaf;--color-gray-500: #757575;--color-gray-600: #545454;--color-gray-700: #333333;--color-gray-800: #1f1f1f;--color-gray-900: #141414;--color-success: #276ef1;--color-success-light: #e6f2ff;--color-warning: #ffc043;--color-warning-light: #fff8e6;--color-error: #e54937;--color-error-light: #ffeae8;--color-info: #276ef1;--color-info-light: #e6f2ff;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-full: 500px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-normal: .25s ease}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--color-white);color:var(--color-black);line-height:1.5}a{color:var(--color-black);text-decoration:none;transition:opacity var(--transition-fast)}a:hover{opacity:.7}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;letter-spacing:-.02em}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1rem}h6{font-size:.875rem}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);font-size:1rem;font-weight:500;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;border:none;text-align:center;white-space:nowrap}.btn-primary{background:var(--color-black);color:var(--color-white)}.btn-primary:hover{background:var(--color-gray-800)}.btn-secondary{background:var(--color-gray-100);color:var(--color-black)}.btn-secondary:hover{background:var(--color-gray-200)}.btn-outline{background:transparent;color:var(--color-black);border:2px solid var(--color-black)}.btn-outline:hover{background:var(--color-black);color:var(--color-white)}.btn-danger{background:var(--color-error);color:var(--color-white)}.btn-danger:hover{background:#c73d2e}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:.875rem}.btn-lg{padding:var(--space-lg) var(--space-xl);font-size:1.125rem}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.form-group{margin-bottom:var(--space-lg)}.form-group label{display:block;margin-bottom:var(--space-sm);font-size:.875rem;font-weight:500;color:var(--color-gray-700)}.form-control{width:100%;padding:var(--space-md);font-size:1rem;font-family:inherit;background:var(--color-gray-50);border:2px solid transparent;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.form-control:hover{background:var(--color-gray-100)}.form-control:focus{outline:none;background:var(--color-white);border-color:var(--color-black)}.form-control::placeholder{color:var(--color-gray-400)}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23757575' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-md) center;background-size:20px;padding-right:calc(var(--space-md) * 3)}textarea.form-control{resize:vertical;min-height:120px}.card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-lg);transition:box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg)}.card-flat{box-shadow:none;border:1px solid var(--color-gray-100)}.status{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status.pending{background:var(--color-warning-light);color:#996300}.status.confirmed{background:var(--color-info-light);color:#1a5cd6}.status.inprogress{background:#e6f7f0;color:#0a7c4a}.status.completed{background:var(--color-gray-100);color:var(--color-gray-600)}.status.cancelled{background:var(--color-error-light);color:var(--color-error)}.alert{padding:var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-md);font-size:.875rem;font-weight:500}.alert-success{background:var(--color-info-light);color:#1a5cd6}.alert-error{background:var(--color-error-light);color:var(--color-error)}.alert-warning{background:var(--color-warning-light);color:#996300}.alert-info{background:var(--color-gray-100);color:var(--color-gray-700)}.data-table{width:100%;border-collapse:collapse;background:var(--color-white)}.data-table th,.data-table td{padding:var(--space-md);text-align:left;border-bottom:1px solid var(--color-gray-100)}.data-table th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-gray-500);background:var(--color-gray-50)}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-gray-50)}.data-table tr.clickable{cursor:pointer}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg);animation:fadeIn var(--transition-fast)}.modal-content{background:var(--color-white);padding:var(--space-xl);border-radius:var(--radius-lg);max-width:480px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp var(--transition-normal)}.modal-header{margin-bottom:var(--space-lg)}.modal-header h3{margin-bottom:var(--space-xs)}.modal-header p{color:var(--color-gray-500);font-size:.875rem}.modal-actions{display:flex;gap:var(--space-md);margin-top:var(--space-xl)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl);color:var(--color-gray-500)}.loading:before{content:"";width:32px;height:32px;border:3px solid var(--color-gray-200);border-top-color:var(--color-black);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--space-md)}.divider{height:1px;background:var(--color-gray-100);margin:var(--space-lg) 0}.price{font-weight:700;font-size:1.5rem;color:var(--color-black)}.price-sm{font-size:1rem}.empty-state{text-align:center;padding:var(--space-3xl);color:var(--color-gray-500)}.empty-state h3{color:var(--color-black);margin-bottom:var(--space-sm)}.grid{display:grid;gap:var(--space-lg)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-muted{color:var(--color-gray-500)}.text-center{text-align:center}.font-medium{font-weight:500}.font-bold{font-weight:700}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){html{font-size:15px}.container{padding:0 var(--space-md)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.btn{width:100%}.modal-content{margin:var(--space-md);padding:var(--space-lg)}}
