:root{--font:"Lato", "Proxima Nova", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace;--ink:#191817;--yellow:#f4d505;--yellow-hover:#e6c800;--yellow-soft:#fff7cc;--yellow-wash:#fffbe6;--sidebar:#fff;--sidebar-border:#eeeae0;--sidebar-hover:#f7f4ea;--sidebar-active:#fff3b0;--sidebar-active-text:#191817;--sidebar-text:#3d3a33;--sidebar-muted:#8f8a7e;--bg:#faf9f5;--surface:#fff;--surface-2:#fcfbf8;--surface-3:#f3f1ea;--border:#ebe7dc;--border-strong:#d9d3c4;--text:#191817;--text-2:#5c584f;--text-3:#979185;--accent:#f4d505;--accent-text:#8a6a00;--accent-soft:#fff6c8;--on-accent:#191817;--focus:#d1a900;--blue:#2f6bff;--cyan:#21c3f3;--green:#1a8f55;--green-soft:#e3f5ea;--amber:#a86b00;--amber-soft:#fff1d1;--red:#d33b40;--red-soft:#fde8e8;--blue-soft:#e6eeff;--blue-text:#2450d6;--neutral-soft:#f0eee8;--shadow-sm:0 1px 2px #1918170d;--shadow:0 1px 2px #1918170a, 0 4px 16px #1918170f;--shadow-lg:0 12px 48px #19181724, 0 2px 6px #1918170f;--radius-sm:6px;--radius:10px;--radius-lg:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--sidebar:#161512;--sidebar-border:#2a2823;--sidebar-hover:#221f1a;--sidebar-active:#3a3210;--sidebar-active-text:#fbe35a;--sidebar-text:#d6d1c4;--sidebar-muted:#8a8478;--yellow-soft:#3a3210;--yellow-wash:#1f1c12;--bg:#100f0d;--surface:#1a1916;--surface-2:#201e1a;--surface-3:#2a2822;--border:#33302a;--border-strong:#46423a;--text:#f5f2ea;--text-2:#b7b1a4;--text-3:#7f796d;--accent:#f4d505;--accent-text:#f4d505;--accent-soft:#3a3210;--focus:#f4d505;--green:#4cc98a;--green-soft:#15301f;--amber:#f0b93f;--amber-soft:#352a12;--red:#f0696d;--red-soft:#3a1b1d;--blue-soft:#18244a;--blue-text:#9fb6ff;--neutral-soft:#2a2822;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040;--shadow-lg:0 12px 48px #0000008c, 0 2px 6px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.logo-on-dark,:root[data-theme=dark] .logo-on-light{display:none!important}:root[data-theme=dark] .logo-on-dark{display:block!important}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;letter-spacing:.005em;margin:0;font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:700}p{margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:color-mix(in srgb, var(--focus) 30%, transparent)}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:12px}.tiny{font-size:11px}.mono{font-family:var(--mono);font-size:12px}.row{align-items:center;gap:8px;display:flex}.col{flex-direction:column;gap:8px;display:flex}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hidden{display:none!important}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.shell{grid-template-columns:248px 1fr;height:100%;display:grid}.sidebar{background:var(--sidebar);color:var(--sidebar-text);border-right:1px solid var(--sidebar-border);flex-direction:column;min-height:0;display:flex}.sidebar-head img{height:30px;display:block}.ws-name{color:var(--sidebar-muted);margin-top:10px;font-size:12px}.sidebar-scroll{flex:1;padding:4px 10px 12px;overflow-y:auto}.sidebar-scroll::-webkit-scrollbar{width:6px}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.nav-item{width:100%;color:var(--sidebar-text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-size:13.5px;display:flex}.nav-item:hover{background:var(--sidebar-hover);color:var(--text);text-decoration:none}.nav-item.active{background:var(--sidebar-active);color:var(--sidebar-active-text);font-weight:700}.nav-item svg{opacity:.9;flex:none}.nav-item .count{background:var(--yellow);color:var(--ink);border-radius:10px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.nav-section{letter-spacing:.02em;color:var(--sidebar-muted);justify-content:space-between;align-items:center;margin:18px 10px 6px;font-size:11px;font-weight:600;display:flex}.nav-section button{color:var(--sidebar-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px;display:grid}.nav-section button:hover{color:var(--text);background:var(--sidebar-hover)}.nav-item.nav-platform{-webkit-text-stroke:.3px currentColor;color:var(--text);margin-top:6px;font-size:13.5px;font-weight:400}.nav-chevron{color:var(--sidebar-muted);margin-left:auto;margin-right:2px;display:grid}.nav-children{border-left:1.5px solid var(--sidebar-border);margin:2px 0 6px 18px;padding-left:8px}.nav-children .nav-item{padding-top:6px;padding-bottom:6px;font-size:13px}.nav-sub{padding-left:8px}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.sidebar-foot{border-top:1px solid var(--sidebar-border);padding:10px}.me-btn{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.me-btn:hover{background:var(--sidebar-hover)}.main{flex-direction:column;min-width:0;min-height:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface);flex:none;align-items:center;gap:12px;height:56px;padding:0 24px;display:flex}.crumbs{color:var(--text-2);align-items:center;gap:6px;min-width:0;font-size:13px;display:flex}.crumbs b{color:var(--text);font-weight:600}.content{flex:1;position:relative;overflow:auto}.page{max-width:1360px;margin:0 auto;padding:28px 32px 120px}.page-narrow{max-width:920px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-head p{margin-top:6px}.btn{border:1px solid var(--border);background:var(--surface);height:34px;color:var(--text);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.btn:hover{background:var(--surface-3)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn.dark:hover{background:#2e2c29}:root[data-theme=dark] .btn.dark{color:var(--ink);background:#f5f2ea;border-color:#f5f2ea}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-3)}.btn.danger{color:var(--red)}.btn.danger.solid{background:var(--red);border-color:var(--red);color:#fff}.btn.success{background:var(--green);border-color:var(--green);color:#fff}.btn.icon{width:34px;padding:0}.input,.select,.textarea{border:1px solid var(--border);background:var(--surface);border-radius:8px;outline:none;width:100%;height:36px;padding:0 11px;transition:border-color .12s,box-shadow .12s}.textarea{resize:vertical;height:auto;min-height:90px;padding:9px 11px;line-height:1.5}.input.sm,.select.sm{height:30px;padding:0 9px;font-size:13px}.input.bare{background:0 0;border-color:#0000;padding:0 6px}.input.bare:hover{border-color:var(--border)}.input.bare:focus{background:var(--surface)}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23958d9c' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.label{color:var(--text-2);margin-bottom:5px;font-size:12px;font-weight:500;display:block}.field{flex-direction:column;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid .span2{grid-column:span 2}.check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:inline-flex}.check input{accent-color:var(--accent);width:15px;height:15px}.seg{background:var(--surface-3);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.seg button{cursor:pointer;height:28px;color:var(--text-2);background:0 0;border:0;border-radius:7px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.seg button:disabled{opacity:.45;cursor:not-allowed}.tabs{border-bottom:1px solid var(--border);background:var(--surface);z-index:5;gap:2px;padding:0 32px;display:flex;position:sticky;top:0}.tab{color:var(--text-2);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:12px 14px 11px;font-size:13.5px;font-weight:500;display:inline-flex}.tab:hover{color:var(--text)}.tab.on{color:var(--text);border-bottom-color:var(--yellow);border-bottom-width:3px;font-weight:700}.chip{white-space:nowrap;background:var(--neutral-soft);height:22px;color:var(--text-2);border-radius:6px;align-items:center;gap:5px;padding:0 8px;font-size:11.5px;font-weight:500;display:inline-flex}.chip.green{background:var(--green-soft);color:var(--green)}.chip.amber{background:var(--amber-soft);color:var(--amber)}.chip.red{background:var(--red-soft);color:var(--red)}.chip.blue{background:var(--blue-soft);color:var(--blue-text)}.chip.accent{background:var(--accent-soft);color:var(--accent-text)}.chip.outline{border:1px solid var(--border);background:0 0}button.chip{cursor:pointer;border:0}button.chip:hover{filter:brightness(.96)}.prio{color:#fff;cursor:default;font-variant-numeric:tabular-nums;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;min-width:30px;height:22px;padding:0 6px;font-size:11.5px;font-weight:700;display:inline-flex}button.prio{cursor:pointer}button.prio:hover{filter:brightness(1.08);box-shadow:0 0 0 2px color-mix(in srgb, currentColor 0%, var(--border))}.avatar{color:#fff;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid}.avatar-stack{display:flex}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--surface);margin-left:-6px}.avatar-stack .avatar:first-child{margin-left:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-head{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.empty{text-align:center;color:var(--text-2);padding:48px 24px}.empty h3{color:var(--text);margin-bottom:6px}.empty .btn{margin-top:14px}.progress{background:var(--surface-3);border-radius:4px;height:6px;overflow:hidden}.progress>div{background:linear-gradient(90deg,#ffe45c,#f0b400);border-radius:4px;height:100%}.progress.green>div{background:var(--green)}.popover{z-index:80;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:12px;min-width:180px;padding:6px;position:fixed}.menu-item{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:7px 10px;font-size:13px;display:flex}.menu-item:hover{background:var(--surface-3)}.menu-item.danger{color:var(--red)}.menu-sep{background:var(--border);height:1px;margin:5px 4px}.menu-label{color:var(--text-3);padding:6px 10px 4px;font-size:11px;font-weight:600}.prio-grid{grid-template-columns:repeat(5,1fr);gap:6px;padding:6px;display:grid}.prio-grid button{color:#fff;cursor:pointer;border:0;border-radius:8px;height:34px;font-size:13px;font-weight:700}.prio-grid button.on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text)}.prio-grid button span{opacity:.9;margin-top:1px;font-size:9.5px;font-weight:500;display:block}.prio-inline{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.prio-inline button{color:#fff;cursor:pointer;opacity:.55;border:0;border-radius:10px;height:46px;font-size:14px;font-weight:700;line-height:1.1;transition:opacity .12s,transform .12s}.prio-inline button:hover{opacity:.85}.prio-inline button.on{opacity:1;box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text)}.prio-inline button small{font-size:10px;font-weight:500;display:block}.overlay{z-index:60;background:#1918175c;place-items:center;padding:24px;animation:.12s fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:18px;width:min(520px,100%);max-height:calc(100vh - 48px);animation:.16s pop;overflow:auto}.modal.wide{width:min(760px,100%)}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 8px;display:flex}.modal-foot{justify-content:flex-end;gap:8px;padding:14px 22px 18px;display:flex}.drawer-wrap{z-index:55;background:#19181724;justify-content:flex-end;animation:.12s fade;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);width:min(620px,100%);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.18s slide;display:flex}.drawer-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:16px 20px;display:flex}.drawer-body{flex:1;padding:20px 22px 40px;overflow:auto}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(6px)scale(.98)}}@keyframes slide{0%{opacity:0;transform:translate(24px)}}.toast-wrap{z-index:100;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:88px;left:50%;transform:translate(-50%)}.toast{color:#fff;box-shadow:var(--shadow-lg);background:#191817;border-radius:10px;align-items:center;gap:8px;max-width:520px;padding:10px 16px;font-size:13px;animation:.16s pop;display:flex}.toast.error{background:#8e1f2a}.md{word-wrap:break-word;line-height:1.6}.md>:first-child{margin-top:0}.md h1,.md h2,.md h3{margin:1em 0 .4em}.md h1{font-size:20px}.md h2{font-size:17px}.md h3{font-size:15px}.md p,.md ul,.md ol{margin:0 0 .7em}.md ul,.md ol{padding-left:1.3em}.md code{font-family:var(--mono);background:var(--surface-3);border-radius:4px;padding:1px 5px;font-size:.9em}.md pre{background:var(--surface-3);border-radius:8px;padding:10px 12px;overflow:auto}.md pre code{background:0 0;padding:0}.md blockquote{border-left:3px solid var(--border-strong);color:var(--text-2);margin:0 0 .7em;padding-left:12px}.md img{border-radius:8px;max-width:100%}.md table{border-collapse:collapse;margin-bottom:.7em}.md td,.md th{border:1px solid var(--border);padding:4px 8px}.auth{grid-template-columns:1.05fr 1fr;min-height:100%;display:grid}.auth-art{color:var(--ink);background:radial-gradient(900px 600px at 85% 0,#fff3a3 0%,#ffe45c 45%,#f4d505 100%);flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.auth-art h1{letter-spacing:-.035em;max-width:520px;font-size:44px;line-height:1.05}.auth-art p{color:#191817b8;max-width:460px;margin-top:18px;font-size:17px;line-height:1.5}.auth-art .swoosh{opacity:.12;width:440px;position:absolute;bottom:-110px;right:-90px}.auth-form{background:var(--surface);place-items:center;padding:40px 24px;display:grid}.auth-form form{flex-direction:column;gap:14px;width:min(380px,100%);display:flex}.pw-rules{flex-wrap:wrap;gap:6px;display:flex}.pw-rules span{background:var(--neutral-soft);color:var(--text-3);border-radius:6px;padding:2px 8px;font-size:11.5px}.pw-rules span.ok{background:var(--green-soft);color:var(--green)}.err{color:var(--red);background:var(--red-soft);border-radius:8px;padding:9px 12px;font-size:13px}.hero{color:var(--ink);background:linear-gradient(120deg,#fffbe3 0%,#fff3a8 55%,#ffe75a 100%);border:1px solid #f3e39a;border-radius:20px;padding:28px 30px 26px;position:relative;overflow:hidden}.hero h1{letter-spacing:-.03em;font-size:30px}.hero-input{gap:10px;margin-top:20px;display:flex}.hero-input input{height:46px;color:var(--ink);background:#fff;border:1px solid #1918171f;border-radius:12px;outline:none;flex:1;padding:0 16px;font-size:15px}.hero .btn.light:hover{background:#2e2c29}.kind-chips{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.kind-chips button{height:32px;color:var(--ink);cursor:pointer;background:#fff9;border:1px solid #19181724;border-radius:16px;align-items:center;gap:6px;padding:0 13px;font-size:13px;display:inline-flex}.kind-chips button:hover{background:#fff}.hero-art{opacity:.18;pointer-events:none;width:210px;position:absolute;top:-30px;right:-20px}.stats{grid-template-columns:repeat(5,1fr);gap:12px;margin:20px 0;display:grid}.stat .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:600}.stat .k{color:var(--text-2);font-size:12px}.home-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}.product-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.pcard{cursor:pointer;text-align:left;flex-direction:column;gap:12px;padding:16px;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex}.picon{color:#fff;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.health{align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.health.on_track{color:var(--green)}.health.at_risk{color:var(--amber)}.health.off_track{color:var(--red)}.feed-item{border-bottom:1px solid var(--border);gap:10px;padding:9px 0;font-size:13px;display:flex}.feed-item:last-child{border-bottom:0}.phead{background:var(--surface);align-items:flex-start;gap:16px;padding:22px 32px 16px;display:flex}.phead-meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;font-size:13px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.search{position:relative}.search svg{color:var(--text-3);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search input{width:220px;padding-left:32px}.module-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;display:flex}.module-head .name{font-size:14.5px;font-weight:600}.module.sub{box-shadow:none;border:0;border-top:1px solid var(--border);border-radius:0;margin:0}.module.sub .module-head{background:var(--surface-2);padding-left:38px}.module.sub .frow{padding-left:38px}.flist-head,.frow{grid-template-columns:18px 22px 40px minmax(180px,1fr) 54px 86px 70px 78px 30px 128px;align-items:center;gap:10px;padding:0 14px;display:grid}.flist-head{height:30px;color:var(--text-3);letter-spacing:.01em;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:11px;font-weight:600}.frow{border-bottom:1px solid var(--border);background:var(--surface);min-height:42px;position:relative}.frow:last-child{border-bottom:0}.frow:hover{background:var(--surface-2)}.frow .title{cursor:pointer;align-items:center;gap:8px;min-width:0;display:flex}.frow .title .ftitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.frow .title:hover .ftitle{color:var(--accent-text)}.frow.done .title .ftitle{color:var(--text-3);text-decoration:line-through}.frow .meta{color:var(--text-3);flex:none;gap:8px;font-size:11.5px;display:inline-flex}.frow .meta span{align-items:center;gap:3px;display:inline-flex}.grip{color:var(--text-3);cursor:grab;opacity:0;place-items:center;transition:opacity .1s;display:grid}.frow:hover .grip,.module-head:hover .grip,.bcard:hover .grip{opacity:1}.cbx{border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer;color:#fff;border-radius:5px;place-items:center;width:18px;height:18px;padding:0;display:grid}.cbx.on{background:var(--green);border-color:var(--green)}.cbx:disabled{cursor:not-allowed;opacity:.5}.drop-before:before{content:"";background:var(--focus);z-index:2;border-radius:2px;height:2px;position:absolute;top:-1px;left:8px;right:8px}.drop-into{box-shadow:inset 0 0 0 2px var(--focus)}.dragging{opacity:.4}.add-row{align-items:center;gap:8px;padding:7px 14px 7px 52px;display:flex}.add-row input{height:28px;color:var(--text);background:0 0;border:0;outline:none;flex:1}.add-row input::placeholder{color:var(--text-3)}.ver-input{background:0 0;border:1px solid #0000;border-radius:6px;outline:none;width:100%;height:26px;padding:0 6px;font-size:12px}.ver-input:hover{border-color:var(--border)}.ver-input:focus{border-color:var(--focus);background:var(--surface)}.board{align-items:flex-start;gap:14px;min-height:420px;padding-bottom:20px;display:flex;overflow-x:auto}.bcol{background:var(--surface-3);border-radius:14px;flex-direction:column;flex:none;width:300px;max-height:calc(100vh - 300px);display:flex}.bcol-head{padding:12px 12px 8px}.bcol-head .input.bare{height:30px;font-size:14px;font-weight:600}.bcol-body{flex-direction:column;gap:8px;min-height:60px;padding:4px 10px 10px;display:flex;overflow-y:auto}.bcol.drop-into{box-shadow:inset 0 0 0 2px var(--focus)}.bcard{background:var(--surface);border:1px solid var(--border);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex;position:relative}.bcard .t{font-size:13.5px;font-weight:500;line-height:1.35}.bcard.done .t{color:var(--text-3);text-decoration:line-through}.bcard.drop-before:before{top:-6px}.add-col{border:1.5px dashed var(--border-strong);width:240px;height:88px;color:var(--text-2);cursor:pointer;background:0 0;border-radius:14px;flex:none;place-items:center;display:grid}.add-col:hover{background:var(--surface-2);color:var(--text)}.stepper{align-items:center;gap:0;margin:4px 0 12px;display:flex}.step{color:var(--text-3);align-items:center;gap:7px;font-size:12.5px;font-weight:500;display:flex}.step .n{background:var(--surface-3);width:22px;height:22px;color:var(--text-3);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.step.on{color:var(--text)}.step.on .n{background:var(--accent);color:var(--on-accent)}.step.ok .n{background:var(--green);color:#fff}.step.bad .n{background:var(--red);color:#fff}.step-line{background:var(--surface-3);flex:1;min-width:20px;height:2px;margin:0 8px}.gate{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;padding:14px 16px}.lock-note{color:var(--amber);background:var(--amber-soft);border-radius:8px;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 10px;font-size:12.5px;display:flex}.section-title{color:var(--text-2);justify-content:space-between;align-items:center;margin:22px 0 10px;font-size:12px;font-weight:600;display:flex}.prop-grid{grid-template-columns:120px 1fr;align-items:center;gap:8px 12px;font-size:13px;display:grid}.prop-grid>.k{color:var(--text-2)}.cx{gap:3px;display:inline-flex}.cx button{border:1px solid var(--border);background:var(--surface);cursor:pointer;min-width:32px;height:26px;color:var(--text-2);border-radius:6px;font-size:12px;font-weight:600}.cx button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.attach-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.attach{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:10px;position:relative;overflow:hidden}.attach img{object-fit:cover;width:100%;height:90px;display:block}.attach .ph{height:90px;color:var(--text-3);place-items:center;display:grid}.attach .nm{padding:6px 8px;font-size:11.5px}.attach .x{opacity:0;position:absolute;top:5px;right:5px}.attach:hover .x{opacity:1}.dropzone{border:1.5px dashed var(--border-strong);text-align:center;color:var(--text-2);cursor:pointer;border-radius:12px;padding:16px;font-size:13px;transition:background .12s,border-color .12s}.dropzone:hover,.dropzone.over{background:var(--accent-soft);border-color:var(--focus);color:var(--text)}.comment{gap:10px;margin-bottom:14px;display:flex}.comment .bubble{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;flex:1;min-width:0;padding:8px 12px}.lightbox{z-index:90;cursor:zoom-out;background:#0a050edb;place-items:center;padding:40px;display:grid;position:fixed;inset:0}.lightbox img{max-width:100%;max-height:100%;box-shadow:var(--shadow-lg);border-radius:8px}.gantt{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:330px 1fr;display:grid;overflow:hidden}.g-left{border-right:1px solid var(--border)}.g-right{position:relative;overflow-x:auto}.g-head{border-bottom:1px solid var(--border);background:var(--surface-2);height:52px;position:relative}.g-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;height:36px;padding:0 12px;font-size:13px;display:flex;position:relative}.g-row.product{background:var(--surface-2);font-weight:700}.g-row.module{font-weight:600}.g-row.feature{color:var(--text-2);cursor:pointer;padding-left:34px}.g-row.feature:hover{color:var(--text);background:var(--surface-2)}.g-row.sub{padding-left:26px}.g-row.feature.subf{padding-left:50px}.g-month{border-left:1px solid var(--border);height:26px;color:var(--text-2);white-space:nowrap;padding:5px 8px;font-size:11.5px;font-weight:600;position:absolute;top:0;overflow:hidden}.g-tick{border-left:1px solid var(--border);height:26px;color:var(--text-3);white-space:nowrap;padding:6px 4px;font-size:10.5px;position:absolute;top:26px}.g-tick.weekend{background:color-mix(in srgb, var(--surface-3) 60%, transparent)}.g-bar{color:#fff;white-space:nowrap;cursor:grab;-webkit-user-select:none;user-select:none;height:20px;box-shadow:var(--shadow-sm);border-radius:6px;align-items:center;padding:0 8px;font-size:11px;display:flex;position:absolute;top:8px;overflow:hidden}.g-bar.auto{opacity:.72;background-image:repeating-linear-gradient(135deg,#ffffff29 0 6px,#0000 6px 12px)}.g-bar.summary{cursor:default;opacity:.9;border-radius:3px;height:10px;padding:0;top:13px}.g-bar .rz{cursor:ew-resize;width:8px;position:absolute;top:0;bottom:0;right:0}.g-bar .prog{pointer-events:none;background:#ffffff40;position:absolute;top:0;bottom:0;left:0}.g-today{z-index:3;pointer-events:none;background:#ff404e;width:2px;position:absolute;top:0;bottom:0}.g-today:before{content:"Today";color:#ff404e;background:var(--surface-2);border-radius:3px;padding:0 3px;font-size:10px;font-weight:700;position:absolute;top:24px;left:4px}.g-release{z-index:2;pointer-events:none;border-left:1.5px dashed #c9a200;width:0;position:absolute;top:0;bottom:0}.g-release span{color:var(--ink);background:var(--yellow);white-space:nowrap;pointer-events:auto;border-radius:4px;padding:1px 6px;font-size:10.5px;font-weight:700;position:absolute;top:4px;left:4px}.g-grid{border-left:1px solid var(--border);opacity:.6;pointer-events:none;position:absolute;top:0;bottom:0}.mm-wrap{border:1px solid var(--border);background:var(--surface);background-image:radial-gradient(var(--border) 1px, transparent 1px);background-size:22px 22px;border-radius:16px;height:calc(100vh - 250px);min-height:480px;position:relative;overflow:hidden}.mm-wrap svg{cursor:grab;width:100%;height:100%;display:block}.mm-wrap svg.panning{cursor:grabbing}.mm-controls{flex-direction:column;gap:6px;display:flex;position:absolute;bottom:14px;right:14px}.mm-legend{flex-wrap:wrap;gap:8px;display:flex;position:absolute;top:14px;left:14px}.mm-node{cursor:pointer}.mm-node text{font-family:var(--font);-webkit-user-select:none;user-select:none}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;display:grid}.lib-card{cursor:pointer;text-align:left;flex-direction:column;padding:0;transition:box-shadow .15s;display:flex;overflow:hidden}.lib-card:hover{box-shadow:var(--shadow)}.lib-thumb{background:var(--surface-2);border-bottom:1px solid var(--border);height:120px;color:var(--text-3);place-items:center;display:grid;overflow:hidden}.lib-thumb img{object-fit:cover;width:100%;height:100%}.lib-thumb .note-prev{color:var(--text-2);align-self:start;width:100%;height:100%;padding:12px 14px;font-size:11.5px;line-height:1.45;overflow:hidden}.lib-meta{padding:10px 12px 12px}.ftype{color:#fff;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.drop-overlay{z-index:70;color:var(--ink);pointer-events:none;background:#f4d5058c;place-items:center;font-size:20px;font-weight:600;display:grid;position:fixed;inset:0}.matrix-wrap{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.matrix{aspect-ratio:1.45;border:1px solid var(--border);background:var(--surface);border-radius:16px;position:relative;overflow:hidden}.quad{width:50%;height:50%;padding:14px 16px;font-size:14px;font-weight:600;position:absolute}.quad small{color:var(--text-3);font-size:11.5px;font-weight:400;display:block}.quad.q1{color:var(--green);background:color-mix(in srgb, var(--green-soft) 55%, transparent);top:0;left:0}.quad.q2{color:var(--blue-text);text-align:right;top:0;right:0}.quad.q3{color:var(--text-2);flex-direction:column;justify-content:flex-end;display:flex;bottom:0;left:0}.quad.q4{color:var(--red);text-align:right;background:color-mix(in srgb, var(--red-soft) 45%, transparent);flex-direction:column;justify-content:flex-end;display:flex;bottom:0;right:0}.axis-x,.axis-y{background:var(--border-strong);position:absolute}.axis-x{height:1px;top:50%;left:0;right:0}.axis-y{width:1px;top:0;bottom:0;left:50%}.bubble{border:2px solid var(--surface);box-shadow:var(--shadow);cursor:grab;color:#fff;z-index:2;border-radius:50%;place-items:center;font-size:10.5px;font-weight:700;transition:box-shadow .12s;display:grid;position:absolute;transform:translate(-50%,-50%)}.bubble:hover{z-index:4;box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 50%, transparent), var(--shadow)}.bubble-label{background:var(--surface);border:1px solid var(--border);white-space:nowrap;pointer-events:none;z-index:3;color:var(--text);text-overflow:ellipsis;border-radius:5px;max-width:180px;padding:1px 6px;font-size:11px;font-weight:500;position:absolute;overflow:hidden;transform:translate(-50%)}.axis-label{color:var(--text-3);font-size:11.5px;font-weight:600;position:absolute}.rank-row{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:22px 30px 1fr 44px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:grid}.rank-row:hover{background:var(--surface-2)}.list-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 18px;display:flex}.list-row:last-child{border-bottom:0}.type-ic{border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.kr{border-top:1px solid var(--border);grid-template-columns:1fr 180px 150px 28px;align-items:center;gap:14px;padding:10px 0;font-size:13px;display:grid}.kr input.num{text-align:right;width:64px;height:28px}.ring{flex:none;width:52px;height:52px;position:relative}.ring span{place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;inset:0}.settings-grid{grid-template-columns:220px minmax(0,1fr);gap:32px;display:grid}.settings-nav{flex-direction:column;align-self:start;gap:2px;display:flex;position:sticky;top:20px}.settings-nav button{text-align:left;cursor:pointer;color:var(--text-2);background:0 0;border:0;border-radius:8px;padding:8px 12px;font-weight:500}.settings-nav button.on,.settings-nav button:hover{background:var(--surface-3);color:var(--text)}.provider{border:1px solid var(--border);border-radius:14px;margin-bottom:12px;padding:16px 18px}.provider.on{border-color:color-mix(in srgb, var(--focus) 60%, var(--border))}.switch{background:var(--border-strong);cursor:pointer;border:0;border-radius:11px;flex:none;width:36px;height:21px;padding:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch.on{background:var(--green)}.switch.on:after{transform:translate(15px)}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;color:var(--text-3);border-bottom:1px solid var(--border);background:var(--surface-2);padding:10px 18px;font-size:11.5px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 18px}.table tr:last-child td{border-bottom:0}.chat-pill{z-index:40;background:var(--surface);border:1px solid var(--border);width:min(620px,100vw - 300px);height:50px;box-shadow:var(--shadow-lg);border-radius:25px;align-items:center;gap:8px;padding:0 8px 0 16px;display:flex;position:fixed;bottom:18px;left:calc(50vw + 124px);transform:translate(-50%)}.chat-pill input{background:0 0;border:0;outline:none;flex:1;height:100%;font-size:14px}.chat-pill input::placeholder{color:var(--text-3)}.spark{background:var(--yellow);width:26px;height:26px;color:var(--ink);border-radius:50%;flex:none;place-items:center;display:grid}.chat-panel{z-index:45;background:var(--surface);border:1px solid var(--border);width:min(460px,100vw - 40px);height:min(640px,100vh - 40px);box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;animation:.18s pop;display:flex;position:fixed;bottom:20px;right:20px;overflow:hidden}.chat-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 14px;display:flex}.chat-body{flex-direction:column;flex:1;gap:14px;padding:16px;display:flex;overflow-y:auto}.msg{max-width:92%;font-size:13.5px}.msg.user{background:var(--yellow-soft);color:var(--text);white-space:pre-wrap;border-radius:16px 16px 4px;align-self:flex-end;padding:9px 13px}.msg.assistant{align-self:flex-start}.msg.assistant .md{font-size:13.5px}.msg.error{color:var(--red);background:var(--red-soft);border-radius:10px;padding:8px 12px}.sugg{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:flex-start;gap:10px;margin-top:8px;padding:10px 12px;display:flex}.chat-foot{border-top:1px solid var(--border);padding:10px 12px 12px}.chat-input{border:1px solid var(--border);background:var(--surface);border-radius:14px;align-items:flex-end;gap:6px;padding:6px 6px 6px 12px;display:flex}.chat-input:focus-within{border-color:var(--focus)}.chat-input textarea{resize:none;background:0 0;border:0;outline:none;flex:1;min-height:22px;max-height:140px;padding:5px 0;line-height:1.45}.mic.on{background:var(--red);border-color:var(--red);color:#fff;animation:1.4s infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--red) 25%, transparent)}}.starter{text-align:left;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;color:var(--text);border-radius:10px;padding:9px 12px;font-size:13px}.starter:hover{border-color:var(--focus)}.typing span{background:var(--text-3);border-radius:50%;width:6px;height:6px;margin-right:3px;animation:1s infinite blink;display:inline-block}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes blink{50%{opacity:.25}}@media (width<=1100px){.home-grid,.matrix-wrap{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,1fr)}}@media (width<=860px){.shell{grid-template-columns:1fr}.sidebar{display:none}.auth{grid-template-columns:1fr}.auth-art{display:none}.chat-pill{width:calc(100vw - 32px);left:50%}.page{padding:20px 16px 120px}.flist-head,.frow{grid-template-columns:18px 22px 40px minmax(140px,1fr) 128px}.frow>:nth-child(5),.frow>:nth-child(6),.frow>:nth-child(7),.frow>:nth-child(8),.frow>:nth-child(9),.flist-head>:nth-child(5),.flist-head>:nth-child(6),.flist-head>:nth-child(7),.flist-head>:nth-child(8),.flist-head>:nth-child(9){display:none}}:root[data-theme=dark] .picon{box-shadow:inset 0 0 0 1px #ffffff38}.prio-inline button{opacity:.7}.prio-inline button.on{opacity:1}.spec-box{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:14px 16px}.spec-field{margin-top:16px}.spec-field:first-of-type{margin-top:0}.req{color:var(--red);background:var(--red-soft);vertical-align:1px;border-radius:4px;margin-left:4px;padding:0 5px;font-size:10px;font-weight:700;display:inline-block}.ac-n{font-family:var(--mono);color:var(--text-3);flex:none;width:38px;padding-top:9px;font-size:11px}.override{background:var(--surface-3);border-radius:6px;padding:3px 8px}.override.disabled{opacity:.5;cursor:not-allowed}.dep-chip{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;align-items:center;gap:6px;max-width:100%;padding:3px 4px 3px 8px;font-size:12.5px;display:inline-flex}.dep-chip .chip{height:18px;font-size:10.5px}.ref-chip{font-family:var(--mono);background:var(--yellow-soft);color:var(--text);border-radius:6px;flex:none;padding:2px 7px;font-size:11.5px;font-weight:600}.decision{border-left:3px solid var(--yellow);background:var(--surface-2);cursor:pointer;border-radius:0 8px 8px 0;margin-bottom:6px;padding:7px 10px}.decision.superseded{opacity:.6;border-left-color:var(--border-strong)}.decision.proposed{border-left-color:var(--amber)}.spec-nav{flex-direction:column;align-self:start;gap:2px;display:flex;position:sticky;top:64px}.spec-nav button{text-align:left;cursor:pointer;color:var(--text-2);background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.spec-nav button:hover{background:var(--surface-3);color:var(--text)}.spec-nav button.on{background:var(--yellow-soft);color:var(--text);font-weight:700}.spec-nav .st{margin-left:auto;display:grid}.spec-grid{grid-template-columns:220px minmax(0,1fr);gap:28px;display:grid}.ent{border:1px solid var(--border);background:var(--surface);border-radius:14px;margin-bottom:12px}.ent-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;display:flex}.ent-row{grid-template-columns:minmax(120px,1.2fr) 130px 70px 64px minmax(120px,1.6fr) 28px;align-items:center;gap:8px;padding:5px 14px;display:grid}.swatch{border:1px solid var(--border);border-radius:8px;flex:none;width:34px;height:34px;position:relative;overflow:hidden}.swatch input{cursor:pointer;border:0;width:60px;height:60px;padding:0;position:absolute;inset:-8px}.ready-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:9px 12px;font-size:13px;display:flex}.ready-item:last-child{border-bottom:0}.scope-alert{background:var(--yellow-soft);color:var(--text);border:1px solid #f0d860;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;display:flex}:root[data-theme=dark] .scope-alert{border-color:#5a4d10}.fmt{border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.fmt.on{border-color:var(--focus);background:var(--yellow-wash)}:root{--bg:#f7f7f5;--surface:#fff;--surface-2:#fafaf9;--surface-3:#f1f0ee;--border:#e6e5e1;--border-strong:#d4d2cc;--text:#191817;--text-2:#54524c;--text-3:#85827a;--sidebar:#fbfbfa;--sidebar-border:#e6e5e1;--sidebar-hover:#f0efec;--sidebar-active:#ecebe7;--sidebar-active-text:#191817;--sidebar-text:#3a3833;--sidebar-muted:#85827a;--accent:#191817;--on-accent:#fff;--accent-text:#7a5e00;--accent-soft:#fff6c2;--focus:#c9a300;--yellow-bar:#e8c400;--radius-sm:4px;--radius:6px;--radius-lg:8px;--shadow-sm:none;--shadow:0 1px 2px #1918170f;--shadow-lg:0 12px 32px #1918171f, 0 1px 3px #19181714}:root[data-theme=dark]{--bg:#121211;--surface:#181816;--surface-2:#1c1c1a;--surface-3:#242422;--border:#2c2b28;--border-strong:#3a3935;--text:#ecebe7;--text-2:#aeaba3;--text-3:#858279;--sidebar:#141412;--sidebar-border:#2a2926;--sidebar-hover:#1f1f1c;--sidebar-active:#262522;--sidebar-active-text:#fff;--sidebar-text:#cfccc4;--sidebar-muted:#858279;--accent:#ecebe7;--on-accent:#191817;--accent-text:#f4d505;--accent-soft:#33300f;--focus:#f4d505;--yellow-bar:#f4d505;--shadow:0 1px 2px #0000004d;--shadow-lg:0 12px 32px #00000080, 0 1px 3px #0000004d}body{letter-spacing:.003em;font-size:13.5px}h1,h2,h3,h4{letter-spacing:0;font-weight:700}h1{font-size:22px;line-height:1.25}h2{font-size:16px}h3{font-size:14px}.tnum,.stat .v,.pct,.readiness-figure{font-variant-numeric:tabular-nums}.btn,.tab,.nav-item.active,.seg button.on,.label,.chip,.menu-item,.spec-nav button.on{-webkit-text-stroke:.15px currentColor}.shell{grid-template-columns:240px 1fr}.sidebar-head{padding:16px 16px 8px}.sidebar-head img{height:34px}.sidebar-scroll{padding:4px 8px 12px}.nav-item{border-radius:6px;gap:10px;height:32px;margin-bottom:2px;padding:0 8px;font-size:13.5px}.nav-item svg{width:16px;height:16px;color:var(--sidebar-muted)}.nav-item.active{font-weight:400;position:relative}.nav-item.active svg{color:var(--text)}.nav-item.active:before{content:"";background:var(--yellow-bar);border-radius:0 2px 2px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-8px}.nav-item .count{background:var(--surface-3);color:var(--text-2);font-variant-numeric:tabular-nums;border-radius:4px;padding:0 6px;font-weight:400}.nav-section{letter-spacing:0;margin:20px 8px 4px;font-size:12px;font-weight:400}.nav-item.nav-platform{margin-top:4px}.nav-children{margin:0 0 4px 16px;padding-left:8px}.nav-children .nav-item{height:30px;padding-top:0;padding-bottom:0}.sidebar-foot{padding:8px}.me-btn{border-radius:6px;padding:6px 8px}.topbar{height:48px;padding:0 24px}.page{max-width:1480px;padding:24px 28px 112px}.page-head{margin-bottom:20px}.btn{border-radius:6px;gap:6px;height:32px;padding:0 12px;font-size:13px;font-weight:400;transition:background-color .14s cubic-bezier(.22,1,.36,1),border-color .14s,color .14s}.btn svg{width:15px;height:15px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:400}.btn.primary:hover{background:#2e2c29;border-color:#2e2c29}:root[data-theme=dark] .btn.primary:hover{background:#fff;border-color:#fff}.btn.primary:active,.btn:active{transform:scale(.98)}.btn.sm{border-radius:6px;height:28px;padding:0 10px;font-size:12.5px}.btn.xs{border-radius:4px;height:24px;padding:0 8px;font-size:12px}.btn.icon{width:32px}.btn.icon.sm{width:28px}.btn.icon.xs{width:24px}.btn.success{background:#1a8f55;border-color:#1a8f55}.input,.select,.textarea{border-radius:6px;height:32px;padding:0 10px;font-size:13.5px}.textarea{height:auto;padding:8px 10px}.input.sm,.select.sm{height:28px;font-size:13px}.input:focus,.select:focus,.textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px #e8c40038}.label{color:var(--text-2);margin-bottom:4px;font-size:12px;font-weight:400}.seg{background:var(--surface-3);border-radius:6px;padding:2px}.seg button{border-radius:4px;height:26px;padding:0 10px;font-size:12.5px;font-weight:400}.seg button.on{box-shadow:0 0 0 1px var(--border), 0 1px 1px #1918170a}.tab{border-bottom-width:2px;padding:10px 8px 9px;font-size:13px;font-weight:400}.tab svg{width:15px;height:15px;color:var(--text-3)}.tab.on{border-bottom-width:2px;border-bottom-color:var(--yellow-bar);font-weight:400}.tab.on svg{color:var(--text)}.check input{accent-color:#191817}:root[data-theme=dark] .check input{accent-color:#f4d505}.chip{background:var(--surface-3);height:20px;color:var(--text-2);border-radius:4px;gap:5px;padding:0 7px;font-size:11.5px;font-weight:400}.chip.green,.chip.amber,.chip.red,.chip.blue{border:1px solid var(--border);color:var(--text-2);background:0 0}.chip.green:before,.chip.amber:before,.chip.red:before,.chip.blue:before{content:"";border-radius:50%;flex:none;width:6px;height:6px}.chip.green:before{background:#1a8f55}.chip.amber:before{background:#d49a00}.chip.red:before{background:#d33b40}.chip.blue:before{background:#2f6bff}.chip.green svg,.chip.amber>.dot{display:none}.chip.accent{background:var(--accent-soft);color:var(--text);border:1px solid #f0dc7a}:root[data-theme=dark] .chip.accent{border-color:#4d4512}.chip.outline{background:0 0}.prio{border-radius:4px;min-width:26px;height:20px;padding:0 5px;font-size:11px}.req{border-radius:3px;font-weight:400}.card{box-shadow:none;border-radius:8px}.card-pad{padding:20px}.card-head{padding:16px 20px 0}.popover{border-radius:8px;padding:4px}.menu-item{border-radius:4px;height:30px;padding:0 8px}.overlay{background:#19181752}.modal{border-radius:10px}.modal-head{padding:20px 24px 8px}.modal-body{padding:8px 24px 16px}.modal-foot{padding:12px 24px 20px}.drawer{width:min(640px,100%)}.drawer-head{padding:12px 20px}.toast{border-radius:8px;padding:8px 14px}.progress{border-radius:2px;height:4px}.progress>div{background:var(--yellow-bar);border-radius:2px}.empty{padding:40px 24px}.empty h3{font-size:15px}.hero{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:24px}.hero h1{letter-spacing:0;align-items:center;gap:10px;font-size:22px;display:flex}.hero h1 img{width:26px;height:26px}.hero .sub{color:var(--text-2);margin-top:4px;font-size:13.5px}.hero-input{gap:8px;margin-top:16px}.hero-input input{border:1px solid var(--border-strong);background:var(--surface);height:40px;color:var(--text);border-radius:6px;padding:0 12px;font-size:14px}.hero-input input::placeholder{color:var(--text-3)}.hero-input input:focus{border-color:var(--focus);box-shadow:0 0 0 3px #e8c40038}.hero-input .btn{border-radius:6px;height:40px;padding:0 14px;font-size:13.5px}.hero .btn.light{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:400}.hero .btn.glass{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.hero .btn.glass:hover{background:var(--surface-3)}.kind-chips{gap:6px;margin-top:12px}.kind-chips button{border:1px solid var(--border);background:var(--surface);height:28px;color:var(--text-2);border-radius:6px;padding:0 10px;font-size:12.5px}.kind-chips button:hover{background:var(--surface-3);color:var(--text)}.kind-chips button.on{background:var(--accent-soft);color:var(--text);border-color:#e8cf55;font-weight:400}.hero-art{display:none}.stats{gap:12px;margin:16px 0 24px}.stat{padding:14px 16px}.stat .v{letter-spacing:0;font-size:24px;font-weight:400}.stat .k{color:var(--text-3);margin-top:2px;font-size:12px}.home-grid{gap:24px}.product-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.pcard{gap:12px;padding:16px;transition:border-color .14s}.pcard:hover{box-shadow:none;border-color:var(--border-strong)}.picon{border-radius:6px}.feed-item{padding:8px 0;font-size:13px}.phead{border-bottom:0;gap:14px;padding:20px 28px 16px}.phead h1{font-size:20px}.phead .picon{border-radius:8px;width:40px;height:40px}.toolbar{gap:8px;margin-bottom:16px}.module{margin-bottom:12px}.module-head{gap:10px;padding:8px 12px}.module-head .name,.module-head .input.bare{font-size:14px!important;font-weight:700!important}.flist-head{height:28px;font-size:11.5px;font-weight:400}.frow{min-height:38px}.frow .title{font-size:13.5px}.bcol{background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.bcard{box-shadow:none;border-radius:6px;padding:10px}.bcard:hover{border-color:var(--border-strong)}.add-col,.gantt,.mm-wrap,.matrix,.gate,.spec-box{border-radius:8px}.attach{border-radius:6px}.lib-card{border-radius:8px}.okr{padding:16px 20px}.provider,.ent{border-radius:8px}.fmt,.scope-alert{border-radius:6px}.chat-pill{border-radius:10px;height:44px;box-shadow:0 6px 20px #1918171a,0 1px 2px #19181714}.chat-panel{border-radius:10px}.msg.user{border-radius:10px 10px 2px}.ref-chip{border:1px solid #efd76a;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:400}:root[data-theme=dark] .ref-chip{border-color:#4d4512}.auth-art{background:#f4d505}.auth-art h1{letter-spacing:-.02em;font-size:40px;font-weight:900;line-height:1.1}.auth-art p{font-size:16px}.auth-art .swoosh{display:none}.auth-form form{gap:12px}.spec-grid{grid-template-columns:260px minmax(0,1fr);gap:24px}.spec-nav button{border-radius:6px;gap:8px;height:34px;padding:0 10px;font-size:13px;font-weight:400}.spec-nav button.on{background:var(--surface-3);font-weight:400}.spec-nav .nav-ic{color:var(--text-3);display:grid}.spec-nav button.on .nav-ic{color:var(--text)}.spec-nav .pct{text-align:right;width:34px;color:var(--text-3);flex:none;font-size:11.5px}.meter{background:var(--surface-3);border-radius:2px;flex:none;display:block;overflow:hidden}.meter>div{background:var(--yellow-bar);border-radius:2px;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1)}.meter>div.done{background:#1a8f55}.meter.sm{width:48px;height:4px}.meter.lg{width:100%;height:6px;margin-top:10px}.readiness-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin-bottom:12px;padding:14px}.readiness-figure{margin-top:10px;font-size:30px;font-weight:400;line-height:1}.panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden}.panel-head{border-bottom:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.mod-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;height:40px;padding:0 12px;font-size:13.5px;display:flex}.mod-row:last-child{border-bottom:0}.mod-row:hover{background:var(--surface-2)}.mod-row input{accent-color:#191817;width:15px;height:15px}.status-text{color:var(--text-2);justify-content:flex-end;align-items:center;gap:6px;width:170px;font-size:12px;display:inline-flex}.status-text .dot{width:6px;height:6px}.status-text.ok .dot{background:#1a8f55}.status-text.warn .dot{background:#d49a00}.status-text.muted .dot{background:var(--border-strong)}:root[data-theme=dark] .mod-row input,:root[data-theme=dark] .panel-head input{accent-color:#f4d505}.search{align-items:center;display:inline-flex;position:relative}.search svg{width:15px;height:15px;color:var(--text-3);pointer-events:none;z-index:1;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search .input,.search .input.sm{width:240px;padding-left:32px}.popover .search{display:flex}.popover .search .input{width:100%}.tabs{gap:20px;padding:0 28px}.tab{gap:8px;padding:12px 2px 11px;font-size:13.5px}.nfr-summary{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:flex-start;gap:24px;margin-bottom:16px;padding:14px 16px;display:flex}.nfr-summary>div:not(.grow){flex-direction:column;min-width:96px;display:flex}.nfr-big{font-size:22px;line-height:1.1}.nfr-panel{margin-bottom:14px}.nfr-panel .panel-head{align-items:center;gap:12px}.nfr-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 12px;display:flex}.nfr-row:hover{background:var(--surface-2)}.nfr-row input[type=checkbox]{accent-color:#191817;flex:none;width:15px;height:15px}:root[data-theme=dark] .nfr-row input[type=checkbox]{accent-color:#f4d505}.nfr-id{flex:none;width:92px}.nfr-title{-webkit-text-stroke:.15px currentColor;font-size:13.5px}.nfr-target{flex:none;width:230px}.nfr-target-ghost{text-align:right;flex:none;width:334px}.nfr-row.on{background:color-mix(in srgb, var(--accent-soft) 28%, var(--surface))}.ws-name{margin-top:12px}.nav-item.active>svg{color:#191817;fill:#f4d505}:root[data-theme=dark] .nav-item.active>svg{color:#191817;fill:#f4d505;stroke-width:2.2px}.hero{background:linear-gradient(115deg,#fffdf2 0%,#fff8d2 55%,#fff1a6 100%);border-color:#f2e39a;padding:32px 28px}:root[data-theme=dark] .hero{background:linear-gradient(115deg,#1f1d14 0%,#2a2512 55%,#3a3210 100%);border-color:#4d4512}.hero .sub{margin-left:5px}.hero-input{margin-top:20px}.hero .btn.glass{color:#191817;background:#f4d505;border-color:#f4d505}.hero .btn.glass:hover{background:#ffe033;border-color:#ffe033}.hero .btn.light{color:#fff;background:#191817;border-color:#191817}.hero .btn.light:hover{background:#2e2c29;border-color:#2e2c29}.hero .kind-chips button{background:#ffffffb3}:root[data-theme=dark] .hero .kind-chips button{background:#0003}.stat{cursor:default;transition:background-color .16s cubic-bezier(.22,1,.36,1),border-color .16s,box-shadow .16s}.stat:hover{background:#fff8d6;border-color:#efd86a;box-shadow:0 4px 14px #1918170f}:root[data-theme=dark] .stat:hover{background:#2a2512;border-color:#4d4512}.appearance{border-bottom:1px solid var(--border);align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.icon-grid{grid-template-columns:repeat(11,32px);gap:6px;display:grid}.icon-opt{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-2);cursor:pointer;border-radius:6px;place-items:center;padding:0;transition:background-color .14s,border-color .14s,color .14s;display:grid}.icon-opt:hover{background:var(--surface-3);color:var(--text)}.icon-opt.on{color:#191817;background:#f4d505;border-color:#191817}.swatch-btn{cursor:pointer;border:1px solid #1918171f;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;display:inline-grid;position:relative;overflow:hidden}.swatch-btn.custom{background:conic-gradient(#f2545b,#f4d505,#10a37f,#2f6bff,#8b5cf6,#f2545b)}.swatch-btn.custom span{color:#fff;text-shadow:0 1px 2px #00000080;pointer-events:none;font-weight:700}.swatch-btn.custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.nav-platform-row{position:relative}.nav-platform-row .nav-item.nav-platform{padding-right:8px}.nav-more{width:24px;height:24px;color:var(--sidebar-muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:4px;place-items:center;transition:opacity .12s,background-color .12s;display:grid;position:absolute;top:50%;right:30px;transform:translateY(-50%)}.nav-platform-row:hover .nav-more,.nav-more:focus-visible,.nav-more[aria-expanded=true]{opacity:1}.nav-more:hover{background:var(--sidebar-active);color:var(--text)}.nav-platform-row:hover .nav-item.nav-platform .ellipsis{padding-right:28px}.platform-preview{background:var(--surface-2);border:2px solid;border-radius:12px;flex:none;place-items:center;width:56px;height:56px;display:grid}.app-version{font-family:var(--mono);color:var(--text-3);border:1px solid var(--border);background:var(--surface-2);border-radius:4px;padding:2px 8px;font-size:11.5px}.member-manage{width:32px;color:var(--text);border-color:var(--border-strong);padding:0}.member-manage:hover{background:#fff3b0;border-color:#e8cf55}:root[data-theme=dark] .member-manage:hover{background:#3a3210;border-color:#4d4512}.spec-link{color:var(--text-2);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.spec-link:hover{color:var(--text);text-decoration-color:currentColor}.link{color:var(--text);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link:hover{color:var(--text-2)}.auth-msg{flex-direction:column;align-items:flex-start;gap:14px;width:min(380px,100%);display:flex}.auth-msg-icon{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.legal-page{max-width:760px;margin:0 auto;padding:40px 24px 96px}.legal-page h1{margin-bottom:20px;font-size:30px}.legal-body,.legal-preview{line-height:1.65}.legal-preview{border:1px solid var(--border);border-radius:10px;max-height:420px;padding:16px 18px;overflow:auto}.usage-grid{flex-wrap:wrap;gap:28px;display:flex}.usage-v{font-variant-numeric:tabular-nums;margin-top:2px;font-size:18px;font-weight:600}.danger-zone{border-color:color-mix(in srgb, var(--red) 30%, var(--border))}.admin-auth{background:var(--bg);place-items:center;min-height:100%;padding:40px 16px;display:grid}.admin-auth-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:min(420px,100%);padding:28px}.admin-badge{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.code-input{letter-spacing:.3em;text-align:center;height:48px;font-size:22px}.totp-steps{color:var(--text-2);flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.totp-box{border:1px solid var(--border);border-radius:12px;align-items:center;gap:16px;padding:12px;display:flex}.totp-qr{background:#fff;border-radius:8px;flex:none;width:140px;height:140px;padding:6px}.totp-qr svg{width:100%;height:100%;display:block}.admin-alerts{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.admin-alert{background:var(--amber-soft);color:var(--text);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:13px;display:flex}.admin-alert svg{color:var(--amber);flex:none;margin-top:1px}.admin-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.admin-kpis .stat{flex-direction:column;gap:4px;padding:16px 18px;display:flex}.admin-kpis .stat .v{font-size:28px}.admin-grid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;display:grid}.admin-big{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.admin-chart{width:100%;height:auto;display:block}.admin-chart .grid{stroke:var(--border);stroke-width:1px}.admin-chart .axis{fill:var(--text-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.admin-chart .bar{fill:var(--text-3);opacity:.55}.admin-chart .bar.hover{opacity:.9}.admin-chart .bar.today{fill:var(--yellow);stroke:#d4b800;stroke-width:1px;opacity:1}.admin-tip{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);pointer-events:none;white-space:nowrap;border-radius:8px;padding:6px 10px;font-size:12px;position:absolute;top:44px;transform:translate(-50%)}.admin-feed-link{color:inherit;text-decoration:none}.admin-feed-link:hover{background:var(--surface-2);border-radius:6px;margin:0 -8px;padding-left:8px;padding-right:8px;text-decoration:none}.admin-table th.num,.admin-table td.num{text-align:right;font-variant-numeric:tabular-nums}.admin-table tr.clickable{cursor:pointer}.admin-table tr.clickable:hover td{background:var(--surface-2)}.toolbar .search input{width:100%}@media (width<=900px){.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}}.code-input.backup{letter-spacing:.12em;font-size:20px}.backup-grid{border:1px solid var(--border);background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;padding:14px 16px;font-size:15px;display:grid}.auth-form form>.auth-msg-icon{margin-bottom:2px}.btn.icon,.btn.icon.sm,.btn.icon.xs{padding:0!important}.btn svg{flex:none}.btn.icon:not(.sm):not(.xs){width:36px;height:36px}.btn.icon:not(.sm):not(.xs) svg{width:18px;height:18px}.chat-pill{height:52px;padding:0 8px 0 14px}.chat-pill .spark,.chat-head .spark{width:30px;height:30px}.chat-pill .spark svg,.chat-head .spark svg{width:16px;height:16px}.chat-pill input{font-size:15px}.chat-head{gap:6px}.chat-input{align-items:center;padding:6px 6px 6px 12px}.me-btn .btn.icon svg{width:18px;height:18px}.stat-tiles .stat{flex-direction:column;gap:2px;padding:18px 20px;display:flex}.stat-tiles .stat .v{margin-top:12px;font-size:30px;line-height:1.15}.stat-tiles .stat .k{color:var(--text);font-size:14px;font-weight:700}.stat-tiles .stat .d{color:var(--text-3);font-size:12.5px}.stat-ic{background:var(--surface-3);width:36px;height:36px;color:var(--text-2);border-radius:10px;place-items:center;display:grid}.stat-ic.amber{color:#8a6a00;background:#fdf0b8}.stat-ic.teal{color:#0f766e;background:#d7f1ec}.stat-ic.green{color:#1e7a45;background:#dcf3e4}:root[data-theme=dark] .stat-ic.amber{color:#f4d505;background:#3a3110}:root[data-theme=dark] .stat-ic.teal{color:#5eead4;background:#10302c}:root[data-theme=dark] .stat-ic.green{color:#6fd99a;background:#12301e}.tour{z-index:90;position:fixed;inset:0}.tour-dim{background:#0f0e0c8c;position:absolute;inset:0}.tour-spot{box-shadow:0 0 0 9999px #0f0e0c8c, 0 0 0 2px var(--yellow);pointer-events:none;border-radius:12px;transition:all .25s;position:fixed}.tour-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:14px;max-width:calc(100vw - 32px);padding:14px 18px 16px;animation:.18s pop;position:fixed}.tour-dots{gap:5px;margin-top:12px;display:flex}.tour-dots span{background:var(--border);border-radius:50%;width:6px;height:6px}.tour-dots span.on{background:var(--text);border-radius:3px;width:16px}.whats-new{color:var(--text-2);flex-direction:column;gap:6px;margin:6px 0 0;padding-left:20px;line-height:1.5;display:flex}.release-v{color:var(--text);font-size:13px;font-weight:700}.auth-legal{text-align:center;margin-top:28px}.auth-legal a{color:inherit}.auth-form{flex-direction:column;justify-content:center;align-items:center;display:flex}.nav-ic{flex:none;width:16px;height:16px;display:inline-grid}.nav-ic>svg{grid-area:1/1;width:16px;height:16px}.nav-ic .ic-fill{visibility:hidden}.nav-item.active .nav-ic .ic-fill{visibility:visible;fill:#f4d505;stroke:#f4d505;color:#f4d505}.nav-item.active .nav-ic .ic-line{fill:none;color:#191817}:root[data-theme=dark] .nav-item.active .nav-ic .ic-line{stroke-width:2.2px}.stat-tiles .stat{padding:16px 18px 16px 20px;position:relative}.stat-tiles .stat .stat-ic{position:absolute;top:14px;right:14px}.stat-tiles .stat .v{margin-top:0;padding-right:48px}
