:root{--bg: #f9f9f9;--surface: #ffffff;--ink: #0f0f0f;--ink-2: #606060;--ink-3: #909090;--divider: #e5e5e5;--chip: #f2f2f2;--chip-hover: #e5e5e5;--chip-active: #0f0f0f;--blue: #065fd4;--blue-soft: #def1ff;--red: #cc0000;--red-brand: #ff0000;--red-soft: #ffeaea;--green: #0f7a3d;--green-soft: #e6f4ea;--amber: #b07800;--amber-soft: #fff3d6;--orange: #cc6d00;--shadow-hover: 0 1px 2px rgba(0, 0, 0, .1), 0 4px 12px rgba(0, 0, 0, .08)}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:Roboto,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}button,input,select,textarea{font-family:inherit}[hidden]{display:none!important}a{color:inherit;text-decoration:none}.fullpage-loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--ink-3)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--surface);border-bottom:1px solid var(--divider);position:sticky;top:0;z-index:20}.topbar-inner{height:56px;padding:0 20px;display:flex;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:8px;color:var(--ink);min-width:0}.brand .logo{flex:none;display:block}.topbar h1{font-size:16px;font-weight:700;letter-spacing:-.2px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-user{margin-left:auto;font-size:13px;color:var(--ink-2);display:flex;align-items:center;gap:6px;white-space:nowrap}.role-chip{font-size:11px;font-weight:500;padding:1px 8px;border-radius:10px;background:var(--chip);color:var(--ink-2)}.role-chip.admin{background:var(--blue-soft);color:var(--blue)}.chip-btn{border:none;background:var(--chip);color:var(--ink);border-radius:18px;height:32px;padding:0 14px;font-size:13px;font-weight:500;cursor:pointer;flex:none;display:inline-flex;align-items:center;justify-content:center}.chip-btn:hover{background:var(--chip-hover)}.body-row{display:flex;flex:1;min-height:0}.sidebar{width:216px;flex:none;padding:12px 8px;border-right:1px solid var(--divider);background:var(--surface);position:sticky;top:56px;height:calc(100vh - 56px);overflow-y:auto;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;color:var(--ink);font-size:14px;cursor:pointer}.nav-item:hover{background:var(--chip)}.nav-item.active{background:var(--chip);font-weight:700}.nav-icon{width:20px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--ink-2)}.nav-item.active .nav-icon{color:var(--ink)}.nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-area{flex:1;min-width:0;padding:24px 24px 90px;max-width:1280px;margin:0 auto;width:100%}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{background:var(--surface);border:1px solid var(--divider);border-radius:16px;width:100%;max-width:360px;padding:32px 28px;display:flex;flex-direction:column;gap:16px}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:4px}.login-brand h1{font-size:17px;font-weight:700;letter-spacing:-.3px}.login-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--ink-2)}.login-card input{border:1px solid #d3d3d3;background:var(--surface);border-radius:10px;padding:10px 14px;font-size:14px;color:var(--ink);outline:none}.login-card input:focus{border-color:var(--blue)}.login-error{font-size:12.5px;color:var(--red)}.primary-btn{border:none;background:var(--blue);color:#fff;border-radius:18px;padding:10px 18px;font-size:14px;font-weight:500;cursor:pointer}.primary-btn:hover{background:#0556bf}.primary-btn:disabled{opacity:.5;cursor:default}.connect-page{min-height:100vh;padding:28px 16px 48px;background:radial-gradient(1100px 420px at 50% -140px,#dbe9fb,#dbe9fb00 70%),var(--bg);display:flex;justify-content:center}.connect-shell{width:100%;max-width:760px;display:flex;flex-direction:column;gap:14px}.connect-topbar{display:flex;align-items:center;gap:9px;padding:2px 6px}.connect-topbar-name{font-size:14.5px;font-weight:700;letter-spacing:-.2px}.connect-secure{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--ink-2);background:var(--surface);border:1px solid var(--divider);border-radius:14px;padding:4px 11px}.connect-secure svg{color:var(--green)}.connect-card{background:var(--surface);border:1px solid var(--divider);border-radius:20px;padding:40px 44px;display:flex;flex-direction:column;gap:26px;box-shadow:0 1px 2px #0f172a0a,0 12px 32px #0f172a0f}.connect-hero{display:flex;flex-direction:column;gap:10px}.connect-kicker{align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.4px;color:var(--blue);background:var(--blue-soft);border-radius:12px;padding:3px 10px}.connect-channel{display:flex;align-items:center;gap:13px;margin-top:14px}.connect-channel .avatar{width:40px;height:40px;font-size:16px;box-shadow:0 0 0 1px #0000000f}.connect-hero h1{font-size:24px;font-weight:800;letter-spacing:-.5px;line-height:1.3}.connect-hero p{font-size:14.5px;color:var(--ink-2);line-height:1.65;margin-top:6px}.connect-benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px}.connect-benefit{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--divider);border-radius:14px;padding:13px 14px;background:#fbfbfb}.connect-benefit>svg{flex:none;color:var(--blue);margin-top:1px}.connect-benefit b{display:block;font-size:13px;margin-bottom:2px}.connect-benefit span{font-size:12px;color:var(--ink-2);line-height:1.5}.connect-sec-title{font-size:13px;font-weight:700;color:var(--ink-2);letter-spacing:.2px;display:flex;align-items:center;gap:10px}.connect-sec-title:after{content:"";flex:1;height:1px;background:var(--divider)}.connect-steps ol{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}.connect-step{border:1px solid var(--divider);border-radius:16px;overflow:hidden;background:var(--surface)}.connect-step-pic{background:#eef2f7;padding:14px}.connect-step-pic .step-svg{display:block;width:100%;height:auto}.connect-step-body{padding:12px 14px 14px;display:flex;gap:10px}.connect-step-num{flex:none;width:22px;height:22px;border-radius:50%;margin-top:1px;background:var(--ink);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.connect-step-body>div>b{font-size:13.5px;display:block;margin-bottom:3px}.connect-step-body p{font-size:12.5px;color:var(--ink-2);line-height:1.55}.connect-step-body p b{font-weight:700;color:#404040}.connect-error{font-size:13px;color:var(--red);background:var(--red-soft);border:1px solid #f3c4c4;border-radius:12px;padding:11px 14px;line-height:1.55}.connect-ok{font-size:13px;color:#0f7a3d;background:#e9f7ee;border:1px solid #bfe5cd;border-radius:12px;padding:11px 14px;line-height:1.55}.connect-panels{display:flex;flex-direction:column;gap:10px}.connect-panel{border:1px solid var(--divider);border-radius:16px;background:var(--surface);overflow:hidden}.connect-panel[open]{border-color:#d4d9e0;box-shadow:var(--shadow-hover)}.connect-panel[data-done]{background:#fbfcfb}.connect-panel>summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;padding:15px 18px;font-size:14.5px;font-weight:700}.connect-panel>summary::-webkit-details-marker{display:none}.connect-panel>summary:after{content:"";flex:none;width:7px;height:7px;margin-left:2px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg);margin-top:-4px;transition:transform .15s}.connect-panel[open]>summary:after{transform:rotate(-135deg);margin-top:3px}.connect-panel-mark{flex:none;display:flex}.connect-panel-name{flex:1;letter-spacing:-.2px}.connect-panel-state{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--blue);background:#eef4ff;border-radius:999px;padding:4px 11px}.connect-panel-state.is-done{color:#0f7a3d;background:#e9f7ee}.connect-panel-state.is-off{color:var(--ink-3);background:#f2f2f2}.connect-panel-body{padding:0 18px 18px;display:flex;flex-direction:column;gap:14px}.connect-panel-intro{font-size:13.5px;color:var(--ink-2);line-height:1.6}.connect-panel-steps{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:620px){.connect-panel-steps,.connect-benefits{grid-template-columns:1fr}}.connect-cta{display:flex;flex-direction:column;align-items:center;gap:10px;padding:2px 0}.google-btn{display:inline-flex;align-items:center;gap:10px;cursor:pointer;background:var(--surface);color:#3c4043;border:1px solid #dadce0;border-radius:24px;height:48px;padding:0 26px;font-size:15px;font-weight:600;letter-spacing:.1px}.google-btn:hover{background:#f8faff;border-color:#d2e3fc;box-shadow:var(--shadow-hover)}.connect-cta-note{font-size:12px;color:var(--ink-3)}.connect-faqs{display:flex;flex-direction:column;gap:8px}.connect-faq{border:1px solid var(--divider);border-radius:14px;background:#fbfbfb}.connect-faq summary{cursor:pointer;padding:12px 16px;font-size:13px;font-weight:600;color:var(--ink);list-style:none;display:flex;align-items:center;gap:8px}.connect-faq summary::-webkit-details-marker{display:none}.connect-faq summary:after{content:"";margin-left:auto;width:7px;height:7px;flex:none;border-right:1.6px solid var(--ink-3);border-bottom:1.6px solid var(--ink-3);transform:rotate(45deg);transition:transform .15s;margin-top:-3px}.connect-faq[open] summary:after{transform:rotate(-135deg);margin-top:3px}.connect-faq p{padding:0 16px 14px;font-size:12.5px;color:var(--ink-2);line-height:1.65}.connect-result{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:24px 0 12px}.connect-result h1{font-size:21px;font-weight:800;letter-spacing:-.4px}.connect-result p{font-size:14px;color:var(--ink-2);line-height:1.65;max-width:430px}.connect-footer{text-align:center;font-size:11.5px;color:var(--ink-3);line-height:1.6}@media(max-width:640px){.connect-page{padding:18px 12px 36px}.connect-card{padding:26px 20px;border-radius:16px;gap:22px}.connect-benefits,.connect-steps ol{grid-template-columns:1fr}.connect-hero h1{font-size:20px}.connect-step-pic{padding:8px}}.coming-soon{text-align:center;padding:90px 20px;color:var(--ink-2)}.coming-soon h2{font-size:20px;font-weight:700;color:var(--ink);margin-bottom:10px}.badge{font-size:12px;font-weight:500;padding:1px 8px;border-radius:10px;white-space:nowrap}.b-inquiry{background:var(--red-soft);color:var(--red)}.b-channel{background:var(--blue-soft);color:var(--blue)}.b-reply{background:var(--chip);color:var(--ink-2)}.b-muted{background:var(--chip);color:var(--ink-3)}.b-long{background:var(--blue-soft);color:var(--blue)}.b-short{background:var(--red-soft);color:var(--red)}.status-chip{font-size:12px;font-weight:500;padding:2px 10px;border-radius:12px;white-space:nowrap}.st-new{background:var(--red-soft);color:var(--red)}.st-seen{background:var(--amber-soft);color:var(--amber)}.st-done{background:var(--green-soft);color:var(--green)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.stat{background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:14px 16px}.stat .label{font-size:12px;color:var(--ink-2);margin-bottom:2px}.stat .value{font-size:22px;font-weight:700;letter-spacing:-.3px}.stat.alert .value{color:var(--red)}.briefing{background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:16px;margin-bottom:24px}.briefing .briefing-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:700;font-size:14px;flex-wrap:wrap}.briefing .briefing-head svg{color:var(--blue);flex:none}.briefing .briefing-head .spacer{flex:1}.briefing .briefing-head .c-time{font-weight:400}.briefing .placeholder{color:var(--ink-3);font-size:13px}.briefing-body{font-size:13.5px}.briefing-body h2:first-child{margin-top:4px}.briefing-body-text{font-size:13.5px;line-height:1.7;color:var(--ink);white-space:pre-wrap}.section-head{display:flex;align-items:center;margin:0 0 12px}.section-head .title{font-size:16px;font-weight:700;color:var(--ink);flex:1}.channel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:24px}.channel-card{background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:16px;cursor:pointer;transition:box-shadow .15s;position:relative}.channel-card:hover{box-shadow:var(--shadow-hover)}.channel-card .head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.avatar{width:48px;height:48px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:500;font-size:18px;position:relative;overflow:hidden}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.channel-card .head .t{flex:1;min-width:0}.channel-card .name-row{display:flex;align-items:center;gap:8px}.channel-card .name{font-size:15px;font-weight:500;letter-spacing:-.2px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-card .handle{font-size:12px;color:var(--ink-2)}.channel-card .open-badge{flex:none;margin-left:auto;background:var(--red);color:#fff;font-size:11px;font-weight:500;padding:2px 9px;border-radius:11px;line-height:1.5}.channel-card .open-badge.repay{background:var(--orange);margin-left:6px}.channel-card .open-badge.repay:first-of-type{margin-left:auto}.channel-card .nums{display:flex;border-top:1px solid var(--divider);padding-top:12px}.channel-card .num{flex:1;text-align:center}.channel-card .num .v{font-size:16px;font-weight:700}.channel-card .num .v.red{color:var(--red)}.channel-card .num .k{font-size:11px;color:var(--ink-3)}.channel-card .last{font-size:11px;color:var(--ink-3);margin-top:10px;text-align:right}.all-link{display:block;text-align:center;background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:12px;color:var(--blue);font-size:14px;font-weight:500;cursor:pointer;width:100%}.all-link:hover{background:var(--blue-soft);border-color:transparent}.channel-head{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.back-btn{border:none;background:transparent;border-radius:50%;width:40px;height:40px;font-size:18px;cursor:pointer;color:var(--ink);flex:none}.back-btn:hover{background:var(--chip)}.channel-head .avatar{width:48px;height:48px}.channel-head .t{flex:1;min-width:140px}.channel-head .t .name{font-size:18px;font-weight:700;letter-spacing:-.3px}.channel-head .t .sub{font-size:12px;color:var(--ink-2)}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button{height:32px;padding:0 12px;border-radius:8px;border:none;background:var(--chip);color:var(--ink);font-size:14px;cursor:pointer;white-space:nowrap}.chips button:hover{background:var(--chip-hover)}.chips button.active{background:var(--chip-active);color:#fff}.vsep{width:1px;height:24px;background:var(--divider);flex:none}.filter-select{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 6px 0 12px;border-radius:8px;background:var(--chip);color:var(--ink-2);cursor:pointer;flex:none}.filter-select:hover{background:var(--chip-hover)}.filter-select.active{background:var(--blue-soft);color:var(--blue)}.filter-select select{border:none;background:transparent;font-size:14px;color:var(--ink);outline:none;cursor:pointer;padding-right:2px}.filter-select.active select{color:var(--blue);font-weight:600}.filter-select.cycle-select{background:var(--surface);border:1px solid var(--divider)}.filter-select.cycle-select:hover{background:var(--surface);border-color:var(--ink-3)}.filter-select.cycle-select.active{background:var(--surface);border-color:var(--blue)}.search{flex:1;min-width:180px}.search input{width:100%;border:1px solid #d3d3d3;background:var(--surface);border-radius:20px;padding:8px 16px;font-size:14px;color:var(--ink);outline:none}.search input:focus{border-color:var(--blue)}.list{display:flex;flex-direction:column;gap:12px}.thread{background:var(--surface);border:1px solid var(--divider);border-radius:12px}.c-root{padding:16px}.comment{display:flex;gap:12px}.c-avatar{width:40px;height:40px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:500;font-size:16px;position:relative;overflow:hidden}.c-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.c-avatar.sm{width:24px;height:24px;font-size:11px}.c-main{flex:1;min-width:0}.c-row1{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px}.c-row1 .spacer{flex:1}.c-author{font-weight:500;font-size:13px;color:var(--ink)}.c-author.owner{background:#606060;color:#fff;padding:1px 8px;border-radius:10px;font-size:12px}.c-time{color:var(--ink-3);font-size:12px}.c-channel{font-size:12px;color:var(--ink-3)}.c-channel:hover{color:var(--ink);text-decoration:underline}.c-tag{font-size:11px;color:var(--ink-3);border:1px solid var(--divider);border-radius:4px;padding:0 5px}.c-tag.platform{color:var(--blue);border-color:transparent;background:var(--blue-soft)}.c-state{font-size:12px;font-weight:500;color:var(--ink-2);flex:none;white-space:nowrap}.c-state.attention{color:var(--red);font-weight:600}.c-state.attention:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--red);margin-right:5px;vertical-align:1.5px}.c-state.seen{color:var(--orange)}.c-state.done{color:var(--green)}.c-state.owner-needed{color:var(--amber);font-weight:600;background:var(--amber-soft);padding:1px 8px;border-radius:10px;font-size:11.5px;cursor:help}.c-text{font-size:14px;line-height:1.55;color:var(--ink);white-space:pre-wrap;word-break:break-word}.c-reason{font-size:12px;color:var(--ink-3);margin-top:4px}.c-reason.owner{color:var(--amber)}.c-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0 52px}.c-foot .spacer{flex:1}.c-foot a.link{color:var(--ink-2);font-size:12px;font-weight:500;text-decoration:none;padding:4px 10px;border-radius:14px}.c-foot a.link:hover{background:var(--chip);color:var(--ink)}.c-foot button{border:none;background:none;border-radius:14px;padding:5px 12px;font-size:12px;font-weight:500;cursor:pointer;color:var(--ink-2)}.c-foot button:hover{background:var(--chip);color:var(--ink)}.c-foot button.primary{background:var(--chip);color:var(--ink);font-weight:600}.c-foot button.primary:hover{background:var(--chip-hover)}.c-foot button:disabled{opacity:.5;cursor:default}.kebab{position:relative;flex:none}.kebab-btn{border:none;background:none;cursor:pointer;color:var(--ink-2);width:28px;height:28px;margin:-5px -6px -5px 0;border-radius:50%;display:flex;align-items:center;justify-content:center}.kebab-btn:hover{background:var(--chip);color:var(--ink)}.kebab-backdrop{position:fixed;inset:0;z-index:29}.kebab-menu{position:absolute;right:0;top:26px;z-index:30;background:var(--surface);border:1px solid var(--divider);border-radius:10px;box-shadow:var(--shadow-hover);min-width:128px;padding:5px;display:flex;flex-direction:column}.kebab-menu button{display:flex;align-items:center;gap:9px;border:none;background:none;cursor:pointer;padding:8px 11px;border-radius:7px;font-size:13px;color:var(--ink);text-align:left;white-space:nowrap}.kebab-menu button:hover{background:var(--chip)}.kebab-menu button:disabled{opacity:.5;cursor:default}.kebab-menu button.danger{color:var(--red)}.kebab-menu button.danger:hover{background:var(--red-soft)}.reply-box{margin:10px 0 4px 52px;display:flex;flex-direction:column;gap:8px}.reply .reply-box{margin-left:36px}.reply-box textarea{width:100%;border:1px solid #d3d3d3;border-radius:10px;padding:10px 12px;font-size:13.5px;line-height:1.55;color:var(--ink);resize:vertical;outline:none;background:var(--surface)}.reply-box textarea:focus{border-color:var(--blue)}.reply-box-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.reply-box-actions .spacer{flex:1}.suggest-box{margin:10px 0 4px 52px;padding:10px 12px;border:1px solid var(--divider);border-radius:10px;background:var(--bg);display:flex;flex-direction:column;gap:8px}.reply .suggest-box{margin-left:36px}.suggest-head{display:flex;align-items:center;gap:6px;color:var(--ink-2);flex-wrap:wrap}.suggest-head .spacer{flex:1}.suggest-title{font-size:12px;font-weight:600;color:var(--ink)}.suggest-meta{font-size:11.5px;color:var(--ink-3)}.suggest-text{font-size:13.5px;line-height:1.6;color:var(--ink);white-space:pre-wrap;word-break:break-word;background:var(--surface);border:1px solid var(--divider);border-radius:8px;padding:9px 11px}.suggest-empty{font-size:12.5px;color:var(--ink-3);line-height:1.5}.suggest-warn{font-size:12.5px;line-height:1.5;color:var(--amber);background:var(--amber-soft);border-radius:8px;padding:8px 10px}.suggest-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.suggest-actions .spacer{flex:1}.suggest-note{font-size:11.5px;color:var(--ink-3)}.suggest-copy{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--divider);background:var(--surface);color:var(--ink-2);border-radius:14px;padding:4px 11px;font-size:12px;font-weight:600;cursor:pointer}.suggest-copy:hover{background:var(--chip);color:var(--ink)}.suggest-copy.done{color:var(--green);border-color:var(--green);background:var(--green-soft)}.chip-btn.sm{height:28px;padding:0 12px;font-size:12px}.replies{padding:0 16px 12px 68px;position:relative}.replies:before{content:"";position:absolute;left:35px;top:2px;bottom:14px;width:2px;background:var(--divider);border-radius:1px}.replies-toggle{background:none;border:none;color:var(--ink-2);font-size:13px;font-weight:500;cursor:pointer;padding:6px 12px;border-radius:16px;margin-left:-12px}.replies-toggle:hover{background:var(--chip);color:var(--ink)}.reply{padding-top:12px}.reply .c-avatar{width:24px;height:24px;font-size:11px}.reply .c-text{font-size:13.5px}.reply .c-foot{margin:4px 0 0 36px}.add-form{display:flex;gap:10px;margin-bottom:8px;flex-wrap:wrap}.add-form input,.add-form select{border:1px solid #d3d3d3;background:var(--surface);border-radius:20px;padding:9px 16px;font-size:14px;outline:none;color:var(--ink)}.add-form input{flex:1;min-width:160px}.add-form input:focus{border-color:var(--blue)}.add-form button{border:none;background:var(--blue);color:#fff;border-radius:18px;padding:0 18px;height:38px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}.add-form button:hover{background:#0556bf}.add-form button:disabled{opacity:.5;cursor:default}.admin-msg{font-size:12.5px;min-height:22px;margin-bottom:12px;padding-left:2px}.admin-msg.ok{color:var(--green)}.admin-msg.err{color:var(--red)}.admin-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--divider);border-radius:12px;margin-bottom:10px}.admin-row.inactive{opacity:.55}.admin-row .avatar{width:40px;height:40px;font-size:15px}.admin-row .t{flex:1;min-width:0}.admin-row .name{font-weight:500;font-size:14px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.admin-row .sub{font-size:12px;color:var(--ink-2)}.admin-row .actions{display:flex;gap:6px;flex:none;flex-wrap:wrap}.admin-row .actions button{border:none;background:var(--chip);border-radius:14px;padding:6px 12px;font-size:12px;font-weight:500;cursor:pointer;color:var(--ink)}.admin-row .actions button:hover{background:var(--chip-hover)}.admin-row .actions button:disabled{opacity:.5;cursor:default}.admin-row .actions button.danger{color:var(--red)}.admin-row .actions button.danger:hover{background:var(--red-soft)}.more{text-align:center;margin-top:20px}.more button{border:none;background:var(--chip);border-radius:18px;padding:9px 26px;font-size:14px;font-weight:500;cursor:pointer;color:var(--ink)}.more button:hover{background:var(--chip-hover)}.empty{text-align:center;color:var(--ink-3);padding:56px 0}.skeleton{text-align:center;color:var(--ink-3);padding:40px 0}.new-data-pill{position:fixed;bottom:26px;left:50%;transform:translate(-50%);background:var(--blue);color:#fff;border:none;border-radius:18px;padding:10px 20px;font-size:13px;font-weight:500;cursor:pointer;box-shadow:0 4px 16px #00000040;z-index:30;white-space:nowrap}.new-data-pill:hover{background:#0556bf}.cycle-card{background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:16px 16px 8px}.cycle-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.cycle-name{font-size:14px;font-weight:700}.cycle-sub{font-size:12px;color:var(--ink-2)}.cycle-link{margin-left:auto;font-size:12px;font-weight:500;color:var(--blue)}.cycle-link:hover{text-decoration:underline}.timeline{display:flex;margin-bottom:6px}.tl-step{flex:1;position:relative;text-align:center;padding-bottom:10px;min-width:0}.tl-step:before{content:"";position:absolute;top:6px;left:-50%;width:100%;height:2px;background:var(--divider)}.tl-step:first-child:before{display:none}.tl-step.done:before,.tl-step.active:before{background:var(--green)}.tl-dot{width:14px;height:14px;border-radius:50%;margin:0 auto 8px;background:var(--divider);position:relative;z-index:1;border:3px solid var(--surface);box-sizing:content-box}.tl-step.done .tl-dot{background:var(--green)}.tl-step.active .tl-dot{background:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}.tl-label{font-size:12px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}.tl-step.pending .tl-label{color:var(--ink-3);font-weight:400}.tl-date{font-size:11px;color:var(--ink-3);margin-top:2px}.tl-step.active .tl-date{color:var(--blue);font-weight:500}.video-tracks{border-top:1px solid var(--divider);padding:10px 0 8px;display:flex;flex-direction:column;gap:8px}.video-track{display:flex;align-items:center;gap:10px}.vt-name{font-size:13px;font-weight:500;min-width:56px}.cycle-form{display:flex;flex-wrap:wrap;gap:14px;margin:4px 0 10px}.cycle-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:500;color:var(--ink-2)}.cycle-form input{border:1px solid #d3d3d3;background:var(--surface);border-radius:8px;padding:7px 10px;font-size:13px;color:var(--ink);outline:none;width:150px}.cycle-form input:focus{border-color:var(--blue)}.form-hint{font-size:12px;color:var(--ink-3);margin-bottom:4px}.stage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stage-card{border:1px solid var(--divider);border-radius:10px;padding:12px 14px;background:var(--surface)}.stage-card.done{background:var(--bg)}.stage-card.warn{border-color:var(--orange)}.stage-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.stage-name{font-size:13px;font-weight:700;flex:1}.stage-body{display:flex;align-items:center;gap:8px;margin-bottom:10px}.due-input{border:1px solid #d3d3d3;background:var(--surface);border-radius:8px;padding:5px 8px;font-size:12.5px;color:var(--ink);outline:none}.due-input:focus{border-color:var(--blue)}.due-input.sm{padding:3px 6px;font-size:12px}.postpone{font-size:11px;color:var(--ink-3);white-space:nowrap}.stage-foot{display:flex;gap:6px}.stage-toggle{border:1px solid var(--divider);background:var(--surface);border-radius:12px;padding:3px 10px;font-size:11.5px;font-weight:500;cursor:pointer;color:var(--ink-2)}.stage-toggle:hover{background:var(--chip);color:var(--ink)}.stage-toggle.on{background:var(--chip);color:var(--ink);border-color:transparent;font-weight:600}.rule-warn{margin-top:10px;font-size:12.5px;color:var(--orange);font-weight:500}.target-list{display:flex;flex-direction:column;margin-bottom:4px}.target-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--divider)}.target-row:first-child{border-top:none}.target-label-input{border:1px solid transparent;background:none;border-radius:8px;padding:5px 8px;font-size:13px;font-weight:500;color:var(--ink);outline:none;width:200px;min-width:0;flex-shrink:1}.target-label-input:hover{border-color:var(--divider)}.target-label-input:focus{border-color:var(--blue);background:var(--surface)}.target-chip{font-size:11px;font-weight:500;color:var(--blue);background:var(--blue-soft);border-radius:10px;padding:2px 8px;white-space:nowrap}.target-progress{margin-left:auto;display:flex;align-items:center;gap:8px}.target-count{font-size:12.5px;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}.target-num-input{border:1px solid #d3d3d3;background:var(--surface);border-radius:8px;padding:3px 6px;font-size:12px;color:var(--ink);outline:none;width:54px}.target-num-input:focus{border-color:var(--blue)}.target-bar{width:90px;height:6px;border-radius:3px;background:var(--chip);overflow:hidden}.target-bar span{display:block;height:100%;background:var(--blue)}.target-bar.full span{background:var(--green)}.target-del{border:none;background:none;border-radius:8px;padding:3px 8px;font-size:11px;cursor:pointer;color:var(--ink-3)}.target-del:hover:not(:disabled){color:var(--red);background:var(--red-soft)}.target-del:disabled{opacity:.35;cursor:default}.target-empty{font-size:12px;color:var(--ink-3);padding:2px 0 10px}.target-add{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;border-top:1px solid var(--divider);padding:10px 0 8px}.target-add label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:500;color:var(--ink-3)}.target-add input,.target-add select{border:1px solid #d3d3d3;background:var(--surface);border-radius:8px;padding:6px 9px;font-size:12.5px;color:var(--ink);outline:none}.target-add input:focus,.target-add select:focus{border-color:var(--blue)}.target-add .chip-btn{margin-bottom:1px}@media(max-width:680px){.target-row{flex-wrap:wrap}.target-label-input{width:auto;flex:1 1 120px}.target-progress{margin-left:0;flex:1 1 100%;justify-content:flex-end}}.kanban{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;align-items:start}.kanban-col{background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:10px;min-height:120px}.kanban-head{font-size:12.5px;font-weight:700;color:var(--ink-2);padding:2px 4px 10px;display:flex;align-items:center;gap:6px}.kanban-count{font-weight:400;color:var(--ink-3)}.kanban-empty{font-size:12px;color:var(--ink-3);text-align:center;padding:18px 0}.track-card{border:1px solid var(--divider);border-radius:10px;padding:10px;margin-bottom:8px;background:var(--surface)}.track-row1{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}.track-name{font-size:13px;font-weight:500}.track-row2{display:flex;align-items:center;gap:6px;margin-bottom:8px}.track-actions{display:flex;align-items:center;gap:4px}.track-actions .spacer{flex:1}.track-actions button{border:none;background:var(--chip);border-radius:8px;padding:3px 9px;font-size:11px;cursor:pointer;color:var(--ink-2)}.track-actions button:hover:not(:disabled){background:var(--chip-hover);color:var(--ink)}.track-actions button:disabled{opacity:.35;cursor:default}.track-actions button.danger{background:none}.track-actions button.danger:hover{color:var(--red);background:var(--red-soft)}.cal-wrap{background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:18px 18px 10px}.cal-head{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:14px}.cal-title{font-size:16px;font-weight:700;min-width:110px;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-daynames{border-bottom:1px solid var(--divider);margin-bottom:2px}.cal-dayname{text-align:center;font-size:12px;color:var(--ink-3);padding:4px 0 8px;font-weight:500}.cal-dayname.sun{color:var(--red);opacity:.7}.cal-cell{min-height:124px;border:1px solid transparent;border-bottom:1px solid var(--divider);padding:5px;border-radius:6px;overflow:hidden}.cal-wrap.tall .cal-cell{min-height:156px}.cal-cell.out{opacity:.38}.cal-cell.today{background:var(--blue-soft)}.cal-cell.drop-target{border-color:var(--blue);background:var(--blue-soft)}.cal-daynum{font-size:12px;color:var(--ink-2);padding:1px 3px 5px}.cal-cell.today .cal-daynum{color:var(--blue);font-weight:700}.cal-pill{display:block;font-size:12px;line-height:1.45;padding:3px 7px;border-radius:6px;margin-bottom:3px;background:var(--chip);color:var(--ink)}.cal-pill-main{display:flex;align-items:center;gap:5px;min-width:0}.cal-pill-main .avatar{box-shadow:0 0 0 1px #00000014}.cal-pill-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-pill.wrap .cal-pill-text{white-space:normal;overflow:visible}.cal-pill-notes{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.4;color:var(--ink-3);margin-top:1px;white-space:normal}.cal-pill.stage{background:var(--blue-soft);color:var(--blue);font-weight:500}.cal-pill.done{opacity:.45}.cal-pill.done .cal-pill-text{text-decoration:line-through}.cal-pill.overdue{background:var(--red-soft);color:var(--red);font-weight:500}.cal-pill.overdue .cal-pill-notes{color:var(--red);opacity:.75}.cal-pill[draggable=true]{cursor:grab}.cal-pill.clickable{cursor:pointer}.cal-pill.clickable:hover{filter:brightness(.95)}@media(max-width:680px){.cal-wrap{overflow-x:auto}.cal-grid{min-width:560px}.cal-cell,.cal-wrap.tall .cal-cell{min-height:76px}.cal-pill{font-size:10px;padding:1px 4px}}.gantt-chart{width:100%;height:auto;display:block}.gantt-label{font-size:11.5px;fill:var(--ink-2);font-weight:500}.gantt-label.done{fill:var(--ink-3)}.gantt-bar{fill:var(--chip-hover)}.gantt-bar.stage{fill:var(--blue);opacity:.75}.gantt-bar.done{fill:var(--green-soft);stroke:var(--green);stroke-width:1}.gantt-bar.overdue{fill:var(--red-soft);stroke:var(--red);stroke-width:1}.gantt-due{font-size:10.5px;fill:var(--ink-3)}.gantt-due.overdue{fill:var(--red);font-weight:600}.gantt-due.dragging{fill:var(--blue);font-weight:700}.gantt-bar.grabbable{cursor:grab}.gantt-bar.grabbable:active{cursor:grabbing}.gantt-handle{fill:transparent;cursor:ew-resize}.gantt-handle:hover{fill:#065fd42e}.gantt-today{stroke:var(--red);stroke-width:1;opacity:.5}.gantt-today-label{font-size:10px;fill:var(--red)}.history-list{margin-top:8px;display:flex;flex-direction:column;gap:4px}.history-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12.5px;padding:7px 12px;background:var(--surface);border:1px solid var(--divider);border-radius:8px}.history-target{font-weight:500;min-width:90px}.history-target.with-avatar{display:inline-flex;align-items:center;gap:7px}@media(max-width:900px){.kanban{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.tl-label{font-size:10.5px}.tl-date{display:none}}.report-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.report-actions .spacer{flex:1}.chip-btn.primary-action{background:var(--blue);color:#fff}.chip-btn.primary-action:hover{background:#0556bf}.chip-btn.danger-text{color:var(--red)}.chip-btn.danger-text:hover{background:var(--red-soft)}.chip-btn:disabled{opacity:.5;cursor:default}.report-title-input{width:100%;border:1px solid #d3d3d3;border-radius:10px;padding:10px 14px;font-size:16px;font-weight:700;margin-bottom:10px;outline:none;color:var(--ink)}.report-title-input:focus{border-color:var(--blue)}.report-textarea{width:100%;min-height:480px;border:1px solid #d3d3d3;border-radius:12px;padding:14px 16px;font-size:13.5px;line-height:1.65;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical;outline:none;background:var(--surface)}.report-textarea:focus{border-color:var(--blue)}.report-print-area{background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:40px 44px;max-width:900px}.report-row{cursor:pointer;transition:box-shadow .15s}.report-row:hover{box-shadow:var(--shadow-hover)}.rpt-head{border-bottom:2px solid var(--ink);padding-bottom:20px;margin-bottom:24px}.rpt-eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--blue);margin-bottom:10px}.rpt-title{font-size:24px;font-weight:700;letter-spacing:-.5px;line-height:1.35;margin-bottom:10px}.rpt-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--ink-2)}.rpt-meta .strong{color:var(--ink);font-weight:600}.rpt-sep{width:3px;height:3px;border-radius:50%;background:var(--ink-3);flex:none}.rpt-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:30px}.rpt-kpi{border:1px solid var(--divider);border-radius:10px;padding:13px 15px 11px}.rpt-kpi .k{font-size:12px;color:var(--ink-2);margin-bottom:6px}.rpt-kpi .v{font-size:22px;font-weight:700;letter-spacing:-.4px;line-height:1.2;font-variant-numeric:tabular-nums}.rpt-kpi .v .u{font-size:12.5px;font-weight:500;color:var(--ink-2);margin-left:3px}.rpt-kpi .s{font-size:11.5px;color:var(--ink-3);margin-top:5px}.rpt-delta.up{color:var(--green);font-weight:600}.rpt-delta.down{color:var(--red);font-weight:600}.rpt-delta.flat{color:var(--ink-3)}.rpt-sec{margin-bottom:28px}.rpt-sec-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.rpt-sec-head h2{font-size:15.5px;font-weight:700;padding-left:10px;border-left:3px solid var(--blue);line-height:1.3}.rpt-cap{font-size:12px;color:var(--ink-3)}.rpt-empty{border:1px dashed var(--divider);border-radius:10px;padding:20px;color:var(--ink-3);font-size:13px;text-align:center}.rpt-note{font-size:12.5px;color:var(--ink-2);margin-top:10px}.rpt-videos-wrap{overflow-x:auto}.rpt-videos{width:100%;border-collapse:collapse}.rpt-videos th{text-align:left;font-size:12px;font-weight:500;color:var(--ink-2);padding:0 10px 8px;border-bottom:2px solid var(--ink);white-space:nowrap}.rpt-videos td{padding:11px 10px;border-bottom:1px solid var(--divider);vertical-align:middle;font-size:13.5px}.rpt-videos tr:last-child td{border-bottom:1px solid var(--ink)}.rpt-videos .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.rpt-videos .strong{font-weight:700}.rpt-videos .rv-title{min-width:280px}.rv-cell{display:inline-flex;align-items:center;gap:12px;max-width:100%;vertical-align:middle}a.rv-cell:hover .rv-name{text-decoration:underline}.rv-cell img{width:84px;height:47px;object-fit:cover;border-radius:8px;flex:none;background:var(--chip)}.rv-name{font-weight:500;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rv-meta{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:12px;color:var(--ink-3)}.rpt .md-body h2{border-bottom:none;border-left:3px solid var(--blue);padding:1px 0 1px 10px;font-size:15.5px;margin:28px 0 10px}.rpt .md-body{font-size:14px;line-height:1.8}.rpt .md-body .rpt-attn{color:var(--red);font-weight:700}.rpt-foot{margin-top:34px;padding-top:12px;border-top:1px solid var(--divider);font-size:11.5px;color:var(--ink-3)}.rpt-edit-hint{font-size:12.5px;color:var(--ink-2);background:var(--chip);border-radius:8px;padding:8px 12px;margin-bottom:8px}@media(max-width:720px){.report-print-area{padding:24px 18px}.rpt-title{font-size:20px}}.md-body{font-size:14px;line-height:1.75;color:var(--ink)}.md-body h2{font-size:16px;font-weight:700;margin:24px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--divider)}.md-body h2:first-child{margin-top:0}.md-body h3{font-size:14.5px;font-weight:700;margin:16px 0 6px}.md-body p{margin:8px 0}.md-body ul,.md-body ol{margin:8px 0;padding-left:22px}.md-body li{margin:4px 0}.md-body input[type=checkbox]{margin-right:6px}.md-body blockquote{border-left:3px solid var(--divider);padding-left:12px;color:var(--ink-2);margin:8px 0}.md-body table{border-collapse:collapse;margin:10px 0}.md-body th,.md-body td{border:1px solid var(--divider);padding:6px 10px;font-size:13px}.md-body th{background:var(--chip)}.md-body code{background:var(--chip);border-radius:4px;padding:1px 5px;font-size:12.5px}@media print{.topbar,.sidebar,.mobile-nav,.tabs-bar,.channel-head,.report-actions,.admin-msg,.new-data-pill,.share-tabs,.stats,.filters,.footer-note,.briefing{display:none!important}.body-row{display:block}.main-area,.share-wrap{padding:0;max-width:100%}.report-print-area{border:none;border-radius:0;padding:0;max-width:100%}body{background:#fff}.rpt-kpi,.rpt-videos tr,.rpt-sec-head{break-inside:avoid}.rpt-head{break-after:avoid}}.chart-wrap{background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:16px 16px 8px;position:relative}.daily-chart,.retention-chart{width:100%;height:auto;display:block}.chart-flex{display:flex;align-items:flex-start}.chart-yaxis{flex:none;display:block}.chart-fill{flex:1;min-width:0}.chart-scroll{flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin;cursor:grab;-webkit-user-select:none;user-select:none}.chart-scroll.panning{cursor:grabbing}.chart-bar{fill:var(--blue);opacity:.85}.chart-bar:hover{opacity:1}.chart-grid{stroke:var(--divider);stroke-width:1;stroke-dasharray:3 4}.chart-line{stroke:var(--blue);stroke-width:2.5}.chart-area{fill:var(--blue-soft);opacity:.5}.chart-label{font-size:11px;fill:var(--ink-3)}.chart-max{font-size:11px;color:var(--ink-3);text-align:right;padding:4px 2px 6px}.chart-bar.hover{opacity:1;fill:#0a4fa8}.chart-dot{fill:var(--blue);stroke:#fff;stroke-width:2;pointer-events:none}.chart-tip{position:absolute;transform:translate(-50%,-36px);pointer-events:none;z-index:5;background:var(--ink);color:#fff;font-size:12px;font-weight:500;padding:4px 10px;border-radius:6px;white-space:nowrap}.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--divider);border-radius:12px}.video-table{width:100%;border-collapse:collapse;font-size:13px;min-width:720px}.video-table th{text-align:left;font-weight:500;color:var(--ink-2);font-size:12px;padding:10px 12px;border-bottom:1px solid var(--divider);white-space:nowrap}.video-table td{padding:9px 12px;border-bottom:1px solid var(--divider);vertical-align:middle}.video-table tbody tr:last-child td{border-bottom:none}.video-table tr.clickable{cursor:pointer}.video-table tr.clickable:hover td{background:var(--bg)}.video-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.video-table .strong{font-weight:700}.video-table .muted{color:var(--ink-3);white-space:nowrap}.vt-title{min-width:260px}.vt-title-cell{display:inline-flex;align-items:center;gap:10px;color:var(--ink);max-width:100%;vertical-align:middle}a.vt-title-cell:hover span{text-decoration:underline}.vt-checks{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.vt-check{display:inline-flex;align-items:center;gap:3px;font-size:11px;line-height:1;padding:3px 7px;border-radius:9px;border:1px solid var(--divider);background:var(--surface);color:var(--ink-3)}.vt-check svg{opacity:.3;flex:none}.vt-check.on{background:var(--green-soft);border-color:transparent;color:var(--green);font-weight:500}.vt-check.on svg{opacity:1}.vt-check.unknown{border-style:dashed}.pay-save-status{font-size:12px;margin-top:8px;min-height:16px}.pay-save-status .muted{color:var(--ink-3)}.pay-save-status .ok{color:var(--green)}.pay-save-status .err{color:var(--red)}button.vt-check{cursor:pointer;font-family:inherit}button.vt-check:hover{border-color:var(--ink-3)}button.vt-check.on:hover{border-color:var(--green)}.vt-title-cell img{width:64px;height:36px;object-fit:cover;border-radius:6px;flex:none}.vt-title-cell span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.video-detail-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}.video-detail-head img{width:128px;height:72px;object-fit:cover;border-radius:10px;flex:none}.video-detail-head h2{font-size:17px;font-weight:700;letter-spacing:-.3px;line-height:1.4}.stat-sub{font-size:13px;color:var(--ink-2);font-weight:400}.share-wrap{max-width:880px;margin:0 auto;padding:24px 20px 80px}.share-topbar-inner{max-width:880px;margin:0 auto;height:56px;padding:0 20px;display:flex;align-items:center;gap:10px}.share-topbar-inner h1{font-size:16px;font-weight:700;flex:1}.share-topbar-inner .meta{font-size:12px;color:var(--ink-3);white-space:nowrap}.footer-note{text-align:center;color:var(--ink-3);font-size:12px;margin-top:30px}.share-tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid var(--divider)}.share-tabs button{border:none;background:none;padding:10px 14px;font-size:14px;font-weight:500;color:var(--ink-2);cursor:pointer;border-bottom:2px solid transparent}.share-tabs button.active{color:var(--ink);border-bottom-color:var(--ink)}.tabs-bar{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--divider);overflow-x:auto;scrollbar-width:none}.tabs-bar::-webkit-scrollbar{display:none}.tabs-bar a{padding:10px 14px;font-size:14px;font-weight:500;white-space:nowrap;color:var(--ink-2);border-bottom:2px solid transparent}.tabs-bar a:hover{color:var(--ink)}.tabs-bar a.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:700}@media(max-width:900px){.sidebar{display:none}.main-area{padding:16px 12px 90px}.mobile-nav{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--divider);position:sticky;top:56px;z-index:15}.mobile-nav button{display:inline-flex;align-items:center;gap:6px}.mobile-nav button svg{flex:none}}@media(min-width:901px){.mobile-nav{display:none}}@media(max-width:680px){.stats{grid-template-columns:repeat(2,1fr)}.channel-grid{grid-template-columns:1fr}.topbar-user{display:none}.search{min-width:100%}.replies{padding-left:44px}.admin-row{flex-wrap:wrap}}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#0f0f0f73;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--surface);border-radius:16px;width:100%;max-width:560px;max-height:calc(100vh - 56px);overflow-y:auto;padding:20px 22px;display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 40px #0003}.modal.modal-wide{max-width:720px}.modal-head{display:flex;align-items:center;gap:8px}.modal-head h3{flex:1;font-size:16px;font-weight:700;letter-spacing:-.2px}.modal-close{border:none;background:none;cursor:pointer;color:var(--ink-2);flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--chip)}.modal-desc{font-size:13px;color:var(--ink-2);line-height:1.6}.invite-link-row{display:flex;flex-direction:column;gap:5px}.invite-link{font-size:13px;font-weight:600;color:var(--blue);line-height:1.5;display:inline-flex;align-items:center;gap:5px;align-self:flex-start}.invite-link svg{flex:none}.invite-link:hover{text-decoration:underline}.invite-meta{font-size:11.5px;color:var(--ink-3);line-height:1.5}.invite-script-block{display:flex;flex-direction:column;gap:7px}.invite-script-label{font-size:12.5px;font-weight:600;color:var(--ink-2)}.invite-textarea{width:100%;min-height:300px;resize:vertical;border:1px solid var(--divider);background:var(--surface);border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.65;color:var(--ink);outline:none}.invite-textarea:focus{border-color:var(--blue)}.invite-picker{display:flex;flex-direction:column;gap:8px}.invite-picker-row{display:flex;flex-wrap:wrap;gap:8px}.invite-pick{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink);border:1px solid var(--divider);border-radius:999px;padding:7px 14px;background:var(--surface)}.invite-pick:has(input:checked){border-color:var(--blue);background:#f2f7ff;color:var(--blue)}.invite-pick input{accent-color:var(--blue);margin:0}.invite-pick-done{font-size:11px;font-weight:600;color:#0f7a3d;background:#e9f7ee;border-radius:999px;padding:2px 7px}.invite-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.invite-actions .primary-btn{padding:8px 18px;font-size:13px}.st-muted{background:var(--chip);color:var(--ink-3)}.b-telegram{background:#e3f1fa;color:#1c93d1}.b-discord{background:#eceefe;color:#5865f2}.b-slack{background:#f3eaf3;color:#7c2d6f}.notify-error{color:var(--red)}.notify-notes{margin-top:2px}.notify-edit-form{display:flex;flex-direction:column;gap:12px}.notify-edit-form label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:var(--ink-2)}.notify-edit-form input,.notify-edit-form textarea{border:1px solid var(--divider);background:var(--surface);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:400;color:var(--ink);outline:none}.notify-edit-form input:focus,.notify-edit-form textarea:focus{border-color:var(--blue)}.notify-edit-form textarea{min-height:72px;resize:vertical;line-height:1.6}.track-card{cursor:grab}.track-card.dragging{opacity:.4;cursor:grabbing}.kanban-col.col-uploaded{background:#ecf6ef}.kanban-col.drag-over{border-color:var(--blue);background:var(--blue-soft)}.st-stage-edit{background:var(--surface);border:1px solid var(--divider);color:var(--ink-2)}.st-stage-uploaded{background:#ecf6ef;color:var(--green)}.card-notes{font-size:12px;color:var(--ink-2);line-height:1.5;white-space:pre-wrap;word-break:break-word;background:var(--chip);border-radius:6px;padding:5px 8px;margin:8px 0;cursor:pointer}.card-notes:hover{background:var(--chip-hover)}.notes-add{border:none;background:none;cursor:pointer;padding:2px 0;margin:6px 0 4px;font-size:11.5px;color:var(--ink-3);text-align:left;display:block}.notes-add:hover{color:var(--blue)}.notes-add:disabled{opacity:.5;cursor:default}.card-notes-edit{margin-top:8px}.card-notes-edit textarea{width:100%;min-height:56px;resize:vertical;border:1px solid var(--divider);background:var(--surface);border-radius:8px;padding:7px 9px;font-size:12.5px;line-height:1.5;color:var(--ink);outline:none}.card-notes-edit textarea:focus{border-color:var(--blue)}.notes-actions{display:flex;gap:6px;margin-top:6px}.notes-actions .chip-btn{padding:3px 10px;font-size:11.5px}.cycle-edit,.pay-form{border-top:1px solid var(--divider);padding-top:12px;margin-top:4px}.pay-margin{font-size:14px;font-weight:700;color:var(--ink);padding:6px 0}.pay-margin.minus{color:var(--red)}.pay-status-row{display:flex;align-items:center;gap:10px;margin:10px 0 12px;flex-wrap:wrap}.pay-date{font-size:12.5px;color:var(--ink-2);display:flex;align-items:center;gap:6px}.pay-date input{border:1px solid var(--divider);background:var(--surface);border-radius:8px;padding:5px 8px;font-size:12.5px;color:var(--ink);outline:none}.pay-memo{width:100%;min-height:60px;resize:vertical;border:1px solid var(--divider);background:var(--surface);border-radius:8px;padding:8px 10px;font-size:12.5px;line-height:1.5;color:var(--ink);outline:none}.pay-memo:focus{border-color:var(--blue)}.doc-sheet{background:#fff;border:1px solid #e2e6ee;border-radius:4px;padding:52px 56px 46px;max-width:780px;margin:0 auto;font-size:13.5px;line-height:1.75;color:#1a1a1a;box-shadow:0 2px 18px #14203c14;-webkit-print-color-adjust:exact;print-color-adjust:exact}.doc-title{text-align:center;font-size:27px;letter-spacing:18px;text-indent:18px;font-weight:800;color:#171717;padding-bottom:16px;margin-bottom:30px;border-bottom:5px double #202c44}.quote-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap}.quote-to{font-size:17px;font-weight:700;letter-spacing:.5px;border-bottom:1.5px solid #202c44;padding:2px 4px 7px 2px;display:inline-block}.quote-date{font-size:12px;color:#777;margin-top:8px}.quote-supplier{position:relative;padding-right:82px;min-width:250px}.quote-supplier-rows{display:flex;flex-direction:column;gap:2px;font-size:12.5px}.quote-supplier-rows b{display:inline-block;width:74px;font-weight:600;color:#8a8a8a;letter-spacing:.5px}.doc-seal{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:66px;height:66px;opacity:.94}.doc-head-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 28px;margin-bottom:16px}.doc-head-grid b{font-weight:600;color:#333}.doc-notes{margin:18px 0;font-size:12.5px;color:#4a4a4a;line-height:1.75;background:#f7f9fc;border-left:3px solid #1e3a5f;border-radius:0 6px 6px 0;padding:11px 15px}.doc-notes b{display:block;margin-bottom:3px;color:#1f1f1f}.doc-table{width:100%;border-collapse:collapse;margin:18px 0}.doc-table th,.doc-table td{border:1px solid #d7dce6;padding:9px 12px;font-size:12.5px}.doc-table th{background:#f1f4f9;font-weight:700;color:#3a3a3a;letter-spacing:.5px;border-bottom:2px solid #202c44}.doc-table td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.doc-total td{font-weight:800;font-size:13.5px;background:#edf2f9;color:#1e3a5f;border-top:2px solid #1e3a5f}.doc-account{margin-top:18px;font-size:13px;background:#f7f9fc;border:1px solid #e2e6ee;border-radius:8px;padding:11px 15px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.doc-account b{color:#1e3a5f;letter-spacing:.5px;flex:none}.doc-account-note{color:#999;font-size:12px;margin-left:auto}.doc-editor-form{display:flex;flex-direction:column;gap:14px}.doc-textarea-label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:500;color:var(--ink-2)}.doc-textarea-label textarea,.doc-textarea-label input{border:1px solid var(--divider);background:var(--surface);border-radius:8px;padding:8px 11px;font-size:13px;line-height:1.6;color:var(--ink);outline:none;resize:vertical}.doc-textarea-label textarea:focus,.doc-textarea-label input:focus{border-color:var(--blue)}.doc-items-head{font-size:13px;font-weight:700}.doc-items-hint{font-weight:400;font-size:12px;color:var(--ink-3)}.doc-items-edit{width:100%;border-collapse:collapse}.doc-items-edit th{font-size:11.5px;color:var(--ink-2);text-align:left;padding:4px 6px}.doc-items-edit td{padding:3px 4px}.doc-items-edit input{width:100%;min-width:60px;border:1px solid var(--divider);background:var(--surface);border-radius:7px;padding:6px 8px;font-size:12.5px;color:var(--ink);outline:none}.doc-items-edit input:focus{border-color:var(--blue)}.doc-total-inline{font-size:13px;color:var(--ink-2)}.doc-total-inline b{color:var(--ink)}.doc-public{min-height:100vh;background:var(--bg);padding:22px 16px 60px}.doc-public-bar{max-width:780px;margin:0 auto 16px;display:flex;align-items:center;gap:10px}.doc-public-title{font-size:15px;font-weight:700;letter-spacing:-.2px}.doc-public-sub{font-size:12px;color:var(--ink-2)}.doc-public-bar .spacer{flex:1}@media print{.doc-actions,.doc-public-bar{display:none!important}.doc-public{padding:0;background:#fff}.doc-sheet{border:none;border-radius:0;padding:0;max-width:100%}}.contract-title{font-size:21px;letter-spacing:2.5px;text-indent:2px}.contract-parties-head{margin-bottom:24px}.contract-parties-head td{font-weight:700;font-size:13.5px;text-align:center;padding:11px}.contract-body{font-size:12.5px;line-height:1.85;color:#2a2a2a}.contract-article{font-weight:800;margin-top:22px;margin-bottom:5px;font-size:13.5px;color:#171717;border-left:3px solid #1e3a5f;padding-left:9px}.contract-gap{height:6px}.contract-closing{margin-top:30px;text-align:center;font-size:12.5px;color:#3a3a3a;line-height:1.85;border-top:1px solid #e2e6ee;padding-top:22px}.contract-date{text-align:center;font-weight:800;font-size:14px;letter-spacing:2px;margin:16px 0 24px}.contract-sign-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:12.5px;line-height:1.95}.contract-sign-col{border:1px solid #dde2ea;border-radius:8px;background:#fafbfd;padding:14px 18px}.contract-sign-head{font-weight:800;letter-spacing:3px;color:#1e3a5f;border-bottom:1.5px solid #202c44;padding-bottom:6px;margin-bottom:8px}.contract-sign-rep{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:52px}.contract-seal{color:#888}.contract-seal-img{width:50px;height:50px;margin-left:-2px;opacity:.94}.contract-signature{height:46px;margin-left:2px}.contract-signed-note{font-size:11px;color:var(--green);margin-top:4px}.contract-body-edit{font-size:12.5px;line-height:1.7;min-height:420px}.sign-box{max-width:780px;margin:18px auto 0;background:var(--surface);border:1px solid var(--divider);border-radius:14px;padding:22px 24px;display:flex;flex-direction:column;gap:12px}.sign-box-title{font-size:15px;font-weight:700}.sign-box-desc{font-size:12.5px;color:var(--ink-2);line-height:1.65}.sign-name-label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:var(--ink-2);max-width:280px}.sign-name-label input{border:1px solid var(--divider);background:var(--surface);border-radius:8px;padding:9px 12px;font-size:14px;color:var(--ink);outline:none;font-weight:400}.sign-name-label input:focus{border-color:var(--blue)}.sign-pad{display:flex;flex-direction:column;gap:6px}.sign-canvas{width:100%;max-width:460px;height:160px;touch-action:none;border:1.5px dashed #b5b5b5;border-radius:10px;background:#fcfcfc;cursor:crosshair}.sign-pad-foot{display:flex;align-items:center;gap:10px;max-width:460px}.sign-pad-hint{font-size:12px;color:var(--ink-3);flex:1}.sign-box .primary-btn{align-self:flex-start}.sign-done-banner{max-width:780px;margin:0 auto 14px;background:var(--green-soft);color:var(--green);border-radius:10px;padding:12px 16px;font-size:13px;font-weight:600}@media print{.sign-box,.sign-done-banner{display:none!important}}@media(max-width:720px){.doc-public{padding:12px 8px 48px}.doc-sheet{padding:22px 16px}.doc-title{font-size:20px;letter-spacing:8px;text-indent:8px}.contract-title{font-size:16px;letter-spacing:1px;text-indent:1px}.doc-head-grid{grid-template-columns:1fr}.quote-head{flex-direction:column;gap:16px}.doc-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.doc-table th,.doc-table td{font-size:11.5px;padding:6px 8px}.contract-sign-grid{grid-template-columns:1fr}.sign-box{padding:16px 14px}}.doc-editor-split{display:grid;grid-template-columns:minmax(540px,56%) minmax(340px,1fr);gap:20px;align-items:start}.doc-preview-pane{position:sticky;top:70px;max-height:calc(100vh - 92px);overflow-y:auto;border-radius:8px;cursor:zoom-in}.doc-preview-hint{position:sticky;bottom:10px;display:flex;justify-content:center;opacity:0;transition:opacity .15s;pointer-events:none}.doc-preview-pane:hover .doc-preview-hint{opacity:1}.doc-preview-hint-pill{display:inline-flex;align-items:center;gap:6px;background:#181c26d1;color:#fff;font-size:12px;font-weight:500;padding:6px 13px;border-radius:16px}.doc-zoom-modal{width:100%;max-width:860px;max-height:calc(100vh - 48px);overflow-y:auto;border-radius:12px}.doc-editor-form .field-wide{flex:1 1 100%}.doc-editor-form .field-wide input{width:100%}.doc-info{position:relative;display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;flex:none;background:var(--chip);color:var(--ink-3);font-size:11px;font-weight:700;cursor:help}.doc-info:hover{background:var(--chip-hover);color:var(--ink)}.doc-info-tip{display:none;position:absolute;top:23px;left:50%;transform:translate(-50%);z-index:40;background:#202124;color:#fff;font-size:11.5px;font-weight:400;line-height:1.75;padding:8px 13px;border-radius:8px;white-space:nowrap}.doc-info-tip span,.doc-info:hover .doc-info-tip{display:block}@media(max-width:1100px){.doc-editor-split{grid-template-columns:1fr}.doc-preview-pane{position:static;max-height:none}}.doc-items-edit .chip-btn{white-space:nowrap;padding:0 10px}.quote-items td:nth-child(1) input{width:80px;min-width:64px}.quote-items td:nth-child(2) input{min-width:150px}.quote-items td:nth-child(3) input,.quote-items td:nth-child(4) input{width:58px;min-width:48px;text-align:center}.quote-items td:nth-child(5) input,.quote-items td:nth-child(6) input{width:116px;min-width:100px;text-align:right;font-variant-numeric:tabular-nums}.contract-items td:nth-child(1) input{min-width:170px}.contract-items td:nth-child(2) input,.contract-items td:nth-child(3) input{width:116px;min-width:100px;text-align:right;font-variant-numeric:tabular-nums}.contract-items td:nth-child(4) input{min-width:150px}@media print{.doc-editor-split{display:block}.doc-editor-split .doc-editor-form{display:none!important}.doc-preview-pane{position:static;max-height:none;overflow:visible}.doc-preview-pane .doc-sheet{padding:0}.doc-zoom{zoom:1!important}.doc-preview-hint{display:none!important}}.pay-status-name{font-size:12.5px;font-weight:700;color:var(--ink-2);min-width:96px}.b-warn,.st-warn{background:var(--amber-soft);color:var(--amber)}a.st-warn:hover{background:#ffe9b8}.add-form.project-form{align-items:flex-end;gap:12px;margin-bottom:14px}.add-form.project-form .f{display:flex;flex-direction:column;gap:5px;flex:1;min-width:200px}.add-form.project-form label{font-size:12px;font-weight:500;color:var(--ink-2);padding-left:4px}.add-form.project-form label .opt{color:var(--ink-3);font-weight:400}.add-form.project-form input{width:100%}.tabs-bar a.locked{color:var(--ink-3);display:inline-flex;align-items:center;gap:5px}.tabs-bar a.locked svg{opacity:.7}.channel-card.pending{border-style:dashed;border-color:#d8d8d8;background:#fcfcfc}.channel-card .open-badge.muted{background:var(--chip);color:var(--ink-2)}.channel-card .pending-msg{font-size:12px;color:var(--ink-2);line-height:1.55;border-top:1px solid var(--divider);padding-top:12px;margin-bottom:12px}.channel-card .link-cta{display:inline-flex;align-items:center;gap:6px;border:none;cursor:pointer;background:var(--blue);color:#fff;border-radius:16px;padding:7px 14px;font-size:12.5px;font-weight:500}.channel-card .link-cta:hover{background:#0556bf}.link-notice{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--surface);border:1px dashed #d8d8d8;border-radius:12px;padding:24px 22px}.link-notice .ico{display:flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;border-radius:50%;background:var(--blue-soft);color:var(--blue)}.link-notice .t{flex:1;min-width:220px}.link-notice .name{font-size:15px;font-weight:700;margin-bottom:6px}.link-notice .sub{font-size:12.5px;color:var(--ink-2);line-height:1.6}.link-notice .cta{flex:none;background:var(--blue);color:#fff;border-radius:18px;padding:10px 18px;font-size:13px;font-weight:500}.link-notice .cta:hover{background:#0556bf}.link-panel{background:var(--surface);border:1px solid var(--blue-soft);border-left:3px solid var(--blue);border-radius:12px;padding:16px 18px;margin-bottom:10px}.link-panel .head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.link-panel .ico{color:var(--blue);display:flex;flex:none;padding-top:1px}.link-panel .name{font-size:14px;font-weight:700;margin-bottom:4px}.link-panel .sub{font-size:12.5px;color:var(--ink-2);line-height:1.6}.link-panel form{display:flex;gap:10px;flex-wrap:wrap}.link-panel input[type=url]{flex:1;min-width:220px;border:1px solid #d3d3d3;border-radius:20px;padding:9px 16px;font-size:14px;outline:none;color:var(--ink);background:var(--surface)}.link-panel input[type=url]:focus{border-color:var(--blue)}.link-panel button{border:none;background:var(--blue);color:#fff;border-radius:18px;padding:0 22px;height:38px;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}.link-panel button:hover{background:#0556bf}.link-panel button:disabled{opacity:.5;cursor:default}.link-panel .opt-row{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:12.5px;color:var(--ink-2);cursor:pointer}.admin-row .actions button.primary{background:var(--blue);color:#fff}.admin-row .actions button.primary:hover{background:#0556bf}.notes{margin:26px 0 20px}.notes-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.notes-head .ico{display:flex;color:var(--ink-2)}.notes-head .title{font-size:16px;font-weight:700;color:var(--ink);flex:1;display:flex;align-items:center;gap:7px}.notes-head .title .cnt{font-size:12px;font-weight:600;color:var(--ink-2);background:var(--chip);border-radius:10px;padding:1px 8px}.notes-head button{border:none;border-radius:14px;padding:6px 13px;font-size:12px;font-weight:500;cursor:pointer}.notes-head .ghost{background:transparent;color:var(--ink-2)}.notes-head .ghost:hover{background:var(--chip)}.notes-head .add{background:var(--chip);color:var(--ink)}.notes-head .add:hover{background:var(--chip-hover)}.notes-err{font-size:12.5px;color:var(--red);margin-bottom:8px}.notes-empty{background:var(--surface);border:1px dashed #dcdcdc;border-radius:12px;padding:18px 16px;font-size:12.5px;color:var(--ink-3);text-align:center}.note-form,.note-item .edit{background:var(--surface);border:1px solid var(--divider);border-radius:12px;padding:12px 14px;margin-bottom:10px}.note-form textarea,.note-item .edit textarea{width:100%;border:1px solid #d3d3d3;border-radius:8px;padding:9px 11px;font-size:13.5px;line-height:1.6;outline:none;resize:vertical;color:var(--ink)}.note-form textarea:focus,.note-item .edit textarea:focus{border-color:var(--blue)}.note-form .row,.note-item .edit .row{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.note-form .kinds{display:flex;gap:5px;flex:1}.note-form .kind{border:1px solid var(--divider);background:var(--surface);color:var(--ink-2);border-radius:14px;padding:5px 12px;font-size:12px;font-weight:500;cursor:pointer}.note-form .kind.on{background:var(--ink);border-color:var(--ink);color:#fff}.note-form .pin-opt{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2);cursor:pointer}.note-form .ghost,.note-item .edit .ghost{border:none;background:transparent;color:var(--ink-2);padding:6px 12px;font-size:12.5px;cursor:pointer;border-radius:14px}.note-form .ghost:hover,.note-item .edit .ghost:hover{background:var(--chip)}.note-form .save,.note-item .edit .save{border:none;background:var(--blue);color:#fff;border-radius:15px;padding:7px 16px;font-size:12.5px;font-weight:500;cursor:pointer}.note-form .save:hover,.note-item .edit .save:hover{background:#0556bf}.note-form .save:disabled,.note-item .edit .save:disabled{opacity:.5;cursor:default}.note-item .edit{padding:0;border:none;margin:0}.note-item .edit .row{margin-top:8px;justify-content:flex-end}.note-item{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--divider);border-radius:12px;margin-bottom:8px}.note-item.done{opacity:.55}.note-item.done .body{text-decoration:line-through}.note-item .marks{display:flex;align-items:center;gap:5px;flex:none;padding-top:1px}.note-item .marks .pin{display:flex;color:var(--amber)}.note-item .marks .badge{display:inline-flex;align-items:center;gap:3px}.note-item .b{flex:1;min-width:0}.note-item .body{font-size:13.5px;line-height:1.6;color:var(--ink);white-space:pre-wrap;word-break:break-word}.note-item .meta{font-size:11.5px;color:var(--ink-3);margin-top:4px}.note-item .acts{display:flex;gap:5px;flex:none;flex-wrap:wrap;justify-content:flex-end}.note-item .acts button{border:none;background:var(--chip);border-radius:13px;padding:5px 11px;font-size:11.5px;font-weight:500;cursor:pointer;color:var(--ink)}.note-item .acts button:hover{background:var(--chip-hover)}.note-item .acts button.danger{color:var(--red)}.note-item .acts button:disabled{opacity:.5;cursor:default}.channel-card .note-line{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--divider);font-size:11.5px;color:var(--ink-2)}.channel-card.pending .note-line{border-top:none;padding-top:0;margin-top:0;margin-bottom:12px}.channel-card .note-line .pin{display:flex;color:var(--amber);flex:none}.channel-card .note-line .badge{flex:none;display:inline-flex;align-items:center;gap:3px;font-size:11px}.channel-card .note-line .txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-card .note-line .more{flex:none;color:var(--ink-3);font-weight:500}@media(max-width:700px){.note-item{flex-wrap:wrap}.note-item .acts{width:100%;justify-content:flex-start}}.client-name{display:inline-block;background:var(--chip);color:var(--ink-2);border-radius:8px;padding:0 6px;margin-right:6px;font-size:11.5px;font-weight:500}.channel-card .handle .client{color:var(--ink-3)}.channel-head .name .yt-link{display:inline-flex;align-items:center;gap:4px;margin-left:10px;vertical-align:middle;background:var(--chip);color:var(--ink-2);border-radius:13px;padding:4px 10px;font-size:11.5px;font-weight:500}.channel-head .name .yt-link:hover{background:var(--chip-hover);color:var(--ink)}.note-item.removed{border-style:dashed;background:#fcfcfc}.note-item.removed .body{text-decoration:line-through}.confirm-modal{max-width:440px;gap:16px}.confirm-modal .modal-head h3{font-size:15.5px}.confirm-diff{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--chip);border-radius:10px;padding:14px 16px}.confirm-diff .from{font-size:14px;color:var(--ink-2);text-decoration:line-through}.confirm-diff .arrow{color:var(--ink-3)}.confirm-diff .to{font-size:15px;font-weight:700;color:var(--ink)}.confirm-modal .modal-desc p{margin-bottom:4px}.confirm-modal .modal-desc p:last-child{margin-bottom:0}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.confirm-actions button{border:none;border-radius:18px;padding:9px 18px;font-size:13px;font-weight:500;cursor:pointer}.confirm-actions .ghost{background:var(--chip);color:var(--ink)}.confirm-actions .ghost:hover{background:var(--chip-hover)}.confirm-actions .primary{background:var(--blue);color:#fff}.confirm-actions .primary:hover{background:#0556bf}.confirm-actions .primary.danger{background:var(--red)}.confirm-actions .primary.danger:hover{background:#a80000}.unlinked{background:var(--amber-soft);border:1px solid #f0dfae;border-radius:12px;padding:12px 14px;margin-bottom:14px}.unlinked-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer}.unlinked-head .t{font-size:13.5px;font-weight:600;color:#7a5600}.unlinked-head .hint{font-size:12px;color:var(--amber);flex:1}.unlinked-list{margin-top:12px;display:flex;flex-direction:column;gap:8px}.unlinked-row{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:10px;padding:8px 10px}.unlinked-row img,.unlinked-row .no-thumb{width:64px;height:36px;border-radius:6px;object-fit:cover;flex:none;background:var(--chip)}.unlinked-row .t{flex:1;min-width:0}.unlinked-row .t a{font-size:13px;font-weight:500;color:var(--ink);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unlinked-row .t a:hover{color:var(--blue)}.unlinked-row .meta{font-size:11.5px;color:var(--ink-3);display:flex;align-items:center;gap:6px;margin-top:2px}.unlinked-row select{flex:none;border:1px solid #d3d3d3;border-radius:14px;background:var(--surface);padding:6px 10px;font-size:12px;color:var(--ink);cursor:pointer;max-width:190px}.unlinked-row select:disabled{opacity:.5;cursor:default}.track-video{display:flex;align-items:center;gap:6px;margin-top:6px}.track-video a{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--blue);font-weight:500}.track-video button{border:none;background:none;color:var(--ink-3);font-size:11px;cursor:pointer;padding:2px 4px}.track-video button:hover{color:var(--red)}.unlinked.settled{background:var(--chip);border-color:var(--divider)}.unlinked.settled .unlinked-head .t{color:var(--ink-2)}.unlinked.settled .unlinked-head .hint{color:var(--ink-3)}.unlinked-row.ignored{opacity:.6}.unlinked-row.ignored .t a{color:var(--ink-2)}.unlinked-row .ignore-btn,.unlinked-row .undo-ignore{flex:none;border:none;background:var(--chip);color:var(--ink-2);border-radius:14px;padding:6px 12px;font-size:12px;font-weight:500;cursor:pointer}.unlinked-row .ignore-btn:hover,.unlinked-row .undo-ignore:hover{background:var(--chip-hover);color:var(--ink)}.unlinked-row .ignore-btn:disabled,.unlinked-row .undo-ignore:disabled{opacity:.5;cursor:default}.kanban-head .sort-toggle{display:inline-flex;gap:3px;margin-left:auto}.kanban-head .sort-toggle button{border:none;background:transparent;color:var(--ink-3);border-radius:10px;padding:2px 7px;font-size:11px;font-weight:500;cursor:pointer}.kanban-head .sort-toggle button:hover{background:#0000000d;color:var(--ink-2)}.kanban-head .sort-toggle button.on{background:var(--surface);color:var(--ink);font-weight:600}.report-notice{background:var(--chip);border-radius:10px;padding:11px 14px;margin-bottom:14px;font-size:12.5px;color:var(--ink-2);line-height:1.6}.report-notice.warn{background:var(--amber-soft);border:1px solid #f0dfae;color:#7a5600}.report-notice b{color:var(--ink);font-weight:600}.report-notice.warn b{color:#7a5600}.report-notice .state{margin-top:6px}.report-notice .state.ok{color:var(--green)}.report-notice .state a{color:var(--blue);font-weight:500}.pub-page{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.pub-nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:16px 28px;background:var(--surface);border-bottom:1px solid var(--divider)}.pub-brand{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:800;letter-spacing:-.3px;color:var(--ink)}.pub-links{display:flex;align-items:center;gap:18px;margin-left:auto;flex-wrap:wrap}.pub-links a{font-size:13.5px;font-weight:600;color:var(--ink-2)}.pub-links a:hover{color:var(--ink)}.pub-links .pub-login{color:var(--blue)}.pub-main{flex:1;width:100%;max-width:860px;margin:0 auto;padding:40px 24px 56px}.pub-title{font-size:30px;font-weight:800;letter-spacing:-.7px;margin-bottom:8px}.pub-meta{font-size:12.5px;color:var(--ink-3);margin-bottom:28px}.pub-hero{padding:20px 0 12px}.pub-kicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.2px;color:var(--blue);background:var(--blue-soft);border-radius:999px;padding:5px 12px}.pub-hero h1{font-size:34px;font-weight:800;letter-spacing:-1px;line-height:1.32;margin:16px 0 14px}.pub-hero p{font-size:15.5px;color:var(--ink-2);line-height:1.75;max-width:660px}.pub-section{margin-top:44px}.pub-section>h2{font-size:18px;font-weight:800;letter-spacing:-.3px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--divider)}.pub-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pub-card{border:1px solid var(--divider);border-radius:16px;background:var(--surface);padding:18px 20px}.pub-card-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.pub-card-head b{font-size:14.5px;letter-spacing:-.2px}.pub-card p{font-size:13.5px;color:var(--ink-2);line-height:1.7}.pub-body{font-size:14.5px;color:var(--ink-2);line-height:1.8;margin-bottom:14px}.pub-body a{color:var(--blue);font-weight:600}.pub-list{list-style:none;display:flex;flex-direction:column;gap:8px}.pub-list li{font-size:14px;color:var(--ink-2);line-height:1.7;padding-left:16px;position:relative}.pub-list li:before{content:"";position:absolute;left:2px;top:10px;width:4px;height:4px;border-radius:50%;background:var(--ink-3)}.pub-list li b{color:var(--ink)}.pub-article{margin-top:32px}.pub-article h2{font-size:16px;font-weight:800;letter-spacing:-.2px;margin-bottom:10px}.pub-article p{font-size:14px;color:var(--ink-2);line-height:1.8;margin-bottom:10px}.pub-article p b{color:var(--ink)}.pub-article ul{list-style:none;display:flex;flex-direction:column;gap:7px;margin-bottom:12px}.pub-article li{font-size:14px;color:var(--ink-2);line-height:1.75;padding-left:16px;position:relative}.pub-article li:before{content:"";position:absolute;left:2px;top:10px;width:4px;height:4px;border-radius:50%;background:var(--ink-3)}.pub-article li b{color:var(--ink)}.pub-table{width:100%;border-collapse:collapse;margin:6px 0 12px;font-size:13.5px}.pub-table th,.pub-table td{border:1px solid var(--divider);padding:10px 12px;text-align:left;vertical-align:top;line-height:1.6}.pub-table th{background:var(--chip);font-weight:700;color:var(--ink)}.pub-table td{color:var(--ink-2)}.pub-todo{color:var(--red);font-weight:700;background:var(--red-soft);border-radius:4px;padding:1px 6px}.pub-foot{border-top:1px solid var(--divider);background:var(--surface);padding:22px 28px 28px;display:flex;flex-direction:column;gap:10px;align-items:center;text-align:center}.pub-foot-links{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600}.pub-foot-links a{color:var(--ink-2)}.pub-foot-links a:hover{color:var(--ink);text-decoration:underline}.pub-foot-links span{color:var(--ink-3)}.pub-foot-biz{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;font-size:12px;color:var(--ink-3)}.pub-foot-copy{font-size:12px;color:var(--ink-3)}@media(max-width:620px){.pub-grid{grid-template-columns:1fr}.pub-hero h1{font-size:26px}.pub-nav{padding:14px 18px}.pub-main{padding:28px 18px 44px}.pub-table{display:block;overflow-x:auto}}
