:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f8fafc;--border: #e6e8ec;--border-strong: #d5d8de;--text: #14181f;--text-muted: #667085;--text-soft: #98a2b3;--accent: #005795;--accent-soft: #e8f1f9;--star: #f5a524;--unread: #005795;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 8px;--radius: 12px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04);--shadow: 0 1px 3px rgba(16, 24, 40, .06), 0 1px 2px rgba(16, 24, 40, .04);--shadow-lg: 0 12px 28px rgba(16, 24, 40, .12), 0 3px 8px rgba(16, 24, 40, .06);--control-h: 38px}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}.app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:0 var(--space-6);height:60px;display:flex;align-items:center;position:sticky;top:0;z-index:20}.app-header .brand{display:flex;align-items:center;gap:var(--space-3)}.app-header .brand-logo{height:28px;width:auto}.app-header h1{font-size:15px;font-weight:600;letter-spacing:-.01em}.app-header .brand-sub{font-size:12px;color:var(--text-soft);font-weight:500}@media (max-width: 600px){.app-header .brand-sub{display:none}}main{padding:var(--space-5) var(--space-6)}.filter-bar{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);align-items:center;flex-wrap:wrap}.search-wrap{position:relative;display:flex;align-items:center;flex:1 1 180px;max-width:280px;min-width:140px}.search-wrap .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-soft);pointer-events:none;display:block}.search-input{height:var(--control-h);padding:0 12px 0 36px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;width:280px;min-width:140px;max-width:100%;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s;font-family:inherit;flex:1 1 180px}.search-input::placeholder{color:var(--text-soft)}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.filter-chip{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-h);padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-muted);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.filter-chip:hover{border-color:var(--border-strong);color:var(--text)}.filter-chip.is-active{background:var(--accent-soft);border-color:#a3c7e0;color:var(--accent)}.chip-check{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1.5px solid var(--border-strong);border-radius:5px;color:#fff;background:var(--surface);transition:background .12s,border-color .12s}.filter-chip.is-active .chip-check{background:var(--accent);border-color:var(--accent)}.result-count{margin-left:auto;font-size:13px;color:var(--text-muted);font-weight:500}.fit-tabs{display:inline-flex;gap:2px;padding:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-4);max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-shrink:0}.fit-tab{display:inline-flex;align-items:center;gap:var(--space-2);padding:7px 12px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .12s,color .12s,box-shadow .12s;white-space:nowrap;flex-shrink:0}.fit-tab:hover{color:var(--text)}.fit-tab.is-active{background:var(--surface);color:var(--accent);font-weight:600;box-shadow:var(--shadow-sm)}.fit-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#e7eaef;color:var(--text-muted);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;transition:background .12s,color .12s}.fit-tab.is-active .fit-tab-count{background:var(--accent-soft);color:var(--accent)}.table-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:940px;table-layout:fixed}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top;overflow-wrap:anywhere}thead th{background:var(--surface-2);font-weight:600;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft);white-space:nowrap;vertical-align:middle}.col-star{width:44px}.col-unread{width:40px}.col-title{width:30%}.col-fit{width:110px}.col-score{width:72px}.col-agency{width:22%}.col-date{width:110px}.col-skip{width:160px}tbody tr{transition:background .12s}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-2);cursor:pointer}td{color:var(--text);font-size:14px}.cell-title{font-weight:500;line-height:1.45}.cell-muted{color:var(--text-muted)}.cell-agency{font-size:13px;line-height:1.4}.cell-score{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text);text-align:center}.cell-date{font-variant-numeric:tabular-nums;font-size:13px;color:var(--text-muted);white-space:nowrap}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .12s}.sortable-inner{display:inline-flex;align-items:center;gap:4px}.sortable:hover{color:var(--text-muted)}.sort-active{color:var(--accent)}.icon-cell{cursor:pointer;text-align:center;width:52px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);color:var(--text-soft);transition:background .12s,color .12s,transform .12s}.icon-btn:hover{background:var(--surface-2);transform:scale(1.06)}.icon-btn.is-starred{color:var(--star)}.icon-btn.is-unread{color:var(--unread)}.row-read{color:var(--text-muted)}.row-read .cell-title{font-weight:400;color:var(--text-muted)}.fit-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize;white-space:nowrap;border:1px solid transparent}.fit-badge .fit-dot{flex-shrink:0}.fit-excellent{background:#ecfdf3;color:#067647;border-color:#abefc6}.fit-good{background:#e8f4fd;color:#005795;border-color:#a3d4f7}.fit-moderate{background:#fffaeb;color:#b54708;border-color:#fedf89}.fit-poor,.fit-nofit{background:#fef3f2;color:#b42318;border-color:#fecdca}.fit-unknown{background:#f2f4f7;color:#475467;border-color:#e4e7ec}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-4);font-size:13px;color:var(--text-muted)}.pagination button{padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;font-size:13px;font-weight:500;color:var(--text);font-family:inherit;transition:background .12s,border-color .12s}.pagination button:disabled{opacity:.45;cursor:not-allowed}.pagination button:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.state-msg{padding:var(--space-6);text-align:center;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.empty-row{text-align:center;padding:48px var(--space-4);color:var(--text-soft);font-size:14px}.back-btn{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--border);padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer;margin-bottom:var(--space-4);font-size:13px;font-weight:500;color:var(--text-muted);font-family:inherit;transition:background .12s,color .12s,border-color .12s}.back-btn:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.detail-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.detail-header h2{font-size:22px;font-weight:650;letter-spacing:-.02em;line-height:1.3;flex:1 1 auto;min-width:240px}.score{font-size:13px;color:var(--text-muted);font-weight:500;font-variant-numeric:tabular-nums}.detail-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-3) var(--space-5);background:var(--surface);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm)}.meta-item{display:flex;flex-direction:column;gap:2px}.meta-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft)}.meta-value{font-size:14px;color:var(--text)}.meta-link a{display:inline-flex;align-items:center;gap:6px;color:var(--accent);text-decoration:none;font-weight:500}.meta-link a:hover{text-decoration:underline}.detail-section{background:var(--surface);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm);overflow-wrap:anywhere;word-break:break-word}.detail-section h3{font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-soft);margin-bottom:var(--space-3)}.detail-section p{font-size:14px;line-height:1.65;color:var(--text)}.detail-section ul{padding-left:var(--space-4);list-style:none}.detail-section li{position:relative;margin-bottom:var(--space-2);padding-left:var(--space-3);line-height:1.6}.detail-section li:before{content:"";position:absolute;left:-4px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.detail-section a{color:var(--accent);text-decoration:none;font-weight:500;overflow-wrap:anywhere;word-break:break-all}.detail-section a:hover{text-decoration:underline}.score-badge{color:var(--text-soft);font-size:12px;font-weight:500}.description-content{font-size:14px;line-height:1.7;max-height:440px;overflow-y:auto;color:var(--text);padding-left:var(--space-4);padding-right:var(--space-4);margin-right:calc(-1 * var(--space-5))}.description-content h1,.description-content h2,.description-content h3,.description-content h4,.description-content h5,.description-content h6{font-size:15px;font-weight:600;margin:1em 0 .4em;color:var(--text)}.description-content p{margin:0 0 .8em}.description-content ul,.description-content ol{padding-left:1.4em;margin:0 0 .8em}.description-content li{margin-bottom:.3em;padding-left:0}.description-content li:before{content:none}.description-content table{width:100%;border-collapse:collapse;font-size:13px;margin:.8em 0}.description-content table th,.description-content table td{border:1px solid var(--border);padding:6px 10px;text-align:left;vertical-align:top}.description-content table th{background:var(--surface-2);font-weight:600}.description-content a{color:var(--accent);text-decoration:none}.description-content a:hover{text-decoration:underline}.description-content img{max-width:100%;height:auto}.last-updated{text-align:center;color:#999;font-size:.75rem;margin-top:1.5rem;padding:.5rem}.auth-loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:1.1rem;color:var(--text-muted)}.user-menu{position:relative;margin-left:auto}.user-menu-trigger{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:border-color .15s}.user-menu-trigger:hover{border-color:var(--border-strong)}.user-avatar{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-size:.75rem;font-weight:600}.user-name{font-size:.875rem;color:var(--text)}.user-menu-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);z-index:100;padding:var(--space-3)}.user-menu-info{padding-bottom:var(--space-3);border-bottom:1px solid var(--border);margin-bottom:var(--space-3)}.user-menu-email{font-size:.8rem;color:var(--text-muted)}.user-menu-logout{width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);text-align:left;cursor:pointer;font-size:.875rem}.user-menu-logout:hover{background:var(--bg)}
