:root{--pine:#0F3834;--lime:#CBFF99;--sky:#BAD1DC;--green-tint:#EAF4E2;--bg:#F8FAF7;--panel:#F4F7F2;--border:#E7ECE6;--hair:#EEF2EC;--muted:#5B6B64;--faint:#9AA49D;--text:#1B2B26}*{box-sizing:border-box}body,html{margin:0;height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px}button,input,select,textarea{font-family:inherit}.app{display:flex;height:100vh;overflow:hidden}.scrim{position:fixed;inset:0;background:rgba(15,56,52,.32);z-index:55}.sidebar{width:248px;flex-shrink:0;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:14px 12px;gap:6px}.brand{gap:10px;padding:6px 8px 10px}.brand,.monogram{display:flex;align-items:center}.monogram{width:34px;height:34px;border-radius:9px;background:var(--pine);color:var(--lime);justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.monogram.lg{width:54px;height:54px;border-radius:15px;font-size:19px}.brand-text strong{display:block;font-size:15px;color:var(--pine);line-height:1.1}.brand-text span{font-size:12px;color:var(--muted)}.side-search input{width:100%;padding:8px 11px;font-size:13.5px;border-radius:9px;background:var(--panel);border:1px solid transparent;outline:none;color:var(--text)}.side-search input:focus{border-color:var(--border);background:#fff}.nav{display:flex;flex-direction:column;gap:2px;margin-top:6px}.nav-item{text-align:left;border:none;background:none;padding:9px 12px;border-radius:9px;font-size:14px;color:#38453e;cursor:pointer;font-weight:500}.nav-item:hover{background:var(--panel)}.nav-item.active{background:var(--lime);color:var(--pine);font-weight:600}.side-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);padding:14px 12px 6px;font-weight:600}.segments{display:flex;flex-direction:column;gap:1px;overflow-y:auto}.seg-item{display:flex;justify-content:space-between;align-items:center;border:none;background:none;padding:7px 12px;border-radius:8px;font-size:13.5px;color:#46524b;cursor:pointer;font-weight:500}.seg-item:hover{background:var(--panel)}.seg-item.active{background:var(--green-tint);color:var(--pine);font-weight:600}.seg-count{font-size:12px;color:var(--faint);font-weight:600}.side-foot{margin-top:auto;padding-top:10px;border-top:1px solid var(--hair);display:flex;align-items:center;justify-content:space-between}.who{gap:8px;font-size:13px;font-weight:500}.who,.who-avatar{display:flex;align-items:center;color:var(--pine)}.who-avatar{width:26px;height:26px;border-radius:999px;background:var(--green-tint);justify-content:center;font-weight:600;font-size:12px}.logout{font-size:12.5px;color:var(--faint);text-decoration:none}.logout:hover{color:var(--pine);text-decoration:underline}.main{flex:1 1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.topbar{height:56px;flex-shrink:0;display:flex;gap:12px;padding:0 20px;border-bottom:1px solid var(--border)}.hamburger,.topbar{align-items:center;background:#fff}.hamburger{display:none;flex-direction:column;gap:4px;width:36px;height:36px;border:1px solid var(--border);border-radius:9px;justify-content:center;cursor:pointer}.hamburger span{width:16px;height:2px;background:var(--pine);border-radius:2px}.topbar-title{display:flex;gap:9px;align-items:baseline;flex:1 1}.topbar-title h2{font-size:16px;margin:0;font-weight:600;color:var(--pine)}.count{font-size:12.5px;color:var(--muted);font-weight:600;background:var(--panel);padding:1px 9px;border-radius:999px}.topbar-tools{display:flex;gap:10px;align-items:center}.search{padding:8px 12px;border-radius:9px;border:1px solid var(--border);font-size:13.5px;width:210px;background:#fff;outline:none;color:var(--text)}.search:focus{border-color:var(--sky)}.sort{display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--muted)}.sort select{border:1px solid var(--border);border-radius:8px;padding:6px 8px;font-size:13px;background:#fff;color:var(--pine);cursor:pointer}.content{flex:1 1;display:flex;min-height:0;overflow:hidden}.listpane{flex:1 1;min-width:0;overflow-y:auto}.rows{list-style:none;margin:0;padding:0}.row{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--hair);cursor:pointer;border-left:2px solid transparent}.row:hover{background:#fff}.row.sel{background:var(--green-tint)}.row.cursor{border-left-color:var(--lime)}.avatar{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;flex-shrink:0}.avatar.sm{width:26px;height:26px;border-radius:7px;font-size:11px}.avatar.lg{width:48px;height:48px;border-radius:13px;font-size:17px}.row-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.row-org{font-weight:600;font-size:14.5px;color:var(--pine)}.row-org,.row-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-sub{font-size:12.5px;color:var(--muted)}.row-tags{display:flex;gap:10px;align-items:center;flex-shrink:0}.tag{font-size:11.5px;padding:3px 9px;border-radius:999px;background:var(--panel);color:#45524b;font-weight:500}.chan,.tag{white-space:nowrap}.chan{font-size:12px;color:var(--muted);display:inline-flex;gap:6px;align-items:center}.chan-glyph{font-size:9.5px;font-weight:700;background:var(--pine);color:#fff;border-radius:5px;padding:2px 5px;letter-spacing:.02em}.row-score{width:30px;text-align:right;font-size:13px;font-weight:600;color:#6b7a72;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.status{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;flex-shrink:0;min-width:66px;text-align:center}.st-new{background:var(--panel);color:var(--muted)}.st-drafted{background:#E3EDF2;color:#2c4a57}.st-sent{background:#E2F1D7;color:#3a5a23}.st-replied{background:var(--lime);color:#234d10}.st-booked{background:#D2EEBE;color:#1f5e16}.st-declined{background:#F0F0EE;color:#8a8a86}.empty{padding:60px 24px;text-align:center;color:var(--muted)}.empty p{margin:0 0 4px;font-weight:600;color:var(--pine)}.empty span{font-size:13px;color:var(--faint)}.kanban{display:flex;gap:14px;padding:18px 20px;overflow-x:auto;height:100%;align-items:flex-start}.kcol{width:280px;flex-shrink:0;background:var(--panel);border-radius:12px;padding:8px;display:flex;flex-direction:column;max-height:100%}.kcol-head{display:flex;justify-content:space-between;align-items:center;padding:8px 8px 10px;font-weight:600;font-size:13px;color:var(--pine)}.kcount{color:var(--faint);font-weight:600}.kcol-body{gap:8px;overflow-y:auto}.kcard,.kcol-body{display:flex;flex-direction:column}.kcard{text-align:left;background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 12px;cursor:pointer;gap:7px}.kcard:hover{box-shadow:0 2px 8px rgba(16,40,30,.07)}.kcard.sel{border-color:var(--lime);box-shadow:0 0 0 1px var(--lime)}.kcard-top{display:flex;align-items:center;gap:8px}.kcard-org{font-weight:600;font-size:13.5px;color:var(--pine);flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kcard-score{font-size:12px;color:var(--muted);font-weight:600}.kcard-meta{display:flex;gap:6px}.kcard-route{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kempty{color:#aeb6b0;font-size:12.5px;padding:10px;text-align:center}.detail{width:clamp(420px,42vw,564px);border-left:1px solid var(--border);background:#fff;flex-direction:column;overflow:hidden}.detail,.detail-bar{flex-shrink:0;display:flex}.detail-bar{align-items:center;justify-content:space-between;padding:11px 18px;border-bottom:1px solid var(--border)}.detail-close{border:none;background:none;cursor:pointer;font-size:14px;color:var(--pine);font-weight:500;display:inline-flex;gap:6px;align-items:center;padding:6px 8px;border-radius:8px}.detail-close:hover{background:var(--panel)}.arrow{font-size:16px}.save-ind{font-size:12px;color:var(--faint)}.save-ind.saved{color:#3a5a23}.detail-scroll{padding:18px 22px 48px;overflow-y:auto;flex:1 1;display:flex;flex-direction:column;gap:16px}.detail-head{display:flex;gap:14px;align-items:flex-start}.detail-head h1{font-size:21px;margin:0;font-weight:700;line-height:1.2;color:var(--pine)}.detail-type{margin:3px 0 0;color:var(--muted);font-size:13px}.detail-chips{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}.detail-chips .chan{background:#E8EFF2;color:#2c4a57;padding:3px 9px;font-weight:500}.detail-chips .chan,.score-chip{border-radius:999px;font-size:11.5px}.score-chip{background:var(--pine);color:#fff;padding:3px 10px;font-weight:600}.why{background:var(--green-tint);border-radius:10px;padding:12px 14px;font-size:13.5px;line-height:1.5;color:#28453e}.why-k{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:#5a7a4a;font-weight:700;margin-bottom:4px}.context{font-size:13px;color:var(--muted);line-height:1.55;display:flex;flex-direction:column;gap:6px}.context p{margin:0}.context-offer span{font-weight:600;color:var(--pine);margin-right:4px}.draft-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:4px;box-shadow:0 1px 2px rgba(16,40,30,.04),0 10px 28px rgba(16,40,30,.05);display:flex;flex-direction:column}.draft-subject{border:none;padding:12px 12px 9px;font-size:15px;font-weight:600;border-bottom:1px solid var(--hair);color:var(--pine)}.draft-body,.draft-subject{outline:none;background:transparent}.draft-body{border:none;resize:vertical;padding:13px 12px;font-size:14.5px;line-height:1.65;color:#243029;min-height:200px}.warns{display:flex;flex-direction:column;gap:6px}.warn{font-size:12.5px;color:#7a5a1a;background:#FBF3DD;border-radius:8px;padding:8px 10px}.primary-row{display:flex;align-items:center;gap:12px}.btn-primary{background:var(--lime);color:var(--pine);border:none;border-radius:10px;padding:12px 18px;font-size:14.5px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px rgba(16,40,30,.08)}.btn-primary:hover{filter:brightness(.97)}.btn-primary:disabled{opacity:.45;cursor:default;filter:none}.btn-primary.wide{width:100%;padding:13px}.copied{font-size:12.5px;color:#3a5a23;font-weight:500}.link-btn{background:none;border:none;color:var(--muted);text-decoration:underline;cursor:pointer;font-size:13px}.sub-actions{display:flex;gap:10px}.btn-ghost{background:#fff;border:1px solid var(--border);border-radius:9px;padding:9px 14px;font-size:13.5px;color:var(--pine);cursor:pointer;font-weight:500}.btn-ghost:hover{background:var(--panel)}.btn-ghost:disabled{opacity:.55;cursor:default}.status-control{display:inline-flex;background:var(--panel);border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap;align-self:flex-start}.sc{border:none;background:none;padding:7px 12px;border-radius:8px;font-size:12.5px;color:var(--muted);cursor:pointer;font-weight:500}.sc.on{background:#fff;color:var(--pine);box-shadow:0 1px 2px rgba(16,40,30,.08);font-weight:600}.contacts{display:flex;flex-wrap:wrap;gap:14px;padding-top:12px;border-top:1px solid var(--hair)}.contacts a{font-size:12.5px;color:#2f6b57;text-decoration:none}.contacts a:hover{text-decoration:underline}.route{font-size:12px;color:var(--faint);width:100%}.login-wrap{min-height:100vh;justify-content:center;background:var(--bg);padding:20px}.login-card,.login-wrap{display:flex;align-items:center}.login-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:36px 32px;width:100%;max-width:360px;flex-direction:column;gap:10px;box-shadow:0 12px 44px rgba(16,40,30,.08);text-align:center}.login-card h1{font-size:22px;margin:8px 0 0;color:var(--pine)}.login-card p{color:var(--muted);font-size:13.5px;margin:0 0 10px}.login-card input{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:10px;font-size:14.5px;outline:none;color:var(--text);background:#fff}.login-card input:focus{border-color:var(--lime);box-shadow:0 0 0 3px rgba(203,255,153,.45)}.login-err{font-size:12.5px;color:#a23b3b}@media (min-width:881px){.scrim{display:none}}@media (max-width:880px){.sidebar{position:fixed;top:0;left:0;bottom:0;width:272px;transform:translateX(-100%);transition:transform .22s ease;z-index:60;box-shadow:0 0 50px rgba(0,0,0,.25)}.sidebar.open{transform:translateX(0)}.hamburger{display:flex}.search{width:130px}.detail{position:fixed;inset:0;width:100%;z-index:70;border-left:none}}@media (max-width:540px){.chan,.row-sub{display:none}.topbar{padding:0 14px}.sort{display:none}.search{width:120px}}