.tp{--tp-primary:var(--primary);--tp-primary-2:var(--primary-2);--tp-primary-hover:var(--primary-hover);--tp-bg:var(--bg);--tp-panel:var(--panel);--tp-ink:var(--ink);--tp-muted:var(--muted);--tp-border:var(--border);--tp-control-border:var(--control-border);--tp-accent-soft:var(--accent-soft);--tp-accent:var(--accent);--tp-lavender:var(--lavender);--tp-danger:var(--danger);--tp-danger-soft:var(--danger-soft);--tp-warning:var(--warning);--tp-warning-soft:var(--warning-soft);--tp-success:var(--success);--tp-success-soft:var(--success-soft);--tp-info:var(--info);--tp-info-soft:var(--info-soft);--tp-radius:22px;--tp-radius-sm:12px;--tp-shadow:0 1px 2px rgb(32 21 69/4%),0 8px 24px rgb(32 21 69/6%);--tp-ring:0 0 0 3px rgb(87 52 180/14%);--tp-sidebar:264px;min-height:100vh;background:var(--tp-bg);color:var(--tp-ink);font-size:15px;line-height:1.55}.tp :focus-visible{outline:3px solid var(--tp-primary);outline-offset:2px;border-radius:6px}.tp h1,.tp h2,.tp h3{letter-spacing:-.01em;line-height:1.25;font-weight:600;text-wrap:balance}html[dir=rtl] .tp :is(h1,h2,h3){letter-spacing:0;line-height:1.5}.tp h1{font-size:clamp(1.5rem,2.4vw,1.9rem)}.tp h2{font-size:1.15rem}.tp h3{font-size:1rem}.tp p{color:var(--tp-muted);margin:0}.tp a{color:var(--tp-primary);text-underline-offset:3px}.tp .tp-skip{position:absolute;inset-inline-start:-999px;top:8px;z-index:50;background:var(--tp-panel);padding:8px 14px;border-radius:8px}.tp .tp-skip:focus{inset-inline-start:8px}.tp-shell{display:grid;grid-template-columns:var(--tp-sidebar) minmax(0,1fr);min-height:100vh}.tp-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--tp-primary-2);color:var(--inverse);padding:20px 14px 24px;display:flex;flex-direction:column;gap:18px}.tp-sidebar a{color:inherit;text-decoration:none}.tp-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.05rem;padding:4px 8px;color:var(--inverse)}.tp-brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--tp-accent);color:var(--tp-primary-2);font-weight:800;font-size:.85rem}.tp-brand small{display:block;font-weight:500;font-size:.72rem;color:var(--inverse-muted);letter-spacing:.04em;text-transform:uppercase}html[dir=rtl] .tp-brand small{letter-spacing:0}.tp-nav{gap:16px}.tp-nav,.tp-nav-group{display:flex;flex-direction:column}.tp-nav-group{gap:2px}.tp-nav-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--inverse-muted);padding:0 10px 4px;font-weight:700}html[dir=rtl] .tp-nav-label{letter-spacing:0}.tp-nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;font-size:.92rem;color:var(--inverse)}.tp-nav-link:hover{background:rgb(255 255 255/7%);color:var(--inverse)}.tp-nav-link[aria-current=page]{background:var(--tp-accent);color:var(--tp-primary-2);font-weight:600}.tp-nav-link svg{flex-shrink:0;opacity:.9}.tp-sidebar-foot{margin-top:auto;display:grid;gap:6px;font-size:.85rem}.tp-sidebar-foot .tp-nav-link{font-size:.85rem}.tp-env{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;color:var(--tp-primary-2);background:var(--tp-lavender);border-radius:999px;padding:3px 9px;margin-inline-start:8px}.tp-main{min-width:0;display:flex;flex-direction:column}.tp-topbar{position:sticky;top:0;z-index:20;gap:12px;justify-content:space-between;padding:12px 28px;background:rgb(255 255 255/92%);backdrop-filter:blur(8px);border-bottom:1px solid var(--tp-border)}.tp-topbar,.tp-topbar-start{display:flex;align-items:center}.tp-topbar-start{gap:10px;min-width:0}.tp-topbar-end,.tp-user{display:flex;align-items:center;gap:10px}.tp-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--tp-primary);color:var(--inverse);font-size:.8rem;font-weight:700}.tp-user-name{font-weight:600;font-size:.9rem;line-height:1.2}.tp-user-role{font-size:.75rem;color:var(--tp-muted)}.tp-content{padding:28px;display:grid;gap:22px;max-width:1280px;width:100%}.tp .tp-mobile-toggle,.tp-mobile-brand,.tp-mobile-nav,.tp-scrim{display:none}.tp-page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px}.tp-page-head>div{display:grid;gap:6px;min-width:0}.tp-page-head>.tp-actions{flex-shrink:0}.tp-breadcrumb{font-size:.82rem;display:flex;gap:6px;flex-wrap:wrap}.tp-breadcrumb,.tp-breadcrumb a{color:var(--tp-muted)}.tp-card{background:var(--tp-panel);border:1px solid var(--tp-border);border-radius:var(--tp-radius);padding:20px;box-shadow:var(--tp-shadow);display:grid;gap:14px;min-width:0;align-content:start}.tp-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.tp-card-head p{font-size:.88rem}.tp-grid{display:grid;gap:18px}.tp-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tp-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tp-grid-main{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.tp-stat{background:var(--tp-panel);border:1px solid var(--tp-border);border-radius:var(--tp-radius);padding:16px 18px;display:grid;gap:4px;box-shadow:var(--tp-shadow)}.tp-stat-label{font-size:.8rem;color:var(--tp-muted);font-weight:600}.tp-stat-value{font-size:1.5rem;font-weight:700;color:var(--tp-primary-2);font-variant-numeric:tabular-nums}.tp-stat-note{font-size:.78rem;color:var(--tp-muted)}.tp-stat[data-tone=danger] .tp-stat-value{color:var(--tp-danger)}.tp-stat[data-tone=warning] .tp-stat-value{color:var(--tp-warning)}.tp-stat[data-tone=success] .tp-stat-value{color:var(--tp-success)}.tp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border-radius:10px;border:1px solid transparent;font-weight:600;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s;background:var(--tp-primary)}.tp a.tp-btn,.tp-btn{text-decoration:none;color:var(--inverse)}.tp-btn:hover{background:var(--tp-primary-hover)}.tp-btn[aria-disabled=true],.tp-btn[disabled]{opacity:.55;cursor:not-allowed}.tp a.tp-btn-secondary,.tp-btn-secondary{background:var(--tp-panel);color:var(--tp-primary);border-color:var(--tp-control-border)}.tp-btn-secondary:hover{background:var(--tp-accent-soft)}.tp a.tp-btn-danger,.tp-btn-danger{background:var(--tp-danger);color:var(--inverse)}.tp-btn-danger:hover{background:var(--danger)}.tp a.tp-btn-ghost,.tp-btn-ghost{background:transparent;color:var(--tp-primary)}.tp-btn-ghost:hover{background:var(--tp-accent-soft)}.tp-btn-sm{min-height:32px;padding:4px 11px;font-size:.82rem;border-radius:8px}.tp-btn-block{width:100%}.tp-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tp-form,.tp-form-row{display:grid;gap:14px}.tp-form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.tp-field{display:grid;gap:6px;min-width:0}.tp-label{font-size:.85rem;font-weight:600;color:var(--tp-ink)}.tp-hint{font-size:.78rem;color:var(--tp-muted)}.tp-input,.tp-select,.tp-textarea{width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--tp-control-border);border-radius:10px;background:var(--tp-panel);color:var(--tp-ink);font:inherit;font-size:.92rem}.tp-textarea{min-height:96px;resize:vertical}.tp-input:focus,.tp-select:focus,.tp-textarea:focus{outline:none;border-color:var(--tp-primary);box-shadow:var(--tp-ring)}.tp-input[aria-invalid=true]{border-color:var(--tp-danger)}.tp-check{display:flex;gap:10px;align-items:flex-start;font-size:.88rem}.tp-check input{margin-top:4px;width:16px;height:16px;accent-color:var(--tp-primary)}.tp-inline-form{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}.tp-inline-form .tp-input,.tp-inline-form .tp-select{width:auto;min-width:140px;min-height:34px;padding:5px 10px;font-size:.85rem}.tp-alert{border-radius:10px;padding:11px 14px;font-size:.88rem;border:1px solid;display:flex;gap:10px;align-items:flex-start}.tp-alert p{color:inherit}.tp-alert-info{background:var(--tp-info-soft);border-color:var(--info-soft);color:var(--tp-info)}.tp-alert-success{background:var(--tp-success-soft);border-color:var(--success-soft);color:var(--tp-success)}.tp-alert-warning{background:var(--tp-warning-soft);border-color:var(--warning-soft);color:var(--tp-warning)}.tp-alert-danger{background:var(--tp-danger-soft);border-color:var(--danger-soft);color:var(--tp-danger)}.tp-badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:2px 9px;font-size:.75rem;font-weight:700;background:var(--tp-accent-soft);color:var(--tp-primary);white-space:nowrap}.tp-badge[data-tone=success]{background:var(--tp-success-soft);color:var(--tp-success)}.tp-badge[data-tone=warning]{background:var(--tp-warning-soft);color:var(--tp-warning)}.tp-badge[data-tone=danger]{background:var(--tp-danger-soft);color:var(--tp-danger)}.tp-badge[data-tone=info]{background:var(--tp-info-soft);color:var(--tp-info)}.tp-badge[data-tone=gold]{background:var(--tp-lavender);color:var(--warning)}.tp-empty{display:grid;justify-items:center;text-align:center;gap:10px;padding:32px 16px;color:var(--tp-muted)}.tp-empty svg{color:var(--tp-control-border)}.tp-empty strong{color:var(--tp-ink);font-size:.98rem}.tp-table-wrap{overflow-x:auto;border:1px solid var(--tp-border);border-radius:var(--tp-radius-sm)}.tp-table{width:100%;border-collapse:collapse;font-size:.88rem}.tp-table td,.tp-table th{padding:10px 12px;text-align:start;border-bottom:1px solid var(--tp-border);vertical-align:middle}.tp-table th{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--tp-muted);font-weight:700;background:var(--tp-bg);white-space:nowrap}html[dir=rtl] .tp-table th{letter-spacing:0}.tp-table tr:last-child td{border-bottom:0}.tp-table tbody tr:hover{background:var(--tp-lavender)}.tp-num{font-variant-numeric:tabular-nums;white-space:nowrap}.tp-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;direction:ltr;unicode-bidi:isolate}.tp-list{display:grid;gap:0}.tp-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--tp-border)}.tp-list-item:last-child{border-bottom:0}.tp-list-item>div:not(.tp-actions){min-width:0;display:grid;gap:2px}.tp-list-item>.tp-actions{flex-shrink:0;flex-wrap:nowrap}.tp-list-item strong{font-weight:600}.tp-muted{color:var(--tp-muted);font-size:.84rem}.tp-dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;font-size:.9rem;margin:0}.tp-dl dt{color:var(--tp-muted)}.tp-dl dd{margin:0;font-weight:550;min-width:0;overflow-wrap:anywhere}.tp-tabs{display:flex;gap:4px;border-bottom:1px solid var(--tp-border);overflow-x:auto}.tp-tab{padding:10px 14px;font-weight:600;font-size:.9rem;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tp .tp-tab,.tp-tab{color:var(--tp-muted);text-decoration:none}.tp .tp-tab[aria-current=page]{color:var(--tp-primary-2);border-bottom-color:var(--tp-primary)}.tp-thread{display:grid;gap:12px}.tp-bubble{max-width:min(640px,88%);padding:10px 14px;border-radius:14px;background:var(--tp-accent-soft);font-size:.92rem;white-space:pre-wrap;overflow-wrap:anywhere}.tp-bubble[data-mine=true]{justify-self:end;background:var(--tp-primary);color:var(--inverse)}.tp-bubble small{display:block;font-size:.72rem;opacity:.75;margin-bottom:2px}.tp-auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.tp-auth-aside{background:radial-gradient(circle at 20% 15%,rgb(50 211 161/18%),transparent 42%),radial-gradient(circle at 85% 80%,rgb(120 96 220/35%),transparent 45%),var(--tp-primary-2);color:var(--accent-soft);padding:48px;display:flex;flex-direction:column;justify-content:space-between;gap:32px}.tp-auth-aside h2{font-size:clamp(1.6rem,3vw,2.3rem);color:var(--inverse);font-weight:600;max-width:18ch}.tp-auth-aside p{color:var(--inverse-muted);max-width:44ch}.tp-auth-aside ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.tp-auth-aside li{display:flex;gap:10px;align-items:flex-start;color:var(--inverse-muted);font-size:.92rem}.tp-auth-aside li svg{color:var(--tp-accent);margin-top:3px}.tp-auth-main{display:grid;place-items:center;padding:40px 24px}.tp-auth-card{width:min(440px,100%);display:grid;gap:20px}.tp-auth-card header{display:grid;gap:8px}.tp-auth-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.tp-auth-foot{font-size:.88rem;color:var(--tp-muted);text-align:center}.tp-secure{display:flex;gap:8px;align-items:center;font-size:.78rem;color:var(--tp-muted)}.tp-meter{height:8px;border-radius:999px;background:var(--tp-accent-soft);overflow:hidden}.tp-meter>span{display:block;height:100%;background:var(--tp-primary);border-radius:inherit}.tp-meter[data-tone=warning]>span{background:var(--tp-accent)}.tp-meter[data-tone=danger]>span{background:var(--tp-danger)}.tp-kv{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}.tp-divider{height:1px;background:var(--tp-border);border:0;margin:0}.tp-details summary{cursor:pointer;font-weight:600;color:var(--tp-primary);list-style:none}.tp-details summary::-webkit-details-marker{display:none}.tp-details[open] summary{margin-bottom:12px}.tp-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--tp-accent-soft);padding:10px 12px;border-radius:8px;font-size:.9rem;direction:ltr;overflow-wrap:anywhere;user-select:all}@media (max-width:1100px){.tp-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-grid-main{grid-template-columns:minmax(0,1fr)}}@media (max-width:860px){.tp-shell{grid-template-columns:minmax(0,1fr)}.tp-sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:min(300px,86vw);z-index:40;transform:translateX(-105%);transition:transform .2s ease;box-shadow:0 0 40px rgb(0 0 0/25%)}html[dir=rtl] .tp-sidebar{transform:translateX(105%)}.tp-nav-toggle:checked~.tp-shell .tp-sidebar{transform:none}.tp-nav-toggle:checked~.tp-shell .tp-scrim{display:block}.tp-scrim{display:none;position:fixed;inset:0;background:rgb(21 25 53/45%);z-index:30}.tp .tp-mobile-toggle,.tp-mobile-brand{display:inline-flex}.tp-mobile-brand{align-items:center}.tp-topbar{padding:10px 16px}.tp-content{padding:18px 16px 40px}.tp-grid-2,.tp-grid-3{grid-template-columns:minmax(0,1fr)}.tp-user-meta{display:none}.tp-auth{grid-template-columns:minmax(0,1fr)}.tp-auth-aside{display:none}}@media (max-width:520px){.tp-topbar{gap:6px}.tp-topbar-end,.tp-topbar-start{gap:4px}.tp-topbar .tp-mobile-toggle{min-width:40px;min-height:44px;padding-inline:10px}.tp-mobile-toggle span,.tp-sign-out span{display:none}.tp-sign-out{min-width:40px;min-height:44px;padding-inline:10px}.tp-user{display:none}.tp-grid-4{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tp-stat-value{font-size:1.2rem}.tp-table td,.tp-table th{padding:9px 8px}}@media (max-width:640px){.tp-shell-workspace .tp-content{padding-bottom:calc(104px + env(safe-area-inset-bottom))}.tp-mobile-nav{position:fixed;inset-inline:0;bottom:0;z-index:25;display:flex;align-items:stretch;justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--tp-border);background:var(--tp-panel);box-shadow:0 -4px 18px rgb(32 21 69/7%)}.tp .tp-mobile-nav-link{flex:1;min-width:0;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 1px;border-radius:12px;color:var(--tp-muted);font-size:.68rem;font-weight:600;text-align:center;text-decoration:none;line-height:1.25}.tp-mobile-nav-link svg{flex-shrink:0}.tp .tp-mobile-nav-link[aria-current=page]{color:var(--tp-primary);background:var(--tp-lavender);font-weight:800}}@media print{.tp-mobile-nav{display:none}}.tp-nav-toggle{position:absolute;opacity:0;pointer-events:none}@media print{.tp-sidebar,.tp-topbar{display:none}.tp-shell{display:block}}.tp-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.tp-hub-toolbar{gap:12px;align-items:center;justify-content:space-between}.tp-chips,.tp-hub-toolbar{display:flex;flex-wrap:wrap}.tp-chips{gap:8px}.tp .tp-chip{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border-radius:999px;border:1px solid var(--tp-control-border);background:var(--tp-panel);color:var(--tp-ink);font-size:.84rem;font-weight:600;text-decoration:none}.tp .tp-chip:hover{background:var(--tp-accent-soft)}.tp .tp-chip[aria-current=page]{background:var(--tp-primary);border-color:var(--tp-primary);color:var(--inverse)}.tp-hub-group{display:grid;gap:12px}.tp-hub-group>h2{font-size:1rem;color:var(--tp-primary-2)}.tp-hub-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.tp-hub-card{background:var(--tp-panel);border:1px solid var(--tp-border);border-radius:var(--tp-radius);padding:16px;display:grid;gap:12px;align-content:start;box-shadow:var(--tp-shadow)}.tp-hub-card>p{font-size:.86rem}.tp-hub-card .tp-btn{justify-self:start}.tp-hub-card-head{display:flex;gap:12px;align-items:center;min-width:0}.tp-hub-card-head h3{font-size:1rem}.tp-hub-logo{flex-shrink:0;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--tp-accent-soft);color:var(--tp-primary-2);font-weight:800;font-size:.9rem;letter-spacing:.02em}.tp-hub-card[data-category=payments] .tp-hub-logo,.tp-hub-detail[data-category=payments] .tp-hub-logo{background:var(--tp-accent)}.tp-hub-card[data-category=softpos] .tp-hub-logo,.tp-hub-detail[data-category=softpos] .tp-hub-logo{background:var(--tp-lavender);color:var(--warning)}.tp-hub-card[data-category=pilgrimage] .tp-hub-logo,.tp-hub-detail[data-category=pilgrimage] .tp-hub-logo{background:var(--tp-primary);color:var(--inverse)}.tp-hub-card[data-category=open_banking] .tp-hub-logo,.tp-hub-detail[data-category=open_banking] .tp-hub-logo{background:var(--tp-info-soft);color:var(--tp-info)}.tp-hub-badges{display:flex;flex-wrap:wrap;gap:6px}.tp-hub-envs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.tp-hub-envs>div{display:grid;gap:4px;background:var(--panel);border:1px solid var(--tp-border);border-radius:var(--tp-radius-sm);padding:8px 10px}.tp-hub-envs dt{font-size:.72rem;color:var(--tp-muted);font-weight:700}.tp-hub-envs dd{margin:0}.tp-hub-detail{display:grid;gap:22px}.tp-hub-title{display:flex;gap:14px;align-items:center}.tp-hub-title .tp-hub-logo{width:52px;height:52px;font-size:1.05rem;border-radius:14px}.tp-hub-layout{display:grid;gap:22px;grid-template-columns:minmax(0,1fr) 320px;align-items:start}.tp-hub-side,.tp-steps{display:grid;gap:18px}.tp-steps{list-style:none;margin:0;padding:0;counter-reset:step}.tp-step{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px}.tp-step-marker{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.9rem;background:var(--tp-accent-soft);color:var(--tp-primary-2);border:2px solid var(--tp-control-border)}.tp-step[data-state=done] .tp-step-marker{background:var(--tp-success);border-color:var(--tp-success);color:var(--inverse)}.tp-step[data-state=current] .tp-step-marker{background:var(--tp-primary);border-color:var(--tp-primary);color:var(--inverse);box-shadow:0 0 0 4px rgb(87 52 180/14%)}.tp-step>.tp-card{gap:12px}.tp-step-head{justify-content:space-between;gap:10px}.tp-secret-meta,.tp-step-head{display:flex;align-items:center;flex-wrap:wrap}.tp-secret-meta{gap:6px;font-size:.78rem;color:var(--tp-muted)}.tp-fields-2{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.tp-gates{display:grid;gap:10px;border:1px solid var(--tp-border);border-radius:var(--tp-radius-sm);padding:12px 14px;margin:0;background:var(--panel)}.tp-gates legend{padding:0 6px}.tp-source-list{padding:0;list-style:none;font-size:.86rem}.tp-cap-list,.tp-source-list{display:grid;gap:6px;margin:0}.tp-cap-list{padding-inline-start:18px;font-size:.88rem;color:var(--tp-ink)}.tp-activity{display:grid;gap:10px;padding:0;margin:0;list-style:none;font-size:.84rem}.tp-activity li{display:grid;gap:2px;border-inline-start:2px solid var(--tp-control-border);padding-inline-start:10px}.tp-test-result{display:grid;gap:8px;background:var(--panel);border:1px solid var(--tp-border);border-radius:var(--tp-radius-sm);padding:12px}.tp-row-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}@media (max-width:1080px){.tp-hub-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.tp-fields-2{grid-template-columns:minmax(0,1fr)}.tp-hub-toolbar{align-items:stretch}}.tp-planning-editor{padding-block:10px;min-width:0}.tp-planning-editor>summary{color:var(--tp-primary);cursor:pointer;font-weight:600;padding-block:6px}.tp-planning-editor[open]>summary{margin-block-end:12px}.tp-planning-editor>.tp-grid{min-width:min(280px,100%)}.tp-companion{border:1px solid var(--tp-border);border-radius:16px;padding:12px 18px}.tp-mission-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.tp-mission-card{display:grid;gap:10px;align-content:start}.tp-mission-card h2{font-size:1.05rem;line-height:1.35}.tp-mission-card h2 a{color:var(--tp-ink);text-decoration:none}.tp-mission-card h2 a:hover{color:var(--tp-primary);text-decoration:underline}.tp-mission-card h2 a:after{content:"";position:absolute;inset:0}.tp-mission-card{position:relative}.tp-mission-card:focus-within{outline:2px solid var(--tp-primary);outline-offset:2px}.tp-broadcast-head,.tp-mission-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.tp-mission-flags{display:flex;gap:6px;flex-wrap:wrap;min-height:24px}.tp-readiness{display:grid;gap:4px}.tp-readiness-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:16px;align-items:center;padding:10px 0;border-bottom:1px solid var(--tp-border)}.tp-readiness-row:last-child{border-bottom:0}.tp-readiness-row>div:first-child{display:grid;gap:2px}.tp-readiness-row .tp-muted{font-size:.82rem}.tp-readiness-bar{display:grid;grid-template-columns:1fr 52px;gap:10px;align-items:center}.tp-readiness-bar .tp-num{text-align:end;font-size:.85rem}.tp-hint{display:flex;gap:6px;align-items:flex-start}.tp-hint .tp-icon,.tp-hint svg{flex-shrink:0;margin-top:3px}.tp-roster-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.tp-roster th[scope=row]{font-weight:600;min-width:190px;text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--tp-ink);background:var(--tp-panel)}.tp-roster td{vertical-align:middle}.tp-roster-name{display:inline-flex;align-items:center;gap:6px}.tp-roster-name svg{color:var(--tp-success)}.tp-roster-meta{display:block;font-size:.78rem;font-weight:400}.tp-roster tr[data-ready] th[scope=row]{color:var(--tp-primary-2)}.tp-cell-form{flex-wrap:nowrap;gap:4px}.tp .tp-status-select{min-width:104px;min-height:32px;padding:4px 8px;font-size:.8rem;font-weight:600;border-radius:999px}.tp-status-select[data-tone=success]{background:var(--tp-success-soft);color:var(--tp-success);border-color:transparent}.tp-status-select[data-tone=warning]{background:var(--tp-warning-soft);color:var(--tp-warning);border-color:transparent}.tp-status-select[data-tone=info]{background:var(--tp-info-soft);color:var(--tp-info);border-color:transparent}.tp-cell-form[data-auto-submit] .tp-btn{display:none}.tp-broadcast,.tp-incident{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--tp-border);border-radius:var(--tp-radius-sm);background:var(--tp-panel)}.tp-broadcast p,.tp-incident p{margin:0;white-space:pre-line}.tp-broadcast[data-priority=urgent]{border-inline-start:4px solid var(--tp-danger)}.tp-broadcast[data-priority=important]{border-inline-start:4px solid var(--tp-warning)}.tp-broadcast[data-unread]{background:var(--tp-accent-soft)}.tp-broadcast-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.tp-incident[data-status=resolved]{opacity:.75}.tp-inline-actions{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}.tp-pilgrim-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;background:linear-gradient(135deg,var(--tp-accent-soft),var(--tp-panel));border-inline-start:4px solid var(--tp-primary)}.tp-pilgrim-hero h2{font-size:1.35rem;margin:8px 0 4px}.tp-pilgrim-hero p{margin:4px 0 0;display:flex;gap:6px;align-items:center}.tp-checklist{list-style:none;margin:0;padding:0;display:grid}.tp-checklist li{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--tp-border)}.tp-checklist li:last-child{border-bottom:0}.tp-checklist-text{display:grid;gap:2px}.tp-checklist-text .tp-muted{font-size:.82rem}.tp-checklist-mark{width:22px;height:22px;border-radius:50%;border:2px solid var(--tp-control-border);display:grid;place-items:center;color:var(--inverse)}.tp-checklist li[data-status=verified] .tp-checklist-mark{background:var(--tp-success);border-color:var(--tp-success)}.tp-checklist li[data-status=submitted] .tp-checklist-mark{border-color:var(--tp-warning);border-style:dashed}.tp-checklist li[data-status=not_applicable] .tp-checklist-mark{background:var(--tp-border);border-color:var(--tp-border)}@media (max-width:640px){.tp-readiness-row{grid-template-columns:minmax(0,1fr);gap:6px}.tp-checklist li{grid-template-columns:24px minmax(0,1fr) auto}.tp-checklist li .tp-inline-form{grid-column:2/-1}.tp-pilgrim-hero{flex-direction:column}}:is(.tp-checklist,.tp-cell-form,.tp-row-actions,.tp-broadcast-foot,.tp-inline-actions) .tp-alert-success{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.tp-day{display:grid;gap:12px}.tp-day-title{font-size:.95rem;color:var(--tp-primary-2)}.tp-day-events{display:grid;gap:10px}.tp-event{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;padding:14px;border:1px solid var(--tp-border);border-radius:var(--tp-radius-sm);background:var(--tp-panel)}.tp-event[data-highlight]{border-color:var(--tp-primary);box-shadow:0 0 0 1px var(--tp-primary) inset}.tp-event[data-cancelled]{opacity:.6}.tp-event[data-cancelled] h3{text-decoration:line-through}.tp-event-time{display:grid;align-content:start;gap:2px;text-align:center;padding-top:2px}.tp-event-time strong{font-size:1.15rem;color:var(--tp-primary-2)}.tp-event-body{display:grid;gap:8px;min-width:0}.tp-event-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap}.tp-event-head h3{font-size:1rem;margin:0}.tp-event-place{display:flex;gap:6px;align-items:flex-start;margin:0}.tp-event-place svg{flex-shrink:0;margin-top:3px;color:var(--tp-primary)}.tp-event-mine{margin:0;display:flex;gap:6px}.tp-event-mine,.tp-map-links{align-items:center;flex-wrap:wrap}.tp-map-links{display:inline-flex;gap:8px}.tp-checkin{display:grid;gap:8px;padding:10px 12px;border-radius:var(--tp-radius-sm);background:var(--tp-accent-soft)}.tp-checkin-buttons{display:flex;gap:8px;flex-wrap:wrap}.tp-checkin-buttons .tp-btn{min-height:40px}.tp-share-location{display:grid;gap:4px}.tp-share-location .tp-hint{display:block;font-weight:400}.tp-checkbox-list{border:0;padding:0;margin:0;display:grid;gap:6px;max-height:260px;overflow-y:auto}.tp-event-attendance{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tp-attendance-chips{display:inline-flex;gap:6px;flex-wrap:wrap}.tp-upcoming{margin:8px 0 0;padding-inline-start:18px;display:grid;gap:4px}.tp-headcount-head{display:flex;gap:14px;align-items:flex-start}.tp-headcount-head h2{font-size:1.2rem;margin:0}.tp-headcount .tp-list-item[data-status=need_help]{background:var(--tp-danger-soft);border-radius:var(--tp-radius-sm);padding-inline:10px}.tp-headcount .tp-list-item[data-status=missing] strong{color:var(--tp-warning)}.tp-chat{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-height:55vh;overflow-y:auto}.tp-chat-row{display:flex}.tp-chat-row[data-mine]{justify-content:flex-end}.tp-chat-bubble{max-width:min(78%,560px);padding:8px 12px;border-radius:14px;border-end-start-radius:4px;background:var(--tp-accent-soft)}.tp-chat-row[data-mine] .tp-chat-bubble{background:var(--tp-primary);color:var(--inverse);border-end-start-radius:14px;border-end-end-radius:4px}.tp-chat-row[data-mine] .tp-chat-meta{color:var(--accent-soft)}.tp-chat-row[data-quick=need_help] .tp-chat-bubble{background:var(--tp-danger-soft);color:var(--tp-danger);font-weight:600}.tp-chat-bubble p{margin:2px 0 0;white-space:pre-line;overflow-wrap:anywhere;color:var(--tp-ink)}.tp-chat-row[data-mine] .tp-chat-bubble p{color:var(--inverse)}.tp-chat-row[data-quick=need_help] .tp-chat-bubble p{color:var(--tp-danger)}.tp-chat-meta{font-size:.76rem;color:var(--tp-muted)}.tp-quick-replies{display:grid;gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid var(--tp-border)}.tp-chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-top:10px}.tp-chat-compose .tp-alert{grid-column:1/-1}.tp-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-inline-start:6px;padding:0 6px;border-radius:999px;background:var(--tp-danger);color:var(--inverse);font-size:.72rem}.tp-reservation{display:grid;gap:10px}.tp-reservation[data-status=cancelled]{opacity:.65}.tp-reservation h3{font-size:1rem;margin:0}.tp-family-list{list-style:none;margin:0 0 10px;padding:0;display:grid}.tp-family-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--tp-border)}.tp-family-list li:last-child{border-bottom:0}:is(.tp-checkin,.tp-quick-replies) .tp-alert-success{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (max-width:640px){.tp-event{grid-template-columns:1fr}.tp-event-time{grid-auto-flow:column;justify-content:start;gap:8px;text-align:start}.tp-chat-bubble{max-width:90%}.tp-checkin-buttons .tp-btn{flex:1 1 calc(50% - 8px)}}.tp-grid-main>.tp-grid{align-content:start}.tp-live{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--tp-muted);white-space:nowrap}.tp-live-dot{width:8px;height:8px;border-radius:50%;background:var(--tp-control-border)}.tp-live[data-mode=live]{color:var(--tp-success)}.tp-live[data-mode=live] .tp-live-dot{background:var(--tp-success);box-shadow:0 0 0 0 var(--tp-success);animation:tp-live-pulse 2s infinite}@keyframes tp-live-pulse{0%{box-shadow:0 0 0 0 rgb(31 122 77/45%)}70%{box-shadow:0 0 0 7px rgb(31 122 77/0)}to{box-shadow:0 0 0 0 rgb(31 122 77/0)}}@media (prefers-reduced-motion:reduce){.tp-live[data-mode=live] .tp-live-dot{animation:none}}.tp-spending{margin-block:0 24px;padding:clamp(18px,3vw,32px);border:1px solid var(--tp-border);border-radius:var(--tp-radius);background:var(--tp-panel)}.tp-spending-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}.tp-spending-head h2,.tp-spending-head h3,.tp-spending-head p{margin-block:0 8px}.tp-spending-currencies{display:flex;flex-wrap:wrap;gap:8px}.tp-spending-currencies button{min-height:44px;min-width:64px;padding:10px 16px;border:1px solid var(--tp-control-border);border-radius:999px;color:var(--tp-ink);background:var(--tp-panel);font:inherit;cursor:pointer}.tp-spending-currencies button[aria-pressed=true]{background:var(--tp-primary);color:var(--inverse);border-color:var(--tp-primary)}.tp-spending-figure{margin:24px 0 0}.tp-spending-numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-radius:18px;background:var(--tp-accent-soft);gap:20px;padding:24px}.tp-spending-numbers>div{display:grid;gap:8px;min-width:0}.tp-spending-numbers strong{font-size:clamp(1.35rem,3vw,2rem);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.tp-spending-numbers small{color:var(--tp-muted)}.tp-spending-categories{display:grid;gap:4px;margin-block:20px}.tp-spending-category{width:100%;padding:14px;text-align:start;color:var(--tp-ink);background:transparent;border:1px solid transparent;border-radius:12px;cursor:pointer;font:inherit}.tp-spending-category:hover,.tp-spending-category[aria-pressed=true]{background:var(--tp-accent-soft);border-color:var(--tp-primary)}.tp-spending-category>span:first-child{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.tp-spending-category small{color:var(--tp-muted)}.tp-spending-track{display:block;height:8px;background:var(--tp-border);border-radius:999px;overflow:hidden}.tp-spending-track>span{display:block;height:100%;background:var(--tp-primary);border-radius:inherit;transition:width .2s ease}.tp-spending-detail{border-top:1px solid var(--tp-border);padding-block:18px}.tp-spending-detail ul{list-style:none;margin:0;padding:0;max-height:280px;overflow:auto}.tp-spending-detail li{display:flex;justify-content:space-between;gap:16px;padding-block:12px;border-bottom:1px solid var(--tp-border);overflow-wrap:anywhere}.tp-spending-detail li>strong{flex-shrink:0}.tp-spending-detail small{display:block;color:var(--tp-muted)}.tp-spending-footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px}.tp-spending-footer p{flex:1 1 240px}.tp-spending-footer>span{font-size:.85rem;flex-basis:100%}@media(max-width:480px){.tp-spending-numbers{grid-template-columns:1fr;padding:18px}.tp-spending-category{padding-inline:0}}@media(prefers-reduced-motion:reduce){.tp-spending-track>span{transition:none}}.tp-content-editor{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;align-items:start}.tp-content-editor .tp-card{min-width:0}.tp-content-editor .tp-field{margin-block:18px}.tp-content-editor textarea{resize:vertical;min-height:72px;line-height:1.6}.tp-content-editor .tp-label small{margin-inline-start:auto;font-weight:400}.tp-content-fields{border-top:1px solid var(--border);padding-block:12px}.tp-content-fields>summary{min-height:44px;cursor:pointer;display:list-item;padding-block:12px;font-weight:600}.tp-content-fields fieldset{border:1px solid var(--border);border-radius:12px;padding:14px;margin-block:16px;min-width:0}.tp-content-fields legend{padding-inline:6px}.tp-content-preview{position:sticky;top:88px;max-height:calc(100vh - 112px);overflow:auto;overflow-wrap:anywhere}.tp-content-preview h2{font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.15;margin-block:18px}.tp-content-preview :is(h3,p,li){margin-block:16px}.tp-content-preview ol{padding-inline-start:24px}@media(max-width:1000px){.tp-content-editor{grid-template-columns:minmax(0,1fr)}.tp-content-preview{position:static;max-height:none}}.tp-shell[data-area=workspace] .tp-sidebar{background:var(--tp-panel);color:var(--tp-ink);border-inline-end:1px solid var(--tp-border)}.tp-shell[data-area=workspace] .tp-brand,.tp-shell[data-area=workspace] .tp-nav-link{color:var(--tp-ink)}.tp-shell[data-area=workspace] .tp-brand small,.tp-shell[data-area=workspace] .tp-nav-label{color:var(--tp-muted)}.tp-shell[data-area=workspace] .tp-nav-link:hover{background:var(--tp-bg);color:var(--tp-ink)}.tp-shell[data-area=workspace] .tp-nav-link[aria-current=page]{background:var(--tp-lavender);color:var(--tp-primary);font-weight:700}.tp-shell[data-area=workspace] .tp-sidebar-foot{border-top:1px solid var(--tp-border);padding-top:12px}.tp-shell[data-area=console] .tp-sidebar{background:linear-gradient(180deg,var(--tp-primary-2),var(--ink))}.tp-shell[data-area=console] .tp-nav-link[aria-current=page]{background:rgb(255 255 255/12%);color:var(--inverse);font-weight:700;box-shadow:inset 3px 0 0 var(--tp-accent)}.tp-shell[data-area=console] .tp-nav-link[aria-current=page]:dir(rtl),[dir=rtl] .tp-shell[data-area=console] .tp-nav-link[aria-current=page]{box-shadow:inset -3px 0 0 var(--tp-accent)}.tp-shell[data-area=console] .tp-sidebar-foot{border-top:1px solid rgb(255 255 255/10%);padding-top:12px}.tp-nav-link{min-height:40px}.tp-user .tp-avatar{background:var(--tp-lavender);color:var(--tp-primary)}.tp-shell[data-area=console] .tp-user .tp-avatar{background:var(--tp-accent);color:var(--ink)}.tp-stat{gap:6px;padding:18px}.tp-stat-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.tp-stat-icon{flex-shrink:0;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--tp-lavender);color:var(--tp-primary)}.tp-stat[data-tone=success] .tp-stat-icon{background:var(--tp-success-soft);color:var(--tp-success)}.tp-stat[data-tone=warning] .tp-stat-icon{background:var(--tp-warning-soft);color:var(--tp-warning)}.tp-stat[data-tone=danger] .tp-stat-icon{background:var(--tp-danger-soft);color:var(--tp-danger)}.tp-stat-value{font-size:1.65rem;font-weight:800;letter-spacing:-.02em;color:var(--tp-ink)}html[dir=rtl] .tp-stat-value{letter-spacing:0}.tp-badge{min-height:22px}.tp-badge[data-tone]:not([data-tone=neutral]):before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.tp-badge[data-tone=neutral]{background:var(--tp-bg);color:var(--tp-muted)}.tp-btn{min-height:42px;border-radius:12px;font-weight:700}.tp a.tp-btn-secondary,.tp-btn-secondary{border-color:var(--tp-border);color:var(--tp-ink)}.tp-btn-secondary:hover{background:var(--tp-lavender);color:var(--tp-primary)}.tp-card-head h2{font-weight:700}.tp-page-head h1{font-weight:800;letter-spacing:-.02em}html[dir=rtl] .tp-page-head h1{letter-spacing:0}.tp-hero{position:relative;overflow:hidden;border-radius:var(--tp-radius);padding:24px;color:var(--inverse);background:linear-gradient(135deg,var(--tp-primary-2),var(--tp-primary));display:grid;gap:14px;align-content:space-between;box-shadow:var(--tp-shadow)}.tp-hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;inset-inline-end:-120px;top:-140px;background:radial-gradient(circle,rgb(50 211 161/28%),transparent 65%);pointer-events:none}.tp-hero>*{position:relative}.tp-hero .tp-muted,.tp-hero p{color:var(--inverse-muted)}.tp-hero-value{font-size:clamp(1.8rem,3.4vw,2.4rem);font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tp-hero-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px}.tp .tp-hero-action{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border-radius:14px;background:rgb(255 255 255/14%);color:var(--inverse);font-weight:700;font-size:.88rem;text-decoration:none}.tp .tp-hero-action:hover{background:rgb(255 255 255/22%);color:var(--inverse)}.tp-nav-search{display:grid;gap:7px;padding:0 6px}.tp-nav-search label{font-size:.8rem;font-weight:600;color:inherit}.tp-nav-search .tp-input{min-width:0;min-height:44px}.tp-nav-empty,.tp-nav-search p{font-size:.8rem;color:inherit}.tp-nav-empty{padding:0 10px}.tp-nav-link{min-height:44px}.tp-list-item strong,.tp-nav-link span,.tp-user-name{overflow-wrap:anywhere}.tp-drawer-close{display:none}.tp-release-footer{margin-top:auto;padding:14px 28px;display:flex;flex-wrap:wrap;gap:10px;color:var(--tp-muted);font-size:.8rem;border-top:1px solid var(--tp-border)}.tp-record-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.tp-record-pagination nav{display:flex;gap:8px}.tp-inline-form .tp-btn,.tp-inline-form .tp-input,.tp-inline-form .tp-select,.tp-record-pagination .tp-btn{min-height:44px}.tp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.tp-table td{overflow-wrap:anywhere}.tp-table td.tp-mono{unicode-bidi:isolate}@media (max-width:860px){.tp-drawer-close{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 12px;color:inherit;background:transparent;border:1px solid;border-radius:10px;font:inherit;cursor:pointer}.tp-drawer-close span{font-size:1.4rem}.tp-sidebar{height:100dvh;overscroll-behavior:contain}.tp-release-footer{padding:14px 16px}}@media (max-width:520px){.tp-inline-form{display:flex;width:100%}.tp-inline-form .tp-input,.tp-inline-form .tp-select{flex:1 1 160px;min-width:0;max-width:100%}.tp-record-pagination{align-items:stretch}}@media (prefers-reduced-motion:reduce){.tp-sidebar{transition:none}}