@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_72fa5a1d-module__GmPSxq__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_72fa5a1d-module__GmPSxq__variable{--font-plus-jakarta:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit;font-style:normal;font-weight:800;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.1spbknb88wd48.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.1gsd1jahc5dg_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_b83fcb44-module__p4ZNRq__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_b83fcb44-module__p4ZNRq__variable{--font-outfit:"Outfit", "Outfit Fallback"}
:root{--radius:14px;--radius-win:22px;--radius-pill:999px;--font-vd:var(--font-plus-jakarta), "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--font-kd:var(--font-outfit), "PingFang TC", "Microsoft JhengHei", system-ui, sans-serif;--font-kaff:var(--font-plus-jakarta), "PingFang TC", system-ui, sans-serif;--success:#16a34a;--warning:#d97706;--danger:#dc2626;--internal:#fff8e6;--internal-border:#e2921f;--bg:#cfede6;--surface:#fff;--border:#0f282314;--border-2:#0f282321;--ink:#10201c;--ink-2:#4a5f59;--ink-3:#85968f;--hover:#0e7a6712;--sunk:#0f28230a;--accent-lift:#22c3a3;--accent-deep:#0b5f50;--brand:#0e7a67;--brand-on:#fff;--brand-wash:#0e7a671c;--shadow-win:0 30px 80px #08282242, 0 4px 16px #08282217;--shadow-card:0 8px 28px #0828221f;--font:var(--font-vd);--amb-1:#7fe3d0;--amb-2:#2fa8c9;--amb-3:#b98ce0;--amb-4:#e8f6f2;--amb-base:#cfede6;--btn-grad:linear-gradient(140deg, #22c3a3 0%, #0b5f50 100%);--btn-shadow:0 2px 10px #0e7a6747;--hold:#d8455f;--watch:#e2921f;--calm:#9aaaa4;--hold-w:#d8455f1f;--watch-w:#e2921f24}html[data-brand=visiondoc]{--bg:#cfede6;--border:#0f282314;--border-2:#0f282321;--ink:#10201c;--ink-2:#4a5f59;--ink-3:#85968f;--hover:#0e7a6712;--sunk:#0f28230a;--accent-lift:#22c3a3;--accent-deep:#0b5f50;--brand:#0e7a67;--brand-wash:#0e7a671c;--shadow-win:0 30px 80px #08282242, 0 4px 16px #08282217;--shadow-card:0 8px 28px #0828221f;--font:var(--font-vd);--amb-base:#cfede6;--btn-grad:linear-gradient(140deg, #22c3a3 0%, #0b5f50 100%);--btn-shadow:0 2px 10px #0e7a6747}html[data-brand=kcrdoc]{--bg:#f7f5f6;--border:#c8102e1a;--border-2:#1e141824;--ink:#1a1214;--ink-2:#5a4a4e;--ink-3:#8a7a7e;--hover:#c8102e0f;--sunk:#1e14180a;--accent-lift:#e23a55;--accent-deep:#8e0a20;--brand:#c8102e;--brand-wash:#c8102e1a;--shadow-win:0 24px 64px #c8102e1f, 0 4px 16px #1e14180f;--shadow-card:0 8px 28px #c8102e14;--font:var(--font-kd);--amb-base:#f7f5f6;--btn-grad:linear-gradient(140deg, #e23a55 0%, #8e0a20 100%);--btn-shadow:0 2px 12px #c8102e47;--hold:#c8102e;--calm:#9a8a8e;--hold-w:#c8102e1f}html[data-brand=kaff]{--bg:#f3f4f6;--border:#0f172a14;--border-2:#0f172a24;--ink:#0f172a;--ink-2:#475569;--ink-3:#94a3b8;--hover:#0f172a0d;--sunk:#0f172a0a;--accent-lift:#475569;--accent-deep:#0f172a;--brand:#1e293b;--brand-wash:#0f172a14;--shadow-win:0 16px 40px #0f172a1a, 0 2px 8px #0f172a0d;--shadow-card:0 4px 16px #0f172a0f;--font:var(--font-kaff);--amb-base:#f3f4f6;--btn-grad:linear-gradient(140deg, #334155 0%, #0f172a 100%);--btn-shadow:0 2px 8px #0f172a33;--calm:#94a3b8}*,:before,:after{box-sizing:border-box}html,body{max-width:100vw;min-height:100%;margin:0;padding:0;overflow-x:hidden}body{font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,p{margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.ambient{z-index:0;pointer-events:none;background:radial-gradient(46% 38% at 14% 18%, var(--amb-1) 0%, transparent 62%), radial-gradient(40% 44% at 82% 12%, var(--amb-2) 0%, transparent 60%), radial-gradient(52% 46% at 74% 84%, var(--amb-3) 0%, transparent 62%), radial-gradient(44% 40% at 22% 88%, var(--amb-1) 0%, transparent 58%), radial-gradient(70% 60% at 50% 50%, var(--amb-4) 0%, transparent 70%), var(--amb-base);filter:blur(48px)saturate(118%);position:fixed;inset:-18%}@media (prefers-reduced-motion:no-preference){html[data-brand=visiondoc] .ambient{animation:34s ease-in-out infinite alternate ambient-drift}}@keyframes ambient-drift{0%{transform:scale(1)translate(0,0)}to{transform:scale(1.07)translate(-1.5%,1.5%)}}.app-shell{z-index:1;flex-direction:column;min-height:100vh;padding:16px;display:flex;position:relative}html[data-brand=kaff] .app-shell{padding:0}.app-window{border-radius:var(--radius-win);background:var(--surface);min-height:0;box-shadow:var(--shadow-win);flex-direction:column;flex:1;display:flex;overflow:hidden}html[data-brand=kcrdoc] .app-window{border:1px solid #c8102e1f;grid-template-rows:auto 1fr;grid-template-columns:64px minmax(0,1fr);display:grid}html[data-brand=kaff] .app-window{box-shadow:none;border-radius:0;min-height:100vh}.side-rail{display:none}html[data-brand=kcrdoc] .side-rail{color:#fff;background:linear-gradient(140deg,#c8102e 0%,#8e0a20 100%);flex-direction:column;grid-row:1/-1;align-items:center;gap:14px;padding:14px 0 16px;display:flex}.side-rail .rail-mono{background:#ffffff1f;border-radius:10px;width:36px;height:36px;overflow:hidden}.side-rail .rail-mono img{object-fit:cover;width:100%;height:100%;display:block}.side-rail .rail-dot{background:#ffffff8c;border-radius:50%;width:8px;height:8px}.side-rail .rail-dot.on{background:#fff;box-shadow:0 0 0 3px #ffffff40}html[data-brand=kcrdoc] .app-header,html[data-brand=kcrdoc] .app-window>.container{grid-column:2}.app-header{-webkit-backdrop-filter:blur(20px)saturate(150%);border-bottom:1px solid var(--border);background:#ffffffb8;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;height:58px;padding:0 22px;display:flex}html[data-brand=kcrdoc] .app-header,html[data-brand=kaff] .app-header{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.app-header .brand{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:10px;font-size:15px;font-weight:800;text-decoration:none;display:flex}.mono-tile{border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid;overflow:hidden}.mono-tile img{object-fit:cover;width:100%;height:100%;display:block}.app-header .nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;font-size:13px;display:flex}.app-header .nav a{color:var(--ink-2);padding:6px 8px;font-weight:500;text-decoration:none}.app-header .nav a:hover{background:var(--hover);color:var(--ink)}.app-header .nav a.active{color:var(--accent-deep);box-shadow:inset 0 -2px 0 var(--brand);background:0 0;padding-left:4px;padding-right:4px;font-weight:700}html[data-brand=kcrdoc] .app-header .nav a.active{color:var(--brand)}.app-header .user-chip{color:var(--ink-3);padding:0 4px;font-size:13px;font-weight:500}.app-header .nav form{display:contents}.app-header .nav .nav-button{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:6px 8px;font-size:13px;font-weight:500}.app-header .nav .nav-button:hover{background:var(--hover);color:var(--ink)}.container{z-index:1;width:100%;max-width:1040px;margin:0 auto;padding:32px 36px 48px;position:relative}.container.wide{max-width:1280px}.page-title{letter-spacing:-.02em;color:var(--ink);margin-bottom:6px;font-size:22px;font-weight:700}.page-sub{color:var(--ink-3);margin-bottom:28px;font-size:13px;font-weight:500}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px}html[data-brand=visiondoc] .card,html[data-brand=kcrdoc] .card{background:var(--sunk)}.card+.card{margin-top:12px}.btn{cursor:pointer;letter-spacing:-.01em;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:7px;height:36px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:600;transition:filter .14s,transform .14s,background .14s;display:inline-flex;text-decoration:none!important}.btn:active{transform:scale(.97)}.btn-primary{background:var(--btn-grad);color:var(--brand-on);box-shadow:var(--btn-shadow)}.btn-primary:hover{filter:brightness(1.04)}.btn-secondary{border-color:var(--border-2);color:var(--ink-2);background:0 0}.btn-secondary:hover{background:var(--hover);color:var(--ink)}.btn-sm{height:32px;padding:0 14px;font-size:12.5px}.btn[disabled]{opacity:.55;cursor:not-allowed}.badge{white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge-open{background:var(--brand-wash);color:var(--accent-deep)}.badge-progress{background:var(--watch-w);color:#9a5b00}.badge-done{background:var(--sunk);color:var(--ink-3)}.badge-product{background:var(--sunk);color:var(--ink-2);font-size:11px;font-weight:600}.badge-product.visiondoc{color:#0b5f50;background:#0e7a671f}.badge-product.kcrdoc{color:#c8102e;background:#c8102e1a}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:13.5px}table.data th{text-align:left;border-bottom:1px solid var(--border);color:var(--ink-3);text-transform:uppercase;letter-spacing:.07em;padding:12px 16px;font-size:10.5px;font-weight:700}table.data td{border-bottom:1px solid var(--border);vertical-align:middle;color:var(--ink);padding:13px 14px}table.data tr:hover td{background:var(--hover)}table.data a.ticket-link{color:var(--ink);font-weight:650}table.data a.ticket-link:hover{color:var(--brand)}.form-group{margin-bottom:16px}.form-group label{color:var(--ink-2);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.form-group .hint{color:var(--ink-3);margin-top:4px;font-size:12px}.form-row{gap:16px;display:flex}.form-row .form-group{flex:1}input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{border:1px solid var(--border-2);width:100%;color:var(--ink);background:#ffffffd9;border-radius:12px;padding:10px 14px;font-family:inherit;font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-wash);outline:none}html[data-brand=kcrdoc] input:focus,html[data-brand=kcrdoc] select:focus,html[data-brand=kcrdoc] textarea:focus{box-shadow:0 0 0 3px #c8102e2e}textarea{resize:vertical;min-height:100px}.radio-group{flex-direction:column;gap:8px;display:flex}.radio-option{border:1px solid var(--border);cursor:pointer;background:var(--surface);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.radio-option:hover{background:var(--hover)}.radio-option.selected{border-color:var(--brand);background:var(--brand-wash)}.radio-option input{accent-color:var(--brand);margin-top:3px}.radio-option .opt-title{font-size:13.5px;font-weight:650}.radio-option .opt-desc{color:var(--ink-3);font-size:12px}.field-error{color:var(--danger);margin-top:4px;font-size:12.5px}.form-notice{background:var(--sunk);color:var(--ink-2);border-radius:12px;margin-bottom:14px;padding:10px 14px;font-size:13px}.form-notice.error{background:var(--hold-w);color:var(--hold)}.login-page{z-index:1;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:32px 20px 40px;display:flex;position:relative}html[data-brand=visiondoc] .login-page{background:var(--amb-base)}html[data-brand=kcrdoc] .login-page{background:#fff}.login-lockup{align-items:center;gap:12px;width:100%;max-width:26rem;margin-bottom:18px;display:flex}.login-lockup .mono-tile{border-radius:11px;width:40px;height:40px}.login-lockup .lockup-name{letter-spacing:-.03em;color:var(--ink);font-size:18px;font-weight:800;line-height:1.15}.login-lockup .lockup-tag{color:var(--ink-3);margin-top:2px;font-size:12.5px;font-weight:500}.login-card{border-radius:var(--radius-win);width:100%;max-width:24.5rem;box-shadow:var(--shadow-win);-webkit-backdrop-filter:blur(28px)saturate(150%);background:#ffffffeb;padding:32px 28px 26px;position:relative}html[data-brand=kcrdoc] .login-card{background:#fff;border:1px solid #c8102e24;box-shadow:0 24px 64px #c8102e1a,0 4px 16px #1e14180d}html[data-brand=kaff] .login-card{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:none;backdrop-filter:none}.login-eyebrow{color:var(--brand);letter-spacing:.02em;margin-bottom:6px;font-size:12px;font-weight:800}.login-card h1{letter-spacing:-.03em;color:var(--ink);font-size:22px;font-weight:800}.login-card .subtitle{color:var(--ink-3);margin:6px 0 0;font-size:13px;font-weight:500}.login-card .form-block{margin-top:22px}.login-card .form-actions{flex-direction:column;gap:10px;margin-top:18px;display:flex}.login-card .form-actions .btn{width:100%;height:42px;font-size:14px}.login-copy{color:var(--ink-3);align-items:center;gap:6px;margin-top:28px;font-size:12px;display:flex}.login-copy svg{opacity:.7;width:14px;height:14px}.thread{flex-direction:column;gap:12px;display:flex}.msg{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:14px 16px}.msg.reseller{border-left:3px solid var(--brand)}.msg.staff{border-left:3px solid var(--accent-deep)}.msg.internal{background:var(--internal);border-color:var(--internal-border);border-left:3px solid var(--internal-border)}.msg .msg-meta{justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.msg .msg-author{color:var(--ink);font-weight:700}.msg .msg-time{color:var(--ink-3)}.msg .msg-body{white-space:pre-wrap;font-size:14px}.msg .internal-tag{background:var(--watch);color:#fff;text-transform:uppercase;border-radius:3px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.reply-box{margin-top:16px}.detail-grid{grid-template-columns:1fr 240px;gap:28px;display:grid}.sidebar-meta .meta-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:10px;padding:8px 0;font-size:13px;display:flex}.sidebar-meta .meta-label{color:var(--ink-3)}.sidebar-meta .meta-value{text-align:right;font-weight:650}.section-label{color:var(--ink-3);margin-top:4px;margin-bottom:12px;font-size:12px;font-weight:600}.filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.filters label{color:var(--ink-3);font-size:13px}.filters select{width:auto;min-width:140px}.state{text-align:center;color:var(--ink-3);padding:48px 20px;font-size:14px}.state h2{color:var(--ink);margin-bottom:6px;font-size:16px}.state .btn{margin-top:16px}@media (max-width:900px){.detail-grid{grid-template-columns:1fr}.app-shell{padding:10px}html[data-brand=kaff] .app-shell{padding:0}.container{padding:24px 18px 40px}.form-row{flex-direction:column;gap:0}}.paperclip{color:var(--ink-3);vertical-align:middle;align-items:center;gap:3px;margin-left:8px;font-size:11.5px;font-weight:600;display:inline-flex}.paperclip svg{width:13px;height:13px}.filters input[type=search]{width:240px;max-width:100%}.filters-clear{color:var(--ink-3);font-size:13px}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.pager-count{color:var(--ink-3);margin-top:14px;font-size:12.5px}.pager .pager-count{margin-top:0}.pager-links{gap:8px;display:flex}.pager [aria-disabled=true]{opacity:.45;pointer-events:none}.choice-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:8px;display:grid}.choice{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);flex-direction:column;gap:6px;padding:20px 22px;text-decoration:none;transition:border-color .14s,background .14s;display:flex}.choice:hover{border-color:var(--brand);background:var(--brand-wash);text-decoration:none}.choice-title{font-size:15px;font-weight:700}.choice-desc{color:var(--ink-3);font-size:13px}.loading-page{max-width:1040px;margin:0 auto;padding:48px 36px}.attach-input{color:var(--ink-2);font-size:13px}.attach-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.attach-item{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.attach-item.failed{border-color:var(--hold);background:var(--hold-w)}.attach-name{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.attach-meta{color:var(--ink-3);white-space:nowrap;margin-left:auto}.attach-item.failed .attach-meta{color:var(--hold);white-space:normal}.attach-remove{color:var(--ink-3);font:inherit;cursor:pointer;background:0 0;border:0;padding:2px 6px;font-size:12.5px}.attach-remove:hover{color:var(--hold)}.attach-empty{color:var(--ink-3);font-size:13px}fieldset.form-group{border:0;min-width:0;margin:0 0 16px;padding:0}.form-legend{color:var(--ink-2);margin-bottom:6px;padding:0;font-size:12.5px;font-weight:600}.optional{color:var(--ink-3);font-weight:400}.form-actions-row{justify-content:flex-end;gap:12px;margin-top:16px;display:flex}.request-summary dl.summary{grid-template-columns:140px 1fr;gap:6px 14px;margin:0;font-size:13.5px;display:grid}.request-summary dt{color:var(--ink-3)}.request-summary dd{overflow-wrap:anywhere;margin:0;font-weight:600}.system-line{color:var(--ink-3);justify-content:space-between;gap:12px;padding:4px 16px;font-size:12.5px;display:flex}.system-line .msg-time{white-space:nowrap}.msg-files{margin-top:10px}.msg-files .attach-item{background:var(--sunk);padding:6px 10px}.reply-box textarea{margin-bottom:4px}.row-sub{color:var(--ink-3);margin-top:2px;font-size:12px;display:block}.muted{color:var(--ink-3)}.inline-edit{align-items:center;gap:6px;display:flex}.inline-edit input[type=text]{width:200px;padding:6px 10px;font-size:13px}table.data code{background:var(--sunk);border-radius:4px;padding:1px 6px;font-size:12px}.composer-mode{gap:8px;margin-bottom:10px;display:flex}.composer-mode label{border:1px solid var(--border-2);border-radius:var(--radius-pill);color:var(--ink-2);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.composer-mode label:has(input:checked){border-color:var(--brand);background:var(--brand-wash);color:var(--ink)}.composer-mode label.internal:has(input:checked){border-color:var(--internal-border);background:var(--internal)}.composer-mode input{accent-color:var(--brand)}.system-line.internal{background:var(--internal);border-radius:8px}.attach-item .internal-tag{margin-left:0}.sidebar-form .form-group{margin-bottom:10px}.sidebar-form select{padding:8px 10px;font-size:13px}
