:root{--blue: #0040F2;--blue-600: #0036CC;--blue-soft: #E8EEFF;--blue-ink: #0034C4;--bg: #F5F4F0;--panel: #FFFFFF;--card: #FFFFFF;--sunken: #FAFAF8;--line: #E8E6E0;--line-strong: #D9D6CE;--ink: #0B0D12;--ink-2: #3A3D45;--muted: #74767E;--faint: #A4A6AD;--green: #12804A;--green-soft: #E6F4EC;--orange: #B85C00;--orange-soft: #FDF0E1;--red: #C42B2B;--red-soft: #FCEBEB;--violet: #5B3FD6;--violet-soft: #EFEBFF;--radius: 16px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(16, 18, 24, .04), 0 1px 1px rgba(16, 18, 24, .03);--shadow-lg: 0 10px 30px rgba(16, 18, 24, .08), 0 2px 6px rgba(16, 18, 24, .04);--font: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;color-scheme:light}:root[data-appearance=dark]{--blue: #3D6BFF;--blue-600: #2F5DF5;--blue-soft: #16224A;--blue-ink: #9DB4FF;--bg: #0D0E11;--panel: #131418;--card: #17181D;--sunken: #111216;--line: #24262D;--line-strong: #30333B;--ink: #F2F3F5;--ink-2: #C9CBD1;--muted: #8D9099;--faint: #5F626B;--green: #3FC383;--green-soft: #12291D;--orange: #F0A04B;--orange-soft: #2E1F0E;--red: #F07070;--red-soft: #2E1414;--violet: #A795FF;--violet-soft: #1E1938;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .45);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}img,svg{display:block}.mono{font-family:var(--mono);font-feature-settings:"zero" 0;letter-spacing:-.01em}.muted{color:var(--muted)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:6px}.shell{display:grid;grid-template-columns:264px 1fr;min-height:100vh;min-height:100dvh}.side{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;padding:22px 14px 14px;gap:6px}.side .brand{display:flex;align-items:center;padding:4px 10px 18px;color:var(--ink)}.side .brand svg{height:24px;width:auto}.side .cta{margin:0 2px 14px}.nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1;padding:0 2px}.nav .label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:14px 10px 6px}.nav a,.nav .locked{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--ink-2);font-weight:500;border:1px solid transparent;transition:background .15s,color .15s}.nav a:hover{background:#7f7f7f14;color:var(--ink)}.nav a.active{background:var(--panel);color:var(--ink);border-color:var(--line);box-shadow:var(--shadow);font-weight:600}.nav svg{width:17px;height:17px;flex:none;opacity:.85}.nav .count{margin-left:auto;font-size:11px;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:var(--blue);color:#fff}.nav .locked{color:var(--faint);cursor:not-allowed}.nav .locked .lock{margin-left:auto;width:14px;height:14px;opacity:.7}.nav a.highlight{background:var(--blue-soft);color:var(--blue-ink);border-color:transparent;font-weight:700}.nav a.highlight.active{box-shadow:inset 0 0 0 1px var(--blue);background:var(--blue-soft)}.me{display:flex;align-items:center;gap:10px;padding:10px;margin-top:8px;border-top:1px solid var(--line);position:relative}.avatar{width:34px;height:34px;border-radius:999px;flex:none;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:700;font-size:13px;letter-spacing:.02em}.me .who{min-width:0;flex:1}.me .who b{display:block;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me .who span{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn{width:34px;height:34px;border-radius:var(--radius-sm);display:grid;place-items:center;border:1px solid var(--line);background:var(--panel);color:var(--ink-2)}.icon-btn:hover{color:var(--ink);border-color:var(--line-strong)}.icon-btn svg{width:16px;height:16px}.icon-btn.ghost{border-color:transparent;background:transparent}.menu{position:absolute;bottom:54px;left:6px;right:6px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;z-index:30}.menu button,.menu a{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;border:0;background:none;text-align:left;font-weight:500}.menu button:hover,.menu a:hover{background:var(--sunken)}.menu svg{width:16px;height:16px}.main{margin:10px 10px 10px 0;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;padding:14px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--panel) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px 20px 0 0}.crumbs{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.crumbs svg{width:15px;height:15px}.crumbs b{color:var(--ink);font-weight:600}.topbar .spacer{flex:1}.menu-toggle{display:none}.page{padding:34px clamp(18px,4vw,44px) 56px;max-width:1180px;width:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px;flex-wrap:wrap}h1{font-size:clamp(26px,3vw,34px);line-height:1.15;letter-spacing:-.025em;font-weight:700;margin:0}.sub{color:var(--muted);margin:6px 0 0;font-size:14.5px;max-width:640px}h2{font-size:16px;font-weight:700;margin:0;letter-spacing:-.01em}h3{font-size:15px;font-weight:700;margin:0}.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:34px 0 12px}.section-title p{margin:2px 0 0;color:var(--muted);font-size:13px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s,transform .05s}.btn:hover{border-color:var(--line-strong)}.btn:active{transform:translateY(1px)}.btn svg{width:16px;height:16px}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--blue) 70%,transparent)}.btn.primary:hover{background:var(--blue-600)}.btn.block{width:100%}.btn.sm{height:32px;padding:0 12px;font-size:13px}.btn.danger{color:var(--red)}.btn[disabled]{opacity:.55;cursor:not-allowed}.link{color:var(--blue-ink);font-weight:600;display:inline-flex;align-items:center;gap:6px}.link svg{width:14px;height:14px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card.pad{padding:22px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.card-body{padding:18px 20px}.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{padding:18px 20px;display:flex;flex-direction:column;gap:6px;min-height:132px}.stat .value{font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1.1}.stat .value.text{font-size:19px;letter-spacing:-.01em}.stat .hint{color:var(--muted);font-size:12.5px;margin-top:auto}.bar{height:6px;border-radius:999px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden}.bar>i{display:block;height:100%;border-radius:inherit;background:var(--blue);transition:width .6s ease}.bar.lg{height:8px}.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--sunken);color:var(--ink-2);border:1px solid var(--line)}.pill:before{content:"";width:6px;height:6px;border-radius:99px;background:currentColor;opacity:.9}.pill.blue{background:var(--blue-soft);color:var(--blue-ink);border-color:transparent}.pill.green{background:var(--green-soft);color:var(--green);border-color:transparent}.pill.orange{background:var(--orange-soft);color:var(--orange);border-color:transparent}.pill.red{background:var(--red-soft);color:var(--red);border-color:transparent}.pill.violet{background:var(--violet-soft);color:var(--violet);border-color:transparent}.pill.plain:before{display:none}.next{display:flex;align-items:center;gap:18px;padding:20px 22px;border-radius:var(--radius);background:linear-gradient(135deg,var(--blue),color-mix(in srgb,var(--blue) 70%,#7AA0FF));color:#fff;box-shadow:0 16px 34px -18px color-mix(in srgb,var(--blue) 80%,transparent);margin-bottom:14px}.next .ico{width:44px;height:44px;border-radius:12px;background:#ffffff29;display:grid;place-items:center;flex:none}.next .ico svg{width:22px;height:22px}.next h3{font-size:16px}.next p{margin:2px 0 0;opacity:.85}.next .btn{margin-left:auto;background:#fff;color:#0b1b4d;border-color:#fff}.next.calm{background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow)}.next.calm .ico{background:var(--blue-soft);color:var(--blue-ink)}.next.calm p{color:var(--muted);opacity:1}.list{display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:12px;padding:13px 20px;border-top:1px solid var(--line)}.row:first-child{border-top:0}.row .ico{width:30px;height:30px;border-radius:8px;flex:none;display:grid;place-items:center;background:var(--sunken);border:1px solid var(--line);color:var(--ink-2)}.row .ico svg{width:15px;height:15px}.row .grow{flex:1;min-width:0}.row .title{font-weight:600}.row .meta{color:var(--muted);font-size:12.5px}.empty{padding:28px 20px;text-align:center;color:var(--muted)}.empty svg{width:22px;height:22px;margin:0 auto 8px;opacity:.6}.steps{display:flex;flex-direction:column}.step{display:flex;align-items:center;gap:12px;padding:11px 20px}.step .dot{width:26px;height:26px;border-radius:999px;display:grid;place-items:center;flex:none;font-size:12px;font-weight:700;border:1.5px solid var(--line-strong);color:var(--faint);background:var(--panel)}.step .dot svg{width:14px;height:14px}.step.done .dot{background:var(--ink);border-color:var(--ink);color:var(--panel)}.step.current .dot{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 0 0 4px var(--blue-soft)}.step.waiting .dot{background:var(--orange-soft);border-color:var(--orange);color:var(--orange)}.step .name{font-weight:600}.step.todo .name{color:var(--faint);font-weight:500}.step .when{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}.timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 20px;margin-top:16px}.timeline .t{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--faint)}.timeline .t svg{width:16px;height:16px;flex:none}.timeline .t.done{color:var(--ink)}.timeline .t.done svg{color:var(--green)}.timeline .t.current{color:var(--blue-ink);font-weight:600}.vcard{padding:20px;display:flex;flex-direction:column;gap:10px;min-height:230px}.vcard .badge{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--sunken);border:1px solid var(--line)}.vcard .badge svg{width:19px;height:19px}.vcard.on .badge{background:var(--blue-soft);color:var(--blue-ink);border-color:transparent}.vcard p{margin:0;color:var(--muted);font-size:13px}.vcard .foot{margin-top:auto;display:flex;flex-direction:column;gap:8px}.vcard.off{opacity:.6}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:600;font-size:13px}.input,.textarea{width:100%;height:44px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel);padding:0 14px;outline:none;transition:border-color .15s,box-shadow .15s}.textarea{height:auto;min-height:96px;padding:12px 14px;resize:vertical;line-height:1.5}.input:focus,.textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}.code-input{font-family:var(--mono);font-size:24px;letter-spacing:.4em;text-align:center;height:56px}.error{color:var(--red);font-size:13px;font-weight:500}.notice{padding:12px 14px;border-radius:var(--radius-sm);background:var(--sunken);border:1px solid var(--line);color:var(--ink-2);font-size:13px}.notice.ok{background:var(--green-soft);border-color:transparent;color:var(--green)}.notice.warn{background:var(--orange-soft);border-color:transparent;color:var(--orange)}.notice.bad{background:var(--red-soft);border-color:transparent;color:var(--red)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:12px 20px;border-bottom:1px solid var(--line);background:var(--sunken)}.table td{padding:14px 20px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto}.email{padding:0;overflow:hidden}.email .head{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--sunken);flex-wrap:wrap}.email .head .n{width:26px;height:26px;border-radius:8px;background:var(--ink);color:var(--panel);display:grid;place-items:center;font-weight:700;font-size:12px}.email .subject{padding:16px 20px 0}.email .subject b{font-size:15px}.email .body{padding:12px 20px 18px;white-space:pre-wrap;color:var(--ink-2);line-height:1.65;font-size:14px}.email .comments{border-top:1px solid var(--line);padding:14px 20px;display:flex;flex-direction:column;gap:10px;background:var(--sunken)}.comment{display:flex;gap:10px}.comment .avatar{width:26px;height:26px;font-size:11px}.comment .bubble{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:13px}.comment .bubble small{display:block;color:var(--muted);font-size:11.5px;margin-top:2px}.comment.admin .avatar{background:var(--ink)}.decide{margin-top:22px;padding:16px 18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;box-shadow:var(--shadow-lg)}.decide .grow{flex:1;min-width:200px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 12px;border-radius:999px;background:var(--sunken);border:1px solid var(--line);font-weight:600;font-size:13px}dl.kv{display:grid;grid-template-columns:180px 1fr;gap:14px 20px;margin:0}dl.kv dt{color:var(--muted);font-weight:600;font-size:13px}dl.kv dd{margin:0}.chart{width:100%;height:220px}.chart .grid-line{stroke:var(--line);stroke-dasharray:3 4}.chart .bar-sent{fill:color-mix(in srgb,var(--blue) 22%,transparent)}.chart .bar-rep{fill:var(--blue)}.chart text{fill:var(--muted);font-size:11px;font-family:var(--mono)}.legend{display:flex;gap:16px;font-size:12.5px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.form-frame{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card);box-shadow:var(--shadow)}.form-frame iframe{width:100%;height:min(78vh,900px);border:0;display:block;background:#fff}.locked-hint{display:flex;align-items:center;gap:12px;padding:14px 18px;margin-bottom:14px}.locked-hint svg{width:18px;height:18px;color:var(--blue-ink);flex:none}.auth{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:100%;max-width:420px;padding:34px 30px 28px}.auth-card .logo{color:var(--ink);margin-bottom:26px}.auth-card .logo svg{height:26px;width:auto}.auth-card h1{font-size:26px}.auth-card form{display:flex;flex-direction:column;gap:14px;margin-top:22px}.auth-foot{margin-top:18px;text-align:center;color:var(--muted);font-size:13px}.auth-foot button{background:none;border:0;color:var(--blue-ink);font-weight:600;padding:0}.loading{min-height:60vh;display:grid;place-items:center;color:var(--muted)}.spin{width:22px;height:22px;border-radius:99px;border:2px solid var(--line-strong);border-top-color:var(--blue);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--sunken),color-mix(in srgb,var(--line) 60%,var(--sunken)),var(--sunken));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:8px}@keyframes sk{to{background-position:-200% 0}}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);z-index:60;background:var(--ink);color:var(--panel);padding:11px 18px;border-radius:12px;font-weight:600;box-shadow:var(--shadow-lg)}.demo-flag{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:70;display:flex;align-items:center;gap:4px;padding:5px;border-radius:12px;max-width:calc(100vw - 24px);overflow-x:auto;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-lg)}.demo-flag span{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);background:var(--orange-soft);padding:5px 8px;border-radius:8px}.demo-flag button{border:0;background:none;padding:6px 10px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--muted);white-space:nowrap}.demo-flag button:hover{color:var(--ink);background:var(--sunken)}.demo-flag button.on{background:var(--blue);color:#fff}@media(max-width:1080px){.g4,.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.shell{grid-template-columns:1fr}.side{position:fixed;inset:0 auto 0 0;width:280px;z-index:50;background:var(--bg);transform:translate(-100%);transition:transform .25s ease;box-shadow:var(--shadow-lg)}.shell.open .side{transform:none}.shell.open:after{content:"";position:fixed;inset:0;background:#00000059;z-index:40}.main{margin:0;border-radius:0;border:0;min-height:100vh}.topbar{border-radius:0;padding:12px 16px}.menu-toggle{display:grid}.g2,.g3{grid-template-columns:1fr}dl.kv{grid-template-columns:1fr;gap:4px 0}dl.kv dd{margin-bottom:10px}}@media(max-width:560px){.g4{grid-template-columns:1fr 1fr;gap:10px}.stat{min-height:116px;padding:14px 16px}.stat .value{font-size:24px}.next{flex-direction:column;align-items:flex-start}.next .btn{margin-left:0;width:100%}.timeline{grid-template-columns:1fr}.page{padding-top:24px}.row,.step,.card-head,.card-body{padding-left:16px;padding-right:16px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.project-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.big{font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-top:4px}.big.text{font-size:20px;letter-spacing:-.01em}.phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.phase{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--sunken)}.phase .dot{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line);color:var(--faint)}.phase .dot svg{width:15px;height:15px}.phase .lbl{font-weight:700}.phase .st{font-size:12px;color:var(--muted)}.phase.done .dot{background:var(--ink);border-color:var(--ink);color:var(--panel)}.phase.current{border-color:var(--blue);background:var(--blue-soft)}.phase.current .dot{background:var(--blue);border-color:var(--blue);color:#fff}.phase.current .st{color:var(--blue-ink);font-weight:600}.phase.waiting{border-color:var(--orange);background:var(--orange-soft)}.phase.waiting .dot{background:var(--orange);border-color:var(--orange);color:#fff}.phase.waiting .st{color:var(--orange);font-weight:600}.card.hover{display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s}.card.hover:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lg)}.card.hover .link{margin-top:auto;padding-top:14px}.mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 4px}.mini-stats b{display:block;font-size:28px;letter-spacing:-.03em;line-height:1.1}.mini-stats span{color:var(--muted);font-size:12.5px}.vtl{list-style:none;margin:0;padding:6px 0}.vstep{display:flex;gap:14px;padding:14px 20px;border-top:1px solid var(--line);align-items:flex-start}.vstep:first-child{border-top:0}.vstep .dot{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;flex:none;font-size:12px;font-weight:700;border:1.5px solid var(--line-strong);color:var(--faint);background:var(--panel)}.vstep .dot svg{width:14px;height:14px}.vstep.done .dot{background:var(--ink);border-color:var(--ink);color:var(--panel)}.vstep.current .dot{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 0 0 4px var(--blue-soft)}.vstep.waiting .dot{background:var(--orange-soft);border-color:var(--orange);color:var(--orange)}.vstep .grow{flex:1;min-width:0}.vstep .vtitle{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vstep .who{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--sunken);border:1px solid var(--line);padding:1px 7px;border-radius:6px}.vstep p{margin:3px 0 0;color:var(--muted);font-size:13px;max-width:640px}.vstep.todo b{color:var(--muted);font-weight:600}.vstep .vside{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tab{border:1px solid var(--line);background:var(--panel);padding:8px 14px;border-radius:10px;font-weight:600;color:var(--ink-2);text-align:left}.tab small{display:block;font-weight:500;color:var(--muted);font-size:12px}.tab.on{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:var(--blue-soft);color:var(--blue-ink)}.seg{display:inline-flex;padding:3px;border-radius:10px;background:var(--sunken);border:1px solid var(--line);gap:2px}.seg button{border:0;background:none;padding:5px 12px;border-radius:7px;font-weight:600;font-size:13px;color:var(--muted)}.seg button.on{background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.var{background:var(--blue-soft);color:var(--blue-ink);border-radius:4px;padding:0 3px;font-weight:600}.spx{border-bottom:2px dotted var(--violet);cursor:help}.spin-alts{display:inline-flex;gap:4px;flex-wrap:wrap;vertical-align:baseline}.spin-alts span{background:var(--violet-soft);color:var(--violet);border-radius:4px;padding:0 4px;font-weight:600;font-size:.95em}.spin-alts span+span:before{content:none}.legend-row{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);align-items:center}.weeks{width:100%;border-collapse:collapse}.weeks th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:12px 20px;border-bottom:1px solid var(--line);background:var(--sunken);white-space:nowrap}.weeks td{padding:13px 20px;border-bottom:1px solid var(--line);white-space:nowrap}.weeks tr:last-child td{border-bottom:0}.weeks .sentbar{display:flex;align-items:center;gap:10px;min-width:180px}.weeks .sentbar .bar{flex:1}.num{font-variant-numeric:tabular-nums;font-weight:600}details.more summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;padding:14px 20px;font-weight:600;color:var(--blue-ink)}details.more summary::-webkit-details-marker{display:none}details.more[open] summary{border-bottom:1px solid var(--line)}@media(max-width:900px){.phases{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.vstep{flex-wrap:wrap}.vstep .vside{flex-direction:row;align-items:center;width:100%;padding-left:42px;justify-content:flex-start}.big{font-size:28px}.project-head{align-items:flex-start}}body.is-demo .page{padding-bottom:96px}.timeline .t span{min-width:0}.timeline .t .tag{margin-left:6px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--orange);background:var(--orange-soft);padding:1px 6px;border-radius:5px}.vcard .foot .btn.block{width:100%}.back{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:13px;color:var(--muted);margin-bottom:14px;padding:6px 10px 6px 8px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.back:hover{color:var(--ink);border-color:var(--line-strong)}.back svg{width:15px;height:15px}.pcard{padding:20px;display:flex;flex-direction:column;gap:4px;min-height:250px}.pcard-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.pcard .badge{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue-ink)}.pcard .badge svg{width:21px;height:21px}.pcard .ptitle{font-size:18px;letter-spacing:-.01em;margin:2px 0}.pcard.todo{border-color:var(--orange);background:linear-gradient(180deg,var(--orange-soft),var(--card) 60%);transition:box-shadow .15s}.pcard.todo:hover{box-shadow:var(--shadow-lg)}.pcard.todo .badge{background:var(--orange);color:#fff}.pcard.calm .badge{background:var(--sunken);color:var(--muted);border:1px solid var(--line)}.n-badge{width:28px;height:28px;border-radius:8px;background:var(--ink);color:var(--panel);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}.wa-card{display:flex;align-items:center;gap:18px;padding:22px;border-color:#25d366;background:linear-gradient(135deg,color-mix(in srgb,#25D366 12%,var(--card)),var(--card))}.wa-card img{width:48px;height:48px;border-radius:12px;flex:none}.wa-card .grow{flex:1;min-width:0}.wa-card p{margin:4px 0 0;color:var(--muted);font-size:13.5px}.btn.wa-btn{background:#25d366;border-color:#25d366;color:#fff}.btn.wa-btn:hover{background:#1fb457}@media(max-width:560px){.wa-card{flex-direction:column;align-items:flex-start}.wa-card .btn{width:100%}}.vcard .foot .pill{align-self:flex-start}.timeline .t.waiting{color:var(--orange);font-weight:600}.card.report{border-color:color-mix(in srgb,var(--blue) 35%,var(--line))}.r-summary{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink);max-width:760px}.r-list{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:8px}.r-list li{position:relative;padding-left:22px;font-size:13.5px;color:var(--ink-2)}.r-list li:before{content:"";position:absolute;left:4px;top:7px;width:8px;height:8px;border-radius:3px;background:var(--blue)}.r-list.ok li:before{background:var(--green)}.r-old+.r-old{border-top:1px solid var(--line)}.r-old summary .grow{flex:1}.comments{border-top:1px solid var(--line);padding:12px 20px;display:flex;flex-direction:column;gap:10px;background:var(--sunken);border-radius:0 0 var(--radius) var(--radius)}.card .card-body dl.kv{grid-template-columns:110px 1fr}.app-card{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.app-card .badge{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue-ink)}.app-card .badge svg{width:20px;height:20px}.app-card h2{display:flex;align-items:center}.app-card p{margin:0;color:var(--muted);font-size:13.5px}.app-card .btn{margin-top:auto}.guide{list-style:none;margin:0;padding:6px 0}.guide li{display:flex;align-items:flex-start;gap:14px;padding:14px 20px;border-top:1px solid var(--line)}.guide li:first-child{border-top:0}.guide .n{width:26px;height:26px;border-radius:99px;background:var(--ink);color:var(--panel);display:grid;place-items:center;font-weight:700;font-size:12px;flex:none;margin-top:2px}.guide .gi{width:34px;height:34px;border-radius:9px;background:var(--sunken);border:1px solid var(--line);display:grid;place-items:center;flex:none;color:var(--ink-2)}.guide .gi svg{width:17px;height:17px}.guide b{display:block}.guide p{margin:2px 0 0;color:var(--muted);font-size:13px}.nudge{display:flex;align-items:center;gap:14px;padding:14px 18px;margin-bottom:18px}.nudge .ico{width:36px;height:36px;border-radius:10px;background:var(--blue-soft);color:var(--blue-ink);display:grid;place-items:center;flex:none}.nudge .ico svg{width:18px;height:18px}.nudge .grow{flex:1;min-width:0}.nudge p{margin:1px 0 0;color:var(--muted);font-size:13px}@media(max-width:560px){.nudge{flex-wrap:wrap}.nudge .actions{width:100%;display:flex;gap:8px}.nudge .actions .btn{flex:1}}.admin-tag{margin-left:8px;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--panel);padding:3px 7px;border-radius:6px}.side .brand{gap:0}.task{display:flex;align-items:center;gap:12px;padding:13px 20px;border-top:1px solid var(--line)}.task:first-child{border-top:0}.task:hover{background:var(--sunken)}.task .dotc{width:10px;height:10px;border-radius:99px;flex:none;background:var(--faint)}.task .dotc.red{background:var(--red)}.task .dotc.orange{background:var(--orange)}.task .dotc.blue{background:var(--blue)}.task .dotc.green{background:var(--green)}.task .grow{flex:1;min-width:0}.task .title{font-weight:600}.task .meta{color:var(--muted);font-size:12.5px}.task .go{color:var(--muted);width:16px;height:16px;flex:none}.ctable td{vertical-align:middle}.ctable tr.clickable{cursor:pointer}.ctable tr.clickable:hover td{background:var(--sunken)}.mini-bar{display:flex;align-items:center;gap:8px;min-width:120px}.mini-bar .bar{flex:1}.atabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}.atabs button{border:0;background:none;padding:10px 14px;font-weight:600;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:inline-flex;gap:6px;align-items:center}.atabs button.on{color:var(--ink);border-bottom-color:var(--blue)}.atabs .count{min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--orange);color:#fff;font-size:11px;display:grid;place-items:center}.step-row{display:flex;align-items:center;gap:12px;padding:10px 20px;border-top:1px solid var(--line)}.step-row:first-child{border-top:0}.step-row .grow{flex:1;min-width:0}.select{height:34px;border-radius:9px;border:1px solid var(--line-strong);background:var(--panel);padding:0 10px;font-weight:600;font-size:13px}.code-area{width:100%;min-height:360px;font-family:var(--mono);font-size:12.5px;line-height:1.5;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--sunken);padding:12px 14px;resize:vertical;outline:none}.code-area:focus{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}.preview-frame{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:18px;background:var(--bg)}.preview-frame .page-head h1{font-size:24px}.vlist .row .pill{flex:none}.lcard{padding:16px 20px;border-top:1px solid var(--line);display:flex;gap:14px;align-items:flex-start}.lcard:first-child{border-top:0}.lcard .grow{flex:1;min-width:0}.lcard p{margin:4px 0 0;color:var(--muted);font-size:13px}.chipline{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.form-grid{display:grid;gap:14px}.bar.warn>i{background:var(--orange)}.bar.ok>i{background:var(--green)}.notif-preview{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:18px;background:color-mix(in srgb,var(--card) 85%,var(--sunken));border:1px solid var(--line);box-shadow:var(--shadow-lg);max-width:420px}.notif-preview img{width:38px;height:38px;border-radius:9px;flex:none}.notif-preview div{flex:1;min-width:0}.notif-preview b{display:block;font-size:14px}.notif-preview p{margin:2px 0 0;color:var(--ink-2);font-size:13px}.notif-preview span{color:var(--muted);font-size:12px;white-space:nowrap}.cavatar{display:inline-grid;place-items:center;color:#fff;font-weight:800;letter-spacing:.02em;flex:none}.cell-client{display:inline-flex;align-items:center;gap:10px}.linkish{background:none;border:0;padding:0;text-align:left;color:inherit}.kanban{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px}.kcol{background:var(--sunken);border:1px solid var(--line);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:10px;min-height:240px}.khead{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;padding:4px 6px}.kcount{margin-left:auto;font-size:12px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:99px;min-width:22px;height:22px;display:grid;place-items:center;padding:0 6px}.kdot{width:8px;height:8px;border-radius:99px;background:var(--faint)}.k-formulaire{background:var(--orange)}.k-ciblage{background:var(--blue)}.k-emails{background:var(--violet)}.k-lancement{background:var(--faint)}.k-actif{background:var(--green)}.kcard{display:flex;flex-direction:column;gap:10px;padding:14px;text-align:left;border:1px solid var(--line)}.kcard:hover{box-shadow:var(--shadow-lg);border-color:var(--line-strong)}.kempty{text-align:center;color:var(--faint);font-size:12.5px;padding:18px 0;border:1px dashed var(--line-strong);border-radius:12px}.track th{text-align:center;white-space:nowrap}.track th:first-child{text-align:left}.tick{background:none;border:0;padding:4px;color:var(--faint);border-radius:6px}.tick svg{width:19px;height:19px}.tick.on{color:var(--blue)}.tick.wait{color:var(--orange)}.tick:hover{background:var(--sunken)}.search{position:relative;display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--sunken);width:min(360px,40vw)}.search svg{width:15px;height:15px;color:var(--muted);flex:none}.search input{border:0;background:none;outline:none;flex:1;min-width:0;font-size:13px}.search kbd{font-family:var(--mono);font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:1px 5px;background:var(--panel)}.search-results{position:absolute;top:42px;left:0;right:0;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;z-index:40}.search-results button{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;background:none;border-radius:8px;text-align:left}.search-results button:hover{background:var(--sunken)}.search-results small{display:block;color:var(--muted);font-size:12px}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius);padding:30px 20px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;cursor:pointer;background:var(--sunken);transition:border-color .15s,background .15s}.dropzone svg{width:22px;height:22px;color:var(--blue-ink)}.dropzone span{color:var(--muted);font-size:13px}.dropzone.on,.dropzone:hover{border-color:var(--blue);background:var(--blue-soft)}.dropzone.has{border-style:solid;border-color:var(--blue)}@media(max-width:900px){.search{width:auto;flex:1}.search kbd{display:none}}.seg button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.kanban{grid-template-columns:repeat(5,minmax(250px,1fr))}.kcard .mono,.kcard .muted,.track td:first-child b,.ctable .cell-client,.ctable td.mono{white-space:nowrap}.ctable td:last-child{white-space:nowrap}.ctable td:last-child .icon-btn{display:inline-grid}.kanban{grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;gap:10px}.kcol{padding:8px;min-width:0}.kcard{padding:12px;gap:8px;min-width:0}.kcard .cell-client{min-width:0;align-items:flex-start}.kcard .cell-client>span{min-width:0}.kcard .cell-client b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kcard .mono,.kcard .muted{white-space:normal}.kcard .pill{max-width:100%;overflow:hidden;text-overflow:ellipsis}.khead{font-size:12.5px;line-height:1.25}.track{table-layout:fixed;width:100%}.track col.c-client{width:19%}.track col.c-pct{width:8%}.track th{padding:10px 2px;font-size:10px;letter-spacing:.03em;white-space:normal;line-height:1.2}.track th:first-child{padding-left:16px}.track td{padding:10px 2px}.track td:first-child{padding-left:16px}.track .tname{white-space:normal;text-align:left;line-height:1.25}.track .tick svg{width:18px;height:18px}.track .tpct{padding-right:14px}.track .tpct .mono{font-size:12px;display:block;margin-bottom:4px}@media(max-width:1100px){.kanban{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.kanban{grid-template-columns:1fr}}.kprog{display:flex;align-items:center;gap:8px}.kprog .bar{flex:1}.kprog .mono{font-size:11.5px;color:var(--muted);white-space:nowrap}.kcard .kofr{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kcard .pill{align-self:flex-start;white-space:nowrap}.kanban.k6{grid-template-columns:repeat(6,minmax(0,1fr))}.kcol.drop{border-color:var(--blue);background:var(--blue-soft)}.kcard.lead{cursor:grab}.kcard.lead:active{cursor:grabbing}.lead-tags{display:flex;gap:4px;flex-wrap:wrap}.lead-tags .pill{height:21px;font-size:11px;padding:0 7px}.lead-next{display:flex;gap:6px;align-items:flex-start;font-size:12px;color:var(--ink-2);line-height:1.35}.lead-next svg{width:13px;height:13px;flex:none;margin-top:2px;color:var(--muted)}.lead-next.late{color:var(--red)}.lead-next.late svg{color:var(--red)}.lead-next.today{color:var(--orange)}.lead-next.today svg{color:var(--orange)}.s-nouveau{background:var(--blue)}.s-appel_reserve{background:var(--orange)}.s-appel_fait{background:var(--violet)}.s-proposition{background:var(--ink-2)}.s-gagne{background:var(--green)}.s-perdu{background:var(--red)}.drawer-bg{position:fixed;inset:0;background:#0a0c1259;z-index:80;display:flex;justify-content:flex-end}.drawer{width:min(560px,100vw);height:100%;background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.drawer-body{padding:20px 22px;overflow-y:auto;flex:1}.drawer-foot{display:flex;gap:8px;padding:14px 22px;border-top:1px solid var(--line);padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}@media(max-width:1100px){.kanban.k6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.kanban.k6{grid-template-columns:1fr}}.paid-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--green-soft);color:var(--green);margin-bottom:14px}.paid-icon svg{width:24px;height:24px}
