.react-grid-layout{transition:height .2s;position:relative}.react-grid-item{transition:left .2s,top .2s,width .2s,height .2s}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{z-index:1;will-change:width, height;transition:none}.react-grid-item.react-draggable-dragging{z-index:3;will-change:transform;transition:none}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{opacity:.2;z-index:2;-webkit-user-select:none;user-select:none;background:red;transition-duration:.1s}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{opacity:0;width:20px;height:20px;position:absolute}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";border-bottom:2px solid #0006;border-right:2px solid #0006;width:5px;height:5px;position:absolute;bottom:3px;right:3px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:100% 100%;background-repeat:no-repeat;background-origin:content-box;width:20px;height:20px;padding:0 3px 3px 0;position:absolute}.react-resizable-handle-sw{cursor:sw-resize;bottom:0;left:0;transform:rotate(90deg)}.react-resizable-handle-se{cursor:se-resize;bottom:0;right:0}.react-resizable-handle-nw{cursor:nw-resize;top:0;left:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;top:0;right:0;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;margin-left:-10px;left:50%}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}:root{--color-brand-50:#f0f9ff;--color-brand-100:#e0f2fe;--color-brand-200:#bae6fd;--color-brand-300:#7dd3fc;--color-brand-400:#38bdf8;--color-brand-500:#0ea5e9;--color-brand-600:#0284c7;--color-brand-700:#0369a1;--color-brand-800:#075985;--color-brand-900:#0c4a6e;--color-success-500:#0acf97;--color-warning-500:#ffbc00;--color-danger-500:#fa5c7c;--color-surface:#fff;--color-surface-raised:#f8f9fa;--color-surface-overlay:#e9ecef;--color-border:#dee2e6;--color-border-strong:#adb5bd;--color-text-primary:#212529;--color-text-secondary:#495057;--color-text-muted:#6c757d;--color-sidebar-bg:#f8f9fa;--color-sidebar-border:#dee2e6;--color-sidebar-hover:#0ea5e91a;--color-sidebar-active:#0ea5e926;--color-sidebar-text:#495057;--color-sidebar-text-muted:#6c757d;--color-header-bg:#fff;--color-header-border:#dee2e6;--sidebar-width-expanded:240px;--sidebar-width-collapsed:60px;--header-height:56px;--font-sans:"Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"SF Mono", Monaco, Inconsolata, "Roboto Mono", monospace;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014}.dark{--color-surface:#0f0f0f;--color-surface-raised:#1a1a1a;--color-surface-overlay:#2d2d2d;--color-border:#2f3441;--color-border-strong:#4a5364;--color-text-primary:#fafafa;--color-text-secondary:#d1d5db;--color-text-muted:#9ca3af;--color-sidebar-bg:#1a1a1a;--color-sidebar-border:#2f3441;--color-sidebar-hover:#0ea5e92e;--color-sidebar-active:#0ea5e947;--color-sidebar-text:#d1d5db;--color-sidebar-text-muted:#9ca3af;--color-header-bg:#0f0f0f;--color-header-border:#2f3441}*{box-sizing:border-box}html,body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-surface);color:var(--color-text-primary);margin:0;padding:0}#root{min-height:100dvh}a{color:var(--color-brand-600);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit}:focus-visible{outline:2px solid var(--color-brand-500);outline-offset:2px;border-radius:2px}.skip-link{background:var(--color-brand-600);color:#fff;z-index:1000;padding:8px 12px;position:absolute;top:0;left:-9999px}.skip-link:focus{top:8px;left:8px}.dark ::-webkit-scrollbar{width:8px;height:8px}.dark ::-webkit-scrollbar-track{background:var(--color-surface-raised)}.dark ::-webkit-scrollbar-thumb{background:var(--color-text-secondary);border-radius:4px}.dark ::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{min-height:100dvh;display:flex}.app-main{background:var(--color-surface);flex-direction:column;flex:1;min-width:0;display:flex}.app-content{flex:1;max-width:100%;padding:24px 28px 40px}@media (width<=768px){.app-content{padding:16px}}.sidebar{width:var(--sidebar-width-expanded);background:var(--color-sidebar-bg);border-right:1px solid var(--color-sidebar-border);flex-direction:column;flex-shrink:0;height:100dvh;transition:width .2s;display:flex;position:sticky;top:0}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar-logo{height:var(--header-height);border-bottom:1px solid var(--color-sidebar-border);letter-spacing:-.01em;color:var(--color-text-primary);white-space:nowrap;align-items:center;gap:10px;padding:0 16px;font-size:17px;font-weight:700;display:flex;overflow:hidden}.sidebar-logo-mark{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--color-brand-500), var(--color-brand-700));color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:inline-flex}.sidebar.collapsed .sidebar-logo-text{display:none}.sidebar-tenant{border-bottom:1px solid var(--color-sidebar-border);padding:12px 12px 10px}.tenant-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);text-align:left;cursor:not-allowed;opacity:.85;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.sidebar.collapsed .tenant-dropdown{justify-content:center;padding:8px}.tenant-dropdown-mark{border-radius:var(--radius-sm);background:var(--color-brand-500);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:inline-flex}.sidebar.collapsed .tenant-dropdown-label,.sidebar.collapsed .tenant-dropdown-chev{display:none}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex;overflow-y:auto}.sidebar-bottom{border-top:1px solid var(--color-sidebar-border);flex-direction:column;gap:6px;padding:10px 8px;display:flex}.sidebar-user{color:var(--color-sidebar-text);align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:flex}.sidebar.collapsed .sidebar-user{justify-content:center;padding:6px 4px}.sidebar.collapsed .sidebar-user-info{display:none}.sidebar-avatar{background:var(--color-brand-500);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:inline-flex}.sidebar-controls{justify-content:space-between;align-items:center;gap:4px;margin-top:6px;display:flex}.sidebar.collapsed .sidebar-controls{flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-top:8px}.nav-item{border-radius:var(--radius-md);color:var(--color-sidebar-text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--color-sidebar-hover);color:var(--color-text-primary);text-decoration:none}.nav-item.active{background:var(--color-sidebar-active);color:var(--color-brand-700);font-weight:600}.dark .nav-item.active{color:var(--color-brand-300)}.nav-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.nav-item-icon svg{width:18px;height:18px}.sidebar.collapsed .nav-item{justify-content:center;padding:8px}.sidebar.collapsed .nav-item-label,.sidebar.collapsed .nav-item-chevron{display:none}.nav-item-children{flex-direction:column;gap:2px;margin-top:2px;margin-left:26px;display:flex}.sidebar.collapsed .nav-item-children{display:none}.nav-flyout{z-index:60;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:200px;max-width:280px;box-shadow:var(--shadow-md);margin-left:6px;padding:4px 0;position:fixed;overflow:hidden}.nav-flyout-header{letter-spacing:.07em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg, var(--color-brand-700), var(--color-brand-500));padding:8px 12px;font-size:11px;font-weight:700}.nav-flyout-item{color:var(--color-sidebar-text);padding:8px 14px;font-size:13.5px;text-decoration:none;transition:background .12s,color .12s,transform .12s;display:block}.nav-flyout-item:hover{background:var(--color-sidebar-hover);color:var(--color-text-primary);text-decoration:none;transform:translate(2px)}.nav-flyout-item.active{background:var(--color-sidebar-active);color:var(--color-brand-700);font-weight:600}.dark .nav-flyout-item.active{color:var(--color-brand-300)}.nav-item-child{border-radius:var(--radius-sm);color:var(--color-sidebar-text-muted);padding:6px 10px;font-size:13px;text-decoration:none}.nav-item-child:hover{background:var(--color-sidebar-hover);color:var(--color-text-primary);text-decoration:none}.nav-item-child.active{color:var(--color-brand-700);font-weight:600}.dark .nav-item-child.active{color:var(--color-brand-300)}.icon-btn{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-sidebar-text);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--color-sidebar-hover);color:var(--color-text-primary)}.icon-btn svg{width:16px;height:16px}.app-header{height:var(--header-height);border-bottom:1px solid var(--color-header-border);background:var(--color-header-bg);z-index:10;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.app-header-title{color:var(--color-text-primary);font-size:15px;font-weight:600}.btn{border-radius:var(--radius-md);background:var(--color-surface-raised);color:var(--color-text-primary);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--color-surface-overlay)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-brand-600);color:#fff;border-color:var(--color-brand-600)}.btn-primary:hover{background:var(--color-brand-700)}.btn-secondary{color:var(--color-text-primary);border-color:var(--color-border);background:0 0}.btn-secondary:hover{background:var(--color-surface-raised)}.btn-ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.btn-danger{background:var(--color-danger-500);color:#fff}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-header h1{color:var(--color-text-primary);letter-spacing:-.01em;margin:0 0 4px;font-size:22px;font-weight:700}.page-header p{color:var(--color-text-muted);margin:0;font-size:13.5px}.page-actions{align-items:center;gap:8px;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.muted{color:var(--color-text-muted)}.tab-bar{border-bottom:1px solid var(--color-border);gap:4px;margin-bottom:20px;display:flex}.tab{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:13.5px;font-weight:600}.tab:hover{color:var(--color-text-primary)}.tab.active{color:var(--color-brand-600);border-bottom-color:var(--color-brand-600)}.dark .tab.active{color:var(--color-brand-400);border-bottom-color:var(--color-brand-400)}.tab.tab-disabled-look{opacity:.5}.tab.tab-disabled-look.active{opacity:.75}.dirty-pill{background:var(--color-warning-500);color:#1a1a1a;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.grid-canvas{background:var(--pp-bg,#f7f8fa);border:1px solid var(--pp-card-border,#e5e7eb);border-radius:var(--radius-lg);min-height:600px;padding:20px}.editor-tile{height:100%;color:var(--pp-text);background:0 0;border:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.editor-tile-hero{background:var(--pp-hero-grad);color:#f8fafc;border-radius:var(--pp-radius-card)}.editor-tile-hero .public-hero-inner h1{color:#f8fafc}.editor-tile-hero .public-hero-inner p,.editor-tile-hero .public-hero-subtitle,.editor-tile-hero .public-hero-contact{color:#cbd5e1}.editor-tile-hero .public-hero-contact a{color:#ffffffe6}.editor-tile-hidden{opacity:.55}.editor-drag-strip{cursor:grab;color:#0f172a73;letter-spacing:3px;z-index:2;-webkit-user-select:none;user-select:none;background:#0f172a0a;border:1px solid #0f172a14;border-radius:999px;justify-content:center;align-items:center;max-width:110px;height:22px;margin:6px auto 0;font-size:13px;transition:background .12s,color .12s;display:flex;position:absolute;top:0;left:0;right:0}.editor-drag-strip:hover{color:#0f172abf;background:#0f172a14}.editor-drag-strip:active{cursor:grabbing}.editor-tile-hero .editor-drag-strip{color:#ffffffa6;background:#ffffff1a;border-color:#fff3}.editor-tile-hero .editor-drag-strip:hover{color:#fff;background:#ffffff2e}.editor-tile-actions{z-index:3;gap:4px;display:flex;position:absolute;top:8px;right:8px}.editor-icon-btn{width:26px;height:26px;color:var(--pp-text-soft);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffd9;border:1px solid #0f172a14;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.editor-icon-btn:hover{border-color:var(--pp-card-border);color:var(--pp-text);background:#fff}.editor-tile-hero .editor-icon-btn{color:#f8fafc;background:#0f172a80;border-color:#ffffff2e}.editor-tile-hero .editor-icon-btn:hover{background:#0f172ab3;border-color:#ffffff59}.editor-tile-body{flex:1;padding:36px 4px 8px;overflow-y:auto}.editor-tile-hero .editor-tile-body{text-align:center;justify-content:center;align-items:center;padding:40px 32px 24px;display:flex}.react-grid-item.react-grid-placeholder{border-radius:var(--radius-md);background:var(--color-brand-500)!important;opacity:.18!important}.react-resizable-handle:after{border-right-color:var(--color-text-muted)!important;border-bottom-color:var(--color-text-muted)!important}.drawer-backdrop{z-index:50;background:#00000059;position:fixed;inset:0}.drawer{background:var(--color-surface);border-left:1px solid var(--color-border);width:min(760px,100vw);box-shadow:var(--shadow-md);z-index:51;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.row-fields{grid-template-columns:minmax(0,2fr) minmax(0,1.1fr) minmax(0,1.6fr) auto;align-items:end;gap:8px;margin-bottom:8px;display:grid}.row-fields .field{margin-bottom:0}.row-fields .row-remove{border:1px solid var(--color-border);width:28px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;margin-bottom:0;display:inline-flex}.row-fields .row-remove:hover{color:var(--color-danger-500);border-color:var(--color-danger-500)}.row-fields-linked-hint{color:var(--color-text-muted);grid-column:1/-1;margin:-4px 0 4px;font-size:11.5px}.category-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;margin-bottom:12px;padding:12px}.category-card-header{align-items:end;gap:8px;margin-bottom:10px;display:flex}.category-card-header .field{flex:1;margin-bottom:0}@media (width<=640px){.row-fields{grid-template-columns:1fr}.row-fields .row-remove{justify-self:stretch;width:100%;height:28px}}.drawer-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.drawer-title{margin:0;font-size:15px;font-weight:700}.drawer-body{flex:1;padding:16px 20px;overflow-y:auto}.drawer-footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--color-text-secondary);font-size:12.5px;font-weight:600}.field input[type=text],.field input[type=email],.field textarea,.field select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);width:100%;padding:8px 10px;font-family:inherit;font-size:13.5px}.field textarea{resize:vertical;min-height:96px}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--color-brand-500);outline-offset:0;border-color:var(--color-brand-500)}.modal-backdrop{z-index:60;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:520px;max-height:calc(100vh - 32px);display:flex}.modal-header{border-bottom:1px solid var(--color-border);padding:16px 20px}.modal-title{margin:0;font-size:15px;font-weight:700}.modal-body{padding:16px 20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.checkbox-row{align-items:center;gap:8px;padding:6px 0;font-size:13.5px;display:flex}.checkbox-group-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:14px 0 4px;font-size:11px;font-weight:700}.checkbox-group-label:first-child{margin-top:0}.toast{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-brand-500);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;max-width:360px;padding:12px 16px;font-size:13px;position:fixed;bottom:24px;right:24px}.toast.error{border-left-color:var(--color-danger-500)}.toast.success{border-left-color:var(--color-success-500)}.kbd{font-family:var(--font-mono);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);padding:1px 6px;font-size:12px}.login-shell{background:linear-gradient(#f7f8fa 0%,#eef0f4 100%);justify-content:center;align-items:center;min-height:100dvh;padding:32px 16px;display:flex}.dark .login-shell{background:linear-gradient(#0f1115 0%,#1a1f2a 100%)}.login-card{background:var(--color-surface);border:1px solid var(--color-border);text-align:center;border-radius:14px;width:100%;max-width:380px;padding:36px 32px;box-shadow:0 4px 12px #0f172a0f,0 16px 36px #0f172a14}.login-mark{background:linear-gradient(135deg, var(--color-brand-500), var(--color-brand-700));color:#fff;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:18px;font-size:16px;font-weight:800;display:inline-flex}.login-title{letter-spacing:-.01em;color:var(--color-text-primary);margin:0 0 6px;font-size:22px;font-weight:700}.login-sub{color:var(--color-text-muted);margin:0 0 24px;font-size:14px}.login-google{color:#202124;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;padding:11px 14px;font-size:14px;font-weight:600;transition:box-shadow .15s,background .12s;display:inline-flex}.login-google:hover{box-shadow:0 1px 3px #00000026}.login-google:disabled{opacity:.65;cursor:progress}.login-error{color:var(--color-danger-500);text-align:left;background:#fa5c7c1a;border:1px solid #fa5c7c59;border-radius:6px;margin-top:14px;padding:10px 12px;font-size:13px}.login-hint{color:var(--color-text-muted);margin-top:14px;font-size:11.5px}.login-hint code{font-family:var(--font-mono);background:var(--color-surface-raised);border-radius:4px;padding:1px 6px}.login-spinner{border:3px solid var(--color-border);border-top-color:var(--color-brand-500);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}.public-scope{--pp-bg:#f7f8fa;--pp-card-bg:#fff;--pp-card-border:#e5e7eb;--pp-card-shadow:0 1px 2px #0f172a0a, 0 8px 24px #0f172a0f;--pp-card-shadow-h:0 4px 12px #0f172a14, 0 16px 36px #0f172a14;--pp-text:#0f172a;--pp-text-soft:#475569;--pp-text-muted:#64748b;--pp-brand:#0284c7;--pp-brand-soft:#0ea5e914;--pp-hero-grad:linear-gradient(180deg, #0f172a 0%, #1e293b 55%, #334155 100%);--pp-divider:#eef0f4;--pp-radius-card:14px}html.public-scope,html.public-scope body{background:var(--pp-bg);color:var(--pp-text)}.public-page{background:var(--pp-bg);min-height:100vh;color:var(--pp-text)}.public-hero{background:var(--pp-hero-grad);color:var(--pp-hero-fg,#f8fafc);text-align:center;padding:56px 0 64px}.public-hero-header{justify-content:flex-start;align-items:center;max-width:1200px;margin:0 auto 32px;padding:0 24px;display:flex}.public-hero-logo{width:auto;max-width:220px;height:auto;max-height:36px;display:block}.public-hero-wordmark{letter-spacing:-.01em;color:var(--pp-hero-fg,#f8fafc);font-size:18px;font-weight:700}.public-hero-inner{max-width:880px;margin:0 auto}.public-hero-inner h1{letter-spacing:-.02em;color:var(--pp-hero-fg,#f8fafc);margin:0 0 14px;font-size:clamp(28px,4vw,44px);font-weight:700}.public-hero-inner p{color:var(--pp-hero-fg-soft,#cbd5e1);max-width:640px;margin:0 auto 24px;font-size:clamp(15px,1.6vw,18px);line-height:1.55}.public-hero-cta{color:#f8fafc;background:#ffffff1f;border:1px solid #ffffff40;border-radius:999px;padding:11px 22px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-block}.public-hero-cta:hover{background:#ffffff2e;border-color:#ffffff73;text-decoration:none}.public-body{flex-direction:column;gap:20px;max-width:1200px;margin:0 auto;padding:32px 24px 72px;display:flex}.public-row{grid-template-columns:repeat(12,1fr);align-items:start;gap:24px;display:grid}.public-section-wrap{flex-direction:column;min-width:0;display:flex}.public-section-body{background:var(--pp-card-bg);border:1px solid var(--pp-card-border);border-radius:var(--pp-radius-card);box-shadow:var(--pp-card-shadow);padding:26px 28px;transition:box-shadow .18s}.public-section-body:hover{box-shadow:var(--pp-card-shadow-h)}@media (width<=768px){.public-hero{padding:48px 20px}.public-body{gap:24px;padding:24px 16px 56px}.public-row{flex-direction:column;gap:24px;display:flex}.public-section-wrap{grid-column:unset!important}.public-section-body{padding:22px 20px}}.public-section-heading{letter-spacing:-.02em;color:var(--pp-text);margin:0 0 14px;font-size:26px;font-weight:700}@media (width<=768px){.public-section-heading{margin-bottom:12px;font-size:22px}}.public-paragraph{color:var(--pp-text-soft);margin:0 0 12px;font-size:15px;line-height:1.7}.public-paragraph:last-child{margin-bottom:0}.public-paragraph-loose{margin-bottom:18px}.public-tab-bar{background:var(--pp-card-bg);border-bottom:1px solid var(--pp-card-border);z-index:5;position:sticky;top:0}.public-tab-bar-inner{scrollbar-width:none;gap:4px;max-width:1200px;margin:0 auto;padding:0 24px;display:flex;overflow-x:auto}.public-tab-bar-inner::-webkit-scrollbar{display:none}.public-tab{color:var(--pp-text-soft);white-space:nowrap;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:14px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:color .12s,border-color .12s}.public-tab:hover{color:var(--pp-brand);text-decoration:none}.public-tab.active{color:var(--pp-brand);border-bottom-color:var(--pp-brand);font-weight:600}.public-hero-subtitle{color:var(--pp-hero-fg-soft,#cbd5e1);margin:8px 0 0;font-size:clamp(14px,1.4vw,16px)}.public-hero-contact{color:var(--pp-hero-fg-soft,#ffffffa6);margin:10px 0 0;font-size:14px}.public-hero-contact a{color:var(--pp-hero-fg,#ffffffe6);text-decoration:none}.public-hero-contact a:hover{text-decoration:underline}.public-doc-group{flex-direction:column;margin-bottom:18px;display:flex}.public-doc-group:last-child{margin-bottom:0}.public-doc-cat{letter-spacing:.08em;color:var(--pp-text-muted);border-bottom:1px solid var(--pp-divider);background:#fafbfc;margin:0 -28px;padding:10px 28px;font-size:11px;font-weight:700}.public-doc-row{border-bottom:1px solid var(--pp-divider);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.public-doc-row:last-child{border-bottom:none}.public-doc-name{color:var(--pp-text);align-items:center;gap:10px;font-size:14.5px;font-weight:500;display:flex}.public-doc-name svg{color:var(--pp-text-muted);flex-shrink:0}.public-doc-link{color:var(--pp-brand);white-space:nowrap;align-items:center;gap:5px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.public-doc-link:hover{text-decoration:underline}.public-doc-link-gated svg{opacity:.9}.controls-grid{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.controls-grid>*{flex:0 calc(33.333% - 20px);min-width:280px;max-width:380px}@media (width<=992px){.controls-grid>*{flex:0 calc(50% - 20px)}}@media (width<=640px){.controls-grid>*{flex:0 100%}}.control-mini-card{background:var(--pp-card-bg);border:1px solid var(--pp-card-border);border-radius:var(--pp-radius-card);box-shadow:var(--pp-card-shadow);padding:22px 24px;transition:box-shadow .18s,transform .18s}.control-mini-card:hover{box-shadow:var(--pp-card-shadow-h);transform:translateY(-1px)}.control-mini-title{color:var(--pp-text);margin-bottom:14px;font-size:15.5px;font-weight:700}.control-mini-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.control-mini-list li{color:var(--pp-text-soft);align-items:center;gap:10px;font-size:14px;line-height:1.4;display:flex}.control-mini-check{flex-shrink:0}.control-mini-link{color:var(--pp-brand);margin-top:14px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-block}.control-mini-link:hover{text-decoration:underline}.public-section-link{color:var(--pp-brand);margin-top:14px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-block}.public-section-link:hover{text-decoration:underline}.public-detail-body{grid-template-columns:220px minmax(0,1fr);gap:32px;max-width:1280px;margin:0 auto;padding:32px 24px 64px;display:grid}.public-detail-body-single{grid-template-columns:minmax(0,1fr)}.public-detail-nav{align-self:start;position:sticky;top:64px}.public-detail-nav-title{color:var(--pp-text);margin-bottom:10px;font-size:14px;font-weight:700}.public-detail-nav ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.public-detail-nav li a{color:var(--pp-text-soft);border-radius:6px;padding:8px 12px;font-size:13.5px;text-decoration:none;display:block}.public-detail-nav li a:hover{background:var(--pp-brand-soft);color:var(--pp-brand);text-decoration:none}.public-detail-main{min-width:0}.public-detail-card{background:var(--pp-card-bg);border:1px solid var(--pp-card-border);border-radius:var(--pp-radius-card);box-shadow:var(--pp-card-shadow);margin-bottom:24px;padding:32px;scroll-margin-top:72px}@media (width<=992px){.public-detail-body{grid-template-columns:1fr}.public-detail-nav{display:none}}@media (width<=768px){.public-detail-body{padding:16px}.public-detail-card{padding:22px 20px}}.public-control-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.public-control-row{border-bottom:1px solid var(--pp-divider);gap:14px;padding:16px 0;display:flex}.public-control-row:last-child{border-bottom:none}.public-control-row:first-child{padding-top:0}.public-control-check{flex-shrink:0;margin-top:2px}.public-control-content{flex:1;min-width:0}.public-control-name{color:var(--pp-text);margin-bottom:4px;font-size:15px;font-weight:700}.public-control-desc{color:var(--pp-text-soft);font-size:14px;line-height:1.6}.public-subproc-table{flex-direction:column;display:flex}.public-subproc-head{text-transform:uppercase;letter-spacing:.07em;color:var(--pp-text-muted);border-bottom:2px solid var(--pp-card-border);grid-template-columns:1fr 1.2fr 1.4fr;gap:16px;padding:10px 0;font-size:11px;font-weight:700;display:grid}.public-subproc-row-full{border-bottom:1px solid var(--pp-divider);grid-template-columns:1fr 1.2fr 1.4fr;align-items:start;gap:16px;padding:18px 0;font-size:14px;display:grid}.public-subproc-row-full:last-child{border-bottom:none}.public-subproc-cell-name{color:var(--pp-text);align-items:center;gap:10px;display:flex}.public-subproc-cell-contact{flex-direction:column;gap:4px;font-size:13.5px;display:flex}.public-subproc-cell-contact a{color:var(--pp-brand);font-size:13.5px}.public-subproc-cell-desc{color:var(--pp-text-soft);font-size:14px;line-height:1.55}@media (width<=768px){.public-subproc-head{display:none}.public-subproc-row-full{grid-template-columns:1fr;gap:6px;padding:16px 0}}.public-subprocessor-list{flex-direction:column;display:flex}.public-subprocessor-row{border-bottom:1px solid var(--pp-divider);gap:16px;padding:16px 0;display:flex}.public-subprocessor-row:first-child{padding-top:0}.public-subprocessor-row:last-child{border-bottom:none;padding-bottom:0}.public-subprocessor-icon{width:44px;height:44px;color:var(--pp-brand);background:linear-gradient(135deg,#e0f2fe,#bae6fd);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:inline-flex}.public-subprocessor-info{flex:1;min-width:0}.public-subprocessor-headline{font-size:14.5px;line-height:1.35}.public-subprocessor-name{color:var(--pp-text);font-weight:700}.public-subprocessor-sep{color:var(--pp-text-muted)}.public-subprocessor-category{color:var(--pp-text-soft);font-weight:500}.public-subprocessor-desc{color:var(--pp-text-soft);margin-top:4px;font-size:13.5px;line-height:1.5}.public-subprocessor-location{color:var(--pp-text-muted);margin-top:4px;font-size:13px}.public-faq-group{margin-bottom:16px}.public-faq-group:last-child{margin-bottom:0}.public-faq-group-label{letter-spacing:.07em;text-transform:uppercase;color:var(--pp-text-muted);margin-bottom:6px;font-size:11px;font-weight:700}.public-faq-item{border-bottom:1px solid var(--pp-divider);padding:12px 0}.public-faq-item:last-of-type{border-bottom:none}.public-faq-item>summary{cursor:pointer;color:var(--pp-text);justify-content:space-between;align-items:center;gap:12px;font-size:14.5px;font-weight:600;list-style:none;display:flex}.public-faq-item>summary::-webkit-details-marker{display:none}.public-faq-item>summary:after{content:"+";color:var(--pp-text-muted);font-size:18px;font-weight:400;line-height:1}.public-faq-item[open]>summary:after{content:"−"}.public-faq-answer{color:var(--pp-text-soft);margin-top:8px;font-size:14px;line-height:1.6}.public-contact-link{color:var(--pp-brand);margin-top:4px;font-size:14.5px;font-weight:600;text-decoration:none;display:inline-block}.public-contact-link:hover{text-decoration:underline}.public-footer{text-align:center;color:var(--pp-text-muted);padding:24px 16px 48px;font-size:12.5px}.public-footer a{color:var(--pp-brand);font-weight:600;text-decoration:none}.public-footer a:hover{text-decoration:underline}.btn-sm{border-radius:var(--radius-sm);gap:4px;padding:4px 8px;font-size:12px}.form-input{background:var(--color-surface);width:100%;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;padding:8px 10px;font-family:inherit;font-size:13px}.form-input:focus{border-color:var(--color-brand-500);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-brand-500) 25%, transparent);outline:none}.form-label{color:var(--color-text-secondary);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.form-field{margin-bottom:12px}.form-error{color:var(--color-danger-500);background:color-mix(in srgb, var(--color-danger-500) 8%, transparent);border-radius:var(--radius-sm);margin-top:8px;padding:8px 10px;font-size:12.5px}.alert{border-radius:var(--radius-md);align-items:flex-start;gap:12px;margin-bottom:12px;padding:12px 14px;font-size:13px;line-height:1.4;display:flex}.alert-warning{background:color-mix(in srgb, var(--color-warning-500) 14%, transparent);border:1px solid color-mix(in srgb, var(--color-warning-500) 35%, transparent);color:var(--color-text-primary)}.alert-warning svg{color:var(--color-warning-500);flex-shrink:0;margin-top:2px}.section-title{margin:0 0 4px;font-size:14px;font-weight:700}.workflow-editor .card{margin-bottom:14px}.workflow-step-list{flex-direction:column;display:flex}.workflow-step{gap:12px;padding:4px 0 14px;display:flex}.workflow-step.branch-manual{background:color-mix(in srgb, var(--color-brand-500) 4%, transparent);border-radius:var(--radius-md);padding-left:8px;padding-right:8px}.workflow-step-rail{flex-direction:column;align-items:center;width:24px;padding-top:4px;display:flex;position:relative}.workflow-step-bullet{background:var(--color-brand-500);color:#fff;z-index:1;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.workflow-step-rail-line{background:var(--color-border);flex:1;width:2px;margin-top:2px}.workflow-step-body{flex:1;min-width:0;padding-bottom:4px}.workflow-step-header{justify-content:space-between;align-items:flex-start;margin-bottom:6px;display:flex}.workflow-step-title{flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;font-weight:700;display:flex}.workflow-step-footer{margin-top:8px}.phase-tag{text-transform:uppercase;letter-spacing:.05em;background:var(--color-surface-raised);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.workflow-actions{flex-direction:column;gap:8px;margin-top:8px;display:flex}.action-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised)}.action-card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.action-card-channel{color:var(--color-text-primary);align-items:center;gap:6px;font-size:12.5px;display:flex}.action-card-body{padding:12px}.channel-picker{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.macro-reference{border-radius:var(--radius-md);margin-top:8px;padding:0}.macro-reference>summary{cursor:pointer;color:var(--color-text-muted);background:var(--color-surface-raised);border-radius:var(--radius-md);padding:8px 12px;font-size:12.5px;list-style:none}.macro-reference>summary:before{content:"▸ "}.macro-reference[open]>summary:before{content:"▾ "}.macro-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding:12px;display:grid}.macro-entry{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:8px}.macro-entry code{color:var(--color-brand-500);margin-bottom:4px;font-size:12px;display:inline-block}.access-request-list{flex-direction:column;gap:8px;display:flex}.access-request-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.access-request-meta{flex:1;min-width:0}.access-request-name{font-size:13px;font-weight:600}.status-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.status-pending_email_verification{background:color-mix(in srgb, var(--color-warning-500) 18%, transparent);color:var(--color-warning-500)}.status-nda_accepted{background:color-mix(in srgb, var(--color-success-500) 18%, transparent);color:var(--color-success-500)}.status-expired{background:color-mix(in srgb, var(--color-text-muted) 15%, transparent);color:var(--color-text-muted)}.toggle{cursor:pointer;width:36px;height:20px;display:inline-flex;position:relative}.toggle input{opacity:0;position:absolute}.toggle-slider{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:999px;transition:background .15s;position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:1px;left:1px}.toggle input:checked+.toggle-slider{background:var(--color-brand-500);border-color:var(--color-brand-500)}.toggle input:checked+.toggle-slider:before{border-color:var(--color-brand-500);transform:translate(16px)}.demo-callout{background:color-mix(in srgb, var(--color-brand-500) 8%, transparent);border:1px dashed color-mix(in srgb, var(--color-brand-500) 40%, transparent);border-radius:var(--radius-md);text-align:left;margin-top:18px;padding:12px}.demo-callout-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--color-brand-500);align-items:center;gap:4px;margin-bottom:6px;font-size:10px;font-weight:700;display:inline-flex}.checkbox-card{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:var(--color-surface);align-items:flex-start;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.checkbox-card.checked{border-color:var(--color-brand-500);background:color-mix(in srgb, var(--color-brand-500) 5%, transparent)}.checkbox-card input{margin-top:3px}.checkbox-card-title{font-size:13.5px;font-weight:600}.checkbox-card-hint{color:var(--color-text-muted);margin-top:2px;font-size:12px;line-height:1.4}.modal.nda-modal{max-width:720px}.nda-scroll-box{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface-raised);max-height:50vh;padding:16px 20px;overflow-y:auto}.nda-text{white-space:pre-wrap;color:var(--color-text-primary);margin:0;font-family:ui-monospace,monospace;font-size:12.5px;line-height:1.55}.nda-scroll-hint{color:var(--color-warning-500);background:color-mix(in srgb, var(--color-warning-500) 8%, transparent);padding:8px 20px;font-size:11.5px}.modal.request-modal{max-width:560px}.danger-zone{border:2px dashed var(--color-danger-500);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-danger-500) 5%, transparent);margin-top:20px;padding:16px 18px}.danger-zone-inner{background:color-mix(in srgb, var(--color-danger-500) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-danger-500) 30%, transparent);border-radius:var(--radius-sm);margin:12px 0;padding:10px 12px}.btn-danger{background:var(--color-danger-500);color:#fff;border:1px solid var(--color-danger-500);align-items:center;gap:6px;display:inline-flex}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger-500) 88%, black);border-color:color-mix(in srgb, var(--color-danger-500) 88%, black)}.btn-danger:disabled{background:color-mix(in srgb, var(--color-danger-500) 50%, var(--color-surface-raised));cursor:not-allowed;border-color:#0000}.legal-note{background:color-mix(in srgb, var(--color-warning-500) 8%, transparent);border:1px solid color-mix(in srgb, var(--color-warning-500) 25%, transparent);border-radius:var(--radius-sm);align-items:flex-start;gap:10px;margin-bottom:10px;padding:10px 12px;font-size:12.5px;line-height:1.5;display:flex}.legal-note svg{color:var(--color-warning-500);flex-shrink:0;margin-top:2px}.login-terms{color:var(--color-text-muted);text-align:center;margin-top:18px;font-size:11.5px;line-height:1.5}.login-terms a{color:var(--color-brand-500);font-weight:500;text-decoration:none}.login-terms a:hover{text-decoration:underline}.legal-shell{background:var(--color-surface);min-height:100vh;color:var(--color-text-primary)}.legal-hero{color:#f8fafc;background:linear-gradient(#0f172a 0%,#1e293b 100%);padding:36px 24px 28px}.legal-hero-inner{max-width:880px;margin:0 auto}.legal-hero-inner h1{letter-spacing:-.02em;margin:8px 0 4px;font-size:28px}.legal-back{color:#f8fafcb3;font-size:13px;text-decoration:none}.legal-back:hover{color:#fff;text-decoration:underline}.legal-updated{color:#f8fafc99;font-size:12.5px}.legal-body{max-width:880px;margin:0 auto;padding:24px}.legal-card{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:28px 32px;font-size:14px;line-height:1.65}.legal-card h4{margin:24px 0 8px;font-size:16px}.legal-card ul,.legal-card ol{margin:0 0 12px;padding-left:22px}.legal-card li{margin-bottom:4px}.legal-card p{margin:0 0 12px}.legal-card code{background:var(--color-surface);border:1px solid var(--color-border);border-radius:3px;padding:1px 5px;font-size:12.5px}.legal-card a{color:var(--color-brand-500);text-decoration:none}.legal-card a:hover{text-decoration:underline}.legal-footer-nav{color:var(--color-text-muted);justify-content:center;gap:12px;margin:22px 0 6px;font-size:13px;display:flex}.legal-footer-nav a{color:var(--color-text-secondary);text-decoration:none}.legal-footer-nav a.active{color:var(--color-brand-500);font-weight:600}.legal-footer-nav a:hover{text-decoration:underline}
