:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0f172a;background:#e5e7eb}html,body{height:100%}body{margin:0;min-width:320px;min-height:100vh;display:block}#root{min-height:100vh}.app-root{min-height:100vh;display:flex;flex-direction:column}.app-shell{width:100%;max-width:1100px;margin:0 auto;padding:1.25rem 1rem 2rem}h1{margin-bottom:1rem;font-size:1.8rem;text-align:center}.app-header{text-align:center;margin-bottom:1.5rem}.app-header h1{margin:0}.app-header p{margin:.4rem 0 .6rem;font-size:.9rem;color:#6b7280}.auth-wrapper{text-align:center}.auth-wrapper .card{display:inline-block;text-align:left;width:100%;max-width:420px;margin-top:1.5rem}.auth-wrapper,.auth-page{width:100%}.auth-page{min-height:calc(100vh - 2rem);display:flex;align-items:center;justify-content:center;padding:1rem}.card{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 10px 25px #0f172a14;margin-top:1rem}.card h2{margin-top:0;margin-bottom:.75rem}label{display:block;margin-bottom:.75rem;font-size:.9rem}input{width:100%;margin-top:.25rem;padding:.55rem .7rem;border-radius:.5rem;border:1px solid #d1d5db;font-size:.95rem;box-sizing:border-box}input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 1px #4f46e566}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:none;padding:.55rem 1.2rem;font-weight:500;font-size:.95rem;background:#4f46e5;color:#fff;margin-top:.5rem}button:disabled{opacity:.7;cursor:default}.mode-toggle{display:inline-flex;border-radius:999px;background:#e5e7eb;padding:.2rem;margin-top:1rem;margin-bottom:1rem}.mode-toggle button{margin:0;background:transparent;color:#374151;border-radius:999px;padding:.4rem .9rem}.mode-toggle button.active{background:#fff;box-shadow:0 1px 4px #0f172a2e}.error{background:#fee2e2;color:#b91c1c;padding:.5rem .75rem;border-radius:.5rem;font-size:.85rem;margin-bottom:.75rem}.info{background:#e0f2fe;color:#0369a1;padding:.5rem .75rem;border-radius:.5rem;font-size:.85rem;margin-bottom:.75rem}.note{font-size:.85rem;color:#6b7280;margin-top:.5rem}
