:root{--bg-0: #F7F7F5;--bg-1: #FFFFFF;--bg-2: #FFFFFF;--bg-3: #F0F0ED;--bg-hover: #E8E8E5;--text-1: #1A1A1F;--text-2: #6B6D73;--text-3: #9B9DA3;--accent: #0A9B8A;--accent-hover: #078275;--accent-dim: #E6F5F2;--accent-glow: rgba(10, 155, 138, .1);--border: #E2E2DE;--border-hover: #D0D0CC;--danger: #D94B4B;--danger-dim: rgba(217, 75, 75, .08);--success: #10b981;--glass-bg: #F0F0ED;--glass-border: #E2E2DE;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .08);--transition: .2s ease;--font-mono: "DM Mono", monospace;--badge-echr-bg: #E6F5F2;--badge-echr-fg: #0A7B6E;--badge-cylaw-bg: #EBF0F7;--badge-cylaw-fg: #3A5A8C;--badge-eurlex-bg: #F5F0E6;--badge-eurlex-fg: #8C7A3A}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;background:var(--bg-0);color:var(--text-1);line-height:1.6;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-0)}::-webkit-scrollbar-thumb{background:#d0d0cc;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#b0b0ac}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select{font-family:inherit;color:inherit;background:var(--bg-2);border:1.5px solid var(--border-hover);border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;outline:none;transition:border-color var(--transition),box-shadow .3s ease}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input::placeholder,textarea::placeholder{color:var(--text-3)}a{color:var(--accent);text-decoration:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%,to{opacity:.4}50%{opacity:.7}}@keyframes shimmerSlide{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDot{0%,to{opacity:.4}50%{opacity:1}}button:hover{opacity:.85}button:active{opacity:.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
