*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#333}.layout{display:flex;min-height:100vh}.sidebar{width:240px;background:#1a1a2e;color:#fff;display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header h2{font-size:18px;font-weight:700}.sidebar-nav{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:8px;color:#fff9;text-decoration:none;font-size:14px;transition:all .2s}.nav-item:hover{background:#ffffff14;color:#fff}.nav-item.active{background:#ffffff26;color:#fff;font-weight:600}.sidebar-footer{padding:16px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:8px}.user-info{font-size:12px;color:#ffffff80}.user-info span{display:block}.user-role{color:#ffffff4d}.logout-btn{padding:6px 12px;font-size:12px;font-family:inherit;background:#ffffff1a;border:none;color:#fff9;border-radius:6px;cursor:pointer}.logout-btn:hover{background:#fff3;color:#fff}.main{flex:1;overflow-y:auto}.page{padding:32px;max-width:1000px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.page-header h1{font-size:24px;font-weight:600}.section{margin-top:24px}.section h2{font-size:18px;font-weight:600;margin-bottom:12px}.description{color:#666;margin-bottom:16px;line-height:1.6}.input-mode-tabs{display:flex;gap:4px;background:#f3f4f6;border-radius:10px;padding:4px}.mode-tab{flex:1;padding:8px;font-size:13px;font-weight:600;font-family:inherit;border:none;border-radius:8px;cursor:pointer;background:transparent;color:#666}.mode-tab.active{background:#fff;color:#4472c4;box-shadow:0 1px 3px #0000001a}.file-upload-area{border:2px dashed #ddd;border-radius:12px;padding:32px;text-align:center;cursor:pointer;transition:border-color .2s}.file-upload-area:hover{border-color:#4472c4}.file-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#aaa;font-size:14px}.file-hint{font-size:12px;color:#ccc}.file-selected{display:flex;align-items:center;gap:12px;justify-content:center}.file-name{font-weight:600;color:#333}.file-size{font-size:12px;color:#888}.process-mode-section{margin-top:4px}.process-mode-label{font-size:13px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.process-mode-cards{display:flex;gap:12px}.process-mode-card{flex:1;padding:16px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;text-align:left;font-family:inherit;transition:all .2s}.process-mode-card:hover{border-color:#bbb}.process-mode-card.selected{border-color:#4472c4;background:#f0f5ff}.pmc-title{font-size:15px;font-weight:700;margin-bottom:4px;color:#333}.pmc-desc{font-size:12px;color:#888}.extraction-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px;background:#f9fafb;border-radius:10px}.option-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#555;cursor:pointer}.option-item input{width:16px;height:16px;accent-color:#4472C4;cursor:pointer}.btn-lg{padding:14px;font-size:16px}.btn-primary{padding:10px 20px;font-size:14px;font-weight:600;font-family:inherit;color:#fff;background:#4472c4;border:none;border-radius:8px;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#3a62a8}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:4px 10px;font-size:12px;font-family:inherit;background:#f3f4f6;border:none;border-radius:6px;cursor:pointer;color:#555}.btn-sm:hover{background:#e5e7eb}.btn-danger{color:#ef4444}.btn-danger:hover{background:#fee2e2}.card-list{display:flex;flex-direction:column;gap:8px}.card{background:#fff;padding:16px 20px;border-radius:12px;box-shadow:0 1px 3px #0000000f;text-decoration:none;color:inherit;transition:box-shadow .2s}.card:hover{box-shadow:0 2px 8px #0000001f}.card-with-actions{display:flex;justify-content:space-between;align-items:center}.card-actions{display:flex;gap:6px}.card-title{font-weight:600;margin-bottom:4px}.card-meta{font-size:13px;color:#888;display:flex;gap:12px;align-items:center}.tag{display:inline-block;padding:2px 8px;font-size:11px;background:#e8f0fe;color:#4472c4;border-radius:4px}.status{font-size:12px;font-weight:500;padding:2px 8px;border-radius:12px}.status.done{background:#dcfce7;color:#16a34a}.status.processing{background:#fef3c7;color:#d97706;display:inline-flex;align-items:center;gap:6px}.spinner{width:14px;height:14px;border:2px solid #d97706;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.status.pending{background:#f3f4f6;color:#888}.status.error{background:#fee2e2;color:#dc2626}.empty{text-align:center;padding:40px;color:#aaa}.upload-form{background:#fff;padding:20px;border-radius:12px;box-shadow:0 1px 3px #0000000f;margin-bottom:24px;display:flex;flex-direction:column;gap:12px}.upload-form input,.upload-form textarea,.upload-form select{padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;width:100%}.upload-form textarea{resize:vertical}.upload-form input:focus,.upload-form textarea:focus{outline:none;border-color:#4472c4}.data-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.data-table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;text-transform:uppercase;color:#888;background:#fafafa;border-bottom:1px solid #eee}.data-table td{padding:12px 16px;font-size:14px;border-bottom:1px solid #f0f0f0}.doc-content{background:#f9fafb;padding:16px;border-radius:8px;font-size:13px;line-height:1.6;white-space:pre-wrap;max-height:400px;overflow-y:auto;margin-top:12px}.chat-page{display:flex;flex-direction:column;height:calc(100vh + -0px)}.chat-messages{flex:1;overflow-y:auto;padding:20px 0;display:flex;flex-direction:column;gap:12px}.chat-msg{max-width:80%}.chat-msg.user{align-self:flex-end}.chat-msg.assistant{align-self:flex-start}.chat-msg-content{padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.6;white-space:pre-wrap}.chat-msg.user .chat-msg-content{background:#4472c4;color:#fff;border-bottom-right-radius:4px}.chat-msg.assistant .chat-msg-content{background:#fff;box-shadow:0 1px 3px #00000014;border-bottom-left-radius:4px}.typing{color:#888;font-style:italic}.chat-input{display:flex;gap:8px;padding:16px 0}.chat-input input{flex:1;padding:12px 16px;border:1px solid #ddd;border-radius:12px;font-size:14px;font-family:inherit}.chat-input input:focus{outline:none;border-color:#4472c4}.chat-input button{padding:12px 24px;font-size:14px;font-weight:600;font-family:inherit;color:#fff;background:#4472c4;border:none;border-radius:12px;cursor:pointer}.chat-input button:disabled{opacity:.5}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#1a1a2e}.auth-form{background:#fff;padding:40px;border-radius:16px;width:380px;display:flex;flex-direction:column;gap:16px}.auth-form h1{font-size:24px;text-align:center;color:#1a1a2e}.auth-form h2{font-size:16px;text-align:center;color:#888}.auth-form input{padding:12px 16px;border:1px solid #ddd;border-radius:10px;font-size:14px;font-family:inherit}.auth-form input:focus{outline:none;border-color:#4472c4}.auth-form button{padding:12px;font-size:16px;font-weight:600;font-family:inherit;color:#fff;background:#4472c4;border:none;border-radius:10px;cursor:pointer}.auth-error{color:#ef4444;font-size:13px;text-align:center}.auth-link{text-align:center;font-size:13px;color:#888}.auth-link a{color:#4472c4}.breadcrumb{font-size:13px;color:#4472c4;text-decoration:none;display:block;margin-bottom:4px}.breadcrumb:hover{text-decoration:underline}.processing-banner{display:flex;align-items:center;gap:10px;padding:16px 20px;background:#fef3c7;border-radius:12px;color:#92400e;font-size:14px;margin-bottom:24px}.doc-summary{font-size:16px;line-height:1.6;color:#555;padding:16px 20px;background:#f0f5ff;border-radius:12px;border-left:4px solid #4472C4;margin-bottom:20px}.doc-roles{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px}.doc-roles-label{font-size:13px;font-weight:600;color:#888}.role-tag{padding:4px 12px;background:#e8f0fe;color:#4472c4;border-radius:20px;font-size:12px;font-weight:500}.sections-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.doc-section{background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 1px 3px #0000000f;border-left:4px solid #e5e7eb}.doc-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.doc-section-header h2{font-size:17px;font-weight:600}.section-type{font-size:11px;font-weight:600;padding:3px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.04em}.section-content{font-size:14px;color:#666;line-height:1.6;margin-bottom:12px}.key-points{margin:0 0 12px 20px;font-size:14px;color:#555;line-height:1.8}.section-process{margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.section-process h3{font-size:15px;font-weight:600;color:#16a34a;margin-bottom:6px}.process-desc{font-size:13px;color:#888;margin-bottom:8px}.doc-terms{margin-top:24px}.doc-terms h2{font-size:18px;font-weight:600;margin-bottom:12px}.terms-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.term-card{background:#f9fafb;padding:12px 16px;border-radius:10px}.term-name{font-weight:600;font-size:14px;margin-bottom:4px;color:#8b5cf6}.term-def{font-size:13px;color:#666}.raw-text-section{margin-top:24px}.raw-text-section summary{font-size:14px;color:#888;cursor:pointer;padding:8px 0}.loading-screen{display:flex;align-items:center;justify-content:center;height:100vh;color:#888;font-size:16px}
