:root{--orange:#F97316;--orange-deep:#C2410C;--navy:#1E293B;--slate:#475569;--muted:#64748B;--faint:#94A3B8;--border:#E2E8F0;--border2:#CBD5E1;--bg:#F8FAFC;--white:#fff;--green:#059669;--red:#DC2626;--amber:#D97706}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--slate);font-size:14px;line-height:1.5}button{cursor:pointer;border:none;background:none;color:inherit}button,input,select,textarea{font-family:inherit;font-size:inherit}input,select,textarea{color:var(--navy)}a{color:var(--orange-deep);text-decoration:none}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:240px;flex:0 0 240px;background:var(--navy);color:#E2E8F0;display:flex;flex-direction:column;overflow-y:auto}.brand{padding:18px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:9px}.brand .mark{width:26px;height:26px;border-radius:7px;background:var(--orange);display:grid;place-items:center;font-size:13px}.brand .mark,.brand .name{color:#fff;font-weight:700}.brand .name{font-size:15px}.cohortpick{padding:14px;border-bottom:1px solid rgba(255,255,255,.1)}.cohortpick select{width:100%;background:#0F172A;color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:7px;padding:8px;font-size:13px}.cohortmeta{font-size:11.5px;color:#94A3B8;margin-top:7px}.nav{padding:10px;flex:1 1}.navgroup{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:#64748B;padding:12px 10px 6px}.navitem{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border-radius:7px;color:#CBD5E1;font-size:13.5px;margin-bottom:1px}.navitem:hover{background:rgba(255,255,255,.07);color:#fff}.navitem.on{background:#334155;color:#fff;font-weight:700;box-shadow:inset 3px 0 0 var(--orange)}.navitem .cnt{margin-left:auto;font-size:11px;background:rgba(255,255,255,.14);padding:1px 7px;border-radius:9px}.whoami{padding:12px 14px;border-top:1px solid rgba(255,255,255,.1);font-size:11.5px;color:#94A3B8}.whoami b{color:#E2E8F0;display:block;font-size:12.5px}.main{flex:1 1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar{background:#fff;border-bottom:1px solid var(--border);padding:14px 24px;display:flex;align-items:center;gap:14px}.topbar h1{font-size:19px;color:var(--navy)}.content{flex:1 1;overflow:auto;padding:20px 24px 60px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:7px;font-size:13px;border:1px solid var(--border2);background:#fff;color:var(--slate);font-weight:700;white-space:nowrap}.btn:hover{background:#F1F5F9}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.primary:hover{background:#0F172A}.btn.ok{color:var(--green);border-color:#A7F3D0;background:#ECFDF5}.btn.no{color:var(--red);border-color:#FECACA;background:#FEF2F2}.btn.sm{padding:5px 10px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.card{background:#fff;border:1px solid var(--border);border-radius:10px}.card-b{padding:16px}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700}.dot{width:7px;height:7px;border-radius:50%}.tag{display:inline-block;padding:2px 8px;border-radius:5px;font-size:11px;background:#F1F5F9;color:var(--muted);border:1px solid var(--border)}.empty{padding:44px 20px;text-align:center;color:var(--faint);font-size:13px}.board{gap:11px;align-items:flex-start;overflow-x:auto;padding-bottom:16px}.board,.col{display:flex}.col{flex:0 0 236px;background:#EEF2F6;border:1px solid var(--border);border-radius:10px;flex-direction:column;max-height:calc(100vh - 170px)}.col.over{background:#FFF7ED;border-color:var(--orange);border-style:dashed}.col-h{padding:11px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.col-h .nm{font-size:12.5px;font-weight:700;color:var(--navy)}.col-h .n{margin-left:auto;font-size:11px;color:var(--muted);background:#fff;border:1px solid var(--border);padding:1px 7px;border-radius:9px}.col-b{padding:9px;overflow-y:auto;flex:1 1;min-height:60px}.ccard{background:#fff;border:1px solid var(--border);border-radius:8px;padding:10px;margin-bottom:8px;cursor:pointer;display:flex;align-items:center;gap:9px}.ccard:hover{border-color:var(--orange)}.ccard.noplace{border-left:3px solid var(--red)}.ccard .nm{font-size:13px;font-weight:700;color:var(--navy)}.ccard .loc{font-size:11px;color:var(--muted)}.av{width:30px;height:30px;border-radius:50%;flex:0 0 30px;display:grid;place-items:center;color:#fff}.av,.votes{font-size:11px;font-weight:700}.votes{margin-left:auto;display:flex;gap:5px}.vy{color:var(--green)}.vn{color:var(--red)}table{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px;background:#fff}th{text-align:left;padding:8px 10px;background:#F1F5F9;border-bottom:1px solid var(--border2);font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);position:-webkit-sticky;position:sticky;top:0}td,th{white-space:nowrap}td{padding:7px 10px;border-bottom:1px solid #f1f5f9}.tblwrap{border:1px solid var(--border);border-radius:10px;overflow:auto;max-height:calc(100vh - 240px)}.cel{width:100%;border:1px solid transparent;background:transparent;padding:4px 6px;font-size:12px;border-radius:4px}.cel:hover{border-color:var(--border2);background:#fff}.cel:focus{border-color:var(--navy);outline:none}.sq{width:16px;height:16px;border-radius:3px;font-size:9px;display:grid;place-items:center;color:#fff;font-weight:700;cursor:pointer}.sq.Y{background:#059669}.sq.E{background:#D97706}.sq.N{background:#FCA5A5;color:#7F1D1D}.sq.x{background:#E2E8F0;color:#94A3B8}.sess{display:inline-flex;gap:2px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:11px;gap:11px;margin-bottom:16px}.kpi{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 14px}.kpi .l{font-size:10px;letter-spacing:.9px;text-transform:uppercase;color:var(--muted)}.kpi .v{font-size:24px;font-weight:700;color:var(--navy);margin-top:2px}.kpi .d{font-size:11px;color:var(--faint)}.login{min-height:100vh;display:grid;place-items:center;background:var(--navy)}.loginbox{background:#fff;border-radius:14px;padding:34px;width:400px;max-width:92vw}.loginbox h1{font-size:21px;color:var(--navy);margin-bottom:6px}.loginbox p{font-size:13px;color:var(--muted);margin-bottom:22px}.inp{width:100%;padding:10px 12px;border:1px solid var(--border2);border-radius:8px;margin-bottom:10px}.inp:focus{border-color:var(--navy);outline:none}.pub{max-width:730px;margin:0 auto;padding:26px 20px 60px}.pubhero{background:var(--navy);color:#fff;padding:26px 30px;border-radius:12px 12px 0 0}.pubhero .kicker{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--orange);font-weight:700}.pubhero h2{font-size:25px;margin-top:7px}.pubhero p{color:#CBD5E1;font-size:13.5px;margin-top:9px}.pubbody{background:#fff;border:1px solid var(--border);border-top:none;border-radius:0 0 12px 12px;padding:26px 30px 34px}.fgroup{margin-bottom:20px}.fgroup label.q{display:block;font-size:13.5px;font-weight:700;color:var(--navy);margin-bottom:6px}.qnum{color:var(--faint);font-weight:400}.radios{display:flex;flex-direction:column;gap:7px}.radios label{display:flex;gap:8px;font-size:13px;padding:9px 11px;border:1px solid var(--border);border-radius:7px;cursor:pointer}.radios label:hover{background:#FCFDFE}.radios input{accent-color:var(--navy)}textarea.inp{min-height:110px;resize:vertical}.steps{display:flex;gap:6px;margin-bottom:24px}.step{flex:1 1;text-align:center}.step .l{height:3px;border-radius:2px;background:var(--border);margin-bottom:7px}.step.on .l{background:var(--navy)}.step .t{font-size:11px;color:var(--faint)}.step.on .t{color:var(--navy);font-weight:700}.drop{border:2px dashed var(--border2);border-radius:9px;padding:18px;text-align:center;cursor:pointer;background:#FCFDFE}.drop:hover{border-color:var(--navy)}.drop.done{border-style:solid;border-color:var(--green);background:#ECFDF5}.callout{border:1px solid #fde68a;background:#FFFBEB;border-radius:9px;padding:12px 14px;font-size:12.5px;color:#92400E;display:flex;gap:9px;margin-bottom:16px}.callout.info{border-color:#BFDBFE;background:#EFF6FF;color:#1E40AF}.callout.good{border-color:#A7F3D0;background:#ECFDF5;color:#065F46}table.sheet td.fz,table.sheet th.fz{position:-webkit-sticky;position:sticky;background:#fff;z-index:3}table.sheet th.fz{background:#F1F5F9;z-index:6}table.sheet .fz0{left:0;width:34px;min-width:34px;max-width:34px}table.sheet .fz1{left:34px;width:100px;min-width:100px;max-width:100px}table.sheet .fz1,table.sheet .fz2{overflow:hidden;text-overflow:ellipsis}table.sheet .fz2{left:134px;width:110px;min-width:110px;max-width:110px}table.sheet td.fz{box-shadow:none}table.sheet .fz2:after{content:"";position:absolute;top:0;right:0;bottom:0;width:1px;background:var(--border2)}table.sheet thead tr.filters th{position:-webkit-sticky;position:sticky;top:27px;background:#fff;border-bottom:1px solid var(--border);padding:4px 6px;z-index:5}table.sheet thead tr.filters th.fz{z-index:7}table.sheet .flt{width:100%;border:1px solid var(--border);border-radius:5px;padding:3px 5px;font-size:11px;background:#fff}table.sheet tr.removed td,table.sheet tr.removed td.fz{background:#FEF2F2}.rowlink{color:var(--navy);font-weight:700;text-decoration:none;cursor:pointer}.rowlink:hover{text-decoration:underline}[contenteditable] ol,[contenteditable] ul{margin:6px 0;padding-left:22px}[contenteditable] li{margin:2px 0;list-style:inherit}[contenteditable] ul{list-style:disc}[contenteditable] ol{list-style:decimal}[contenteditable] a{color:#1D4ED8;text-decoration:underline}[contenteditable] img{max-width:100%;height:auto}[contenteditable]:empty:before{content:attr(data-placeholder);color:var(--faint)}.doc h2,[contenteditable] h2{font-size:15px;font-weight:700;color:var(--navy);margin:16px 0 6px}.doc h3,[contenteditable] h3{font-size:13.5px;font-weight:700;color:var(--navy);margin:13px 0 5px}.doc{font-size:14px;line-height:1.62;color:var(--navy)}.doc p{margin:8px 0}.doc ol,.doc ul{margin:8px 0;padding-left:22px}.doc ul{list-style:disc}.doc ol{list-style:decimal}.doc li{margin:3px 0;list-style:inherit}.doc a{color:#1D4ED8;text-decoration:underline}