.docs-upload-zone{border:2px dashed var(--border-strong);border-radius:var(--r-lg);padding:var(--sp-7) var(--sp-5);text-align:center;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast);background:var(--bg-card);margin-bottom:var(--sp-4)}.docs-upload-zone:hover,.docs-upload-zone.drag-over{border-color:var(--pink);background:var(--pink-bg)}.docs-upload-zone .upload-ico{font-size:2.5rem;margin-bottom:var(--sp-2)}.docs-upload-zone p{color:var(--text-secondary);font-size:0.9rem;margin:var(--sp-1) 0 0}.docs-upload-zone .btn{margin-top:var(--sp-3)}.docs-upload-progress{display:none;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--bg-elevated);border:1px solid var(--border);margin-bottom:var(--sp-3)}.docs-upload-progress.active{display:flex}.docs-upload-bar{flex:1;height:6px;border-radius:var(--r-pill);background:var(--border);overflow:hidden}.docs-upload-bar-fill{height:100%;border-radius:var(--r-pill);background:var(--green);width:0;transition:width .3s ease}.docs-upload-name{font-size:0.82rem;color:var(--text-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.docs-filters{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center;margin-bottom:var(--sp-4)}.docs-filters input[type="search"]{flex:1;min-width:150px;padding:6px 12px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-family:inherit;font-size:0.88rem}.docs-filters input[type="search"]:focus{outline:none;border-color:var(--pink)}.docs-filter-pill{padding:4px 12px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:0.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--t-fast),color var(--t-fast)}.docs-filter-pill.active{background:var(--pink);color:#fff;border-color:var(--pink)}.docs-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.doc-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-card);padding:var(--sp-4);cursor:pointer;transition:border-color var(--t-fast),box-shadow var(--t-fast);position:relative}.doc-card:hover{border-color:var(--pink);box-shadow:var(--shadow-sm)}.doc-card.selected{border-color:var(--pink);box-shadow:0 0 0 2px var(--pink)}.doc-card-header{display:flex;align-items:flex-start;gap:var(--sp-2);margin-bottom:var(--sp-2)}.doc-card-ico{font-size:1.5rem;flex-shrink:0}.doc-card-title{font-weight:700;font-size:0.92rem;line-height:1.3;word-break:break-word}.doc-card-meta{font-size:0.75rem;color:var(--text-muted);margin-top:2px}.doc-card-desc{font-size:0.8rem;color:var(--text-secondary);margin:var(--sp-2) 0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.doc-card-footer{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.doc-card-project{font-size:0.72rem;padding:2px 8px;border-radius:var(--r-pill);background:var(--green-bg);color:var(--green);font-weight:600}.doc-card-tag{font-size:0.7rem;padding:2px 6px;border-radius:var(--r-pill);background:var(--bg-elevated);color:var(--text-secondary)}.doc-card-stars{font-size:0.8rem;color:#f59e0b}.doc-card-trash-badge{position:absolute;top:var(--sp-2);right:var(--sp-2);background:var(--danger);color:#fff;font-size:0.7rem;padding:2px 6px;border-radius:var(--r-pill)}.doc-card-actions{display:none;flex-direction:column;gap:var(--sp-1);position:absolute;right:var(--sp-2);bottom:var(--sp-2)}.doc-card:hover .doc-card-actions{display:flex}.doc-qa-btn{font-size:0.75rem;padding:3px 8px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;white-space:nowrap;font-family:inherit;transition:background var(--t-fast)}.doc-qa-btn:hover{background:var(--pink-bg);border-color:var(--pink);color:var(--pink)}.doc-qa-btn.danger:hover{background:#fee2e2;border-color:var(--danger);color:var(--danger)}.docs-review-mode{display:none;position:fixed;inset:0;z-index:200;background:var(--bg-main);overflow:hidden}.docs-review-mode.active{display:flex;flex-direction:column}.docs-review-topbar{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);background:var(--bg-card);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.docs-review-counter{font-size:0.82rem;color:var(--text-secondary)}.docs-review-body{display:flex;flex:1;min-height:0}.docs-review-doc{flex:1;min-width:0;border-right:1px solid var(--border);overflow:auto}.docs-review-doc iframe{width:100%;height:100%;border:none}.docs-review-panel{width:340px;flex-shrink:0;overflow-y:auto;padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-4)}.docs-review-title{font-weight:700;font-size:1rem;word-break:break-word}.docs-stars-row{display:flex;gap:var(--sp-3);align-items:center}.docs-star-group label{font-size:0.78rem;color:var(--text-secondary)}.docs-stars{display:flex;gap:2px}.docs-stars span{font-size:1.3rem;cursor:pointer;opacity:0.3;transition:opacity .1s}.docs-stars span.lit{opacity:1}.docs-review-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap}.docs-review-actions .btn{flex:1}.docs-ai-box{background:var(--bg-elevated);border-radius:var(--r-md);padding:var(--sp-3);font-size:0.82rem;line-height:1.5;color:var(--text-secondary);white-space:pre-wrap}.docs-extract-area{display:flex;flex-direction:column;gap:var(--sp-2)}.docs-extract-area textarea{resize:vertical;min-height:80px;font-family:inherit;font-size:0.82rem;padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-card);color:var(--text-primary)}.docs-extract-btns{display:flex;gap:var(--sp-2);flex-wrap:wrap}.docs-upload-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5);display:none;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-4)}.docs-upload-form.open{display:flex}.docs-upload-form .form-row{display:flex;gap:var(--sp-3);flex-wrap:wrap}.docs-upload-form .form-row>*{flex:1;min-width:150px}.docs-empty{text-align:center;padding:var(--sp-7);color:var(--text-muted)}.docs-empty .ico{font-size:3rem;margin-bottom:var(--sp-3)}@media (max-width:600px){.docs-grid{grid-template-columns:1fr !important}.docs-review-body{flex-direction:column}.docs-review-doc{min-height:50vh;border-right:none;border-bottom:1px solid var(--border)}.docs-review-panel{width:100%}.docs-filters{gap:var(--sp-1)}}