*,*:before,*:after{box-sizing:border-box}*{margin:0}body{line-height:1.5;-webkit-font-smoothing:antialiased;width:100%;min-height:100vh;margin:0;padding:0}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}:root{--primary-color: #8f34eb;--primary-hover: #7c3aed;--secondary-color: #6b7280;--success-color: #10b981;--warning-color: #f59e0b;--error-color: #ef4444;--background-color: #f9fafb;--surface-color: #ffffff;--border-color: #e5e7eb;--text-primary: #111827;--text-secondary: #6b7280;--border-radius: 8px;--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--background-color);color:var(--text-primary)}.container{width:100%;margin:0 auto;padding:0 2rem}.container.max-width{max-width:1400px}.container.full-width{max-width:none;padding:0 1rem}.header{background-color:var(--surface-color);border-bottom:1px solid var(--border-color);padding:1rem 0;margin-bottom:2rem}.header h1{color:var(--primary-color);font-size:1.5rem;font-weight:600}.nav{margin-top:1rem}.nav-links{display:flex;gap:1rem;list-style:none;padding:0}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.5rem 1rem;border-radius:var(--border-radius);transition:all .2s}.nav-link:hover,.nav-link.active{color:var(--primary-color);background-color:var(--background-color)}.card{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.5rem;width:100%;box-sizing:border-box}.card-header{display:flex;justify-content:between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.card-title{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.form{display:grid;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:500;color:var(--text-primary)}.form-input,.form-select,.form-textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.875rem;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row-three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s;gap:.5rem}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--secondary-color);color:#fff}.btn-secondary:hover{background-color:#4b5563}.btn-success{background-color:var(--success-color);color:#fff}.btn-success:hover{background-color:#059669}.btn-danger{background-color:var(--error-color);color:#fff}.btn-danger:hover{background-color:#dc2626}.btn-outline{background-color:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.btn-outline:hover{background-color:var(--background-color)}.btn-sm{padding:.5rem 1rem;font-size:.75rem}.btn-lg{padding:1rem 2rem;font-size:1rem}.btn-compact{width:auto!important;min-width:auto!important;max-width:fit-content!important;flex:none!important;display:inline-block!important;flex-grow:0!important;flex-shrink:0!important}.table{width:100%;border-collapse:collapse;background-color:var(--surface-color);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow);table-layout:auto}.table th,.table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color)}.table th{background-color:var(--background-color);font-weight:600;color:var(--text-primary)}.table tr:hover{background-color:var(--background-color)}.table-container{margin:1rem 0;width:100%;max-width:100%}.line-items-table{width:100%;min-width:1200px;border-collapse:collapse;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.875rem}.line-items-table th{background-color:#e6d7f7;color:#4c1d95;padding:.75rem .5rem;text-align:center;font-weight:600;font-size:.75rem;border:1px solid #d8b4fe;white-space:nowrap}.line-items-table td{padding:.5rem;border:1px solid var(--border-color);text-align:center;vertical-align:middle}.line-items-table tr:nth-child(2n){background-color:var(--background-color)}.line-items-table tr:hover{background-color:#f3f4f6}.table-input{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;font-size:.875rem;background-color:var(--surface-color);min-width:160px}.table-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #3b82f61a}.table-input[readonly]{background-color:var(--background-color);color:var(--text-secondary);cursor:not-allowed}.table-input.total-hours,.table-input.total-cost{font-weight:600;background-color:#f8fafc}.line-items-table th:first-child,.line-items-table td:first-child{width:50px;min-width:50px}.line-items-table th:last-child,.line-items-table td:last-child{width:80px;min-width:80px}.line-items-table th:nth-child(2) input,.line-items-table td:nth-child(2) input{min-width:200px}.line-items-table th:nth-child(3) input,.line-items-table td:nth-child(3) input{min-width:180px}.line-items-table th:nth-child(4) input,.line-items-table td:nth-child(4) input,.line-items-table th:nth-child(5) input,.line-items-table td:nth-child(5) input,.line-items-table th:nth-child(6) input,.line-items-table td:nth-child(6) input{min-width:120px}.line-items-table th:nth-child(7) input,.line-items-table td:nth-child(7) input,.line-items-table th:nth-child(8) input,.line-items-table td:nth-child(8) input,.line-items-table th:nth-child(9) input,.line-items-table td:nth-child(9) input{min-width:140px}.line-items-table tbody:empty{position:relative}.line-items-table tbody:empty:after{content:"No items added yet. Click the 'Add' button to get started.";display:block;padding:2rem;text-align:center;color:var(--text-secondary);font-style:italic;background-color:var(--background-color);border:1px solid var(--border-color);border-top:none;position:absolute;top:0;left:0;right:0;width:100%;box-sizing:border-box}.file-upload-section{padding:1rem}.file-list{max-height:300px;overflow-y:auto}.file-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:.5rem;background-color:var(--surface-color)}.file-item:hover{background-color:var(--background-color)}.file-info{display:flex;flex-direction:column;flex:1}.file-name{font-weight:500;color:var(--text-primary)}.file-size{font-size:.75rem;color:var(--text-secondary)}.remove-file{margin-left:1rem}input[type=file]{padding:.75rem;border:2px dashed var(--border-color);border-radius:var(--border-radius);background-color:var(--background-color);cursor:pointer;transition:all .2s}input[type=file]:hover{border-color:var(--primary-color);background-color:#3b82f60d}input[type=file]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}small{display:block;margin-top:.25rem;font-size:.75rem;color:var(--text-secondary)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--text-secondary)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.hidden{display:none}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-card{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);padding:2rem;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:var(--primary-color);font-size:2rem;font-weight:700;margin-bottom:.5rem}.login-header p{color:var(--text-secondary);font-size:.875rem}.password-input-container{position:relative}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:1rem;color:var(--text-secondary);transition:color .2s}.password-toggle:hover{color:var(--primary-color)}.btn-full-width{width:100%;margin-top:1rem}.login-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.text-primary{color:var(--primary-color);text-decoration:none;font-weight:500}.text-primary:hover{text-decoration:underline}.auth-layout{display:flex;flex-direction:column;min-height:100vh;background-color:var(--background-color)}.auth-nav{position:fixed;top:0;left:0;right:0;background-color:var(--surface-color);border-bottom:1px solid var(--border-color);padding:1rem 0;z-index:1000}.auth-nav .container{display:flex;justify-content:space-between;align-items:center;max-width:none;padding:0 2rem}.logo{font-size:1.75rem;font-weight:800;color:var(--primary-color);text-decoration:none;display:flex;align-items:center;gap:.75rem}.logo:hover{text-decoration:none;color:var(--primary-hover)}.auth-nav .logo{font-size:1.75rem;font-weight:800;color:var(--primary-color);text-decoration:none;display:flex;align-items:center;gap:.75rem}.logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.2rem;box-shadow:0 2px 8px #8f34eb4d}.auth-nav .user-menu{display:flex;align-items:center;gap:1rem}.auth-nav .user-info{display:flex;flex-direction:column;align-items:flex-end}.auth-nav .user-name{font-weight:500;color:var(--text-primary)}.auth-nav .user-role{font-size:.75rem;color:var(--text-secondary);text-transform:capitalize}.main-content{flex:1;margin-top:80px;padding:0;width:100%}.main-content .container{width:100%;max-width:none;padding:2rem}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1200px){.main-content .container{padding:1.5rem}.container{padding:0 1.5rem}}@media (max-width: 768px){.form-row,.form-row-three{grid-template-columns:1fr}.nav-links{flex-direction:column;gap:.5rem}.table{font-size:.875rem}.table th,.table td{padding:.5rem}.login-card{padding:1.5rem}.auth-nav .user-info{display:none}.main-content .container{padding:1rem}.container,.auth-nav .container{padding:0 1rem}.card{padding:1rem;margin-bottom:1rem}}@media (max-width: 480px){.main-content .container{padding:.5rem}.container{padding:0 .5rem}.card{padding:.75rem}.line-items-table{font-size:.75rem}.table-input{min-width:100px;font-size:.75rem}}.pdf-viewer{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000e6;z-index:2000;display:flex;flex-direction:column}.pdf-toolbar{background-color:var(--surface-color);border-bottom:1px solid var(--border-color);padding:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.pdf-controls{display:flex;align-items:center;gap:1rem}.pdf-page-info{font-size:.875rem;color:var(--text-secondary);margin:0 .5rem}.pdf-actions{display:flex;align-items:center;gap:.5rem}.pdf-content{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;background-color:#525659;padding:2rem}.pdf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;gap:1rem}.pdf-loading .loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top-color:var(--primary-color)}.pdf-loading p{color:#fff;font-size:1rem}#pdf-canvas{box-shadow:0 4px 20px #0000004d;background-color:#fff;border-radius:4px;max-width:100%;max-height:100%;object-fit:contain}.pdf-viewer{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.pdf-toolbar{flex-direction:column;align-items:stretch;gap:.5rem}.pdf-controls{justify-content:center;flex-wrap:wrap;gap:.5rem}.pdf-actions{justify-content:center}.pdf-content{padding:1rem}.pdf-page-info{order:-1;text-align:center;margin:0}}@media (max-width: 480px){.pdf-toolbar{padding:.75rem}.pdf-content{padding:.5rem}.pdf-controls{gap:.25rem}.pdf-controls .btn{font-size:.75rem;padding:.375rem .75rem}}.auth-layout{display:flex;flex-direction:column;min-height:100vh}.top-nav{background-color:var(--surface-color);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow);position:fixed;top:0;left:0;right:0;z-index:1000;height:64px}.top-nav-content{max-width:none;margin:0;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;height:100%}.top-nav-left{display:flex;align-items:center;gap:1rem}.sidebar-toggle{background:none;border:none;padding:.5rem;color:var(--text-primary);cursor:pointer;border-radius:var(--border-radius);transition:background-color .2s ease;display:flex;align-items:center;justify-content:center}.sidebar-toggle:hover{background-color:var(--background-color)}.sidebar{position:fixed;top:64px;left:0;width:280px;height:calc(100vh - 64px);background-color:var(--surface-color);border-right:1px solid var(--border-color);overflow-y:auto;transform:translate(-100%);transition:transform .3s ease;z-index:999}.sidebar.sidebar-open{transform:translate(0)}.sidebar-content{padding:1rem 0}.sidebar-section{margin-bottom:2rem}.sidebar-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin:0 0 .75rem 1rem}.sidebar-menu{list-style:none;margin:0;padding:0}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-primary);text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s ease}.sidebar-link:hover{background-color:var(--background-color);color:var(--primary-color)}.sidebar-link.active{background-color:var(--primary-color);color:#fff}.sidebar-link.active .sidebar-icon{color:#fff}.sidebar-icon{width:20px;height:20px;color:var(--text-secondary);transition:color .2s ease;flex-shrink:0}.sidebar-link:hover .sidebar-icon{color:var(--primary-color)}.sidebar-overlay{position:fixed;top:64px;left:0;width:100%;height:calc(100vh - 64px);background-color:#00000080;z-index:998;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.sidebar-overlay.sidebar-overlay-active{opacity:1;visibility:visible}.main-content{flex:1;margin-top:64px;margin-left:0;padding:1.5rem;transition:margin-left .3s ease;min-height:calc(100vh - 64px);overflow-x:auto}body.sidebar-open .main-content{margin-left:0}.auth-nav{display:none}@media (min-width: 768px){.sidebar{transform:translate(0)}.main-content{margin-left:280px;padding:1.5rem 2rem 1.5rem 1.5rem}.sidebar-overlay,.sidebar-toggle{display:none}}@media (max-width: 767px){.sidebar-toggle{display:flex}.main-content{margin-left:0;padding:1rem}.top-nav-content{padding:0 .75rem}}.dashboard-container{width:100%;margin:0}.dashboard-header{margin-bottom:2rem}.dashboard-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.dashboard-subtitle{color:var(--text-secondary);font-size:1rem;margin:0}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem}.dashboard-card{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow);transition:all .2s ease;overflow:hidden}.dashboard-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.dashboard-card-link{display:flex;padding:1.5rem;text-decoration:none;color:inherit;height:100%;align-items:center;gap:1rem}.dashboard-card-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:var(--border-radius);flex-shrink:0}.dashboard-card-primary .dashboard-card-icon{background-color:var(--primary-color);color:#fff}.dashboard-card-secondary .dashboard-card-icon{background-color:var(--secondary-color);color:#fff}.dashboard-card-success .dashboard-card-icon{background-color:var(--success-color);color:#fff}.dashboard-card-warning .dashboard-card-icon{background-color:var(--warning-color);color:#fff}.dashboard-card-content{flex:1}.dashboard-card-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.dashboard-card-description{color:var(--text-secondary);font-size:.875rem;margin:0;line-height:1.4}.dashboard-section{margin-bottom:2.5rem}.dashboard-section-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.dashboard-table-card{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow);overflow:hidden}.dashboard-table-card .table{margin:0;box-shadow:none;width:100%}.dashboard-table-card{overflow-x:auto}@media (max-width: 768px){.dashboard-grid{grid-template-columns:1fr;gap:1rem}.dashboard-card-link{padding:1rem}.dashboard-card-icon{width:48px;height:48px}.dashboard-card-icon svg{width:24px;height:24px}.dashboard-title{font-size:1.5rem}}@media (max-width: 480px){.dashboard-card-link{flex-direction:column;text-align:center;gap:.75rem}.dashboard-card-icon{width:56px;height:56px}}.user-dropdown{position:relative}.user-dropdown-toggle{display:flex;align-items:center;gap:.5rem;background:none;border:none;padding:.5rem .75rem;border-radius:var(--border-radius);cursor:pointer;transition:background-color .2s ease;color:var(--text-primary)}.user-dropdown-toggle:hover{background-color:var(--background-color)}.user-dropdown-toggle .user-name{font-weight:600;font-size:.875rem}.dropdown-icon{transition:transform .2s ease;color:var(--text-secondary)}.user-dropdown-toggle:hover .dropdown-icon{transform:rotate(180deg)}.user-dropdown-menu{position:absolute;top:100%;right:0;min-width:200px;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease;z-index:1000;margin-top:.5rem}.user-dropdown-menu.dropdown-open{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-header{padding:1rem;border-bottom:1px solid var(--border-color)}.dropdown-user-name{font-weight:600;color:var(--text-primary);font-size:.875rem}.dropdown-user-role{color:var(--text-secondary);font-size:.75rem;text-transform:capitalize;margin-top:.25rem}.dropdown-divider{margin:0;border:none;border-top:1px solid var(--border-color)}.dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:left;cursor:pointer;transition:background-color .2s ease;color:var(--text-primary);font-size:.875rem}.dropdown-item:hover{background-color:var(--background-color)}.dropdown-item svg{color:var(--text-secondary)}.manage-projects-container{width:100%;margin:0}.page-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.page-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin:0}.page-subtitle{color:var(--text-secondary);font-size:1rem;margin:0}.header-actions{align-self:flex-start}.table-card{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow);overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color);background-color:var(--background-color)}.search-input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.875rem;min-width:250px}.projects-table{width:100%;border-collapse:collapse;background-color:var(--surface-color);margin:0;font-size:.875rem}.projects-table th,.projects-table td{padding:.75rem;text-align:left;border:1px solid #000000;vertical-align:middle}.projects-table th{background-color:var(--background-color);font-weight:600;color:var(--text-primary);border:1px solid #000000}.projects-table tbody tr:hover{background-color:#f3f4f6}.project-row{border:1px solid #000000}.project-code{font-family:Courier New,monospace;font-weight:600;color:var(--primary-color)}.project-name{font-weight:600;color:var(--text-primary)}.address-info{font-size:.875rem;color:var(--text-secondary);line-height:1.3}.company-name{font-size:.875rem;color:var(--text-primary)}.date{font-size:.875rem;color:var(--text-secondary)}.status-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.action-buttons{display:flex;gap:.5rem;align-items:center}.action-buttons .btn{font-size:.75rem;padding:.375rem .75rem}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--text-secondary)}.empty-state h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.empty-state p{margin:0 0 1.5rem;color:var(--text-secondary)}.error-state{text-align:center;padding:3rem 1.5rem}.error-state h3{color:var(--error-color);font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.error-state p{color:var(--text-secondary);margin:0 0 1.5rem}@media (max-width: 768px){.page-header{align-items:stretch}.header-actions{align-self:stretch}.table-header{flex-direction:column;align-items:stretch;gap:1rem}.search-input{min-width:auto;width:100%}.projects-table{font-size:.75rem}.projects-table th,.projects-table td{padding:.5rem .25rem;border:1px solid #000000}.action-buttons{flex-direction:column;gap:.25rem}.action-buttons .btn{font-size:.625rem;padding:.25rem .5rem}}.manage-companies-container{width:100%;margin:0}.company-section{margin-bottom:2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.section-subtitle{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.company-info-card{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:1.5rem}.company-display-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.company-field{display:flex;flex-direction:column;gap:.25rem}.field-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.field-value{font-size:1rem;color:var(--text-primary);line-height:1.4}.tabs-container{margin-top:2rem}.tabs-nav{display:flex;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.tab-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:none;background:none;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease}.tab-button:hover{color:var(--primary-color);background-color:var(--background-color)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-button svg{width:16px;height:16px}.tab-pane{display:none}.tab-pane.active{display:block}.offices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.office-card{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:1.5rem;transition:all .2s ease}.office-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.office-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.office-name{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.badge-primary{background-color:var(--primary-color);color:#fff}.office-details{margin-bottom:1rem}.office-details p{margin:0 0 .5rem;color:var(--text-secondary);font-size:.875rem;line-height:1.4}.office-address{color:var(--text-primary)!important;font-weight:500}.office-actions{display:flex;gap:.5rem}.logo-upload-section{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.current-logo{display:flex;justify-content:center}.logo-preview{width:200px;height:200px;border:2px dashed var(--border-color);border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;background-color:var(--background-color)}.logo-placeholder{text-align:center;color:var(--text-secondary)}.logo-placeholder svg{margin-bottom:.5rem;opacity:.5}.logo-placeholder p{margin:0;font-size:.875rem}.logo-upload{display:flex;flex-direction:column;gap:1rem}.logo-upload .btn{align-self:flex-start}.terms-section{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:1.5rem}.terms-display{min-height:200px;padding:1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--background-color)}.terms-content{line-height:1.6;color:var(--text-primary)}.terms-edit textarea{min-height:200px;resize:vertical}.rates-container{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow);padding:1.5rem}.rates-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.rate-category h4{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.rates-list{display:flex;flex-direction:column;gap:.75rem}.rate-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background-color:var(--background-color);border-radius:var(--border-radius);border:1px solid var(--border-color)}.rate-name{font-weight:500;color:var(--text-primary)}.rate-value{font-weight:600;color:var(--primary-color)}.form-actions{display:flex;gap:1rem;justify-content:flex-start;margin-top:1.5rem}@media (max-width: 768px){.company-display-grid{grid-template-columns:1fr;gap:1rem}.section-header{flex-direction:column;align-items:stretch;gap:1rem}.tabs-nav{flex-wrap:wrap}.tab-button{flex:1;min-width:fit-content}.offices-grid{grid-template-columns:1fr}.logo-upload-section{grid-template-columns:1fr;gap:1rem}.rates-sections{grid-template-columns:1fr;gap:1.5rem}.rate-item{flex-direction:column;align-items:stretch;gap:.5rem}.form-actions{flex-direction:column}}@media (max-width: 480px){.company-info-card,.rates-container,.terms-section{padding:1rem}.tab-button{padding:.5rem .75rem;font-size:.75rem}.tab-button svg{width:14px;height:14px}}.manage-users-container{width:100%;margin:0}.users-table-card{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow);overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color);background-color:var(--background-color);flex-wrap:wrap;gap:1rem}.table-header h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.table-filters{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.search-input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.875rem;min-width:200px}.filter-select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:.875rem;min-width:120px;background-color:var(--surface-color)}.search-input:focus,.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.table-wrapper{overflow-x:auto}.users-table{width:100%;border-collapse:collapse;background-color:var(--surface-color);margin:0;font-size:.875rem}.users-table th,.users-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color);vertical-align:middle}.users-table th{background-color:var(--background-color);font-weight:600;color:var(--text-primary);position:sticky;top:0;z-index:10}.users-table tbody tr:hover{background-color:var(--background-color)}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-initials{color:#fff;font-weight:600;font-size:.875rem}.user-details{display:flex;flex-direction:column;min-width:0}.user-name{font-weight:600;color:var(--text-primary)}.user-email,.user-phone{color:var(--text-secondary);font-size:.875rem}.role-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.role-admin{background-color:#dc2626;color:#fff}.role-manager{background-color:var(--primary-color);color:#fff}.role-field_user{background-color:var(--success-color);color:#fff}.role-viewer{background-color:var(--secondary-color);color:#fff}.status-active{background-color:var(--success-color);color:#fff}.status-inactive{background-color:var(--secondary-color);color:#fff}.date{color:var(--text-secondary);font-size:.875rem}.modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal.hidden{display:none}.modal-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background-color:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);position:relative;z-index:1001;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-sm{max-width:400px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.modal-close{background:none;border:none;padding:.5rem;color:var(--text-secondary);cursor:pointer;border-radius:var(--border-radius);transition:all .2s ease}.modal-close:hover{color:var(--text-primary);background-color:var(--background-color)}.modal-body{padding:1.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.delete-confirmation{text-align:center;padding:1rem 0}.delete-icon{margin:0 auto 1rem;width:48px;height:48px;color:var(--error-color);opacity:.8}.delete-confirmation p{margin:.5rem 0;color:var(--text-primary)}.delete-confirmation .text-muted{color:var(--text-secondary);font-size:.875rem}.empty-state,.error-state{text-align:center;padding:3rem 1.5rem;color:var(--text-secondary)}.empty-state-icon{margin:0 auto 1rem;width:64px;height:64px;color:var(--text-secondary);opacity:.5}.empty-state h3,.error-state h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.empty-state p,.error-state p{margin:0 0 1.5rem;color:var(--text-secondary)}.error-state h3{color:var(--error-color)}@media (max-width: 768px){.table-header{flex-direction:column;align-items:stretch;gap:1rem}.table-filters{flex-direction:column;align-items:stretch}.search-input,.filter-select{min-width:auto;width:100%}.users-table{font-size:.75rem}.users-table th,.users-table td{padding:.5rem .25rem}.user-avatar{width:32px;height:32px}.avatar-initials{font-size:.75rem}.action-buttons{flex-direction:column;gap:.25rem}.action-buttons .btn{font-size:.625rem;padding:.25rem .5rem}.modal-content{margin:.5rem;max-width:none}.modal-header,.modal-body{padding:1rem}.modal-actions{flex-direction:column-reverse}}@media (max-width: 480px){.users-table{font-size:.625rem}.users-table th,.users-table td{padding:.375rem .125rem}.user-info{gap:.5rem}.user-avatar{width:28px;height:28px}.role-badge,.status-badge{font-size:.625rem;padding:.125rem .5rem}}.tm-tag-log-container{padding:1.5rem;max-width:100%;margin:0;background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:calc(100vh - 120px)}.tm-tag-log-container .page-header{margin-bottom:2rem}.tm-tag-log-container .header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.tm-tag-log-container .page-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin:0;background:linear-gradient(135deg,#1e40af,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tm-tag-log-container .header-actions{display:flex;gap:1rem;align-items:center}.summary-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:2rem;overflow:hidden;border:1px solid #e2e8f0}.summary-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);cursor:pointer;transition:all .3s ease}.summary-header:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}.summary-title{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.summary-icon{color:var(--primary-color)}.summary-collapse-btn{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .3s ease}.summary-collapse-btn:hover{background:#3b82f61a}.collapse-icon{transition:transform .3s ease;color:var(--text-secondary)}.summary-content{padding:2rem;transition:all .3s ease;max-height:500px;overflow:hidden}.summary-content.collapsed{max-height:0;padding:0 2rem}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:12px;border:1px solid #e2e8f0;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-total{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.stat-icon-pending{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.stat-icon-approved{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.stat-icon-amount{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.stat-info{flex:1}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:.25rem}.stat-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.content-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden;border:1px solid #e2e8f0}.tabs-container{width:100%}.tabs-header{display:flex;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #e2e8f0}.tab-btn{flex:1;padding:1.25rem 2rem;background:none;border:none;cursor:pointer;font-weight:600;color:var(--text-secondary);transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative}.tab-btn:hover{background:#3b82f60d;color:var(--primary-color)}.tab-btn.active{color:var(--primary-color);background:#fff;border-bottom:3px solid var(--primary-color)}.tab-count{background:var(--primary-color);color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;min-width:20px;text-align:center}.filter-bar{padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.search-box{position:relative;flex:1;max-width:400px}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .3s ease}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.filter-controls{display:flex;gap:1rem;align-items:center}.filter-select{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;min-width:150px;transition:all .3s ease}.filter-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.tab-content{min-height:400px}.tab-panel{display:none;padding:2rem}.tab-panel.active{display:block}.tags-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.tag-card{background:linear-gradient(135deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.tag-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),#3b82f6);transform:scaleX(0);transition:transform .3s ease}.tag-card:hover{transform:translateY(-4px);box-shadow:0 12px 35px #0000001a;border-color:var(--primary-color)}.tag-card:hover:before{transform:scaleX(1)}.tag-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tag-number{font-weight:700;color:var(--text-primary);font-size:1rem}.tag-body{margin-bottom:1rem}.tag-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;line-height:1.4}.tag-description{color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin:0 0 1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tag-meta{display:flex;gap:1rem;margin-bottom:1rem}.meta-item{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-secondary)}.tag-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e2e8f0}.submitter-info{font-size:.75rem;color:var(--text-secondary);font-weight:500}.tag-actions{display:flex;gap:.5rem}.overview-content{overflow-x:auto}.overview-table-container{min-width:100%}.overview-table{width:100%;border-collapse:collapse;font-size:.875rem}.overview-table th{background:linear-gradient(135deg,#f8fafc,#e2e8f0);padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid #e2e8f0;white-space:nowrap}.overview-table td{padding:1rem;border-bottom:1px solid #e2e8f0;vertical-align:middle}.overview-table tr:hover{background:#f8fafc}.overview-table .tag-number{font-weight:600;color:var(--primary-color)}.overview-table .tag-title{font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-table .amount{font-weight:600;color:var(--text-primary)}.action-buttons{display:flex;gap:.5rem}.status-badge{padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.status-draft{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151}.status-submitted{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.status-reviewed_gc,.status-reviewed_owner{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.status-approved_gc,.status-approved_owner{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.status-rejected_gc,.status-rejected_owner{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.status-paid{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#3730a3}.status-archived{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#6b7280}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:#fff;border-radius:16px;margin:2rem 0}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner p{color:var(--text-secondary);font-weight:500;margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:#fff;border-radius:16px;margin:2rem 0}.empty-icon{width:80px;height:80px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.empty-icon svg{color:var(--text-secondary)}.empty-state h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.empty-state p{color:var(--text-secondary);margin:0 0 1.5rem}@media (max-width: 1024px){.tm-tag-log-container{padding:1rem}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{padding:1rem}.stat-value{font-size:1.5rem}.tags-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}}@media (max-width: 768px){.tm-tag-log-container{padding:.75rem}.tm-tag-log-container .page-title{font-size:2rem}.tm-tag-log-container .header-content{flex-direction:column;align-items:stretch}.tm-tag-log-container .header-actions{justify-content:center}.summary-header{padding:1rem 1.5rem}.summary-content{padding:1.5rem}.summary-stats{grid-template-columns:1fr;gap:1rem}.tabs-header{flex-direction:column}.tab-btn{padding:1rem;justify-content:flex-start}.filter-bar{flex-direction:column;align-items:stretch;gap:1rem}.filter-controls{flex-direction:column}.filter-select{width:100%}.tags-grid{grid-template-columns:1fr}.tab-panel{padding:1rem}.overview-table-container{overflow-x:auto}.overview-table{min-width:700px}}@media (max-width: 480px){.tm-tag-log-container .page-title{font-size:1.75rem}.summary-header,.summary-content{padding:1rem}.stat-card{flex-direction:column;text-align:center;gap:.75rem}.stat-icon{width:40px;height:40px}.tag-card{padding:1rem}.tag-meta{flex-direction:column;gap:.5rem}.tag-footer{flex-direction:column;gap:.75rem;align-items:stretch}.overview-table{font-size:.75rem}.overview-table th,.overview-table td{padding:.75rem .5rem}}
