@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap";.language-switcher{display:flex;align-items:center;position:relative}.language-switcher-trigger{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;pointer-events:none;color:var(--nav-brand, #6b95b3)}.language-switcher-label{font-size:14px;font-weight:500;max-width:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--nav-brand, #6b95b3)}.header-actions .language-switcher .language-switcher-trigger{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff}.header-actions .language-switcher .language-switcher-label{color:#fff}.locale-select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;font-size:14px}.login-container{font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;padding:40px 16px}.login-box{background:#fff;padding:3rem 3.25rem 3.25rem;border-radius:28px;box-shadow:0 20px 55px #0f172a24;width:min(90vw,560px);min-height:480px}.login-header-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.login-container .language-switcher .language-switcher-trigger{background:#e0e8ed;border:none;border-radius:10px;padding:5px 12px;color:#5687ac}.login-container .language-switcher .language-switcher-label{color:#5687ac;font-weight:500;font-size:13px}.login-container .language-switcher .language-switcher-trigger svg{color:#5687ac}.login-brand{display:flex;align-items:center;gap:10px}.login-logo{width:32px;height:32px;object-fit:contain;display:block;background-color:#fff}.login-title-text{font-size:2rem;font-weight:700;color:var(--nav-brand, #6b95b3)}.login-subtitle{text-align:left;color:#666;margin-bottom:1.5rem;font-size:1rem;padding-left:0}.login-session-expired{text-align:center;color:#c00;margin-bottom:1.5rem;padding:.5rem;background:#fff0f0;border-radius:8px;font-size:1.1rem}.login-error{font-size:1.1rem}.login-form{display:flex;flex-direction:column;gap:.9rem}.form-group{display:flex;flex-direction:column;gap:.35rem}.login-form .form-group label{font-weight:700;color:#333;font-size:1.1rem}.form-group input{padding:0 1.1rem;border:none;border-radius:0;font-size:1.1rem;width:100%;max-width:100%;box-sizing:border-box;height:52px;background:#f8fafc;transition:box-shadow .2s,background .2s}.form-group input:focus{outline:none;box-shadow:0 0 0 2px var(--nav-brand, #6b95b3);background:#fff}.login-email-wrap .login-email-input:focus,.login-password-wrap .login-password-input:focus{box-shadow:none}.login-email-wrap,.login-password-wrap{position:relative;width:100%;border-radius:8px;overflow:hidden;transition:box-shadow .2s}.login-email-wrap:focus-within,.login-password-wrap:focus-within{box-shadow:none}.login-email-wrap .login-email-input,.login-password-wrap .login-password-input{border-radius:8px}.login-password-wrap .login-password-input{padding-right:48px}.input-wrap{position:relative;width:100%;border-radius:8px;overflow:hidden;transition:box-shadow .2s}.input-wrap:focus-within{box-shadow:none}.form-group .input-wrap input{border-radius:8px}.form-group .input-wrap input:focus{box-shadow:none}.login-password-toggle{position:absolute;right:0;top:0;bottom:0;width:48px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--nav-brand, #6b95b3);cursor:pointer;padding:0;border-radius:0}.login-password-toggle:hover{color:var(--nav-brand-dark, #5a85a3)}.login-btn{background:linear-gradient(135deg,var(--nav-brand, #6b95b3) 0%,var(--nav-brand-dark, #5a85a3) 100%);color:#fff;border:none;padding:0;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:opacity .2s;width:100%;display:block;box-sizing:border-box;height:52px;line-height:52px}.login-btn:hover:not(:disabled){opacity:.9}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-forgot-hint{font-size:1rem;color:#555;margin-bottom:1rem;line-height:1.5}.login-forgot-sent{margin-top:.5rem}.login-forgot-sent-text{font-size:1.1rem;color:#333;margin-bottom:1.25rem;line-height:1.5}.login-forgot-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.5rem}.login-forgot-actions .link-btn{flex:0 0 auto}.login-forgot-actions .login-btn{flex:1;min-width:0}.login-register-link{text-align:center;margin-top:1rem;margin-bottom:0;font-size:1.1rem;color:#555}.login-row{display:flex;justify-content:space-between;align-items:center;margin-top:0}.login-remember{display:flex;align-items:center;gap:6px;font-size:1.1rem;color:#555}.login-remember input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;cursor:pointer;border:1px solid #e2e8f0;border-radius:4px;background:#f8fafc;box-sizing:border-box}.login-remember input:checked{background:var(--nav-brand, #6b95b3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10l4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat;border-color:var(--nav-brand, #6b95b3)}.login-remember input:focus-visible{outline:2px solid var(--nav-brand, #6b95b3);outline-offset:2px}.link-btn{background:none;border:none;color:var(--nav-brand, #6b95b3);cursor:pointer;font-size:1.1rem;font-weight:700;text-decoration:none;padding:0}.link-btn:hover{color:var(--nav-brand-dark, #5a85a3)}.link-sm{font-size:1.1rem}.login-divider{margin:1.75rem 0 .35rem;text-align:center;font-size:.8rem;font-weight:700;letter-spacing:.08em;color:#94a3b8;position:relative}.login-divider span{background:#fff;padding:0 8px;position:relative;z-index:1}.login-divider:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #e2e8f0;z-index:0}.login-oauth-row{display:flex;gap:6px;margin-bottom:.5rem}.oauth-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 .75rem;border-radius:8px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;font-size:1.1rem;color:#0f172a;height:52px;box-sizing:border-box}.oauth-btn:hover{background:#f8fafc}.oauth-icon{width:18px;height:18px;border-radius:4px;background-color:#fff}.oauth-icon-img img{width:100%;height:100%;object-fit:contain;display:block}.oauth-text{font-weight:700}.register-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.register-container .register-box{width:min(92vw,720px);max-width:720px;min-height:auto}.portal{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#f5f7fa,#e4e8ec)}.portal-header{text-align:center;margin-bottom:3rem}.portal-header h1{font-size:2.5rem;color:#1a1a2e;margin:0 0 .5rem}.portal-subtitle{font-size:1.1rem;color:#666;margin:0}.portal-cards{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;max-width:900px}.portal-card{flex:1;min-width:280px;max-width:380px;padding:2rem;border-radius:12px;border:2px solid transparent;background:#fff;box-shadow:0 4px 20px #00000014;cursor:pointer;transition:all .2s ease;text-align:left}.portal-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px #0000001f}.portal-card-admin{border-color:#6c5ce7;background:linear-gradient(180deg,#fff,#f8f7ff)}.portal-card-admin:hover{border-color:#5b4cdb;background:linear-gradient(180deg,#fafaff,#f0eeff)}.portal-card-app{border-color:#00b894;background:linear-gradient(180deg,#fff,#f0fff9)}.portal-card-app:hover{border-color:#00a085;background:linear-gradient(180deg,#fafffe,#e6fff5)}.portal-card-icon{font-size:2.5rem;display:block;margin-bottom:1rem}.portal-card h2{font-size:1.35rem;color:#1a1a2e;margin:0 0 .75rem}.portal-card p{font-size:.95rem;color:#666;margin:0;line-height:1.5}.portal-hint{margin-top:2.5rem;font-size:.9rem;color:#888}:root{--page-gutter: 2rem;--nav-brand: #6b95b3;--nav-brand-dark: #5a85a3;--nav-brand-light: #e8f0f6;--nav-logo-bg: #fafbfc;--nav-company-color: #527E9F}.app{min-height:100vh;min-width:360px;display:flex;flex-direction:column}.app-header{background:linear-gradient(to right,var(--nav-logo-bg) 0%,var(--nav-brand-light) 22%,var(--nav-brand) 100%);padding:1rem var(--page-gutter);display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #0000000f}.app-header-brand{display:flex;align-items:center;gap:10px}.app-header-logo{width:32px;height:32px;object-fit:contain;border-radius:4px}.app-header-company-name{font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1.5rem;font-weight:700;color:var(--nav-company-color, #527E9F);margin:0}.app-header h1 span{color:#475569}.app-footer{padding:12px var(--page-gutter);text-align:center;font-size:12px;color:#64748b;border-top:1px solid #e2e8f0;background:#f8fafc;display:flex;align-items:center;justify-content:center;gap:6px}.app-footer-logo{width:20px;height:20px;display:block;object-fit:contain}.app-footer-brand{font-weight:700;color:var(--nav-brand, #4a7a9c)}.header-actions{display:flex;align-items:center;gap:15px;position:relative;color:#fff}.header-actions a,.header-actions button{color:inherit}.logout-btn{background:#fff3;border:1px solid rgba(255,255,255,.35);color:#fff;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s}.logout-btn:hover{background:#ffffff4d}.app-nav{background:#fff;border-bottom:1px solid #e0e0e0;display:flex;gap:0;padding:0 var(--page-gutter)}.app-nav button{background:none;border:none;padding:1rem 2rem;cursor:pointer;font-size:1rem;color:#666;border-bottom:2px solid transparent;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.app-nav .nav-btn-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit}.app-nav button:hover .nav-btn-icon,.app-nav button.active .nav-btn-icon{color:var(--nav-brand)}.app-nav button:hover{color:var(--nav-brand);background:#f5f5f5}.app-nav button.active{color:var(--nav-brand);border-bottom-color:var(--nav-brand);font-weight:600}.settings-dropdown-wrap{position:relative}.settings-dropdown{position:absolute;top:100%;left:0;margin-top:0;background:#fff;border:1px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:100;min-width:160px;display:flex;flex-direction:column}.settings-dropdown button{padding:.6rem 1rem;text-align:left;border:none;border-bottom:none;border-radius:0;background:none;color:#333}.settings-dropdown button:first-child{border-radius:6px 6px 0 0}.settings-dropdown button:last-child{border-radius:0 0 6px 6px}.settings-dropdown button:hover{background:#f0f0f0;color:var(--nav-brand)}.app-main{flex:1;width:100%;padding:2rem var(--page-gutter);box-sizing:border-box}.user-settings-overlay{display:flex;align-items:center;justify-content:center}.user-settings-modal{width:90%;max-width:720px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.user-settings-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;flex-shrink:0}.user-settings-header h2{margin:0;font-size:1.25rem;color:#333}.user-settings-header-desc{margin:4px 0 0;font-size:.9rem;color:#666;font-weight:400;flex-basis:100%;text-align:left}.user-settings-modal-page .user-settings-header{flex-wrap:wrap;justify-content:flex-start}.user-settings-modal-page .user-settings-header h2{font-size:1.5rem;width:100%;text-align:left}.user-settings-modal-page .user-settings-header-desc{width:100%;text-align:left}.user-settings-header .modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;line-height:1}.user-settings-header .modal-close:hover{color:#333}.user-settings-loading,.user-settings-body.error{padding:24px;text-align:center;color:#666}.user-settings-body.error{color:#c00}.user-settings-layout{display:flex;flex:1;min-height:0}.user-settings-nav{width:160px;flex-shrink:0;border-right:1px solid #e0e0e0;padding:12px 0;background:#fafafa}.user-settings-nav-item{display:flex;align-items:center;width:100%;padding:10px 16px;border:none;background:none;cursor:pointer;font-size:.95rem;color:#555;text-align:left;gap:8px}.user-settings-nav-item:hover{background:#eee;color:#333}.user-settings-nav-item.active{background:var(--nav-brand-light, #e6eef4);color:var(--nav-brand, #4a7a9c);font-weight:600}.user-settings-nav-item .nav-icon{font-size:1.1rem}.user-settings-content{flex:1;overflow-y:auto;padding:20px 24px}.user-settings-panel h3{margin:0 0 8px;font-size:1.1rem;color:#333}.panel-desc{margin:0 0 20px;font-size:.9rem;color:#666;line-height:1.5}.user-settings-panel .form-row{margin-bottom:14px;display:flex;align-items:flex-start;gap:12px}.user-settings-panel .form-row label{flex-shrink:0;width:160px;margin-bottom:0;margin-top:8px;font-size:.9rem;color:#666}.user-settings-panel .form-row input{flex:1;min-width:0;max-width:520px;height:38px;padding:0 .9rem;border:1px solid #e2e8f0;border-radius:8px;font-size:.95rem;background:#f8fafc;box-sizing:border-box;transition:box-shadow .2s,background .2s,border-color .2s}.user-settings-panel .form-row input:focus{outline:none;border-color:var(--nav-brand, #6b95b3);box-shadow:0 0 0 2px #6b95b340;background:#fff}.user-settings-panel .form-row .readonly-value{padding:0;line-height:38px;color:#555;font-size:.95rem;flex:1;max-width:520px}.user-settings-panel .form-row>div{flex:1;min-width:0;max-width:520px}.user-settings-panel .form-message{margin:10px 0;font-size:.9rem;color:#666}.user-settings-panel .btn-primary{margin-top:8px;height:38px;padding:0 20px;line-height:38px;background:linear-gradient(135deg,var(--nav-brand, #4a7a9c) 0%,var(--nav-brand-dark, #3d6a85) 100%);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;box-sizing:border-box}.user-settings-panel .btn-primary:hover:not(:disabled){opacity:.9}.user-settings-panel .btn-primary:disabled{opacity:.6;cursor:not-allowed}.usage-plan-and-receipts{padding:0;border:1px solid #e0e0e0;border-radius:8px;background:#fff;overflow:hidden;margin-bottom:20px}.usage-plan-and-receipts .usage-current-plan{margin-bottom:0;border-radius:0;border-bottom:1px solid #e8e8e8}.usage-plan-and-receipts .usage-receipts-inline{padding:16px}.usage-plan-and-receipts .usage-receipts-inline .usage-card-label{margin-bottom:6px}.usage-plan-and-receipts .usage-receipts-inline .usage-bar-wrap{margin-top:10px}.usage-current-plan{margin-bottom:20px;padding:12px 16px;background:#f0f4ff;border-radius:8px;font-size:.95rem}.usage-cards{display:flex;flex-direction:column;gap:20px}.usage-card{padding:16px;border:1px solid #e0e0e0;border-radius:8px;background:#fff}.usage-card-label{font-size:.9rem;color:#666;margin-bottom:6px}.usage-card-value{font-size:1.25rem;font-weight:600;color:#333}.usage-card-max{font-weight:400;font-size:1rem;color:#666}.usage-bar-wrap{margin-top:10px;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.usage-bar-fill{height:100%;background:linear-gradient(90deg,var(--nav-brand, #4a7a9c),var(--nav-brand-dark, #3d6a85));border-radius:4px;transition:width .2s ease}.plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-bottom:16px}.plan-card{padding:16px;border:2px solid #e0e0e0;border-radius:8px;background:#fff;display:flex;flex-direction:column;align-items:stretch}.plan-card.current{border-color:var(--nav-brand, #4a7a9c);background:var(--nav-brand-light, #e6eef4)}.plan-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:6px}.plan-name{font-weight:600;font-size:1rem;color:#333}.plan-card-price{font-size:1rem;font-weight:600;color:var(--nav-brand, #4a7a9c);margin-bottom:8px}.plan-page-link{color:var(--nav-brand, #4a7a9c);text-decoration:underline;cursor:pointer;font-size:inherit}.plan-badge{font-size:.75rem;padding:2px 8px;background:var(--nav-brand, #4a7a9c);color:#fff;border-radius:4px}.plan-quotas{list-style:none;margin:0 0 14px;padding:0;font-size:.85rem;color:#555;line-height:1.6}.plan-quotas li{margin:0}.plan-choose-btn{margin-top:auto}.logout-btn-in-modal{padding:10px 20px;background:#c83c3c1a;color:#c0392b;border:1px solid rgba(200,60,60,.3);border-radius:6px;cursor:pointer;font-size:.95rem}.logout-btn-in-modal:hover{background:#c83c3c33}.user-settings-page-wrap{width:100%;max-width:1400px;margin:0 auto 0 0;padding:0 var(--page-gutter, 2rem);box-sizing:border-box}.user-settings-modal.user-settings-modal-page{max-width:100%;max-height:none;margin:0;background:transparent;box-shadow:none}.user-settings-modal-page .user-settings-header{border-bottom:none;padding-left:0;padding-right:0;padding-bottom:8px}.user-settings-profile-page-row{display:flex;gap:1.5rem;margin-top:1rem;align-items:flex-start}.user-settings-member-box{flex-shrink:0;width:260px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px 24px;box-shadow:0 2px 8px #00000014}.user-settings-member-avatar{width:48px;height:48px;border-radius:6px;background:var(--nav-brand-light, #e8f0f6);color:var(--nav-brand, #6b95b3);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.user-settings-member-avatar svg{width:28px;height:28px}.user-settings-member-email{font-weight:600;font-size:1rem;color:#1e293b;text-align:center;margin-bottom:8px;word-break:break-all}.user-settings-member-role-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:500;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;margin-bottom:16px;text-align:center;width:100%;box-sizing:border-box}.user-settings-member-meta{margin:0;font-size:.8rem;color:#64748b}.user-settings-member-meta dt{margin:10px 0 2px;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;font-weight:500}.user-settings-member-meta dd{margin:0;color:#334155;font-size:.85rem;word-break:break-all}.user-settings-member-meta dd.user-settings-member-status{color:#16a34a;font-weight:500}.user-settings-profile-page-row .user-settings-details-box-right{flex:1;min-width:0;margin-top:0}.user-settings-panel .logo-upload-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.user-settings-panel .form-row .logo-upload-row{flex:1;min-width:min-content}.user-settings-panel .btn-upload-logo{white-space:nowrap;flex-shrink:0;width:max-content;min-width:max-content;box-sizing:border-box}.user-settings-panel .logo-hint-inline{font-size:12px;color:#64748b}.user-settings-panel .btn-remove-logo{font-size:14px;padding:8px 14px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer}.user-settings-panel .btn-remove-logo:hover:not(:disabled){background:#f8fafc;color:#475569}.user-settings-panel .btn-remove-logo:disabled{opacity:.6;cursor:not-allowed}.user-settings-details-box{margin-top:1rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden;padding:20px 24px}.user-settings-profile-page-row .user-settings-details-box.user-settings-details-box-right{margin-top:0}.user-settings-modal-page .user-settings-content{padding:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;box-sizing:border-box;overflow-x:hidden}.modal-content{--control-height: 40px;--form-row-gap: 12px;background:#fff;border-radius:12px;max-width:1400px;width:100%;min-width:0;max-height:90vh;overflow-y:auto;overflow-x:hidden;box-shadow:0 4px 20px #0000004d;box-sizing:border-box}.modal-header h2{margin:0;font-size:24px;color:#333}.modal-close{background:none;border:none;font-size:32px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.modal-close:hover{background:#f0f0f0;color:#333}.receipt-exception-banner{background:#ffebee;border:1px solid #c62828;border-radius:8px;padding:12px 16px;margin-bottom:16px}.receipt-exception-banner p{margin:0 0 10px;color:#b71c1c;font-weight:600}.receipt-exception-confirm{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.95rem}.receipt-exception-confirm input:disabled{cursor:default}.modal-body{padding:20px;box-sizing:border-box;min-width:0;width:100%}.image-preview-section{margin-bottom:24px;min-width:0;width:100%}.image-preview-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;flex-wrap:nowrap;gap:12px;min-width:0;overflow:visible}.image-preview-header h3{margin:0;font-size:18px;color:#333;white-space:nowrap;flex-shrink:0}.image-zoom-controls{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;min-width:0;overflow:visible}.image-zoom-controls button{padding:5px 12px;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:16px;font-weight:700;transition:background .2s;white-space:nowrap;flex-shrink:0}.image-zoom-controls button:hover:not(:disabled){background:#e0e0e0}.image-zoom-controls button:disabled{opacity:.5;cursor:not-allowed}.image-zoom-controls span{min-width:50px;text-align:center;font-size:14px;color:#666;flex-shrink:0}.image-zoom-controls .reset-btn{margin-left:0;padding:5px 12px;font-size:14px;font-weight:400;white-space:nowrap}.image-zoom-hint-row{margin:6px 0 0;font-size:12px;color:#666;line-height:1.4;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;width:100%;max-width:100%;box-sizing:border-box}.image-preview-container{border:1px solid #e0e0e0;border-radius:8px;overflow-y:auto;overflow-x:hidden;background:#f5f5f5;min-height:300px;max-height:600px;position:relative;-webkit-user-select:none;user-select:none;cursor:grab}.image-preview-container:active{cursor:grabbing}.image-preview{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:300px;transition:transform .1s ease-out;transform-origin:top center;will-change:transform;padding:10px;width:100%}.image-preview img{max-width:100%;max-height:none;width:auto;height:auto;object-fit:contain;-webkit-user-select:none;user-select:none;display:block}.pdf-viewer-container{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;background:#f5f5f5;min-height:300px;max-height:600px}.pdf-document-container{display:flex;justify-content:center;align-items:flex-start}.pdf-document-container canvas{max-width:100%;height:auto}.pdf-controls{display:flex;align-items:center;justify-content:center;gap:10px}.pdf-controls button{background:#6b95b3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.pdf-controls button:hover:not(:disabled){background:#5a85a3}.pdf-controls button:disabled{background:#ccc;cursor:not-allowed}.pdf-error-message{padding:40px;text-align:center;color:#dc3545}.pdf-error-message p{margin-bottom:15px}.image-placeholder{border:1px solid #e0e0e0;border-radius:8px;padding:40px;text-align:center;background:#f5f5f5;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.image-placeholder p{color:#999;margin:0}.image-placeholder button{padding:8px 16px;background:#6b95b3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.image-placeholder button:hover{background:#5a85a3}.edit-form{display:flex;flex-direction:column;gap:var(--form-row-gap, 12px);min-width:0;width:100%}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:#333;font-size:14px}.form-group input,.edit-form input[type=text],.edit-form input[type=number],.edit-form input[type=date]{height:var(--control-height, 40px);box-sizing:border-box;width:100%;max-width:100%;padding:0 10px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#6b95b3}.category-input-wrapper{position:relative}.category-input-wrapper input{height:var(--control-height, 40px);box-sizing:border-box;padding:0 30px 0 10px;cursor:pointer}.dropdown-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:#999;display:inline-flex;align-items:center;justify-content:center}.category-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px #0000001a;z-index:100;max-height:200px;overflow-y:auto;margin-top:4px}.category-option{padding:10px 15px;cursor:pointer;transition:background .2s;font-size:14px}.category-option:hover{background:#f0f0f0}.category-option:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.category-option:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:100%;min-width:0;box-sizing:border-box}.form-row .form-group{min-width:0;width:100%;box-sizing:border-box}.form-row .form-group input{width:100%;min-width:0;box-sizing:border-box}.edit-form .form-row-tax-currency,.edit-form .form-row-date-category,.edit-form .form-row-payment-province,.edit-form .form-row-tip-eco,.edit-form .form-group-line-items-tighter{margin-top:-18px}.form-row-four{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:-18px;width:100%;min-width:0;box-sizing:border-box}.form-row-four .form-group{min-width:0}.form-field-with-expand{display:flex;align-items:center;gap:8px;min-width:0}.form-field-with-expand input{flex:1;min-width:0}.form-expand-btn{background:none;border:none;color:#6b95b3;cursor:pointer;text-decoration:none;font-size:14px;font-weight:700;flex-shrink:0}.form-line-items-header{display:flex;align-items:baseline;gap:16px;margin-bottom:0}.form-line-items-header label{margin-bottom:0}.form-group-line-items .form-line-items-body{margin-top:4px;display:flex;flex-direction:column;gap:8px}.form-line-item-row{display:grid;grid-template-columns:1fr 120px 80px;gap:8px;align-items:center;min-width:0}.form-line-item-row input{min-width:0}.form-info{padding:15px;background:#f8f9fa;border-radius:4px;font-size:14px}.form-info p{margin:5px 0;color:#666}.form-info .form-info-original-link{color:#6b95b3;font-weight:700;text-decoration:none}.form-info .form-info-original-link:hover{text-decoration:underline}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:20px;border-top:1px solid #e0e0e0}.btn-cancel,.btn-submit{height:var(--control-height, 40px);box-sizing:border-box;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-size:14px;cursor:pointer;transition:background .2s}.btn-cancel{background:#f0f0f0;color:#333;border:none}.btn-submit{background:#6b95b3;color:#fff;border:none;border-radius:8px}.btn-submit:hover:not(:disabled){background:#5a85a3}.btn-submit:disabled{background:#ccc;cursor:not-allowed}@media (max-width: 768px){.modal-content{max-width:100%;margin:10px}.form-row{grid-template-columns:1fr}.image-preview{min-height:200px;max-height:300px}}.audit-logs-modal{background:#fff;border-radius:8px;padding:0;max-width:800px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.audit-logs-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.audit-logs-header h3{margin:0;font-size:18px}.audit-logs-header button{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.audit-logs-header button:hover{color:#333}.audit-logs-content{padding:20px;overflow-y:auto;max-height:calc(80vh - 80px)}.audit-timeline-loading,.audit-timeline-empty{padding:20px;text-align:center;color:#999}.audit-timeline{position:relative;padding-left:20px;max-height:320px;overflow-y:auto}.audit-timeline:before{content:"";position:absolute;left:5px;top:0;bottom:0;width:2px;background:#e0e0e0}.audit-timeline-item{position:relative;padding-bottom:16px}.audit-timeline-item:last-child{padding-bottom:0}.audit-timeline-dot{position:absolute;left:-20px;top:6px;width:10px;height:10px;border-radius:50%;background:#6b95b3}.audit-timeline-content{padding:8px 12px;background:#f8f9fa;border-radius:6px}.audit-timeline-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:4px;font-size:.85rem;color:#666}.audit-timeline-time{font-weight:500}.audit-timeline-action{font-weight:600;color:#333}.audit-timeline-status{margin-top:4px;font-size:.85rem;color:#555}.super-admin-receipts{display:flex;gap:20px;height:calc(100vh - 120px)}.tenants-sidebar{width:300px;background:#fff;border-radius:8px;padding:20px;overflow-y:auto;box-shadow:0 2px 8px #0000001a}.tenants-sidebar h2{margin:0 0 20px;font-size:18px;color:#333}.tenants-list{display:flex;flex-direction:column;gap:10px}.tenant-card{padding:15px;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s;background:#fff}.tenant-card:hover{border-color:var(--nav-brand, #4a7a9c);box-shadow:0 2px 8px #4a7a9c26}.tenant-card.active{border-color:var(--nav-brand, #4a7a9c);background:var(--nav-brand-light, #e6eef4)}.tenant-name{font-weight:600;font-size:16px;color:#333;margin-bottom:4px}.tenant-stats{display:flex;flex-direction:column;gap:4px;font-size:14px;color:#666}.tenant-admin{font-size:12px;color:#999}.tenant-stats-exception{color:#c00;font-weight:600}.receipts-main{flex:1;background:#fff;border-radius:8px;padding:20px;overflow-y:auto;box-shadow:0 2px 8px #0000001a}.receipts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.receipts-header h2{margin:0;font-size:20px;color:#333}.btn-back{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-back:hover{background:#5a6268}.receipts-table th,.receipts-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.receipts-table th{background:#f8f9fa;font-weight:600;color:#333}.receipts-table tr:hover{background:#f8f9fa}.receipts-table tr.receipt-row-exception:hover{background:#ffcdd2!important}.badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-success{background:#d4edda;color:#155724}.badge-warning{background:#fff3cd;color:#856404}.badge-danger{background:#f8d7da;color:#721c24}.badge-info{background:var(--nav-brand-light, #e6eef4);color:var(--nav-brand-dark, #3d6a85)}.badge-default{background:#e9ecef;color:#495057}.receipts-table .th-checkbox,.receipts-table .td-checkbox{width:40px;text-align:center}.receipts-table .th-checkbox input,.receipts-table .td-checkbox input{cursor:pointer}.super-admin-mileage{display:flex;gap:20px;height:calc(100vh - 120px)}.mileage-main{flex:1;background:#fff;border-radius:8px;padding:20px;overflow-y:auto;box-shadow:0 2px 8px #0000001a}.mileage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.mileage-header h2{margin:0;font-size:20px;color:#333}.filters{display:flex;gap:10px;align-items:center}.filters select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.mileage-table{overflow-x:auto}.mileage-table table{width:100%;border-collapse:collapse}.mileage-table th,.mileage-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.mileage-table th{background:#f8f9fa;font-weight:600;color:#333}.mileage-table tr:hover{background:#f8f9fa}.tenant-plan{font-size:12px;color:var(--nav-brand, #4a7a9c);margin-bottom:6px}.no-tenant-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#999}.no-tenant-selected h2{margin:0 0 10px;font-size:24px}.no-tenant-selected p{margin:0;font-size:16px}.data-list-box .pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px;padding:20px 1rem;border-top:1px solid #e0e0e0}.pagination button{padding:8px 16px;background:var(--nav-brand, #4a7a9c);color:#fff;border:none;border-radius:4px;cursor:pointer}.pagination button:disabled{background:#ccc;cursor:not-allowed}.mileage-table .th-checkbox,.mileage-table .td-checkbox{width:40px;text-align:center}.mileage-table .th-checkbox input,.mileage-table .td-checkbox input{cursor:pointer}.batch-selected-hint{font-size:14px;color:#666}.btn-small{padding:6px 12px;background:var(--nav-brand, #4a7a9c);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.unified-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10001;display:flex;align-items:center;justify-content:center;background:#0006;padding:20px;box-sizing:border-box}.unified-dialog{background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;max-width:420px;width:100%;overflow:hidden}.unified-dialog-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #e2e8f0}.unified-dialog-icon{width:36px;height:36px;min-width:36px;min-height:36px;border-radius:50%;background:var(--nav-brand-light, #e8f0f6);border:1.5px solid var(--nav-brand, #6b95b3);color:var(--nav-brand, #6b95b3);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;line-height:1}.unified-dialog-title{flex:1;font-size:16px;font-weight:700;color:#333;margin:0}.unified-dialog-close{width:32px;height:32px;padding:0;border:none;background:none;color:#64748b;font-size:20px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.unified-dialog-close:hover{background:#f1f5f9;color:#333}.unified-dialog-body{padding:20px 20px 24px;font-size:14px;color:#444;line-height:1.6}.unified-dialog-body .unified-dialog-message{margin-bottom:24px}.unified-dialog-body .unified-dialog-message:last-child{margin-bottom:0}.unified-dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.unified-dialog-btn-secondary{padding:8px 20px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.unified-dialog-btn-secondary:hover{background:#f8fafc;border-color:#cbd5e1;color:#334155}.unified-dialog-btn-primary{padding:8px 20px;border-radius:8px;border:none;background:var(--nav-brand, #6b95b3);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,filter .2s}.unified-dialog-btn-primary:hover{background:var(--nav-brand-dark, #5a85a3)}.unified-dialog-body input.unified-dialog-input{width:100%;padding:10px 12px;font-size:14px;border:1px solid #e2e8f0;border-radius:8px;margin-top:12px;margin-bottom:20px;box-sizing:border-box}.unified-dialog-body input.unified-dialog-input:focus{outline:none;border-color:var(--nav-brand, #6b95b3);box-shadow:0 0 0 2px #6b95b333}.tenant-management{padding:20px}.tenant-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.tenant-header h2{margin:0}.tenant-stats{margin-bottom:20px;padding:10px;background:#f5f5f5;border-radius:4px}.tenant-table{width:100%;border-collapse:collapse;background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.tenant-table th,.tenant-table td{padding:12px;text-align:left;border-bottom:1px solid #eee}.tenant-table th{background:#f8f9fa;font-weight:600}.tenant-table tr:hover{background:#f8f9fa}.status-badge{padding:4px 8px;border-radius:4px;font-size:.85em;font-weight:500}.status-active{background:#d4edda;color:#155724}.status-suspended{background:#fff3cd;color:#856404}.status-deleted{background:#f8d7da;color:#721c24}.btn-primary,.btn-warning,.btn-success,.btn-danger{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.9em}.btn-warning{background:#ffc107;color:#000}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.create-enterprise-overlay{padding:28px;box-sizing:border-box}.create-enterprise-overlay .create-enterprise-modal{max-width:640px;width:100%;padding:28px 32px;max-height:calc(100vh - 56px)}.modal-content{background:#fff;padding:24px;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-content h3{margin-top:0}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:500}.form-group input,.form-group select{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:1em}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.loading{text-align:center;padding:40px;font-size:1.2em;color:#666}.admin-user-management{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.admin-user-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.admin-user-header h2{margin:0;font-size:24px;color:#333}.admin-user-header .page-desc{flex-basis:100%;margin:8px 0 0;font-size:13px;color:#666;line-height:1.5}.user-stats{font-size:16px;color:#666}.filters{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font-weight:500;color:#333}.filter-group select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;cursor:pointer}.tenants-list{display:flex;flex-direction:column;gap:15px}.tenant-section{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden;background:#fff}.tenant-header{padding:15px 20px;background:#f8f9fa;cursor:pointer;transition:background .2s;border-bottom:1px solid #e0e0e0}.tenant-header:hover,.tenant-header.expanded{background:#e9ecef}.tenant-header-left{display:flex;align-items:center;gap:12px}.expand-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;color:#666}.tenant-name{font-weight:600;font-size:16px;color:#333}.tenant-plan-badge{font-size:12px;color:var(--nav-brand, #4a7a9c);margin-left:8px;padding:2px 6px;background:var(--nav-brand-light, #e6eef4);border-radius:4px}.tenant-status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.tenant-status-badge.status-active{background:#d4edda;color:#155724}.tenant-status-badge.status-suspended{background:#fff3cd;color:#856404}.tenant-status-badge.status-deleted{background:#f8d7da;color:#721c24}.user-count{font-size:14px;color:#666;margin-left:auto}.users-table-container{padding:0;background:#fff}.empty-users{padding:40px;text-align:center;color:#999;font-size:14px}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.users-table th{background:#f8f9fa;font-weight:600;color:#333;font-size:14px}.users-table tbody tr:hover{background:#f8f9fa}.action-hint{font-size:12px;color:#999}.role-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.role-badge.role-super_admin{background:var(--nav-brand-light, #e6eef4);color:var(--nav-brand-dark, #3d6a85)}.role-badge.role-owner,.role-badge.role-company_admin{background:#d4edda;color:#155724}.role-badge.role-member{background:#fff3cd;color:#856404}.status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.action-buttons{display:flex;gap:8px}.btn-small{padding:6px 12px;font-size:12px;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.btn-primary{background:var(--nav-brand, #4a7a9c);color:#fff}.btn-warning{background:#ffc107;color:#333}.btn-warning:hover{background:#e0a800}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.loading{text-align:center;padding:40px;color:#999;font-size:16px}.audit-log-page{padding:1.5rem 2rem;max-width:1400px;margin:0 auto}.audit-log-title{font-size:1.25rem;font-weight:600;color:#333;margin:0 0 1rem}.audit-log-forbidden{text-align:center;padding:3rem;color:#666}.audit-log-forbidden h2{margin-bottom:.5rem;color:#333}.audit-log-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-bottom:1rem}.audit-log-filters label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#555}.audit-log-input,.audit-log-select{padding:.4rem .6rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;min-width:120px}.audit-log-btn{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:.9rem}.audit-log-btn:hover:not(:disabled){background:#f5f5f5}.audit-log-btn:disabled{opacity:.5;cursor:not-allowed}.audit-log-btn-primary{background:var(--nav-brand, #4a7a9c);color:#fff;border-color:var(--nav-brand, #4a7a9c)}.audit-log-btn-primary:hover{background:var(--nav-brand-dark, #3d6a85)}.audit-log-toolbar{margin-bottom:.75rem}.audit-log-toolbar label{font-size:.9rem;color:#555}.audit-log-select{margin-left:.25rem;margin-right:.25rem}.audit-log-error{padding:.75rem;background:#fee;color:#c00;border-radius:4px;margin-bottom:1rem}.audit-log-loading,.audit-log-empty{padding:2rem;text-align:center;color:#666}.audit-log-table-wrap{overflow-x:auto;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:1rem}.audit-log-table{width:100%;border-collapse:collapse;font-size:.875rem}.audit-log-table th,.audit-log-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #eee}.audit-log-table th{background:#f8f9fa;font-weight:600;color:#333}.audit-log-table tbody tr:hover{background:#fafafa}.audit-log-row-clickable{cursor:pointer}.audit-log-row-clickable:hover{background:var(--nav-brand-light, #e6eef4)!important}.audit-log-row-clickable:focus{outline:2px solid var(--nav-brand, #4a7a9c);outline-offset:-1px}.audit-log-meta-row td{background:#f5f5f5;vertical-align:top}.audit-log-meta-content{margin:0;padding:.75rem;font-size:.8rem;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.audit-log-expand-btn{padding:.2rem .5rem;font-size:.8rem;border:1px solid #ccc;border-radius:3px;background:#fff;cursor:pointer}.audit-log-expand-btn:hover{background:#eee}.audit-log-pagination{display:flex;align-items:center;gap:1rem}.audit-log-pagination-info{font-size:.9rem;color:#666}.audit-log-pagination-goto{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#666}.audit-log-pagination-goto .audit-log-select{min-width:4rem}.dashboard-with-sidebar{display:flex;gap:1.5rem;align-items:flex-start}.dashboard-pending-tasks-trigger{flex-shrink:0;width:42px;min-height:52px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:0 8px 8px 0;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:10px;font:inherit;color:var(--nav-brand, #4a7a9c);transition:background .2s,color .2s}.dashboard-pending-tasks-trigger:hover{background:#e8f0f6;color:#3d6a8a}.dashboard-pending-tasks-trigger-chevron{display:inline-flex;align-items:center;justify-content:center}.dashboard-pending-tasks{flex-shrink:0;width:280px;background:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 2px 8px #0000001a}.pending-tasks-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:1rem}.pending-tasks-collapse{flex-shrink:0;width:28px;height:28px;border:1px solid #ddd;border-radius:6px;background:#fafafa;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.pending-tasks-collapse svg{flex-shrink:0}.pending-tasks-collapse:hover{background:#eee;color:#333}.pending-tasks-title{margin:0;font-size:1.1rem;font-weight:600;color:#333}.pending-tasks-list{display:flex;flex-direction:column;gap:.75rem}.pending-task-card{display:flex;gap:.75rem;padding:.75rem;border-radius:6px;border:1px solid #eee;background:#fafafa;width:100%;text-align:left;cursor:pointer;font:inherit}button.pending-task-card:hover{background:#f0f0f0;border-color:#ddd}.pending-task-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--nav-brand, #4a7a9c)}.pending-task-content{flex:1;min-width:0}.pending-task-label{font-size:.9rem;font-weight:600;color:#2d2d44;margin-bottom:.25rem}.pending-task-count{font-size:1.25rem;font-weight:700;color:#1a1a2e;margin-bottom:.5rem}.pending-task-open-record{font-size:.85rem;font-weight:700;color:var(--nav-brand, #6b95b3);text-decoration:none}.dashboard-main{flex:1;min-width:0}.dashboard h2{margin-bottom:2rem;color:#333}.dashboard-loading{text-align:center;padding:3rem;color:#666}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.dashboard .stats-grid .stat-card{background:#6b95b3;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;gap:1rem;transition:transform .2s,box-shadow .2s}.dashboard .stats-grid .stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.dashboard .stats-grid .stat-value{font-size:2rem;font-weight:700;color:#fff;margin-bottom:.25rem}.dashboard .stats-grid .stat-label{font-size:.95rem;font-weight:600;color:#fff}.dashboard .stats-grid .stat-card[role=button]{cursor:pointer}.dashboard .stats-grid .stat-card[role=button]:focus{outline:2px solid rgba(255,255,255,.9);outline-offset:2px}.dashboard .stats-grid .stat-card-warning{border-left:4px solid #eab308}.dashboard .stats-grid .stat-card-warning .stat-icon.stat-icon-warning{color:#eab308}.dashboard .stats-grid .stat-card-warning .stat-icon:not(.stat-icon-warning){color:#fff}.dashboard .stats-grid .stat-card-exception{background:#ffebee!important;border-left:4px solid #c62828!important;cursor:pointer}.dashboard .stats-grid .stat-card-exception .stat-value,.dashboard .stats-grid .stat-card-exception .stat-label{font-weight:700;color:#b71c1c!important}.dashboard .stats-grid .stat-card-receipts,.dashboard .stats-grid .stat-card-mileage{border-left:none}.dashboard .stats-grid .stat-icon{flex-shrink:0;color:#fff;display:flex;align-items:center;justify-content:center}.dashboard .stats-grid .stat-card-exception .stat-icon.stat-icon-warning{color:#eab308}.dashboard .stats-grid .stat-content{flex:1}.charts-container{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.chart-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a}.chart-card h3{margin:0 0 4px;font-size:18px;color:#333}.chart-subtitle{margin:0 0 16px;font-size:13px;color:#666}.distribution-chart-card .distribution-chart-wrap{display:flex;gap:1.5rem;align-items:flex-start;min-height:260px}.distribution-chart-donut{position:relative;flex-shrink:0;width:220px;height:260px}.distribution-chart-donut .recharts-responsive-container{position:absolute;left:0;top:0}.distribution-chart-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.distribution-chart-total{display:block;font-size:1.75rem;font-weight:700;color:#1a1a2e}.distribution-chart-total-label{display:block;font-size:.8rem;color:#666}.distribution-chart-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.5rem .75rem;box-shadow:0 4px 12px #0000001a;font-size:.875rem}.distribution-chart-tooltip-label{font-weight:600;color:#374151;margin-bottom:.25rem}.distribution-chart-tooltip-value{color:#6b7280}.distribution-chart-list{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem}.distribution-chart-row{display:flex;align-items:flex-start;gap:.5rem;padding:.4rem .5rem;border-radius:6px;background:#f8fafc}.distribution-chart-swatch{flex-shrink:0;width:12px;height:12px;border-radius:2px;margin-top:.2rem}.distribution-chart-row-content{flex:1;min-width:0}.distribution-chart-row-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.distribution-chart-name{font-size:.95rem;font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.distribution-chart-meta{flex-shrink:0;display:flex;align-items:baseline;gap:.75rem;font-size:.85rem;color:#6b7280}.distribution-chart-count{font-weight:600;color:#374151}.distribution-chart-pct{color:#6b7280;margin-left:.25rem}.distribution-chart-bar-wrap{height:8px;border-radius:4px;background:#e5e7eb;overflow:hidden}.distribution-chart-bar{height:100%;border-radius:4px;min-width:2px;transition:width .2s ease}.distribution-chart-no-list{color:#999;font-size:13px}.chart-empty{display:flex;align-items:center;justify-content:center;height:300px;color:#999;font-size:14px}@media (max-width: 768px){.dashboard-with-sidebar{flex-direction:column}.dashboard-pending-tasks{width:100%}.charts-container{grid-template-columns:1fr}}.batch-upload{padding:20px}.batch-upload h2{margin:0 0 20px;color:#333}.drop-zone{border:2px dashed #ddd;border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:all .3s;background:#fafafa}.drop-zone:hover,.drop-zone.drag-over{border-color:#6b95b3;background:#e8f0f6}.drop-zone-content{pointer-events:none}.drop-zone-icon{margin-bottom:10px;color:var(--nav-brand, #6b95b3);display:flex;align-items:center;justify-content:center}.drop-zone-icon svg{flex-shrink:0}.drop-zone p{margin:10px 0;color:var(--nav-brand, #6b95b3)}.drop-zone-hint{font-size:12px;color:var(--nav-brand, #6b95b3)}.files-list{margin-top:30px;background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.files-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.files-header h3{margin:0;color:#333}.btn-clear{padding:6px 12px;background:#f0f0f0;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-clear:hover:not(:disabled){background:#e0e0e0}.btn-clear:disabled{opacity:.5;cursor:not-allowed}.files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px;margin-bottom:20px}.file-item{border:1px solid #e0e0e0;border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:8px;position:relative;background:#fafafa}.file-item.file-success{border-color:#28a745;background:#f0fff4}.file-item.file-failed{border-color:#dc3545;background:#fff0f0}.file-item.file-processing{border-color:#ffc107;background:#fffbf0}.file-info{flex:1}.file-name{font-weight:500;color:#333;font-size:14px;word-break:break-all;margin-bottom:4px}.file-size{font-size:12px;color:#999}.file-status{font-size:12px}.status-pending{color:#666}.status-uploading,.status-processing{color:#ffc107;font-weight:500}.status-success{color:#28a745;font-weight:500}.status-failed{color:#dc3545;font-weight:500}.btn-remove{position:absolute;top:8px;right:8px;background:#0000001a;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:#666;transition:all .2s}.btn-remove:hover:not(:disabled){background:#dc354533;color:#dc3545}.btn-remove:disabled{opacity:.5;cursor:not-allowed}.upload-actions{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid #e0e0e0}.upload-stats{display:flex;gap:15px;font-size:14px;color:#666}.stat-success{color:#28a745}.stat-processing{color:#ffc107}.stat-failed{color:#dc3545}.btn-upload{padding:12px 24px;background:#6b95b3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:500;transition:background .2s}.btn-upload:hover:not(:disabled){background:#5a85a3}.btn-upload:disabled{background:#ccc;cursor:not-allowed}.merge-upload-section{margin-top:32px;padding-top:24px;border-top:1px solid #e8e8e8}.merge-upload-section h3{margin:0 0 8px;font-size:18px;color:#333}.merge-hint{margin:0 0 12px;font-size:14px;color:#666}.btn-merge-select{padding:10px 20px;background:var(--nav-brand, #6b95b3);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.btn-merge-select:hover:not(:disabled){background:var(--nav-brand-dark, #5a85a3)}.btn-merge-select:disabled{opacity:.6;cursor:not-allowed}.merge-error{margin:10px 0 0;color:#dc3545;font-size:14px}.merge-files-block{margin-top:16px;padding:16px;background:#fafafa;border-radius:8px;border:1px solid #eee}.merge-files-block p{margin:0 0 10px;font-size:14px;color:#333}.merge-files-list{margin:0 0 14px;padding-left:20px;max-height:120px;overflow-y:auto;font-size:13px;color:#555}.merge-upload-section .merge-start{margin-top:4px}@media (max-width: 768px){.files-grid{grid-template-columns:1fr}.upload-actions{flex-direction:column;gap:15px;align-items:stretch}.upload-stats{justify-content:space-around}}.receipts-list{--control-height: 36px;padding:1.5rem}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0}.list-header-with-actions .list-header-left{display:flex;align-items:center;gap:.75rem}.list-header-with-actions .list-header-left .batch-selected-hint{font-size:.9rem;color:#666}.list-header-actions{display:flex;align-items:center;gap:.75rem}.list-header-actions button:disabled{opacity:.6;cursor:not-allowed}.btn-secondary.list-action-btn,.btn-secondary.filter-toggle{display:inline-flex;align-items:center;gap:6px;padding:.5rem 1rem;border-radius:6px;border:1px solid #ddd;background:#f5f5f5;color:#666;font-size:.9rem;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.btn-secondary.list-action-btn:hover:not(:disabled),.btn-secondary.filter-toggle:hover{background:#e8e8e8;color:#333}.filter-toggle-active{background:#fff!important;border:2px solid var(--nav-brand, #6b95b3)!important;color:var(--nav-brand, #6b95b3)!important}.filter-toggle-active:hover{background:#f0f7fb!important;color:var(--nav-brand, #6b95b3)!important}.batch-upload-btn{white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.batch-upload-plus{font-size:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:16px}.filter-dropdown-wrap{position:relative}.filter-toggle-active{border-color:#6b95b3!important;color:#6b95b3}.btn-primary{padding:10px 20px;background:#6b95b3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.btn-primary:hover{background:#5a85a3}.batch-upload-section{margin-bottom:30px}.filters{display:flex;gap:1rem}.filter-select{height:var(--control-height, 36px);box-sizing:border-box;padding:0 1rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem}.advanced-filters.filter-dropdown-panel,.export-dropdown-panel.filter-dropdown-panel{position:absolute;top:calc(100% + 6px);right:0;min-width:320px;max-width:420px;display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#fff;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 4px 16px #0000001f;z-index:1000;font-family:inherit}.export-dropdown-panel .export-dropdown-btn{height:var(--control-height, 36px);box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:0 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:background .2s,border-color .2s;border:1px solid transparent}.export-dropdown-panel .export-dropdown-btn:disabled{opacity:.6;cursor:not-allowed}.export-dropdown-panel .export-dropdown-btn-primary{background:#6b95b3;color:#fff;border-color:#6b95b3}.export-dropdown-panel .export-dropdown-btn-primary:hover:not(:disabled){background:#5a85a3;border-color:#5a85a3}.export-dropdown-panel .export-dropdown-btn-secondary{background:#f5f5f5;color:#333;border-color:#ddd}.export-dropdown-panel .export-dropdown-btn-secondary:hover:not(:disabled){background:#e8e8e8;border-color:#ccc}.export-dropdown-panel .export-dropdown-divider{height:1px;background:#e5e7eb;margin:.25rem 0}.export-dropdown-panel .filter-row-label.export-dropdown-section-title{font-size:1.1rem;font-weight:600;color:#374151}.advanced-filters.filter-dropdown-panel .filter-row,.export-dropdown-panel .filter-row{width:100%;display:flex;flex-direction:column;gap:.35rem}.advanced-filters.filter-dropdown-panel .filter-row-no-gap{margin-top:-.4rem}.advanced-filters.filter-dropdown-panel .filter-row-label,.export-dropdown-panel .filter-row-label{font-family:inherit;font-size:.875rem;font-weight:600;color:#374151}.advanced-filters.filter-dropdown-panel .filter-row-controls,.export-dropdown-panel .filter-row-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.advanced-filters.filter-dropdown-panel .filter-row-inline,.export-dropdown-panel .filter-row-inline{flex-wrap:nowrap}.advanced-filters.filter-dropdown-panel .filter-select,.advanced-filters.filter-dropdown-panel .filter-number,.advanced-filters.filter-dropdown-panel .filter-input,.advanced-filters.filter-dropdown-panel .filter-input-unified,.export-dropdown-panel .filter-input-unified{height:var(--control-height, 36px);box-sizing:border-box;font-family:inherit;font-size:.875rem;font-weight:500;color:#374151;padding:0 .6rem;border:1px solid #d1d5db;border-radius:6px;background:#fff}.advanced-filters.filter-dropdown-panel .filter-select{min-width:120px}.advanced-filters.filter-dropdown-panel .filter-select-full{width:100%;min-width:0}.advanced-filters.filter-dropdown-panel .filter-number{width:72px}.advanced-filters.filter-dropdown-panel .date-separator,.export-dropdown-panel .date-separator{font-size:.875rem;color:#6b7280;font-weight:400}.advanced-filters.filter-dropdown-panel .filter-row-buttons{gap:.5rem}.advanced-filters.filter-dropdown-panel .filter-quick-btn{height:var(--control-height, 36px);box-sizing:border-box;padding:0 .75rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.advanced-filters.filter-dropdown-panel .filter-quick-btn:hover{background:#f3f4f6;border-color:#9ca3af}.advanced-filters.filter-dropdown-panel .filter-btn-exception-active{background:#e8f0f6;color:#6b95b3;border-color:#6b95b3}.advanced-filters.filter-dropdown-panel .filter-btn-exception-active:hover{background:#e8f0f6;filter:brightness(.96)}.advanced-filters.filter-dropdown-panel .filter-more-btn{min-height:var(--control-height, 36px);box-sizing:border-box;display:inline-flex;align-items:center;font-size:.875rem;color:#6b95b3;background:none;border:none;cursor:pointer;padding:0 .25rem;font-weight:500}.advanced-filters.filter-dropdown-panel .filter-more-btn:hover{text-decoration:underline;color:#5a85a3}.advanced-filters.filter-dropdown-panel .filter-section{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.advanced-filters.filter-dropdown-panel .filter-section-title,.advanced-filters.filter-dropdown-panel label{font-family:inherit;font-size:.875rem;font-weight:500;color:#374151}.advanced-filters.filter-dropdown-panel .filter-section-title{font-weight:600;min-width:6em}.advanced-filters.filter-dropdown-panel label{font-weight:500;cursor:pointer}.filter-section{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.filter-section-title{font-size:.85rem;font-weight:600;color:#555;margin-right:.25rem}.advanced-filters label{font-size:.85rem;color:#444}.date-separator{font-size:.85rem;color:#666}.filter-quick-btn{height:var(--control-height, 36px);box-sizing:border-box;padding:0 .75rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.filter-quick-btn:hover{background:#f3f4f6;border-color:#9ca3af}.filter-number{width:72px;height:var(--control-height, 36px);box-sizing:border-box;padding:0 8px;border:1px solid #ddd;border-radius:6px;font-size:.875rem}.filter-input-unified{height:var(--control-height, 36px);box-sizing:border-box;padding:0 .6rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.receipts-list .pagination .page-select-wrap{position:relative;margin-left:8px}.receipts-list .pagination .page-select-trigger{height:var(--control-height, 36px);box-sizing:border-box;min-width:52px;padding:0 .5rem;border:1px solid #999;border-radius:6px;font-size:.9rem;font-weight:500;background:#fff;color:#333;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:border-color .2s,box-shadow .2s}.receipts-list .pagination .page-select-trigger:hover,.receipts-list .pagination .page-select-trigger:focus{border-color:var(--nav-brand, #6b95b3);outline:none;box-shadow:0 0 0 2px #6b95b340}.page-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:100;max-height:240px;overflow-y:auto}.page-select-option{padding:.4rem .75rem;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .15s,color .15s;background:#fff;color:#333}.page-select-option:hover{background:var(--nav-brand, #6b95b3);color:#fff}.page-select-option-selected{font-weight:600}.page-select-option-selected:hover{background:var(--nav-brand, #6b95b3);color:#fff}.page-select-option-check{font-size:.85em}.receipts-table{overflow-x:auto}.receipts-table table{width:100%;border-collapse:collapse}.receipts-table th{background:#f5f5f5;padding:.75rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.receipts-table td{padding:.75rem;border-bottom:1px solid #f0f0f0}.receipts-table tr:hover{background:#f9f9f9}.receipts-table tr.receipt-row-exception{background:#ffebee}.receipts-table tr.receipt-row-exception:hover{background:#ffcdd2}.filter-checkbox-label{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem;white-space:nowrap}.badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.badge-success{background:#e8f5e9;color:#2e7d32}.badge-warning{background:#fff3e0;color:#e65100}.badge-info{background:#e8f0f6;color:#6b95b3}.btn-small{background:#6b95b3;color:#fff;border:none;padding:.25rem .75rem;border-radius:4px;font-size:.85rem;cursor:pointer;transition:background .2s}.btn-small:hover{background:#5a85a3}.page-btn{height:var(--control-height, 36px);box-sizing:border-box;background:#6b95b3;color:#fff;border:none;padding:0 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s;display:inline-flex;align-items:center;justify-content:center}.page-btn:hover:not(:disabled){background:#5a85a3}.mileage-logs{padding:1.5rem}.data-list-box{margin-top:1rem;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.mileage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.mileage-header h2{margin:0;color:#333}.mileage-stats{display:flex;gap:2rem}.mileage-batch-actions{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.mileage-batch-actions .batch-selected-hint{font-size:.9rem;color:#666}.mileage-batch-actions button:disabled{opacity:.6;cursor:not-allowed}.logs-table .th-checkbox,.logs-table .td-checkbox{width:2.5rem;text-align:center;vertical-align:middle}.logs-table .th-checkbox input,.logs-table .td-checkbox input{cursor:pointer}.stat-item{display:flex;flex-direction:column;align-items:flex-end}.stat-label{font-size:.85rem;color:#666}.stat-value{font-size:1.5rem;font-weight:600;color:var(--nav-brand, #4a7a9c)}.mileage-actions{margin-bottom:1.5rem}.btn-primary{background:var(--nav-brand, #4a7a9c);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-secondary{background:#f5f5f5;color:#666;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#e0e0e0}.mileage-form{background:#f9f9f9;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem}.mileage-form h3{margin:0 0 1rem;color:#333}.form-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.form-row label{min-width:80px;font-weight:500;color:#333}.form-row input,.form-row select{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;min-height:2.75rem;box-sizing:border-box}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--nav-brand, #4a7a9c)}.mode-buttons{display:flex;gap:10px}.mode-buttons button{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.mode-buttons button.active{background:var(--nav-brand, #4a7a9c);color:#fff;border-color:var(--nav-brand, #4a7a9c)}.mode-buttons button:hover{background:#f0f0f0}.mode-buttons button.active:hover{background:var(--nav-brand-dark, #3d6a85)}.type-buttons{display:flex;gap:.5rem}.type-buttons button{padding:.5rem 1.5rem;border:2px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s;font-size:.9rem}.type-buttons button.active{background:var(--nav-brand, #4a7a9c);color:#fff;border-color:var(--nav-brand, #4a7a9c)}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.form-actions.form-actions-receipt{justify-content:flex-end;padding-top:20px;border-top:1px solid #e0e0e0;gap:10px}.form-actions-receipt .btn-cancel{padding:10px 20px;background:#f0f0f0;color:#333;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.form-actions-receipt .btn-cancel:hover{background:#e0e0e0}.form-actions-receipt .btn-submit{padding:10px 20px;background:var(--nav-brand, #4a7a9c);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.form-actions-receipt .btn-submit:hover:not(:disabled){background:var(--nav-brand-dark, #3d6a85)}.form-actions-receipt .btn-submit:disabled{background:#ccc;cursor:not-allowed}.logs-table{overflow-x:auto;margin-top:1.5rem}.logs-table table{width:100%;border-collapse:collapse}.logs-table th{background:#f5f5f5;padding:.75rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.logs-table td{padding:.75rem;border-bottom:1px solid #f0f0f0}.logs-table tr:hover{background:#f9f9f9}.type-badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.type-badge.business{background:#e3f2fd;color:var(--nav-brand, #4a7a9c)}.type-badge.personal{background:var(--nav-brand-light, #e6eef4);color:var(--nav-brand, #4a7a9c)}.empty-state{text-align:center;padding:2rem;color:#999}.data-list-box .pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding:1.5rem 1rem;border-top:1px solid #e0e0e0}.page-btn{background:var(--nav-brand, #4a7a9c);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background .2s}.page-btn:hover:not(:disabled){background:var(--nav-brand-dark, #3d6a85)}.page-btn:disabled{background:#ccc;cursor:not-allowed}.loading{text-align:center;padding:3rem;color:#666}.mileage-edit-overlay.mileage-edit-overlay{padding:40px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.mileage-edit-overlay .mileage-edit-modal{width:100%;max-width:min(520px,calc(100vw - 80px));max-height:calc(100vh - 80px);overflow:auto;margin:auto;padding:28px 32px!important;box-sizing:border-box;background:#fff;border-radius:10px;box-shadow:0 4px 24px #0000002e}.mileage-edit-overlay .mileage-edit-modal h3{margin-top:0;margin-bottom:1.25rem}.mileage-edit-overlay .mileage-edit-modal .form-group{margin-bottom:1rem}.mileage-edit-overlay .mileage-edit-modal .form-group input,.mileage-edit-overlay .mileage-edit-modal .form-group select{box-sizing:border-box}.user-management{padding:20px}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.list-header h2{margin:0;color:#333}.btn-primary{padding:10px 20px;background:var(--nav-brand, #4a7a9c);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.btn-primary:hover{background:var(--nav-brand-dark, #3d6a85)}.users-table{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.users-table table{width:100%;border-collapse:collapse}.users-table th{background:#f8f9fa;padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0}.users-table td{padding:12px;border-bottom:1px solid #e0e0e0}.users-table tr:hover{background:#f8f9fa}.role-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.role-super_admin{background:#ff6b6b;color:#fff}.role-company_admin{background:#4ecdc4;color:#fff}.role-member{background:#95e1d3;color:#333}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.status-active{background:#d4edda;color:#155724}.status-badge.status-suspended{background:#fff3cd;color:#856404}.status-badge.status-deleted{background:#f8d7da;color:#721c24}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.user-form{padding:20px;display:flex;flex-direction:column;gap:20px}.user-form .form-group{display:flex;flex-direction:column;gap:8px}.user-form label{font-weight:500;color:#333;font-size:14px}.user-form input,.user-form select{padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.user-form input:focus,.user-form select:focus{outline:none;border-color:var(--nav-brand, #4a7a9c)}.user-form input:disabled{background:#f5f5f5;color:#999}.empty-state{text-align:center;padding:40px;color:#999}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px}.page-btn{padding:8px 16px;background:#f0f0f0;border:none;border-radius:4px;cursor:pointer;font-size:14px}.page-btn:hover:not(:disabled){background:#e0e0e0}.page-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:0;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;color:#333}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#333}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #e0e0e0}.btn-cancel{padding:10px 20px;background:#f0f0f0;color:#333;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-cancel:hover{background:#e0e0e0}.btn-submit{padding:10px 20px;background:var(--nav-brand, #4a7a9c);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-submit:hover{background:var(--nav-brand-dark, #3d6a85)}.btn-small{padding:6px 12px;font-size:12px;border:none;border-radius:4px;cursor:pointer;background:var(--nav-brand, #4a7a9c);color:#fff}.btn-small:hover{background:var(--nav-brand-dark, #3d6a85)}.btn-small.btn-disabled,.btn-small.btn-danger.btn-disabled{background:#ccc;color:#888;cursor:not-allowed;opacity:.8}.btn-small.btn-disabled:hover,.btn-small.btn-danger.btn-disabled:hover{background:#ccc;color:#888}.category-management-wrap{width:100%;max-width:1400px;margin:0 auto 0 0;padding:0 var(--page-gutter, 2rem);box-sizing:border-box}.category-management{padding:2rem 0;width:100%;max-width:none}.category-header{margin-bottom:2rem}.category-header h2{margin:0 0 .5rem;color:#333}.category-description{color:#666;margin:0;font-size:.9rem}.category-list{background:#fff;border-radius:8px;padding:0;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;overflow:hidden;border:1px solid #e0e0e0}.category-group-header{padding:14px 1.5rem;background:var(--nav-brand-light, #e6eef4);border-bottom:1px solid #e0e0e0;font-size:1rem;font-weight:600;color:#333}.category-group-body{padding:1rem 1.5rem}.category-group-body:last-child{padding-bottom:1.5rem}.category-add-section{display:flex;gap:.5rem;margin-bottom:0;padding:1.5rem;border-bottom:1px solid #eee;justify-content:flex-end}.category-add-section .category-input{max-width:320px}.category-input{flex:1;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem}.category-input:focus{outline:none;border-color:var(--nav-brand, #4a7a9c)}.btn-add{padding:.75rem 1.5rem;background:var(--nav-brand, #4a7a9c);color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background .2s}.btn-add:hover{background:var(--nav-brand-dark, #3d6a85)}.category-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem 1rem;padding:0;margin:0}.category-group-body.category-group-body-large .category-items{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem 1.25rem}.category-group-body .category-items{padding:0;margin:0}.category-item{position:relative;display:flex;align-items:center;gap:.5rem;padding:.5rem 2rem .5rem 1rem;background:#f5f5f5;border-radius:6px;border:1px solid #ddd}.category-name{font-size:.9rem;color:#333}.btn-remove{position:absolute;top:-8px;right:-8px;background:#f44;color:#fff;border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;line-height:1;transition:background .2s;flex-shrink:0;box-shadow:0 2px 4px #0003;z-index:1}.btn-remove:hover:not(:disabled){background:#c00}.btn-remove:disabled{background:#ccc;cursor:not-allowed;opacity:.5}.category-actions{display:flex;flex-direction:column;gap:1rem;align-items:flex-end}.category-actions-buttons{display:flex;flex-direction:row;gap:.75rem;align-items:center}.unsaved-warning{color:#ff6b6b;font-size:.9rem;font-weight:500;padding:.5rem 1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;max-width:100%;text-align:right}.btn-save{padding:.75rem 2rem;background:var(--nav-brand, #4a7a9c);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-save:hover:not(:disabled){background:var(--nav-brand-dark, #3d6a85)}.btn-save:disabled{background:#ccc;cursor:not-allowed}.btn-cancel{padding:.75rem 2rem;background:#f5f5f5;color:#333;border:1px solid #ddd;border-radius:6px;font-size:1rem;cursor:pointer;transition:background .2s}.btn-cancel:hover:not(:disabled){background:#e5e5e5}.btn-cancel:disabled{background:#eee;color:#999;border-color:#ddd;cursor:not-allowed}.empty-state{text-align:center;color:#999;padding:2rem 1.5rem}.category-management-loading{text-align:center;padding:2rem;color:#666}.license-plates{padding:20px;max-width:720px}.license-plates-loading{padding:24px;text-align:center}.license-plates h2{margin-bottom:8px}.license-plates-desc{color:#666;margin-bottom:20px;font-size:14px}.license-plates-add{display:flex;gap:12px;margin-bottom:24px}.license-plates-add input{flex:1;padding:8px 12px;border:1px solid #ccc;border-radius:6px;font-size:14px}.license-plates-add button{padding:8px 16px;background:var(--nav-brand, #4a7a9c);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.license-plates-add button:disabled{opacity:.6;cursor:not-allowed}.license-plates-empty{color:#888;padding:24px 0}.license-plates-table{width:100%;border-collapse:collapse}.license-plates-table th,.license-plates-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #eee}.license-plates-table th{font-weight:600;color:#333}.license-plates-table select{padding:6px 10px;border:1px solid #ccc;border-radius:4px;min-width:180px;font-size:14px}.btn-delete-plate{padding:4px 10px;background:transparent;color:#c53030;border:1px solid #c53030;border-radius:4px;cursor:pointer;font-size:13px}.btn-delete-plate:hover{background:#c53030;color:#fff}.email-settings-container{padding:24px;max-width:1200px;margin:0 auto}.email-settings-title{font-size:28px;font-weight:700;margin-bottom:24px;color:#333}.email-address-section{background:#fff;border-radius:8px;padding:20px;margin-bottom:24px;box-shadow:0 2px 4px #0000001a}.email-address-section h3{font-size:18px;font-weight:600;margin-bottom:12px;color:#333}.email-address-box{display:flex;align-items:center;gap:12px;margin-bottom:20px}.email-address{flex:1;padding:12px 16px;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;font-family:Courier New,monospace;font-size:14px;color:var(--nav-brand, #4a7a9c)}.copy-button{padding:12px 24px;background:var(--nav-brand, #4a7a9c);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.copy-button:hover{background:var(--nav-brand-dark, #3d6a85)}.setup-instructions{margin-top:16px;padding:16px;background:#f9f9f9;border-left:4px solid var(--nav-brand, #4a7a9c);border-radius:4px}.setup-instructions h4{font-size:16px;font-weight:600;margin-bottom:8px;color:#333}.instructions-text{margin:0;white-space:pre-wrap;font-family:Courier New,monospace;font-size:13px;color:#666;line-height:1.6}.stats-section{background:#fff;border-radius:8px;padding:20px;margin-bottom:24px;box-shadow:0 2px 4px #0000001a}.stats-section h3{font-size:18px;font-weight:600;margin-bottom:16px;color:#333}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card{padding:20px;background:linear-gradient(135deg,var(--nav-brand, #4a7a9c) 0%,var(--nav-brand-dark, #3d6a85) 100%);border-radius:8px;color:#fff;text-align:center}.stat-label{font-size:14px;opacity:.9;margin-bottom:8px}.stat-value{font-size:32px;font-weight:700}.messages-section{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a}.messages-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.messages-header h3{font-size:18px;font-weight:600;color:#333}.status-filter{display:flex;align-items:center;gap:8px}.status-filter label{font-size:14px;color:#666}.status-select{padding:6px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;cursor:pointer}.messages-table{width:100%;border-collapse:collapse}.messages-table thead{background:#f5f5f5}.messages-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.messages-table td{padding:12px;border-bottom:1px solid #eee}.subject-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.count-cell{text-align:center}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-success{background:#d4edda;color:#155724}.status-failed{background:#f8d7da;color:#721c24}.status-processing{background:#fff3cd;color:#856404}.retry-button{padding:6px 16px;background:#ff6b6b;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.retry-button:hover{background:#ff5252}.empty-message{text-align:center;padding:40px;color:#999}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}.pagination-button{padding:8px 16px;background:var(--nav-brand, #4a7a9c);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s}.pagination-button:hover:not(:disabled){background:var(--nav-brand-dark, #3d6a85)}.pagination-button:disabled{background:#ccc;cursor:not-allowed}.pagination-info{font-size:14px;color:#666}.loading-spinner{text-align:center;padding:40px;font-size:16px;color:#666}.error-message{padding:20px;background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;text-align:center}.receipt-settings-copy-btn{display:block;width:100%;margin-bottom:16px;padding:8px 14px;border-radius:6px;border:1px solid var(--nav-brand, #4a7a9c);background:#f0fdfa;color:var(--nav-brand, #4a7a9c);font-size:1rem;font-weight:500;cursor:pointer;box-sizing:border-box}.receipt-settings-copy-btn:hover{background:var(--nav-brand-light, #e6eef4)}.receipt-settings-email-address{word-break:break-all;font-size:1.05rem;font-family:ui-monospace,monospace;color:var(--nav-brand, #4a7a9c)}.receipt-settings-stats dt{margin:10px 0 2px;font-size:.95rem}.receipt-settings-stats dd{margin:4px 0 0;font-size:1rem}.receipt-settings-stats dd strong{color:#1e293b;font-size:1.15rem;font-weight:800}.receipt-settings-pre{margin:0;white-space:pre-wrap;font-family:ui-monospace,monospace;font-size:14.5px;color:#555;line-height:1.75;background:#f8fafc;padding:14px;border-radius:6px;border:1px solid #e2e8f0}.receipt-settings-layout .user-settings-member-box{width:340px;padding:24px 28px}.receipt-settings-layout .user-settings-panel{width:100%}@media (max-width: 980px){.receipt-settings-layout{flex-direction:column;gap:1rem}.receipt-settings-layout .user-settings-member-box{width:100%;padding:20px 24px}.receipt-settings-layout .user-settings-details-box-right{width:100%;margin-top:1rem}}.general-settings-page-wrap{width:100%;max-width:1400px;margin:0 auto 0 0;padding:0 var(--page-gutter, 2rem);box-sizing:border-box}.general-settings-page{max-width:720px}.general-settings-title{font-size:1.5rem;font-weight:600;color:#333;margin:0 0 4px}.general-settings-subtitle{font-size:.9rem;color:#666;margin:0 0 24px}.general-settings-section{margin-bottom:24px;background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.general-settings-section-header{padding:16px 24px;background:var(--nav-brand-light, #e6eef4);border-bottom:1px solid #e0e0e0;border-radius:10px 10px 0 0}.general-settings-section>.general-settings-row{padding-left:24px;padding-right:24px}.general-settings-section>.general-settings-row:first-of-type{padding-top:20px}.general-settings-section>.general-settings-row:last-of-type{padding-bottom:20px}.general-settings-section-title{font-size:1.05rem;font-weight:600;color:#333;margin:0 0 6px}.general-settings-section-desc{font-size:.9rem;color:#666;margin:0;line-height:1.45}.general-settings-row{margin-bottom:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}.general-settings-row:last-child{margin-bottom:0}.general-settings-row-label-wrap{flex:1;min-width:0;max-width:360px}.general-settings-label{display:block;font-size:.95rem;font-weight:500;color:#333;margin-bottom:4px}.general-settings-row-desc{font-size:.85rem;color:#666;line-height:1.4}.general-settings-muted{color:#888;font-size:.9rem}.general-settings-select{flex-shrink:0;min-width:200px;max-width:280px;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:.9rem;background:#fff}.general-settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.general-settings-toggle-row .general-settings-row-label-wrap{max-width:none}.general-settings-toggle-row .general-settings-label{margin-bottom:4px}.general-settings-toggle-row .general-settings-row-desc{margin-bottom:0}.general-settings-toggle{flex-shrink:0;width:44px;height:24px;border-radius:12px;border:1px solid #ccc;background:#e0e0e0;cursor:pointer;padding:0;position:relative;transition:background .2s,border-color .2s}.general-settings-toggle.on{background:var(--nav-brand, #4a7a9c);border-color:var(--nav-brand, #4a7a9c)}.general-settings-toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.general-settings-toggle.on .general-settings-toggle-thumb{transform:translate(20px)}.general-settings-theme-wrap{flex-shrink:0}.general-settings-theme-options{display:flex;gap:10px;flex-wrap:wrap}.general-settings-theme-btn{padding:10px 18px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:.9rem;color:#333;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}.general-settings-theme-btn:hover{border-color:var(--nav-brand, #4a7a9c);background:#f8fafc}.general-settings-theme-btn.active{border-color:var(--nav-brand, #4a7a9c);background:var(--nav-brand-light, #e6eef4);color:var(--nav-brand, #4a7a9c);box-shadow:0 0 0 2px #4a7a9c33}.user-menu-wrap{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:6px;padding:5px 10px;min-height:32px;box-sizing:border-box;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:8px;color:#fff;font-size:.85rem;cursor:pointer;transition:background .2s}.user-menu-trigger:hover{background:#ffffff4d}.user-menu-trigger:focus,.user-menu-trigger:focus-visible{outline:none;box-shadow:none}.user-menu-avatar{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:transparent;color:#fff;flex-shrink:0}.user-menu-display-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-chevron{display:inline-flex;align-items:center;justify-content:center;opacity:.9}.user-menu-dropdown{position:absolute;top:100%;right:0;margin-top:6px;min-width:240px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:1000;overflow:hidden;color:#333}.user-menu-dropdown button{color:inherit}.user-menu-section-label-wrap{position:relative;padding:12px 14px 10px;box-sizing:border-box}.user-menu-section-label-wrap+.user-menu-item{margin-top:-10px}.user-menu-section-label{font-size:12px;font-weight:600;color:#94a3b8;padding-left:8px;padding-right:8px;background:#fff;position:relative;z-index:1;display:inline-block}.user-menu-section-label-wrap:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #e2e8f0;z-index:0}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:none;color:#333;font-size:14px;text-align:left;cursor:pointer;transition:background .15s}.user-menu-item+.user-menu-item{margin-top:-6px}.user-menu-item:hover{background:#f5f5f5}.user-menu-divider{height:1px;background:#e2e8f0;margin:0}.user-menu-divider:has(+.user-menu-item.user-menu-logout){margin-top:14px}.user-menu-dropdown button.user-menu-logout{color:#c45c5c;font-weight:500;background:#fff}.user-menu-dropdown button.user-menu-logout:hover{background:#fff}.user-menu-logout svg{flex-shrink:0}.plan-page-wrap{width:100%;max-width:1400px;margin:0 auto 0 0;padding:0 var(--page-gutter, 2rem);box-sizing:border-box}.plan-page{padding:24px 0}.plan-page-inner{margin:0}.plan-page-header{margin-bottom:28px}.plan-page-header h1{margin:0 0 8px;font-size:1.5rem;color:#333}.plan-page-desc{margin:0;font-size:.95rem;color:#666;line-height:1.5}.plan-page-grid{display:flex;flex-wrap:wrap;gap:20px}.plan-page-grid .plan-page-card{flex:1 1 200px;min-width:200px;max-width:calc(25% - 15px)}.plan-page-card{border:2px solid #e0e0e0;border-radius:12px;padding:20px;background:#fff;display:flex;flex-direction:column;align-items:stretch}.plan-page-card.current{border-color:var(--nav-brand, #4a7a9c);background:var(--nav-brand-light, #e6eef4)}.plan-page-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:6px}.plan-page-card-name{font-weight:600;font-size:1.15rem;color:#333}.plan-page-card-badge{font-size:.75rem;padding:2px 8px;background:var(--nav-brand, #4a7a9c);color:#fff;border-radius:4px}.plan-page-card-price{font-size:1.25rem;font-weight:600;color:var(--nav-brand, #4a7a9c);margin-bottom:14px}.plan-page-card-quotas{list-style:none;margin:0 0 18px;padding:0;font-size:.9rem;color:#555;line-height:1.7}.plan-page-card-quotas li{margin:0}.plan-page-card-btn{margin-top:auto;padding:10px 16px;background:linear-gradient(135deg,var(--nav-brand, #4a7a9c) 0%,var(--nav-brand-dark, #3d6a85) 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500}.plan-page-card-btn:hover:not(:disabled){opacity:.9}.plan-page-card-btn:disabled{opacity:.6;cursor:not-allowed}.plan-page-card-hint{margin:0;font-size:.85rem;color:#999}*{margin:0;padding:0;box-sizing:border-box}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:#f5f5f5}#root{min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
