:root{--bg: #0b1220;--bg-soft: #121b2e;--card: #16213a;--card-2: #1c2c44;--border: #243150;--text: #e8eefc;--muted: #93a1c4;--accent: #3b82f6;--accent-2: #22c55e;--danger: #ef4444;--radius: 14px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:radial-gradient(1200px 600px at 80% -10%,#16213a 0%,var(--bg) 55%);color:var(--text);min-height:100vh}a{color:var(--accent)}.wrap{max-width:920px;margin:0 auto;padding:24px 16px 64px}header.top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.brand{display:flex;align-items:center;gap:10px}.brand .logo{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--accent),var(--accent-2));display:grid;place-items:center;font-size:20px}.brand h1{font-size:20px;margin:0;letter-spacing:.2px}.brand small{color:var(--muted);display:block;font-weight:400}.tabs{display:flex;gap:6px;background:var(--bg-soft);padding:6px;border-radius:12px;margin:18px 0}.tabs button{flex:1;padding:10px;border:0;border-radius:9px;cursor:pointer;background:transparent;color:var(--muted);font-weight:600;font-size:14px}.tabs button.active{background:var(--card);color:var(--text)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:14px}.grid{display:grid;gap:12px}.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:1fr 1fr 1fr}@media (max-width: 620px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}label.field{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:600}input,select{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-soft);color:var(--text);font-size:15px}input:focus,select:focus{outline:2px solid var(--accent);border-color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:10px;border:0;cursor:pointer;font-weight:700;font-size:15px;background:var(--accent);color:#fff}.btn:disabled{opacity:.55;cursor:default}.btn.green{background:var(--accent-2)}.btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn.small{padding:8px 12px;font-size:13px}.btn.danger{background:transparent;border:1px solid var(--danger);color:#ffb4b4}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spacer{flex:1}.result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);margin-bottom:10px}.result .price{font-size:22px;font-weight:800}.result .meta{color:var(--muted);font-size:13px}.badge{font-size:11px;padding:3px 8px;border-radius:999px;background:#20304f;color:var(--muted)}.badge.best{background:#22c55e2e;color:#7ef0a8}.note{font-size:13px;color:var(--muted);line-height:1.5}.warn{background:#eab3081f;border:1px solid rgba(234,179,8,.3);color:#ffe08a;padding:10px 12px;border-radius:10px;font-size:13px}.error{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#ffb4b4;padding:10px 12px;border-radius:10px;font-size:14px}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal .day{border:1px solid var(--border);border-radius:9px;padding:8px 6px;text-align:center;background:var(--bg-soft)}.cal .day .d{font-size:12px;color:var(--muted)}.cal .day .p{font-size:12px;font-weight:700;margin-top:3px}.cal .day.cheap{border-color:var(--accent-2);background:#22c55e1f}.cal .day.expensive{opacity:.6}.center{display:grid;place-items:center;min-height:70vh}.login{width:100%;max-width:360px}.spin{width:18px;height:18px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;color:var(--muted);padding:24px}.watch-item{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-soft);margin-bottom:10px}.watch-item .title{font-weight:700}.watch-item .sub{color:var(--muted);font-size:13px}
