:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#05070c;--bg-elevated:#0a0d14;--surface:#11161f;--surface-2:#181f2b;--surface-3:#242933;--border:#ffffff14;--border-strong:#fdcb2380;--text:#f8fafc;--text-secondary:#c2c9d6;--text-muted:#95a0b5;--brand:#fdcb23;--brand-deep:#ffca1a;--danger:#ff6b81;--shadow-medium:0 4px 8px -2px #10182840, 0 2px 4px -2px #10182866;--radius-xl:24px;--radius-lg:20px;--radius-md:16px;--radius-sm:12px}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--text);background:radial-gradient(circle at 100% 0,#fdcb2314,#0000 30%),linear-gradient(#080b11 0%,#05070c 100%);margin:0;font-family:Avenir Next,Segoe UI,Helvetica Neue,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{background:radial-gradient(circle at top,#fdcb230d,#0000 25%),#000;border-right:1px solid #ffffff0a;flex-direction:column;gap:18px;height:100vh;padding:18px 14px 22px;display:flex;position:sticky;top:0}.app-sidebar__brand{justify-content:space-between;align-items:center;min-height:52px;padding:4px 8px 0;display:flex}.app-sidebar__nav{gap:4px;display:grid}.app-sidebar__footer{gap:10px;margin-top:auto;padding:12px 8px 0;display:grid}.sidebar-support-link{color:var(--text-muted);font-size:13px}.sidebar-support-link:hover{color:var(--brand)}.sidebar-collapse{color:#fff;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.sidebar-collapse svg,.topbar-create svg,.topbar-search svg,.topbar-pill svg,.topbar-icon-button svg,.sidebar-link svg{flex:none;width:18px;height:18px}.sidebar-link{color:#ffffffdb;background:0 0;border-radius:14px;align-items:center;gap:12px;min-height:40px;padding:10px 14px;transition:background-color .14s,color .14s,transform .14s;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff0d}.sidebar-link.is-active{background:linear-gradient(180deg, #ffd34b 0%, var(--brand) 100%);color:#11161f;box-shadow:inset 0 1px #ffffff59}.app-frame{grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.app-topbar{z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-height:72px;box-shadow:var(--shadow-medium);background:#0a0d14d1;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex;position:sticky;top:0}.app-topbar__left,.app-topbar__right{align-items:center;gap:12px;display:flex}.topbar-create,.topbar-search,.topbar-pill,.topbar-icon-button,.topbar-user{border:1px solid var(--border);min-height:38px;color:var(--text);background:#ffffff08;border-radius:999px}.topbar-create,.topbar-search,.topbar-pill{align-items:center;gap:8px;display:inline-flex}.topbar-create{border-color:var(--border-strong);text-transform:uppercase;letter-spacing:.06em;padding:0 14px 0 16px;font-size:14px;font-weight:700}.topbar-create--secondary{border-color:var(--border);color:var(--text);background:#ffffff0a}.topbar-search{min-width:220px;color:var(--text-muted);padding:0 16px}.topbar-pill{color:var(--text-secondary);padding:0 14px}.topbar-icon-button{justify-content:center;align-items:center;width:38px;display:inline-flex}.topbar-user{align-items:center;gap:12px;padding:4px 6px 4px 14px;display:inline-flex}.topbar-user__name{color:var(--text);letter-spacing:-.03em;font-size:1rem;font-weight:700}.topbar-user__avatar{color:#0b0d12;background:linear-gradient(#c9d2e2 0%,#7f8ba3 100%);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:inline-flex}.app-content{min-width:0;padding:28px 32px 40px}.penny-logo__word,.penny-logo__dot,.penny-logo__lab,.penny-mark__p,.penny-mark__dot{letter-spacing:-.06em;font-weight:700}.penny-logo__word,.penny-mark__p{color:#fff}.penny-logo__dot,.penny-mark__dot{color:var(--brand)}.penny-logo__lab{color:#ffffff80;margin-left:2px}.penny-logo__word,.penny-logo__dot,.penny-logo__lab{font-size:clamp(1.55rem,1.2rem + .7vw,2rem);line-height:1}.penny-mark__p,.penny-mark__dot{font-size:1.8rem;line-height:1}.panel{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-medium);background:linear-gradient(#ffffff08,#ffffff05);padding:20px}.panel.subtle{background:#ffffff06}.grid{gap:16px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stack{gap:14px;display:grid}.muted{color:var(--text-muted)}.button{background:linear-gradient(180deg, #ffd34b 0%, var(--brand) 100%);color:#141922;letter-spacing:.02em;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:40px;padding:10px 18px;font-weight:700;display:inline-flex;box-shadow:inset 0 1px #ffffff59}.button:disabled{opacity:.72;cursor:not-allowed}.secondary-button{color:var(--text);border:1px solid var(--border);box-shadow:none;background:#ffffff0a}.danger-button{color:var(--danger);border:1px solid var(--danger);box-shadow:none;background:#ff6b811f}.input,.textarea,.select{border:1px solid var(--border);width:100%;color:var(--text);background:#ffffff09;border-radius:14px;padding:12px 14px}.select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:var(--surface)}.select option,.select optgroup{background-color:var(--surface);color:var(--text)}.select option:checked,.select option:hover,.select option:focus-visible{background:var(--brand);color:#141922}.table{border-collapse:collapse;width:100%}.table-scroll{width:100%;overflow-x:auto}.table th,.table td{text-align:left;vertical-align:top;border-bottom:1px solid #ffffff0f;padding:14px 12px}.table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:13px;font-weight:600}.pill{width:fit-content;color:var(--text);text-transform:uppercase;letter-spacing:.04em;background:#ffffff0f;border-radius:999px;padding:6px 10px;font-size:12px;display:inline-flex}.pill.draft{background:#6078ff2e}.pill.preview_ready,.pill.pending_review,.pill.risk-medium,.pill.diff-modified{background:#fdcb232e}.pill.approved,.pill.applied,.pill.reverted,.pill.risk-low,.pill.diff-added{background:#4ade8029}.pill.rejected,.pill.failed,.pill.risk-high,.pill.risk-critical,.pill.diff-removed{background:#ff6b812e}.pill.diff-unchanged{background:#94a3b829}.change-requests-list{gap:16px;display:grid}.change-requests-filters{grid-template-columns:minmax(220px,1.4fr) repeat(6,minmax(150px,1fr)) auto;align-items:end;gap:12px;display:grid}.change-requests-filters label{gap:6px;min-width:0;display:grid}.change-requests-filters label span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:700}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.pagination__controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.code,.code-block,.diff-table,.diff-hunk-header,.script-line__number,.script-line__code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.code{white-space:pre-wrap}.code-block,.diff-file,.script-review{background:#090c12;border:1px solid #ffffff0f;border-radius:18px;margin:0;overflow:auto}.code-block{white-space:pre-wrap;padding:16px}.error-banner{color:#ffd5dc;background:#ff6b811f;border:1px solid #ff6b8166;border-radius:14px;padding:12px 14px}.email-migration{background:#fdcb2309;border:1px solid #fdcb2324;border-radius:8px;padding:16px}.migration-preview{background:#090c12;border:1px solid #ffffff14;border-radius:8px}.migration-preview__meta{color:var(--text-muted);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.migration-preview__meta span{background:#ffffff0f;border-radius:999px;padding:4px 8px}.migration-preview--virtual{height:480px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;position:relative;overflow:auto}.migration-preview__window{position:absolute;left:0;right:0}.migration-preview__line{grid-template-columns:72px minmax(0,1fr);min-height:20px;line-height:20px;display:grid}.migration-preview__line pre{white-space:pre;min-width:max-content;margin:0}.migration-preview__number{z-index:1;color:var(--text-muted);text-align:right;background:#090c12;border-right:1px solid #ffffff0f;padding:0 10px;position:sticky;left:0}.migration-preview__textarea{resize:vertical;min-height:420px}.email-migration__controls,.email-migration__template-header,.email-migration__template-actions,.email-migration__language-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.email-migration__controls,.email-migration__template-header{justify-content:space-between}.email-migration__target{text-align:right}.email-migration__prefix{min-width:min(260px,100%)}.tag-input{border:1px solid var(--border);background:#ffffff0a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;min-height:46px;padding:7px 10px;display:flex}.tag-input input{min-width:120px;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:160px}.tag-chip{max-width:100%;min-height:28px;color:var(--text);overflow-wrap:anywhere;background:#fdcb231a;border:1px solid #fdcb2338;border-radius:999px;align-items:center;gap:6px;padding:4px 8px 4px 10px;font-size:13px;display:inline-flex}.tag-chip button{width:18px;height:18px;color:var(--text-muted);cursor:pointer;background:#ffffff14;border:0;border-radius:999px;place-items:center;display:inline-grid}.checkbox-pill{border:1px solid var(--border);background:#ffffff0a;border-radius:999px;align-items:center;gap:8px;min-height:38px;padding:8px 12px;display:inline-flex}.checkbox-pill input,.email-template-option input{accent-color:var(--brand)}.email-template-list{gap:8px;max-height:420px;padding-right:4px;display:grid;overflow:auto}.email-template-option{background:#05070c70;border:1px solid #ffffff0f;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:52px;padding:10px 12px;display:grid}.email-template-option>span{gap:2px;min-width:0;display:grid}.email-template-option strong,.email-template-option .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.email-template-option__langs{color:var(--brand);grid-auto-flow:column;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.migration-run-status{text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;font-size:11px;font-weight:700}.migration-run-status--ran{color:#4ade80;background:#22c55e29;border:1px solid #22c55e66}.migration-run-status--not-ran{color:var(--text-muted);background:#94a3b81f;border:1px solid #94a3b84d}.migration-run-status--unknown,.migration-run-status--checking{color:var(--text-muted);background:#94a3b814;border:1px dashed #94a3b84d}.run-console{background:#090c12bd;border:1px solid #94a3b833;border-radius:8px;gap:10px;padding:14px;display:grid}.run-console--failed{border-color:#ff6b816b}.run-console--running{border-color:#fdcb235c}.run-console--succeeded{border-color:#4ade8047}.run-console__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.run-console__header h3{margin:0}.run-console__pill{color:var(--text)}.run-console__pill--failed{background:#ff6b812e}.run-console__pill--running{color:var(--brand);background:#fdcb2333}.run-console__pill--succeeded{background:#4ade8029}.run-console__body{color:#dbeafe;white-space:pre-wrap;overflow-wrap:anywhere;background:#05070b;border:1px solid #ffffff0f;border-radius:8px;max-height:360px;margin:0;padding:12px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55;overflow:auto}.run-console__logs{background:#040a12f0;border:1px solid #22d3ee2e;border-radius:8px;gap:6px;max-height:220px;padding:10px 12px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.5;display:grid;overflow:auto}.run-console__log-line{color:#67e8f9;white-space:pre-wrap;overflow-wrap:anywhere}.run-console__log-line--warn{color:#fde68a}.run-console__log-line--error{color:#fda4af}.run-console__log-meta{color:#94a3b8}.diff-hunk+.diff-hunk{border-top:1px solid #ffffff0f}.diff-hunk-header{color:var(--text-muted);background:#10151e;border-bottom:1px solid #ffffff0f;padding:10px 14px}.diff-row td{white-space:pre-wrap;vertical-align:top;padding:6px 8px}.diff-row.diff-add{background:#4ade8014}.diff-row.diff-remove{background:#ff6b8114}.diff-num,.diff-sign{width:48px;color:var(--text-muted);-webkit-user-select:none;user-select:none}.diff-sign{text-align:center;width:32px}.diff-code{word-break:break-word;width:100%}.diff-load-sentinel{width:100%;min-height:1px}.preview-file-details summary{cursor:pointer;list-style:none}.preview-file-details summary::-webkit-details-marker{display:none}.preview-file-summary,.metric-card__meta,.preview-file-summary{justify-content:space-between;align-items:center;gap:16px;display:flex}.script-line-block+.script-line-block{border-top:1px solid #ffffff0d}.script-line-load-more{border-top:1px solid #ffffff0d;padding:14px}.script-line{grid-template-columns:64px minmax(max-content,1fr);align-items:start;gap:12px;padding:0 12px;display:grid}.script-line__number{color:var(--text-muted);text-align:right;-webkit-user-select:none;user-select:none;border-right:1px solid #ffffff14;justify-content:flex-end;align-items:center;gap:8px;padding:12px 12px 12px 0;display:flex}.script-line__code{white-space:pre;margin:0;padding:12px 0;overflow:visible}.script-line__comment-gutter{width:24px;height:24px;color:var(--brand);cursor:pointer;opacity:0;pointer-events:none;background:#fdcb2333;border:0;border-radius:999px;font-size:18px;line-height:1;transition:opacity .12s}.script-line:hover .script-line__comment-gutter,.script-line__comment-gutter:focus-visible{opacity:1;pointer-events:auto}.script-comments{gap:8px;padding:0 16px 12px 88px;display:grid}.script-comment{background:#ffffff09;border:1px solid #ffffff14;border-radius:14px;gap:6px;padding:12px;display:grid}.script-comment__meta{color:var(--text-muted);justify-content:space-between;gap:12px;font-size:13px;display:flex}.script-comment-editor{padding:0 16px 16px 88px}.database-dropdown{min-width:220px;position:relative}.database-dropdown__trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.database-dropdown__trigger-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.database-dropdown__menu{z-index:20;border:1px solid var(--border);max-height:260px;box-shadow:var(--shadow-medium);background:#0d1118;border-radius:14px;padding:10px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto}.database-dropdown__option{align-items:center;gap:8px;padding:8px 6px;display:flex}.database-dropdown__option+.database-dropdown__option{border-top:1px solid #ffffff0d}.dashboard-overview{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(180px,1fr));gap:16px;display:grid}.metric-card{align-content:start;gap:8px;min-height:150px;display:grid}.dashboard-header,.dashboard-section-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.dashboard-header{align-items:flex-start}.dashboard-header h2,.dashboard-section-head h3{margin:0}.metric-card__eyebrow{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.metric-card__value{font-size:clamp(32px,4vw,54px);font-weight:800;line-height:1}.metric-card__label{font-size:15px}.dashboard-database-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dashboard-database-card{gap:6px;display:grid}.preview-progress{background:#ffffff14;border:1px solid #fdcb2338;border-radius:999px;width:100%;height:12px;overflow:hidden}.preview-progress__bar{background:linear-gradient(90deg, #fdcb2314, #fff2b8 22%, var(--brand) 50%, #fff2b8 78%, #fdcb2314);border-radius:999px;width:35%;height:100%;animation:1.4s ease-in-out infinite preview-progress-slide;box-shadow:0 0 24px #fdcb2361}.preview-running{background:linear-gradient(#fdcb231c,#fdcb230a),#ffffff06;border-color:#fdcb2352}.preview-running__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.preview-running__pill{color:var(--brand);background:#fdcb2333}.workflow-page{gap:28px;min-height:calc(100vh - 132px);display:grid}.workflow-breadcrumb{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.workflow-breadcrumb__back{border:1px solid var(--border-strong);color:#f7f7f3;text-transform:uppercase;border-radius:999px;align-items:center;min-height:36px;padding:0 16px;font-size:14px;font-weight:700;display:inline-flex}.workflow-breadcrumb__trail{color:var(--text-secondary);align-items:center;gap:12px;display:inline-flex}.workflow-breadcrumb__home{width:16px;height:16px;color:var(--text);background:linear-gradient(135deg,#0000 0 46%,currentColor 46% 54%,#0000 54%) top/12px 8px no-repeat,linear-gradient(currentColor,currentColor) bottom/10px 7px no-repeat;display:inline-block}.workflow-breadcrumb__separator{color:var(--text-muted);font-size:18px}.workflow-hero{text-align:center;background:radial-gradient(circle at top,#fdcb2314,#0000 20%),linear-gradient(#11161ffa 0%,#0a0d14f2 100%);border:1px solid #ffffff0d;border-radius:36px;place-items:center;min-height:620px;display:grid;position:relative;overflow:hidden}.workflow-watermark{opacity:.08;place-items:center;display:grid;position:absolute;inset:0}.workflow-watermark span{border-top:50px solid #ffffff52;border-right:50px solid #ffffff52;width:min(34vw,420px);height:min(34vw,420px);position:absolute;transform:rotate(45deg)}.workflow-watermark span:last-child{transform:rotate(225deg)}.workflow-copy{z-index:1;justify-items:center;gap:10px;max-width:540px;display:grid;position:relative}.workflow-copy__eyebrow{color:var(--brand);text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:700}.workflow-copy h1{letter-spacing:-.05em;margin:0;font-size:clamp(2.4rem,4vw,4rem);line-height:1.02}.workflow-copy p{max-width:420px;color:var(--text-secondary);margin:0;font-size:1.08rem;line-height:1.7}.workflow-copy__button{margin-top:10px}.workflow-stats{gap:12px;width:160px;display:grid;position:absolute;inset:auto 28px 28px auto}.workflow-stat-card{text-align:left;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;padding:14px 16px}.workflow-stat-card strong{margin-top:2px;font-size:1.8rem;display:block}.workflow-stat-card__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.auth-shell{background:radial-gradient(circle at 0 0,#fdcb231f,#0000 24%),linear-gradient(#05070c 0%,#090d15 100%);grid-template-columns:minmax(280px,420px) minmax(0,1fr);min-height:100vh;display:grid}.auth-shell__backdrop{pointer-events:none;background:radial-gradient(circle at 20% 20%,#fdcb2314,#0000 18%),radial-gradient(circle at 80% 10%,#ffffff0a,#0000 24%);position:fixed;inset:0}.auth-shell__brand,.auth-shell__content{z-index:1;padding:48px;position:relative}.auth-shell__brand{border-right:1px solid #ffffff0f;align-content:end;gap:18px;display:grid}.auth-shell__content{place-items:center;display:grid}@keyframes preview-progress-slide{0%{transform:translate(-120%)}to{transform:translate(320%)}}@media (max-width:1100px){.app-shell{grid-template-columns:1fr}.app-sidebar{border-bottom:1px solid #ffffff0a;border-right:0;height:auto;position:static}.app-topbar{position:static}}@media (max-width:960px){.grid.cols-2,.grid.cols-3,.grid.cols-4,.dashboard-overview,.dashboard-database-list{grid-template-columns:1fr}.script-line{grid-template-columns:52px minmax(max-content,1fr)}.script-comments,.script-comment-editor{padding-left:16px}.app-topbar,.app-content{padding-left:18px;padding-right:18px}.app-topbar{flex-direction:column;align-items:flex-start}.app-topbar__left,.app-topbar__right{flex-wrap:wrap;width:100%}.topbar-search{flex:220px;min-width:0}.change-requests-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-hero{min-height:520px;padding:28px 20px 120px}.workflow-stats{grid-template-columns:repeat(2,minmax(0,1fr));width:auto;inset:auto 20px 20px}.auth-shell{grid-template-columns:1fr}.auth-shell__brand{border-bottom:1px solid #ffffff0f;border-right:0;padding-bottom:24px}.auth-shell__brand,.auth-shell__content{padding:28px 20px}}@media (max-width:640px){.change-requests-filters{grid-template-columns:1fr}.pagination,.pagination__controls{flex-direction:column;align-items:stretch}}
