:root{--primary-50:#f0fdfa;--primary-100:#ccfbf1;--primary-200:#99f6e4;--primary-300:#5eead4;--primary-400:#2dd4bf;--primary-500:#14b8a6;--primary-600:#0d9488;--primary-700:#0f766e;--primary-800:#115e59;--primary-900:#134e4a;--accent-gold-light:#fef3c7;--accent-gold:#f59e0b;--accent-gold-dark:#b45309;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--kpi-green:#10b981;--kpi-green-bg:#ecfdf5;--kpi-green-border:#a7f3d0;--kpi-yellow:#f59e0b;--kpi-yellow-bg:#fffbeb;--kpi-yellow-border:#fde68a;--kpi-red:#ef4444;--kpi-red-bg:#fef2f2;--kpi-red-border:#fecaca;--info-blue:#0284c7;--info-blue-bg:#f0f9ff;--glass-bg:#ffffffe0;--glass-border:#fff9;--glass-backdrop:blur(14px);--shadow-sm:0 1px 3px #0f172a0f;--shadow-md:0 4px 12px -2px #0f172a14, 0 2px 6px -1px #0f172a0a;--shadow-lg:0 12px 28px -4px #0f172a1f, 0 4px 10px -2px #0f172a0a;--shadow-xl:0 20px 40px -8px #0f172a29;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading:"Outfit", var(--font-sans);--touch-target:44px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:26px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.35s cubic-bezier(.34, 1.56, .64, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-sans);color:var(--slate-800);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);line-height:1.5}#root{flex-direction:column;min-height:100%;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--slate-900);letter-spacing:-.02em;font-weight:700}button,input,select,textarea{font-family:inherit;font-size:1rem}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--slate-100)}::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}.app-container{width:100%;min-height:100vh;display:flex;overflow-x:hidden}.main-content{flex-direction:column;flex:1;width:100%;max-width:1440px;margin:0 auto;padding:1.5rem;display:flex;overflow-y:auto}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-backdrop);border:1px solid var(--slate-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform var(--transition-fast), box-shadow var(--transition-fast);padding:1.5rem}.glass-card:hover{box-shadow:var(--shadow-lg)}.btn{min-height:var(--touch-target);border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--primary-700) 0%, var(--primary-600) 100%);color:#fff;box-shadow:0 4px 12px #0f766e40}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-800) 0%, var(--primary-700) 100%);transform:translateY(-1px);box-shadow:0 6px 16px #0f766e59}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{color:var(--slate-700);border:1px solid var(--slate-300);box-shadow:var(--shadow-sm);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--slate-50);color:var(--slate-900);border-color:var(--slate-400)}.btn-accent{background:linear-gradient(135deg, var(--accent-gold) 0%, #eab308 100%);color:#78350f;font-weight:700;box-shadow:0 4px 12px #f59e0b40}.btn-accent:hover:not(:disabled){background:linear-gradient(135deg, var(--accent-gold-dark) 0%, var(--accent-gold) 100%);color:#fff}.btn-danger{color:#b91c1c;background:#fee2e2;border:1px solid #fca5a5}.btn-danger:hover:not(:disabled){background:#fecaca}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.35rem;padding:.25rem .75rem;font-size:.775rem;font-weight:600;display:inline-flex}.badge-green{background:var(--kpi-green-bg);color:#065f46;border:1px solid var(--kpi-green-border)}.badge-yellow{background:var(--kpi-yellow-bg);color:#92400e;border:1px solid var(--kpi-yellow-border)}.badge-red{background:var(--kpi-red-bg);color:#991b1b;border:1px solid var(--kpi-red-border)}.badge-teal{background:var(--primary-100);color:var(--primary-800);border:1px solid var(--primary-200)}.badge-slate{background:var(--slate-100);color:var(--slate-700);border:1px solid var(--slate-200)}.kpi-card{border:1px solid var(--slate-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-fast);background:#fff;flex-direction:column;justify-content:space-between;padding:1.25rem;display:flex;position:relative;overflow:hidden}.kpi-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-300);transform:translateY(-2px)}.kpi-card:before{content:"";background:var(--slate-200);height:4px;position:absolute;top:0;left:0;right:0}.kpi-card.status-green:before{background:var(--kpi-green)}.kpi-card.status-yellow:before{background:var(--kpi-yellow)}.kpi-card.status-red:before{background:var(--kpi-red)}.kpi-title{color:var(--slate-500);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem;font-size:.85rem;font-weight:600}.kpi-value-row{justify-content:space-between;align-items:baseline;margin-bottom:.75rem;display:flex}.kpi-value{font-family:var(--font-heading);color:var(--slate-900);font-size:1.85rem;font-weight:700}.kpi-target{color:var(--slate-500);font-size:.825rem}.kpi-progress-bg{background:var(--slate-100);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.kpi-progress-fill{border-radius:var(--radius-full);height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1.25rem;display:flex}.form-label{color:var(--slate-700);font-size:.875rem;font-weight:600}.form-input,.form-select,.form-textarea{width:100%;min-height:var(--touch-target);border:1px solid var(--slate-300);border-radius:var(--radius-md);color:var(--slate-900);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fff;padding:.6rem .9rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-600);outline:none;box-shadow:0 0 0 3px #0d94882e}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a99;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-xl);width:100%;max-width:680px;max-height:90vh;box-shadow:var(--shadow-xl);border:1px solid var(--slate-200);background:#fff;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto}.modal-header{border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-body{padding:1.5rem}.modal-footer{border-top:1px solid var(--slate-200);background:var(--slate-50);justify-content:flex-end;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}@media (width<=1024px){.app-container{flex-direction:column}.main-content{padding:1rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
