/* Coupon Page */
.page{position:relative;z-index:1;padding:2.75rem 0 6rem;flex:1}
.page-head{text-align:center;margin-bottom:2.5rem}
.page-title{font-size:2rem;font-weight:700;letter-spacing:-.03em;line-height:1.2;color:#121a31;margin-bottom:.5rem}
.page-lead{color:#56647e;line-height:1.7;font-size:14px}

.card{
  background:#fff;
  border:1px solid #e0e4f0;
  border-radius:20px;
  padding:2rem;
  box-shadow:0 2px 12px rgba(0,0,0,0.06);
  max-width:600px;
  margin:0 auto;
}

.form-group{margin-bottom:1.5rem;position:relative}
.form-label{display:block;font-size:14px;font-weight:700;color:#1a1a2e;margin-bottom:.5rem}
.form-textarea{
  width:100%;min-height:120px;padding:1rem 1.1rem;
  border:1.5px solid #d0d5e0;border-radius:12px;
  background:#fff;color:#1a1a2e;
  resize:vertical;outline:none;transition:border-color .2s,box-shadow .2s;
  font-size:13px;line-height:1.5;
}
.form-textarea:focus{border-color:#1a73e8;box-shadow:0 0 0 3px rgba(26,115,232,0.12)}
.form-textarea::placeholder{color:#9ca3af;font-size:13px}
.form-hint{margin-top:.6rem;font-size:13px;color:#8a96af;line-height:1.5}
.form-hint code{padding:.08rem .4rem;border-radius:4px;background:rgba(26,115,232,0.08);color:#1a73e8;font-size:12px}

.clear-btn{
  padding:6px 20px;border:1px solid #d0d5e0;
  border-radius:8px;background:#fff;
  color:#8a96af;font-size:12px;font-weight:600;
  cursor:pointer;transition:all .15s;
}
.clear-btn:hover{color:#d65246;border-color:rgba(214,82,70,0.3)}

.detect-box{
  display:flex;align-items:center;gap:.5rem;
  margin-top:.65rem;padding:.5rem .85rem;
  border-radius:10px;font-size:13px;font-weight:600;
}
.detect-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.detect--info{background:rgba(26,115,232,0.06);color:#1a73e8}
.detect--info .detect-dot{background:#1a73e8}
.detect--ok{background:rgba(20,147,164,0.08);color:#0e7a88}
.detect--ok .detect-dot{background:#1493a4;box-shadow:0 0 6px rgba(20,147,164,0.5)}
.detect--warn{background:rgba(214,82,70,0.06);color:#b8443a}
.detect--warn .detect-dot{background:#d65246}

.submit-btn{
  display:flex;align-items:center;justify-content:center;
  width:100%;padding:12px;border:none;border-radius:12px;
  font-size:16px;font-weight:700;cursor:pointer;
  background:linear-gradient(135deg,#1a73e8,#20c5d7);color:#fff;
  box-shadow:0 8px 24px -8px rgba(26,115,232,0.4);
  transition:all .18s;
}
.submit-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px -8px rgba(26,115,232,0.45)}
.submit-btn:active{transform:translateY(0)}
.submit-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}

.alert{
  display:flex;align-items:center;gap:.65rem;
  margin-top:1.25rem;padding:.85rem 1.1rem;
  border-radius:12px;font-size:14px;font-weight:600;
}
.alert--error{background:rgba(214,82,70,0.08);border:1px solid rgba(214,82,70,0.2);color:#b8443a}
.alert__ico{
  display:flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;
  background:rgba(214,82,70,0.15);color:#d65246;
  font-size:14px;font-weight:800;flex-shrink:0;
}

.result-box{
  margin-top:1.5rem;padding:1.5rem;border-radius:16px;
  background:linear-gradient(135deg,rgba(20,147,164,0.06),rgba(26,115,232,0.04));
  border:1px solid rgba(20,147,164,0.18);
}
.result-head{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;font-size:15px;font-weight:700;color:#0e7a88}
.result-badge{
  display:flex;align-items:center;justify-content:center;
  width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,#1493a4,#20c5d7);color:#fff;
  font-size:14px;font-weight:800;
}

.jump-btn{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;padding:1rem 1.35rem;
  border:1.5px solid rgba(26,115,232,0.2);border-radius:12px;
  background:linear-gradient(135deg,rgba(26,115,232,0.06),rgba(32,197,215,0.04));
  font-size:15px;font-weight:700;color:#1a73e8;
  text-decoration:none;transition:all .18s;
}
.jump-btn:hover{
  background:linear-gradient(135deg,rgba(26,115,232,0.12),rgba(32,197,215,0.08));
  border-color:rgba(26,115,232,0.35);
  transform:translateY(-2px);box-shadow:0 8px 24px -8px rgba(26,115,232,0.3);
}
.jump-btn__arrow{font-size:18px;transition:transform .18s}
.jump-btn:hover .jump-btn__arrow{transform:translateX(4px)}

.result-poi{margin-top:.75rem;font-size:12px;color:#8a96af;text-align:center}

.fav-btn{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:1rem;padding:8px 20px;
  border:1px solid #e0e4f0;border-radius:10px;
  background:#fff;color:#888;font-size:13px;font-weight:600;
  cursor:pointer;transition:all .15s;
}
.fav-btn:hover{background:#fff8e1;border-color:#ffd100;color:#b8860b}
.fav-btn.is-faved{background:#fff8e1;border-color:#ffd100;color:#b8860b}

.fav-section{margin-top:2rem}

.fav-item{
  padding:.75rem 1rem;border-radius:12px;
  background:rgba(255,255,255,0.8);border:1px solid #e0e4f0;
  margin-bottom:.5rem;
}
.fav-item__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}
.fav-item__name{font-size:14px;font-weight:600;color:#1a1a2e;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fav-item__del{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:transparent;border:none;color:#8a96af;font-size:14px;cursor:pointer;transition:all .15s;flex-shrink:0}
.fav-item__del:hover{background:rgba(214,82,70,0.1);color:#d65246}
.fav-item__btns{display:flex;gap:8px}
.fav-btn-app,.fav-btn-web{
  flex:1;display:flex;align-items:center;justify-content:center;
  padding:8px 0;border-radius:10px;font-size:13px;font-weight:600;
  text-decoration:none;transition:all .15s;cursor:pointer;
}
.fav-btn-app{background:linear-gradient(135deg,#1a73e8,#20c5d7);color:#fff;border:1px solid transparent}
.fav-btn-app:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(26,115,232,0.3)}
.fav-btn-web{background:#fff;color:#1a73e8;border:1px solid #d0d8f0}
.fav-btn-web:hover{background:#f0f4ff;border-color:#1a73e8}

.history-section{margin-top:2rem}
.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.history-title{font-size:15px;font-weight:700;color:#56647e}
.history-clear{padding:4px 12px;border:1px solid #e0e4f0;border-radius:8px;background:transparent;color:#8a96af;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}
.history-clear:hover{color:#d65246;border-color:rgba(214,82,70,0.3)}
.history-list{display:flex;flex-direction:column;gap:.5rem}
.history-item{
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  padding:.65rem 1rem;border-radius:10px;
  background:rgba(255,255,255,0.6);border:1px solid #e0e4f0;
  cursor:pointer;transition:all .15s;
}
.history-item:hover{background:#fff;border-color:#c0c8d8}
.history-item__poi{font-size:13px;font-weight:600;color:#1a1a2e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.history-item__time{font-size:11px;color:#8a96af;flex-shrink:0}
.history-item__del{
  width:22px;height:22px;display:flex;align-items:center;justify-content:center;
  border-radius:6px;background:transparent;border:none;
  color:#8a96af;font-size:14px;cursor:pointer;transition:all .15s;flex-shrink:0;
}
.history-item__del:hover{background:rgba(214,82,70,0.1);color:#d65246}

@media(max-width:639px){
  .page-title{font-size:1.5rem}
  .card{padding:1.25rem;border-radius:16px}
  .page{padding:1.5rem 0 4rem}
}