:root{--color-primary: #7C9070;--color-primary-dark: #5E7352;--color-primary-light: #A3B596;--color-primary-lighter: #C4D4B8;--color-primary-lightest: #F5F7F3;--color-accent: #C4A882;--color-accent-light: #D4C4A8;--color-text-dark: #2D2D2D;--color-text-medium: #555555;--color-text-light: #888888;--color-text-muted: #AAAAAA;--color-bg-main: #FAF7F2;--color-bg-card: #FFFFFF;--color-bg-hover: #F0EDE6;--color-border: #E5DDD0;--color-border-light: #F0EDE6;--shadow-soft: 0 4px 20px rgba(124, 144, 112, .12);--shadow-medium: 0 8px 30px rgba(124, 144, 112, .16);--shadow-strong: 0 12px 40px rgba(124, 144, 112, .2);--gradient-primary: linear-gradient(135deg, #A3B596 0%, #8FA683 50%, #7C9070 100%);--gradient-button: linear-gradient(135deg, #7C9070 0%, #5E7352 100%);--gradient-accent: linear-gradient(135deg, #C4A882 0%, #A89060 100%);--gradient-bg: linear-gradient(180deg, #FAF7F2 0%, #F0EDE6 100%);--color-success: #4CAF50;--color-warning: #FF9800;--color-error: #F44336;--color-info: #2196F3}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}:focus-visible{outline:2px solid var(--color-primary-dark);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skip-link{position:absolute;top:-40px;left:16px;padding:8px 16px;background:var(--color-text-dark);color:#fff;text-decoration:none;border-radius:4px;z-index:100000;transition:top .2s}.skip-link:focus{top:16px}html,body{height:100%;margin:0;padding:0}body{font-family:Poppins,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;background:var(--gradient-bg);color:var(--color-text-dark)}#root{min-height:100vh;background:var(--gradient-bg)}a{text-decoration:none;color:var(--color-primary-dark);transition:color .2s ease}a:hover{color:var(--color-accent)}button{font-family:inherit;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:hover{transform:translateY(-1px)}button:active{transform:translateY(0)}@media (max-width: 768px){html,body{overflow-x:hidden}button{min-height:44px;min-width:44px}input,select,textarea{font-size:16px!important;min-height:44px}button:hover{transform:none}button:active{opacity:.8;transform:scale(.98)}}input,textarea,select{font-family:inherit;border:1px solid var(--color-border);border-radius:12px;padding:12px 16px;transition:border-color .2s ease,box-shadow .2s ease;background:var(--color-bg-card)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #ff8ba033}img{max-width:100%;height:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-main);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-dark)}.card{background:var(--color-bg-card);border-radius:16px;box-shadow:var(--shadow-soft);border:1px solid var(--color-border-light)}.card-hover:hover{box-shadow:var(--shadow-medium);transform:translateY(-2px)}.btn-primary{background:var(--gradient-button);color:#fff;border:none;border-radius:12px;padding:12px 24px;font-weight:500;box-shadow:var(--shadow-soft)}.btn-primary:hover{box-shadow:var(--shadow-medium);filter:brightness(1.05)}.btn-secondary{background:var(--color-bg-card);color:var(--color-text-dark);border:1px solid var(--color-border);border-radius:12px;padding:12px 24px;font-weight:500}.btn-secondary:hover{background:var(--color-bg-hover);border-color:var(--color-primary-light)}.glass{background:#fffc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5)}::selection{background:var(--color-primary-light);color:var(--color-text-dark)}
