:root{--bg: #0f0f23;--bg-card: #1a1a2e;--bg-hover: #16213e;--text: #e8e8e8;--text-muted: #8888aa;--accent: #4fc3f7;--green: #66bb6a;--red: #ef5350;--orange: #ffa726;--border: #2a2a4a}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}.container{max-width:480px;margin:0 auto;padding:16px;padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:80px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px;padding-top:calc(16px + env(safe-area-inset-top));margin-bottom:12px}.card:active{background:var(--bg-hover)}.nav{position:fixed;bottom:0;left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:8px 0;padding-bottom:max(8px,env(safe-area-inset-bottom));z-index:100}.nav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--text-muted);padding:4px 12px}.nav a.active{color:var(--accent)}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.badge-notify{background:#4fc3f733;color:var(--accent)}.badge-escalate{background:#ef535033;color:var(--red)}.badge-ignore{background:#88a3;color:var(--text-muted)}.price{font-size:28px;font-weight:700}.price-drop{color:var(--green);font-size:14px}h1{font-size:20px;margin-bottom:16px}h2{font-size:16px;margin-bottom:8px;color:var(--text-muted)}.btn{display:inline-block;padding:10px 20px;background:var(--accent);color:var(--bg);border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;width:100%;text-align:center}.btn:active{opacity:.8}input,select{width:100%;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;margin-bottom:12px}input:focus,select:focus{outline:none;border-color:var(--accent)}label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:4px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.15}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .3s ease-out both}.skeleton{background:linear-gradient(90deg,var(--border) 25%,var(--bg-hover) 50%,var(--border) 75%);background-size:200% 100%;animation:pulse 1.5s ease-in-out infinite;border-radius:8px}.skeleton-card{height:80px;margin-bottom:12px}.skeleton-line{height:16px;margin-bottom:8px;width:70%}.skeleton-line-short{width:40%}.toast-container{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:440px;width:calc(100% - 32px)}.toast{padding:12px 16px;border-radius:10px;font-size:13px;font-weight:500;animation:slideDown .3s ease-out;display:flex;align-items:center;gap:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toast-success{background:#66bb6ae6;color:#fff}.toast-error{background:#ef5350e6;color:#fff}.btn:disabled,.btn--loading{opacity:.5;pointer-events:none}.btn--loading:after{content:"";display:inline-block;width:14px;height:14px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle}.btn--danger{background:var(--red)}.btn--ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn--sm{padding:6px 12px;font-size:12px;width:auto}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:500;display:flex;align-items:center;justify-content:center;padding:16px;padding-top:calc(16px + env(safe-area-inset-top));animation:fadeIn .15s ease-out}.dialog{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px;max-width:340px;width:100%}.dialog h3{font-size:17px;margin-bottom:8px}.dialog p{font-size:13px;color:var(--text-muted);margin-bottom:20px;line-height:1.5}.dialog-actions{display:flex;gap:8px}.dialog-actions .btn{flex:1}.empty-state{text-align:center;padding:40px 16px}.empty-state-icon{font-size:48px;margin-bottom:12px;opacity:.5}.empty-state-title{font-size:16px;font-weight:600;margin-bottom:6px}.empty-state-desc{font-size:13px;color:var(--text-muted);margin-bottom:20px;line-height:1.5}.header{display:flex;align-items:center;gap:10px;margin-bottom:20px}.header h1{margin:0}.filters{display:flex;gap:8px;margin-bottom:16px}.filters select{margin:0;flex:1;font-size:12px;padding:8px 10px}.chart-container{height:200px;margin-top:8px}.input-error{border-color:var(--red)!important}.btn-refresh{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;font-size:18px;line-height:1;transition:transform .3s}.btn-refresh:active{transform:rotate(180deg)}.row{display:flex;justify-content:space-between;align-items:center}.tag{display:inline-block;font-size:11px;color:var(--text-muted);background:var(--bg);padding:2px 6px;border-radius:4px;margin-right:4px}.card-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.status-label{font-size:12px;font-weight:600}
