@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@500;600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap");:root{--brand:#0054f9;--brand-deep:#0041c4;--brand-soft:#e8effe;--brand-accent:#65bd7d;--brand-accent-deep:#3f9a58;--ink:#212326;--ink-muted:#434549;--line:#d9dee5;--surface:#ffffff;--page:#f2f3f5;--danger:#b42318;--danger-bg:#fef3f2;--ok:#027a48;--ok-bg:#ecfdf3;--warn-bg:#fffaeb;--warn-line:#f5c451;--shadow:0 12px 40px rgba(33,35,38,0.08);--radius:10px;--header-h:64px;--content-max:1040px;--content-wide:1200px;--font-display:"Outfit","Segoe UI",sans-serif;--font-body:"Source Sans 3","Segoe UI",sans-serif}*{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--ink);background:#ffffff}a{color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--brand-deep)}.app-shell{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}.page-backdrop{position:fixed;top:0;left:0;right:0;height:clamp(280px,48vh,520px);z-index:0;pointer-events:none;overflow:hidden}.page-backdrop svg{display:block;width:100%;height:100%}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;min-height:var(--header-h);padding:10px clamp(16px,3vw,28px);background:rgba(240,244,249,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);border-bottom:1px solid rgba(0,84,249,.06);box-shadow:none}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.brand,.brand:hover{color:inherit}.brand-logo{height:32px;width:auto;display:block}.brand-sub{font-family:var(--font-display);font-weight:600;font-size:.78rem;letter-spacing:.04em;color:var(--ink-muted);border-left:1px solid var(--line);padding-left:12px}.app-nav{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.app-nav a{color:var(--ink);text-decoration:none;padding:6px 10px;border-radius:8px;font-weight:600;font-size:.92rem;transition:background .15s ease,color .15s ease}.app-nav a:hover{background:var(--brand-soft);color:var(--brand)}.app-user{margin-left:auto;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.app-user a.user-link,.app-user span{font-size:.9rem;color:var(--ink-muted);text-decoration:none}.app-user a.user-link:hover{color:var(--brand);text-decoration:underline}button.ghost{border:1px solid var(--line);background:#fff;color:var(--ink);padding:6px 12px}button.ghost:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.app-main{flex:1 1;width:min(100% - 2rem,var(--content-max));margin:0 auto;padding:clamp(1.25rem,3vw,2rem) 0 clamp(3rem,6vw,5rem)}.app-main.wide{width:min(100% - 2rem,var(--content-wide))}.app-main>*{position:relative;z-index:1}body.auth-page{display:flex;flex-direction:column}body.auth-page .app-header{justify-content:center}body.auth-page .app-main{display:flex;align-items:center;justify-content:center;width:min(100% - 2rem,440px);padding-top:1.5rem;padding-bottom:6rem}.auth-panel{width:100%;background:var(--surface);border:1px solid rgba(26,28,30,.06);border-radius:16px;box-shadow:var(--shadow);padding:clamp(1.5rem,4vw,2rem);animation:panel-in .4s ease-out}.auth-panel .auth-logo{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:.5rem;color:var(--brand);text-align:center}.auth-panel .auth-logo img{width:min(200px,70vw);height:auto}.auth-panel h1{text-align:center;margin-bottom:.35rem}.auth-panel>p:first-of-type{text-align:center;color:var(--ink-muted)}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.2}h1{font-size:clamp(1.5rem,2.5vw,1.85rem);margin:0 0 1rem}h2{font-size:1.2rem;margin:1.75rem 0 .75rem;padding-bottom:.35rem;border-bottom:2px solid var(--brand-soft)}label{display:block;margin:.85rem 0 .35rem;font-weight:600;font-size:.92rem}label.inline{display:inline-flex;gap:6px;align-items:center;font-weight:500;margin:0 12px 0 0}button,input,select,textarea{font:inherit}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{width:100%;max-width:100%;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,84,249,.22)}input[type=file]{display:block;width:100%;padding:.85rem 1rem;border:2px dashed var(--brand);border-radius:var(--radius);background:rgba(0,84,249,.06);cursor:pointer;transition:border-color .15s ease,background .15s ease}input[type=file]:hover{border-color:var(--brand-deep);background:var(--brand-soft)}button{cursor:pointer;border:1px solid transparent;border-radius:8px;padding:.55rem 1rem;font-weight:600;font-family:var(--font-display);background:var(--brand);color:#fff;transition:background .15s ease,transform .1s ease,box-shadow .15s ease}button:hover:not(:disabled){background:var(--brand-deep)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:#fff;color:var(--brand);border-color:var(--brand)}button.secondary:hover:not(:disabled){background:var(--brand-soft);color:var(--brand-deep)}button.danger{background:#fff;color:var(--danger);border-color:#f3b4ae}button.danger:hover:not(:disabled){background:var(--danger-bg)}.panel{background:var(--surface);border:1px solid rgba(26,28,30,.06);border-radius:14px;box-shadow:var(--shadow);padding:clamp(1rem,2.5vw,1.5rem);animation:panel-in .35s ease-out}@keyframes panel-in{0%{opacity:0}to{opacity:1}}.narrow{max-width:420px;margin-inline:auto}.auth-panel input:not([type=checkbox]):not([type=radio]):not([type=file]),.auth-panel select,.narrow,.narrow input:not([type=checkbox]):not([type=radio]):not([type=file]),.narrow select{width:100%}.row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.row>div{flex:1 1 160px;min-width:0}.muted{color:var(--ink-muted)}.error,.success,.warnings{border-radius:8px;padding:.75rem 1rem;margin:.75rem 0}.error{background:var(--danger-bg);border:1px solid #f3b4ae;color:var(--danger)}.success{background:var(--ok-bg);border:1px solid #a6f4c5;color:var(--ok)}.invite-box{margin:.75rem 0 1rem;padding:.75rem 1rem;border:1px solid var(--line,#d0d7e2);border-radius:8px;background:#fff}.invite-box label{display:block;margin-bottom:.35rem;font-weight:600}.warnings{background:var(--warn-bg);border:1px solid var(--warn-line);padding-left:1.75rem}.notifications{border:1px solid var(--line,#d0d7e2);border-radius:8px;color:var(--ink-muted);padding:.75rem 1rem .75rem 1.75rem}.notifications,table{background:var(--surface);margin:.75rem 0}table{border-collapse:collapse;width:100%;border-radius:10px;overflow:hidden;border:1px solid var(--line)}td,th{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:.55rem .7rem;text-align:left;vertical-align:top}td:last-child,th:last-child{border-right:none}tr:last-child td{border-bottom:none}th{background:var(--brand-soft);color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:.88rem}.profile-list{margin:0;padding-left:1.15rem}.profile-list li+li{margin-top:.2rem}.scroll{overflow:auto;max-height:70vh;border-radius:10px;border:1px solid var(--line);background:var(--surface)}.scroll table{margin:0;border:none;border-radius:0;border-collapse:separate;border-spacing:0;overflow:visible}.scroll thead th{position:-webkit-sticky;position:sticky;top:0;z-index:3;background:var(--brand-soft);box-shadow:inset 0 -1px 0 var(--line)}.scroll table.resizable{table-layout:fixed;width:max-content;min-width:100%}.scroll table.resizable td,.scroll table.resizable th{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.scroll table.resizable thead th{position:-webkit-sticky;position:sticky}.scroll table.resizable th .th-label{display:block;overflow:hidden;text-overflow:ellipsis;padding-right:6px}.col-resize-handle{position:absolute;top:0;right:-3px;width:8px;height:100%;cursor:col-resize;z-index:4;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.col-resize-handle:hover,body.col-resizing .col-resize-handle{background:rgba(0,84,249,.3)}body.col-resizing,body.col-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.grid input{border:none;width:100%;min-width:0;padding:2px 4px;border-radius:4px;box-shadow:none}.grid input:focus{box-shadow:0 0 0 2px rgba(0,84,249,.25)}.handle{color:#888;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:0 4px}.handle,td.handle.row-num{cursor:-webkit-grab;cursor:grab}td.handle.row-num{color:var(--ink);white-space:nowrap;text-align:center;vertical-align:middle;width:2.5rem}tr.dragging{opacity:.4}.scroll table.mapping-columns.resizable td input:not([type=checkbox]):not([type=radio]):not([type=file]),.scroll table.mapping-columns.resizable td select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.convert-flow>h2:first-of-type{margin-top:1.25rem}.permissions-heading{font-family:var(--font-display);font-size:1.05rem;margin:1.5rem 0 .35rem}.permission-list{display:flex;flex-direction:column;gap:10px;margin:.75rem 0 1rem}.permission-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:.75rem .9rem;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:500}.permission-toggle span{display:flex;flex-direction:column;gap:2px;min-width:0}.permission-toggle strong{font-family:var(--font-display);font-size:.95rem}.permission-toggle input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:44px;height:26px;flex:0 0 auto;margin:0;border-radius:999px;background:#cfd6dd;position:relative;cursor:pointer;transition:background .15s ease}.permission-toggle input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .15s ease}.permission-toggle input[type=checkbox]:checked{background:var(--brand)}.permission-toggle input[type=checkbox]:checked:after{transform:translateX(18px)}.permission-toggle input[type=checkbox]:disabled{opacity:.55;cursor:not-allowed}@media (max-width:720px){.app-header{gap:10px}.app-user{margin-left:0;width:100%;justify-content:space-between}.brand-sub{display:none}.app-nav a{padding:6px 8px;font-size:.85rem}table{font-size:.9rem}}