:root{--ink:#211b37;--muted:#746d82;--purple:#7855df;--violet:#7957cf;--line:#e8e3f0;--paper:#faf9fd;--navy:#17142d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}input,button,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}a{color:inherit;text-decoration:none}[hidden]{display:none!important}:focus-visible{outline:3px solid #ab8eee;outline-offset:2px}img{max-width:100%}.auth-layout{display:grid;grid-template-columns:47% 53%;min-height:100vh}.auth-illustration{position:relative;background:radial-gradient(ellipse at 65% 45%,#44346b 0,transparent 57%),linear-gradient(150deg,#211c3e,#121025);color:#fff;padding:45px clamp(25px,5vw,90px);display:flex;flex-direction:column;justify-content:space-between;min-height:700px}.auth-logo{background:#fff;border-radius:15px;padding:9px 15px;align-self:flex-start}.auth-logo img{display:block;height:42px;width:auto}.auth-copy{max-width:480px;margin:80px auto}.auth-copy h1{font-size:clamp(39px,4vw,57px);line-height:1.12;letter-spacing:-2px;font-weight:830}.auth-copy>p{color:#c7bfdb;font-size:15px;line-height:1.8}.tag,.eyebrow{font-size:10px;color:#8f6ee7;letter-spacing:1.65px;font-weight:850}.tag{color:#c5b2fd}.auth-preview{background:#fff;color:#302746;padding:18px 20px;border-radius:20px;max-width:380px;margin-top:39px;box-shadow:0 25px 70px #0605185c;transform:rotate(-2deg)}.auth-preview-top{display:flex;gap:10px;align-items:center;padding-bottom:13px;border-bottom:1px solid #ede9f2}.auth-preview-top>span{border-radius:10px;background:#eee6ff;color:#7b59d9;padding:7px;font-size:18px}.auth-preview-top b{font-size:12px}.auth-preview-top small{margin-left:auto;font-size:9px;color:#aaa2af}.auth-line{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f1eef5;padding:16px 3px;font-size:12px}.auth-line b{font-size:10px;color:#7962b6;background:#f1ebff;padding:7px;border-radius:7px}.auth-illustration-bottom{font-size:10px;color:#9587af}.auth-main{display:flex;flex-direction:column;background:#fff}.auth-content{flex:1;display:grid;place-items:center;padding:60px 40px}.auth-panel{width:min(435px,100%)}.auth-panel h2{font-size:clamp(30px,3vw,40px);letter-spacing:-1.6px;margin:15px 0}.auth-panel>p{color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:27px}.auth-panel form{display:grid;gap:0}.auth-panel form>label:not(.checkbox-row),.dialog form>label{font-size:11px;font-weight:760;color:#554c66;margin:14px 0 7px}.auth-panel input:not([type=checkbox]),.dialog input,.dialog textarea,.dialog select{border:1px solid #ddd5ea;border-radius:11px;padding:13px 14px;min-height:47px;color:#25203a;background:#fdfcff;outline:none;width:100%}.auth-panel input:focus,.dialog input:focus,.dialog select:focus,.dialog textarea:focus{border-color:#9e7be7;box-shadow:0 0 0 3px #eee8ff}.auth-panel input::placeholder,.dialog input::placeholder{color:#aba3b6}.primary-btn{display:inline-flex;gap:13px;align-items:center;justify-content:center;border:1px solid var(--purple);background:var(--purple);border-radius:11px;padding:13px 19px;min-height:47px;color:#fff;font-weight:760;font-size:12px}.primary-btn:hover{background:#6142bd}.auth-panel .primary-btn{width:100%;margin-top:23px;justify-content:space-between}.auth-panel .switch-auth{border-top:1px solid #eee9f4;padding-top:24px;margin-top:25px;text-align:center;font-size:12px;color:#80788c}.switch-auth button{border:0;background:none;color:var(--purple);font-weight:800;padding:7px}.auth-footer{font-size:10px;color:#aaa1b3;text-align:center;padding:20px}.auth-mobile-brand{display:none}.form-status{margin:12px 0;color:#aa424e;font-size:12px;line-height:1.7}.form-status:empty{display:none}.form-status.success{color:#6146a1}.checkbox-row{display:flex;gap:10px;align-items:flex-start;margin:19px 0 0;color:#72677d;font-size:11px;line-height:1.7}.checkbox-row input{accent-color:var(--purple);margin-top:3px}.checkbox-row a{color:var(--purple);text-decoration:underline}.honeypot{position:absolute;left:-9999px;height:0;overflow:hidden}.verify-mark{width:58px;height:58px;display:grid;place-items:center;color:var(--purple);background:#eee8ff;border-radius:17px;font-size:26px;margin:22px 0}
.workspace{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:100vh}.sidebar{background:#1b1834;padding:27px 18px;color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.side-logo{background:#fff;border-radius:12px;align-self:flex-start;padding:7px 10px}.side-logo img{height:37px;display:block}.side-caption{color:#9e8bbf;font-size:9px;letter-spacing:1.4px;margin:25px 9px 34px;font-weight:800}.side-nav{display:grid;gap:8px}.side-nav a{padding:15px 12px;display:flex;gap:12px;align-items:center;border-radius:12px;color:#c2b5d7;font-size:12px;font-weight:730}.side-nav a:hover{background:#33294d}.side-nav a.active{background:#48356c;color:#fff}.side-nav a span{font-size:17px;color:#bca8f8}.sidebar-foot{display:flex;gap:10px;align-items:center;margin-top:auto;padding:18px 4px;border-top:1px solid #342c4b}.side-tenant-icon{background:#7b5acb;border-radius:10px;width:33px;height:33px;display:grid;place-items:center;font-weight:800}.sidebar-foot div{display:grid;gap:4px;min-width:0}.sidebar-foot strong{font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-foot small{font-size:9px;color:#bcb0d0}.workspace-main{min-width:0}.workspace-top{background:#fff;border-bottom:1px solid var(--line);height:77px;display:flex;align-items:center;justify-content:space-between;padding:0 40px}.breadcrumb{color:#a299ac;font-size:11px}.breadcrumb span{margin:0 8px;color:#c8bfe0}.breadcrumb strong{color:#4f4761}.top-right{display:flex;gap:20px;align-items:center}.top-right>div{display:grid;gap:5px;text-align:right}.top-right strong{font-size:11px}.top-right small{color:#91879d;font-size:10px}.logout-btn,.outline-btn{border:1px solid #ddd3ec;background:#fff;color:#6f4fb5;border-radius:10px;font-size:11px;font-weight:800;padding:11px 15px}.work-content{max-width:1500px;margin:auto;padding:45px}.work-heading{display:flex;gap:15px;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.work-heading h1{font-size:34px;letter-spacing:-1.3px;margin:12px 0 8px}.work-heading p{font-size:13px;color:var(--muted);margin:0}.add-btn{white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.metric{background:#fff;border:1px solid #ebe5f2;border-radius:17px;padding:24px;box-shadow:0 8px 22px #251a4b08}.metric span{font-size:11px;color:#847b92}.metric strong{display:block;font-size:31px;letter-spacing:-1px;margin:10px 0}.metric small{font-size:10px;color:#aaa2b3}.platform-notice{display:flex;gap:15px;align-items:start;background:#f1ecff;border:1px solid #e9def9;border-radius:15px;padding:19px 21px;margin:22px 0;color:#554378}.platform-notice>span{font-size:23px;color:var(--purple)}.platform-notice strong{font-size:12px}.platform-notice p{font-size:11px;line-height:1.8;margin:6px 0 0;color:#72618e}.client-panel{background:#fff;border:1px solid #eae5f0;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px #23164408}.panel-top{padding:22px 25px;display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-top h2{font-size:19px;margin:0 0 6px}.panel-top p{font-size:10px;color:#a199ad;margin:0}.panel-filters{display:flex;gap:9px}.panel-filters input,.panel-filters select{border:1px solid #e1dae8;background:#fff;border-radius:9px;padding:12px;font-size:11px;min-height:42px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:650px;text-align:left}th{background:#faf8fd;border-block:1px solid #ede7f3;padding:15px 22px;font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:#948aa1}td{padding:16px 22px;border-top:1px solid #f1edf6;color:#554b67;font-size:11px}tbody tr:first-child td{border-top:0}.client-name{display:grid;gap:5px}.client-name strong{font-size:12px;color:#302641}.client-name small{font-size:10px;color:#aaa0ae}.client-pill{background:#eee8fb;color:#7453bf;font-size:10px;font-weight:800;border-radius:20px;padding:8px 11px;white-space:nowrap}.client-pill.archived{background:#f2eef1;color:#8f8290}.row-button{border:1px solid #e7dfee;background:#fff;border-radius:8px;color:#7652bc;font-size:11px;font-weight:800;padding:9px 12px}.row-button:hover{background:#f2edff}.empty-state{text-align:center;padding:50px}.empty-state>span{font-size:40px;color:#9877dd}.empty-state h3{font-size:17px}.empty-state p{color:#91889c;font-size:12px;margin-bottom:20px}
.backdrop{position:fixed;inset:0;background:#15102d8a;z-index:15}.dialog{position:fixed;z-index:16;right:0;top:0;bottom:0;width:min(485px,100%);overflow-y:auto;background:#fff;box-shadow:-20px 0 60px #15102e30;padding:25px 30px}.dialog-top{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #eee9f3;padding-bottom:24px}.dialog-top h2{font-size:26px;letter-spacing:-.8px;margin:10px 0 0}.dialog-close{border:1px solid #dfd7eb;border-radius:9px;background:#fff;color:#837792;font-size:23px;width:38px;height:38px}.dialog form{display:flex;flex-direction:column;margin-top:9px}.dialog textarea{resize:vertical}.dialog .primary-btn{margin-top:25px}.toast{position:fixed;bottom:20px;right:20px;padding:14px 19px;border-radius:11px;background:#fff;border:1px solid #dacef2;box-shadow:0 12px 40px #25184324;color:#6f4cba;font-size:12px;z-index:20}
@media(max-width:940px){.auth-layout{grid-template-columns:41% 59%}.auth-illustration{padding:30px}.auth-copy h1{font-size:37px}.auth-content{padding:35px}.workspace{grid-template-columns:190px minmax(0,1fr)}.work-content{padding:28px}.workspace-top{padding:0 28px}}
@media(max-width:720px){.auth-layout{grid-template-columns:1fr}.auth-illustration{display:none}.auth-mobile-brand{display:block;padding:30px 25px 0}.auth-mobile-brand img{width:150px}.auth-content{padding:35px 25px;min-height:75vh}.workspace{grid-template-columns:1fr}.sidebar{display:none}.breadcrumb{display:none}.workspace-top{padding:0 18px}.work-heading{align-items:start;flex-direction:column}.work-content{padding:24px 16px}.metrics{gap:9px}.metric{padding:15px}.metric strong{font-size:25px}.metric small{line-height:1.5;display:block}.panel-top{flex-direction:column;align-items:stretch}.panel-filters{flex-wrap:wrap}.panel-filters input{flex:1;min-width:140px}.dialog{width:min(480px,100%)}}@media(max-width:420px){.auth-panel h2{font-size:30px}.metrics{grid-template-columns:1fr}.work-heading h1{font-size:28px}.top-right{gap:9px}.top-right>div{max-width:160px}.top-right strong,.top-right small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-filters{flex-direction:column}.panel-filters>*{width:100%}.dialog{padding:19px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Dokufin Onboarding 2.0 additional interface */
.team-section .work-heading{margin-bottom:25px}
.team-section .client-panel{margin-bottom:20px}
.team-explainer{background:#f1eaff;border:1px solid #e7dafa;border-radius:14px;padding:19px 21px;margin-bottom:22px;display:flex;gap:13px;color:#554476}
.team-explainer>span{font-size:23px;line-height:1;color:#7655d3}
.team-explainer strong{font-size:13px}
.team-explainer p{font-size:11px;line-height:1.8;color:#746587;margin:7px 0 0}
.team-row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.team-row-actions select{border:1px solid #ddd5ea;border-radius:9px;padding:9px;background:#fff;color:#534865;min-width:115px;font-size:11px}
.team-row-actions button{padding:9px}
.client-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.link-indicator{display:block;font-size:9px;min-width:105px;color:#886bac;font-weight:650}
.link-flow{display:grid;gap:15px;margin-top:26px}
.link-step{display:flex;align-items:center;gap:15px;border:1px solid #ebe4f4;border-radius:13px;padding:13px}
.link-step>span{height:31px;width:31px;flex:none;border-radius:10px;display:grid;place-items:center;color:#7552ca;background:#f0e8ff;font-weight:850}
.link-step p{color:#695d7b;font-size:11px;line-height:1.7;margin:0}
.onboard-note{font-size:11px;line-height:1.8;color:#8a7d9a;background:#f7f4fc;border:1px solid #eee8f6;padding:13px;border-radius:10px}
.link-flow #link-result label{font-size:11px;font-weight:750;display:block;margin-bottom:7px;color:#625671}
.link-flow #link-result input{width:100%;padding:14px;border-radius:10px;border:1px solid #dcd5e9;color:#594778;font-size:12px;background:#faf8fd}
.link-flow #link-result button{margin-top:12px}
#team-dialog form{margin-top:20px}
#team-dialog form>label{margin:15px 0 7px}
#team-dialog select,#team-dialog input{width:100%;min-height:47px;padding:12px 13px;border:1px solid #ded6ea;border-radius:10px;font-size:12px}
#team-dialog form button{margin-top:15px}
#reset-request-view .primary-btn,#reset-view .primary-btn,#invite-view .primary-btn,#connect-view .primary-btn{width:100%;margin-top:24px}
#login-view .switch-auth{margin-top:12px;padding-top:12px;border-top:0}
#login-view .switch-auth:last-child{border-top:1px solid #eee9f4;padding-top:20px;margin-top:19px}
.auth-panel .switch-auth a{color:#7652cb;font-weight:780}
#invite-email[disabled]{color:#82778d;background:#f8f6fb}
@media(max-width:850px){.team-row-actions{min-width:215px}.client-actions{min-width:130px}}
@media(max-width:560px){.team-explainer{padding:14px}.team-row-actions{min-width:0}.team-row-actions select{min-width:110px}}

/* Dokufin v0.9 - Document Workspace */
.documents-section .docs-heading{margin-bottom:29px}
.docs-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.doc-metric{padding:21px 22px;background:#fff;border-radius:17px;border:1px solid #e8e2f1;box-shadow:0 10px 26px rgba(39,23,72,.045)}
.doc-metric>span{font-size:11px;color:#80768e}.doc-metric strong{display:block;font-size:32px;letter-spacing:-1px;margin:12px 0 6px;font-variant-numeric:tabular-nums}.doc-metric small{color:#aaa1b3;font-size:10px}
.docs-context{display:flex;gap:14px;align-items:flex-start;border-radius:15px;background:linear-gradient(110deg,#f2ecff,#f9f7ff);border:1px solid #e9def9;padding:18px 21px;margin:22px 0}
.docs-context-icon{font-size:23px;color:#805fcb}.docs-context strong{font-size:12px;color:#55437b}.docs-context p{font-size:11px;color:#776b8c;line-height:1.75;margin:7px 0 0}
.docs-panel-head{gap:24px;flex-wrap:wrap}
.docs-filter-controls{display:flex;flex-wrap:wrap;gap:9px;align-items:flex-end}
.docs-filter-controls label{display:grid;gap:6px;font-size:10px;color:#8a8096}
.docs-filter-controls input,.docs-filter-controls select{border:1px solid #e0d9e8;background:#fff;border-radius:9px;padding:10px 12px;min-height:41px;min-width:120px;font-size:11px;color:#57486a}
.docs-filter-controls select#doc-filter-client{min-width:160px;max-width:225px}
.docs-table{min-width:870px}.docs-table td{padding:16px 16px}.docs-table th{padding:15px 16px}
.doc-table-name{display:flex;gap:10px;align-items:center;min-width:190px}
.doc-file-icon{background:#eee8ff;color:#7955d5;border-radius:11px;height:37px;width:37px;flex:none;display:grid;place-items:center;font-size:18px}
.doc-file-icon.pdf{background:#fff0eb;color:#c16c4c}
.doc-name-text{display:grid;gap:5px;min-width:0}
.doc-name-text strong{font-size:11.5px;color:#322746;max-width:220px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.doc-name-text small{color:#9f96ad;font-size:10px}
.doc-status{font-size:9.5px;font-weight:760;padding:8px 10px;border-radius:20px;white-space:nowrap;display:inline-block;background:#eeeaff;color:#7055ac}
.doc-status[data-status=in_review]{background:#eaf0ff;color:#617bb0}
.doc-status[data-status=accepted]{background:#e8f2f1;color:#39766f}
.doc-status[data-status=needs_correction]{background:#fff0e5;color:#a66c36}
.docs-footer{padding:15px 21px;border-top:1px solid #eee8f4;display:flex;justify-content:space-between;gap:10px;color:#968ca3;font-size:10px}
.doc-dialog{position:fixed;z-index:18;right:0;top:0;bottom:0;background:#fff;width:min(530px,100%);box-shadow:-22px 0 65px #1911312e;overflow-y:auto;padding:26px 29px}
#upload-overlay,#review-overlay{z-index:17}
.doc-dialog .dialog-top h2{margin-bottom:0}
.doc-steps{display:flex;align-items:center;gap:7px;justify-content:space-between;margin:24px 0 28px}
.doc-steps>span{display:flex;align-items:center;gap:6px;color:#aaa0b3;font-size:10px;font-weight:720;white-space:nowrap}
.doc-steps>span b{height:26px;width:26px;border-radius:9px;display:grid;place-items:center;background:#f2eef8;color:#927bb3;font-size:10px}
.doc-steps>span.is-active{color:#624a9b}.doc-steps>span.is-active b{background:#7654d2;color:#fff}
.doc-steps>span.done{color:#7259a5}.doc-steps>span.done b{background:#e9deff;color:#6749ae}
.doc-step{border:0;padding:0;margin:0;min-width:0}.doc-step legend{font-size:16px;font-weight:800;margin-bottom:19px;letter-spacing:-.35px}
.doc-step label,.review-content label{font-size:11px;color:#665b75;font-weight:750;display:block;margin:15px 0 8px}
.doc-step input:not([type=file]),.doc-step select,.review-content select,.review-content textarea{width:100%;padding:14px;border:1px solid #dfd6eb;border-radius:11px;min-height:48px;background:#fefcff;color:#2b233b;outline:0}
.doc-step input:focus,.doc-step select:focus,.review-content select:focus,.review-content textarea:focus{border-color:#9b79d9;box-shadow:0 0 0 3px #eee8ff}
.doc-step-hint{color:#92869e;background:#f8f5fc;border-radius:10px;padding:13px;margin-top:17px;font-size:11px;line-height:1.7}
.doc-wizard-actions{border-top:1px solid #eee9f4;padding-top:19px;margin-top:30px;display:flex;justify-content:space-between;gap:12px}
.doc-wizard-actions button{min-height:45px;padding:12px 20px}
.file-drop{display:flex!important;min-height:190px;border:1.5px dashed #c9b7e8;border-radius:15px;background:#faf7ff;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;padding:26px!important;cursor:pointer}
.file-drop:hover{background:#f3ecff}.file-drop-icon{color:#825bdc;font-size:35px;font-weight:500;line-height:1}
.file-drop strong{font-size:13px;color:#60468f}.file-drop small{font-size:10px;color:#a196ad}
.file-picker-input{display:block;width:100%;font-size:11px;color:#7c6d91;margin:10px 0 0}
.doc-confirm-row{border-bottom:1px solid #ece6f2;padding:16px 0;display:flex;justify-content:space-between;gap:14px}
.doc-confirm-row>span{font-size:11px;color:#92869b}
.doc-confirm-row strong{font-size:12px;color:#3a2e50;text-align:right;overflow-wrap:anywhere}
.review-content{padding:24px 0}
.review-subtitle{color:#9285a0;font-size:11px;margin:7px 0 0}
.review-preview{background:linear-gradient(140deg,#faf8fd,#f1edf8);min-height:175px;max-height:420px;display:flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid #e9e3f0;overflow:hidden;color:#8a7a9f;font-size:12px}
.review-preview img{max-width:100%;max-height:400px;object-fit:contain}
.review-preview .pdf-symbol{display:grid;place-items:center;gap:9px}
.review-preview .pdf-symbol b{font-size:48px;font-weight:850;color:#ad624b}
.review-preview .pdf-symbol span{font-size:11px;color:#857a95}
.review-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:19px 0}
.review-facts div{border:1px solid #eee8f3;border-radius:11px;padding:13px;display:grid;gap:7px}
.review-facts span{font-size:9px;color:#9c90ab}.review-facts strong{font-size:12px;color:#4a3c61}
.doc-download{width:100%;display:flex;justify-content:center;align-items:center;gap:9px;min-height:43px}
.review-content h3{font-size:15px;letter-spacing:-.2px;margin:0 0 16px}
.review-content form{background:#faf8fd;border:1px solid #eee7f5;border-radius:15px;padding:20px;margin:25px 0}
.review-content textarea{font-size:12px;resize:vertical;line-height:1.6}
.review-content form .primary-btn{width:100%;margin-top:19px}
.review-history{border-top:1px solid #eee9f4;padding-top:20px}
.review-event{display:flex;gap:10px;border-left:2px solid #e2d8f2;padding:4px 0 20px 16px;margin-left:10px}
.review-event i{width:10px;height:10px;background:#805fd1;border-radius:50%;margin-left:-22px;margin-top:4px;flex:none;border:2px solid #fff}
.review-event>div{display:grid;gap:5px}
.review-event strong{font-size:11px;color:#50416b}.review-event small{font-size:9px;color:#9b8eaa}.review-event p{margin:0;font-size:11px;line-height:1.6;color:#807488}
@media(max-width:1240px){.docs-metrics{gap:9px}.doc-metric{padding:16px}.doc-metric strong{font-size:27px}.docs-filter-controls label{flex:1}}
@media(max-width:850px){.docs-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.docs-filter-controls{width:100%}.docs-filter-controls label{flex:1}.docs-panel-head{align-items:stretch}}
@media(max-width:520px){.docs-heading{align-items:stretch!important}.docs-heading .add-btn{width:100%}.doc-metric{padding:14px}.doc-metric strong{font-size:25px}.doc-metric small{display:block;line-height:1.5}.docs-filter-controls{flex-direction:column}.docs-filter-controls label,.docs-filter-controls input,.docs-filter-controls select{width:100%;max-width:none!important}.doc-dialog{padding:18px 16px}.doc-steps>span{font-size:8px;gap:4px}.doc-steps>span b{height:24px;width:24px}.docs-footer{display:grid;gap:7px}}


/* Mobile primary navigation - accessible when desktop sidebar is collapsed */
.mobile-app-nav{display:none}
@media(max-width:720px){
  .workspace-main{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .mobile-app-nav{display:flex;position:fixed;z-index:10;bottom:0;left:0;right:0;
    min-height:66px;padding:7px 10px calc(7px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.97);backdrop-filter:blur(14px);
    border-top:1px solid #e7def2;box-shadow:0 -8px 26px #23134810;
    justify-content:space-around;gap:3px}
  .mobile-app-nav button{display:grid;place-items:center;gap:2px;flex:1;min-height:50px;
    border:0;background:transparent;color:#86799a;font-size:10px;font-weight:750;border-radius:11px}
  .mobile-app-nav button>span{font-size:22px;line-height:1.1}
  .mobile-app-nav button.is-active{background:#f0e9ff;color:#6d4bbd}
}


/* OpenAI document review - pilot */
.ai-review-card{border:1px solid #e2d9f0;background:linear-gradient(145deg,#fbf9ff,#f6f1fd);border-radius:16px;padding:18px;margin:22px 0}
.ai-review-head{display:flex;align-items:flex-start;gap:12px}
.ai-review-head h3{margin:0 0 4px;font-size:15px}
.ai-review-head p{margin:0;font-size:11px;line-height:1.6;color:#6e6382}
.ai-review-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:10px;background:#e7dbfb;color:#6e50b2;font-size:21px}
.ai-review-info{font-size:12px;line-height:1.5;color:#554768;margin:16px 0 12px}
.ai-review-notice{font-size:10px;line-height:1.65;color:#746889;margin:12px 0}
.ai-review-confidence{font-size:12px;font-weight:750;color:#65517f;margin:17px 0 8px}
.ai-review-summary{font-size:12px;line-height:1.7;color:#514464}
.ai-review-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}
.ai-review-fields label{font-size:10px;margin:5px 0;line-height:1.4}
.review-content .ai-review-fields input{display:block;width:100%;min-width:0;margin-top:6px;padding:10px 9px;min-height:42px;border:1px solid #ded4e9;border-radius:10px;background:#fff;color:#2b233b;outline:0;font-size:12px}
.review-content .ai-review-fields input:focus{border-color:#9b79d9;box-shadow:0 0 0 3px #eee8ff}
.review-content .ai-review-fields input:disabled{background:#f1eef7}
.review-content .ai-review-card form{padding:13px;margin:14px 0 0;background:#fff}
.review-content .ai-review-card form h3{font-size:13px}
@media(max-width:480px){.ai-review-card{padding:13px}.ai-review-fields{grid-template-columns:1fr}}

/* v0.10.1 - centered, responsive document dialogs replacing slide-out drawer */
#upload-overlay,#review-overlay{background:rgba(21,16,45,.65);backdrop-filter:blur(3px)}
.doc-dialog{position:fixed;top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(690px,calc(100vw - 44px));max-height:min(91dvh,980px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #ece5f3;border-radius:19px;box-shadow:0 32px 110px #1c10385c;padding:27px 31px;z-index:18}
#upload-dialog{width:min(660px,calc(100vw - 44px))}
#review-dialog{width:min(1080px,calc(100vw - 44px))}
.doc-dialog .dialog-top{position:relative;align-items:flex-start;padding-bottom:18px}
.doc-dialog .dialog-top h2{overflow-wrap:anywhere;font-size:clamp(20px,2.4vw,26px);line-height:1.2}
.doc-dialog .dialog-top>.dialog-close{flex:none}
.review-main-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:24px;align-items:start}
.review-document-column,.review-actions-column{min-width:0}
.review-document-column{position:sticky;top:0}
.review-content{padding:23px 0 0}
.review-preview{min-height:255px;max-height:520px}
.review-preview img{max-height:500px}
.review-facts{gap:9px;margin:13px 0}
.review-facts div{padding:11px}
.review-content .ai-review-card{margin:0 0 18px}
.review-content #review-form{margin:16px 0}
.review-history{margin-top:21px}
.doc-dialog button:focus-visible,.doc-dialog input:focus-visible,.doc-dialog select:focus-visible,.doc-dialog textarea:focus-visible{outline:2px solid #9473d5;outline-offset:2px}
@media(max-width:820px){
 #review-dialog{width:min(670px,calc(100vw - 32px))}
 .review-main-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .review-document-column{position:static}
 .review-content .ai-review-card{margin:0 0 17px}
}
@media(max-width:520px){
 .doc-dialog{width:calc(100vw - 18px)!important;max-height:calc(100dvh - 18px);border-radius:15px;padding:17px 15px}
 .doc-dialog .dialog-top{padding-bottom:13px}
 .doc-dialog .dialog-top h2{font-size:20px}
 .doc-steps{margin:17px 0 21px}
 .review-content{padding-top:16px}
 .review-preview{min-height:145px;max-height:320px}
 .review-preview img{max-height:310px}
 .review-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .review-content .ai-review-card{margin-bottom:12px}
}



/* Telegram self-service onboarding */
.tg-setup-panel{margin:20px 0}
.tg-setup-panel .panel-top{border-bottom:1px solid #eee8f4}
.tg-setup-panel .panel-top h2{margin:9px 0 5px}
.tg-setup-panel .panel-top .outline-btn{flex:none}
.tg-setup-body{padding:21px 25px}
.tg-setup-info{font-weight:700;font-size:12px;color:#655183;margin:0 0 15px;line-height:1.6}
.tg-step{border:1px solid #e9e2f2;border-radius:14px;background:#fcfaff;padding:17px 19px;margin:15px 0}
.tg-step>strong,.tg-bot-list>strong{font-size:13px;color:#3f3156}
.tg-step>p,.tg-step #tg-confirm-link p{font-size:11px;line-height:1.7;color:#766a85}
.tg-step .primary-btn,.tg-step .outline-btn{margin:7px 10px 6px 0;vertical-align:middle}
.tg-action-link{display:inline-flex;justify-content:center;align-items:center;min-height:45px}
.tg-create-form{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:14px 0 0}
.tg-create-form label{display:grid;gap:7px;flex:1 1 190px;font-size:11px;font-weight:750;color:#65566e}
.tg-create-form input{width:100%;min-height:45px;border:1px solid #ddd3eb;border-radius:10px;padding:12px;font-size:12px}
.tg-create-form button{flex:0 1 auto;margin:0}
.tg-bot-list{padding:12px 0}
.tg-bot-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #eee9f2}
.tg-bot-item strong{font-size:12px;display:block}
.tg-bot-item small{font-size:11px;color:#8b7f99;display:block;margin-top:6px}
.tg-bot-item a{font-size:11px;color:#7752b9;text-decoration:underline;font-weight:700}
.tg-setup-disclaimer{margin:18px 0 0;font-size:10px;line-height:1.8;color:#8c7e99}
@media(max-width:560px){.tg-setup-body{padding:15px}.tg-setup-panel .panel-top{align-items:stretch}.tg-step{padding:14px}.tg-create-form{display:grid}.tg-create-form button{width:100%}.tg-setup-panel .panel-top .outline-btn{align-self:flex-start}.tg-bot-item{flex-direction:column;align-items:flex-start}}

/* v0.12 - Owner & agency settings */
.settings-section{min-width:0}
.settings-intro{display:flex;align-items:flex-start;gap:13px;background:#f5f0ff;border:1px solid #e8dcf6;border-radius:16px;padding:19px 21px;margin-bottom:22px}
.settings-intro>span{display:grid;place-items:center;flex:none;font-size:20px;width:36px;height:36px;border-radius:11px;color:#7858c8;background:#e8dbff}
.settings-intro strong{font-size:13px;color:#4d386f}
.settings-intro p{font-size:11px;line-height:1.8;color:#81708f;margin:5px 0 0}
.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;align-items:start}
.settings-card{border:1px solid #e9e3f1;border-radius:17px;background:#fff;padding:24px;box-shadow:0 8px 28px #24163709;min-width:0}
.settings-card-head{display:flex;align-items:flex-start;gap:13px;padding-bottom:17px;margin-bottom:17px;border-bottom:1px solid #f0eaf5}
.settings-icon{display:grid;place-items:center;width:39px;height:39px;flex:none;border-radius:12px;background:#f0e9ff;color:#7855c5;font-size:20px;font-weight:800}
.settings-card-head h2{font-size:17px;color:#2d243e;letter-spacing:-.35px;margin:0 0 6px}
.settings-card-head p{font-size:11px;line-height:1.65;color:#8d809b;margin:0}
.settings-card form{display:grid;gap:0}
.settings-card form>label{display:block;font-size:11px;font-weight:760;color:#5f526f;margin:12px 0 7px}
.settings-card input,.settings-card textarea{width:100%;min-width:0;min-height:46px;border:1px solid #e1d9ea;border-radius:10px;background:#fefcff;color:#352843;outline:none;padding:12px 13px;font-size:12px}
.settings-card textarea{resize:vertical}
.settings-card input:focus,.settings-card textarea:focus{border-color:#9b79d9;box-shadow:0 0 0 3px #eee8ff}
.settings-card input[readonly]{background:#f5f2f9;color:#7d7189}
.settings-card .primary-btn,.settings-card form>.outline-btn{justify-self:start;margin-top:20px}
.settings-card .form-status{margin:12px 0 0}
.settings-hint{font-size:10px;line-height:1.75;color:#978aa1;margin:9px 0 0}
.settings-danger{margin-top:20px;border-color:#ead8d8}
.settings-danger .settings-icon{color:#a35d5d;background:#f9ecec}
.settings-danger form{max-width:640px}
.settings-danger #settings-delete-pending{padding:11px 0 18px}
.settings-danger #settings-delete-pending p{font-size:12px;line-height:1.7}
.settings-danger #settings-delete-pending .outline-btn{border-color:#c8b0b0;color:#865656}
@media(max-width:980px){.settings-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.settings-card{padding:17px}.settings-intro{padding:15px}.settings-card .primary-btn,.settings-card .outline-btn{width:100%;justify-self:stretch}}


/* v0.13 - Telegram document intake pilot */
.tg-pilot-box{background:#faf7fe}
.tg-pilot-box select,.tg-pilot-box input[type=month]{width:100%;min-height:45px;border:1px solid #ddd3eb;border-radius:10px;padding:9px;background:white;color:#3d3350;font-size:12px}
.tg-create-form .tg-pilot-consent{display:flex;align-items:flex-start;gap:10px;flex:1 0 100%;font-weight:600;font-size:11px;line-height:1.65;padding:7px 0;color:#645770}
.tg-pilot-consent input{margin-top:4px;flex:none;width:16px;height:16px;accent-color:#7855c5}
.tg-pilot-output{margin-top:18px;padding:15px;border:1px solid #ded2ed;background:#f4eeff;border-radius:12px}
.tg-pilot-output p{font-size:11px;line-height:1.7;color:#6d6081}
.tg-pilot-output .tg-action-link{margin:5px 0;max-width:100%}
@media(max-width:560px){.tg-pilot-output .tg-action-link{width:100%}}


/* v0.14 - simple shared Telegram bot URL and permanent sender mapping */
.tg-share-panel,.tg-clients-panel{border:1px solid #e6ddef;background:#fcfaff;border-radius:15px;padding:20px;margin:18px 0}
.tg-share-panel h3,.tg-clients-panel h3{margin:0 0 8px;font-size:16px;color:#332842}
.tg-share-panel p,.tg-clients-panel p{font-size:11px;line-height:1.75;color:#796c86;margin:3px 0 15px}
.tg-share-item{display:flex;align-items:center;gap:12px;padding:14px;background:white;border:1px solid #e9e3ef;border-radius:12px;margin:9px 0;flex-wrap:wrap}
.tg-share-item .tg-url{min-width:160px;flex:1 1 220px;font-size:12px;font-weight:700;color:#60459b;overflow-wrap:anywhere}
.tg-share-item .outline-btn{min-height:36px;margin:0}
.tg-clients-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.tg-clients-header .outline-btn{flex:none}
.tg-review-info{font-size:11px;color:#706083;line-height:1.6;margin:12px 0}
.tg-request-row{background:#fff;border:1px solid #e7e0ec;padding:15px;border-radius:12px;margin:10px 0}
.tg-request-row strong,.tg-sender-row strong{font-size:12px;color:#31253f}
.tg-request-row small,.tg-sender-row small{display:block;font-size:10px;color:#84768b;margin-top:5px;line-height:1.6;overflow-wrap:anywhere}
.tg-request-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}
.tg-request-actions select{min-height:42px;flex:1 1 230px;min-width:160px;border:1px solid #d9cfe5;border-radius:9px;background:#fff;color:#453652;padding:9px 11px}
.tg-request-actions .primary-btn,.tg-request-actions .outline-btn{min-height:40px;margin:0}
.tg-linked-title{font-size:13px;font-weight:800;color:#514269;margin:23px 0 9px}
.tg-sender-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e9e4ee}
.tg-sender-row .outline-btn{margin:0;flex:none;min-height:38px}
.tg-senders-empty{font-size:11px;color:#998ca1;padding:10px 0}
@media(max-width:620px){.tg-share-panel,.tg-clients-panel{padding:14px}.tg-clients-header{display:block}.tg-clients-header .outline-btn{margin:9px 0}.tg-request-actions{display:grid;grid-template-columns:1fr}.tg-request-actions select,.tg-request-actions button{width:100%}.tg-sender-row{align-items:flex-start;flex-direction:column}.tg-sender-row .outline-btn{align-self:flex-start}}


/* Gateway v0.19: shared central bot per agency */
.tg-central-share{border-color:#c9b7e8;background:linear-gradient(120deg,#f8f4ff,#fff)}
.tg-share-info{display:grid;gap:5px;min-width:200px;flex:1 1 230px}
.tg-share-info strong{font-size:12px;color:#463265}
.tg-share-info small{font-size:10px;line-height:1.6;color:#82738d}
.tg-central-share .tg-url{font-size:11px;flex:1 1 260px;min-width:0;overflow-wrap:anywhere}
