:root{--paper: #f5f3ee;--card: #fffdf9;--card-border: #e8e3d8;--frame-bg: #fdfcf8;--sidebar-bg: #f9f5ec;--ink: #23201a;--ink-secondary: #6b6558;--ink-faint: #a39c8c;--accent: #1f9e99;--accent-strong: #177a76;--accent-dim: rgba(31, 158, 153, .12);--domain-customer: #1f9e99;--domain-patent: #d58a2e;--domain-competitor: #7c63e8;--danger: #cf5a4e;--navy: #0f2c29;--navy-elevated: #1a423e;--navy-border: rgba(140, 200, 195, .16);--on-navy: #e6f2f0;--on-navy-secondary: #9bc4bf;color-scheme:light}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(1200px 600px at 12% -10%,rgba(221,180,120,.22),transparent 55%),radial-gradient(1000px 700px at 105% 15%,rgba(200,160,110,.16),transparent 50%),linear-gradient(160deg,#f2ece1,#ece4d5);color:var(--ink);font-feature-settings:"tnum";-webkit-font-smoothing:antialiased;padding:22px;box-sizing:border-box}::selection{background:#1f9e9938}.app-frame{max-width:1520px;margin:0 auto;min-height:calc(100vh - 44px);background:var(--frame-bg);border-radius:22px;border:1px solid rgba(120,100,70,.1);box-shadow:0 30px 80px #5a462824,0 4px 16px #5a46280f;display:flex;overflow:hidden}.app-sidebar{width:218px;flex:none;background:var(--sidebar-bg);border-right:1px solid rgba(120,100,70,.08);padding:20px 14px 18px;display:flex;flex-direction:column}.side-brand{display:flex;align-items:center;gap:10px;padding:2px 8px 18px}.side-brand .brand-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#26b3ad,var(--accent));color:#fff;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #1f9e9959}.side-brand .brand-name{font-size:14px;font-weight:700;letter-spacing:.01em}.side-brand .brand-sub{font-size:9px;letter-spacing:.14em;color:var(--ink-faint);text-transform:uppercase;margin-top:1px}.side-group{margin-top:14px}.side-group-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);padding:0 10px 6px}.side-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;background:none;font:inherit;text-align:left;width:100%;border-radius:9px;font-size:13px;color:var(--ink-secondary);cursor:pointer;transition:background .18s ease,color .18s ease;margin-bottom:1px}.side-item .anticon{font-size:15px}.side-item:hover{background:#7864460f;color:var(--ink)}.side-item.active{background:var(--accent-dim);color:var(--accent-strong);font-weight:600}.side-footer{margin-top:auto;padding:12px 10px 0;border-top:1px solid rgba(120,100,70,.08);font-size:10px;color:var(--ink-faint);letter-spacing:.06em}.app-side-main{flex:1;min-width:0;display:flex;flex-direction:column}.app-topbar{height:62px;flex:none;display:flex;align-items:center;gap:14px;padding:0 22px;border-bottom:1px solid rgba(120,100,70,.08);background:#fdfcf8d9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.ws-switch{flex:none;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);border:1px solid var(--card-border);background:var(--card);border-radius:999px;padding:6px 14px;cursor:pointer;white-space:nowrap;transition:border-color .18s ease,box-shadow .18s ease}.ws-switch:hover{border-color:#1f9e9980;box-shadow:0 0 0 3px #1f9e9914}.ws-switch .ws-label{color:var(--ink-faint);font-size:12px}.topbar-search{flex:1 1 0;min-width:0;max-width:400px;margin:0 auto;display:flex;align-items:center;gap:8px;background:#f1ede2;border:1px solid transparent;border-radius:999px;padding:7px 14px;color:var(--ink-faint);font-size:13px;cursor:text;font-family:inherit;text-align:left;transition:border-color .18s ease,background .18s ease}.topbar-search:hover{border-color:#1f9e9966;background:#efe9dc}.topbar-search .search-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.topbar-search kbd{margin-left:auto;flex:none;font-size:11px;color:var(--ink-faint);border:1px solid var(--card-border);background:var(--card);border-radius:4px;padding:0 5px;font-family:inherit}.topbar-right{flex:none;display:flex;align-items:center;gap:14px}.topbar-date{font-size:12px;color:var(--ink-secondary);white-space:nowrap;font-variant-numeric:tabular-nums}.topbar-icon-btn{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink-secondary);cursor:pointer;border:1px solid var(--card-border);background:var(--card);font:inherit;transition:color .18s ease,border-color .18s ease,transform .18s ease}.topbar-icon-btn:hover{color:var(--accent-strong);border-color:#1f9e9980;transform:translateY(-1px)}.topbar-icon-btn:active{transform:translateY(0) scale(.96)}.topbar-user{display:flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap;font-size:13px}.app-main{flex:1;min-width:0;padding:24px 26px 46px;background:var(--paper)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.page-title{font-size:24px;font-weight:700;color:var(--ink);letter-spacing:-.01em;display:flex;align-items:center;gap:10px;text-wrap:balance}.page-sub{margin-top:4px;font-size:13px;color:var(--ink-secondary)}.paper-card{background:#fffefa;border:1px solid rgba(120,100,70,.09);border-radius:14px;padding:20px 22px;box-shadow:0 1px 2px #5a46280a,0 10px 28px #5a46280d;transition:box-shadow .22s ease,transform .22s ease}.paper-card:hover{box-shadow:0 1px 2px #5a46280d,0 14px 34px #5a462814}.paper-card .card-title{font-size:13px;font-weight:600;letter-spacing:.05em;color:var(--ink);display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-title .card-extra{font-size:12px;font-weight:400;color:var(--accent);cursor:pointer}.dark-panel{background:radial-gradient(600px 300px at 100% 0%,rgba(63,167,160,.14),transparent 60%),linear-gradient(165deg,#16383433,transparent),linear-gradient(165deg,#173c38,var(--navy));border:1px solid var(--navy-border);border-radius:14px;padding:20px 22px;color:var(--on-navy);box-shadow:0 1px 2px #14282433,0 12px 30px #14282438}.dark-panel .card-title{font-size:13px;font-weight:600;letter-spacing:.05em;color:var(--on-navy);display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.dark-panel .card-title .card-extra{font-size:12px;font-weight:400;color:#4cc9c4;cursor:pointer}.dark-panel .dim{color:var(--on-navy-secondary)}.domain-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:1px 8px;border-radius:5px;border:1px solid;white-space:nowrap}.domain-badge.customer{color:var(--domain-customer);border-color:#1f9e9966;background:#1f9e9914}.domain-badge.patent{color:var(--domain-patent);border-color:#d58a2e66;background:#d58a2e14}.domain-badge.competitor{color:var(--domain-competitor);border-color:#7c63e866;background:#7c63e814}.conf-badge{font-size:11px;padding:1px 8px;border-radius:5px;border:1px solid;white-space:nowrap}.conf-badge.high{color:var(--accent-strong);border-color:#1f9e9966;background:#1f9e9914}.conf-badge.medium{color:var(--domain-patent);border-color:#d58a2e66;background:#d58a2e14}.conf-badge.low{color:var(--ink-faint);border-color:var(--card-border);background:#a39c8c14}.sev-badge{font-size:11px;padding:1px 8px;border-radius:5px;border:1px solid;white-space:nowrap}.sev-badge.urgent{color:var(--danger);border-color:#cf5a4e73;background:#cf5a4e14}.sev-badge.important{color:var(--domain-patent);border-color:#d58a2e73;background:#d58a2e14}.sev-badge.normal{color:var(--accent-strong);border-color:#1f9e9973;background:#1f9e9914}.tag-chip{display:inline-block;font-size:12px;color:var(--ink-secondary);background:#23201a0d;border-radius:5px;padding:1px 8px;margin-right:6px}.meta-line{font-size:12px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.section-gap{margin-top:16px}.progress-track{height:6px;border-radius:3px;background:#23201a14;overflow:hidden}.dark-panel .progress-track{background:#8cc8c324}.progress-fill{height:100%;border-radius:3px;background:var(--accent)}.quote-box{border-left:3px solid var(--accent);background:#1f9e990f;border-radius:0 8px 8px 0;padding:10px 14px;font-size:13px;line-height:1.7;color:var(--ink-secondary)}.dark-panel .quote-box{background:#8cc8c314;color:var(--on-navy-secondary)}.dot-rating{letter-spacing:3px;font-size:13px}.feature-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.feature-card:hover{transform:translateY(-2px);border-color:#1f9e9959!important;box-shadow:0 8px 20px #5a462814}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}.status-dot.ok{background:#2f9e6e}.status-dot.warn{background:#d58a2e}.status-dot.err{background:var(--danger);animation:pulse-dot 1.6s ease-in-out infinite}@keyframes pulse-dot{50%{opacity:.45}}.rise-in{animation:rise-in .45s ease both}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.12s}.stagger-3{animation-delay:.19s}.stagger-4{animation-delay:.26s}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dark-panel .ant-btn{color:var(--on-navy);border-color:#8cc8c359;background:transparent}.dark-panel .ant-btn:hover:not(:disabled){color:#4cc9c4;border-color:#4cc9c4;background:#8cc8c314}.dark-panel .ant-btn:disabled{color:#9bc4bf73;border-color:#8cc8c32e;background:transparent}.dark-panel .ant-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.dark-panel a{color:#4cc9c4}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.link-btn{border:none;background:none;padding:0;font:inherit;font-size:12px;color:var(--accent);cursor:pointer;transition:color .18s ease}.link-btn:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px}.dark-panel .link-btn{color:#4cc9c4}.dark-panel .link-btn:hover{color:#7fe0da}.tab-btn{border:none;background:none;font:inherit;cursor:pointer;padding:0;color:inherit;text-align:left}.split{display:flex;gap:16px;align-items:flex-start}.split-main{flex:1;min-width:0}.split-side{flex:none}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll>table{min-width:640px}.table-scroll tbody tr{transition:background .15s ease}.table-scroll tbody tr:hover{background:#1f9e990b}@media (max-width: 1200px){.split{flex-direction:column}.split-side{width:100%!important}}@media (max-width: 1180px){.app-sidebar{width:64px;padding:16px 10px;align-items:center}.side-brand{padding:2px 0 16px}.side-brand .brand-text,.side-group-label,.side-item .side-label,.side-footer{display:none}.side-item{width:40px;height:40px;justify-content:center;padding:0;gap:0}}.topbar-calendar{width:296px}.topbar-calendar .ant-picker-calendar-mini .ant-picker-content th,.topbar-calendar .ant-picker-calendar-mini .ant-picker-content td{height:30px}.topbar-calendar .ant-picker-calendar-mini .ant-picker-calendar-date{height:30px;line-height:28px;margin:0 2px}@media (max-width: 1080px){.topbar-date,.topbar-user .user-name{display:none}}@media (max-width: 860px){body{padding:0}.app-frame{border-radius:0;min-height:100vh}.topbar-search{display:none}.app-main{padding:16px 14px 36px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#23201a2e;border-radius:4px}::-webkit-scrollbar-track{background:transparent}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:380px;max-width:100%;padding:36px 32px;text-align:center}.login-hint{font-size:13px;color:var(--ink-faint);margin-bottom:24px}
