:root{--bg:#f4f0fd;--bg-2:#ece4fb;--card:#ffffff;--ink:#1d1635;--muted:#7a728f;--line:#ece8f5;--purple:#6d4aff;--purple-dark:#5a37e8;--purple-soft:#f1ecff;--urgent:#ff5a7a;--urgent-soft:#ffe9ee;--shadow:0 8px 30px rgba(78,51,160,0.08);--shadow-lg:0 20px 50px rgba(78,51,160,0.18);--radius:18px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:linear-gradient(180deg,var(--bg) 0,var(--bg-2) 100%);background-attachment:fixed;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.container{max-width:1080px;margin:0 auto;padding:0 20px}.header{justify-content:space-between;padding:18px 0}.header,.logo{display:flex;align-items:center}.logo{gap:10px;font-weight:800;font-size:22px}.logo-badge{width:34px;height:34px;border-radius:10px;background:var(--purple);color:#fff;display:grid;place-items:center;font-size:18px}.header-actions{display:flex;align-items:center;gap:10px}.btn{border:none;border-radius:12px;padding:11px 18px;font-weight:600;font-size:15px;background:var(--purple-soft);color:var(--purple-dark);transition:transform .06s ease,background .15s ease}.btn:hover{background:#e7dfff}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--purple);color:#fff}.btn-primary:hover{background:var(--purple-dark)}.btn-ghost{background:transparent;color:var(--ink)}.btn-block{width:100%}.btn:disabled{opacity:.55;cursor:default}.hero{text-align:center;padding:30px 0 14px}.hero h1{font-size:38px;line-height:1.1;margin:0 0 10px;letter-spacing:-.5px}.hero p{color:var(--muted);font-size:17px;margin:0 auto 22px;max-width:560px}.hero .btn-primary{font-size:17px;padding:14px 28px;box-shadow:var(--shadow)}.filterbar{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;margin:14px 0 26px}.field{display:flex;flex-direction:column;gap:6px;flex:1 1;min-width:150px}.field label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.filterbar .field{gap:10px;min-width:220px}.filterbar .field label{font-size:16px;font-weight:800;color:var(--purple-dark);letter-spacing:.6px}.filterbar .select{font-size:24px;font-weight:800;padding:18px 16px;border-radius:14px}.input,.select{border:none;border-radius:12px;padding:12px 13px;font-size:15px;background:#fff;color:var(--ink);width:100%;outline:none;box-shadow:0 2px 8px rgba(78,51,160,.07)}.input:focus,.select:focus{box-shadow:0 0 0 3px var(--purple-soft)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:18px;gap:18px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;gap:14px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;border:1px solid transparent}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:#efeafc}.route{display:flex;align-items:center;gap:10px}.route .place{display:flex;flex-direction:column}.route .flag{font-size:26px;line-height:1}.route .city{font-weight:700;font-size:15px}.route .country{font-size:12px;color:var(--muted)}.route .arrow{color:var(--purple);font-size:20px;margin:0 2px;flex:0 0 auto}.route .place.to{text-align:right;align-items:flex-end;margin-left:auto}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.price{font-size:22px;font-weight:800;color:var(--ink)}.price small{font-size:13px;color:var(--muted);font-weight:600}.badges{display:flex;gap:8px;flex-wrap:wrap}.badge{font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;background:var(--purple-soft);color:var(--purple-dark)}.badge.urgent{background:var(--urgent-soft);color:var(--urgent)}.badge.date{background:#eef6ff;color:#2f6bd8}.thumbs{display:flex;gap:6px}.thumbs img{width:46px;height:46px;border-radius:9px;object-fit:cover;border:1px solid var(--line)}.empty{text-align:center;color:var(--muted);padding:60px 0}.overlay{position:fixed;inset:0;background:rgba(29,22,53,.45);display:grid;place-items:center;padding:20px;z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:#fff;border-radius:22px;box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:26px}.modal h2{margin:0 0 4px;font-size:22px}.modal .sub{color:var(--muted);font-size:14px;margin:0 0 18px}.modal-close{float:right;background:var(--purple-soft);border:none;border-radius:9px;width:32px;height:32px;font-size:16px;color:var(--purple-dark)}.form-row{display:flex;gap:12px}.form-row>.field{flex:1 1}.stack{display:flex;flex-direction:column;gap:14px}.checkbox{display:flex;align-items:center;gap:10px;font-size:15px}.checkbox input{width:18px;height:18px;accent-color:var(--purple)}.error{background:var(--urgent-soft);color:var(--urgent)}.error,.notice{padding:10px 12px;border-radius:10px;font-size:14px}.notice{background:var(--purple-soft);color:var(--purple-dark)}.code-input{letter-spacing:12px;text-align:center;font-size:28px;font-weight:700;padding:14px;border:1px solid var(--line);border-radius:12px;width:100%}.code-input:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 3px var(--purple-soft)}.photo-input{border:1.5px dashed var(--line);border-radius:12px;padding:14px;text-align:center;color:var(--muted);font-size:14px}.detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}.detail-row .k{color:var(--muted)}.detail-row .v{font-weight:600}.section-title{font-size:15px;font-weight:700;margin:26px 0 12px}@media (max-width:560px){.hero h1{font-size:30px}.form-row{flex-direction:column}}