/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.inline{display:inline}.table{display:table}}:root{--ink:#17211f;--muted:#6d7774;--line:#e6e9e7;--soft-line:#eff1f0;--paper:#fff;--sidebar:#f6f7f6;--surface:#f9faf9;--brand:#0f766e;--brand-dark:#0a5a54;--brand-soft:#e8f5f2;--success:#0e704b;--danger:#a83d3d;--warning:#966a1d}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}html,body{background:var(--paper);width:100%;height:100%;min-height:100%;color:var(--ink);margin:0;overflow:hidden}body{font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #0f766e38}.brand-mark{width:34px;height:34px;color:var(--brand);background:#0f766e17;border:1px solid #0f766e38;border-radius:10px;flex:none;place-items:center;display:inline-grid;box-shadow:0 5px 14px #0f766e1a}.brand-mark svg{width:17px;height:17px}.eyebrow{color:var(--brand);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:750}.login-page{background:#f8faf9;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr);height:100dvh;min-height:100dvh;display:grid;overflow-y:auto}.login-intro{color:#fff;background:#112d2a;flex-direction:column;justify-content:space-between;min-height:100%;padding:42px clamp(48px,7vw,104px) 50px;display:flex;position:relative;overflow:hidden}.login-intro:before,.login-intro:after{content:"";pointer-events:none;border-radius:999px;position:absolute}.login-intro:before{border:1px solid #ffffff24;width:500px;height:500px;top:-260px;right:-250px;box-shadow:0 0 0 65px #ffffff06,0 0 0 130px #ffffff05}.login-intro:after{filter:blur(3px);background:#2ebea914;width:260px;height:260px;bottom:-80px;left:-160px}.login-brand{z-index:1;letter-spacing:-.01em;align-items:center;gap:12px;font-size:15px;font-weight:650;display:flex;position:relative}.login-intro .brand-mark{color:#7dd4c6;box-shadow:none;background:#7dd4c61a;border-color:#7dd4c64d}.login-copy{z-index:1;max-width:600px;margin:auto 0;padding:80px 0;position:relative}.login-copy .eyebrow{color:#7dd4c6}.login-copy h1{letter-spacing:-.055em;max-width:620px;margin:0;font-size:clamp(44px,5.25vw,74px);font-weight:580;line-height:.99}.login-copy>p:last-child{color:#ffffffab;max-width:505px;margin:28px 0 0;font-size:17px;line-height:1.65}.login-promise{z-index:1;color:#ffffffad;align-items:center;gap:12px;font-size:13px;display:flex;position:relative}.promise-check{color:#7dd4c6;border:1px solid #7dd4c659;border-radius:999px;place-items:center;width:25px;height:25px;display:grid}.login-panel{place-items:center;padding:48px;display:grid}.login-card{flex-direction:column;gap:19px;width:min(100%,410px);display:flex}.login-card h2{letter-spacing:-.04em;margin:0;font-size:34px;font-weight:630}.form-intro{color:var(--muted);margin:7px 0 5px;font-size:14px}.login-card label{color:#35413e;flex-direction:column;gap:8px;font-size:13px;font-weight:620;display:flex}.login-card input{width:100%;height:51px;color:var(--ink);background:#fff;border:1px solid #89938f;border-radius:11px;padding:0 15px;transition:border .16s,box-shadow .16s;box-shadow:0 1px 2px #17211f05}.login-card input::placeholder{color:#65706c}.login-card input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #0f766e14}.primary-button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:9px;height:51px;margin-top:3px;font-size:14px;font-weight:680;transition:background .15s,transform .15s;display:inline-flex;box-shadow:0 8px 22px #0f766e2b}.primary-button:hover:not(:disabled){background:var(--brand-dark);transform:translateY(-1px)}.primary-button:disabled{cursor:wait;opacity:.72}.form-error,.app-alert{color:#a33131;margin:-4px 0 0;font-size:13px}.mobile-login-brand{display:none}.button-spinner,.mini-spinner,.job-spinner{border:2px solid;border-right-color:#0000;border-radius:999px;animation:.75s linear infinite rotate;display:inline-block}.button-spinner{width:15px;height:15px}.portal-shell{background:#fff;grid-template-columns:272px minmax(480px,1fr) 316px;width:100%;height:100dvh;min-height:0;display:grid;overflow:hidden}.sidebar{z-index:30;border-right:1px solid var(--line);background:var(--sidebar);flex-direction:column;min-width:0;height:100%;display:flex;position:relative}.sidebar-brand{flex:none;align-items:center;gap:11px;height:78px;padding:0 20px;display:flex}.sidebar-brand>div{flex-direction:column;min-width:0;line-height:1.15;display:flex}.sidebar-brand strong{font-size:14px;font-weight:720}.sidebar-brand span:not(.brand-mark){color:var(--muted);text-transform:uppercase;letter-spacing:.09em;margin-top:3px;font-size:10px}.new-request-button{text-align:left;cursor:pointer;background:#fff;border:1px solid #d9dedb;border-radius:10px;flex:none;align-items:center;gap:9px;height:42px;margin:0 14px 18px;padding:0 13px;font-size:13px;font-weight:630;display:flex;box-shadow:0 1px 2px #12292505}.new-request-button:hover{background:#fcfdfd;border-color:#cbd2ce}.new-request-button span{color:var(--brand);font-size:18px;line-height:1}.sidebar-scroll{scrollbar-width:thin;flex:1;min-height:0;padding:0 10px 15px;overflow-y:auto}.nav-label{color:#65706c;letter-spacing:.1em;text-transform:uppercase;margin:0;padding:0 9px 9px;font-size:10px;font-weight:720}.site-list{flex-direction:column;gap:3px;display:flex}.site-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;grid-template-columns:34px minmax(0,1fr) 8px;align-items:center;gap:10px;width:100%;min-width:0;padding:8px 9px;display:grid}.site-item:hover{background:#ecefed}.site-item.active{background:#e5ebe8}.site-avatar,.large-site-avatar{color:var(--brand-dark);background:#fff;border:1px solid #d6dfdb;border-radius:9px;place-items:center;font-family:Georgia,serif;font-weight:700;display:grid}.site-avatar{width:34px;height:34px;font-size:14px}.site-item-copy{flex-direction:column;min-width:0;display:flex}.site-item-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:660;overflow:hidden}.site-item-copy small{color:#65706c;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;overflow:hidden}.tiny-dot{background:#cbd1ce;border-radius:999px;width:6px;height:6px}.tiny-dot.green{background:#29a275;box-shadow:0 0 0 3px #29a2751a}.conversations-label{margin-top:27px}.conversation-list{flex-direction:column;gap:1px;display:flex}.conversation-list button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;min-width:0;padding:8px 9px;display:grid}.conversation-list button:hover{background:#ecefed}.conversation-list span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.conversation-list small{color:#65706c;font-size:10px}.empty-sidebar{color:var(--muted);margin:4px 10px;font-size:11px;line-height:1.5}.sidebar-footer{border-top:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) 30px;align-items:center;gap:9px;min-width:0;padding:14px;display:grid}.user-avatar{color:#285951;background:#dbe8e4;border-radius:999px;place-items:center;width:34px;height:34px;font-size:10px;font-weight:750;display:grid}.user-copy{flex-direction:column;min-width:0;display:flex}.user-copy strong,.user-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-copy strong{font-size:11px;font-weight:670}.user-copy span{color:#65706c;margin-top:3px;font-size:10px}.logout-button,.mobile-close{color:#65706c;cursor:pointer;background:0 0;border:0}.logout-button{border-radius:8px;width:30px;height:30px;font-size:17px;transform:rotate(45deg)}.logout-button:hover{color:#4c5753;background:#e7eae8}.mobile-close,.mobile-menu,.details-button{display:none}.chat-column{background:#fff;flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.chat-header{border-bottom:1px solid var(--soft-line);flex:none;justify-content:space-between;align-items:center;gap:15px;height:70px;padding:0 clamp(20px,3.2vw,42px);display:flex}.chat-title{flex-direction:column;min-width:0;display:flex}.chat-title strong,.chat-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-title strong{font-size:14px;font-weight:680}.chat-title span{color:var(--muted);margin-top:3px;font-size:10px}.header-actions{flex:none;align-items:center;gap:9px;display:flex}.admin-button{height:30px;color:var(--brand-dark);cursor:pointer;background:#f5faf8;border:1px solid #d7e3df;border-radius:9px;align-items:center;gap:6px;padding:0 10px;font-size:10px;font-weight:650;display:inline-flex}.admin-button:hover{background:#edf6f3;border-color:#bcd1ca}.admin-button svg{width:14px;height:14px}.worker-pill{border:1px solid var(--line);color:#68716e;border-radius:999px;align-items:center;gap:7px;height:28px;padding:0 10px;font-size:10px;font-weight:570;display:inline-flex}.status-dot{background:#b5bcb9;border-radius:999px;width:7px;height:7px}.worker-pill.online .status-dot,.status-dot.online-dot{background:#24a271;box-shadow:0 0 0 3px #24a2711a}.worker-pill.offline{color:#765e3d;background:#fffaf1;border-color:#eee1ca}.app-alert{z-index:20;white-space:nowrap;background:#fff7f7;border:1px solid #f0d6d6;border-radius:9px;max-width:min(560px,100% - 40px);padding:9px 13px;position:absolute;top:76px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #3b1e1e14}.chat-scroll{scroll-behavior:smooth;scrollbar-width:thin;flex:1;min-height:0;overflow-y:auto}.welcome-state,.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(100% - 40px,720px);min-height:100%;margin:auto;padding:50px 0 42px;display:flex}.welcome-mark{background:#f0f7f5;border:1px solid #dce9e5;border-radius:17px;place-items:center;width:55px;height:55px;margin-bottom:25px;display:inline-grid}.welcome-mark .brand-mark{box-shadow:none}.welcome-state h1,.empty-state h2{letter-spacing:-.045em;margin:0;font-size:clamp(29px,3.1vw,42px);font-weight:570;line-height:1.08}.welcome-description{max-width:490px;color:var(--muted);margin:18px 0 27px;font-size:14px;line-height:1.6}.prompt-examples{flex-wrap:wrap;justify-content:center;gap:8px;max-width:670px;display:flex}.prompt-examples button{border:1px solid var(--line);color:#56615d;cursor:pointer;background:#fff;border-radius:999px;padding:9px 13px;font-size:11px}.prompt-examples button:hover{color:var(--brand-dark);background:#f8fbfa;border-color:#c7d6d1}.prompt-examples button:disabled{cursor:not-allowed;opacity:.48}.empty-icon{border:1px solid var(--line);width:44px;height:44px;color:var(--muted);border-radius:999px;place-items:center;margin-bottom:16px;font-family:Georgia,serif;font-style:italic;display:grid}.empty-state p{color:var(--muted);margin:12px 0 0;font-size:13px}.messages{width:min(100% - 48px,760px);margin:0 auto;padding:45px 0 28px}.conversation-block+.conversation-block{border-top:1px solid var(--soft-line);margin-top:42px;padding-top:38px}.message{grid-template-columns:34px minmax(0,1fr);gap:13px;display:grid}.message+.message{margin-top:26px}.message-avatar{border-radius:9px;place-items:center;width:32px;height:32px;font-size:9px;font-weight:750;display:grid}.client-avatar{color:#55605c;background:#e9eceb}.assistant-avatar{background:#f2f7f5;border:1px solid #dce7e3}.assistant-avatar .brand-mark{width:22px;height:22px;box-shadow:none;border-radius:6px}.assistant-avatar .brand-mark svg{width:12px;height:12px}.message-content{min-width:0;padding-top:2px}.message-meta{align-items:center;gap:10px;min-height:21px;display:flex}.message-meta strong{font-size:12px;font-weight:680}.message-meta time{color:#65706c;font-size:10px}.message-content>p{color:#36413e;white-space:pre-wrap;margin:8px 0 0;font-size:13px;line-height:1.68}.job-attachments{flex-wrap:wrap;gap:7px;max-width:100%;margin-top:11px;display:flex}.job-image-attachment,.job-file-attachment{color:#35413d;background:#f8faf9;border:1px solid #dde3e0;text-decoration:none}.job-image-attachment{border-radius:10px;flex-direction:column;width:94px;display:flex;overflow:hidden}.job-image-attachment img{object-fit:cover;background:#eef1ef;width:100%;height:68px}.job-image-attachment>span{text-overflow:ellipsis;white-space:nowrap;padding:6px 7px;font-size:9px;font-weight:610;overflow:hidden}.job-file-attachment{border-radius:10px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-width:165px;max-width:240px;padding:7px 9px;display:grid}a.job-image-attachment:hover,a.job-file-attachment:hover{background:#f2f8f6;border-color:#b9cec7}.job-file-icon{width:30px;height:30px;color:var(--brand-dark);background:#e7efec;border-radius:8px;place-items:center;display:grid}.job-file-icon svg{width:16px;height:16px}.job-file-attachment>span:last-child{flex-direction:column;min-width:0;display:flex}.job-file-attachment strong,.job-file-attachment small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.job-file-attachment strong{font-size:9px;font-weight:650}.job-file-attachment small{color:#65706c;margin-top:2px;font-size:8px}.job-status{border-radius:999px;align-items:center;gap:6px;min-height:22px;padding:0 8px;font-size:10px;font-weight:680;display:inline-flex}.job-status.working{color:#866625;background:#f3f0e8}.job-status.success{color:var(--success);background:#eaf7f1}.job-status.failed{color:var(--danger);background:#fbeeee}.mini-spinner{border-width:1.5px;width:10px;height:10px}.live-link{color:var(--brand-dark);align-items:center;gap:6px;margin-top:12px;font-size:11px;font-weight:650;text-decoration:none;display:inline-flex}.live-link:hover{text-decoration:underline}.retry-job-button{color:#3e5c54;cursor:pointer;background:#f7faf9;border:1px solid #d5dfdb;border-radius:9px;align-items:center;gap:7px;min-height:32px;margin-top:12px;padding:0 11px;font-size:10px;font-weight:650;display:inline-flex}.retry-job-button:hover:not(:disabled){color:var(--brand-dark);background:#eef6f3;border-color:#b8cec6}.retry-job-button:disabled{cursor:not-allowed;opacity:.48}.retry-job-button svg{width:13px;height:13px}.composer-zone{background:linear-gradient(#fff0,#fff 15%);flex:none;padding:8px clamp(20px,3.2vw,42px) 15px}.composer,.active-job-bar,.worker-warning,.rate-limit-banner,.composer-footer,.composer-hint,.attachment-error{width:min(100%,760px);margin-left:auto;margin-right:auto}.composer{background:#fff;border:1px solid #d9dddb;border-radius:18px;flex-direction:column;align-items:stretch;gap:7px;min-height:58px;padding:8px;transition:border .16s,box-shadow .16s;display:flex;position:relative;box-shadow:0 7px 25px #192a2614,0 1px 3px #192a260d}.composer:focus-within{border-color:#aec7c0;box-shadow:0 8px 28px #192a261a,0 0 0 3px #0f766e0d}.composer.dragging{border-color:var(--brand);box-shadow:0 8px 28px #192a261a,0 0 0 4px #0f766e14}.composer.rate-limited{background:#fbfaf7;border-color:#e2ddd1;box-shadow:0 5px 18px #3f31180d}.composer.rate-limited:focus-within{border-color:#e2ddd1;box-shadow:0 5px 18px #3f31180d}.composer-row{grid-template-columns:38px minmax(0,1fr) 40px;align-items:end;gap:7px;width:100%;display:grid}.attachment-input{display:none}.attachment-button{color:#45514d;cursor:pointer;background:#f0f2f1;border:0;border-radius:12px;place-items:center;width:38px;height:38px;transition:background .15s,color .15s;display:grid}.attachment-button:hover:not(:disabled){color:var(--brand-dark);background:#e4ebe8}.attachment-button:disabled{color:#8b9490;cursor:not-allowed;opacity:.65}.attachment-button svg{width:18px;height:18px}.attachment-drop-overlay{z-index:5;color:var(--brand-dark);pointer-events:none;background:#effaf7f5;border:1px dashed #0f766e8c;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:650;display:flex;position:absolute;inset:5px}.attachment-drop-overlay svg{width:20px;height:20px}.attachment-tray{scroll-snap-type:x proximity;scrollbar-width:thin;gap:7px;width:100%;padding:1px 1px 4px;display:flex;overflow-x:auto}.attachment-item{scroll-snap-align:start;background:#fafbfa;border:1px solid #dfe4e1;border-radius:11px;flex:none;align-items:center;gap:9px;width:218px;height:58px;padding:7px 34px 7px 7px;display:flex;position:relative;overflow:hidden}.attachment-item.uploaded{background:#f7fbf9;border-color:#cfe2da}.attachment-item.error{background:#fff9f9;border-color:#e8caca;padding-right:62px}.attachment-item.deleting{opacity:.68}.attachment-item>img{object-fit:cover;background:#edf0ee;border-radius:8px;flex:none;width:42px;height:42px}.attachment-file-icon{color:#53615c;background:#edf2f0;border-radius:8px;flex:none;place-items:center;width:42px;height:42px;display:grid;position:relative}.attachment-file-icon svg{width:20px;height:20px}.attachment-file-icon small{color:#4c5a55;letter-spacing:.03em;background:#fff;border-radius:4px;max-width:30px;padding:1px 3px;font-size:6px;font-weight:780;position:absolute;bottom:2px;right:2px;overflow:hidden}.attachment-copy{flex-direction:column;flex:1;min-width:0;display:flex}.attachment-copy strong,.attachment-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment-copy strong{color:#35413d;font-size:10px;font-weight:660}.attachment-copy small{color:#65706c;margin-top:4px;font-size:9px}.attachment-remove,.attachment-retry{color:#56625e;cursor:pointer;background:#eef1ef;border:0;border-radius:7px;place-items:center;width:25px;height:25px;display:grid;position:absolute;top:6px}.attachment-remove{right:6px}.attachment-retry{color:var(--danger);background:#f7eaea;right:34px}.attachment-remove:hover,.attachment-retry:hover{background:#dfe6e3}.attachment-remove:disabled,.attachment-retry:disabled{cursor:not-allowed;opacity:.45}.attachment-remove svg,.attachment-retry svg{width:13px;height:13px}.attachment-progress{background:#e4e9e7;height:3px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.attachment-progress>span{background:var(--brand);border-radius:999px;height:100%;transition:width .12s linear;display:block}.attachment-error{color:var(--danger);text-align:center;margin-top:0;margin-bottom:7px;font-size:11px}.composer textarea{resize:none;width:100%;min-height:39px;max-height:128px;color:var(--ink);background:0 0;border:0;outline:none;padding:10px 0 8px;font-size:13px;line-height:1.5;overflow-y:auto}.composer textarea::placeholder{color:#65706c}.composer textarea:disabled{cursor:not-allowed}.send-button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:12px;place-items:center;width:38px;height:38px;font-size:19px;font-weight:500;transition:background .15s,transform .15s;display:grid}.send-button:hover:not(:disabled){background:var(--brand-dark);transform:translateY(-1px)}.send-button:disabled{cursor:default;background:#d8dddb}.composer-footer{justify-content:center;align-items:center;gap:14px;min-height:18px;margin-top:6px;display:flex}.composer-footer.has-rate-limit{justify-content:space-between}.composer-hint,.rate-limit-remaining{color:#65706c;text-align:center;margin:0;font-size:10px}.rate-limit-remaining{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.rate-limit-remaining>span{background:#8e9a96;border-radius:999px;flex:none;width:5px;height:5px}.rate-limit-banner{color:#5d4a29;background:#fffaf0;border:1px solid #eadfc8;border-radius:13px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:8px;padding:10px 12px;display:grid}.rate-limit-icon{color:#8a641d;background:#f5ead4;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.rate-limit-icon svg{width:16px;height:16px}.rate-limit-banner strong{font-size:11px;font-weight:700;display:block}.rate-limit-banner p{color:#77613c;margin:2px 0 0;font-size:10px;line-height:1.45}.rate-limit-banner time{font-variant-numeric:tabular-nums;font-weight:700}.worker-warning{color:var(--warning);text-align:center;margin-top:0;margin-bottom:7px;font-size:10px}.active-job-bar{color:#54615d;justify-content:center;align-items:center;gap:8px;min-height:34px;margin-bottom:8px;font-size:10px;display:flex}.job-spinner{width:13px;height:13px;color:var(--brand);border-width:1.5px}.admin-overlay{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#111f1b6b;place-items:center;min-width:0;min-height:0;padding:18px;display:grid;position:fixed;inset:0;overflow:hidden}.admin-dialog{background:#fff;border:1px solid #dce3df;border-radius:18px;flex-direction:column;width:min(1040px,100%);height:min(780px,100dvh - 36px);min-height:0;display:flex;overflow:hidden;box-shadow:0 30px 90px #111f1b40}.admin-heading{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:flex-start;gap:20px;padding:19px 22px 17px;display:flex}.admin-heading .eyebrow{margin-bottom:3px}.admin-heading h2{letter-spacing:-.035em;margin:0;font-size:23px;font-weight:680}.admin-heading p:last-child{color:var(--muted);margin:4px 0 0;font-size:11px}.admin-heading>button{color:#56615d;cursor:pointer;background:#f0f3f1;border:0;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.admin-heading>button:hover{background:#e5ebe8}.admin-heading>button svg{width:17px;height:17px}.admin-feedback{border-bottom:1px solid;flex:none;margin:0;padding:8px 22px;font-size:11px}.admin-feedback.error{color:var(--danger);background:#fff7f7;border-color:#efd4d4}.admin-feedback.success{color:var(--success);background:#f3faf7;border-color:#cfe6dc}.one-time-password{color:#604b25;background:#fff9ec;border-bottom:1px solid #eadcbf;flex:none;justify-content:space-between;align-items:center;gap:14px;padding:10px 22px;display:flex}.one-time-password>div:first-child{flex-direction:column;gap:4px;min-width:0;display:flex}.one-time-password strong{font-size:10px}.one-time-password code{font-family:var(--font-geist-mono), monospace;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:all;user-select:all;font-size:12px;font-weight:650;overflow:hidden}.one-time-password>div:last-child{flex:none;gap:6px;display:flex}.one-time-password button,.password-tools button,.password-input-row button{color:#46534e;cursor:pointer;background:#fff;border:1px solid #d9dfdc;border-radius:8px;min-height:30px;padding:0 9px;font-size:9px;font-weight:650}.one-time-password button:hover:not(:disabled),.password-tools button:hover:not(:disabled),.password-input-row button:hover:not(:disabled){background:#f7faf9;border-color:#bfcfc9}.one-time-password button:disabled,.password-tools button:disabled,.password-input-row button:disabled{cursor:not-allowed;opacity:.5}.one-time-password button:last-child{place-items:center;width:30px;padding:0;display:grid}.one-time-password button:last-child svg{width:14px;height:14px}.admin-grid{flex:1;grid-template-columns:270px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.client-list-panel{border-right:1px solid var(--line);background:#f7f9f8;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.client-list-heading{flex:none;justify-content:space-between;align-items:center;gap:10px;padding:13px 13px 9px;display:flex}.client-list-heading strong{color:#63706b;font-size:10px;font-weight:650}.client-list-heading button{height:29px;color:var(--brand-dark);cursor:pointer;background:#fff;border:1px solid #cfdad6;border-radius:8px;padding:0 9px;font-size:9px;font-weight:680}.admin-client-list{scrollbar-width:thin;flex:1;min-height:0;padding:3px 8px 14px;overflow-y:auto}.admin-client-list>button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;grid-template-columns:34px minmax(0,1fr) 7px;align-items:center;gap:9px;width:100%;min-width:0;padding:8px;display:grid}.admin-client-list>button:hover:not(:disabled){background:#edf1ef}.admin-client-list>button.active{background:#e2ebe7}.admin-client-list>button:disabled{cursor:wait;opacity:.7}.admin-client-avatar{width:34px;height:34px;color:var(--brand-dark);background:#fff;border:1px solid #d3dfda;border-radius:9px;place-items:center;font-size:11px;font-weight:720;display:grid}.admin-client-list>button>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.admin-client-list strong,.admin-client-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-client-list strong{font-size:10px;font-weight:680}.admin-client-list small{color:#6b7672;margin-top:3px;font-size:9px}.client-active-dot{background:#c4cac7;border-radius:999px;width:7px;height:7px}.client-active-dot.active{background:#2a9c72}.admin-client-list>p{color:var(--muted);margin:20px 10px;font-size:10px;line-height:1.5}.client-editor{scrollbar-width:thin;min-width:0;min-height:0;padding:20px 24px 24px;overflow-y:auto}.client-editor-title{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:17px;display:flex}.client-editor-title .eyebrow{margin-bottom:3px}.client-editor-title h3{letter-spacing:-.03em;margin:0;font-size:18px;font-weight:680}.client-status-label{color:#727b78;background:#f0f1f0;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:680}.client-status-label.active{color:var(--success);background:#e8f5ef}.client-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.client-fields-grid>label,.client-fields-grid>.form-field,.password-reset-fields label{color:#48544f;flex-direction:column;gap:6px;min-width:0;font-size:10px;font-weight:650;display:flex}.client-fields-grid>.full-field{grid-column:1/-1}.client-fields-grid>.form-field>label{color:#48544f;font-size:10px;font-weight:650}.client-fields-grid input:not([type=checkbox]),.password-reset-fields input{width:100%;min-width:0;height:38px;color:var(--ink);background:#fff;border:1px solid #d9dfdc;border-radius:9px;outline:none;padding:0 10px;font-size:11px}.client-fields-grid input:focus,.password-reset-fields input:focus{border-color:#9ebeb5;box-shadow:0 0 0 3px #0f766e12}.client-fields-grid label>small,.client-fields-grid .form-field>small{color:#73807b;font-size:9px;font-weight:450;line-height:1.4}.password-input-row{grid-template-columns:minmax(0,1fr) auto auto;gap:6px;min-width:0;display:grid}.password-tools{align-items:center;gap:6px;display:flex}.client-fields-grid .client-active-toggle{cursor:pointer;background:#fafbfa;border:1px solid #e1e5e3;border-radius:10px;flex-direction:row;align-items:center;gap:10px;min-height:62px;padding:10px 12px;display:flex}.client-active-toggle input,.site-assignment input{width:16px;height:16px;accent-color:var(--brand);flex:none}.client-active-toggle>span{flex-direction:column;display:flex}.client-active-toggle strong{font-size:10px}.client-active-toggle small{color:#73807b;margin-top:3px;font-size:9px;font-weight:450}.site-assignment{border:0;min-width:0;margin:20px 0 0;padding:0}.site-assignment legend{color:#45514d;padding:0;font-size:11px;font-weight:700}.site-assignment>p{color:var(--muted);margin:4px 0 10px;font-size:9px}.site-assignment>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.site-assignment label{cursor:pointer;background:#fafbfa;border:1px solid #e1e5e3;border-radius:9px;align-items:center;gap:9px;min-width:0;padding:9px 10px;display:flex}.site-assignment label:has(input:checked){background:#f1f8f5;border-color:#bcd4cc}.site-assignment label>span{flex-direction:column;min-width:0;display:flex}.site-assignment label strong,.site-assignment label small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.site-assignment label strong{font-size:10px}.site-assignment label small{color:#73807b;margin-top:2px;font-size:8px}.no-admin-sites{color:var(--muted);margin:0;font-size:10px}.password-reset-panel{background:#fafbfa;border:1px solid #e4e6e5;border-radius:11px;margin-top:20px;padding:13px}.password-reset-panel>div:first-child>strong{font-size:11px}.password-reset-panel>div:first-child>p{color:var(--muted);margin:4px 0 10px;font-size:9px}.password-reset-panel>button,.password-reset-fields>div:last-child button,.client-editor-actions>button{color:#4d5955;cursor:pointer;background:#fff;border:1px solid #d7ddda;border-radius:8px;min-height:33px;padding:0 11px;font-size:9px;font-weight:660}.password-reset-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.password-reset-fields .reset-tools,.password-reset-fields>div:last-child{grid-column:1/-1}.password-reset-fields>div:last-child{justify-content:flex-end;gap:7px;display:flex}.password-reset-fields>div:last-child .confirm-reset{border-color:var(--brand);background:var(--brand);color:#fff}.client-editor-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:22px;padding-top:16px;display:flex}.client-editor-actions .save-client-button{border-color:var(--brand);background:var(--brand);color:#fff;justify-content:center;align-items:center;gap:7px;min-width:130px;display:inline-flex}.client-editor-actions button:disabled,.password-reset-panel button:disabled,.client-list-heading button:disabled{cursor:not-allowed;opacity:.55}.details-panel{z-index:25;border-left:1px solid var(--line);scrollbar-width:thin;background:#fafbfa;min-width:0;height:100%;padding:23px 20px;position:relative;overflow-y:auto}.details-heading{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:18px;display:flex}.details-heading .eyebrow{margin-bottom:4px}.details-heading h2{letter-spacing:-.035em;margin:0;font-size:19px;font-weight:650}.details-heading button{color:#6f7875;cursor:pointer;background:#eef0ef;border:0;border-radius:8px;width:30px;height:30px;font-size:20px;display:none}.site-live-card{background:#fff;border:1px solid #e0e5e2;border-radius:13px;padding:16px;box-shadow:0 2px 8px #20302c08}.site-live-top{justify-content:space-between;align-items:flex-start;margin-bottom:13px;display:flex}.large-site-avatar{border-radius:11px;width:44px;height:44px;font-size:19px}.live-badge{color:#277a5d;background:#ecf7f2;border-radius:999px;align-items:center;gap:5px;height:23px;padding:0 8px;font-size:9px;font-weight:650;display:inline-flex}.live-badge span{background:#2aa275;border-radius:999px;width:5px;height:5px}.site-live-card>strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;display:block;overflow:hidden}.site-live-card>a{color:var(--brand-dark);margin-top:7px;font-size:10px;font-weight:600;text-decoration:none;display:inline-block}.site-live-card>a:hover{text-decoration:underline}.details-section{padding:22px 2px 0}.details-section h3{color:#65706c;letter-spacing:.1em;text-transform:uppercase;margin:0 0 11px;font-size:10px;font-weight:750}.detail-list{margin:0}.detail-list>div{border-bottom:1px solid #edf0ee;justify-content:space-between;gap:15px;min-width:0;padding:7px 0;font-size:10px;display:flex}.detail-list dt{color:#65706c}.detail-list dd{color:#3b4643;text-align:right;text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:600;overflow:hidden}.connection-list{flex-direction:column;gap:4px;display:flex}.connection-list>div{border-radius:9px;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:9px;min-width:0;padding:7px;display:grid}.connection-list>div:hover{background:#f1f4f2}.connection-icon{color:#53605c;width:30px;height:30px;font-family:var(--font-geist-mono), monospace;background:#fff;border:1px solid #e0e5e2;border-radius:8px;place-items:center;font-size:10px;font-weight:720;display:grid}.connection-list>div>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.connection-list strong{font-size:10px;font-weight:650}.connection-list small{color:#65706c;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9px;overflow:hidden}.connection-state{color:#65706c;background:#eff1f0;border-radius:999px;place-items:center;width:18px;height:18px;font-size:9px;display:grid}.connection-state.ok{color:var(--success);background:#e6f4ee}.deployment-card{background:#f2f8f6;border:1px solid #dde7e3;border-radius:10px;grid-template-columns:30px minmax(0,1fr);gap:9px;padding:12px;display:grid}.shield-icon{color:#26765b;background:#d8eee7;border-radius:9px 9px 12px 12px;place-items:center;width:28px;height:28px;font-size:11px;font-weight:720;display:grid}.deployment-card strong{font-size:10px;font-weight:680;display:block}.deployment-card p{color:#65706c;margin:3px 0 0;font-size:9px;line-height:1.45}.repository-line{color:#65706c;text-overflow:ellipsis;white-space:nowrap;margin:8px 2px 0;font-size:9px;overflow:hidden}.worker-card{background:#fff;border:1px solid #e3e7e5;border-radius:11px;margin-top:21px;padding:13px}.worker-card>div{align-items:center;gap:8px;display:flex}.worker-card strong{font-size:10px}.worker-card p{color:#596661;margin:7px 0 3px 15px;font-size:10px}.worker-card small{color:#65706c;margin-left:15px;font-size:9px;display:block}.details-backdrop,.mobile-backdrop{display:none}.boot-screen{background:#f8faf9;flex-direction:column;justify-content:center;align-items:center;gap:20px;height:100dvh;min-height:100dvh;display:flex;overflow:hidden}.boot-dots{gap:5px;display:flex}.boot-dots span{background:#98aaa5;border-radius:999px;width:5px;height:5px;animation:1.1s ease-in-out infinite pulse}.boot-dots span:nth-child(2){animation-delay:.15s}.boot-dots span:nth-child(3){animation-delay:.3s}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=1120px){.portal-shell{grid-template-columns:250px minmax(0,1fr)}.details-panel{visibility:hidden;pointer-events:none;width:min(360px,100vw - 40px);transition:transform .22s,visibility 0s linear .22s;position:fixed;top:0;right:0;transform:translate(102%);box-shadow:-15px 0 45px #1326211a}.details-panel.is-open{visibility:visible;pointer-events:auto;transition-delay:0s;transform:translate(0)}.details-heading button,.details-button{place-items:center;display:grid}.details-button{border:1px solid var(--line);color:#65706c;cursor:pointer;background:#fff;border-radius:8px;height:30px;padding:0 10px;font-size:10px}.details-backdrop{z-index:24;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#15221f38;border:0;display:block;position:fixed;inset:0}.empty-details{display:none}}@media (width<=820px){.login-page{grid-template-columns:1fr}.login-intro{display:none}.login-panel{min-height:100dvh;padding:34px 24px}.mobile-login-brand{align-items:center;gap:10px;margin-bottom:23px;font-size:14px;font-weight:680;display:flex}.portal-shell{height:100dvh;min-height:0;display:block}.sidebar{visibility:hidden;pointer-events:none;width:min(290px,100vw - 48px);transition:transform .22s,visibility 0s linear .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%);box-shadow:15px 0 45px #1326211f}.sidebar.is-open{visibility:visible;pointer-events:auto;transition-delay:0s;transform:translate(0)}.mobile-backdrop{z-index:29;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#15221f47;border:0;display:block;position:fixed;inset:0}.mobile-close{border-radius:8px;width:30px;height:30px;margin-left:auto;font-size:20px;display:block}.chat-column{width:100%;height:100%}.chat-header{height:62px;padding:0 14px}.mobile-menu{border:1px solid var(--line);background:#fff;border-radius:9px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;width:34px;height:34px;display:flex}.mobile-menu span{background:#4e5955;width:14px;height:1px}.chat-title{margin-right:auto}.worker-label{display:none}.worker-pill{justify-content:center;width:29px;padding:0}.messages{width:min(100% - 28px,760px);padding-top:30px}.composer-zone{padding:7px 12px calc(10px + env(safe-area-inset-bottom))}.composer-hint{display:none}.composer-footer,.composer-footer.has-rate-limit{justify-content:center;margin-top:7px}.rate-limit-banner{grid-template-columns:30px minmax(0,1fr);padding:9px 10px}.rate-limit-icon{width:29px;height:29px}.composer{border-radius:16px}.composer-row{grid-template-columns:38px minmax(0,1fr) 38px;gap:5px}.attachment-item{width:min(205px,100vw - 68px)}.attachment-remove,.attachment-retry{width:28px;height:28px}.attachment-retry{right:37px}.attachment-item.error{padding-right:68px}.welcome-state{width:min(100% - 34px,620px);padding-bottom:30px}.prompt-examples{max-width:390px}.admin-overlay{padding:0}.admin-dialog{border:0;border-radius:0;width:100%;height:100dvh}.admin-heading{padding:14px 16px 12px}.admin-heading h2{font-size:20px}.admin-grid{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.client-list-panel{border-right:0;border-bottom:1px solid var(--line);max-height:170px}.client-list-heading{padding:9px 12px 6px}.admin-client-list{padding-bottom:8px}.client-editor{padding:17px 16px calc(22px + env(safe-area-inset-bottom))}.one-time-password{align-items:flex-start;padding:9px 16px}}@media (width<=650px){.client-fields-grid,.site-assignment>div,.password-reset-fields{grid-template-columns:1fr}.password-reset-fields .reset-tools,.password-reset-fields>div:last-child{grid-column:1}.one-time-password{flex-direction:column;gap:8px}.one-time-password>div:last-child{width:100%}.one-time-password>div:last-child button:first-child{flex:1}}@media (width<=480px){.login-panel{align-items:start;padding-top:55px}.login-card h2{font-size:30px}.chat-title span{max-width:150px}.welcome-state h1{font-size:29px}.welcome-description{font-size:13px}.prompt-examples button{width:100%}.admin-button{padding:0 8px}.admin-button svg{display:none}.password-input-row{grid-template-columns:1fr 1fr}.password-input-row input{grid-column:1/-1}.password-input-row button{width:100%}.password-tools.reset-tools{flex-direction:column;align-items:stretch}.message{grid-template-columns:29px minmax(0,1fr);gap:10px}.message-avatar{width:28px;height:28px}.message-content>p{font-size:12px}.job-image-attachment{width:84px}.job-image-attachment img{height:60px}.job-file-attachment{min-width:min(180px,100%);max-width:100%}.job-status{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.active-job-bar{text-overflow:ellipsis;white-space:nowrap;justify-content:flex-start;overflow:hidden}}
