:root{--white: #ffffff;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #e5e5e5;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--accent: #dc2626;--accent-dark: #b91c1c;--accent-light: #ef4444;--success: #16a34a;--error: #dc2626;--warning: #f59e0b;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Manrope,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--gray-50);color:var(--gray-900);min-height:100vh;line-height:1.6}.app-container{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--white);border-bottom:1px solid var(--gray-200);padding:1rem 0;position:sticky;top:0;z-index:100;animation:slideDown .5s ease-out;box-shadow:var(--shadow-sm)}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:1rem}.logo-icon{font-size:2rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.logo h1{font-family:Bitter,serif;font-size:1.75rem;font-weight:700;color:var(--accent)}.status-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--gray-100);border-radius:999px;border:1px solid var(--gray-200)}.status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s ease-in-out infinite}.status-dot.online{background:var(--success);box-shadow:0 0 10px var(--success)}.status-dot.offline{background:var(--warning);box-shadow:0 0 10px var(--warning)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}#statusText{font-size:.875rem;font-weight:500;color:var(--gray-600)}.main-content{flex:1;max-width:1200px;margin:0 auto;padding:3rem 2rem;width:100%}.panel{display:none;animation:fadeIn .4s ease-out}.panel.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.panel-header{margin-bottom:3rem;animation:fadeIn .6s ease-out .1s both}.panel-header h2{font-family:Bitter,serif;font-size:2.5rem;margin-bottom:.5rem;color:var(--gray-900)}.subtitle{color:var(--gray-500);font-size:1.125rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:var(--white);border:1px solid var(--gray-200);border-radius:16px;padding:2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;animation:fadeIn .6s ease-out calc(.2s + var(--delay, 0s)) both;box-shadow:var(--shadow-sm)}.stat-card:nth-child(1){--delay: 0s}.stat-card:nth-child(2){--delay: .1s}.stat-card:nth-child(3){--delay: .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent-light)}.stat-value{font-family:Bitter,serif;font-size:3rem;font-weight:700;color:var(--accent);margin-bottom:.5rem}.stat-label{color:var(--gray-500);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.action-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:3rem}.action-card{background:var(--white);border:1px solid var(--gray-200);border-radius:20px;padding:2rem;transition:all .3s ease;animation:fadeIn .6s ease-out calc(.3s + var(--delay, 0s)) both;box-shadow:var(--shadow-sm)}.action-card:nth-child(1){--delay: 0s}.action-card:nth-child(2){--delay: .1s}.action-card:nth-child(3){--delay: .2s}.action-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent-light)}.action-card h3{font-size:1.25rem;margin-bottom:.75rem;color:var(--gray-900);font-weight:600}.action-card p{color:var(--gray-600);margin-bottom:1.5rem;font-size:.9375rem}.btn{padding:.875rem 2rem;border:none;border-radius:12px;font-family:Manrope,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:active:before{width:300px;height:300px}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:var(--accent-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--success);color:#fff;box-shadow:var(--shadow-md)}.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg);background:#15803d}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-outline{background:transparent;color:var(--gray-700);border:2px solid var(--gray-300)}.btn-outline:hover{background:var(--gray-50);border-color:var(--accent);color:var(--accent)}.btn-large{padding:1.25rem 3rem;font-size:1.125rem}.btn-accent{background:var(--accent);color:#fff;font-weight:700;box-shadow:var(--shadow-lg)}.btn-accent:hover{transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-xl);background:var(--accent-dark)}.action-buttons{display:flex;justify-content:center;margin-top:3rem;animation:fadeIn .6s ease-out .5s both}.import-status{margin-top:1rem;padding:.75rem;border-radius:8px;font-size:.875rem;font-weight:500;display:none}.import-status.success{background:#f0fdf4;color:#15803d;border:1px solid #86efac;display:block}.import-status.error{background:#fef2f2;color:#b91c1c;border:1px solid #fca5a5;display:block}.scanner-container{margin-bottom:3rem}.qr-reader{max-width:600px;margin:0 auto 2rem;border-radius:20px;overflow:hidden;border:3px solid var(--accent);box-shadow:0 8px 32px #f973164d}.scan-result{max-width:600px;margin:0 auto;padding:2rem;border-radius:16px;text-align:center;display:none;animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.scan-result.success{background:#f0fdf4;border:2px solid var(--success);display:block;color:var(--gray-900)}.scan-result.error{background:#fef2f2;border:2px solid var(--error);display:block;color:var(--gray-900)}.scan-result.warning{background:#fef9c3;border:2px solid var(--warning);display:block;color:var(--gray-900)}.recent-scans{margin-bottom:2rem}.recent-scans h3{font-size:1.5rem;margin-bottom:1.5rem;color:var(--gray-900)}.recent-list{display:flex;flex-direction:column;gap:1rem}.recent-item{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;padding:1.25rem;display:flex;justify-content:space-between;align-items:center;animation:slideInRight .3s ease-out;box-shadow:var(--shadow-sm)}@keyframes slideInRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.recent-item-info h4{font-size:1.125rem;color:var(--gray-900);margin-bottom:.25rem;font-weight:600}.recent-item-info p{font-size:.875rem;color:var(--gray-500)}.recent-item-badge{padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;background:#f0fdf4;color:#15803d;border:1px solid #86efac}.toast-container{position:fixed;top:6rem;right:2rem;z-index:1000;display:flex;flex-direction:column;gap:1rem}.toast{background:var(--white);border:1px solid var(--gray-200);border-radius:12px;padding:1rem 1.5rem;min-width:300px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:1rem;animation:slideInRight .3s ease-out}.toast.success{border-left:4px solid var(--success)}.toast.error{border-left:4px solid var(--error)}.toast.warning{border-left:4px solid var(--warning)}.toast-icon{font-size:1.5rem}.toast-content{flex:1}.toast-title{font-weight:600;color:var(--gray-900);margin-bottom:.25rem}.toast-message{font-size:.875rem;color:var(--gray-600)}@media (max-width: 768px){.header-content{padding:0 1rem}.logo h1{font-size:1.5rem}.main-content{padding:2rem 1rem}.panel-header h2{font-size:2rem}.stats-grid,.action-cards{grid-template-columns:1fr}.toast-container{right:1rem;left:1rem}.toast{min-width:auto}}
