:root{--primary:#6b3fa0;--primary-light:#8b5cf6;--primary-dark:#4a1d8c;--accent:#a78bfa;--accent-light:#c4b5fd;--text:#2d1b4e;--text-light:#6b5b8a;--bg:#faf8ff;--white:#fff;--shadow:0 4px 20px rgba(107,63,160,.1);--shadow-hover:0 8px 30px rgba(107,63,160,.2);--radius:16px;--radius-sm:12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:linear-gradient(135deg,#f5f3ff,#ede9fe 50%,#faf8ff);color:var(--text);min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 20px}.header{background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 2px 20px rgba(107,63,160,.08);padding:15px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(139,92,246,.1)}.header-content{display:flex;justify-content:space-between;align-items:center}.logo{font-size:28px;font-weight:700;text-decoration:none;letter-spacing:2px;background:linear-gradient(135deg,#6b3fa0,#a78bfa 50%,#8b5cf6);-webkit-background-clip:text;background-clip:text}.logo,.logo-sub{-webkit-text-fill-color:transparent}.logo-sub{font-size:11px;background:linear-gradient(135deg,#8b5cf6,#c4b5fd);-webkit-background-clip:text;background-clip:text;letter-spacing:4px;text-transform:uppercase}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px;margin:20px 0;border:1px solid rgba(139,92,246,.08)}.card-title{font-size:24px;font-weight:600;margin-bottom:25px;background:linear-gradient(135deg,#6b3fa0,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;border-bottom:2px solid rgba(139,92,246,.2);padding-bottom:10px}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:600;margin-bottom:8px;color:var(--text)}.form-input,.form-select{width:100%;padding:14px 18px;border:2px solid #e8e0f0;border-radius:var(--radius-sm);font-size:16px;transition:all .3s ease;background:var(--bg);color:var(--text)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 4px rgba(139,92,246,.1)}.form-input::placeholder{color:#b8a8d0}.btn{display:inline-block;padding:14px 32px;border:none;border-radius:var(--radius-sm);font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;text-align:center}.btn-primary{background:linear-gradient(135deg,#6b3fa0,#8b5cf6);color:#fff;box-shadow:0 4px 15px rgba(107,63,160,.3)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(107,63,160,.4)}.btn-accent{background:linear-gradient(135deg,#8b5cf6,#a78bfa);color:#fff}.btn-outline{background:transparent;border:2px solid var(--primary-light);color:var(--primary)}.btn-outline:hover{background:rgba(139,92,246,.05)}.btn-sm{padding:10px 22px;font-size:14px}.grid{display:grid;grid-gap:20px;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}}.passenger-dropdown{position:relative}.passenger-trigger{width:100%;padding:14px 18px;border:2px solid #e8e0f0;border-radius:var(--radius-sm);background:var(--bg);font-size:16px;text-align:left;cursor:pointer;transition:all .3s ease;color:var(--text)}.passenger-trigger:hover{border-color:#c4b5fd}.passenger-trigger:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 4px rgba(139,92,246,.1)}.passenger-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #e8e0f0;border-radius:var(--radius-sm);margin-top:8px;padding:12px;box-shadow:var(--shadow-hover);z-index:50}.passenger-item{display:flex;justify-content:space-between;align-items:center;padding:12px 8px;border-bottom:1px solid #f3eff8}.passenger-item:last-child{border-bottom:none}.passenger-item-info{flex:1 1}.passenger-item-label{font-weight:600;font-size:15px;color:var(--text)}.passenger-item-desc{font-size:12px;color:var(--text-light);margin-top:2px}.passenger-counter{display:flex;align-items:center;gap:12px}.passenger-counter button{width:32px;height:32px;border-radius:50%;border:2px solid #e8e0f0;background:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--primary);transition:all .2s}.passenger-counter button:hover:not(:disabled){background:#f5f3ff;border-color:var(--primary-light)}.passenger-counter button:disabled{opacity:.3;cursor:not-allowed}.passenger-counter span{font-size:16px;font-weight:600;min-width:20px;text-align:center;color:var(--text)}.flight-card{background:var(--white);border-radius:var(--radius);padding:24px;margin-bottom:16px;box-shadow:var(--shadow);transition:all .3s ease;border:1px solid rgba(139,92,246,.08)}.flight-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:rgba(139,92,246,.2)}.seat-map{display:flex;flex-direction:column;gap:5px}.seat-row{display:flex;align-items:center;gap:10px}.seat-row-label{width:30px;text-align:right;font-weight:600;color:var(--text-light)}.seat{width:35px;height:35px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.seat.available{background:#f0ebff;border:1px solid #a78bfa;color:#6b3fa0}.seat.occupied{background:#f5f5f5;border:1px solid #e0d8f0;color:#c4b5fd;cursor:not-allowed}.seat.selected{background:linear-gradient(135deg,#8b5cf6,#a78bfa);border:1px solid #7c3aed;color:#fff}.seat.business{background:#faf5ff;border:1px solid #c084fc;color:#7c3aed}.boarding-pass{background:linear-gradient(135deg,#faf8ff,#f5f3ff);border:2px dashed #8b5cf6;border-radius:var(--radius);padding:30px;max-width:600px;margin:20px auto}.admin-table{width:100%;border-collapse:collapse;margin:20px 0;border-radius:var(--radius-sm);overflow:hidden}.admin-table td,.admin-table th{padding:14px 16px;text-align:left;border-bottom:1px solid #ede4f8}.admin-table th{background:linear-gradient(135deg,#6b3fa0,#8b5cf6);color:#fff;font-weight:600}.admin-table tr:hover{background:#faf8ff}@media (max-width:768px){.boarding-pass-grid{grid-template-columns:1fr}}