#app{min-height:100vh}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{margin:0;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{border:none;background:none;cursor:pointer;font:inherit}input,select,textarea{font:inherit}ul,ol{list-style:none}img,video{max-width:100%;display:block}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--text-sm);color:var(--color-ink);background:var(--color-surface)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-md);transition:all .2s;cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){border-color:var(--color-border-strong)}.btn-ghost{background:transparent;color:var(--color-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-surface);color:var(--color-ink)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:#e64545}.btn-accent{background:var(--color-accent);color:#fff}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500}.status-dot{width:6px;height:6px;border-radius:50%}.status-idle{background:var(--color-success-light);color:var(--color-success)}.status-idle .status-dot{background:var(--color-success)}.status-rented{background:var(--color-primary-light);color:var(--color-primary)}.status-rented .status-dot{background:var(--color-primary)}.status-maintenance{background:var(--color-warning-light);color:var(--color-warning)}.status-maintenance .status-dot{background:var(--color-warning)}.status-overdue{background:var(--color-error-light);color:var(--color-error)}.status-overdue .status-dot{background:var(--color-error)}.status-cancelled{background:var(--color-surface);color:var(--color-muted)}.status-cancelled .status-dot{background:var(--color-muted)}.page-placeholder{padding:var(--space-8);text-align:center;color:var(--color-muted)}.page-placeholder h2{margin-bottom:var(--space-2);color:var(--color-ink)}input,select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--color-bg);transition:border-color .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:var(--space-3) var(--space-4);font-weight:500;color:var(--color-muted);background:var(--color-surface);border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.data-table tbody tr:hover{background:var(--color-surface)}:root{--color-primary: #3d3d9e;--color-primary-hover: #2e2e82;--color-accent: #ff7c5e;--color-success: #52c41a;--color-warning: #faad14;--color-error: #ff4d4f;--color-bg: #ffffff;--color-surface: #f5f5f7;--color-ink: #1a1a2e;--color-muted: #6e6e8a;--color-border: #eaeaef;--color-border-strong: #c8c8d4;--color-primary-light: rgba(61, 61, 158, .1);--color-success-light: rgba(82, 196, 26, .1);--color-warning-light: rgba(250, 173, 20, .1);--color-error-light: rgba(255, 77, 79, .1);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12)}
