:root,html,body{color-scheme:light only;-webkit-color-scheme:light only}@media(prefers-color-scheme:dark){:root,html,body{color-scheme:light only!important;-webkit-color-scheme:light only!important;background-color:#f4f5f7!important;color:#111827!important}*{color-scheme:light only!important;-webkit-color-scheme:light only!important}input,select,textarea{background-color:#fff!important;color:#111827!important;border-color:#e5e7eb!important}input::placeholder,textarea::placeholder{color:#9ca3af!important}button{color-scheme:light only!important}.card,[class*=card]{background-color:var(--surface, #ffffff)!important}}:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--bg: #f4f5f7;--surface: #ffffff;--surface-2: #fafbfc;--text: #111827;--muted: #6b7280;--border: #e5e7eb;--shadow: 0 10px 30px rgba(17, 24, 39, .08);--primary: #111827;--primary-hover: #0b1220;--danger-bg: #fef2f2;--danger-border: #fecaca;--danger-text: #991b1b;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}#root{width:100%;min-height:100%}a{color:#2563eb;text-decoration:none;font-weight:600}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 10px;letter-spacing:-.02em}p{margin:0 0 10px;color:var(--muted)}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px;outline:none}input::placeholder,textarea::placeholder{color:#9ca3af}input:focus,select:focus,textarea:focus{border-color:#2563eb73;box-shadow:0 0 0 4px #2563eb1f}button{font:inherit;border-radius:12px;border:1px solid var(--border);padding:10px 12px;background:var(--primary);color:#fff;cursor:pointer;transition:transform .05s ease,background .15s ease,border-color .15s ease}button:hover{background:var(--primary-hover)}button:active{transform:translateY(1px)}button:disabled{opacity:.6;cursor:not-allowed}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:700}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.alert-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);border-radius:14px;padding:12px}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.85}}.tabs-scrollable::-webkit-scrollbar{display:none}*{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(max-width:640px){input,select,textarea{min-height:44px;font-size:16px;padding:12px 14px}button{min-height:44px;padding:12px 16px}a{display:inline-block;padding:4px 0}body{font-size:15px;line-height:1.6}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.card{padding:12px;border-radius:12px}}.scroll-container{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.scroll-horizontal{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}.scroll-horizontal::-webkit-scrollbar{display:none}.scroll-horizontal>*{scroll-snap-align:start;flex-shrink:0}.scroll-fade-right{position:relative}.scroll-fade-right:after{content:"";position:absolute;right:0;top:0;bottom:0;width:40px;background:linear-gradient(to right,transparent,var(--bg));pointer-events:none}.touch-feedback{transition:transform .1s ease,opacity .1s ease}.touch-feedback:active{transform:scale(.98);opacity:.9}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:640px){.modal-mobile{position:fixed;bottom:0;left:0;right:0;max-height:90vh;border-radius:16px 16px 0 0;animation:slideInUp .25s ease}}@supports (padding: max(0px)){.safe-area-bottom{padding-bottom:max(16px,env(safe-area-inset-bottom))}.safe-area-top{padding-top:max(16px,env(safe-area-inset-top))}}
