@font-face{font-family:Zagel;src:url(./zagel-light-C4xA_ATP.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Zagel;src:url(./zagel-regular-C07zSNEG.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Zagel;src:url(./zagel-medium-kILoQSmG.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Zagel;src:url(./zagel-bold-DecL82O1.woff2) format("woff2");font-weight:700;font-display:swap}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}button{font-family:inherit;border:none;background:none;color:inherit}button,[role=button]{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}button{transition:transform .06s ease,filter .06s ease}button:active:not(:disabled){transform:scale(.97);filter:brightness(.92)}[role=button]:active{filter:brightness(.94)}:where(button,[role=button],a,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:inherit}*::-webkit-scrollbar{width:0;height:0;display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--app-bg: #f4f5f7;--app-surface: #ffffff;--app-surface-2: #ededee;--app-line: rgba(20, 20, 22, .1);--app-line-2: rgba(20, 20, 22, .17);--app-text: #17181c;--app-text-2: #55565c;--app-text-3: #8a8a90;--brand: #3283ff;--brand-weak: rgba(50, 131, 255, .1);--brand-line: rgba(50, 131, 255, .34);--brand-2: #1e6ff0;--accent: #3283ff;--success: #16a34a;--success-weak: rgba(34, 197, 94, .12);--warning: #b45309;--warning-weak: rgba(234, 179, 8, .14);--danger: #dc2626;--danger-weak: rgba(239, 68, 68, .12);--chip-bg: #ededee;--chip-text: #2568d8;--header-bg: #1c1c1c;--header-line: rgba(255, 255, 255, .09);--shift-bg: rgba(34, 197, 94, .18);--shift-text: #3fd089;--shadow: none;--shadow-md: none;--shadow-lg: 0 10px 34px rgba(16, 24, 40, .16)}[data-theme=dark]{--app-bg: #1c1c1c;--app-surface: #232325;--app-surface-2: #2a2a2c;--app-line: rgba(255, 255, 255, .08);--app-line-2: rgba(255, 255, 255, .16);--app-text: #f6f6f6;--app-text-2: #9a9a9e;--app-text-3: #6c6c70;--brand: #3283ff;--brand-weak: rgba(50, 131, 255, .2);--brand-line: rgba(50, 131, 255, .42);--brand-2: #1e6ff0;--accent: #3283ff;--success: #22c55e;--success-weak: rgba(34, 197, 94, .16);--warning: #eab308;--warning-weak: rgba(234, 179, 8, .16);--danger: #ef4444;--danger-weak: rgba(239, 68, 68, .18);--chip-bg: rgba(255, 255, 255, .07);--chip-text: #c8c8c8;--header-bg: #1c1c1c;--header-line: rgba(255, 255, 255, .08);--shift-bg: rgba(34, 197, 94, .18);--shift-text: #4ade80;--shadow: none;--shadow-md: none;--shadow-lg: 0 14px 44px rgba(0, 0, 0, .5)}:root{--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 32px;--ui-scale: 1;--fs-caption: clamp(11px, 10px + .2vw, 13px);--fs-label: clamp(12px, 11px + .25vw, 15px);--fs-body: clamp(13px, 12px + .3vw, 16px);--fs-title: clamp(16px, 14px + .6vw, 20px);--fs-display: clamp(20px, 16px + 1.2vw, 30px);--r-1: 8px;--r-2: 12px;--r-3: 14px;--r-sheet: 18px;--pill: 999px;--touch-scale: 1;--touch-min: calc(44px * var(--touch-scale));--touch-cta: calc(56px * var(--touch-scale))}@keyframes pop{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}@keyframes toastin{0%{transform:translate(-50%,16px);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}html,body,#root{height:100%}body{font-family:Zagel,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--app-bg);color:var(--app-text);-webkit-font-smoothing:antialiased}[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark}input[type=date],input[type=time],input[type=datetime-local]{font-family:Zagel,system-ui,-apple-system,Segoe UI,sans-serif}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7;padding:2px}input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=time]::-webkit-calendar-picker-indicator:hover,input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}.pt-page{min-height:100vh;background-color:var(--app-bg);background-image:radial-gradient(720px 420px at 88% -8%,rgba(50,131,255,.1),transparent 60%),radial-gradient(680px 460px at 6% 4%,rgba(50,131,255,.06),transparent 62%),linear-gradient(var(--app-line) 1px,transparent 1px),linear-gradient(90deg,var(--app-line) 1px,transparent 1px);background-size:100% 100%,100% 100%,58px 58px,58px 58px;background-position:center}.pt-topbar{position:sticky;top:0;z-index:20;background:#17181cb8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--app-line)}.pt-topbar-inner{max-width:1060px;margin:0 auto;height:66px;padding:0 22px;display:flex;align-items:center;gap:14px}.pt-logo{width:40px;height:40px;border-radius:11px;background:var(--app-surface-2);border:1px solid var(--app-line);object-fit:contain;padding:6px;flex:none}.pt-brand{font-weight:700;font-size:16px;color:var(--app-text);white-space:nowrap}.pt-spacer{flex:1}.pt-chip{display:flex;align-items:center;gap:10px;height:42px;padding:0 6px 0 14px;border-radius:999px;background:var(--app-surface);border:1px solid var(--app-line);min-width:0}.pt-avatar{width:30px;height:30px;border-radius:999px;background:var(--brand-weak);color:var(--brand);border:1px solid var(--brand-line);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex:none}.pt-chip-name{font-weight:600;font-size:13px;color:var(--app-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.pt-chip-email{font-weight:400;font-size:11.5px;color:var(--app-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.pt-signout{height:40px;padding:0 16px;border-radius:999px;background:var(--app-surface-2);border:1px solid var(--app-line);color:var(--app-text);font-weight:600;font-size:13.5px;cursor:pointer;flex:none;transition:border-color .15s,color .15s}.pt-signout:hover{border-color:var(--app-line-2)}.pt-main{max-width:1060px;margin:0 auto;padding:30px 22px 72px;display:flex;flex-direction:column;gap:34px}.pt-eyebrow{font-weight:700;font-size:11px;color:var(--brand);text-transform:uppercase;margin-bottom:6px}.pt-section-title{font-weight:700;font-size:20px;color:var(--app-text);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.pt-section-sub{font-weight:400;font-size:13.5px;color:var(--app-text-3)}.pt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}@media(max-width:760px){.pt-grid{grid-template-columns:1fr}}.pt-card{background:var(--app-surface);border:1px solid var(--app-line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:14px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.pt-card:hover{transform:translateY(-3px);border-color:var(--brand-line);box-shadow:0 14px 34px #0000005c,0 0 0 1px var(--brand-line)}.pt-card-head{display:flex;align-items:flex-start;gap:12px}.pt-icon{width:44px;height:44px;border-radius:12px;background:var(--brand-weak);border:1px solid var(--brand-line);color:var(--brand);display:flex;align-items:center;justify-content:center;flex:none}.pt-icon svg{width:24px;height:24px}.pt-card-titles{min-width:0;flex:1}.pt-product-name{font-weight:700;font-size:16px;color:var(--app-text)}.pt-tenant-name{font-weight:400;font-size:13px;color:var(--app-text-3);margin-top:2px}.pt-pill{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 11px;border-radius:999px;font-weight:600;font-size:12px;border:1px solid transparent;white-space:nowrap}.pt-pill.ok{color:var(--success);background:var(--success-weak)}.pt-pill.off{color:var(--warning);background:var(--warning-weak)}.pt-pill.role{color:var(--app-text-2);background:var(--app-surface-2);border-color:var(--app-line)}.pt-pill.dot:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor}.pt-branches{display:flex;flex-direction:column;gap:8px}.pt-branch{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--app-surface-2);border:1px solid var(--app-line)}.pt-branch-name{font-weight:600;font-size:14px;color:var(--app-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-branch-grow{flex:1;min-width:0}.pt-modules{display:flex;flex-wrap:wrap;gap:8px}.pt-mod{height:26px;padding:0 11px;border-radius:8px;display:inline-flex;align-items:center;background:var(--chip-bg);color:var(--app-text-2);border:1px solid var(--app-line);font-weight:500;font-size:12px}.pt-meta{display:flex;align-items:center;gap:8px;padding-top:4px;border-top:1px solid var(--app-line);font-weight:500;font-size:13px;color:var(--app-text-2)}.pt-meta .pt-dim{color:var(--app-text-3);font-weight:400}.pt-note{font-weight:400;font-size:13px;color:var(--app-text-3);line-height:1.7}.pt-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.pt-btn{height:40px;padding:0 18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:13.5px;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:filter .15s,border-color .15s,background .15s;white-space:nowrap}.pt-btn.primary{background:var(--brand);color:#fff}.pt-btn.primary:hover{filter:brightness(1.08)}.pt-btn.ghost{background:var(--app-surface-2);color:var(--app-text);border-color:var(--app-line)}.pt-btn.ghost:hover{border-color:var(--brand-line)}.pt-btn.sm{height:36px;padding:0 14px;font-size:13px}.pt-panel{background:var(--app-surface);border:1px solid var(--app-line);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:12px}.pt-empty{text-align:center;padding:44px 22px}.pt-empty .pt-icon{margin:0 auto 8px;width:52px;height:52px}.pt-empty h3{font-weight:700;font-size:17px;color:var(--app-text);margin-bottom:6px}.pt-security{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;align-items:start}.pt-security>.pt-span{grid-column:1 / -1}@media(max-width:760px){.pt-security{grid-template-columns:1fr}}@keyframes ptReveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.pt-reveal{animation:ptReveal .5s cubic-bezier(.22,.7,.2,1) both}
