*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:DM Sans,Segoe UI,system-ui,sans-serif;background:#f4f1eb;color:#1a1714;line-height:1.5;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#e0dbd0;border-radius:4px}button:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid #1a6b3c;outline-offset:2px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .2s ease both}.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}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:linear-gradient(135deg,#0e1525,#162540 60%,#1a2a40)}.auth-card{background:#ffffff;border-radius:20px;padding:40px 32px;width:100%;max-width:420px;box-shadow:0 24px 64px rgba(0,0,0,.3)}.auth-logo{gap:12px;margin-bottom:28px}.auth-logo,.auth-logo-badge{display:flex;align-items:center}.auth-logo-badge{width:40px;height:40px;border-radius:10px;background:#0a66c2;justify-content:center;font-size:18px;font-weight:900;color:#fff}.auth-logo-text{font-size:20px;font-weight:800;color:#1a1714}.auth-logo-sub{font-size:11px;color:#6b6660}.auth-title{font-size:22px;font-weight:800;color:#1a1714;margin-bottom:6px}.auth-sub{font-size:13px;color:#6b6660;margin-bottom:28px}.auth-form{gap:16px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:5px}.auth-label{font-size:12px;font-weight:600;color:#6b6660}.auth-input{width:100%;padding:11px 14px;border:1.5px solid #e0dbd0;border-radius:10px;font-size:14px;color:#1a1714;background:#f4f1eb;font-family:inherit;transition:border-color .15s}.auth-input:focus{border-color:#1a6b3c;background:#fff}.auth-btn{width:100%;padding:12px;background:#1a6b3c;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s,transform .1s}.auth-btn:hover{background:#145530}.auth-btn:active{transform:scale(.98)}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-error{padding:10px 14px;border-radius:8px;background:#fde8e8;border:1px solid #f5c6c2;color:#c0392b;font-size:12px}.auth-link-row{text-align:center;margin-top:20px;font-size:13px;color:#6b6660}.auth-link{color:#1a6b3c;font-weight:700;text-decoration:none}.auth-link:hover{text-decoration:underline}.app-root{min-height:100vh;background:#f4f1eb}.app-header{background:#ffffff;border-bottom:1px solid #e0dbd0;padding:11px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px}.app-content{padding:18px 16px 80px;max-width:680px;margin:0 auto}.sidebar-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:40}.sidebar{position:fixed;top:0;bottom:0;width:260px;background:#0e1525;z-index:50;display:flex;flex-direction:column;overflow-y:auto;transition:transform .25s ease;box-shadow:6px 0 32px rgba(0,0,0,.4)}.sidebar.closed{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.skeleton{background:linear-gradient(90deg,#e8e4da 25%,#f0ece4 50%,#e8e4da 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}