*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #1677FF;--success: #52C41A;--error: #FF4D4F;--warning: #FAAD14;--bg: #f5f5f5;--card-bg: #ffffff;--text: #333333;--text-secondary: #666666;--border: #e0e0e0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;background:var(--primary);color:#fff}.app-header .header-title{font-size:18px;font-weight:600}.app-header .header-nav a{color:#ffffffd9;text-decoration:none;margin-left:20px;font-size:14px}.app-header .header-nav a:hover,.app-header .header-nav a.router-link-active{color:#fff}.main-content{max-width:960px;margin:0 auto;padding:24px 16px}.auth-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--bg)}.auth-card{background:var(--card-bg);padding:40px 32px;border-radius:8px;box-shadow:0 2px 12px #00000014;width:100%;max-width:400px}.auth-card h1{font-size:22px;text-align:center;color:var(--primary);margin-bottom:4px}.auth-card h2{font-size:16px;text-align:center;color:var(--text-secondary);margin-bottom:24px;font-weight:400}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;color:var(--text-secondary);margin-bottom:4px}.form-group input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;outline:none;transition:border-color .2s}.form-group input:focus{border-color:var(--primary)}.btn-primary{width:100%;padding:10px 0;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:15px;cursor:pointer;transition:opacity .2s}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.switch-link{text-align:center;margin-top:16px;font-size:14px;color:var(--text-secondary)}.switch-link a{color:var(--primary);text-decoration:none}.error-msg{color:var(--error);font-size:14px;margin-bottom:8px}.success-msg{color:var(--success);font-size:14px;margin-bottom:8px}.uploader{margin-bottom:32px}.drop-zone{border:2px dashed var(--border);border-radius:8px;padding:32px;text-align:center;background:var(--card-bg);transition:border-color .2s,background .2s}.drop-zone.dragging{border-color:var(--primary);background:#1677ff0a}.drop-zone p{color:var(--text-secondary);margin-bottom:12px}.drop-zone .btn-primary{width:auto;display:inline-block;padding:8px 24px}.upload-result{margin-top:16px;background:var(--card-bg);padding:16px;border-radius:8px;box-shadow:0 1px 6px #0000000f}.download-row{display:flex;align-items:center;gap:12px;margin-top:8px}.btn-download{display:inline-block;padding:8px 20px;background:var(--success);color:#fff;text-decoration:none;border-radius:6px;font-size:14px}.btn-download:hover{opacity:.9}.countdown{font-size:14px;color:var(--text-secondary)}.expired{font-size:14px;color:var(--error)}.invoice-table table{width:100%;border-collapse:collapse;background:var(--card-bg);border-radius:8px;overflow:hidden;box-shadow:0 1px 6px #0000000f}.invoice-table th,.invoice-table td{padding:12px 16px;text-align:left;font-size:14px;border-bottom:1px solid var(--border)}.invoice-table th{background:#fafafa;color:var(--text-secondary);font-weight:500}.invoice-table td{color:var(--text)}.status{display:inline-block;padding:2px 10px;border-radius:10px;font-size:12px}.status.success{background:#52c41a1a;color:var(--success)}.status.exception{background:#ff4d4f1a;color:var(--error)}.status.pending{background:#faad141a;color:var(--warning)}.status.processing{background:#1677ff1a;color:var(--primary)}.btn-download-sm{display:inline-block;padding:4px 14px;background:var(--primary);color:#fff;text-decoration:none;border-radius:4px;font-size:13px}.btn-download-sm:hover{opacity:.9}.empty-hint{text-align:center;color:var(--text-secondary);padding:40px 0;font-size:14px}.profile-page h2{font-size:18px;margin-bottom:16px;margin-top:32px}.profile-page h2:first-child{margin-top:0}.profile-card{background:var(--card-bg);padding:24px;border-radius:8px;box-shadow:0 1px 6px #0000000f;margin-bottom:8px}.profile-card .btn-primary{width:auto;padding:8px 24px}.profile-card .error-msg,.profile-card .success-msg{margin-top:8px}.dashboard .page-title{font-size:32px;font-weight:700;letter-spacing:6px;margin-bottom:12px}.dashboard .page-subtitle{font-size:16px;color:var(--text-secondary);margin-bottom:40px;letter-spacing:2px}.tools-grid{display:flex;flex-wrap:wrap;gap:24px}.tools-grid>*{flex:1 1 260px;min-width:240px;max-width:400px}.app-footer{text-align:right;padding:16px 24px}.app-footer .icp,.app-footer .mps{font-size:12px;color:var(--text-secondary);margin-left:16px}#app-root{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1}
