@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap";@tailwind base;@tailwind components;@tailwind utilities;@font-face{font-family:"72";src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Regular-full.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"72";src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Bold-full.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"72full";src:url(https://sdk.openui5.org/resources/sap/ui/core/themes/sap_horizon/fonts/72-Regular-full.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--fiori-shell: #354a5f;--fiori-brand: #0a6ed1;--fiori-brand-hover: #085caf;--fiori-brand-light: #427cac;--fiori-canvas: #f5f6f7;--fiori-surface: #ffffff;--fiori-border: #d9d9d9;--fiori-text: #32363a;--fiori-text-sub: #515559;--fiori-text-mute: #89919a;--fiori-success: #107e3e;--fiori-warning: #e9730c;--fiori-error: #bb0000;--fiori-info: #0a6ed1;--ionex-brand: var(--fiori-brand);--ionex-brand-light: var(--fiori-brand-light);--ionex-brand-deep: #0854a0;--ionex-accent: var(--fiori-brand);--ionex-accent-deep: var(--fiori-brand-hover);--ionex-shell-bg: var(--fiori-shell);--ionex-canvas: var(--fiori-canvas);--ionex-surface: var(--fiori-surface);--ionex-surface-alt: #fafafa;--ionex-border: var(--fiori-border);--ionex-border-soft: #e5e5e5;--ionex-text: var(--fiori-text);--ionex-text-sub: var(--fiori-text-sub);--ionex-text-mute: var(--fiori-text-mute);--ionex-success: var(--fiori-success);--ionex-warning: var(--fiori-warning);--ionex-error: var(--fiori-error);--shell-height: 44px;--sidebar-width: 256px;--sidebar-collapsed: 48px;--tile-size-std: 176px;--tile-size-compact: 88px;--max-content: 1600px}*{box-sizing:border-box}html,body{font-family:"72","72full",Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--fiori-canvas);color:var(--fiori-text)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c4c7ca;border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#89919a;background-clip:padding-box}*:focus-visible{outline:2px solid #0a6ed1;outline-offset:2px;border-radius:2px}.fiori-shell{background:linear-gradient(90deg,#1f2b3a,#354a5f 30%,#3d5a7c 55%,#5d36ff 90%,#6e1f6f);color:#fff;box-shadow:0 1px #0003,0 2px 8px #00000026}.fiori-shell-title{font-family:"72","72full",Inter,sans-serif;font-weight:700;letter-spacing:.01em}.fiori-rail{background:#fff;border-right:1px solid #e5e5e5}.fiori-rail-item{display:flex;align-items:center;gap:12px;height:40px;padding:0 14px;margin:2px 8px;border-radius:6px;color:#515559;font-size:14px;transition:background .15s ease,color .15s ease;position:relative;text-decoration:none;min-height:40px;overflow:hidden;white-space:nowrap}.fiori-rail.collapsed .fiori-rail-item{justify-content:center;padding:0;margin:2px 6px}.fiori-rail-item:hover{background:#eff1f2;color:#32363a}.fiori-rail-item.active{background:#e5f0fa;color:#0a6ed1;font-weight:600}.fiori-rail-item.active:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#0a6ed1,#5d36ff)}.fiori-rail-section{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#89919a;padding:12px 16px 4px}.fiori-hero{position:relative;overflow:hidden;border-radius:14px;padding:28px 32px;color:#fff;background:radial-gradient(circle at 15% 20%,rgba(10,110,209,.85) 0%,transparent 45%),radial-gradient(circle at 85% 30%,rgba(93,54,255,.8) 0%,transparent 50%),radial-gradient(circle at 60% 90%,rgba(171,33,142,.75) 0%,transparent 55%),radial-gradient(circle at 95% 90%,rgba(233,115,12,.55) 0%,transparent 45%),linear-gradient(135deg,#152030,#1f2b3a 40%,#354a5f)}.fiori-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.05' stroke-width='1'%3E%3Cpath d='M0 60 Q30 30 60 60 T120 60'/%3E%3Cpath d='M0 80 Q30 50 60 80 T120 80'/%3E%3Cpath d='M0 40 Q30 10 60 40 T120 40'/%3E%3C/g%3E%3C/svg%3E");background-size:180px 180px;opacity:.6;pointer-events:none}.fiori-hero>*{position:relative;z-index:1}.fiori-hero-kpi{background:#ffffff1a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:14px 18px}.fiori-tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;background:#fff;border:1px solid #e5e5e5;border-radius:10px;padding:16px 18px;box-shadow:0 1px 2px #0000000a;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),border-color .18s cubic-bezier(.4,0,.2,1);overflow:hidden;cursor:pointer;min-height:176px}.fiori-tile:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--tile-accent, linear-gradient(90deg,#0a6ed1,#5d36ff));opacity:.9}.fiori-tile:after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:var(--tile-glow, radial-gradient(circle at center, rgba(10,110,209,.12) 0%, transparent 70%));pointer-events:none;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s}.fiori-tile:hover{transform:translateY(-3px);box-shadow:0 12px 24px #354a5f1f,0 2px 4px #354a5f14;border-color:#d0d4d8}.fiori-tile:hover:after{transform:scale(1.2)}.fiori-tile.accent-blue{--tile-accent: linear-gradient(90deg,#0a6ed1,#427cac);--tile-glow: radial-gradient(circle at center, rgba(10,110,209,.18) 0%, transparent 70%)}.fiori-tile.accent-indigo{--tile-accent: linear-gradient(90deg,#5d36ff,#7b5cff);--tile-glow: radial-gradient(circle at center, rgba(93,54,255,.18) 0%, transparent 70%)}.fiori-tile.accent-teal{--tile-accent: linear-gradient(90deg,#0d7b84,#22a7b0);--tile-glow: radial-gradient(circle at center, rgba(13,123,132,.18) 0%, transparent 70%)}.fiori-tile.accent-plum{--tile-accent: linear-gradient(90deg,#6e1f6f,#ab218e);--tile-glow: radial-gradient(circle at center, rgba(171,33,142,.18) 0%, transparent 70%)}.fiori-tile.accent-pink{--tile-accent: linear-gradient(90deg,#ab218e,#e01885);--tile-glow: radial-gradient(circle at center, rgba(224,24,133,.15) 0%, transparent 70%)}.fiori-tile.accent-amber{--tile-accent: linear-gradient(90deg,#e9730c,#f5b800);--tile-glow: radial-gradient(circle at center, rgba(233,115,12,.18) 0%, transparent 70%)}.fiori-tile.accent-green{--tile-accent: linear-gradient(90deg,#107e3e,#2dbb66);--tile-glow: radial-gradient(circle at center, rgba(16,126,62,.18) 0%, transparent 70%)}.fiori-tile.accent-red{--tile-accent: linear-gradient(90deg,#bb0000,#e01818);--tile-glow: radial-gradient(circle at center, rgba(187,0,0,.15) 0%, transparent 70%)}.fiori-tile.feature{color:#fff;border:none;background:var(--tile-bg, linear-gradient(135deg, #0a6ed1 0%, #5d36ff 100%));box-shadow:0 8px 20px #0a6ed140}.fiori-tile.feature:before{opacity:0}.fiori-tile.feature:after{background:radial-gradient(circle at center,rgba(255,255,255,.2) 0%,transparent 70%)}.fiori-tile.feature:hover{box-shadow:0 16px 36px #0a6ed159}.fiori-tile.feature.bg-indigo{--tile-bg: linear-gradient(135deg,#5d36ff 0%,#ab218e 100%)}.fiori-tile.feature.bg-teal{--tile-bg: linear-gradient(135deg,#0d7b84 0%,#107e3e 100%)}.fiori-tile.feature.bg-sunset{--tile-bg: linear-gradient(135deg,#e9730c 0%,#ab218e 100%)}.fiori-tile.feature.bg-ocean{--tile-bg: linear-gradient(135deg,#0a6ed1 0%,#0d7b84 100%)}.kpi-value{font-family:"72","72full",Inter,sans-serif;font-size:34px;font-weight:700;line-height:1.1;letter-spacing:-.01em;color:#32363a}.fiori-tile.feature .kpi-value{color:#fff}.kpi-label{font-size:13px;font-weight:600;color:#515559;text-transform:uppercase;letter-spacing:.04em}.fiori-tile.feature .kpi-label{color:#ffffffd9}.kpi-trend{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600}.kpi-trend.up{color:#107e3e}.kpi-trend.down{color:#b00}.fiori-tile.feature .kpi-trend.up{color:#9cecb4}.fiori-tile.feature .kpi-trend.down{color:#ffb4b4}.fiori-glass{background:#ffffffbf;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border:1px solid rgba(255,255,255,.6);border-radius:14px;box-shadow:0 1px 2px #354a5f0a,0 12px 32px #354a5f0f}.fiori-objectpage-header{background:linear-gradient(135deg,#fff,#fafbfc);border-bottom:1px solid #e5e5e5;padding:20px 32px 16px;position:relative;overflow:hidden}.fiori-objectpage-header:before{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(10,110,209,.08) 0%,transparent 70%);pointer-events:none}.fiori-canvas-ambient{position:relative;background:#f5f6f7}.fiori-canvas-ambient:before{content:"";position:fixed;inset:44px 0 0 var(--sidebar-width, 256px);background:radial-gradient(circle at 10% 0%,rgba(10,110,209,.08) 0%,transparent 40%),radial-gradient(circle at 95% 20%,rgba(93,54,255,.07) 0%,transparent 45%),radial-gradient(circle at 75% 95%,rgba(171,33,142,.06) 0%,transparent 40%);pointer-events:none;z-index:0}.fiori-canvas-ambient>*{position:relative;z-index:1}.fiori-chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.01em}.fiori-chip.good{background:#ebf5eb;color:#107e3e}.fiori-chip.critical{background:#fef7e6;color:#8a6906}.fiori-chip.negative{background:#ffebeb;color:#b00}.fiori-chip.info{background:#e5f0fa;color:#0a6ed1}.fiori-chip.neutral{background:#eff1f2;color:#515559}.fiori-chip.indigo{background:#efeafe;color:#5d36ff}.fiori-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 16px;border-radius:8px;font-weight:600;font-size:14px;font-family:inherit;transition:background .15s ease,box-shadow .15s ease,transform .15s ease;cursor:pointer;border:1px solid transparent}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,#0a6ed1,#5d36ff);color:#fff;box-shadow:0 1px 2px #0a6ed133,0 4px 10px #0a6ed133}.btn-primary:hover:not(:disabled){box-shadow:0 2px 4px #0a6ed14d,0 8px 16px #0a6ed140;transform:translateY(-1px)}.btn-primary-accent{@apply btn-primary;}.btn-secondary{background:#fff;color:#0a6ed1;border-color:#0a6ed1}.btn-secondary:hover:not(:disabled){background:#e5f0fa}.btn-tertiary{background:transparent;color:#0a6ed1}.btn-tertiary:hover:not(:disabled){background:#e5f0fa}.btn-ghost{background:transparent;color:#515559}.btn-ghost:hover:not(:disabled){background:#eff1f2;color:#32363a}.card{background:#fff;border-radius:12px;border:1px solid #e5e5e5;box-shadow:0 1px 2px #00000008}.card-header{padding:16px 20px;border-bottom:1px solid #f0f1f2;display:flex;align-items:center;justify-content:space-between}.card-body{padding:20px}.input{width:100%;height:38px;padding:0 12px;border:1px solid #89919a;border-bottom:2px solid #89919a;border-radius:6px;background:#fff;color:#32363a;font-family:inherit;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.input:focus{outline:none;border-color:#0a6ed1;border-bottom-color:#0a6ed1;box-shadow:0 0 0 2px #0a6ed126}.label{display:block;font-size:13px;font-weight:600;color:#515559;margin-bottom:4px}.badge{@apply fiori-chip;}.badge-success{@apply fiori-chip good;}.badge-warning{@apply fiori-chip critical;}.badge-error{@apply fiori-chip negative;}.badge-info{@apply fiori-chip info;}.badge-neutral{@apply fiori-chip neutral;}.badge-new{@apply fiori-chip indigo;}.badge-beta{@apply fiori-chip info;}.badge-preview{@apply fiori-chip neutral;}.nav-item{display:flex;align-items:center;gap:12px;height:40px;padding:0 14px;margin:2px 8px;border-radius:6px;color:#ffffffbf;font-size:14px;transition:background .15s ease,color .15s ease}.nav-item:hover{background:#ffffff14;color:#fff}.nav-item.active{background:#ffffff1f;color:#fff;font-weight:600;box-shadow:inset 3px 0 #5d36ff}.spinner{width:20px;height:20px;border:2px solid #e5f0fa;border-top-color:#0a6ed1;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,#f0f1f2,#e5e7ea,#f0f1f2);background-size:200% 100%;animation:shimmer 1.2s linear infinite;border-radius:4px}@keyframes shimmer{to{background-position:-200% 0}}.table{width:100%;font-size:14px;border-collapse:separate;border-spacing:0}.table th{text-align:left;padding:10px 14px;font-weight:600;color:#515559;background:#fafafa;border-bottom:1px solid #e5e5e5;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.table td{padding:12px 14px;border-bottom:1px solid #f0f1f2;color:#32363a}.table tbody tr:hover td{background:#fafafa}.data-grid{@apply w-full;border-collapse:separate;border-spacing:0}.data-grid-header{background:linear-gradient(135deg,#354a5f,#1f2b3a);color:#fff;font-weight:600}.data-grid-row{border-bottom:1px solid #f0f1f2}.data-grid-row:hover{background:#fafafa}.data-grid-cell{padding:12px 14px}.alert{padding:12px 16px;border-radius:8px;border:1px solid;font-size:14px}.alert-success{background:#ebf5eb;border-color:#107e3e;color:#107e3e}.alert-error{background:#ffebeb;border-color:#b00;color:#b00}.alert-warning{background:#fef7e6;border-color:#e9730c;color:#8a6906}.alert-info{background:#e5f0fa;border-color:#0a6ed1;color:#0a6ed1}.aurora{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.aurora:before,.aurora:after{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.85;animation:float 14s ease-in-out infinite}.aurora:before{width:520px;height:520px;background:radial-gradient(circle,#0a6ed1,transparent 60%);top:-160px;left:-120px}.aurora:after{width:520px;height:520px;background:radial-gradient(circle,#ab218e,transparent 60%);bottom:-160px;right:-120px;animation-delay:-6s}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-40px) scale(1.08)}}.ionex-x{position:relative;width:20px;height:20px}.fade-in{animation:fade-in .35s ease-out both}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
