@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{color:#17211d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f6f5}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}#root{min-height:100vh}.route-loading{color:#64716b;background:#f4f6f5;place-items:center;min-height:100vh;display:grid}.auth-page{background:radial-gradient(circle at 0 0,#dcefe5,#0000 38%),#f4f6f5;place-items:center;min-height:100vh;padding:32px 18px;display:grid}.auth-card{background:#fff;border:1px solid #dbe2de;border-radius:12px;width:min(460px,100%);padding:30px;box-shadow:0 20px 55px #17211d18}.auth-brand,.account-logo{color:#fff;background:#176b4d;border-radius:9px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.auth-card h1{margin:22px 0 5px;font-size:24px}.auth-caption,.account-page>header p{color:#6c7873;margin:0 0 22px;font-size:13px}.account-form{gap:13px;display:grid}.account-form label,.payment-phone{color:#46534d;gap:6px;font-size:12px;font-weight:600;display:grid}.account-form input,.payment-phone input{width:100%}.account-name-row,.account-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.account-check{align-items:center;font-weight:400!important;display:flex!important}.account-check input{width:auto;min-height:auto}.account-links{color:#6c7873;justify-content:space-between;margin-top:18px;font-size:12px;display:flex}.account-links a,.account-section-head a{color:#176b4d;font-weight:700}.account-switch{background:#eef2f0;border-radius:6px;grid-template-columns:1fr 1fr;margin-bottom:16px;padding:3px;display:grid}.account-switch button{color:#6c7873;background:0 0;border-radius:4px;padding:8px}.account-switch button.active{color:#176b4d;background:#fff;font-weight:700}.account-error,.account-success{border-radius:5px;padding:10px 12px;font-size:12px}.account-error{color:#922e2e;background:#fff0f0;border:1px solid #f0caca}.account-success{color:#15583f;background:#e8f5ee;border:1px solid #b9ddca}.account-shell{background:#f4f6f5;min-height:100vh}.account-topbar{color:#fff;background:#16251f;align-items:center;gap:20px;min-height:66px;padding:10px 22px;display:flex}.account-topbar nav{flex:1;gap:4px;display:flex}.account-topbar nav button{color:#bdccc5;background:0 0;padding:9px 11px}.account-topbar nav button:hover{color:#fff}.account-page{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 60px}.account-page>header h1{margin:0;font-size:24px}.metric-grid,.plan-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0 24px;display:grid}.metric,.plan-card,.account-card{background:#fff;border:1px solid #dbe2de;border-radius:8px;padding:17px}.metric{gap:8px;display:grid}.metric span{color:#6c7873;text-transform:capitalize;font-size:11px}.metric strong{font-size:20px}.plan-card{gap:12px;display:grid}.plan-card strong{font-size:18px}.plan-card span{color:#176b4d;font-weight:700}.payment-phone{max-width:360px}.payment-instructions{background:#fff;border:1px solid #dbe2de;border-radius:8px;max-width:620px;padding:17px}.payment-instructions .account-switch{max-width:360px;margin-bottom:14px}.payment-instructions p{color:#46534d;font-size:13px}.account-section-head{justify-content:space-between;align-items:center;display:flex}.account-page h2,.account-card h2{margin:20px 0 12px;font-size:16px}.account-card h2{margin-top:0}.account-table-wrap{background:#fff;border:1px solid #dbe2de;border-radius:7px;overflow:auto}.account-table{border-collapse:collapse;width:100%;font-size:12px}.account-table th,.account-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf0ee;padding:11px 13px}.account-table th{color:#64716b;text-transform:uppercase;background:#eef2f0;font-size:10px}.table-actions{gap:5px;display:flex}.payment-status{border-radius:4px;padding:3px 6px;font-size:10px;font-weight:800}.payment-status.success{color:#176b4d;background:#e5f3eb}.payment-status.pending{color:#8a630d;background:#fff5d8}.payment-status.failed,.payment-status.cancelled{color:#922e2e;background:#fff0f0}.account-empty{color:#7a8781;text-align:center;padding:30px}.account-dialog-bg{z-index:50;background:#10201980;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.account-dialog{background:#fff;border-radius:9px;width:min(420px,100%);padding:22px;box-shadow:0 24px 70px #0d1c1660}.account-dialog h2,.account-dialog p{margin:0}.account-dialog-actions{justify-content:flex-end;gap:8px;display:flex}@media (width<=800px){.account-topbar{flex-wrap:wrap;align-items:flex-start}.account-topbar nav{order:3;width:100%;overflow-x:auto}.metric-grid,.plan-grid,.account-two-column,.account-name-row{grid-template-columns:1fr}}:root{color:#17211d;font-synthesis:none;--line:#dbe2de;--green:#176b4d;--muted:#6c7873;background:#f4f6f5;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer;border:0}.shell{grid-template-columns:214px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f3f7f5;background:#16251f;flex-direction:column;min-height:100vh;padding:18px 12px 14px;display:flex}.brand{align-items:center;gap:10px;padding:0 7px 22px;display:flex}.brand>span{background:#2e8062;border-radius:7px;place-items:center;width:35px;height:35px;display:grid}.brand svg{width:20px}.brand strong,.brand small{display:block}.brand strong{font-size:15px}.brand small{color:#99afa5;font-size:11px}.sidebar nav{gap:3px;display:grid}.sidebar nav button{color:#afc0b8;text-align:left;background:0 0;border-radius:6px;align-items:center;gap:11px;min-height:42px;padding:0 12px;display:flex}.sidebar nav button.active{color:#fff;background:#285b48;box-shadow:inset 3px 0 #62bd92}.sidebar nav svg,button svg{width:17px;height:17px}.connection{border-top:1px solid #2b4037;margin-top:auto;padding:17px 5px 0}.connection label{color:#80988d;font-size:10px;font-weight:700}.connection p{color:#d9e4df;overflow-wrap:anywhere;align-items:center;gap:8px;margin:8px 0 13px;font-size:12px;display:flex}.connection i,.mobile-bar i{background:#e4a33b;border-radius:50%;flex:none;width:7px;height:7px}.connection i.online,.mobile-bar i.online{background:#56c58d}.connection i.offline,.mobile-bar i.offline{background:#e56e6e}.connection .secondary{color:#d9e4df;background:0 0;border-color:#3c554a;width:100%}main{min-width:0;height:100vh;overflow:auto}.mobile-bar{display:none}.workspace{flex-direction:column;gap:12px;min-height:100%;padding:20px 22px;display:flex}.heading h1{letter-spacing:0;margin:0;font-size:22px}.heading h1 span{vertical-align:3px;color:var(--green);background:#e6f2ec;border-radius:4px;margin-left:8px;padding:4px 6px;font-size:9px}.heading p,.details-head p,.modal-head p{color:var(--muted);margin:4px 0 0;font-size:12px}.view-host{min-height:100%}.command{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:7px;padding:8px;display:flex;box-shadow:0 1px 2px #17211d0a}input,select,textarea{color:#17211d;background:#fff;border:1px solid #cfd8d3;border-radius:5px;outline:none;min-height:34px;padding:0 10px}input:focus,select:focus,textarea:focus{border-color:#39866a;box-shadow:0 0 0 3px #39866a1d}.search-box{color:#84908b;border:1px solid #cfd8d3;border-radius:5px;flex:1;align-items:center;gap:8px;min-width:160px;padding-left:10px;display:flex}.search-box input{width:100%;box-shadow:none;border:0;padding-left:0}.search-box svg{width:18px}.check{color:#53605a;white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:flex}.check input{min-height:0;accent-color:var(--green)}.primary,.secondary,.text{white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.primary{color:#fff;background:var(--green)}.primary:hover{background:#10533b}.secondary{color:#35433d;background:#fff;border:1px solid #cfd8d3}.text{color:var(--green);background:0 0}button:disabled{opacity:.45;cursor:default}.icon{color:#53605a;background:0 0;border-radius:5px;place-items:center;width:34px;height:34px;padding:0;display:inline-grid}.icon:hover{background:#e9eeeb}.danger{color:#b33a3a}.toolbar{min-height:34px;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.toolbar>div{align-items:center;gap:5px;display:flex}.toolbar select,.toolbar .secondary{min-height:30px;font-size:11px}.record-grid{border:1px solid var(--line);background:#fff;border-radius:7px;flex:1;grid-template-columns:minmax(450px,3fr) minmax(330px,2fr);min-height:300px;display:grid;overflow:hidden}.table{background:#fff;min-width:0;position:relative;overflow:auto}.table table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}.table th{z-index:1;color:#51605a;text-align:left;text-transform:uppercase;background:#eef2f0;border-bottom:1px solid #d7dfdb;height:36px;padding:0 11px;font-size:10px;position:sticky;top:0}.table td{color:#35423d;text-overflow:ellipsis;border-bottom:1px solid #edf0ee;max-width:240px;height:37px;padding:0 11px;overflow:hidden}.table tr:nth-child(2n) td{background:#fafbfa}.table tbody tr:hover td{background:#f0f6f3}.table tr.selected td{color:#174c39;background:#e6f2ec}.details{border-left:1px solid var(--line);background:#fbfcfb;flex-direction:column;min-width:0;display:flex}.details-head{justify-content:space-between;align-items:center;min-height:62px;padding:12px 14px;display:flex}.details h2,.modal h2{margin:0;font-size:15px}.tabs{border-block:1px solid var(--line);background:#fff;padding:0 10px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;background:0 0;border-bottom:2px solid #0000;padding:10px 9px 8px;font-size:11px}.tabs button.active{color:var(--green);border-color:var(--green);font-weight:700}.details dl{margin:0;overflow:auto}.details dl div{border-bottom:1px solid #e8ecea;grid-template-columns:minmax(100px,38%) 1fr;gap:12px;padding:9px 14px;font-size:11px;display:grid}.details dt{color:var(--muted)}.details dd{overflow-wrap:anywhere;margin:0}.details-empty,.empty{color:#91a098;text-align:center;justify-items:center;margin:auto;padding:30px;display:grid}.details-empty p,.empty p{margin:5px 0;font-size:12px}.empty{position:absolute;inset:36px 0 0}.empty span{background:#eef3f0;border-radius:50%;place-items:center;width:44px;height:44px;margin-bottom:9px;display:grid}.empty strong{color:#59675f;font-size:13px}.research{padding:12px;overflow:auto}.research-actions{gap:7px;margin-bottom:10px;display:flex}.result-list{gap:6px;display:grid}.result-list>div{border:1px solid var(--line);background:#fff;border-radius:5px;justify-content:space-between;gap:8px;padding:9px;font-size:11px;display:flex}.result-list span,.result-list p{color:var(--muted)}.error{color:#922e2e;background:#fff0f0;border:1px solid #f0caca;border-radius:5px;padding:9px 12px;font-size:12px}.modal-bg{z-index:30;background:#10201980;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;flex-direction:column;width:min(880px,100%);max-height:80vh;display:flex;box-shadow:0 24px 70px #0d1c1660}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;padding:17px 18px;display:flex}.filter-tools{background:#f7f9f8;align-items:center;gap:8px;padding:10px 18px;font-size:12px;display:flex}.filter-tools strong{margin-right:auto}.filter-list{min-height:130px;padding:10px 18px;overflow:auto}.filter-row{grid-template-columns:1.15fr 1fr 1.5fr 34px;gap:7px;margin-bottom:7px;display:grid}.empty-filter{min-height:100px;color:var(--muted);place-items:center;font-size:12px;display:grid}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:7px;padding:11px 18px;display:flex}.standard{padding:25px 28px}.caption{color:var(--muted);margin:0;font-size:11px}.field-table,.sql-table{border:1px solid var(--line);border-radius:7px;flex:1;min-height:320px}.sql-tools{justify-content:space-between;align-items:end;display:flex}.sql-tools label{color:var(--muted);gap:5px;font-size:11px;display:grid}.sql-tools>div{gap:7px;display:flex}.sql-editor{resize:vertical;color:#23342d;background:#fbfcfb;min-height:190px;padding:14px;font:12px/1.6 IBM Plex Mono,monospace}.scrim{display:none}@media (width>=1600px){.shell{grid-template-columns:248px minmax(0,1fr)}.sidebar{padding:22px 15px 17px}.brand{padding:0 9px 28px}.brand>span{width:41px;height:41px}.brand strong{font-size:17px}.brand small{font-size:12px}.sidebar nav button{gap:13px;min-height:48px;padding:0 15px;font-size:14px}.connection label{font-size:11px}.connection p{font-size:13px}.workspace{gap:15px;padding:27px 32px}.heading h1{font-size:26px}.heading p,.details-head p,.modal-head p{font-size:14px}.command{gap:9px;min-height:62px;padding:10px}input,select,textarea{min-height:39px;font-size:14px}.primary,.secondary,.text{min-height:39px;padding-inline:15px;font-size:13px}.icon{width:39px;height:39px}.check{font-size:13px}.toolbar{min-height:39px;font-size:13px}.toolbar select,.toolbar .secondary{min-height:35px;font-size:12px}.record-grid{grid-template-columns:minmax(620px,3fr) minmax(430px,2fr)}.table table{font-size:13px}.table th{height:42px;padding-inline:14px;font-size:11px}.table td{height:43px;padding-inline:14px}.details-head{min-height:72px;padding:14px 17px}.details h2,.modal h2{font-size:17px}.tabs button{padding:12px 11px 10px;font-size:12px}.details dl div{padding:11px 17px;font-size:13px}.details-empty p,.empty p{font-size:13px}.empty strong{font-size:15px}.standard{padding:31px 36px}.sql-editor{min-height:220px;padding:17px;font-size:14px}}@media (width<=980px){.record-grid{background:0 0;border:0;grid-template-columns:1fr;gap:10px;overflow:visible}.record-grid>*{border:1px solid var(--line);border-radius:7px;min-height:280px}.command{flex-wrap:wrap}.command .search-box{flex-basis:calc(100% - 150px);order:-1}.record-grid .table{max-height:360px}}@media (width<=700px){.shell{display:block}.sidebar{z-index:40;width:230px;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:none}.scrim{z-index:35;background:#1020198c;display:block;position:fixed;inset:0}.mobile-bar{z-index:10;border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:10px;height:52px;padding:0 13px;display:flex;position:sticky;top:0}.mobile-bar i{margin-left:auto}.workspace,.standard{padding:14px 12px}.heading h1{font-size:19px}.command>select{width:120px}.command .search-box{flex-basis:calc(100% - 128px)}.command .primary{flex:1}.toolbar{flex-direction:column;align-items:flex-start}.toolbar>div{width:100%;overflow-x:auto}.filter-row{grid-template-columns:1fr 1fr 34px}.filter-row input{grid-area:2/1/auto/3}.filter-row .danger{grid-area:1/3/3}.sql-tools{flex-direction:column;align-items:stretch;gap:8px}.sql-tools>div select{flex:1}.details dl div{grid-template-columns:1fr;gap:3px}.modal{max-height:90vh}}.family-research{flex-direction:column;min-height:0;display:flex}.research-actions>button{flex:1}.research-actions select{width:122px}.family-options{border:1px solid var(--line);background:#fff;border-radius:5px;grid-template-columns:1fr 1fr;gap:8px 12px;padding:9px;display:grid}.research-status{color:var(--muted);margin:10px 1px;font-size:11px}.error-text{color:#a43232}.subtabs{border-bottom:1px solid var(--line);display:flex}.subtabs button{color:var(--muted);background:0 0;border-bottom:2px solid #0000;flex:1;padding:8px 5px;font-size:10px}.subtabs button.active{color:var(--green);border-color:var(--green);font-weight:700}.family-list{margin-top:8px}.family-list>div{align-items:flex-start}.family-list .relation{color:#245f48;background:#e6f2ec;border-radius:4px;flex:none;padding:3px 5px;font-size:9px}.family-list div>span:last-child{flex:1;gap:3px;display:grid}.family-list strong{color:#28352f}.family-list small{color:var(--muted);line-height:1.35}.hc-match{border:1px solid var(--line);background:#fff;border-radius:5px;margin-bottom:7px;overflow:hidden}.hc-match-summary{align-items:stretch;display:flex}.hc-expand{width:34px;color:var(--muted);border-right:1px solid var(--line);background:#f7f9f8;flex:none;place-items:center;display:grid}.hc-expand:hover{color:var(--green);background:#edf4f0}.hc-expand svg{width:15px;height:15px}.hc-classmate-trigger{color:#35423d;text-align:left;background:#fff;flex:1;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:10px;font-size:11px;display:flex}button.hc-classmate-trigger{cursor:pointer}button.hc-classmate-trigger:hover{background:#f0f6f3}.hc-classmate-trigger>span{gap:2px;display:grid}.hc-classmate-trigger small,.hc-classmate-trigger>span:last-child{color:var(--muted)}.hc-photo{border-top:1px solid var(--line);background:#fff;grid-template-columns:72px 1fr;align-items:start;gap:10px;min-height:72px;padding:9px 10px;font-size:10px;display:grid}.hc-photo>span{color:var(--muted)}.hc-photo p{color:var(--muted);margin:0}.hc-photo img{object-fit:contain;object-position:left top;border:1px solid var(--line);background:#f7f9f8;border-radius:4px;width:min(100%,220px);max-height:240px}.photo-retry{color:#a43232;text-align:left;background:0 0;padding:0;font-size:10px}.hc-fields{border-top:1px solid var(--line);background:#fafbfa;gap:5px;padding:8px 10px;display:grid}.hc-fields div,.performance div{justify-content:space-between;gap:8px;font-size:10px;display:flex}.hc-fields span,.performance span{color:var(--muted)}.performance{border-top:1px solid var(--line);gap:5px;padding:8px 10px 11px;display:grid}.performance h3{margin:0 0 3px;font-size:11px}@media (width>=1600px){.family-options{gap:10px 14px;padding:11px}.research-status,.hc-classmate-trigger{font-size:13px}.subtabs button,.family-list>div,.hc-fields div,.performance div{font-size:12px}}@media (width<=700px){.research-actions{flex-wrap:wrap}.research-actions select{width:100%}.family-options{grid-template-columns:1fr}}.sidebar nav kbd{color:#789087;margin-left:auto;font:9px IBM Plex Mono,monospace}.nav-divider{background:#2b4037;height:1px;margin:8px 9px;display:block}.access-notice{color:#644b12;background:#fff8e5;border:1px solid #ead69f;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:12px;display:flex}.sidebar-user{gap:2px;margin-bottom:12px;display:grid;overflow:hidden}.sidebar-user strong,.sidebar-user small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user strong{color:#f3f7f5;font-size:12px}.sidebar-user small{color:#8fa49a;font-size:10px}.connection>.secondary+.secondary{margin-top:7px}.connection p>span{gap:2px;min-width:0;display:grid}.connection p small{color:#8da299;text-overflow:ellipsis;font-size:9px;overflow:hidden}.version-label{color:#71877e;text-align:center;margin-top:10px;font-size:9px;display:block}.sort-button{width:100%;min-height:34px;color:inherit;font:inherit;font-weight:inherit;text-align:left;text-transform:inherit;background:0 0;align-items:center;gap:4px;padding:0;display:flex}.sort-button svg{width:12px;height:12px}.compact-action{min-height:28px;padding-inline:7px}.compact-action svg{width:13px;height:13px}.tabs button:disabled{cursor:default}.hc-subtabs{margin-bottom:8px}.hc-match.selected-hc{border-color:#4d9a7c;box-shadow:0 0 0 2px #4d9a7c20}.connection-modal-bg{z-index:60}.connection-modal{width:min(760px,100%)}.connection-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;padding:16px 18px;display:grid;overflow:auto}.connection-form>label,.photo-card>label,.inline-fields label{color:var(--muted);gap:5px;font-size:11px;display:grid}.profile-row{grid-template-columns:1fr 34px;gap:6px;display:grid}.save-profile{align-self:end;min-height:34px;display:flex!important}.save-profile svg{width:14px;height:14px}.connection-message{margin:0 18px 10px;font-size:11px}.photo-tools{overflow:auto}.photo-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;min-width:0;display:grid}.photo-card{border:1px solid var(--line);background:#fff;border-radius:7px;gap:12px;min-width:0;padding:17px;display:grid;box-shadow:0 1px 2px #17211d0a}.photo-card-wide{grid-row:span 2}.photo-card-title{align-items:flex-start;gap:10px;display:flex}.photo-card-title>svg{width:34px;height:34px;color:var(--green);background:#e6f2ec;border-radius:6px;flex:none;padding:7px}.photo-card h2{margin:0;font-size:14px}.photo-card p{color:var(--muted);margin:3px 0 0;font-size:11px;line-height:1.45}.photo-card input[type=file]{width:100%;min-width:0;padding:6px}.inline-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.photo-actions{gap:8px;display:flex}.manual-photo{object-fit:contain;object-position:left top;border:1px solid var(--line);background:#f7f9f8;border-radius:5px;width:min(100%,300px);max-height:360px}.tool-status{background:#edf7f2;border:1px solid #cee8dc;border-radius:5px;padding:9px 10px;color:#245f48!important}@media (width>=1600px){.sidebar nav kbd,.version-label,.connection p small{font-size:10px}.connection-form>label,.photo-card>label,.inline-fields label{font-size:13px}.photo-card h2{font-size:17px}.photo-card p{font-size:13px}}@media (width<=900px){.photo-tool-grid{grid-template-columns:1fr}.photo-card-wide{grid-row:auto}}@media (width<=700px){.sidebar nav kbd{display:none}.connection-form,.inline-fields{grid-template-columns:1fr}.photo-actions{flex-wrap:wrap}}
