.program-subnav{background:#fafbfc;border:1px solid #1418200d;border-radius:14px 14px 0 0;margin:0 0 16px;padding:4px 6px 0}.program-subnav a{color:#3f4652;border-bottom:2px solid #0000;flex:none;align-items:center;height:44px;padding:0 14px;font-size:13.5px;font-weight:520;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.program-subnav a:hover{color:#1b1f27}.program-subnav a.active{color:var(--red);border-bottom-color:var(--red);font-weight:600}.program-panel-body{padding:0 20px 18px}.program-panel-body>.program-form-grid:first-child,.program-panel-body>.program-toggles:first-child{margin-top:4px}.program-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.program-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.program-field{color:#1b1f27;flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600;display:flex}.program-field small,.program-toggle small{color:#3f4652;font-size:12px;font-weight:400;line-height:1.5;display:block}.program-field input,.program-field select,.program-field textarea,.program-table input,.program-table select{color:#1b1f27;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #dfe3e9;border-radius:12px;padding:8px 12px;font-size:13.5px;font-weight:400;transition:border-color .15s,box-shadow .15s}.program-field textarea{resize:vertical;min-height:96px}.program-field input:focus,.program-field select:focus,.program-field textarea:focus,.program-table input:focus,.program-table select:focus{border-color:#d7192080;outline:0;box-shadow:0 0 0 3px #d719201f}.program-toggle{color:#1b1f27;cursor:pointer;align-items:flex-start;gap:10px;min-height:40px;font-size:13.5px;font-weight:600;line-height:1.5;display:flex}.program-toggle input{width:18px;height:18px;accent-color:var(--red);flex-shrink:0;margin-top:3px}.program-toggles{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin-top:18px;display:grid}.program-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.program-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.program-primary,.program-secondary{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;height:40px;padding:0 18px;font-size:13.5px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;display:inline-flex}.program-primary{color:#fff;background:var(--red);border:0}.program-primary:hover{background:#b8151b;transform:translateY(-1px);box-shadow:0 8px 18px #d7192042}.program-secondary{color:#1b1f27;background:#fff;border:1px solid #dfe3e9;box-shadow:0 1px 2px #1418200a}.program-secondary:hover{background:#fafafb;border-color:#c9ced7}.program-primary:disabled,.program-secondary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.program-link{color:var(--red);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:13px;font-weight:600;text-decoration:underline}.program-notice{color:#1b6341;background:#edf6f1;border:1px solid #cde5d8;border-radius:12px;margin:0 0 14px;padding:12px 16px;font-size:13px;line-height:1.55}.program-notice.error{color:#9e1a29;background:#fff0f1;border-color:#efc5ca}.program-note{color:#3f4652;margin:12px 0;font-size:13px;line-height:1.6}.program-empty,.program-loading{color:#3f4652;text-align:center;padding:34px 20px;font-size:14px;line-height:1.6}.program-tabs{border-bottom:1px solid #eef0f3;flex-wrap:wrap;gap:2px;margin-bottom:16px;display:flex}.program-tabs button{color:#3f4652;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;height:44px;padding:0 14px;font-size:13.5px;font-weight:520}.program-tabs button[aria-selected=true]{color:var(--red);border-color:var(--red);font-weight:600}.program-scroll{margin:0 -20px;padding:0 20px;overflow-x:auto}.program-table{border-collapse:collapse;width:100%;min-width:720px}.program-table th{color:#3f4652;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid #eef0f3;height:42px;padding:0 12px;font-size:10.5px;font-weight:600}.program-table td{color:#232833;vertical-align:top;border-top:1px solid #f1f2f5;height:auto;padding:12px;font-size:13px}.program-table td small{color:#3f4652;margin-top:4px;font-size:12px;display:block}.program-table strong{color:#111827;font-weight:600}.program-table input,.program-table select{min-width:96px;min-height:36px;font-size:13px}.program-table input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;accent-color:var(--red)}.program-status{color:#3f4652;text-transform:capitalize;white-space:nowrap;background:#eceef2;border-radius:12px;align-items:center;height:24px;padding:0 10px;font-size:11px;font-weight:600;display:inline-flex}.status-active,.status-fulfilled,.status-used{color:#227143;background:#e6f4ec}.status-pending,.status-draft{color:#8c6111;background:#fbf1dc}.status-failed,.status-cancelled,.status-expired{color:#a33143;background:#fdeeee}.program-stat{background:#f9fafb;border:1px solid #1418200d;border-radius:14px;padding:14px 16px}.program-stat span{color:#3f4652;font-size:12.5px;font-weight:500;display:block}.program-stat b{letter-spacing:-.02em;margin:6px 0 4px;font-size:22px;font-weight:620;line-height:1.2;display:block}.program-stat small{color:#3f4652;font-size:12px}.reward-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.reward-card{background:#fff;border:1px solid #1418200f;border-radius:20px;flex-direction:column;min-width:0;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #1418200a,0 14px 34px -22px #14182040}.reward-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px #1418200d,0 24px 44px -20px #14182059}.reward-card.locked .reward-face{filter:saturate(.4)brightness(.9)}.reward-face{color:#fff;isolation:isolate;height:140px;padding:14px 16px;position:relative;overflow:hidden}.reward-face:before{opacity:.12}.reward-face>*{z-index:1;position:relative}.reward-face .reward-orbit{z-index:0;border:22px solid #d719209e;border-radius:50%;width:164px;height:164px;position:absolute;top:-54px;right:-46px}.reward-face .reward-orbit:after{content:"";border:1px solid #ffffff1f;border-radius:50%;position:absolute;inset:-34px}.reward-face-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.reward-bird{width:30px;height:30px}.reward-face-top small{letter-spacing:.16em;text-transform:uppercase;color:#ffffffeb;font-size:9.5px;font-weight:700}.reward-glyph{opacity:.95;width:38px;height:38px;position:absolute;bottom:14px;right:16px}.reward-glyph svg{fill:none;stroke:#fff;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.reward-face-price{align-items:baseline;gap:6px;display:flex;position:absolute;bottom:14px;left:16px}.reward-face-price b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1}.reward-face-price span{letter-spacing:.14em;text-transform:uppercase;color:#ffffffd9;font-size:10px;font-weight:700}.reward-used{color:#227143;background:#fffffff0;border-radius:12px;align-items:center;gap:5px;height:24px;padding:0 10px;font-size:11px;font-style:normal;font-weight:600;display:inline-flex;position:absolute;top:50px;right:16px}.reward-face{background-image:linear-gradient(#0000 48%,#00000038),radial-gradient(90% 120% at 12% -12%,#ffffff1f,#0000 50%)}.face-ticket .reward-face{background:linear-gradient(#0000 48%,#0003),radial-gradient(90% 120% at 12% -12%,#ffffff1f,#0000 50%),linear-gradient(135deg,#e0161f,#a80f16 58%,#5c080c)}.face-ticket .reward-orbit{border-color:#fff3}.face-baggage .reward-face{background:linear-gradient(#0000 48%,#0003),radial-gradient(90% 120% at 12% -12%,#bedcff1a,#0000 50%),linear-gradient(135deg,#26324a,#121a2b 58%,#070a12)}.face-ticket_change .reward-face{background:linear-gradient(#0000 48%,#0003),radial-gradient(90% 120% at 12% -12%,#ffffff1f,#0000 50%),linear-gradient(135deg,#5f86bd,#3a5a8c 58%,#1d2f4d)}.face-discount .reward-face{background:linear-gradient(#0000 48%,#0003),radial-gradient(90% 120% at 12% -12%,#fff6dc24,#0000 50%),linear-gradient(135deg,#c99a4c,#8a6528 58%,#4a3515)}.face-other .reward-face{background:linear-gradient(#0000 48%,#0003),radial-gradient(90% 120% at 12% -12%,#ffffff1a,#0000 50%),linear-gradient(135deg,#5a6474,#38414f 58%,#1f252e)}.reward-card.card-bronze .reward-face{background:linear-gradient(#0000 48%,#0003),radial-gradient(130% 160% at 14% -16%,#ffecdc47,#0000 46%),linear-gradient(135deg,#c98a5a,#8a5a30 58%,#5a3a1c)}.reward-card.card-silver .reward-face{text-shadow:0 1px 2px #14182047;background:linear-gradient(#0000 48%,#0000003d),radial-gradient(130% 160% at 14% -16%,#ffffff57,#0000 46%),linear-gradient(135deg,#c3c8cf,#8d95a0 58%,#5f6774)}.reward-card.card-gold .reward-face{background:linear-gradient(#0000 48%,#0003),radial-gradient(130% 160% at 14% -16%,#fff6dc52,#0000 46%),linear-gradient(135deg,#d2a960,#8a6730 58%,#4f3a1a)}.reward-card.card-platinum .reward-face{background:linear-gradient(#0000 48%,#0003),radial-gradient(130% 160% at 14% -16%,#ffffff42,#0000 46%),linear-gradient(135deg,#8fb0d8,#4a6a98 58%,#22395c)}.reward-card.card-diamond .reward-face{background:linear-gradient(#0000 48%,#0003),radial-gradient(130% 160% at 14% -16%,#ffffff1f,#0000 46%),linear-gradient(135deg,#2b2b30,#141416 58%,#050506)}.reward-card.tier-face .reward-orbit{border-color:#d7192080}.reward-card.tier-face.airline-vf .reward-orbit{border-color:#2a9fe099}.reward-card.tier-face.locked .reward-face{filter:saturate(.8)brightness(.97)}.reward-body{flex-direction:column;flex:1;padding:14px 16px 16px;display:flex}.reward-body h2{letter-spacing:-.01em;margin:0 0 6px;font-size:16px;font-weight:600;line-height:1.3}.reward-body>p{color:#3f4652;margin:0 0 12px;font-size:12.5px;line-height:1.5}.reward-facts{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.reward-facts span{color:#232833;white-space:nowrap;background:#f1f3f6;border-radius:999px;align-items:center;height:24px;padding:0 9px;font-size:11.5px;font-weight:500;display:inline-flex}.reward-facts span.allow{color:#1f6b3a;background:#e3f5e9}.reward-facts span.spent{color:#8a5a12;background:#fbf0dc}.reward-body details{color:#3f4652;margin:0 0 14px;font-size:12.5px;line-height:1.55}.reward-body summary{color:#1b1f27;cursor:pointer;font-weight:600}.reward-body>button{margin-top:auto}.reward-progress{margin:auto 0 12px}.reward-progress+button{margin-top:0}.reward-progress-track{background:#eceef1;border-radius:999px;height:6px;display:block;overflow:hidden}.reward-progress-track i{border-radius:inherit;background:linear-gradient(90deg,#c22228,#e75b60);height:100%;display:block}.reward-card.airline-vf .reward-progress-track i{background:linear-gradient(90deg,#0a6fb0,#2a9fe0)}.reward-card.card-bronze .reward-progress-track i{background:linear-gradient(90deg,#8a5a30,#c98a5a)}.reward-card.card-silver .reward-progress-track i{background:linear-gradient(90deg,#7c8794,#b6bec8)}.reward-card.card-gold .reward-progress-track i{background:linear-gradient(90deg,#a97e3a,#cfa55e)}.reward-card.card-platinum .reward-progress-track i{background:linear-gradient(90deg,#4a6a98,#7d9ecb)}.reward-card.card-diamond .reward-progress-track i{background:linear-gradient(90deg,#0d0d0f,#3a3a40)}.reward-progress.ready .reward-progress-track i{background:linear-gradient(90deg,#1f8a4c,#3cb371)}.reward-progress small{color:#5b6472;margin-top:6px;font-size:11.5px;display:block}.reward-progress small b{color:#111827;font-weight:600}.reward-package{gap:8px;display:grid}.reward-package>div{border-top:1px solid #f1f2f5;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 14px;padding:10px 0;display:grid}.reward-package>div:first-child{border-top:0}.reward-package b{font-size:13.5px;font-weight:600;display:block}.reward-package small{color:#3f4652;margin-top:2px;font-size:12px;display:block}.reward-package .allowance{text-align:right;color:#232833;white-space:nowrap;font-size:12.5px}.reward-package .allowance b{font-size:13px}dialog.program-dialog{background:#fff;border:0;border-radius:20px;width:min(560px,100% - 24px);max-height:90vh;margin:auto;padding:0;overflow:hidden;box-shadow:0 24px 80px #0b102240}dialog.program-dialog[open]{flex-direction:column;display:flex}.program-dialog .dialog-head{flex:none;justify-content:space-between;align-items:flex-start;gap:14px;padding:24px 26px 0;display:flex}.program-dialog .dialog-head h2{min-width:0;margin:0}.program-dialog .dialog-head .drawer-close{cursor:pointer;flex:none;width:34px;height:34px;margin-top:-4px;position:static}.program-dialog .dialog-head .drawer-close:hover{color:var(--red);border-color:#d7192066}.program-dialog .dialog-head .drawer-close:disabled{opacity:.5;cursor:default}.program-dialog .dialog-body{flex:auto;min-height:0;padding:0 26px 26px;overflow:auto}dialog.program-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1721318c}.program-dialog h2{margin:0 0 6px;font-size:20px;font-weight:620}.program-dialog .program-field{margin-top:14px}.program-expiry-list{display:grid}.program-expiry-row{border-top:1px solid #f1f2f5;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;padding:12px 0;font-size:13.5px;display:grid}.program-expiry-row:first-child{border-top:0}.program-expiry-row strong{font-weight:600}.program-expiry-row small{color:#3f4652;margin-top:3px;font-size:12px;display:block}.program-expiry-count{color:#227143;white-space:nowrap;background:#e6f4ec;border-radius:13px;align-items:center;height:26px;padding:0 11px;font-size:12px;font-weight:600;display:inline-flex}.program-expiry-count.soon{color:#8c6111;background:#fbf1dc}.program-expiry-count.urgent{color:#a33143;background:#fdeeee}.program-expiry-track{background:#eceef1;border-radius:6px;grid-column:1/-1;height:6px;overflow:hidden}.program-expiry-track i{border-radius:inherit;background:linear-gradient(90deg,#c22228,#e75b60);height:100%;display:block}.tk-admin-link{color:#1b1f27;background:#fff;border:1px solid #dfe3e9;border-radius:999px;align-items:center;height:36px;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.tk-admin-link:hover{background:#fafafb;border-color:#c9ced7}.tk-signin{height:38px;padding:0 18px;font-size:13px}.tk-avatar-link{text-decoration:none}.tk-account{position:relative}.tk-account .tk-avatar{cursor:pointer}.tk-account .tk-avatar[aria-expanded=true]{box-shadow:0 0 0 2px white, 0 0 0 3px var(--red)}.tk-account-menu{z-index:60;background:#fff;border:1px solid #e3e6eb;border-radius:14px;min-width:220px;padding:8px;animation:.12s ease-out fadeIn;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 40px -12px #0b10224d}.tk-account-name{border-bottom:1px solid #eef0f3;gap:2px;padding:8px 10px 10px;display:grid}.tk-account-name b{overflow-wrap:anywhere;font-size:13.5px;font-weight:600}.tk-account-name small{color:#5a6270;font-size:12px}.tk-account-signout{width:100%;height:38px;color:var(--red);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;margin-top:6px;padding:0 10px;font-size:13.5px;font-weight:600;display:flex}.tk-account-signout:hover{background:var(--red-soft)}.tk-account-item{width:100%;height:38px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;margin-top:6px;padding:0 10px;font-size:13.5px;font-weight:600;display:flex}.tk-account-item:hover{background:#f3f4f6}.tk-account-item+.tk-account-signout{margin-top:2px}.tk-account-signout:disabled{opacity:.5;cursor:default}.program-auth-page{place-items:center;min-height:calc(100vh - 60px);padding:40px 16px;display:grid}.program-auth{background:#fff;border:1px solid #1418200d;border-radius:20px;width:min(440px,100%);padding:32px;box-shadow:0 1px 2px #1418200a,0 24px 48px -24px #1418204d}.program-auth img{width:52px;height:52px;display:block}.program-auth .eyebrow{margin-top:18px;display:block}.program-auth h1{letter-spacing:-.02em;margin:8px 0 6px;font-size:24px;font-weight:620}.program-auth>p{color:#3f4652;margin:0;font-size:14px;line-height:1.6}.program-auth .program-primary,.program-auth .program-secondary{width:100%;margin-top:12px}.program-auth form{margin-top:6px}.program-auth .program-field{margin-top:14px}.program-auth .program-note{margin-bottom:0}@media (max-width:1300px){.reward-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1050px){.program-form-grid,.reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.program-form-grid,.program-form-grid.two,.program-toggles,.reward-grid{grid-template-columns:1fr}.program-panel-body{padding:0 16px 16px}.program-scroll{margin:0 -16px;padding:0 16px}.program-subnav{overflow-x:auto}.program-subnav a{height:40px;padding:0 11px;font-size:13px}.program-dialog .dialog-head{padding:18px 18px 0}.program-dialog .dialog-body{padding:0 18px 18px}.program-auth{padding:24px}}.viewing-bar.manage-bar{flex-wrap:wrap;align-items:center;gap:6px 14px;display:flex}.manage-bar b{font-size:15px;font-weight:600}.manage-bar a{color:var(--red);font-size:13px;font-weight:600;text-decoration:none}.manage-bar small{color:#3f4652;margin-left:auto}.program-tabs button em{color:#3f4652;background:#eceef2;border-radius:999px;align-items:center;height:20px;margin-left:8px;padding:0 8px;font-size:11px;font-style:normal;font-weight:600;display:inline-flex}.program-tabs button[aria-selected=true] em{color:var(--red);background:#d719201a}.rules-toolbar>div:first-child{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.rules-dirty{color:#8c6111;background:#fbf1dc;border-radius:12px;align-items:center;height:24px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.users-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.users-toolbar .portal-search input{min-width:220px}.users-table tbody tr{cursor:pointer}.users-table td small,.perm-table td small{color:#3f4652;margin-top:2px;font-size:11.5px;display:block}.chip-list,.access-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip-list span,.access-chips span{color:#232833;white-space:nowrap;background:#f1f3f6;border-radius:999px;align-items:center;gap:6px;height:24px;padding:0 9px;font-size:12px;display:inline-flex}.chip-list small,.access-chips small{color:#3f4652;font-size:12px}.access-chips button{color:#6b7280;cursor:pointer;background:0 0;border:0;padding:0;font-size:15px;line-height:1}.access-chips button:hover{color:var(--red)}.status-chip{white-space:nowrap;border-radius:11px;align-items:center;height:22px;padding:0 9px;font-size:11.5px;font-weight:600;display:inline-flex}.status-chip.on,.status-chip.active{color:#1f6b3a;background:#e3f5e9}.status-chip.off,.status-chip.disabled{color:#6b7280;background:#eef0f3}.user-sheet{width:50vw;min-width:420px;max-width:100vw}.user-sheet h2{margin:8px 0 12px;font-size:22px;font-weight:600}.user-sheet .drawer-section{margin-top:14px}.user-sheet .drawer-section h3{margin-bottom:10px}.user-sheet .check-list{gap:8px;display:grid}.user-sheet .check-list label{align-items:flex-start;gap:10px;font-size:13.5px;display:flex}.user-sheet .check-list small{color:#3f4652;margin-top:2px;font-size:12px;display:block}.user-sheet .access-chips{margin-top:10px}.perm-matrix th{white-space:nowrap;font-size:11px}.perm-matrix td input:not([type=checkbox]){min-width:150px}.perm-matrix td small{color:#3f4652;margin-top:3px;font-size:11px;display:block}.perm-table select{height:34px}@media (max-width:650px){.user-sheet{width:100vw;min-width:0}}.user-sheet h2,.user-sheet .drawer-section h3{font-family:var(--font-geist-sans), Arial, sans-serif}.perm-table{table-layout:fixed;width:100%}.perm-table th:nth-child(2),.perm-table td:nth-child(2){width:92px}.perm-table th:nth-child(3),.perm-table td:nth-child(3){width:150px}.perm-table td b{overflow-wrap:anywhere;display:block}.perm-table select{width:100%}.user-sheet .perm-table{min-width:0}.admin-back{margin-bottom:14px}.admin-back .secondary-action{gap:6px}.tk-admin-link.active{color:var(--red);background:#d719200f;border-color:#d7192073}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{color:#111827}.data-table th i{color:var(--red);margin-left:5px;font-size:9px;font-style:normal}.data-table tr.clickable{cursor:pointer}.data-table tr.clickable:hover td{background:#fafbfc}.data-table-footer{color:#3f4652;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 0 0;font-size:12.5px;display:flex}.data-table-footer>div{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.data-table-footer select{color:#1b1f27;height:34px;min-height:34px;font:inherit;background:#fff;border:1px solid #dfe3e9;border-radius:999px;padding:0 30px 0 14px;font-size:12.5px;font-weight:560;box-shadow:0 1px 2px #1418200a}.data-table-footer select:focus{border-color:#d7192080;outline:0;box-shadow:0 0 0 3px #d719201f}.data-table-footer label{align-items:center;gap:8px;display:inline-flex}.program-table tfoot td{color:#111827;background:#f8f9fb;border-top:2px solid #e6e9ee;padding:12px;font-size:13px;font-weight:600}.data-table-footer .secondary-action{height:34px;padding:0 12px;font-size:12.5px}.data-table-footer .secondary-action:disabled{opacity:.45;cursor:default}.filter-combobox{min-width:150px}.toolbar-check{color:#232833;white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.toolbar-check input{width:16px;height:16px;accent-color:var(--red)}.user-sheet .users-toolbar{margin-bottom:10px}.matrix-toolbar{color:#785a28;background:#fff8ea;border:1px solid #f0d9ac;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.matrix-toolbar>div{gap:8px;display:flex}.matrix-scroll{max-height:70vh;overflow:auto}.perm-matrix{min-width:0}.perm-matrix thead th{z-index:2;text-align:center;background:#fff;position:sticky;top:0}.perm-matrix thead th:first-child,.perm-matrix tbody td:first-child{z-index:1;text-align:left;background:#fff;min-width:260px;position:sticky;left:0}.perm-matrix thead th:first-child{z-index:3}.perm-matrix thead th small{letter-spacing:0;text-transform:none;color:#6b7280;margin-top:3px;font-size:10px;font-weight:500;display:block}.perm-matrix thead th.dirty{color:#8c6111}.perm-matrix .group-row td{color:var(--red);letter-spacing:.12em;text-transform:uppercase;background:#fafbfc;padding:8px 12px;font-size:10.5px;font-weight:700}.perm-matrix .matrix-cell{text-align:center;vertical-align:middle}.table-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.table-toolbar .portal-search{width:300px;max-width:100%}.toolbar-range{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.toolbar-range label{color:#5b6472;align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex}.toolbar-range input{border:1px solid var(--line);color:#111827;height:38px;font:inherit;background:#fff;border-radius:10px;padding:0 10px;font-size:13px}.range-summary{color:#5b6472;margin:-4px 0 12px;font-size:13px}.range-summary b{color:#111827}.program-panel{margin-bottom:16px}.program-panel:last-child{margin-bottom:0}.user-sheet .drawer-section .program-field{margin-top:10px}.agency-drawer{background:#fff}.drawer-close{z-index:2;cursor:pointer}.drawer-close:hover{color:var(--red);border-color:#d7192066}.agency-drawer .drawer-section{background:0 0;border:0;border-top:1px solid #eef0f3;border-radius:0;margin-top:20px;padding:18px 0 0}.agency-drawer .drawer-section:first-of-type{border-top:0;margin-top:12px;padding-top:0}.agency-drawer .drawer-section~form>.drawer-section:first-of-type{border-top:1px solid #eef0f3;margin-top:20px;padding-top:18px}.agency-drawer .drawer-section h3{color:#111827;letter-spacing:0;margin:0 0 10px;font-size:14px;font-weight:600}.agency-drawer .drawer-details{background:0 0;border:0;border-radius:0;padding:0}.agency-drawer .drawer-details p{border-top:1px solid #eef0f3}.agency-drawer .drawer-details p:first-child{border-top:0}.agency-drawer .drawer-note{color:#3f4652;background:0 0;border:0;border-radius:0;padding:0}.agency-drawer .drawer-note b{color:#111827}.user-sheet .program-actions{border-top:1px solid #eef0f3;margin-top:22px;padding-top:18px}.program-dialog{background:#fff}.matrix-key{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.matrix-key b{display:block}.matrix-key:hover b{color:var(--red)}.matrix-key .status-chip{margin-top:4px}.package-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.package-tile{color:inherit;background:#fff;border:1px solid #eef0f3;border-radius:16px;flex-direction:column;gap:12px;padding:14px;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex}.package-tile:hover{border-color:#d719204d;transform:translateY(-2px);box-shadow:0 14px 30px -20px #14182059}.package-tile.spent{background:#fafbfc}.package-tile-head{align-items:center;gap:10px;display:flex}.package-tile-head>div{flex:1;min-width:0}.package-tile-head b{font-size:14px;font-weight:600;line-height:1.3;display:block}.package-tile-head small{color:#3f4652;margin-top:2px;font-size:12px;display:block}.type-tile{color:#fff;border-radius:12px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.type-tile svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.type-tile.ticket{background:linear-gradient(135deg,#e0161f,#a80f16)}.type-tile.baggage{background:linear-gradient(135deg,#26324a,#121a2b)}.type-tile.ticket_change{background:linear-gradient(135deg,#5f86bd,#3a5a8c)}.type-tile.discount{background:linear-gradient(135deg,#c99a4c,#8a6528)}.type-tile.other{background:linear-gradient(135deg,#5a6474,#38414f)}.package-used{color:#227143;white-space:nowrap;background:#e6f4ec;border-radius:11px;align-items:center;height:22px;padding:0 8px;font-size:11px;font-style:normal;font-weight:600;display:inline-flex}.package-allow{gap:6px;display:grid}.package-allow small{color:#3f4652;font-size:12px}.package-allow small b{color:#111827;font-weight:600}.package-track{background:#eceef1;border-radius:6px;height:6px;display:block;overflow:hidden}.package-track i{border-radius:inherit;background:linear-gradient(90deg,#1f6b3a,#4caf7a);height:100%;display:block}.package-chip{color:#1f6b3a;background:#e3f5e9;border-radius:999px;align-self:flex-start;align-items:center;height:24px;padding:0 9px;font-size:11.5px;font-weight:600;display:inline-flex}.package-spent{color:#8a5a12}.package-note{color:#3f4652;margin-top:auto;font-size:12px}.package-note span{color:var(--red);font-weight:600}.program-dialog{width:min(680px,100vw - 32px)}.program-dialog .dialog-section{border-top:1px solid #eef0f3;margin-top:14px;padding-top:12px}.program-dialog .dialog-section h3{margin:0 0 8px;font-size:13.5px;font-weight:600}.passenger-card{background:#fafbfc;border:1px solid #eef0f3;border-radius:12px;flex-wrap:wrap;gap:8px 18px;margin:10px 0 12px;padding:12px 14px;font-size:13px;display:flex}.passenger-card>b{letter-spacing:.08em;text-transform:uppercase;color:var(--red);flex-basis:100%;font-size:12px}.passenger-card span small{color:#3f4652;font-size:11px;display:block}.panel-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.program-dialog .program-field:has(>input:required,>select:required,>textarea:required)>span:after{content:" *";color:var(--red);font-weight:700}@media (max-width:780px){.empty-row td{text-align:left}.upgrade-list>div{grid-template-columns:44px minmax(0,1fr) 48px;gap:8px 12px}.upgrade-list>div>div{grid-area:2/1/auto/-1}.upload-panel{grid-template-columns:1fr}.selected-file-actions,.file-check-result{grid-column:1;margin-top:0}}@media (max-width:600px){.data-table-footer{flex-direction:column;align-items:stretch;gap:10px}.data-table-footer>div{justify-content:space-between}.data-table-footer>div label{flex:100%;justify-content:space-between}.data-table-footer>div>span{text-align:center;flex:1;order:1}.data-table-footer>div .secondary-action:first-of-type{order:0}.data-table-footer>div .secondary-action:last-of-type{order:2}.loyalty-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.loyalty-hero-stats span{border-right:0;padding-right:0;font-size:11.5px}.loyalty-hero-stats b{font-size:17px}.perm-matrix thead th:first-child,.perm-matrix tbody td:first-child{min-width:160px}}.package-groups{gap:18px;display:grid}.package-group-head{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:8px;display:flex}.package-group-head small{color:#5a6270;font-size:12.5px}.package-group-head .program-link{margin-left:auto}.package-group .program-table{min-width:560px}.queue-table .program-table th{border-bottom:1px solid var(--line);height:40px;color:var(--muted);letter-spacing:.06em;font-size:11px}.queue-table .program-table td{vertical-align:middle;padding:14px 12px}.queue-table .program-table td>small{color:var(--muted);margin-top:3px;font-size:12px}.queue-table .program-table td>b{font-weight:600}.queue-number{font-variant-numeric:tabular-nums;letter-spacing:.01em}.queue-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.busy-time{align-items:end;margin-bottom:12px}.busy-time .program-link{justify-self:start;padding-bottom:10px}.queue-ref{font-family:var(--font-geist-mono), ui-monospace, Menlo, monospace;letter-spacing:.04em;font-size:12.5px}.queue-muted{color:#9ca3af}.queue-agency,.queue-reward{align-items:center;gap:10px;min-width:0;display:flex}.queue-agency>div,.queue-reward>div{min-width:0}.queue-agency b,.queue-reward b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.queue-agency small,.queue-reward small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.queue-avatar{color:#3f4652;letter-spacing:.04em;background:#eef0f4;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:11.5px;font-weight:700;display:inline-grid}.queue-table:not(.queue-table-flat) .queue-reward>div{min-width:170px}.queue-table:not(.queue-table-flat) .queue-reward b{white-space:normal}.queue-reward .type-tile{border-radius:10px;width:34px;height:34px}.queue-reward .type-tile svg{width:17px;height:17px}.queue-open{color:var(--red);white-space:nowrap;opacity:0;font-size:12.5px;font-weight:600;transition:opacity .15s}.queue-table tr:hover .queue-open,.queue-table tr:focus-within .queue-open{opacity:1}@media (hover:none){.queue-open{opacity:1}}@media (max-width:780px){.queue-table .program-table td{padding:12px 10px}}.queue-table-flat .program-table td{white-space:nowrap}.queue-table-flat .queue-reward>b{min-width:0;max-width:340px}.sheet-summary{background:#f5f6f8;border-radius:14px;align-items:center;gap:12px;margin:4px 0 18px;padding:14px 16px;display:flex}.sheet-summary>div{flex:1;min-width:0}.sheet-summary b{font-size:15px;font-weight:600;display:block}.sheet-summary small{color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.sheet-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;display:grid}.sheet-block{padding:16px 0 0}.sheet-columns+.sheet-columns,.sheet-columns+.sheet-block,.sheet-block+.sheet-block,.sheet-block+.sheet-columns{border-top:1px solid #eef0f3;margin-top:10px}.sheet-columns>.sheet-block{border-top:0;margin-top:0;padding-top:16px}.sheet-block h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:600}.sheet-facts{gap:9px;margin:0;display:grid}.sheet-facts>div{grid-template-columns:minmax(96px,38%) 1fr;align-items:baseline;gap:12px;display:grid}.sheet-facts dt{color:var(--muted);margin:0;font-size:12.5px}.sheet-facts dd{min-width:0;color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:13.5px;font-weight:500}.sheet-facts dd small{color:var(--muted);overflow-wrap:anywhere;margin-top:1px;font-size:12px;font-weight:400;display:block}.sheet-facts dd a{color:var(--ink);text-underline-offset:2px;-webkit-text-decoration:underline #c8ccd3;text-decoration:underline #c8ccd3}.sheet-empty{color:var(--muted);margin:0;font-size:13px}.sheet-quote{border-left:3px solid var(--red);color:var(--ink);white-space:pre-wrap;background:#fbf6f6;border-radius:0 10px 10px 0;margin:0;padding:10px 14px;font-size:13.5px;line-height:1.55}.sheet-terms{color:#3f4652;white-space:pre-wrap;margin:0;font-size:12.5px;line-height:1.6}.sheet-timeline{margin:0;padding:0;list-style:none;position:relative}.sheet-timeline li{gap:12px;padding:0 0 14px;display:flex;position:relative}.sheet-timeline li:last-child{padding-bottom:0}.sheet-timeline li:before{content:"";background:#eef0f3;width:2px;position:absolute;top:18px;bottom:-2px;left:7px}.sheet-timeline li:last-child:before{display:none}.sheet-timeline i{z-index:1;background:#c8ccd3;border:3px solid #fff;border-radius:50%;flex:none;width:16px;height:16px;margin-top:4px;position:relative;box-shadow:0 0 0 1px #dfe3e9}.sheet-timeline .is-pending i{background:#d9a53a}.sheet-timeline .is-fulfilled i,.sheet-timeline .is-used i{background:#2f9e5b}.sheet-timeline .is-cancelled i,.sheet-timeline .is-failed i,.sheet-timeline .is-expired i{background:#d0484f}.sheet-timeline .is-note i{background:#fff;box-shadow:0 0 0 1.5px #9ca3af}.sheet-timeline li>div{flex:1;min-width:0}.sheet-timeline span{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.sheet-timeline span b{font-size:13px;font-weight:600}.sheet-timeline small{color:var(--muted);font-size:12px}.sheet-timeline p{color:var(--ink);white-space:pre-wrap;margin:5px 0 0;font-size:13.5px;line-height:1.5}.sheet-timeline .is-note p{background:#f5f6f8;border-radius:10px;padding:8px 12px}.sheet-form .program-field{margin-top:10px}.user-sheet .sheet-block+.program-notice{margin-top:16px}.sheet-ids{color:#9ca3af;font-family:var(--font-geist-mono), ui-monospace, Menlo, monospace;margin:18px 0 0;font-size:11px}@media (max-width:650px){.sheet-columns{grid-template-columns:1fr}.sheet-columns>.sheet-block+.sheet-block{padding-top:12px}}.program-field input.field-locked{color:#4b5260;cursor:not-allowed;background:#f3f4f6;border-color:#e5e7eb}.agency-logins{margin:0 0 12px;padding:0;list-style:none}.agency-logins li{border-top:1px solid #eef0f3;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.agency-logins li:first-child{border-top:0}.agency-logins b,.agency-logins small{display:block}.agency-logins small{color:#6b7280;margin-top:2px;font-size:12px}.login-password{font-family:var(--font-geist-mono), ui-monospace, monospace;letter-spacing:.02em}.season-table th.num,.season-table td.num{text-align:right;white-space:nowrap}.season-table td small{color:#6b7280;margin-top:2px;font-size:11.5px;display:block}.season-form-table{min-width:0;margin-top:10px}.season-form-table th{font-size:10.5px}.season-form-table td{vertical-align:middle;padding:8px 10px 8px 0}.season-form-table input{width:100%;min-width:0;height:38px;font:inherit;border:1px solid #dfe3e9;border-radius:10px;padding:0 10px;font-size:13.5px}.season-form-table input:disabled{color:#6b7280;background:#f5f6f8}.status-upcoming{color:#1f4b8f;background:#e7eef9}.status-current{color:#227143;background:#e6f4ec}.status-past{color:#3f4652;background:#eceef2}
