.portal-root{--portal-bg:#f5f0e6;--portal-bg-2:#ede5d4;--portal-surface:#fbf8f1;--portal-fg:#1c4023;--portal-fg-2:#2c5a36;--portal-fg-muted:#6b8a72;--portal-border:#d8cdb6;--portal-border-soft:#e6dfca;-webkit-overflow-scrolling:touch;background-color:var(--portal-bg);color:var(--portal-fg);font-family:Mona Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14.5px;line-height:1.5;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.portal-root:before{content:"";z-index:0;pointer-events:none;background-image:url(/uploads/curve-top-right.svg),url(/uploads/curve-bottom-left.svg);background-position:100% 0,0 100%;background-repeat:no-repeat,no-repeat;background-size:38vw,38vw;position:fixed;top:0;bottom:0;left:0;right:0}.portal-root>*{z-index:1;position:relative}.portal-shell{max-width:760px;margin:0 auto;padding:36px 22px 80px}.portal-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--portal-fg-muted);margin-bottom:6px;font-size:11px;font-weight:600}.portal-h1{letter-spacing:-.025em;color:var(--portal-fg);margin:0 0 8px;font-family:Mona Sans,sans-serif;font-size:38px;font-weight:900;line-height:1.05}.portal-h1-sm{letter-spacing:-.02em;margin:0;font-family:Mona Sans,sans-serif;font-size:22px;font-weight:900}.portal-sub{color:var(--portal-fg-2);max-width:520px;margin:0 0 24px;font-size:15px}.portal-muted{color:var(--portal-fg-muted)}.portal-muted.small,.small{font-size:12.5px}.portal-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.portal-header-sub{gap:16px}.portal-brand{letter-spacing:-.01em;color:var(--portal-fg);font-size:14px;font-weight:600}.portal-link-inline{color:var(--portal-fg-muted);font-size:13px;-webkit-text-decoration:underline transparent;text-decoration:underline transparent;transition:-webkit-text-decoration-color .15s,text-decoration-color .15s}.portal-link-inline:hover{-webkit-text-decoration-color:var(--portal-fg-muted);text-decoration-color:var(--portal-fg-muted)}.portal-header-actions{align-items:center;gap:14px;display:flex}.portal-notif{position:relative}.portal-notif-btn{width:36px;height:36px;color:var(--portal-fg-2);cursor:pointer;background:0 0;border:1px solid transparent;border-radius:50%;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s;display:inline-flex;position:relative}.portal-notif-btn:hover{background:var(--portal-surface);border-color:var(--portal-border-soft);color:var(--portal-fg)}.portal-notif-badge{color:#fff;border:2px solid var(--portal-bg);background:#1d4a25;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10.5px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-2px;right:-2px}.portal-notif-panel{background:var(--portal-surface);border:1px solid var(--portal-border);z-index:100;border-radius:12px;flex-direction:column;width:360px;max-width:calc(100vw - 32px);max-height:480px;animation:.15s ease-out portal-notif-pop;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 16px 40px rgba(20,30,22,.18)}@keyframes portal-notif-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.portal-notif-head{border-bottom:1px solid var(--portal-border-soft);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.portal-notif-title{color:var(--portal-fg);font-size:14px;font-weight:700}.portal-notif-mark{color:var(--portal-fg-2);cursor:pointer;background:0 0;border:0;padding:4px;font-family:inherit;font-size:12px}.portal-notif-mark:hover{text-decoration:underline}.portal-notif-empty{text-align:center;color:var(--portal-fg-muted);padding:36px 16px;font-size:13px}.portal-notif-list{margin:0;padding:0;list-style:none;overflow-y:auto}.portal-notif-item{border-bottom:1px solid var(--portal-border-soft)}.portal-notif-item:last-child{border-bottom:0}.portal-notif-row{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;align-items:flex-start;gap:10px;padding:12px 16px;font-family:inherit;text-decoration:none;transition:background .12s;display:flex}.portal-notif-row:hover{background:var(--portal-bg-2)}.portal-notif-item.unread .portal-notif-row{background:rgba(28,64,35,.04)}.portal-notif-dot{background:#1d4a25;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:7px}.portal-notif-content{flex:1;min-width:0}.portal-notif-item-title{color:var(--portal-fg);font-size:13.5px;font-weight:600;line-height:1.35}.portal-notif-item.unread .portal-notif-item-title{font-weight:700}.portal-notif-item-body{color:var(--portal-fg-2);margin-top:2px;font-size:12.5px;line-height:1.45}.portal-notif-time{color:var(--portal-fg-muted);margin-top:4px;font-size:11px}.portal-notif-item.read .portal-notif-row{padding-left:33px}.portal-back{color:var(--portal-fg-2);font-size:13px;text-decoration:none}.portal-back:hover{color:var(--portal-fg)}.portal-hero{border-bottom:1px solid var(--portal-border-soft);margin:16px 0 36px;padding:32px 0 8px}.portal-banner{margin:32px 0 0}.portal-banner img{width:100%;height:auto;display:block}.portal-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px;display:grid}@media (min-width:600px){.portal-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:880px){.portal-grid{grid-template-columns:repeat(5,1fr)}}.portal-tile{background:var(--portal-surface);border:1px solid var(--portal-border-soft);color:var(--portal-fg);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:28px 18px;text-decoration:none;transition:transform .15s,border-color .15s,background .15s;display:flex;position:relative}.portal-tile-bubble{color:#fff;font-variant-numeric:tabular-nums;background:#1d4a25;border-radius:11px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:11.5px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 6px rgba(29,74,37,.35)}.portal-tile:hover{border-color:var(--portal-fg-2);background:#fff;transform:translateY(-2px)}.portal-tile-icon{background:var(--portal-bg-2);width:60px;height:60px;color:var(--portal-fg);border-radius:50%;justify-content:center;align-items:center;display:flex}.portal-tile-label{letter-spacing:-.01em;font-size:15px;font-weight:700}.portal-auth{justify-content:center;align-items:center;min-height:100vh;padding:22px;display:flex}.portal-auth-card{background:var(--portal-surface);border:1px solid var(--portal-border-soft);border-radius:14px;width:100%;max-width:420px;padding:32px 28px}.portal-form{flex-direction:column;gap:12px;margin-top:18px;display:flex}.portal-label{text-transform:uppercase;letter-spacing:.06em;color:var(--portal-fg-muted);font-size:12px;font-weight:600}.portal-input{border:1px solid var(--portal-border);color:var(--portal-fg);box-sizing:border-box;background:#fff;border-radius:8px;outline:none;width:100%;padding:11px 14px;font-family:inherit;font-size:15px;line-height:1.5;transition:border-color .15s}textarea.portal-input{min-height:140px}.portal-input:focus{border-color:var(--portal-fg-2)}.portal-input.portal-code{letter-spacing:8px;text-align:center;padding:14px;font-family:Geist Mono,ui-monospace,monospace;font-size:22px}.portal-btn{background:var(--portal-fg);color:var(--portal-bg);cursor:pointer;border:0;border-radius:8px;padding:12px 18px;font-family:inherit;font-size:14px;font-weight:700;transition:background .15s}.portal-btn:hover:not(:disabled){background:var(--portal-fg-2)}.portal-btn:disabled{opacity:.6;cursor:default}.portal-link{font:inherit;color:var(--portal-fg-muted);cursor:pointer;background:0 0;border:0;margin-top:4px;font-size:13px;text-decoration:underline}.portal-error{color:#6f1915;color:color(display-p3 .398892 .127743 .100655);color:lab(24.5876% 37.5143 26.589);background:#ffece9;background:color(display-p3 1.04723 .908177 .881584);background:lab(94.9204% 15.0116 9.23522);border-radius:6px;padding:8px 10px;font-size:13px}.portal-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.portal-row{background:var(--portal-surface);border:1px solid var(--portal-border-soft);border-radius:10px;transition:border-color .15s,background .15s}.portal-row:hover{border-color:var(--portal-fg-2);background:#fff}.portal-row-link{color:inherit;align-items:center;gap:14px;padding:14px 18px;text-decoration:none;display:flex}.portal-row-main{flex:1;min-width:0}.portal-row-title{letter-spacing:-.005em;color:var(--portal-fg);font-size:15px;font-weight:700}.portal-row-sub{color:var(--portal-fg-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12.5px;overflow:hidden}.portal-row-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.portal-row-amount{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.portal-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--portal-bg-2);color:var(--portal-fg);border-radius:10px;padding:3px 9px;font-size:11px;font-weight:600}.portal-badge-paid{color:#1d4a25;background:#c8e0cd}.portal-badge-overdue{color:#8a2a1c;background:#f3d2cb}.portal-badge-sent,.portal-badge-viewed,.portal-badge-active{color:#1d4a25;background:#d6e8da}.portal-badge-partial,.portal-badge-paused{color:#6b4d18;background:#f0e2c4}.portal-badge-draft,.portal-badge-cancelled,.portal-badge-completed{color:#4a3f24;background:#e0dac9}.portal-color-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.portal-doc-icon{background:var(--portal-bg-2);width:38px;height:38px;color:var(--portal-fg);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.portal-timeline{margin:0;padding:0;list-style:none}.portal-tl-item{border-bottom:1px solid var(--portal-border-soft);gap:14px;padding:14px 0;display:flex}.portal-tl-item:last-child{border-bottom:0}.portal-tl-dot{background:var(--portal-fg);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:8px}.portal-tl-content{flex:1;min-width:0}.portal-tl-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.portal-tl-kind{text-transform:uppercase;letter-spacing:.08em;color:var(--portal-fg-2);font-size:10.5px;font-weight:700}.portal-tl-date{color:var(--portal-fg-muted);margin-left:auto;font-size:11.5px}.portal-tl-title{font-size:14px;font-weight:600}.portal-tl-body{color:var(--portal-fg-2);white-space:pre-wrap;margin-top:4px;font-size:13px}.portal-block{margin-top:28px}.portal-h2{letter-spacing:-.02em;color:var(--portal-fg);margin:0 0 14px;font-family:Mona Sans,sans-serif;font-size:22px;font-weight:900}.portal-phases .portal-tl-content{padding-bottom:4px}.portal-phases .portal-tl-title{font-size:14px;font-weight:700}.portal-tabs{border-bottom:1px solid var(--portal-border-soft);-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:4px;margin:22px 0 18px;display:flex;overflow-x:auto}.portal-tabs::-webkit-scrollbar{display:none}.portal-tab{color:var(--portal-fg-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid transparent;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 14px;font-family:inherit;font-size:13.5px;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex}.portal-tab:hover{color:var(--portal-fg)}.portal-tab.active{color:var(--portal-fg);border-bottom-color:var(--portal-fg)}.portal-tab-count{background:var(--portal-bg-2);min-width:18px;height:18px;color:var(--portal-fg-2);border-radius:9px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.portal-tab.active .portal-tab-count{background:var(--portal-fg);color:var(--portal-bg)}.portal-progress-card{background:var(--portal-surface);border:1px solid var(--portal-border-soft);border-radius:14px;padding:24px}.portal-progress-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;display:flex}.portal-progress-pct{letter-spacing:-.03em;color:var(--portal-fg);font-family:Mona Sans,sans-serif;font-size:56px;font-weight:900;line-height:1}.portal-progress-stats{flex-wrap:wrap;align-items:flex-end;gap:24px;display:flex}.portal-stat{text-align:right}.portal-stat-v{letter-spacing:-.02em;color:var(--portal-fg);font-family:Mona Sans,sans-serif;font-size:22px;font-weight:900}.portal-stat-l{text-transform:uppercase;letter-spacing:.08em;color:var(--portal-fg-muted);margin-top:2px;font-size:11px;font-weight:600}.portal-progress-bar{background:var(--portal-bg-2);border-radius:6px;height:10px;position:relative;overflow:hidden}.portal-progress-fill{background:var(--portal-fg);border-radius:6px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.portal-next-card{background:var(--portal-bg-2);border-left:4px solid var(--portal-fg);border-radius:12px;margin-top:16px;padding:18px 22px}.portal-next-title{letter-spacing:-.015em;color:var(--portal-fg);margin-top:4px;font-family:Mona Sans,sans-serif;font-size:18px;font-weight:900}.portal-notes{color:var(--portal-fg-2);white-space:pre-wrap;background:var(--portal-surface);border:1px solid var(--portal-border-soft);border-radius:10px;padding:16px 18px;font-size:14.5px;line-height:1.6}.portal-phase-list{margin:0;padding:0;list-style:none;position:relative}.portal-phase-list:before{content:"";background:var(--portal-border);width:2px;position:absolute;top:14px;bottom:14px;left:11px}.portal-phase-row{align-items:flex-start;gap:14px;padding:10px 0;display:flex;position:relative}.portal-phase-icon{background:var(--portal-bg);border:2px solid var(--portal-border);width:24px;height:24px;color:var(--portal-fg-muted);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.portal-phase-done .portal-phase-icon{background:var(--portal-fg);border-color:var(--portal-fg);color:var(--portal-bg)}.portal-phase-current .portal-phase-icon{background:var(--portal-bg);border-color:var(--portal-fg)}.portal-phase-pulse{background:var(--portal-fg);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite portal-pulse}@keyframes portal-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.5)}}.portal-phase-content{flex:1;min-width:0;padding-bottom:4px}.portal-phase-title{color:var(--portal-fg);flex-wrap:wrap;align-items:center;gap:8px;font-size:14.5px;font-weight:700;display:flex}.portal-phase-upcoming .portal-phase-title{color:var(--portal-fg-2);font-weight:600}.portal-phase-done .portal-phase-title{color:var(--portal-fg-muted)}.portal-phase-pill{text-transform:uppercase;letter-spacing:.06em;background:var(--portal-fg);color:var(--portal-bg);border-radius:8px;padding:2px 8px;font-size:10.5px;font-weight:700}.portal-phase-pill.done{background:var(--portal-bg-2);color:var(--portal-fg-muted)}.portal-cr-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.portal-cr-head .portal-btn{flex-shrink:0;padding:10px 18px;font-size:13.5px}.portal-cr-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--portal-fg-muted);margin:18px 0 10px;font-family:Mona Sans,sans-serif;font-size:12.5px;font-weight:700}.portal-cr-item{flex-direction:column;gap:10px;width:100%;padding:14px 18px;display:flex}.portal-cr-item-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.portal-cr-desc{color:var(--portal-fg-2);white-space:pre-wrap;font-size:13.5px;line-height:1.55}.portal-cr-meta{color:var(--portal-fg-muted);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.portal-cr-meta strong{color:var(--portal-fg-2);font-weight:700}.portal-cr-metafields{border-left:3px solid var(--portal-accent,#1c4023);color:var(--portal-fg-2);background:rgba(28,64,35,.06);border-radius:6px;flex-direction:column;gap:4px;margin:0;padding:10px 14px;font-size:13px;list-style:none;display:flex}.portal-cr-metafields li{flex-wrap:wrap;gap:8px;line-height:1.5;display:flex}.portal-cr-metafields strong{color:var(--portal-fg);flex-shrink:0;font-weight:700}.portal-cr-metafields span{word-break:break-word;min-width:0}.portal-cr-terms{color:var(--portal-fg-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:rgba(28,64,35,.06);border:1px solid rgba(28,64,35,.18);border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.portal-cr-terms input[type=checkbox]{width:18px;height:18px;accent-color:var(--portal-fg);cursor:pointer;flex-shrink:0;margin-top:1px}.portal-cr-terms strong{color:var(--portal-fg);font-weight:700}.portal-cr-reply{background:var(--portal-bg-2);color:var(--portal-fg-2);white-space:pre-wrap;border-radius:8px;padding:10px 14px;font-size:13px}.portal-cat-tag{text-transform:uppercase;letter-spacing:.05em;border-radius:6px;width:-moz-fit-content;width:fit-content;padding:2px 8px;font-size:10.5px;font-weight:700;display:inline-block}.portal-cat-bug{color:#8a2a1c;background:#f3d2cb}.portal-cat-improvement{color:#1d4a25;background:#d6e8da}.portal-cat-warranty{color:#1b3470;background:#c8d4f0}.portal-cat-other{color:#4a3f24;background:#e0dac9}.portal-cr-cat{grid-template-columns:repeat(2,1fr)!important}@media (min-width:600px){.portal-cr-cat{grid-template-columns:repeat(4,1fr)!important}}.portal-cr-file-pick{border:2px dashed var(--portal-border);cursor:pointer;width:100%;color:var(--portal-fg-2);background:rgba(255,255,255,.5);border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:18px;font-family:inherit;transition:all .15s;display:flex}.portal-cr-file-pick:hover{border-color:var(--portal-fg-2);color:var(--portal-fg);background:rgba(255,255,255,.8)}.portal-cr-file-label{font-size:13.5px;font-weight:700}.portal-cr-file-sub{color:var(--portal-fg-muted);font-size:11.5px}.portal-cr-file-preview{background:var(--portal-surface);border:1px solid var(--portal-border-soft);border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.portal-cr-file-preview img{object-fit:cover;border-radius:6px;width:60px;height:60px}.portal-cr-file-info{flex:1;justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.portal-cr-file-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.portal-cr-screenshot-client{border-style:dashed}.portal-cr-screenshot{border:1px solid var(--portal-border-soft);background:var(--portal-surface);border-radius:8px;text-decoration:none;transition:border-color .15s,transform .15s;display:block;overflow:hidden}.portal-cr-screenshot:hover{border-color:var(--portal-fg-2);transform:scale(1.005)}.portal-cr-screenshot img{object-fit:cover;width:100%;height:auto;max-height:360px;display:block}.portal-cr-screenshot-caption{color:var(--portal-fg-2);border-top:1px solid var(--portal-border-soft);background:var(--portal-bg-2);justify-content:space-between;padding:8px 12px;font-size:12px;display:flex}.portal-cr-screenshot-zoom{color:var(--portal-fg);font-weight:700}.portal-cr-invoice{background:var(--portal-surface);border:1px solid var(--portal-fg-2);color:var(--portal-fg);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;text-decoration:none;transition:background .15s,transform .1s;display:flex}.portal-cr-invoice:hover{background:var(--portal-bg-2);transform:translate(2px)}.portal-cr-invoice-icon{background:var(--portal-bg-2);width:32px;height:32px;color:var(--portal-fg);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.portal-cr-invoice-main{flex-direction:column;min-width:0;display:flex}.portal-cr-invoice-num{color:var(--portal-fg);font-size:14px;font-weight:700}.portal-cr-invoice-sub{color:var(--portal-fg-2);font-size:12px}.portal-cr-reply-label{text-transform:uppercase;letter-spacing:.06em;color:var(--portal-fg-muted);margin-bottom:4px;font-size:11px;font-weight:700}.portal-cr-priority{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px;display:grid}@media (max-width:480px){.portal-cr-priority{grid-template-columns:1fr}}.portal-cr-prio{border:2px solid var(--portal-border);cursor:pointer;text-align:left;background:rgba(255,255,255,.6);border-radius:8px;flex-direction:column;align-items:stretch;gap:4px;min-width:0;padding:12px 14px;font-family:inherit;transition:all .15s;display:flex}.portal-cr-prio:hover{border-color:var(--portal-fg-2);background:#fff}.portal-cr-prio.active{border-color:var(--portal-fg);background:var(--portal-bg-2)}.portal-cr-prio-label{color:var(--portal-fg);word-break:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:13.5px;font-weight:700}.portal-cr-prio-sub{color:var(--portal-fg-muted);word-break:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:11.5px;line-height:1.35}.portal-modal-scrim{z-index:1000;background:rgba(20,30,22,.5);justify-content:center;align-items:center;padding:20px;animation:.18s ease-out portal-fade;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes portal-fade{0%{opacity:0}to{opacity:1}}.portal-modal{background:var(--portal-bg);border-radius:14px;flex-direction:column;width:100%;max-width:520px;max-height:calc(100vh - 40px);animation:.22s cubic-bezier(.2,.9,.3,1.2) portal-pop;display:flex;overflow:hidden;box-shadow:0 20px 60px rgba(20,30,22,.25)}.portal-modal.portal-modal-wide{max-width:680px}.portal-form-grid-2{grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:10px;display:grid}.portal-form-grid-2>.portal-form-cell{flex-direction:column;gap:4px;min-width:0;display:flex}.portal-form-grid-2>.portal-form-cell.portal-form-cell-full{grid-column:1/-1}@media (max-width:520px){.portal-form-grid-2{grid-template-columns:1fr}}@keyframes portal-pop{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.portal-modal-head{border-bottom:1px solid var(--portal-border-soft);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 24px 12px;display:flex}.portal-modal-close{border:1px solid var(--portal-border-soft);background:var(--portal-surface);width:32px;height:32px;color:var(--portal-fg);cursor:pointer;border-radius:50%;flex-shrink:0;font-size:18px;line-height:1}.portal-modal-close:hover{background:#fff}.portal-modal-body{flex-direction:column;flex:1;padding:18px 24px;display:flex;overflow-y:auto}.portal-modal-foot{border-top:1px solid var(--portal-border-soft);flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;padding:12px 24px 16px;display:flex}@media (max-width:480px){.portal-modal-scrim{align-items:flex-end;padding:0}.portal-modal{border-radius:14px 14px 0 0;max-height:92vh}}.doc-viewer-scrim{z-index:1000;background:rgba(20,30,22,.7);justify-content:center;align-items:center;padding:24px;animation:.18s ease-out portal-fade;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.doc-viewer{background:var(--portal-bg);border-radius:14px;flex-direction:column;width:100%;max-width:1000px;max-height:calc(100vh - 48px);animation:.22s cubic-bezier(.2,.9,.3,1.2) portal-pop;display:flex;overflow:hidden;box-shadow:0 24px 60px rgba(20,30,22,.4)}.doc-viewer-head{border-bottom:1px solid var(--portal-border-soft);background:var(--portal-surface);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.doc-viewer-title{color:var(--portal-fg);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.doc-viewer-meta{color:var(--portal-fg-muted);font-size:12px}.doc-viewer-action{background:var(--portal-bg-2);color:var(--portal-fg);border:1px solid var(--portal-border-soft);white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:12.5px;font-weight:600;text-decoration:none}.doc-viewer-action:hover{background:#fff}.doc-viewer-close{border:1px solid var(--portal-border-soft);background:var(--portal-surface);width:32px;height:32px;color:var(--portal-fg);cursor:pointer;border-radius:50%;font-size:18px;line-height:1}.doc-viewer-body{background:#2c2c2c;flex:1;justify-content:center;align-items:center;min-height:300px;display:flex;overflow:auto}.doc-viewer-img{object-fit:contain;max-width:100%;max-height:calc(100vh - 140px);display:block}.doc-viewer-iframe{background:#fff;border:0;width:100%;height:calc(100vh - 100px)}.doc-viewer-fallback{text-align:center;color:var(--portal-fg);background:var(--portal-bg);width:100%;padding:40px 20px}@media (max-width:480px){.doc-viewer-scrim{padding:0}.doc-viewer{border-radius:0;max-width:100%;max-height:100vh}}.portal-empty{text-align:center;color:var(--portal-fg-muted);background:var(--portal-surface);border:1px dashed var(--portal-border);border-radius:12px;padding:60px 20px}.portal-footer{z-index:0;margin-top:40px;padding:24px 20px 32px}.portal-footer-inner{max-width:1100px;color:var(--portal-fg-muted);text-align:center;flex-direction:column;align-items:center;gap:8px;margin:0 auto;font-size:13px;display:flex}.portal-footer-brand{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.portal-footer-brand strong{color:var(--portal-fg);font-weight:700}.portal-footer-nav{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.portal-footer-nav a{color:var(--portal-fg-2);border-bottom:1px solid transparent;font-weight:600;text-decoration:none;transition:border-color .15s}.portal-footer-nav a:hover{border-bottom-color:var(--portal-fg-2)}.portal-footer-copy{opacity:.8;font-size:12px}.portal-legal{max-width:820px;color:var(--portal-fg-2);margin:0 auto;padding:0 20px 40px;font-size:14.5px;line-height:1.7}.portal-legal section{margin-bottom:32px}.portal-legal h2{color:var(--portal-fg);letter-spacing:-.01em;margin:0 0 12px;font-family:Mona Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:19px;font-weight:900}.portal-legal p{margin:0 0 10px}.portal-legal ul{margin:8px 0 14px;padding-left:22px}.portal-legal li{margin-bottom:6px}.portal-legal a{color:var(--portal-fg);font-weight:600}.portal-legal strong{color:var(--portal-fg);font-weight:700}.portal-legal-foot{border-left:4px solid var(--portal-fg);color:var(--portal-fg-2);background:rgba(28,64,35,.06);border-radius:8px;margin-top:28px;padding:18px 22px;font-size:13.5px;font-style:italic}
.tf-root{--tf-bg:#f5f0e6;--tf-fg:#1c4023;--tf-fg-2:#2c5a36;--tf-muted:#6b8a72;--tf-accent:#1c4023;--tf-accent-bg:#d6e8da;--tf-border:#d8cdb6;--tf-border-soft:#e6dfca;background:var(--tf-bg);color:var(--tf-fg);z-index:100;font-family:Mona Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.tf-progress{background:var(--tf-accent);z-index:110;height:4px;transition:width .4s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0}.tf-stage{justify-content:center;align-items:center;min-height:100vh;padding:80px 24px;display:flex;position:relative}.tf-exit{color:var(--tf-muted);font-size:13px;font-weight:500;text-decoration:none;position:absolute;top:24px;left:24px}.tf-exit:hover{color:var(--tf-fg)}.tf-question{width:100%;max-width:720px;animation:.4s cubic-bezier(.2,.9,.3,1) tf-slide-in}@keyframes tf-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tf-q-num{color:var(--tf-muted);letter-spacing:.02em;font-variant-numeric:tabular-nums;margin-bottom:20px;font-size:13px;font-weight:600}.tf-q-label{letter-spacing:-.025em;color:var(--tf-fg);margin:0 0 14px;font-family:Mona Sans,sans-serif;font-size:max(28px,min(4vw,38px));font-weight:900;line-height:1.15}.tf-required{color:var(--tf-muted);font-weight:500}.tf-q-desc{color:var(--tf-fg-2);max-width:600px;margin:0 0 32px;font-size:16px;line-height:1.5}.tf-input-wrap{margin-top:24px}.tf-input{border:0;border-bottom:2px solid var(--tf-border);width:100%;color:var(--tf-fg);background:0 0;outline:none;padding:12px 0;font-family:inherit;font-size:max(20px,min(2.5vw,28px));font-weight:400;transition:border-color .2s}.tf-input::placeholder{color:var(--tf-muted);opacity:.5}.tf-input:focus{border-bottom-color:var(--tf-accent)}.tf-textarea{resize:none;border:2px solid var(--tf-border);background:rgba(255,255,255,.5);border-radius:12px;padding:16px 18px;font-size:max(17px,min(2vw,20px))}.tf-textarea:focus{border-color:var(--tf-accent);background:rgba(255,255,255,.8)}.tf-choices{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.tf-choices-stack{flex-direction:column}.tf-choice{border:2px solid var(--tf-border);color:var(--tf-fg);cursor:pointer;text-align:left;background:rgba(255,255,255,.6);border-radius:10px;align-items:center;gap:14px;min-width:180px;padding:16px 22px;font-family:inherit;font-size:max(15px,min(1.7vw,17px));font-weight:500;transition:all .15s;display:flex}.tf-choices-stack .tf-choice{width:100%;max-width:520px}.tf-choice:hover{border-color:var(--tf-accent);background:rgba(255,255,255,.95);transform:translate(2px)}.tf-choice.active{border-color:var(--tf-accent);background:var(--tf-accent-bg);color:var(--tf-fg)}.tf-choice-key{border:1.5px solid var(--tf-border);width:28px;height:28px;color:var(--tf-muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-family:Geist Mono,ui-monospace,monospace;font-size:12px;font-weight:700;display:flex}.tf-choice.active .tf-choice-key{border-color:var(--tf-accent);background:var(--tf-accent);color:#fff}.tf-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:36px;display:flex}.tf-cta{background:var(--tf-fg);color:var(--tf-bg);cursor:pointer;border:0;border-radius:8px;align-items:center;gap:12px;padding:14px 28px;font-family:inherit;font-size:15px;font-weight:700;text-decoration:none;transition:background .15s,transform .1s;display:inline-flex}.tf-cta:hover:not(:disabled){background:var(--tf-fg-2)}.tf-cta:active{transform:translateY(1px)}.tf-cta:disabled{opacity:.6;cursor:default}.tf-cta-hint{background:rgba(255,255,255,.18);border-radius:4px;padding:2px 7px;font-size:11px;font-weight:600}.tf-back{color:var(--tf-muted);cursor:pointer;background:0 0;border:0;padding:6px;font-family:inherit;font-size:13px}.tf-back:hover{color:var(--tf-fg)}.tf-error{color:#6f1915;color:color(display-p3 .398892 .127743 .100655);color:lab(24.5876% 37.5143 26.589);background:#ffece9;background:color(display-p3 1.04723 .908177 .881584);background:lab(94.9204% 15.0116 9.23522);border-radius:6px;margin-top:14px;padding:8px 12px;font-size:13px}.tf-welcome{text-align:center;width:100%;max-width:640px}.tf-eyebrow{letter-spacing:-.025em;color:var(--tf-fg);margin:0 0 18px;font-family:Mona Sans,sans-serif;font-size:max(32px,min(4.5vw,44px));font-weight:900;line-height:1.05}.tf-welcome-desc{color:var(--tf-fg-2);margin:0 0 16px;font-size:17px;line-height:1.55}.tf-welcome-msg{border:1px solid var(--tf-border-soft);color:var(--tf-fg-2);white-space:pre-wrap;text-align:left;background:rgba(255,255,255,.6);border-radius:10px;max-width:540px;margin:16px auto 24px;padding:14px 18px;font-size:14.5px}.tf-welcome .tf-cta{margin:12px 0 8px;padding:16px 36px;font-size:16px}.tf-keyboard-hint{color:var(--tf-muted);font-size:12.5px}.tf-thank-you{text-align:center;width:100%;max-width:540px}.tf-check{color:var(--tf-accent);margin-bottom:18px;animation:.5s cubic-bezier(.2,.9,.3,1.4) tf-pop;display:inline-flex}@keyframes tf-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.tf-thank-h1{letter-spacing:-.025em;color:var(--tf-fg);margin:0 0 14px;font-family:Mona Sans,sans-serif;font-size:max(36px,min(5vw,48px));font-weight:900}.tf-thank-sub{color:var(--tf-fg-2);margin:0 0 28px;font-size:16px;line-height:1.5}.tf-thank-you .tf-cta{margin:0 auto}@media (max-width:600px){.tf-stage{padding:80px 18px 60px}.tf-exit{top:18px;left:18px}.tf-question{max-width:100%}.tf-cta{justify-content:center;width:100%}.tf-back{text-align:center;width:100%}}
