@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=DM+Mono:wght@400;500&display=swap);*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--brand:#230658;--brand-mid:#3a0e8a;--brand-light:#5c1fc4;--brand-pale:#ede8fb;--brand-faint:#f5f2fd;--accent:#7c3aed;--accent-hover:#6d28d9;--text-primary:#1a1025;--text-secondary:#5b5470;--text-muted:#9e96b8;--border:#e2ddf0;--border-focus:#7c3aed;--surface:#fff;--bg:#f7f5fd;--red:#c0392b;--red-pale:#fdf0ef;--success:#166534;--success-pale:#dcfce7;--radius:12px;--radius-sm:8px;--shadow:0 1px 4px #23065814,0 4px 16px #2306580f;--shadow-lg:0 8px 32px #2306581f}body{background:#f7f5fd;background:var(--bg);color:#1a1025;color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:15px;line-height:1.6}.app-loading{align-items:center;color:#5b5470;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;height:100vh;justify-content:center}.spinner{animation:spin .8s linear infinite;border:3px solid #e2ddf0;border-top-color:#7c3aed;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.login-page{background:linear-gradient(145deg,#230658,#3a0e8a 40%,#6d28d9);justify-content:center;min-height:100vh}.login-card,.login-page{align-items:center;display:flex}.login-card{background:#fff;background:var(--surface);border:1px solid #e2ddf0;border:1px solid var(--border);border-radius:20px;box-shadow:0 8px 32px #2306581f;box-shadow:var(--shadow-lg);flex-direction:column;gap:16px;max-width:420px;padding:48px 40px;text-align:center;width:100%}.login-logo{margin-bottom:8px}.login-card h1{color:#1a1025;color:var(--text-primary);font-size:22px;font-weight:600}.login-subtitle{color:#5b5470;color:var(--text-secondary);font-size:14px;line-height:1.5;max-width:300px}.login-btn{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:8px;width:100%}.login-hint{color:#9e96b8;color:var(--text-muted);font-size:12px}.app-header{background:#230658;background:var(--brand);border-bottom:1px solid #ffffff14;position:sticky;top:0;z-index:100}.header-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:800px;padding:14px 24px}.header-logo{color:#fff;font-size:15px;font-weight:600}.header-logo,.header-user{align-items:center;display:flex;gap:10px}.header-user{color:#ffffffbf;font-size:13px}.user-avatar{align-items:center;background:#ffffff26;border:1.5px solid #ffffff4d;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:32px;justify-content:center;width:32px}.user-avatar.large{background:#ede8fb;background:var(--brand-pale);border:1.5px solid #e2ddf0;border:1.5px solid var(--border);color:#230658;color:var(--brand);font-size:16px;height:44px;width:44px}.page{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;margin:0 auto;max-width:800px;padding:32px 24px 64px;width:100%}.page-title-block{margin-bottom:28px}.page-title-block h2{color:#230658;color:var(--brand);font-size:22px;font-weight:600;margin-bottom:6px}.page-title-block p{color:#5b5470;color:var(--text-secondary);font-size:14px}.form-card{background:#fff;background:var(--surface);border:1px solid #e2ddf0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 4px #23065814,0 4px 16px #2306580f;box-shadow:var(--shadow);padding:28px}.form-card h3{color:#1a1025;color:var(--text-primary);font-size:16px;font-weight:600;margin-bottom:20px}.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}.form-group label{color:#5b5470;color:var(--text-secondary);font-size:13px;font-weight:500}.tz-note{color:#9e96b8;color:var(--text-muted);font-size:11px;font-weight:400;margin-left:4px}.form-group input[type=date],.form-group select{appearance:none;background:#fff;background:var(--surface);border:1px solid #e2ddf0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#1a1025;color:var(--text-primary);font-family:inherit;font-size:14px;outline:none;padding:10px 14px;transition:border-color .15s,box-shadow .15s}.form-group input[type=date]:focus,.form-group select:focus{border-color:#7c3aed;border-color:var(--border-focus);box-shadow:0 0 0 3px #7c3aed1f}.form-group input.error,.form-group select.error{border-color:#c0392b;border-color:var(--red)}.error-msg{color:#c0392b;color:var(--red);font-size:12px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:500px){.form-row{grid-template-columns:1fr}}.form-actions{border-top:1px solid #e2ddf0;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.added-trips{margin-bottom:20px}.added-trips h3{color:#5b5470;color:var(--text-secondary);font-size:13px;font-weight:500;margin-bottom:10px}.trip-chip{background:#f5f2fd;background:var(--brand-faint);border:1px solid #ede8fb;border:1px solid var(--brand-pale);border-radius:8px;border-radius:var(--radius-sm);justify-content:space-between;margin-bottom:8px;padding:12px 14px}.trip-chip,.trip-chip-info{align-items:center;display:flex}.trip-chip-info{gap:12px}.trip-chip-info strong{color:#1a1025;color:var(--text-primary);display:block;font-size:14px;font-weight:600}.trip-dates{color:#5b5470;color:var(--text-secondary);font-size:12px}.trip-code-badge{align-items:center;background:#ede8fb;background:var(--brand-pale);border-radius:8px;color:#230658;color:var(--brand);display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:36px;justify-content:center;letter-spacing:.03em;width:36px}.btn-remove{background:none;border:none;border-radius:6px;color:#9e96b8;color:var(--text-muted);cursor:pointer;font-size:14px;padding:4px 8px;transition:background .15s,color .15s}.btn-remove:hover{background:#fde8e8;color:#c0392b;color:var(--red)}.review-card{background:#fff;background:var(--surface);border:1px solid #e2ddf0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 4px #23065814,0 4px 16px #2306580f;box-shadow:var(--shadow);padding:28px}.review-user-block{align-items:center;display:flex;gap:14px;margin-bottom:20px}.review-user-block strong{display:block;font-size:15px;font-weight:600}.review-upn{color:#5b5470;color:var(--text-secondary);font-size:13px}.review-divider{border:none;border-top:1px solid #e2ddf0;border-top:1px solid var(--border);margin-bottom:20px}.review-card h3{color:#5b5470;color:var(--text-secondary);font-size:14px;font-weight:500;margin-bottom:14px}.review-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.review-item{align-items:flex-start;background:#f7f5fd;background:var(--bg);border:1px solid #e2ddf0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:14px;padding:16px}.review-item-num{align-items:center;background:#ede8fb;background:var(--brand-pale);border-radius:50%;color:#230658;color:var(--brand);display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:26px;justify-content:center;margin-top:2px;width:26px}.review-item-body{flex:1 1}.review-country{align-items:center;display:flex;gap:8px;margin-bottom:8px}.review-country .trip-code-badge{font-size:10px;height:30px;width:30px}.review-country strong{font-size:15px;font-weight:600}.review-dates{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.date-badge{border-radius:99px;font-size:12px;font-weight:500;padding:3px 10px}.date-badge.start{background:#ede8fb;background:var(--brand-pale);color:#230658;color:var(--brand)}.date-badge.end{background:#ede9fe;color:#5b21b6}.date-arrow{font-size:12px}.date-arrow,.review-group{color:#9e96b8;color:var(--text-muted)}.review-group{font-size:11px}.review-group code{background:#f7f5fd;background:var(--bg);border:1px solid #e2ddf0;border:1px solid var(--border);border-radius:4px;font-family:DM Mono,monospace;font-size:11px;padding:2px 6px}.review-actions{border-top:1px solid #e2ddf0;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end;padding-top:20px}.error-banner{background:#fdf0ef;background:var(--red-pale);border:1px solid #f5c6c6;border-radius:8px;border-radius:var(--radius-sm);color:#c0392b;color:var(--red);font-size:13px;margin-bottom:16px;padding:12px 16px}.confirmation-card{background:#fff;background:var(--surface);border:1px solid #e2ddf0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 4px #23065814,0 4px 16px #2306580f;box-shadow:var(--shadow);margin:0 auto;max-width:560px;padding:40px 32px;text-align:center}.confirmation-icon{margin-bottom:20px}.confirmation-card h2{color:#230658;color:var(--brand);font-size:22px;font-weight:600;margin-bottom:10px}.confirmation-sub{color:#5b5470;color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:24px}.confirmation-ref{align-items:center;background:#f5f2fd;background:var(--brand-faint);border:1px solid #ede8fb;border:1px solid var(--brand-pale);border-radius:8px;border-radius:var(--radius-sm);display:inline-flex;flex-direction:column;gap:4px;margin-bottom:28px;padding:14px 28px}.ref-label{color:#9e96b8;color:var(--text-muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.ref-value{color:#230658;color:var(--brand);font-family:DM Mono,monospace;font-size:16px;font-weight:500}.confirmation-summary{margin-bottom:20px;text-align:left;width:100%}.confirmation-summary h3{color:#5b5470;color:var(--text-secondary);font-size:13px;font-weight:500;margin-bottom:10px}.confirmation-trip{align-items:center;border-bottom:1px solid #e2ddf0;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:10px 0}.confirmation-trip:last-child{border-bottom:none}.confirmation-trip strong{display:block;font-size:14px}.confirmation-info{background:#f7f5fd;background:var(--bg);border-left:3px solid #7c3aed;border-left:3px solid var(--accent);border-radius:8px;border-radius:var(--radius-sm);color:#5b5470;color:var(--text-secondary);font-size:13px;margin-bottom:24px;padding:14px 16px;text-align:left}.confirmation-btn{justify-content:center;width:100%}.btn-primary{align-items:center;background:#230658;background:var(--brand);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:background .15s,transform .1s,box-shadow .15s}.btn-primary:hover{background:#3a0e8a;background:var(--brand-mid);box-shadow:0 4px 12px #23065840}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary{align-items:center;background:#fff;background:var(--surface);border:1px solid #ede8fb;border:1px solid var(--brand-pale);border-radius:8px;border-radius:var(--radius-sm);color:#230658;color:var(--brand);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:background .15s,border-color .15s}.btn-secondary:hover{background:#f5f2fd;background:var(--brand-faint);border-color:#7c3aed;border-color:var(--accent)}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.btn-spinner{animation:spin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}.requests-title-row{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.page-title{color:#230658;color:var(--brand);font-size:22px;font-weight:600;margin-bottom:4px}.page-subtitle{color:#5b5470;color:var(--text-secondary);font-size:13px}.filter-tabs{background:#fff;background:var(--surface);border:1px solid #e2ddf0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);display:flex;gap:4px;margin-bottom:20px;padding:4px;width:fit-content}.filter-tab{align-items:center;background:#0000;border:none;border-radius:6px;color:#5b5470;color:var(--text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:500;gap:6px;padding:6px 14px;transition:all .15s}.filter-tab:hover{background:#f5f2fd;background:var(--brand-faint);color:#230658;color:var(--brand)}.filter-tab.active{background:#230658;background:var(--brand);color:#fff}.filter-count{background:#fff3;border-radius:99px;font-size:11px;min-width:18px;padding:1px 6px;text-align:center}.filter-tab:not(.active) .filter-count{background:#ede8fb;background:var(--brand-pale);color:#230658;color:var(--brand)}.requests-loading{align-items:center;color:#5b5470;color:var(--text-secondary);padding:48px}.requests-list,.requests-loading{display:flex;flex-direction:column;gap:12px}.request-card{background:#fff;background:var(--surface);border:1px solid #e2ddf0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 1px 4px #23065814,0 4px 16px #2306580f;box-shadow:var(--shadow);padding:20px 24px;transition:box-shadow .15s}.request-card:hover{box-shadow:0 8px 32px #2306581f;box-shadow:var(--shadow-lg)}.request-card.faded{opacity:.7}.request-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.request-country-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.request-country{color:#1a1025;color:var(--text-primary);font-size:16px;font-weight:600}.request-submitted{color:#9e96b8;color:var(--text-muted);font-size:12px;white-space:nowrap}.status-badge{border-radius:99px;font-size:11px;font-weight:500;padding:3px 10px}.request-dates-row{align-items:center;border-bottom:1px solid #e2ddf0;border-bottom:1px solid var(--border);border-top:1px solid #e2ddf0;border-top:1px solid var(--border);display:flex;gap:16px;margin-bottom:12px;padding:14px 0}.request-date-block{display:flex;flex-direction:column;gap:2px}.date-label{color:#9e96b8;color:var(--text-muted);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.date-value{color:#1a1025;color:var(--text-primary);font-size:14px;font-weight:500}.date-divider{color:#9e96b8;color:var(--text-muted);font-size:16px}.request-duration{background:#ede8fb;background:var(--brand-pale);border-radius:99px;color:#230658;color:var(--brand);font-size:12px;font-weight:500;margin-left:auto;padding:4px 12px}.request-group-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.group-label{color:#9e96b8;color:var(--text-muted);font-size:11px}.group-value{background:#f7f5fd;background:var(--bg);border:1px solid #e2ddf0;border:1px solid var(--border);border-radius:4px;color:#5b5470;color:var(--text-secondary);font-family:DM Mono,monospace;font-size:11px;padding:2px 8px}.trip-code-badge.sm{border-radius:6px;font-size:10px;height:28px;width:28px}.empty-state{color:#5b5470;color:var(--text-secondary);flex-direction:column;font-size:14px;padding:64px 24px;text-align:center}.empty-state,.header-right{align-items:center;display:flex;gap:14px}.btn-nav{background:#ffffff1f;border:1px solid #ffffff40;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:7px 14px;transition:background .15s}.btn-nav:hover{background:#ffffff38}.admin-badge{background:#fff3;border:1px solid #ffffff59;border-radius:99px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.06em;padding:3px 10px;text-transform:uppercase}.admin-search-row{display:flex;gap:10px;margin-bottom:16px}.admin-search{border:1px solid #e2ddf0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);flex:1 1;font-family:inherit;font-size:14px;outline:none;padding:10px 14px;transition:border-color .15s}.admin-search:focus{border-color:#7c3aed;border-color:var(--border-focus)}.admin-user-row{align-items:center;border-bottom:1px solid #e2ddf0;border-bottom:1px solid var(--border);display:flex;gap:10px;margin-bottom:12px;padding-bottom:12px}.user-avatar.sm{background:#ede8fb;background:var(--brand-pale);border:1px solid #e2ddf0;border:1px solid var(--border);color:#230658;color:var(--brand);font-size:11px;height:28px;width:28px}.admin-user-name{color:#1a1025;color:var(--text-primary);display:block;font-size:13px;font-weight:600}.admin-user-upn{color:#9e96b8;color:var(--text-muted);display:block;font-size:11px}.admin-bypass-badge{background:#fef3c7;border:1px solid #fde68a;border-radius:99px;color:#92400e;font-size:11px;font-weight:500;padding:3px 8px}.admin-bypass-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.bypass-value{color:#5b5470;color:var(--text-secondary);font-family:DM Mono,monospace;font-size:11px}.btn-force-expire{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;border-radius:var(--radius-sm);color:#991b1b;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:12px;font-weight:500;padding:6px 14px;transition:background .15s;white-space:nowrap}.btn-force-expire:hover{background:#fee2e2}.modal-overlay{align-items:center;background:#23065873;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:999}.modal-card{background:#fff;background:var(--surface);border:1px solid #e2ddf0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 32px #2306581f;box-shadow:var(--shadow-lg);max-width:460px;padding:28px;width:100%}.modal-card h3{color:#230658;color:var(--brand);font-size:17px;font-weight:600;margin-bottom:10px}.modal-card p{color:#5b5470;color:var(--text-secondary);font-size:14px;line-height:1.6;margin-bottom:18px}.modal-detail{background:#f7f5fd;background:var(--bg);border:1px solid #e2ddf0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:8px;margin-bottom:20px;padding:14px 16px}.modal-detail>div{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.btn-danger{align-items:center;background:#dc2626;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:background .15s}.btn-danger:hover{background:#b91c1c}.btn-danger:disabled{cursor:not-allowed;opacity:.6}.success-banner{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;cursor:pointer;margin-bottom:16px;padding:12px 16px}.submitting-note,.success-banner{border-radius:8px;border-radius:var(--radius-sm);font-size:13px}.submitting-note{background:#f5f2fd;background:var(--brand-faint);border:1px solid #ede8fb;border:1px solid var(--brand-pale);color:#5b5470;color:var(--text-secondary);margin-bottom:12px;padding:10px;text-align:center}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.f0d9e16c.css.map*/