:root{--color-primary: #0066cc;--color-primary-dark: #004d99;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-500: #6b7280;--color-gray-700: #374151;--color-gray-900: #111827;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:14px;line-height:1.5;color:var(--color-gray-900);background:var(--color-gray-50)}.app{min-height:100vh;display:flex;flex-direction:column}.app.loading{display:flex;align-items:center;justify-content:center}.app-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-xl);background:#fff;border-bottom:1px solid var(--color-gray-200);box-shadow:var(--shadow-sm)}.header-left{display:flex;align-items:center;gap:var(--spacing-md)}.app-title{font-size:1.25rem;font-weight:600;color:var(--color-gray-900)}.company-name{color:var(--color-gray-500);font-size:.875rem}.header-right{display:flex;align-items:center;gap:var(--spacing-lg)}.main-nav{display:flex;gap:var(--spacing-sm)}.nav-item{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-md);font-size:.875rem;cursor:pointer;position:relative}.nav-item:hover{background:var(--color-gray-100)}.nav-item.active{background:var(--color-primary);color:#fff}.nav-item .badge{position:absolute;top:-4px;right:-4px;background:var(--color-error);color:#fff;font-size:.75rem;padding:2px 6px;border-radius:10px}.logout-btn{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);cursor:pointer}.logout-btn:hover{background:var(--color-gray-100)}.app-main{flex:1;padding:var(--spacing-xl)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-gray-100)}.login-card{width:100%;max-width:400px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-xl)}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-header h1{font-size:1.5rem;margin-bottom:var(--spacing-sm)}.login-header p{color:var(--color-gray-500)}.login-form .form-field{margin-bottom:var(--spacing-lg)}.login-form label{display:block;font-weight:500;margin-bottom:var(--spacing-xs)}.login-form input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:1rem}.login-form small{display:block;color:var(--color-gray-500);font-size:.75rem;margin-top:var(--spacing-xs)}.error-message{background:#fef2f2;color:var(--color-error);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.login-button{width:100%;padding:var(--spacing-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer}.login-button:hover:not(:disabled){background:var(--color-primary-dark)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;margin-top:var(--spacing-xl);color:var(--color-gray-500)}.login-footer a{color:var(--color-primary)}.dashboard h1{margin-bottom:var(--spacing-xl)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.stat-card{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card.highlight{background:var(--color-primary);color:#fff}.stat-card.success{border-left:4px solid var(--color-success)}.stat-card.warning{border-left:4px solid var(--color-warning)}.stat-card.error{border-left:4px solid var(--color-error)}.stat-value{font-size:2rem;font-weight:700}.stat-label{color:inherit;opacity:.8}.stat-action{margin-top:var(--spacing-sm);font-size:.875rem}.today-summary,.quick-actions{background:#fff;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl)}.today-summary h2,.quick-actions h2{margin-bottom:var(--spacing-md);font-size:1.125rem}.summary-row{display:flex;justify-content:space-between;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-gray-100)}.summary-row:last-child{border-bottom:none}.summary-row .value.amount{font-weight:600;color:var(--color-primary)}.action-buttons{display:flex;gap:var(--spacing-md)}.quick-action{flex:1;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;position:relative}.quick-action.primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.quick-action .icon{font-size:1.5rem}.quick-action .badge{position:absolute;top:-8px;right:-8px;background:var(--color-error);color:#fff;padding:4px 8px;border-radius:10px;font-size:.75rem}.review-layout{display:grid;grid-template-columns:350px 1fr;gap:var(--spacing-xl);height:calc(100vh - 140px)}.review-sidebar,.review-main{overflow-y:auto}.no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-gray-500)}.review-queue{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.queue-filters{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--color-gray-200)}.search-input{flex:1;padding:var(--spacing-sm);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm)}.status-filter{padding:var(--spacing-sm);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm)}.queue-summary{display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-gray-50);font-size:.875rem;color:var(--color-gray-500)}.review-count{color:var(--color-warning);font-weight:500}.queue-list{list-style:none;max-height:500px;overflow-y:auto}.queue-item{padding:var(--spacing-md);border-bottom:1px solid var(--color-gray-100);cursor:pointer}.queue-item:hover{background:var(--color-gray-50)}.queue-item.selected{background:#e0f2fe;border-left:3px solid var(--color-primary)}.item-header{display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.status-badge{display:inline-block;padding:2px 8px;border-radius:10px;color:#fff;font-size:.75rem}.date{font-size:.75rem;color:var(--color-gray-500)}.supplier-name{font-weight:500}.file-name{font-size:.875rem;color:var(--color-gray-500)}.item-footer{display:flex;justify-content:space-between;margin-top:var(--spacing-sm)}.amount{font-weight:600}.category{font-size:.75rem;color:var(--color-gray-500)}.item-warnings{margin-top:var(--spacing-xs);font-size:.75rem;color:var(--color-warning)}.item-actions{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.action-btn{padding:var(--spacing-xs) var(--spacing-sm);border:none;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer}.action-btn.approve{background:var(--color-success);color:#fff}.action-btn.reject{background:var(--color-error);color:#fff}.action-btn.skip{background:var(--color-gray-200)}.document-review{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);height:100%;display:flex;flex-direction:column}.review-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-gray-200)}.review-header h2{font-size:1.125rem}.close-btn{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--color-gray-500)}.review-content{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.document-preview{background:var(--color-gray-100);border-radius:var(--radius-md);padding:var(--spacing-xl);text-align:center;margin-bottom:var(--spacing-lg)}.preview-placeholder{color:var(--color-gray-500)}.preview-placeholder span{font-size:3rem}.view-original{display:inline-block;margin-top:var(--spacing-md);color:var(--color-primary)}.extracted-data,.classification-data{margin-bottom:var(--spacing-lg)}.extracted-data h3,.classification-data h3{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);font-size:1rem}.edit-btn{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-gray-100);border:none;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer}.data-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.data-field label{display:block;font-size:.75rem;color:var(--color-gray-500);margin-bottom:var(--spacing-xs)}.data-field span{font-weight:500}.confidence.low{color:var(--color-error)}.country{font-weight:400;color:var(--color-gray-500);margin-left:var(--spacing-xs)}.edit-form{background:var(--color-gray-50);padding:var(--spacing-md);border-radius:var(--radius-md)}.edit-form .form-field{margin-bottom:var(--spacing-md)}.edit-form label{display:block;font-size:.875rem;margin-bottom:var(--spacing-xs)}.edit-form select,.edit-form textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-gray-300);border-radius:var(--radius-sm)}.edit-form textarea{min-height:80px;resize:vertical}.cancel-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-gray-200);border:none;border-radius:var(--radius-sm);cursor:pointer}.alerts{margin-bottom:var(--spacing-lg)}.error-list,.warning-list{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.error-list{background:#fef2f2;color:var(--color-error)}.warning-list{background:#fffbeb;color:var(--color-warning)}.error-list h4,.warning-list h4{font-size:.875rem;margin-bottom:var(--spacing-xs)}.error-list ul,.warning-list ul{list-style:none;font-size:.875rem}.review-reason{background:var(--color-gray-50);padding:var(--spacing-md);border-radius:var(--radius-md)}.review-reason h4{font-size:.875rem;margin-bottom:var(--spacing-xs)}.review-actions{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);border-top:1px solid var(--color-gray-200)}.review-actions .action-btn{flex:1;padding:var(--spacing-md);font-size:.875rem}.review-actions .action-btn.primary{background:var(--color-primary);color:#fff}.review-actions .action-btn.secondary{background:var(--color-gray-200)}.review-actions .action-btn.danger{background:var(--color-error);color:#fff}.history-view h2,.oauth-section{margin-bottom:var(--spacing-lg)}.oauth-button{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#00a651;color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.oauth-button:hover:not(:disabled){background:#008c44}.oauth-button:disabled{opacity:.6;cursor:not-allowed}.economic-icon{flex-shrink:0}.login-divider{display:flex;align-items:center;margin:var(--spacing-lg) 0;color:var(--color-gray-500)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--color-gray-300)}.login-divider span{padding:0 var(--spacing-md);font-size:.875rem}.toggle-manual-login{width:100%;padding:var(--spacing-md);background:transparent;color:var(--color-gray-500);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:.875rem;cursor:pointer;transition:background .2s,color .2s}.toggle-manual-login:hover{background:var(--color-gray-50);color:var(--color-gray-700)}.oauth-callback{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-gray-100)}.oauth-callback-content{text-align:center;background:#fff;padding:var(--spacing-xl) calc(var(--spacing-xl) * 2);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.oauth-callback .spinner{width:40px;height:40px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-lg)}@keyframes spin{to{transform:rotate(360deg)}}.oauth-callback .success-icon{width:40px;height:40px;background:var(--color-success);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto var(--spacing-lg)}.oauth-callback .error-icon{width:40px;height:40px;background:var(--color-error);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto var(--spacing-lg)}.oauth-callback p{color:var(--color-gray-700);margin-bottom:var(--spacing-sm)}.oauth-callback p.small{font-size:.875rem;color:var(--color-gray-500)}.oauth-callback p.error{color:var(--color-error)}.oauth-callback button{margin-top:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer}.oauth-callback button:hover{background:var(--color-primary-dark)}.app.embedded{min-height:100vh;height:100%}.app.embedded .app-header{padding:var(--spacing-sm) var(--spacing-lg);position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--color-gray-200)}.app.embedded .app-title{font-size:1.125rem}.app.embedded .app-main{padding:var(--spacing-md)}.app.embedded::-webkit-scrollbar{width:6px}.app.embedded::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:3px}.app.embedded::-webkit-scrollbar-track{background:transparent}.app.embedded .login-container{padding:var(--spacing-lg);min-height:auto}.app.embedded .login-card{box-shadow:none;border:1px solid var(--color-gray-200)}
