@charset "UTF-8";:root{--navy-900: #1B2A44;--navy-800: #2A3F5F;--navy-700: #3A5379;--navy-600: #5874A0;--navy-500: #7E97BC;--teal-500: #6FB7C9;--teal-400: #93CDDB;--teal-100: #E5F2F6;--teal-50: #F4FAFC;--sky-700: #4A6E9C;--sky-600: #6B8AB5;--sky-500: #8DA8CC;--sky-300: #BFD0E5;--sky-200: #DCE6F2;--sky-100: #ECF2F9;--sky-50: #F6F9FC;--bg: #EEF2F8;--bg-2: #E5EBF4;--surface: #FFFFFF;--surface-2: #F5F7FB;--surface-tint: #F0F4FA;--line: #E1E7F0;--line-2: #D2DAE6;--line-3: #BFCAD9;--text: #0B1B2F;--text-2: #41506A;--text-3: #6A7791;--text-4: #94A0B5;--blue-soft: #E8EFF9;--blue-soft-2: #DCE6F4;--amber-500: #D9A107;--amber-100: #FCF3D6;--amber-50: #FEFAE9;--emerald-500: #10876B;--emerald-100: #D5F0E5;--emerald-50: #ECF8F2;--rose-500: #C2384D;--rose-100: #FCDDE2;--rose-50: #FDEEF1;--violet-500:#7E5BD9;--violet-100:#E8E0FA;--slate-500: #4A5468;--slate-100: #EAECEF;--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--shadow-xs: 0 1px 1px rgba(15,33,56,.04), 0 1px 2px rgba(15,33,56,.04);--shadow-sm: 0 1px 2px rgba(15,33,56,.04), 0 2px 6px rgba(15,33,56,.05);--shadow-md: 0 2px 4px rgba(15,33,56,.05), 0 8px 24px rgba(15,33,56,.08);--shadow-lg: 0 8px 24px rgba(15,33,56,.1), 0 24px 60px rgba(15,33,56,.18);--font: "Geist", "Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: "Geist Mono", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,app-root{height:100%}body{font-family:var(--font);font-feature-settings:"ss01","cv11";background:radial-gradient(1200px 600px at 100% -10%,rgba(38,183,214,.06),transparent 60%),radial-gradient(900px 500px at -10% 100%,rgba(30,63,102,.06),transparent 60%),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:14px;line-height:1.45;overflow:hidden}app-root{display:block}button{font-family:inherit}input,textarea,select{font-family:inherit;color:inherit}.scroll-area::-webkit-scrollbar{width:10px;height:10px}.scroll-area::-webkit-scrollbar-thumb{background:#0f21381a;border-radius:999px;border:2px solid var(--bg)}.scroll-area::-webkit-scrollbar-thumb:hover{background:#0f213833}.scroll-area::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#0f21381f;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#0f213838}app-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 14px;border-radius:7px;border:1px solid var(--line-2);background:var(--surface);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .04s ease,color .12s;white-space:nowrap}.btn:hover{background:var(--surface-2);border-color:var(--line-3)}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.sm{height:28px;padding:0 10px;font-size:12.5px;border-radius:6px}.btn.lg{height:40px;padding:0 18px;font-size:14px}.btn.icon{width:34px;padding:0}.btn.icon.sm{width:28px}.btn.primary{background:var(--sky-700);border-color:var(--sky-700);color:#fff;box-shadow:0 1px #ffffff1f inset,0 1px 2px #4a6e9c2e}.btn.primary:hover:not(:disabled){background:#3d6190;border-color:#3d6190}.btn.accent{background:var(--teal-500);border-color:var(--teal-500);color:var(--navy-900);font-weight:600}.btn.accent:hover:not(:disabled){background:var(--teal-400);border-color:var(--teal-400)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn.ghost:hover:not(:disabled){background:var(--bg);color:var(--text)}.btn.danger{color:var(--rose-500);border-color:var(--line-2);background:var(--surface)}.btn.danger:hover:not(:disabled){background:var(--rose-50);border-color:var(--rose-100)}.btn.success{background:var(--emerald-500);border-color:var(--emerald-500);color:#fff}.btn.success:hover:not(:disabled){filter:brightness(1.05)}.kbd{font-family:var(--mono);font-size:11px;padding:1px 5px;border:1px solid var(--line-2);border-bottom-width:2px;border-radius:4px;color:var(--text-3);background:var(--surface)}.input,.textarea,.select{width:100%;height:36px;padding:0 12px;border-radius:7px;border:1px solid var(--line-2);background:var(--surface);font-size:13.5px;color:var(--text);outline:none;transition:border-color .12s ease,box-shadow .12s ease}.textarea{height:auto;padding:9px 12px;min-height:80px;resize:vertical;line-height:1.5}.input:hover,.select:hover,.textarea:hover{border-color:var(--line-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--teal-500);box-shadow:0 0 0 3px #26b7d62e}.input::placeholder,.textarea::placeholder{color:var(--text-4)}.input-group{position:relative;display:flex;align-items:center}.input-group .ico-l{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-4);pointer-events:none;width:16px;height:16px}.input-group .input{padding-left:34px}.input-group.with-kbd .input{padding-right:44px}.input.search{height:32px;min-width:240px}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid transparent;letter-spacing:.01em;white-space:nowrap;height:22px}.pill .dot{width:6px;height:6px;border-radius:999px;background:currentColor}.pill-quote{color:#8a6500;background:var(--amber-50);border-color:var(--amber-100)}.pill-project{color:var(--emerald-500);background:var(--emerald-50);border-color:var(--emerald-100)}.pill-archived{color:var(--text-3);background:var(--bg);border-color:var(--line-2)}.pill-draft{color:var(--slate-500);background:var(--slate-100);border-color:var(--line-2)}.pill-sent,.pill-open{color:var(--navy-700);background:#e5eef8;border-color:#cfe0f2}.pill-review{color:#6233b8;background:var(--violet-100);border-color:#dcd0f5}.pill-won{color:var(--emerald-500);background:var(--emerald-50);border-color:var(--emerald-100)}.pill-lost{color:var(--rose-500);background:var(--rose-50);border-color:var(--rose-100)}.pill-id{font-family:var(--mono);font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:5px;display:inline-flex;align-items:center;gap:6px;height:22px;letter-spacing:0}.pill-id .pfx{font-weight:700;font-size:10.5px;padding:1px 5px;border-radius:3px;line-height:1}.pill-id.q{background:var(--amber-50);color:#6f4e00;border:1px solid var(--amber-100)}.pill-id.q .pfx{background:var(--amber-500);color:#fff}.pill-id.p{background:var(--emerald-50);color:#075f4a;border:1px solid var(--emerald-100)}.pill-id.p .pfx{background:var(--emerald-500);color:#fff}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.avatar{width:30px;height:30px;border-radius:999px;background:linear-gradient(135deg,var(--navy-700),var(--teal-500));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex:none;letter-spacing:.02em}.avatar.sm{width:22px;height:22px;font-size:10px}.avatar.lg{width:38px;height:38px;font-size:13px}.proj-icon{width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,var(--sky-100),var(--sky-200));color:var(--sky-700);font-weight:700;font-size:11px;display:inline-flex;align-items:center;justify-content:center;flex:none;border:1px solid var(--sky-200)}.proj-icon.t{background:linear-gradient(135deg,var(--teal-100),#DCEEF3);color:#3f8493;border-color:#cfe6ec}.tabs{display:inline-flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:3px;gap:2px}.tab{height:28px;padding:0 12px;border-radius:6px;background:transparent;border:none;cursor:pointer;color:var(--text-2);font-weight:500;font-size:13px;display:inline-flex;align-items:center;gap:6px}.tab:hover{color:var(--text)}.tab.active{background:var(--sky-100);color:var(--sky-700);box-shadow:inset 0 0 0 1px var(--sky-200)}.tab .ct{font-size:11px;font-weight:600;background:var(--bg);color:var(--text-3);padding:1px 6px;border-radius:999px}.tab.active .ct{background:var(--surface)}.filter-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:7px;border:1px dashed var(--line-3);background:#ffffff80;color:var(--text-2);font-size:12.5px;font-weight:500;cursor:pointer}.filter-chip:hover{border-color:var(--navy-600);color:var(--navy-800);background:var(--blue-soft)}.filter-chip.on{border-style:solid;border-color:var(--navy-700);background:var(--surface)}.filter-chip .v{color:var(--text);font-weight:600}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--navy-900);color:#fff;font-size:11.5px;font-weight:500;padding:4px 8px;border-radius:5px;white-space:nowrap;pointer-events:none;z-index:200}.toast-wrap{position:fixed;bottom:24px;right:24px;z-index:300;display:flex;flex-direction:column;gap:8px}.toast{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--navy-900);color:#fff;border-radius:8px;box-shadow:var(--shadow-md);font-size:13px;font-weight:500;min-width:240px;animation:tin .2s ease}.toast .ti{color:var(--teal-400)}@keyframes tin{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.modal-backdrop{position:fixed;inset:0;background:#0f21384d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:fadeIn .14s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:92vh;display:flex;flex-direction:column;overflow:hidden;animation:pop .16s cubic-bezier(.16,1,.3,1)}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.modal-head{padding:18px 22px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-head h2{font-size:16px;font-weight:600;margin:0;letter-spacing:-.005em}.modal-head .sub{font-size:12.5px;color:var(--text-3);margin-top:3px}.modal-body{padding:18px 22px;overflow:auto;display:flex;flex-direction:column;gap:14px}.modal-foot{padding:14px 22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:8px;background:var(--surface-2)}.modal-x{width:28px;height:28px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-3);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.modal-x:hover{background:var(--bg);border-color:var(--line);color:var(--text)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label,.label{font-size:12.5px;font-weight:500;color:var(--text-2)}.field .hint{font-size:11.5px;color:var(--text-4)}.field .err{font-size:11.5px;color:var(--rose-500);display:flex;align-items:center;gap:4px}.input.err,.textarea.err,.select.err{border-color:var(--rose-500);box-shadow:0 0 0 3px #c2384d1f}.required-mark{color:var(--rose-500);font-weight:500;margin-left:2px}.optional-mark{color:var(--text-4);font-weight:400;margin-left:4px}.modal-section{display:flex;flex-direction:column;gap:14px}.modal-section+.modal-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.modal-section-h{font-size:11.5px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:baseline;gap:6px}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row-3{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:12px}.lang-seg{display:flex;gap:6px}.lang-seg button{flex:1;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:7px;border:1px solid var(--line-2);background:var(--surface);color:var(--text-2);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.lang-seg button:hover{background:var(--surface-2)}.lang-seg button[data-on=true]{background:var(--sky-100);border-color:var(--sky-300);color:var(--sky-700);font-weight:600}.modal-foot .right{display:flex;gap:8px;margin-left:auto}.modal-foot .hint{color:var(--text-3);font-size:12px}.empty{padding:60px 20px;text-align:center;color:var(--text-3)}.empty .ico{width:48px;height:48px;margin:0 auto 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--text-4)}.empty .t{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}.empty .s{font-size:12.5px}.due-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2)}.due-pill.urgent{color:var(--rose-500)}.due-pill.soon{color:#8a6500}.activity-list{padding:12px 14px;display:flex;flex-direction:column;gap:12px}.activity-row{display:flex;gap:10px;align-items:flex-start}.activity-meta{flex:1;min-width:0;font-size:12.5px}.activity-line strong{font-weight:600}.activity-when{color:var(--text-4);font-size:11.5px;margin-top:2px}@media print{@page{size:letter;margin:12mm}html,body{overflow:visible!important;height:auto!important;background:#fff!important}body *{visibility:hidden!important}.qd-print-area,.qd-print-area *{visibility:visible!important}.qd-modal-backdrop,.modal-backdrop{position:absolute!important;inset:auto!important;background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding:0!important;display:block!important}.qd-modal,.qd-modal-preview,.qd-preview-body,.modal{background:#fff!important;box-shadow:none!important;padding:0!important;margin:0!important;max-width:none!important;max-height:none!important;width:100%!important;overflow:visible!important;border:none!important;border-radius:0!important}.qd-print-area{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important}.qd-print-only-hide{display:none!important}}.bidder-picker{width:100%;max-width:600px;display:flex;flex-direction:column;max-height:88vh}.bidder-picker .modal-head{padding-bottom:10px}.bidder-picker-search{padding:0 22px 12px;border-bottom:1px solid var(--line)}.bidder-picker-search .input-group{position:relative}.bidder-picker-search .input{padding-left:36px;padding-right:36px;height:40px}.bidder-picker-search .ico-l{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.bidder-picker-search .search-end{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--teal-500);display:inline-flex}.bidder-picker-body{flex:1;overflow-y:auto;padding:14px 22px 8px;display:flex;flex-direction:column;gap:8px;min-height:0}.bidder-picker-count{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:2px 0 6px}.bidder-card{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;padding:12px 12px 12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);transition:border-color .12s,box-shadow .12s,background .12s}.bidder-card:hover{border-color:var(--line-2);box-shadow:var(--shadow-xs)}.bp-avatar{width:36px;height:36px;border-radius:8px;background:var(--slate);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:.04em}.bp-meta{min-width:0}.bp-row1{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:2px}.bp-name{font-size:13.5px;font-weight:600;color:var(--text)}.bp-pill{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:999px;line-height:1.4}.bp-pref{background:var(--amber-50);color:#6f4e00;border:1px solid var(--amber-100)}.bp-lang{background:var(--sky-50);color:var(--sky-700);border:1px solid var(--sky-100);font-family:var(--mono);letter-spacing:.02em;padding-left:3px}.bp-flag{font-size:9px;font-weight:700;background:var(--sky-200, #BAE0FB);color:var(--sky-700);padding:1px 4px;border-radius:3px;margin-right:4px}.bp-row2{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp-row3{font-size:11.5px;color:var(--text-4);margin-top:2px}.bp-add{background:var(--sky-50);color:var(--sky-700);border:1px solid var(--sky-100);font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.bp-add:hover:not(:disabled){background:var(--sky-100);border-color:var(--sky-300)}.bp-add.added{background:var(--emerald-50);color:#075f4a;border-color:var(--emerald-100);cursor:default}.bidder-picker-empty{text-align:center;padding:32px 16px;color:var(--text-3);display:flex;flex-direction:column;align-items:center;gap:6px}.bidder-picker-empty .t{font-size:13px;font-weight:600;color:var(--text-2)}.bidder-picker-empty .s{font-size:12px}.bidder-picker-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.bp-cant{background:none;border:none;cursor:pointer;font-size:12.5px;color:var(--text-3);padding:0}.bp-cant u{color:var(--teal-500);text-decoration:underline}.bp-cant:hover{color:var(--text-2)}.bp-foot-r{display:flex;gap:8px}.bp-back{background:none;border:none;cursor:pointer;color:var(--text-3);font-size:12.5px;font-weight:500;display:inline-flex;align-items:center;gap:4px;padding:0;margin:0 0 10px}.bp-back:hover{color:var(--text)}.send-latest-modal{width:100%;max-width:640px;display:flex;flex-direction:column;max-height:92vh}.send-latest-modal .modal-body.sl-body{display:flex;flex-direction:column;gap:18px;padding:18px 22px;overflow-y:auto}.sl-sub{display:flex;align-items:center;gap:10px;margin-top:4px}.sl-section{display:flex;flex-direction:column;gap:8px}.sl-section-head{display:flex;align-items:center;justify-content:space-between}.sl-section-label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3)}.sl-link{background:none;border:none;cursor:pointer;color:var(--teal-500);font-size:12.5px;font-weight:500;padding:0}.sl-link:hover{text-decoration:underline}.sl-recipients{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--bg, #F6F8FB);border:1px solid var(--line);border-radius:10px}.sl-recipient{display:grid;grid-template-columns:18px 32px 1fr auto;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:var(--surface);border:1px solid transparent;cursor:pointer;transition:border-color .12s,background .12s}.sl-recipient:hover{border-color:var(--line-2)}.sl-recipient.on{background:var(--sky-50);border-color:var(--sky-100)}.sl-check{width:16px;height:16px;accent-color:var(--sky-600, #2563EB);cursor:pointer}.sl-avatar{width:32px;height:32px;border-radius:8px;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:.04em}.sl-rcp-meta{min-width:0}.sl-rcp-name{font-size:13px;font-weight:600;color:var(--text)}.sl-rcp-line{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sl-lang-toggle{display:inline-flex;background:var(--bg, #F6F8FB);border:1px solid var(--line);border-radius:8px;padding:2px;gap:2px}.sl-lang-btn{display:inline-flex;align-items:center;gap:4px;background:transparent;border:none;cursor:pointer;padding:4px 10px;border-radius:6px;font-size:11.5px;font-weight:600;color:var(--text-3);font-family:var(--mono);letter-spacing:.02em;transition:background .12s,color .12s}.sl-lang-btn:hover{color:var(--text-2)}.sl-lang-btn.active{background:var(--surface);color:var(--sky-700);box-shadow:var(--shadow-xs)}.sl-hint{font-weight:400;color:var(--text-3);font-size:11.5px;margin-left:4px}.sl-textarea{font-family:var(--font);line-height:1.55;resize:vertical;min-height:180px}.sl-attachment{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;padding:10px 14px;background:var(--bg, #F6F8FB);border:1px solid var(--line);border-radius:10px}.sl-attach-ico{width:28px;height:28px;border-radius:6px;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--text-2)}.sl-attach-name{font-size:13px;font-weight:600;color:var(--text);font-family:var(--mono)}.sl-attach-sub{font-size:11.5px;color:var(--text-3);margin-top:1px}.sl-attach-badge{font-size:10.5px;font-weight:600;color:var(--text-3);font-style:italic}.sl-foot{justify-content:space-between!important;align-items:center}.sl-foot-l{font-size:12px;color:var(--text-3)}.sl-foot-r{display:flex;gap:8px}
