.login-container{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:linear-gradient(135deg,var(--primary-color)10 0%,var(--secondary-color)10 100%)}.login-card{width:100%;max-width:420px;background-color:var(--bg-color, #ffffff);border-radius:16px;padding:40px 32px;box-shadow:0 4px 24px #00000014}.login-header{text-align:center;margin-bottom:32px}.login-logo{width:80px;height:80px;border-radius:16px;margin-bottom:16px;object-fit:cover}.login-header h1{font-size:28px;font-weight:700;margin:16px 0 8px}.login-description{font-size:14px;color:#666;margin:0}.login-description a{color:inherit;text-decoration:underline;font-weight:600}.login-form{display:flex;flex-direction:column;gap:16px}.login-form h2{font-size:20px;font-weight:600;margin:0 0 16px;color:var(--text-color, #333)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:600;color:var(--text-color, #333)}.form-group input{padding:12px 14px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;transition:border-color .3s ease,box-shadow .3s ease;background-color:var(--bg-color, #ffffff);color:var(--text-color, #333)}.form-group input:focus{outline:none;border-color:var(--primary-color, #007aff);box-shadow:0 0 0 3px var(--primary-color, #007aff) 20}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.submit-btn{padding:12px 16px;border:none;border-radius:8px;font-size:16px;font-weight:600;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;margin-top:8px}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{cursor:not-allowed}.login-footer{text-align:center;margin-top:24px;border-top:1px solid #eee;padding-top:24px}.login-footer p{margin:0;font-size:14px;color:#666}.toggle-btn{background:none;border:none;cursor:pointer;font-size:14px;font-weight:600;margin-left:4px;text-decoration:underline;padding:0}.toggle-btn:hover{opacity:.8}@media (max-width: 480px){.login-card{padding:24px 20px}.login-header{margin-bottom:24px}.login-logo{width:64px;height:64px}.login-header h1{font-size:24px}.login-description{font-size:12px}.login-form h2{font-size:18px}.form-group{gap:4px}.form-group label{font-size:13px}.form-group input{padding:10px 12px;font-size:13px}.submit-btn{padding:10px 14px;font-size:14px}.login-footer{margin-top:16px;padding-top:16px}.login-footer p,.toggle-btn{font-size:13px}}@media (max-width: 320px){.login-card{padding:16px 12px}.login-header{margin-bottom:16px}.login-logo{width:56px;height:56px}.login-header h1{font-size:20px}.login-form{gap:12px}}.ft-root{display:flex;align-items:center;gap:14px;width:100%}.ft-thumb{flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:8px;overflow:hidden;background:#f3f4f6;border:1px solid #e5e7eb}.ft-root--card .ft-thumb{width:56px;height:56px}.ft-root--preview .ft-thumb{width:72px;height:72px}.ft-img{width:100%;height:100%;object-fit:cover}.ft-icon{font-size:28px;line-height:1}.ft-root--preview .ft-icon{font-size:36px}.ft-meta{flex:1;min-width:0}.ft-name{font-size:13px;font-weight:600;color:var(--text-color, #333);margin:0 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ft-size{font-size:11px;color:#888;margin:0}.upload-container{width:100%;max-width:600px;margin:0 auto;padding:12px;display:flex;flex-direction:column;gap:12px}.upload-header{text-align:center}.upload-header h1{font-size:18px;font-weight:700;margin:0 0 6px;color:var(--text-color, #333);word-break:break-word}.upload-header p{font-size:12px;color:#666;margin:0}.upload-preview-card{display:flex;flex-direction:column;gap:16px;padding:18px;border:1.5px solid #e5e7eb;border-radius:10px;background:#fafafa}.upload-preview-details{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.upload-preview-detail-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px}.upload-preview-label{color:#888;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;flex-shrink:0}.upload-preview-value{color:var(--text-color, #333);font-weight:500;text-align:right;word-break:break-all}.upload-progress{display:flex;align-items:center;justify-content:center;gap:10px;color:#666;font-size:13px;padding:4px 0}.upload-preview-actions{display:flex;gap:10px}.upload-btn-confirm{flex:1;padding:10px 16px;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;min-height:42px;transition:opacity .15s}.upload-btn-confirm:hover{opacity:.88}.upload-btn-change{padding:10px 14px;border:1.5px solid #d1d5db;border-radius:8px;background:#fff;color:#666;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;min-height:42px;white-space:nowrap;transition:border-color .15s,color .15s}.upload-btn-change:hover{border-color:#9ca3af;color:#444}.drag-drop-area{border:2px dashed;border-radius:8px;padding:24px 12px;text-align:center;cursor:pointer;transition:all .3s ease;background-color:var(--bg-color, #ffffff);min-height:120px;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;touch-action:none}.drag-drop-area:active{opacity:.8}.drag-drop-area:hover{border-color:var(--secondary-color, #34c759);opacity:.8}.drag-drop-area.active{background-color:var(--primary-color, #007aff)10;border-color:var(--primary-color, #007aff)}.drag-drop-content{display:flex;flex-direction:column;align-items:center;gap:6px}.drag-drop-icon{font-size:36px;margin:0}.drag-drop-text{font-size:13px;font-weight:600;margin:0;color:var(--text-color, #333)}.drag-drop-subtext{font-size:11px;color:#999;margin:0}.upload-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.upload-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border:none;border-radius:8px;background-color:var(--primary-color, #007aff);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 4px #0000001a;min-height:80px;-webkit-user-select:none;user-select:none}.upload-btn:active:not(:disabled){opacity:.8}.upload-btn:hover:not(:disabled){box-shadow:0 2px 8px #00000026}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.btn-icon{font-size:24px}.btn-text{font-size:11px;text-align:center;line-height:1.2}.upload-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 12px;background-color:var(--primary-color, #007aff)10;border-radius:8px;min-height:180px}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color, #007aff);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-loading p{margin:0;font-size:13px;color:var(--text-color, #333)}.upload-info{background-color:#f8f9fa;border-radius:8px;padding:12px;border-left:4px solid var(--primary-color, #007aff)}.upload-info h3{margin:0 0 6px;font-size:12px;font-weight:600;color:var(--text-color, #333)}.upload-info ul{margin:0;padding-left:18px;font-size:11px;color:#666}.upload-info li{margin:3px 0;line-height:1.4}@media (min-width: 640px){.upload-container{padding:16px;gap:16px}.upload-header h1{font-size:22px;margin:0 0 8px}.upload-header p{font-size:13px}.drag-drop-area{padding:30px 16px;min-height:140px;border-radius:10px}.drag-drop-icon{font-size:40px}.drag-drop-text{font-size:14px}.drag-drop-subtext{font-size:12px}.upload-buttons{grid-template-columns:repeat(3,1fr);gap:10px}.upload-btn{padding:14px 10px;min-height:90px;border-radius:10px;font-size:12px}.btn-icon{font-size:28px}.btn-text{font-size:12px}.upload-info{padding:14px}.upload-info h3{font-size:13px;margin:0 0 8px}.upload-info ul{font-size:12px}}@media (min-width: 1024px){.upload-container{padding:20px;gap:20px}.upload-header h1{font-size:28px;margin:0 0 8px}.upload-header p{font-size:14px}.drag-drop-area{padding:40px 20px;min-height:160px;border-radius:12px}.drag-drop-icon{font-size:48px}.drag-drop-text{font-size:16px}.drag-drop-subtext{font-size:12px}.upload-buttons{grid-template-columns:repeat(4,1fr);gap:12px}.upload-btn{padding:16px 12px;min-height:100px;border-radius:12px;font-size:14px}.btn-icon{font-size:32px}.btn-text{font-size:14px}.upload-info{padding:16px}.upload-info h3{font-size:14px;margin:0 0 8px}.upload-info ul{font-size:12px}}@media (max-height: 500px) and (orientation: landscape){.upload-container{padding:8px;gap:8px}.upload-header h1{font-size:14px;margin:0 0 4px}.upload-header p{display:none}.drag-drop-area{padding:12px;min-height:80px;border-radius:8px}.drag-drop-icon{font-size:28px}.drag-drop-text{font-size:11px}.drag-drop-subtext{display:none}.upload-buttons{grid-template-columns:repeat(4,1fr);gap:6px}.upload-btn{padding:8px;min-height:60px;font-size:10px}.btn-icon{font-size:20px}.btn-text{font-size:9px}.upload-info{padding:8px;display:none}.upload-loading{padding:20px 8px;min-height:120px}.spinner{width:32px;height:32px;border-width:3px}.upload-loading p{font-size:11px}}@media (hover: none) and (pointer: coarse){.upload-btn,.drag-drop-area{padding-top:12px;padding-bottom:12px}.upload-btn:active{background-color:var(--secondary-color, #34c759)}}.upload-preview{background-color:var(--bg-color, #ffffff);border-radius:8px;border-left:4px solid var(--primary-color, #007aff);padding:12px;margin-top:12px;box-shadow:0 2px 8px #00000014}.preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.preview-header h3{font-size:14px;font-weight:600;margin:0;color:var(--text-color, #333)}.close-btn{background:none;border:none;font-size:16px;cursor:pointer;color:#999;padding:4px;min-height:32px;min-width:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-btn:active{background-color:#f0f0f0}.preview-content{background-color:#f8f9fa;border-radius:6px;padding:12px;margin-bottom:12px;min-height:120px;display:flex;align-items:center;justify-content:center}.preview-image{width:100%;max-height:200px;overflow:auto;border-radius:4px}.preview-image img{max-width:100%;height:auto;display:block;border-radius:4px}.preview-pdf{width:100%;height:200px;border-radius:4px;overflow:hidden}.preview-pdf iframe{width:100%;height:100%;border:none}.preview-generic{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.file-icon{font-size:32px}.file-name{font-size:13px;font-weight:600;color:var(--text-color, #333);margin:0;text-align:center;word-break:break-word}.file-size{font-size:11px;color:#999;margin:0}.preview-info{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.info-item{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:6px 8px;background-color:#f5f5f5;border-radius:4px}.info-item .label{font-weight:600;color:#666}.info-item .value{color:var(--text-color, #333);word-break:break-word;text-align:right;flex:1;margin-left:8px}.status-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:10px;font-weight:600;text-transform:uppercase}.status-badge.pending{background-color:#fff3cd;color:#856404}.status-badge.processing{background-color:#d1ecf1;color:#0c5460}.status-badge.succeeded{background-color:#d4edda;color:#155724}.status-badge.failed{background-color:#f8d7da;color:#721c24}.preview-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.action-btn{flex:1;min-height:40px;padding:8px 12px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px;text-decoration:none;-webkit-user-select:none;user-select:none}.download-btn{background-color:var(--secondary-color, #34c759);color:#fff}.download-btn:active{opacity:.8}.copy-btn{background-color:var(--primary-color, #007aff);color:#fff}.copy-btn:active{opacity:.8}.view-btn{background-color:#2196f3;color:#fff}.view-btn:active{opacity:.8}.preview-note{background-color:#e3f2fd;border-left:3px solid var(--primary-color, #007aff);padding:8px 10px;border-radius:4px}.preview-note p{font-size:11px;color:#0d47a1;margin:0;line-height:1.4}.preview-note strong{font-weight:600}.preview-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:12px}.modal-content{background-color:#fff;border-radius:8px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;position:relative;box-shadow:0 4px 24px #0000004d}.modal-close{position:absolute;top:8px;right:8px;background-color:#ffffffe6;border:none;width:36px;height:36px;border-radius:4px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1001}.modal-close:active{opacity:.8}.modal-image{max-width:100%;max-height:calc(90vh - 60px);object-fit:contain}.modal-pdf{width:100%;height:calc(90vh - 60px);border:none}.modal-footer{padding:12px;border-top:1px solid #eee;display:flex;align-items:center;justify-content:space-between;gap:8px;background-color:#f8f9fa}.modal-footer p{font-size:13px;margin:0;color:var(--text-color, #333);flex:1;word-break:break-word}.modal-download-btn{min-height:40px;padding:8px 12px;background-color:var(--secondary-color, #34c759);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;text-decoration:none;display:flex;align-items:center;gap:4px;white-space:nowrap}.modal-download-btn:active{opacity:.8}@media (min-width: 640px){.upload-preview{padding:16px}.preview-header h3{font-size:15px}.preview-content{padding:16px;min-height:250px}.preview-image img{max-width:400px}.preview-pdf{height:300px}.preview-info{gap:10px}.info-item{font-size:13px}.preview-actions{gap:10px}.action-btn{padding:10px 16px;font-size:13px}.modal-content{max-width:800px;max-height:600px}.modal-pdf{height:540px}}@media (min-width: 1024px){.upload-preview{padding:20px}.preview-header h3{font-size:16px}.preview-content{padding:20px;min-height:300px}.preview-image img{max-width:500px}.preview-pdf{height:400px}.preview-info,.preview-actions{gap:12px}.action-btn{padding:12px 20px;font-size:14px}.modal-content{max-width:1000px;max-height:700px}.modal-pdf{height:640px}}@media (max-height: 500px) and (orientation: landscape){.upload-preview{padding:8px}.preview-content{padding:8px;min-height:100px;max-height:200px}.preview-image img{max-height:150px}.preview-pdf{height:150px}.preview-info{gap:6px;display:none}.preview-actions{gap:6px}.action-btn{padding:6px 10px;font-size:11px;min-height:36px}}.documents-container{width:100%;max-width:1000px;margin:0 auto;padding:12px;display:flex;flex-direction:column;gap:12px;box-sizing:border-box;overflow-x:hidden}.documents-header{text-align:center;margin-bottom:12px}.documents-header h1{font-size:20px;font-weight:700;margin:0 0 4px;color:var(--text-color, #333);word-break:break-word;overflow-wrap:break-word}.documents-header p{font-size:12px;color:#666;margin:0}.documents-error{padding:12px;background-color:#ffebee;border-left:4px solid #f44336;border-radius:6px;color:#c62828;font-size:12px;word-break:break-word;overflow-wrap:break-word}.documents-search{display:flex;gap:8px;width:100%;box-sizing:border-box}.search-input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:13px;background-color:var(--bg-color, #ffffff);color:var(--text-color, #333);min-height:44px;box-sizing:border-box;width:100%}.search-input:focus{outline:none;border-color:var(--primary-color, #007aff);box-shadow:0 0 0 2px var(--primary-color, #007aff) 20}.documents-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 12px;background-color:var(--primary-color, #007aff)10;border-radius:8px;min-height:200px}.documents-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 12px;background-color:#f5f5f5;border-radius:8px;color:#999;min-height:200px}.documents-empty p:first-child{font-size:40px;margin:0}.empty-text{font-size:13px;color:#666;text-align:center;word-break:break-word}.documents-grid{display:grid;grid-template-columns:1fr;gap:8px;width:100%;box-sizing:border-box}.document-card{background-color:var(--bg-color, #ffffff);border:1px solid #eee;border-radius:8px;padding:10px;display:flex;gap:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 1px 4px #0000000d;min-height:100px;align-items:flex-start;box-sizing:border-box;width:100%;overflow:hidden}.document-card:active{background-color:#f5f5f5}.document-card:hover{box-shadow:0 2px 8px #0000001a;border-color:var(--primary-color, #007aff)}.document-icon{font-size:28px;display:flex;align-items:center;flex-shrink:0;min-width:28px}.document-info{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.document-name{font-size:13px;font-weight:600;margin:0;color:var(--text-color, #333);white-space:normal;overflow-wrap:break-word;word-break:break-word}.document-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;color:#999}.meta-item{display:flex;align-items:center;gap:2px;white-space:nowrap}.document-status{display:flex;align-items:center;gap:6px;margin-top:2px}.status-indicator{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.status-text{font-size:10px;font-weight:600;text-transform:uppercase;color:#666;white-space:nowrap}.document-actions{display:flex;gap:6px;flex-shrink:0}.action-btn{width:40px;height:40px;min-height:44px;min-width:44px;border:none;border-radius:6px;background-color:#f5f5f5;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;-webkit-user-select:none;user-select:none;flex-shrink:0}.action-btn:active:not(:disabled){opacity:.7}.action-btn:disabled{opacity:.5;cursor:not-allowed}.view-btn:active{background-color:var(--primary-color, #007aff)20}.delete-btn:active{background-color:#ffebee}.documents-footer{display:flex;justify-content:center;margin-top:12px;width:100%;box-sizing:border-box}.load-more-btn{min-height:44px;padding:10px 24px;border:none;border-radius:6px;background-color:var(--primary-color, #007aff);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;max-width:100%;box-sizing:border-box}.load-more-btn:active:not(:disabled){opacity:.8}.load-more-btn:disabled{opacity:.6;cursor:not-allowed}.load-more-btn:hover:not(:disabled){background-color:var(--secondary-color, #34c759)}@media (min-width: 640px){.documents-container{padding:16px;gap:16px}.documents-header h1{font-size:24px}.documents-header p{font-size:13px}.search-input{padding:12px 16px;font-size:14px}.documents-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.document-card{padding:12px;gap:12px;flex-direction:column;align-items:stretch;min-height:auto}.document-icon{font-size:32px}.document-name{font-size:14px}.document-meta{font-size:12px}.document-actions{gap:8px;justify-content:flex-start}.action-btn{width:40px;height:40px}.load-more-btn{width:auto}}@media (min-width: 1024px){.documents-container{padding:20px;gap:20px}.documents-header h1{font-size:32px}.documents-header p{font-size:14px}.search-input{padding:12px 16px;font-size:14px}.documents-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.document-card{padding:16px;gap:12px}.document-name{font-size:14px}.document-meta{font-size:12px;gap:8px}.action-btn{width:36px;height:36px;font-size:16px}}@media (max-height: 500px) and (orientation: landscape){.documents-container{padding:8px;gap:8px}.documents-header h1{font-size:16px}.documents-header p{display:none}.documents-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.document-card{padding:8px;gap:8px}.document-name{font-size:12px}.document-meta{font-size:10px}.action-btn{width:36px;height:36px;font-size:14px}}.document-preview-container{background-color:var(--bg-color, #ffffff);border-radius:8px;border:1px solid #eee;padding:12px;margin-bottom:16px;box-shadow:0 2px 8px #00000014;overflow:hidden;box-sizing:border-box}.preview-header{margin-bottom:12px}.preview-header h2{font-size:16px;font-weight:600;margin:0;color:var(--text-color, #333)}.document-preview-unavailable{background-color:#f5f5f5;border-radius:8px;padding:20px;text-align:center;color:#999;margin-bottom:16px}.document-preview-unavailable p{font-size:14px;margin:0 0 6px}.document-preview-unavailable small{font-size:12px;color:#bbb}.preview-content{background-color:#f8f9fa;border-radius:6px;padding:12px;margin-bottom:12px;min-height:150px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;overflow:hidden;box-sizing:border-box;width:100%}.preview-content:hover{background-color:#eee;box-shadow:0 4px 12px #0000001a}.preview-image{max-width:100%;max-height:300px;object-fit:contain;border-radius:4px}.preview-pdf{width:100%;height:300px;border:none;border-radius:4px}.preview-generic{display:flex;flex-direction:column;align-items:center;gap:8px;color:#999;text-align:center;width:100%}.generic-icon{font-size:48px}.preview-generic p{font-size:13px;margin:0}.file-info{font-size:11px;color:#bbb;word-break:break-word;max-width:100%}.preview-actions{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap;box-sizing:border-box}.action-fullscreen,.action-download{flex:1;min-height:40px;padding:10px 12px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;min-width:100px;box-sizing:border-box}.action-fullscreen{background-color:var(--primary-color, #007aff);color:#fff}.action-fullscreen:active{opacity:.8}.action-download{background-color:var(--secondary-color, #34c759);color:#fff}.action-download:active{opacity:.8}.preview-info{background-color:#e3f2fd;border-left:3px solid var(--primary-color, #007aff);padding:8px 10px;border-radius:4px;font-size:11px;color:#0d47a1}.preview-info p{margin:0;line-height:1.4;word-break:break-word}.fullscreen-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000f2;display:flex;flex-direction:column;z-index:999;padding:0;box-sizing:border-box}.modal-header{background-color:#000c;color:#fff;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #444;flex-shrink:0;box-sizing:border-box}.modal-header h3{font-size:14px;font-weight:600;margin:0;flex:1;min-width:0;word-break:break-word;overflow-wrap:break-word}.modal-close{background-color:#ffffff1a;border:none;color:#fff;font-size:20px;width:40px;height:40px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.modal-close:active{background-color:#fff3}.modal-content{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;-webkit-overflow-scrolling:touch;padding:12px;box-sizing:border-box}.modal-image{max-width:100%;max-height:100%;object-fit:contain}.modal-pdf{width:100%;height:100%;border:none}.modal-footer{background-color:#000c;padding:12px;border-top:1px solid #444;display:flex;justify-content:center;flex-shrink:0;box-sizing:border-box}.modal-download{min-height:40px;padding:10px 16px;background-color:var(--secondary-color, #34c759);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s ease}.modal-download:active{opacity:.8}@media (min-width: 640px){.document-preview-container{padding:16px;margin-bottom:20px}.preview-header h2{font-size:18px}.preview-content{padding:16px;min-height:300px}.preview-image{max-height:400px}.preview-pdf{height:400px}.preview-actions{gap:10px}.action-fullscreen,.action-download{padding:10px 16px;font-size:13px}.modal-header{padding:16px}.modal-header h3{font-size:16px}.modal-close{width:44px;height:44px}.modal-content{padding:20px}.modal-footer{padding:16px}}@media (min-width: 1024px){.document-preview-container{padding:20px;margin-bottom:24px}.preview-header h2{font-size:20px}.preview-content{padding:20px;min-height:400px;cursor:pointer}.preview-content:hover{background-color:#ddd;box-shadow:0 6px 16px #00000026}.preview-image{max-height:500px}.preview-pdf{height:500px}.preview-actions{gap:12px}.action-fullscreen,.action-download{padding:12px 20px;font-size:14px}}@media (max-height: 500px) and (orientation: landscape){.document-preview-container{padding:8px;margin-bottom:8px}.preview-header{margin-bottom:6px}.preview-header h2{font-size:13px}.preview-content{padding:8px;min-height:120px}.preview-image{max-height:150px}.preview-pdf{height:150px}.preview-actions{gap:6px}.action-fullscreen,.action-download{padding:8px 10px;font-size:11px;min-height:36px}.preview-info{display:none}.modal-header{padding:8px}.modal-header h3{font-size:12px}.modal-close{width:36px;height:36px;font-size:16px}}.document-detail{width:100%;max-width:900px;margin:0 auto;padding:12px;display:flex;flex-direction:column;gap:12px}.detail-loading,.detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 12px;background-color:var(--primary-color, #007aff)10;border-radius:8px;min-height:200px}.detail-error{background-color:#ffebee;color:#c62828}.detail-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.back-btn{min-height:44px;min-width:44px;padding:8px 12px;background-color:#f5f5f5;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease;color:var(--text-color, #333);display:flex;align-items:center;white-space:nowrap}.back-btn:active{opacity:.7}.back-btn:hover{background-color:#eee;border-color:var(--primary-color, #007aff)}.detail-header h1{font-size:18px;font-weight:700;margin:0;color:var(--text-color, #333);flex:1;min-width:0;word-break:break-word}.detail-content{display:flex;flex-direction:column;gap:12px}.detail-card{background-color:var(--bg-color, #ffffff);border:1px solid #eee;border-radius:8px;padding:12px;box-shadow:0 1px 4px #00000014}.detail-card h2{font-size:14px;font-weight:600;margin:0 0 10px;color:var(--text-color, #333);border-bottom:2px solid var(--primary-color, #007aff);padding-bottom:6px}.detail-icon{font-size:40px;margin-bottom:8px}.detail-info h2{font-size:16px;font-weight:700;margin:0 0 10px;color:var(--text-color, #333);word-break:break-word}.info-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:10px;font-weight:600;text-transform:uppercase;color:#666;letter-spacing:.3px}.info-value{font-size:12px;color:var(--text-color, #333);padding:8px 10px;background-color:#f5f5f5;border-radius:6px;border-left:3px solid var(--primary-color, #007aff);word-break:break-all;line-height:1.4}.info-id{font-family:Monaco,Menlo,monospace;font-size:10px;background-color:#f0f0f0}.detail-actions,.polling-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.action-primary,.action-secondary,.action-tertiary,.action-copy{min-height:44px;padding:10px 16px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-width:140px;-webkit-user-select:none;user-select:none}.action-primary{background-color:#f44336;color:#fff}.action-primary:active:not(:disabled){opacity:.8}.action-secondary{background-color:var(--primary-color, #007aff);color:#fff}.action-secondary:active:not(:disabled){opacity:.8}.action-tertiary{background-color:#ff9800;color:#fff}.action-tertiary:active:not(:disabled){opacity:.8}.action-copy{background-color:#2196f3;color:#fff}.action-copy:active:not(:disabled){opacity:.8}.action-primary:disabled,.action-secondary:disabled{opacity:.6;cursor:not-allowed}.status-box{background-color:#f5f5f5;border-radius:6px;padding:12px;margin-bottom:10px}.status-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-label{font-size:13px;font-weight:600;text-transform:uppercase;color:var(--text-color, #333)}.status-message{font-size:12px;color:#666;margin:0;padding:6px 0}.error-message{color:#d32f2f;font-weight:500}.extracted-text{background-color:#f5f5f5;border-radius:6px;padding:10px;font-size:12px;line-height:1.5;color:var(--text-color, #333);max-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch;white-space:pre-wrap;word-wrap:break-word;border-left:4px solid var(--primary-color, #007aff);margin-bottom:10px}.detail-card ul{margin:8px 0;padding-left:20px;font-size:12px;color:#666;line-height:1.6}.detail-card ul li{margin-bottom:6px}.detail-card p{margin:6px 0;font-size:12px;color:#666;line-height:1.5}@media (min-width: 640px){.document-detail{padding:16px;gap:16px}.detail-header h1{font-size:20px}.detail-card{padding:16px}.detail-card h2{font-size:15px;margin:0 0 12px;padding-bottom:8px}.info-grid{grid-template-columns:repeat(2,1fr);gap:12px}.info-value{font-size:13px;padding:10px 12px}.action-primary,.action-secondary,.action-tertiary,.action-copy{min-width:auto;flex:0 1 auto;padding:10px 16px}.extracted-text{max-height:350px;font-size:13px;padding:12px}}@media (min-width: 1024px){.document-detail{padding:20px;gap:20px}.detail-header{margin-bottom:20px}.detail-header h1{font-size:28px}.detail-card{padding:24px}.detail-card h2{font-size:18px;margin:0 0 16px;padding-bottom:8px}.detail-icon{font-size:48px}.info-grid{grid-template-columns:repeat(3,1fr);gap:16px}.info-value{font-size:14px;padding:10px 12px}.action-primary,.action-secondary,.action-tertiary,.action-copy{padding:10px 20px}.extracted-text{max-height:400px;font-size:14px;padding:16px}}@media (max-height: 500px) and (orientation: landscape){.document-detail{padding:8px;gap:8px}.detail-header h1{font-size:16px}.detail-card{padding:8px}.detail-card h2{font-size:12px;margin:0 0 6px}.detail-icon{font-size:32px;margin-bottom:4px}.info-grid{grid-template-columns:1fr;gap:8px}.info-value{font-size:11px;padding:6px 8px}.action-primary,.action-secondary,.action-tertiary,.action-copy{padding:8px 12px;font-size:11px;min-height:36px}.extracted-text{max-height:150px;font-size:11px;padding:8px}.detail-card ul,.detail-card p{font-size:11px}}.profile-container{width:100%;max-width:800px;margin:0 auto;padding:12px;display:flex;flex-direction:column;gap:12px}.profile-header{text-align:center;margin-bottom:12px}.profile-header h1{font-size:20px;font-weight:700;margin:0 0 6px;color:var(--text-color, #333);word-break:break-word}.profile-header p{font-size:12px;color:#666;margin:0}.profile-loading,.profile-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 12px;background-color:var(--primary-color, #007aff)10;border-radius:8px;min-height:200px}.profile-error{color:#d32f2f}.profile-card{display:grid;grid-template-columns:1fr;gap:12px;background-color:var(--bg-color, #ffffff);border-radius:8px;padding:12px;box-shadow:0 2px 8px #00000014}.profile-section{display:flex;flex-direction:column;gap:12px}.profile-section h2{font-size:15px;font-weight:600;margin:0 0 8px;color:var(--text-color, #333);border-bottom:2px solid var(--primary-color, #007aff);padding-bottom:6px}.profile-field{display:flex;flex-direction:column;gap:4px}.profile-field label{font-size:11px;font-weight:600;text-transform:uppercase;color:#666;letter-spacing:.3px}.profile-value{font-size:13px;color:var(--text-color, #333);padding:8px 10px;background-color:#f5f5f5;border-radius:6px;border-left:3px solid var(--primary-color, #007aff);word-break:break-all;line-height:1.4}.profile-id{font-family:Monaco,Menlo,monospace;font-size:10px;background-color:#f0f0f0}.status-badge{display:inline-block;padding:6px 10px;border-radius:20px;font-size:11px;font-weight:600;width:fit-content}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.inactive{background-color:#f8d7da;color:#721c24}.role-badge{display:inline-block;padding:6px 10px;background-color:var(--primary-color, #007aff)20;color:var(--primary-color, #007aff);border-radius:6px;font-size:11px;font-weight:600;width:fit-content}.profile-stats{display:grid;grid-template-columns:1fr;gap:8px}.stat-card{background:linear-gradient(135deg,var(--primary-color, #007aff),var(--secondary-color, #34c759));color:#fff;padding:12px;border-radius:8px;text-align:center;box-shadow:0 2px 8px #0000001a}.stat-card h3{font-size:11px;font-weight:600;text-transform:uppercase;margin:0 0 6px;opacity:.9}.stat-card p{font-size:16px;font-weight:700;margin:0}.status-active{color:#4caf50;font-weight:600}.status-inactive{color:#f44336;font-weight:600}@media (min-width: 640px){.profile-container{padding:16px;gap:16px}.profile-header h1{font-size:24px;margin:0 0 8px}.profile-header p{font-size:13px}.profile-card{grid-template-columns:1fr 1fr;gap:16px;padding:16px}.profile-section h2{font-size:16px;margin:0 0 10px;padding-bottom:8px}.profile-field label{font-size:12px}.profile-value{font-size:14px;padding:10px 12px}.profile-stats{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{padding:16px}.stat-card h3{font-size:12px}.stat-card p{font-size:18px}}@media (min-width: 1024px){.profile-container{padding:20px;gap:20px}.profile-header h1{font-size:32px;margin:0 0 8px}.profile-header p{font-size:14px}.profile-card{grid-template-columns:1fr 1fr;gap:24px;padding:24px}.profile-section h2{font-size:18px;margin:0 0 12px}.profile-field label{font-size:12px}.profile-value{font-size:14px;padding:10px 12px}.profile-stats{grid-template-columns:repeat(3,1fr);gap:12px}.stat-card{padding:20px}.stat-card h3{font-size:12px;margin:0 0 8px}.stat-card p{font-size:18px}}@media (max-height: 500px) and (orientation: landscape){.profile-container{padding:8px;gap:8px}.profile-header h1{font-size:16px}.profile-header p{display:none}.profile-card{padding:8px}.profile-section h2{font-size:13px}.profile-value{font-size:12px;padding:6px 8px}.profile-stats{grid-template-columns:repeat(3,1fr);gap:6px}.stat-card{padding:8px}.stat-card h3{font-size:10px;margin:0 0 4px}.stat-card p{font-size:14px}}.ps-shell{min-height:100vh;width:100%;background:linear-gradient(160deg,color-mix(in srgb,var(--primary-color, #007aff) 12%,white),color-mix(in srgb,var(--secondary-color, #34c759) 8%,white));display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.ps-card{width:100%;max-width:480px;background:var(--bg-color, #ffffff);border-radius:16px;box-shadow:0 8px 32px #0000001f;overflow:hidden}.ps-card-header{padding:28px 24px 20px;color:#fff;text-align:center}.ps-header-logo{height:40px;width:auto;object-fit:contain;margin-bottom:10px;display:block;margin-left:auto;margin-right:auto}.ps-header-title{font-size:18px;font-weight:700;margin:0 0 16px;letter-spacing:-.2px}.ps-step-indicator{display:flex;align-items:flex-start;justify-content:center;gap:0}.ps-step-item{display:flex;flex-direction:column;align-items:center;width:76px;flex-shrink:0}.ps-step-dot{position:relative;width:28px;height:28px;border-radius:50%;background:#ffffff4d;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .25s}.ps-step-dot--active{background:#fff;color:var(--primary-color, #007aff)}.ps-step-dot--done{background:#ffffffb3;color:var(--primary-color, #007aff)}.ps-step-label{margin-top:6px;font-size:9px;font-weight:600;text-align:center;white-space:normal;line-height:1.3;color:#ffffffd9;text-transform:uppercase;letter-spacing:.4px}.ps-step-label--active{color:#fff}.ps-step-line{flex:1;height:2px;background:#ffffff4d;margin:14px 4px 0;max-width:32px;transition:background .25s}.ps-step-line--done{background:#ffffffb3}.ps-cancel-bar{display:flex;justify-content:flex-end;padding:8px 16px 0}.ps-cancel-btn{background:none;border:none;font-size:12px;font-weight:600;color:#999;cursor:pointer;padding:4px 8px;border-radius:6px;font-family:inherit;transition:color .15s,background .15s;letter-spacing:.2px}.ps-cancel-btn:hover{color:#555;background:#f3f4f6}.ps-card-body{padding:28px 24px 32px}.ps-step{display:flex;flex-direction:column;gap:16px}.ps-step-intro{font-size:14px;color:#666;margin:0;line-height:1.5}.ps-step--landing{align-items:center;text-align:center;gap:20px;padding:12px 0 4px}.ps-landing-hero{display:block;height:160px;width:auto;max-width:100%;object-fit:contain;margin:0 auto}.ps-landing-logo-wrap{display:flex;align-items:center;justify-content:center}.ps-landing-logo{max-height:72px;max-width:220px;width:auto;object-fit:contain}.ps-landing-logo-placeholder{font-size:56px;line-height:1}.ps-landing-title{font-size:26px;font-weight:800;color:var(--text-color, #222);margin:0;letter-spacing:-.5px;line-height:1.2}.ps-landing-description{font-size:15px;color:var(--text-color, #444);opacity:.85;line-height:1.6;margin:0;max-width:380px}.ps-landing-description a{color:inherit;text-decoration:underline;font-weight:600}.ps-landing-cta{margin-top:4px;min-width:200px}.ps-dropzone{border:2px dashed var(--primary-color, #007aff);border-radius:12px;padding:28px 20px;text-align:center;cursor:pointer;transition:background .2s,border-color .2s;background:#fafafa;outline:none}.ps-dropzone:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color, #007aff) 30%,transparent)}.ps-dropzone--active{background:color-mix(in srgb,var(--primary-color, #007aff) 6%,white)}.ps-dropzone--has-file{cursor:default;border-style:solid;background:#f0fdf4;border-color:#22c55e}.ps-dropzone-empty{display:flex;flex-direction:column;align-items:center;gap:6px}.ps-dropzone-icon{font-size:40px;line-height:1}.ps-dropzone-text{font-size:14px;font-weight:600;color:var(--text-color, #333);margin:0}.ps-dropzone-sub{font-size:11px;color:#999;margin:0;text-transform:uppercase;letter-spacing:.4px}.ps-thumbnail{display:flex;align-items:center;gap:14px;text-align:left}.ps-thumbnail-img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid #e5e7eb;flex-shrink:0}.ps-thumbnail-pdf{width:72px;height:72px;border-radius:8px;background:#fff0f0;border:1px solid #fecaca;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ps-thumbnail-pdf-icon{font-size:36px}.ps-thumbnail-meta{flex:1;min-width:0}.ps-thumbnail-name{font-size:13px;font-weight:600;color:var(--text-color, #333);margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-thumbnail-size{font-size:11px;color:#888;margin:0}.ps-upload-actions{display:flex;gap:8px;flex-wrap:wrap}.ps-checkboxes{display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.ps-checkbox{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13px;color:var(--text-color, #444);line-height:1.5;-webkit-user-select:none;user-select:none}.ps-checkbox input[type=checkbox]{margin-top:2px;width:16px;height:16px;flex-shrink:0;accent-color:var(--primary-color, #007aff);cursor:pointer}.ps-checkbox a,.ps-checkbox-link{font-weight:600;text-decoration:underline;text-underline-offset:2px}.ps-checkbox a{text-decoration-color:currentColor}.ps-form-group{display:flex;flex-direction:column;gap:6px}.ps-form-group label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#666}.ps-input{width:100%;box-sizing:border-box;padding:11px 14px;border:1.5px solid #d1d5db;border-radius:8px;font-size:15px;font-family:inherit;color:var(--text-color, #333);background:#fff;transition:border-color .15s,box-shadow .15s;min-height:44px}.ps-input:focus{outline:none;border-color:var(--primary-color, #007aff);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color, #007aff) 18%,transparent)}.ps-input:disabled{opacity:.55;cursor:not-allowed;background:#f3f4f6}.ps-privacy-note{font-size:11px;color:#999;line-height:1.5;margin:0}.ps-step-actions{display:flex;gap:10px;margin-top:4px}.ps-step-actions .ps-btn--primary{flex:1}.ps-step--thankyou{align-items:center;text-align:center;padding:12px 0}.ps-success-icon{width:64px;height:64px;border-radius:50%;color:#fff;font-size:30px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.ps-success-title{font-size:24px;font-weight:800;color:var(--text-color, #222);margin:0;letter-spacing:-.4px}.ps-success-body{font-size:14px;color:#666;line-height:1.6;margin:0;max-width:320px}.ps-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap;min-height:42px;font-family:inherit}.ps-btn:active:not(:disabled){opacity:.85;transform:scale(.98)}.ps-btn:disabled{opacity:.45;cursor:not-allowed}.ps-btn--primary{background:var(--primary-color, #007aff);color:#fff}.ps-btn--outline{background:transparent;border:1.5px solid var(--primary-color, #007aff);color:var(--primary-color, #007aff)}.ps-btn--ghost{background:transparent;color:#888;border:1.5px solid #d1d5db}.ps-btn--lg{padding:14px 36px;font-size:16px;border-radius:10px;min-height:50px}.ps-btn--full{width:100%}@media (max-width: 400px){.ps-card-body{padding:20px 16px 28px}.ps-landing-hero{height:130px}.ps-card-header{padding:22px 16px 18px}.ps-landing-title{font-size:22px}.ps-upload-actions{flex-direction:column}.ps-btn--outline,.ps-btn--ghost{width:100%}}@media (min-width: 640px){.ps-shell{padding:32px 16px}.ps-card{border-radius:20px}.ps-card-header{padding:36px 32px 24px}.ps-header-title{font-size:20px}.ps-card-body{padding:32px 32px 40px}.ps-landing-hero{height:200px}.ps-landing-title{font-size:30px}}.lang-selector{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.lang-selector--fixed{position:fixed;top:12px;right:12px;z-index:9999}.lang-selector--inline{position:relative}.lang-trigger{display:flex;align-items:center;gap:5px;padding:6px 10px;background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,.12);border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;color:#333;transition:background .15s,box-shadow .15s;white-space:nowrap;min-height:34px}.lang-trigger:hover{background:#fffffffa;box-shadow:0 3px 12px #00000024}.lang-trigger:focus-visible{outline:2px solid var(--primary-color, #007aff);outline-offset:2px}.lang-selector--inline .lang-trigger{background:#ffffff2e;border-color:#ffffff59;color:#fff;box-shadow:none}.lang-selector--inline .lang-trigger:hover{background:#ffffff47;box-shadow:none}.lang-selector--inline .lang-code{color:#ffffffe6}.lang-selector--inline .lang-chevron{color:#ffffffb3}.lang-selector--inline .lang-trigger:focus-visible{outline-color:#fff}.lang-flag{font-size:15px;line-height:1}.lang-code{font-size:11px;font-weight:700;letter-spacing:.5px;color:#444}.lang-chevron{font-size:8px;color:#888;margin-left:1px}.lang-dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:160px;background:#fffffff7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(0,0,0,.1);border-radius:10px;box-shadow:0 8px 24px #00000024;list-style:none;margin:0;padding:4px;overflow:hidden;animation:lang-fade-in .12s ease}@keyframes lang-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.lang-option{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:7px;cursor:pointer;font-size:13px;color:#333;transition:background .1s;-webkit-user-select:none;user-select:none}.lang-option:hover,.lang-option:focus-visible{background:#f0f4ff;outline:none}.lang-option--active{background:color-mix(in srgb,var(--primary-color, #007aff) 10%,transparent);font-weight:600;color:var(--primary-color, #007aff)}.lang-option-label{flex:1}.lang-check{font-size:11px;color:var(--primary-color, #007aff)}@media (min-width: 640px){.lang-selector--fixed{top:14px;right:16px}.lang-trigger{padding:7px 12px;font-size:13px;min-height:36px}}:root{--primary-color: v-bind("import.meta.env.VITE_CLIENT_PRIMARY_COLOR") || #007aff;--secondary-color: v-bind("import.meta.env.VITE_CLIENT_SECONDARY_COLOR") || #34c759;--accent-color: v-bind("import.meta.env.VITE_CLIENT_ACCENT_COLOR") || #5ac8fa;--bg-color: v-bind("import.meta.env.VITE_CLIENT_BACKGROUND_COLOR") || #ffffff;--text-color: v-bind("import.meta.env.VITE_CLIENT_TEXT_COLOR") || #333333;--touch-target: 44px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--text-xs: 10px;--text-sm: 11px;--text-base: 13px;--text-lg: 14px;--text-xl: 16px;--text-2xl: 18px;--text-3xl: 20px;--text-4xl: 24px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--bg-color, #ffffff);color:var(--text-color, #333333);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;overflow-x:hidden}.app{width:100%;height:100vh;display:flex;flex-direction:column;background-color:var(--bg-color, #ffffff);overflow:hidden}.app-header{background:linear-gradient(135deg,var(--primary-color, #007aff),var(--secondary-color, #34c759));color:#fff;padding:12px;box-shadow:0 2px 8px #0000001a;flex-shrink:0;z-index:100}.header-content{max-width:1000px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;padding:0 12px}.app-title{font-size:18px;font-weight:700;margin:0;flex:1;min-width:0;word-break:break-word}.header-right{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:10px;flex-shrink:0}.header-lang-spacer{display:none}.header-user{display:flex;align-items:center;gap:8px;flex-shrink:0}.user-name{font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:150px}.logout-btn{padding:6px 12px;background-color:#fff3;color:#fff;border:none;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:32px;white-space:nowrap}.logout-btn:active{background-color:#ffffff4d}.app-nav{display:flex;gap:4px;padding:8px;background-color:#f8f9fa;border-bottom:1px solid #eee;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-shrink:0;box-sizing:border-box}.nav-item{flex:1;min-width:80px;padding:8px 12px;border:none;background-color:transparent;color:#666;font-size:12px;font-weight:600;cursor:pointer;border-radius:6px;transition:all .2s ease;white-space:nowrap;min-height:40px;-webkit-user-select:none;user-select:none}.nav-item:active{background-color:#e0e0e0}.nav-item.active{background-color:var(--primary-color, #007aff);color:#fff}.app-main{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;background-color:var(--bg-color, #ffffff);box-sizing:border-box}@media (min-width: 640px){.app-header{padding:16px}.header-content{padding:0}.app-title{font-size:22px}.user-name{font-size:13px;max-width:200px}.logout-btn{padding:8px 16px;font-size:12px;min-height:36px}.app-nav{padding:12px;gap:8px}.nav-item{padding:10px 16px;font-size:13px;min-width:100px;min-height:44px}.app-main{padding:0}}@media (min-width: 1024px){.app-header{padding:20px}.app-title{font-size:28px}.user-name{font-size:14px;max-width:300px}.logout-btn{padding:10px 20px;font-size:13px}.app-nav{padding:16px;gap:12px}.nav-item{padding:12px 24px;font-size:14px;min-width:120px}}@media (max-height: 500px) and (orientation: landscape){.app-header{padding:8px 12px}.app-title{font-size:14px}.user-name{font-size:11px;max-width:100px}.logout-btn{padding:4px 8px;font-size:10px}.app-nav{padding:6px;gap:4px}.nav-item{padding:6px 10px;font-size:11px;min-width:70px;min-height:36px}}.text-center{text-align:center}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.p-0{padding:0}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-color-scheme: dark){body{background-color:#1a1a1a;color:#f0f0f0}.app-nav{background-color:#2a2a2a;border-bottom-color:#444}.nav-item{color:#aaa}.nav-item:active{background-color:#444}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#333;line-height:1.5}@supports (max(viewport-width,100vw)){html{width:100vw;overflow-x:hidden}}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}p{margin-bottom:.5em}a{color:inherit;text-decoration:none;transition:all .3s ease}a:hover{opacity:.8}button{font-family:inherit;font-size:1em;border:none;cursor:pointer}input,textarea,select{font-family:inherit;font-size:1em}input:focus,textarea:focus,select:focus{outline:none}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (hover: none) and (pointer: coarse){button,a,input[type=button],input[type=submit]{min-height:44px;min-width:44px;padding:10px 16px}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){body{-webkit-font-smoothing:subpixel-antialiased}}
