*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{background:linear-gradient(135deg,#1e3a5f,#2c5282);min-height:100vh;padding:2rem}.login-background,.login-container{align-items:center;display:flex;justify-content:center}.login-background{max-width:1200px;width:100%}.login-content{display:flex;flex-direction:column;gap:2rem;max-width:450px;width:100%}.logo-section{color:#fff;text-align:center}.logo{font-size:2.5rem;text-shadow:0 2px 4px #0003}.logo,.tagline{margin-bottom:.5rem}.tagline{font-size:1.2rem;font-weight:500;opacity:.95}.subtitle{font-size:.9rem;font-weight:300;opacity:.85}.login-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;padding:2.5rem;width:100%}.login-header{margin-bottom:2rem;text-align:center}.login-header h2{color:#2d3748;font-size:1.75rem;font-weight:600;margin-bottom:.5rem}.login-header p{color:#718096;font-size:.95rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group input{background-color:#fff;border:1px solid #cbd5e0;border-radius:6px;font-family:inherit;font-size:1rem;padding:.875rem;transition:all .2s}.form-group input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.form-group input::placeholder{color:#a0aec0}.btn-primary{font-weight:600;margin-top:.5rem;padding:.875rem 1.5rem}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #3182ce66}.btn-primary:active:not(:disabled){transform:translateY(0)}.login-footer{margin-top:1.5rem;text-align:center}.toggle-mode{background:none;border:none;color:#3182ce;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;padding:.5rem;transition:color .2s}.toggle-mode:hover{color:#2c5282;text-decoration:underline}.footer-info{color:#fff;font-size:.85rem;opacity:.9;text-align:center}.footer-info p{margin:.25rem 0}@media (max-width:768px){.login-container{padding:1rem}.login-card{padding:2rem 1.5rem}.logo{font-size:2rem}.tagline{font-size:1rem}}.dashboard-container{min-height:100vh}.dashboard-main{margin:0 auto;max-width:1200px;padding:3rem 2rem}.welcome-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:2.5rem}.welcome-section h2{color:#2d3748;font-size:2rem;font-weight:600;margin-bottom:.5rem}.welcome-section p{color:#718096;font-size:1rem;margin-bottom:.5rem}.user-name{color:#3182ce;font-size:1.1rem;font-weight:500;margin-top:.5rem}.info-card{margin-top:0}.info-card h3{color:#2d3748;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.info-row{border-bottom:1px solid #e2e8f0;display:flex;padding:1.25rem 1rem}.info-row:last-child{border-bottom:none}.info-label{color:#4a5568;min-width:120px}.info-value{word-break:break-all}@media (max-width:768px){.dashboard-main{padding:2rem 1rem}.info-card,.welcome-section{padding:1.5rem}}.quick-actions{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.action-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 1px 3px #0000001a;color:inherit;display:flex;flex-direction:column;padding:2.5rem;text-decoration:none;transition:all .2s}.action-card:hover{border-color:#3182ce;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.action-card h3{color:#2d3748;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.action-card p{color:#718096;flex:1 1;margin-bottom:1rem}.action-arrow{color:#3182ce;font-size:1.5rem;font-weight:600}.clients-page{background-color:#f5f5f5;min-height:100vh;padding:2rem}.clients-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto 2rem;max-width:1400px}.clients-header h1{color:#2d3748;font-size:2rem;font-weight:600;margin:0}.header-actions-group{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.export-buttons{display:flex;gap:.5rem}.btn-export,.btn-import{background:#fff;border:1.5px solid #3182ce;border-radius:6px;color:#3182ce;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;padding:.65rem 1.25rem;transition:all .2s;white-space:nowrap}.btn-export:hover,.btn-import:hover:not(:disabled){background:#3182ce;box-shadow:0 2px 8px #3182ce4d;color:#fff;transform:translateY(-1px)}.btn-export:active,.btn-import:active:not(:disabled){transform:translateY(0)}.btn-import:disabled{cursor:not-allowed;opacity:.6}.import-status{animation:slideDown .3s ease;border-radius:8px;font-weight:500;margin:0 auto 1rem;max-width:1400px;padding:1rem 1.5rem}.import-status.success{background-color:#c6f6d5;border:1px solid #9ae6b4;color:#22543d}.import-status.error{background-color:#fed7d7;border:1px solid #fc8181;color:#c53030}.import-status.warning{background-color:#feebc8;border:1px solid #fbd38d;color:#7c2d12}.filter-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:0 auto 2rem;max-width:1400px;overflow:hidden}.filter-header{align-items:center;background-color:#f7fafc;border-bottom:1px solid #e2e8f0;display:flex;gap:1rem;padding:1rem 1.5rem}.filter-toggle{background:none;border:none;color:#2d3748;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;padding:.5rem}.filter-toggle:hover{color:#3182ce}.btn-clear-filters{background-color:#fed7d7;border-radius:4px;color:#c53030;font-weight:500;padding:.4rem .8rem}.btn-clear-filters:hover{background-color:#fc8181;color:#fff}.result-count{color:#718096;font-size:.9rem;margin-left:auto}.filter-panel{padding:1.5rem}.filter-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1rem}.filter-group label{font-size:.85rem;margin-bottom:.5rem}.filter-input{border:1px solid #cbd5e0;border-radius:4px;font-family:inherit;font-size:.9rem;padding:.6rem;transition:border-color .2s}.filter-input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin:0 auto;max-width:1400px;overflow-x:auto}.clients-table{border-collapse:collapse;width:100%}.clients-table thead{background-color:#f7fafc}.clients-table th{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.clients-table td{border-bottom:1px solid #e2e8f0;color:#4a5568;font-size:.9rem;padding:1rem}.clients-table tbody tr:hover{background-color:#f7fafc;cursor:pointer}.no-results{color:#718096;font-style:italic;padding:3rem;text-align:center}.actions{display:flex;gap:.5rem;white-space:nowrap}.btn-delete,.btn-edit,.btn-view{border:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:all .2s}.btn-view{background-color:#3182ce;color:#fff}.btn-view:hover{background-color:#2c5282}.btn-edit{background-color:#48bb78}.btn-edit:hover{background-color:#38a169}.modal-content{max-width:700px}.client-form{padding:1.5rem}.form-row{margin-bottom:1rem}@media (max-width:768px){.clients-page{padding:1rem}.clients-header{align-items:stretch;flex-direction:column;gap:1rem}.filter-row{grid-template-columns:1fr}.clients-table{font-size:.85rem}.clients-table td,.clients-table th{padding:.75rem .5rem}.actions{flex-direction:column}}.contacts-tab{padding:0}.contacts-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.contact-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;transition:all .2s}.contact-card:hover{box-shadow:0 2px 8px #0000001a}.contact-card.main-contact{background:#f0f7ff;border:2px solid #3182ce}.contact-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.contact-info{flex:1 1}.contact-info h3{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.main-contact-badge{background:linear-gradient(135deg,#3182ce,#2c5282);border-radius:12px;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;margin-left:.5rem;padding:.25rem .75rem}.contact-actions{display:flex;gap:.5rem}.btn-delete,.btn-edit{font-weight:500}.btn-edit{background:#3182ce}.btn-edit:hover{background:#2c5282}.contact-details{display:flex;flex-direction:column;gap:.75rem}.detail-item{display:flex;gap:.5rem}.detail-label{color:#4a5568;min-width:100px}.contact-form{padding:1.5rem}.site-addresses-tab{padding:0}.addresses-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.address-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;transition:all .2s}.address-card:hover{box-shadow:0 2px 8px #0000001a}.address-card.primary-address{background:#f0f7ff;border:2px solid #3182ce}.address-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.address-info{flex:1 1}.address-info h3{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.primary-badge{background:linear-gradient(135deg,#3182ce,#2c5282);color:#fff;font-size:.75rem;font-weight:600;margin-left:.5rem}.address-actions{display:flex;gap:.5rem}.address-details{display:flex;flex-direction:column;gap:.75rem}.address-text{color:#2d3748;font-family:inherit;font-size:.9rem;line-height:1.6;margin:0;white-space:pre-wrap}.address-notes{border-top:1px solid #e2e8f0;display:flex;gap:.5rem;padding-top:.75rem}.notes-label{color:#4a5568;font-weight:500;min-width:60px}.notes-value{color:#2d3748;flex:1 1}.section-header{margin-bottom:2rem}.section-header h2{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0}.empty-state{padding:3rem 1rem}.address-form{padding:1.5rem}.form-row{grid-template-columns:repeat(3,1fr)}.contact-info-tab{padding:1rem 0}.btn-edit{background:linear-gradient(135deg,#3182ce,#2c5282);font-size:.9rem;font-weight:500;transition:all .2s}.btn-edit:hover{box-shadow:0 4px 12px #3182ce4d;transform:translateY(-1px)}.generate-invoice-tab{padding:1rem 0}.tab-header{flex-wrap:wrap;gap:1rem}.tab-header h2{margin:0}.header-actions{margin-left:auto}.auto-save-status{background:#f7fafc;border-radius:4px;color:#718096;font-size:.85rem;font-style:italic;padding:.25rem .75rem;transition:all .3s}.auto-save-status.saved{background:#c6f6d5;color:#22543d;font-weight:500}.invoice-form{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.invoice-items-section{margin:2rem 0}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-header h3{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0}.btn-add-item{background:linear-gradient(135deg,#3182ce,#2c5282);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.btn-add-item:hover{box-shadow:0 4px 12px #3182ce4d;transform:translateY(-1px)}.items-table{overflow-x:auto}.items-table table{border-collapse:collapse;width:100%}.items-table th{background-color:#f7fafc;border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:.75rem;text-align:left;text-transform:uppercase}.items-table td{border-bottom:1px solid #e2e8f0;padding:.75rem}.items-table input{background-color:#fff;border:1px solid #cbd5e0;border-radius:4px;cursor:text;font-family:inherit;font-size:.9rem;padding:.5rem;width:100%}.items-table input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.items-table input:disabled{background-color:#f7fafc;cursor:not-allowed;opacity:.6}.total-cell{color:#2d3748;font-weight:600}.btn-remove-item{background-color:#e53e3e;border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;padding:.25rem .75rem}.btn-remove-item:hover{background-color:#c53030}.invoice-totals{background-color:#f7fafc;border-radius:8px;margin:2rem 0;padding:1.5rem}.totals-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.totals-row.total-row{border-top:2px solid #e2e8f0;font-size:1.25rem;font-weight:600;margin-top:1rem;padding-top:1rem}.tax-input-group{align-items:center;display:flex;gap:.5rem}.tax-input-group label{color:#4a5568;font-size:.9rem}.tax-input{border:1px solid #cbd5e0;border-radius:4px;font-family:inherit;font-size:.9rem;padding:.5rem;width:100px}.tax-input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.totals-label{color:#4a5568;font-size:1rem}.totals-value{color:#2d3748;font-size:1rem;font-weight:600}.invoice-number-input{background-color:#f7fafc;cursor:not-allowed}.invoice-number-input:disabled{opacity:.7}.loading-text{color:#718096;display:block;font-size:.75rem;font-style:italic;margin-top:.25rem}.form-actions{align-items:center;justify-content:space-between}.action-buttons-left{display:flex;gap:1rem}.type-select{background:#fff;border:1px solid #cbd5e0;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.9rem;padding:.5rem 1rem}.type-select:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.taxable-cell{text-align:center}.taxable-cell input[type=checkbox]{cursor:pointer;height:20px;width:20px}.invoice-history-tab{padding:1rem 0}.btn-action:disabled{cursor:not-allowed;opacity:.5}.btn-finalize{background-color:#48bb78;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;padding:.5rem 1rem}.btn-finalize:hover{background-color:#38a169}.btn-edit{background-color:#805ad5;border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.85rem;padding:.5rem 1rem}.btn-edit:hover{background-color:#6b46c1}.btn-finalize-draft{background-color:#ed8936;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;padding:.5rem 1rem}.btn-finalize-draft:hover{background-color:#dd6b20}.edit-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.edit-modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:900px;overflow-y:auto;width:100%}.edit-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.edit-modal-header>div{display:flex;flex-direction:column;gap:.5rem}.edit-modal-header h2{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0}.edit-modal-header .auto-save-status{background:#f7fafc;border-radius:4px;color:#718096;font-size:.85rem;font-style:italic;padding:.25rem .75rem;transition:all .3s}.edit-modal-header .auto-save-status.saved{background:#c6f6d5;color:#22543d;font-weight:500}.edit-invoice-form{padding:2rem}.edit-invoice-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.edit-invoice-form .form-group{display:flex;flex-direction:column}.edit-invoice-form .form-group.full-width{grid-column:1/-1}.edit-invoice-form label{color:#2d3748;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.edit-invoice-form input[type=date],.edit-invoice-form input[type=number],.edit-invoice-form input[type=text],.edit-invoice-form textarea{border:1px solid #cbd5e0;border-radius:6px;font-family:inherit;font-size:.9rem;padding:.75rem;transition:border-color .2s}.edit-invoice-form input:focus,.edit-invoice-form textarea:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.edit-invoice-form .invoice-items-section{margin:2rem 0}.edit-invoice-form .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.edit-invoice-form .section-header h3{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0}.edit-invoice-form .items-table{overflow-x:auto}.edit-invoice-form .items-table table{border-collapse:collapse;width:100%}.edit-invoice-form .items-table th{background-color:#f7fafc;border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:.75rem;text-align:left;text-transform:uppercase}.edit-invoice-form .items-table td{border-bottom:1px solid #e2e8f0;padding:.5rem}.edit-invoice-form .items-table input{border:1px solid #cbd5e0;border-radius:4px;font-size:.9rem;padding:.5rem;width:100%}.edit-invoice-form .items-table input:focus{border-color:#3182ce;outline:none}.edit-invoice-form .taxable-cell{text-align:center}.edit-invoice-form .total-cell{color:#2d3748;font-weight:600}.edit-invoice-form .invoice-totals{align-items:flex-end;border-top:2px solid #e2e8f0;display:flex;flex-direction:column;gap:.5rem;margin-top:2rem;padding-top:1.5rem}.edit-invoice-form .totals-row{color:#4a5568;display:flex;font-size:.9rem;justify-content:space-between;width:300px}.edit-invoice-form .totals-row.total-row{border-top:1px solid #e2e8f0;color:#2d3748;font-size:1.1rem;font-weight:600;margin-top:.5rem;padding-top:.5rem}.edit-invoice-form .tax-input-group{align-items:center;display:flex;gap:.5rem}.edit-invoice-form .tax-input{width:80px}.edit-invoice-form .form-actions{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.edit-invoice-form .btn-primary{background:linear-gradient(135deg,#3182ce,#2c5282);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;padding:.75rem 2rem;transition:all .2s}.edit-invoice-form .btn-primary:hover{box-shadow:0 4px 12px #3182ce4d;transform:translateY(-1px)}.edit-invoice-form .btn-secondary{background:#e2e8f0;border:none;border-radius:6px;color:#2d3748;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;padding:.75rem 2rem;transition:all .2s}.edit-invoice-form .btn-secondary:hover{background:#cbd5e0}.edit-invoice-form .btn-add-item{background:linear-gradient(135deg,#3182ce,#2c5282);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.edit-invoice-form .btn-add-item:hover{box-shadow:0 4px 12px #3182ce4d;transform:translateY(-1px)}.checkbox-label{font-weight:400}.checkbox-label input[type=checkbox]{height:1.25rem;width:1.25rem}.checkbox-label span{color:#4a5568;font-size:.9rem;line-height:1.5}.edit-invoice-form .btn-remove-item{background-color:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;padding:.5rem 1rem;transition:all .2s}.edit-invoice-form .btn-remove-item:hover{background-color:#c53030}.quote-badge{background-color:#bee3f8;color:#2c5282;margin-left:.5rem}.btn-delete-invoice{background-color:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;padding:.5rem 1rem}.btn-delete-invoice:hover{background-color:#c53030}@media (max-width:768px){.invoice-header{flex-direction:column;gap:1rem}.invoice-actions{align-items:flex-start}.action-buttons{flex-direction:column;width:100%}.action-buttons button{width:100%}}.payment-info-tab{padding:1rem 0}.tab-header{border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.header-actions,.tab-header{align-items:center}.btn-add-payment{background:linear-gradient(135deg,#3182ce,#2c5282);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-add-payment:hover{box-shadow:0 4px 12px #3182ce4d;transform:translateY(-1px)}.empty-state,.loading-state{padding:3rem}.payment-info-list{display:flex;flex-direction:column;gap:1.5rem}.payment-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.payment-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.payment-header h3{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0}.primary-badge{background-color:#c6f6d5;border-radius:12px;color:#22543d;display:inline-block;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.payment-details{display:flex;flex-direction:column;gap:1rem}.detail-row{align-items:center;border-bottom:1px solid #f7fafc;display:flex;justify-content:space-between;padding:.75rem 0}.detail-row:last-child{border-bottom:none}.detail-label{color:#718096;font-size:.9rem;font-weight:500;min-width:150px}.detail-value{color:#2d3748;font-size:.95rem;font-weight:400;text-align:right;word-break:break-word}.btn-mask{background:linear-gradient(135deg,#3182ce,#2c5282);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-mask:hover{box-shadow:0 4px 12px #3182ce4d;transform:translateY(-1px)}.btn-mask.masked{background:linear-gradient(135deg,#48bb78,#38a169)}.info-note{background-color:#ebf8ff;border:1px solid #90cdf4;border-radius:8px;color:#2c5282;font-size:.9rem;line-height:1.6;margin-top:2rem;padding:1rem}.payment-form{padding:1.5rem}.checkbox-group{margin-top:.5rem}@media (max-width:768px){.detail-row{align-items:flex-start;flex-direction:column;gap:.5rem}.detail-value{text-align:left}.tab-header{align-items:stretch;flex-direction:column;gap:1rem}.header-actions{flex-direction:column;gap:.5rem;width:100%}.form-row{grid-template-columns:1fr}.modal-overlay{padding:1rem}}.notes-tab{padding:1.5rem}.notes-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.notes-header h2{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0}.btn-add-note{background:linear-gradient(135deg,#3182ce,#2c5282);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-add-note:hover{box-shadow:0 4px 12px #3182ce4d;transform:translateY(-1px)}.notes-list{display:flex;flex-direction:column;gap:1rem}.note-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:all .2s}.note-card:hover{box-shadow:0 4px 12px #0000001a}.note-card.important{background:#fffbeb;border-left:4px solid #f59e0b}.note-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.note-meta{display:flex;flex-direction:column;gap:.5rem}.note-date{color:#718096;font-size:.85rem}.important-badge{background-color:#f59e0b;border-radius:12px;color:#fff;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.note-actions{display:flex;gap:.5rem}.btn-importance{background:none;border:none;cursor:pointer;font-size:1.25rem;opacity:.5;padding:.25rem;transition:all .2s}.btn-importance:hover{opacity:1;transform:scale(1.1)}.btn-importance.active{filter:drop-shadow(0 0 4px rgba(245,158,11,.5));opacity:1}.btn-delete,.btn-edit{background:none;border:1px solid #cbd5e0;border-radius:4px;color:#4a5568;font-size:.9rem;transition:all .2s}.btn-edit:hover{background-color:#edf2f7;border-color:#3182ce;color:#3182ce}.btn-delete:hover{background-color:#fed7d7;border-color:#e53e3e;color:#e53e3e}.note-content{color:#2d3748;line-height:1.6;white-space:pre-wrap}.note-content p{margin:.5rem 0}.note-form{padding:1.5rem}.note-textarea{border:1px solid #cbd5e0;border-radius:4px;font-family:inherit;font-size:.9rem;min-height:150px;padding:.75rem;resize:vertical;width:100%}.note-textarea:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.modal-content{max-width:600px}.btn-close{font-size:1.5rem}.form-actions{margin-top:1.5rem}.schedule-task-tab{padding:1.5rem}.tab-description{color:#718096;font-size:.95rem;margin:0}.task-form{max-width:800px}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem}.form-group textarea{min-height:100px}.checkbox-label input[type=checkbox]{width:auto}.form-hint{color:#718096;display:block;font-size:.85rem;font-style:italic;margin-top:.5rem}.contact-info-display{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.contact-info-display input{width:100%}.address-display{background:#f7fafc;border:1px solid #cbd5e0;border-radius:4px;padding:.75rem}.address-display pre{color:#2d3748;font-family:inherit;font-size:.9rem;line-height:1.5;margin:0;white-space:pre-wrap}.no-address-message{background:#fffbf0;border:1px solid #fbd38d;border-radius:4px;padding:.75rem}.no-address-message p{color:#744210;font-size:.9rem;margin:0}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.order-form-tab{padding:1rem 0}.tab-header{margin-bottom:2rem}.tab-header h2{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.tab-subtitle{color:#718096;font-size:.9rem;margin:0}.error-message,.success-message{margin-bottom:1.5rem;padding:1rem}.error-message{color:#742a2a}.order-form{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.mfi-form{max-width:900px}.company-header{border-bottom:2px solid #e2e8f0;margin-bottom:2rem;padding-bottom:1.5rem}.company-info{text-align:center}.company-info h3{color:#2d3748;font-size:1.5rem;font-weight:700;letter-spacing:.5px;margin:0 0 .5rem}.company-info p{color:#4a5568;font-size:.95rem;margin:.25rem 0}.order-info-section{margin-bottom:2rem}.order-info-section .form-row{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.order-number-group{align-items:center;display:flex;justify-content:flex-end}.order-number-display{background:#f7fafc;border:2px solid #cbd5e0;border-radius:6px;color:#2d3748;font-size:1.5rem;font-weight:700;padding:.5rem 1rem}.sales-associate-info{display:flex;justify-content:flex-end}.sales-associate-box{background:#f7fafc;border:1px solid #cbd5e0;border-radius:6px;min-width:200px;padding:.75rem 1rem;text-align:center}.sales-associate-box>div{color:#4a5568;font-size:.9rem;margin:.25rem 0}.order-date-label{color:#718096;font-size:.75rem;font-style:italic;margin-top:.5rem}.mfi-section{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.mfi-section h3{border-bottom:1px solid #cbd5e0;color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.75rem}.mfi-line-item,.mfi-line-items{display:flex;flex-direction:column;gap:1rem}.comments-section{margin-bottom:2rem}.form-group.full-width{width:100%}.form-group input,.form-group select,.form-group textarea{background:#fff;border-radius:6px}.readonly-display{align-items:center;background-color:#f7fafc;border:1px solid #cbd5e0;border-radius:6px;color:#2d3748;display:flex;font-size:.9rem;min-height:1.5rem;padding:.75rem}.btn-primary{padding:.75rem 2rem}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #3182ce4d;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5}.unpaid-invoices-banner{animation:slideDown .3s ease-out;background:linear-gradient(135deg,#e53e3e,#c53030);border-radius:8px;box-shadow:0 4px 12px #e53e3e4d;color:#fff;margin-bottom:2rem;padding:1rem 2rem}@media (max-width:768px){.unpaid-invoices-banner{padding:1rem}.banner-content{align-items:flex-start;flex-direction:column;gap:.75rem}.banner-link{text-align:center;width:100%}}.open-quotes-banner{animation:slideDown .3s ease-out;background:linear-gradient(135deg,#f6ad55,#ed8936);border-radius:8px;box-shadow:0 4px 12px #f6ad554d;color:#fff;margin-bottom:2rem;padding:1rem 2rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.banner-content{align-items:center;display:flex;gap:1rem;margin:0 auto;max-width:1200px}.banner-icon{flex-shrink:0;font-size:1.5rem}.banner-text{flex:1 1;font-size:1rem;font-weight:500}.banner-link{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;padding:.5rem 1.5rem;transition:all .2s;white-space:nowrap}.banner-link:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px)}@media (max-width:768px){.open-quotes-banner{padding:1rem}.banner-content{align-items:flex-start;flex-direction:column;gap:.75rem}.banner-link{text-align:center;width:100%}}.important-notes-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.important-notes-popup{animation:slideUp .3s ease-out;background:#fff;border:2px solid #f59e0b;border-radius:12px;box-shadow:0 20px 25px -5px #0000004d;display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.popup-header{align-items:flex-start;background:linear-gradient(135deg,#fffbeb,#fef3c7);border-bottom:2px solid #f59e0b;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:1.5rem}.popup-title-section h2{color:#92400e;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.popup-subtitle{color:#78350f;font-size:.9rem;font-weight:500;margin:0}.btn-close-popup{align-items:center;background:none;border:none;border-radius:50%;color:#92400e;cursor:pointer;display:flex;font-size:2rem;height:36px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:36px}.btn-close-popup:hover{background-color:#92400e1a;transform:rotate(90deg)}.popup-content{flex:1 1;overflow-y:auto;padding:1.5rem}.important-notes-list{display:flex;flex-direction:column;gap:1.5rem}.important-note-item{background:#fffbeb;border-left:4px solid #f59e0b;border-radius:6px;padding:1rem}.note-date{color:#92400e;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.note-text{color:#78350f;line-height:1.6;white-space:pre-wrap}.note-text p{margin:.5rem 0}.popup-footer{background:#f9fafb;border-radius:0 0 12px 12px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;padding:1rem 1.5rem}.btn-acknowledge{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:6px;box-shadow:0 2px 4px #f59e0b4d;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;padding:.75rem 2rem;transition:all .2s}.btn-acknowledge:hover{box-shadow:0 4px 12px #f59e0b66;transform:translateY(-1px)}.btn-acknowledge:active{transform:translateY(0)}.client-profile{background-color:#f5f5f5;min-height:100vh;padding:2rem}.profile-header{align-items:center;display:flex;justify-content:space-between;margin:0 auto 2rem;max-width:1200px}.btn-back{background:none;border:none;color:#3182ce;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;padding:.5rem 1rem}.btn-back:hover{text-decoration:underline}.header-actions{gap:1rem}.btn-delete-profile,.btn-edit-profile{border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-edit-profile{background:linear-gradient(135deg,#3182ce,#2c5282);color:#fff}.btn-edit-profile:hover{box-shadow:0 4px 12px #3182ce4d;transform:translateY(-1px)}.btn-delete-profile{background-color:#e53e3e;color:#fff}.btn-delete-profile:hover{background-color:#c53030}.profile-content{margin:0 auto;max-width:1200px}.client-name-header{margin-bottom:2rem}.client-name-header h1{color:#2d3748;font-size:2rem;font-weight:600;margin:0}.tabs-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.tabs-nav{background-color:#f7fafc;border-bottom:2px solid #e2e8f0;display:flex}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#718096;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;margin-bottom:-2px;padding:1rem 2rem;transition:all .2s}.tab-button:hover{background-color:#edf2f7;color:#2d3748}.tab-button.active{background-color:#fff;border-bottom-color:#3182ce;color:#3182ce}.tab-content{padding:2rem}.profile-info{display:flex;flex-direction:column;gap:2rem}.info-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.info-card h1{font-size:2rem}.info-card h1,.info-card h2{color:#2d3748;font-weight:600;margin-bottom:1.5rem}.info-card h2{font-size:1.5rem}.info-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.info-item{display:flex;flex-direction:column;gap:.5rem}.info-label{color:#718096;font-size:.85rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.info-value{color:#2d3748;font-size:1rem;font-weight:400}.info-value em{color:#a0aec0;font-style:italic}.notes-content{color:#4a5568;line-height:1.6;white-space:pre-wrap}.profile-form{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.form-section h2{color:#2d3748;font-size:1.5rem;font-weight:600;margin-bottom:2rem}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.form-group.full-width{grid-column:1/-1}.form-group input,.form-group textarea{border:1px solid #cbd5e0;border-radius:4px;font-family:inherit;font-size:.9rem;padding:.75rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.form-group textarea{resize:vertical}.form-actions{padding-top:2rem}.error-message{color:#e53e3e;font-size:1.1rem;padding:3rem;text-align:center}.loading-container{background-color:#f5f5f5}.loading-spinner{border:4px solid #e2e8f0;border-top-color:#3182ce}@media (max-width:768px){.client-profile{padding:1rem}.profile-header{align-items:stretch;gap:1rem}.header-actions,.profile-header{flex-direction:column}.form-row,.info-grid{grid-template-columns:1fr}}.unpaid-invoices-page{margin:0 auto;max-width:1400px;padding:2rem}.filters-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.filters-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.filters-header h3{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0}.btn-clear-filters{background-color:#e2e8f0;border:none;border-radius:6px;color:#2d3748;cursor:pointer;font-family:inherit;font-size:.85rem;padding:.5rem 1rem}.btn-clear-filters:hover{background-color:#cbd5e0}.filters-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:#4a5568;font-size:.9rem;font-weight:500}.filter-group input,.filter-group select{border:1px solid #cbd5e0;border-radius:6px;font-family:inherit;font-size:.9rem;padding:.5rem}.filter-group input:focus,.filter-group select:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.deposit-badge{background-color:#c6f6d5;border-radius:12px;color:#22543d;display:inline-block;font-size:.75rem;font-weight:500;margin-left:.5rem;padding:.25rem .75rem}.deposit-checkbox-label{align-items:center;background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;color:#2d3748;cursor:pointer;display:flex;font-size:.85rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;-webkit-user-select:none;user-select:none}.deposit-checkbox-label:hover{background-color:#edf2f7}.deposit-checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}@media (max-width:768px){.filters-grid{grid-template-columns:1fr}}.stat-badge{background:linear-gradient(135deg,#3182ce,#2c5282)}.invoices-list{display:flex;flex-direction:column;gap:1.5rem}.invoice-card{background:#fff;border-left:4px solid #e53e3e;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.invoice-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.invoice-info h3{align-items:center;color:#2d3748;display:flex;font-size:1.25rem;font-weight:600;gap:.75rem;margin-bottom:.5rem}.overdue-badge{background-color:#fed7d7;border-radius:12px;color:#c53030;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.invoice-meta{color:#718096;display:flex;flex-wrap:wrap;font-size:.9rem;gap:1rem}.overdue-date{color:#c53030;font-weight:600}.invoice-actions{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.btn-mark-paid{background-color:#48bb78;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:600;padding:.5rem 1rem}.btn-mark-paid:hover{background-color:#38a169}.invoice-total{color:#2d3748;font-size:1.5rem;font-weight:600}.invoice-items{margin:1.5rem 0;overflow-x:auto}.invoice-items table{border-collapse:collapse;width:100%}.invoice-items th{background-color:#f7fafc;border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:.75rem;text-align:left;text-transform:uppercase}.invoice-items td{border-bottom:1px solid #e2e8f0;color:#4a5568;font-size:.9rem;padding:.75rem}.invoice-summary{align-items:flex-end;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem;padding-top:1.5rem}.invoice-notes{background-color:#f7fafc;border-radius:6px;color:#4a5568;font-size:.9rem;line-height:1.6;margin-top:1rem;padding:1rem}@media (max-width:768px){.unpaid-invoices-page{padding:1rem}.page-header{align-items:flex-start}.invoice-header,.page-header{flex-direction:column;gap:1rem}.invoice-actions{align-items:flex-start;width:100%}.action-buttons{flex-direction:column;width:100%}.action-buttons button{width:100%}}.open-quotes-page{margin:0 auto;max-width:1400px;padding:2rem}.page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.page-header h1{color:#2d3748;font-size:2rem;font-weight:600;margin:0}.header-stats{display:flex;gap:1rem}.stat-badge{background:linear-gradient(135deg,#f6ad55,#ed8936);border-radius:20px;color:#fff;font-size:1rem;font-weight:600;padding:.5rem 1.5rem}.empty-state,.loading-state{color:#718096;padding:4rem 2rem;text-align:center}.empty-state p{font-size:1.25rem;margin:.5rem 0}.empty-subtitle{color:#a0aec0;font-size:1rem}.quotes-list{display:flex;flex-direction:column;gap:1.5rem}.quote-card{background:#fff;border-left:4px solid #f6ad55;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.quote-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.quote-info h3{align-items:center;color:#2d3748;display:flex;font-size:1.25rem;font-weight:600;gap:.75rem;margin-bottom:.5rem}.quote-badge{background-color:#feebc8;color:#7c2d12}.creator-badge,.quote-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.creator-badge{background-color:#e6fffa;color:#234e52}.quote-meta{color:#718096;display:flex;flex-wrap:wrap;font-size:.9rem;gap:1rem}.client-link{color:#3182ce;cursor:pointer;font-weight:500;text-decoration:underline}.client-link:hover{color:#2c5282}.status-badge.draft{background-color:#feebc8;color:#7c2d12}.status-badge.sent{background-color:#bee3f8;color:#2c5282}.status-badge.paid{background-color:#c6f6d5;color:#22543d}.status-badge.overdue{background-color:#fed7d7;color:#c53030}.quote-actions{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.btn-action{background-color:#3182ce;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;padding:.5rem 1rem}.btn-action:hover:not(:disabled){background-color:#2c5282}.btn-view-client{background-color:#805ad5;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;padding:.5rem 1rem}.btn-view-client:hover{background-color:#6b46c1}.quote-total{color:#2d3748;font-size:1.5rem;font-weight:600}.quote-items{margin:1.5rem 0;overflow-x:auto}.quote-items table{border-collapse:collapse;width:100%}.quote-items th{background-color:#f7fafc;border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:.75rem;text-align:left;text-transform:uppercase}.quote-items td{border-bottom:1px solid #e2e8f0;color:#4a5568;font-size:.9rem;padding:.75rem}.quote-summary{align-items:flex-end;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem;padding-top:1.5rem}.summary-row{color:#4a5568;display:flex;font-size:.9rem;justify-content:space-between;width:200px}.summary-row.total{border-top:1px solid #e2e8f0;color:#2d3748;font-size:1.1rem;font-weight:600;margin-top:.5rem;padding-top:.5rem}.quote-notes{background-color:#f7fafc;border-radius:6px;color:#4a5568;font-size:.9rem;line-height:1.6;margin-top:1rem;padding:1rem}@media print{body *{visibility:hidden}.print-view,.print-view *{visibility:visible}.print-view{background:#fff;left:0;padding:2rem;position:absolute;top:0;width:100%}.no-print{display:none!important}}.print-view{background:#fff;font-family:Arial,sans-serif;margin:0 auto;max-width:800px;padding:2rem}.print-header{border-bottom:2px solid #2d3748;margin-bottom:2rem;padding-bottom:1rem;text-align:center}.print-header h1{color:#2d3748;font-size:2rem;margin:0}.print-header p{color:#718096;margin:.5rem 0 0}.print-document-type{margin:2rem 0;text-align:center}.print-document-type h2{color:#2d3748;font-size:1.5rem;margin:0}.print-info-section{display:flex;justify-content:space-between;margin-bottom:2rem}.print-client-info h3{color:#2d3748;font-size:1rem;margin-bottom:.5rem}.print-client-info p{color:#4a5568;margin:.25rem 0}.print-document-info p{color:#4a5568;margin:.5rem 0;text-align:right}.print-items-table{border-collapse:collapse;margin-bottom:2rem;width:100%}.print-items-table th{background-color:#f7fafc;border-bottom:2px solid #e2e8f0;color:#2d3748;font-weight:600;padding:.75rem;text-align:left}.print-items-table td{border-bottom:1px solid #e2e8f0;color:#4a5568;padding:.75rem}.print-totals{border-top:2px solid #e2e8f0;margin-top:2rem;padding-top:1rem}.print-totals-row{display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.5rem 0}.print-totals-row.print-total{border-top:2px solid #e2e8f0;font-size:1.25rem;font-weight:600;margin-top:1rem;padding-top:1rem}.print-notes{border-top:1px solid #e2e8f0;margin-top:2rem;padding-top:1rem}.print-notes h3{color:#2d3748;font-size:1rem;margin-bottom:.5rem}.print-notes p{color:#4a5568;line-height:1.6;white-space:pre-wrap}@media (max-width:768px){.open-quotes-page{padding:1rem}.page-header{align-items:flex-start}.page-header,.quote-header{flex-direction:column;gap:1rem}.quote-actions{align-items:flex-start;width:100%}.action-buttons{flex-direction:column;width:100%}.action-buttons button{width:100%}}.settings-page{background-color:#f5f5f5;min-height:100vh;padding:2rem}.settings-header{align-items:center;display:flex;justify-content:space-between;margin:0 auto 2rem;max-width:1200px}.settings-header h1{color:#2d3748;font-size:2rem;font-weight:600}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.settings-content{margin:0 auto;max-width:1200px}.settings-tabs{border-bottom:1px solid #e2e8f0;display:flex;gap:.5rem;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:1200px}.settings-tab{background:none;border:none;border-bottom:2px solid #0000;color:#718096;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease-in-out}.settings-tab:hover{border-color:#a0aec0;color:#2d3748}.settings-tab.active{border-color:#3182ce;color:#3182ce;font-weight:600}.template-sub-tabs{border-bottom:1px solid #e2e8f0;display:flex;gap:.5rem;margin-bottom:2rem}.template-sub-tab{background:none;border:none;border-bottom:2px solid #0000;color:#718096;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease-in-out}.template-sub-tab:hover{border-color:#a0aec0;color:#2d3748}.template-sub-tab.active{border-color:#3182ce;color:#3182ce;font-weight:600}.settings-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:2rem}.settings-section h2{color:#2d3748;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.section-description{color:#718096;font-size:.95rem;margin-bottom:1.5rem}.users-list{margin-top:1.5rem}.empty-state{color:#718096;font-style:italic;padding:3rem;text-align:center}.users-table{border-collapse:collapse;width:100%}.users-table thead{background-color:#f7fafc}.users-table th{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #e2e8f0;color:#4a5568;font-size:.9rem;padding:1rem}.users-table tbody tr:hover{background-color:#f7fafc}.role-badge{background-color:#e6fffa;color:#234e52}.role-badge,.status-badge{border-radius:12px;display:inline-block;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.status-badge.active{background-color:#c6f6d5;color:#22543d}.status-badge.pending{background-color:#feebc8;color:#7c2d12}.templates-list{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.template-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:1.5rem}.template-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.template-header h3{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0}.btn-edit-template{background-color:#3182ce;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;padding:.5rem 1rem}.btn-edit-template:hover{background-color:#2c5282}.template-preview{gap:1rem}.preview-item,.template-preview{display:flex;flex-direction:column}.preview-item{gap:.5rem}.preview-item strong{color:#4a5568;font-size:.9rem}.preview-item p{color:#2d3748;font-size:.95rem;line-height:1.5;margin:0}.preview-body{background-color:#f7fafc;border-radius:4px;font-family:Courier New,monospace;font-size:.85rem;padding:.75rem;white-space:pre-wrap}.template-variables-info{background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:2rem;padding:1.5rem}.template-variables-info h4{color:#2d3748;font-size:1rem;font-weight:600;margin:0 0 1rem}.template-variables-info .variables-list{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-top:1rem}.template-variables-info .variables-list>div{display:flex;flex-direction:column;gap:.5rem}.template-variables-info .variables-list strong{color:#2d3748;font-size:.95rem;margin-bottom:.25rem}.template-variables-info ul{list-style-type:disc;margin:0;padding-left:1.5rem}.template-variables-info li{color:#4a5568;font-size:.9rem;margin-bottom:.5rem}@media (max-width:768px){.template-variables-info .variables-list{gap:1.5rem;grid-template-columns:1fr}}.template-variables-info code{background-color:#edf2f7;border-radius:3px;color:#2d3748;font-family:Courier New,monospace;font-size:.85rem;padding:.2rem .4rem}.template-form{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.template-form .form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.template-form label{color:#2d3748;font-size:.95rem;font-weight:600}.template-form input,.template-form textarea{border:1px solid #cbd5e0;border-radius:6px;font-family:inherit;font-size:.95rem;padding:1rem 1.25rem}.template-form textarea{font-family:Courier New,monospace;font-size:.9rem;line-height:1.6;padding:1.25rem;resize:vertical}.template-form input:focus,.template-form textarea:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.template-form small{color:#718096;font-size:.85rem;font-style:italic}.loading-state{padding:2rem}.input-with-variables,.textarea-with-variables{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 400px}.variable-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.variable-selector{background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;padding:1rem;position:-webkit-sticky;position:sticky;top:1rem}.variable-selector-header{color:#2d3748;font-size:.9rem;margin-bottom:.75rem}.variable-buttons-grid{display:flex;flex-direction:column;gap:.5rem}.btn-variable{background-color:#fff;border:1px solid #cbd5e0;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-size:.85rem;gap:.25rem;padding:.5rem .75rem;text-align:left;transition:all .2s}.btn-variable:hover{background-color:#edf2f7;border-color:#3182ce;transform:translateX(2px)}.btn-variable code{background-color:#edf2f7;border-radius:3px;color:#2d3748;font-family:Courier New,monospace;font-size:.9rem;font-weight:600;padding:.2rem .4rem}.btn-variable .var-name{color:#718096;font-size:.75rem;font-style:italic}@media (max-width:1200px){.modal-large{max-width:95%;width:95%}}@media (max-width:1024px){.textarea-with-variables{grid-template-columns:1fr}.variable-selector{position:static}}.info-box{background:#ebf8ff;border:1px solid #90cdf4;border-radius:8px;margin-top:2rem;padding:1.5rem}.info-box h3{color:#2c5282;font-size:1.1rem;font-weight:600;margin-bottom:.75rem}.info-box p{color:#2c5282;font-size:.9rem;line-height:1.6;margin-bottom:.5rem}.info-box p:last-child{margin-bottom:0}.modal-overlay{background-color:#00000080}.modal-content{border-radius:8px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;overflow-y:auto}.modal-large{max-width:1600px;width:95%}.btn-close{height:2rem;width:2rem}.user-form{padding:1.5rem}.form-group{display:flex;flex-direction:column;margin-bottom:1.25rem}.form-group label{font-size:.85rem}.form-group input,.form-group select{border:1px solid #cbd5e0;border-radius:4px;font-family:inherit;font-size:.9rem;padding:.75rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.btn-secondary{background-color:#e2e8f0;border:none;color:#2d3748}.btn-secondary:hover{background-color:#cbd5e0}.sources-list{margin-top:1.5rem}.sources-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.sources-table th{background-color:#f7fafc;border-bottom:2px solid #e2e8f0;color:#2d3748;font-weight:600;padding:1rem;text-align:left}.sources-table td{border-bottom:1px solid #e2e8f0;color:#4a5568;padding:1rem}.sources-table tr:last-child td{border-bottom:none}.btn-delete,.btn-edit{border:none;border-radius:6px;cursor:pointer;font-family:inherit;font-size:.85rem;margin-right:.5rem;padding:.5rem 1rem}.btn-edit{background-color:#3182ce;color:#fff}.btn-edit:hover{background-color:#2c5282}.btn-delete{background-color:#e53e3e}.btn-delete:hover{background-color:#c53030}.audit-log-list{margin-top:1.5rem}.audit-log-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 1px 3px #0000001a;font-size:.9rem;overflow:hidden;width:100%}.audit-log-table th{background-color:#f7fafc;border-bottom:2px solid #e2e8f0;color:#2d3748;font-weight:600;padding:1rem;text-align:left}.audit-log-table td{border-bottom:1px solid #e2e8f0;color:#4a5568;padding:1rem}.audit-log-table tr:last-child td{border-bottom:none}.action-badge{background-color:#ebf8ff;border-radius:12px;color:#2c5282;display:inline-block;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.audit-details{display:flex;flex-direction:column;gap:.25rem}.detail-item{color:#4a5568;font-size:.85rem}.text-muted{color:#a0aec0;font-style:italic}@media (max-width:768px){.settings-page{padding:1rem}.settings-tabs{flex-wrap:wrap}.settings-tab{font-size:.9rem;padding:.5rem 1rem}.section-header{align-items:stretch;flex-direction:column;gap:1rem}.audit-log-table,.sources-table,.users-table{font-size:.85rem}.audit-log-table td,.audit-log-table th,.sources-table td,.sources-table th,.users-table td,.users-table th{padding:.75rem .5rem}.audit-log-table{display:block;overflow-x:auto}}.calendar-page{background-color:#f5f5f5;min-height:100vh;padding:2rem;position:relative;transition:padding-right .3s ease}.calendar-page.task-list-open{padding-right:calc(2rem + 400px)}.calendar-header{display:flex;flex-direction:column;gap:1rem;margin:0 auto 2rem;max-width:1400px}.calendar-header h1{color:#2d3748;font-size:2rem;font-weight:600;margin:0}.calendar-controls{align-items:center;display:flex;gap:1rem}.btn-nav,.btn-today{background:#fff;border:1px solid #cbd5e0;border-radius:6px;color:#4a5568;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-nav:hover,.btn-today:hover{background-color:#f7fafc;border-color:#3182ce;color:#3182ce}.btn-today{background:linear-gradient(135deg,#3182ce,#2c5282);border:none;color:#fff}.btn-today:hover{background:linear-gradient(135deg,#2c5282,#1e3a5f);color:#fff}.btn-task-list{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;margin-left:auto;padding:.5rem 1rem;transition:all .2s}.btn-task-list:hover{background:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.month-year{color:#2d3748;font-size:1.75rem;font-weight:600;margin:0}.calendar-grid{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin:0 auto;max-width:1400px;overflow:hidden}.calendar-weekdays{background:#f7fafc;border-bottom:2px solid #e2e8f0;display:grid;grid-template-columns:repeat(7,1fr)}.weekday-header{color:#4a5568;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:center;text-transform:uppercase}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{border:1px solid #e2e8f0;cursor:pointer;min-height:120px;padding:.5rem;position:relative;transition:background-color .2s}.calendar-day:hover:not(.empty){background-color:#f7fafc}.calendar-day.empty{background-color:#fafafa;cursor:default}.calendar-day.today{background-color:#ebf8ff}.calendar-day.today .day-number{align-items:center;background:linear-gradient(135deg,#3182ce,#2c5282);border-radius:50%;color:#fff;display:flex;font-weight:600;height:28px;justify-content:center;width:28px}.calendar-day.other-month{background-color:#fafafa;opacity:.5}.day-number{color:#2d3748;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.day-events{display:flex;flex-direction:column;gap:.25rem;margin-top:.25rem}.event-dot{background:#3182ce;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;font-weight:500;overflow:hidden;padding:.25rem .5rem;text-overflow:ellipsis;transition:all .2s;white-space:nowrap}.event-dot:hover{background:#2c5282;transform:translateX(2px)}.event-dot.has-client{background:#f59e0b}.event-dot.has-client:hover{background:#d97706}.event-dot.has-assignment{border-left:3px solid #3182ce}.event-dot.has-assignment.has-client{border-left:3px solid #f59e0b}.more-events{color:#718096;font-size:.7rem;font-weight:500;padding:.125rem .25rem}.calendar-modal{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{padding:1.5rem}.modal-header h2{font-size:1.25rem}.btn-close{align-items:center;background:none;border:none;border-radius:4px;color:#718096;cursor:pointer;display:flex;font-size:2rem;height:30px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:30px}.btn-close:hover{background-color:#edf2f7;color:#2d3748}.event-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#4a5568;display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #cbd5e0;border-radius:4px;font-family:inherit;font-size:.9rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.checkbox-label{align-items:center;color:#4a5568;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem}.checkbox-label input[type=checkbox]{cursor:pointer;height:18px;margin:0;width:18px}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.btn-secondary{background:#fff;border:1px solid #cbd5e0;border-radius:6px;color:#4a5568;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-secondary:hover{background-color:#f7fafc;border-color:#a0aec0}.btn-primary{background:linear-gradient(135deg,#3182ce,#2c5282);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-primary:hover{box-shadow:0 4px 12px #3182ce4d;transform:translateY(-1px)}.btn-delete{background:#e53e3e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;margin-right:auto;padding:.75rem 1.5rem;transition:all .2s}.btn-delete:hover{background:#c53030;box-shadow:0 4px 12px #e53e3e4d;transform:translateY(-1px)}.error-message{background-color:#fed7d7;border:1px solid #fc8181;border-radius:6px;color:#c53030}.error-message,.success-message{font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}.success-message{background-color:#c6f6d5;border:1px solid #9ae6b4;border-radius:6px;color:#22543d}.loading-state{color:#718096;padding:3rem;text-align:center}.status-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.btn-status{background:#fff;border:2px solid #cbd5e0;border-radius:6px;color:#4a5568;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-status:hover{border-color:#3182ce;color:#3182ce}.btn-status.active{background:linear-gradient(135deg,#3182ce,#2c5282);border-color:#3182ce;color:#fff}.btn-status-action{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.btn-status-action:hover{background:#d97706;box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-1px)}.btn-complete{background:#10b981}.btn-complete:hover{background:#059669;box-shadow:0 4px 12px #10b9814d}.event-dot.status-scheduled{border-left:3px solid #3182ce}.event-dot.status-arrived{background:#fffbeb;border-left:3px solid #f59e0b}.event-dot.status-started{background:#eff6ff;border-left:3px solid #3b82f6}.event-dot.status-completed{background:#f0fdf4;border-left:3px solid #10b981;opacity:.8}.task-list-panel{background:#fff;box-shadow:-2px 0 10px #0000001a;display:flex;flex-direction:column;height:100vh;position:fixed;right:-400px;top:0;transition:right .3s ease;width:400px;z-index:999}.task-list-panel.open{right:0}.task-list-header{align-items:center;background:linear-gradient(135deg,#3182ce,#2c5282);border-bottom:1px solid #e2e8f0;color:#fff;display:flex;justify-content:space-between;padding:1.5rem}.task-list-header h2{font-size:1.25rem;font-weight:600;margin:0}.btn-close-task-list{align-items:center;background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;line-height:1;padding:.25rem .5rem;transition:background .2s;width:30px}.btn-close-task-list:hover{background:#ffffff4d}.task-list-content{flex:1 1;overflow-y:auto;padding:1rem}.no-tasks{color:#718096;padding:3rem 1rem;text-align:center}.no-tasks p{font-size:.95rem;margin:0}.task-items{display:flex;flex-direction:column;gap:1rem}.task-item{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #3182ce;border-radius:8px;cursor:pointer;padding:1rem;transition:all .2s}.task-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateX(-2px)}.task-item.status-arrived{background:#fffbeb;border-left-color:#f59e0b}.task-item.status-started{background:#eff6ff;border-left-color:#3b82f6}.task-item.status-completed{background:#f0fdf4;border-left-color:#10b981;opacity:.9}.task-item-header{align-items:flex-start;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.task-title{color:#2d3748;flex:1 1;font-size:1rem;font-weight:600;margin:0}.task-status-badge{border-radius:12px;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:capitalize;white-space:nowrap}.task-status-badge.status-scheduled{background:#dbeafe;color:#1e40af}.task-status-badge.status-arrived{background:#fef3c7;color:#92400e}.task-status-badge.status-started{background:#dbeafe;color:#1e3a8a}.task-status-badge.status-completed{background:#d1fae5;color:#065f46}.task-description{color:#4a5568;font-size:.875rem;line-height:1.5;margin:.5rem 0}.task-meta{color:#718096;display:flex;flex-direction:column;font-size:.8rem;gap:.25rem;margin-top:.75rem}.task-time{font-weight:500}.task-client{font-style:italic}.task-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.btn-task-action{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-family:inherit;font-size:.85rem;font-weight:500;min-width:100px;padding:.5rem 1rem;transition:all .2s}.btn-arrived{background:#f59e0b;color:#fff}.btn-arrived:hover{background:#d97706;box-shadow:0 2px 8px #f59e0b4d;transform:translateY(-1px)}.btn-started{background:#3b82f6;color:#fff}.btn-started:hover{background:#2563eb;box-shadow:0 2px 8px #3b82f64d;transform:translateY(-1px)}.btn-completed{background:#10b981;color:#fff}.btn-completed:hover{background:#059669;box-shadow:0 2px 8px #10b9814d;transform:translateY(-1px)}.task-completed{opacity:.7}.task-completed:hover{box-shadow:none;transform:none}.task-completed-note{background:#f0fdf4;border-radius:4px;margin-top:.75rem;padding:.5rem;text-align:center}.task-completed-note small{color:#065f46;font-size:.8rem;font-style:italic}.status-display{display:flex;flex-direction:column;gap:.5rem}.status-badge-completed{background:linear-gradient(135deg,#10b981,#059669);border-radius:6px;color:#fff;display:inline-block;font-size:.9rem;font-weight:600;padding:.5rem 1rem;text-align:center}.status-note{color:#718096;display:block;font-size:.85rem;font-style:italic;margin-top:.25rem}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:500px;width:100%}.modal-content.modal-large{max-width:700px}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.modal-header h2{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0}.btn-close-modal{align-items:center;background:none;border:none;border-radius:4px;color:#718096;cursor:pointer;display:flex;font-size:2rem;height:2rem;justify-content:center;padding:0;transition:all .2s;width:2rem}.btn-close-modal:hover{background:#f7fafc;color:#2d3748}.modal-body{padding:2rem}.modal-body p{color:#4a5568;font-size:.95rem;margin:0 0 1rem}.completion-note-form{gap:1.5rem}.completion-note-form,.completion-note-form .form-group{display:flex;flex-direction:column}.completion-note-form .form-group label{color:#4a5568;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.completion-note-input{border:1px solid #cbd5e0;border-radius:6px;font-family:inherit;font-size:.9rem;padding:.75rem;resize:vertical;width:100%}.completion-note-input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.modal-footer .btn-primary{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;padding:.75rem 2rem;transition:all .2s}.modal-footer .btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.modal-footer .btn-primary:disabled{cursor:not-allowed;opacity:.5}.modal-footer .btn-secondary{background:#e2e8f0;border:none;border-radius:6px;color:#2d3748;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:500;padding:.75rem 2rem;transition:all .2s}.modal-footer .btn-secondary:hover{background:#cbd5e0}@media (max-width:768px){.calendar-page{padding:1rem}.calendar-page.task-list-open{padding-right:1rem}.task-list-panel{right:-100%;width:100%}.calendar-day{min-height:80px}.form-row{grid-template-columns:1fr}.calendar-controls{flex-wrap:wrap}.btn-task-list{margin-left:0;margin-top:.5rem;width:100%}}.global-search{max-width:300px;position:relative;width:100%}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-input{background:#fff;border:1px solid #cbd5e0;border-radius:8px;font-family:inherit;font-size:.9rem;padding:.75rem 2.5rem .75rem 1rem;transition:all .2s;width:100%}.search-input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.search-icon{font-size:1.1rem;pointer-events:none;position:absolute;right:.75rem}.search-loading{animation:pulse 1.5s ease-in-out infinite;font-size:1.2rem;position:absolute;right:2.5rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.search-results{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;margin-top:.5rem;max-height:400px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.search-result-item{align-items:center;border-bottom:1px solid #f7fafc;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:background-color .2s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:#f7fafc}.result-icon{flex-shrink:0;font-size:1.5rem}.result-content{flex:1 1;min-width:0}.result-title{color:#2d3748;font-size:.95rem;font-weight:600;margin-bottom:.25rem}.result-subtitle,.result-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-subtitle{color:#718096;font-size:.85rem}.result-type-badge{background-color:#ebf8ff;border-radius:12px;color:#2c5282;flex-shrink:0;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.search-no-results{color:#718096;font-size:.9rem;padding:2rem;text-align:center}@media (max-width:768px){.global-search{margin:0 1rem;max-width:100%}.search-input{font-size:.85rem;padding:.6rem 2rem .6rem .75rem}}.notifications-container{position:relative}.notifications-bell{align-items:center;background:#ffffff26;border:1px solid #ffffff40;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;padding:.5rem;position:relative;transition:all .2s;width:40px}.notifications-bell:hover{background:#ffffff40;border-color:#fff6;transform:translateY(-1px)}.notification-badge{background:#ef4444;border:2px solid #1e3a5f;border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;min-width:18px;padding:.15rem .4rem;position:absolute;right:-4px;text-align:center;top:-4px}.notifications-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:998}.notifications-dropdown{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:500px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);width:400px;z-index:999}.notifications-header{align-items:center;background:linear-gradient(135deg,#3182ce,#2c5282);border-bottom:1px solid #e2e8f0;color:#fff;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.notifications-header h3{font-size:1.1rem;font-weight:600;margin:0}.btn-mark-all-read{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:all .2s}.btn-mark-all-read:hover{background:#ffffff4d;border-color:#ffffff80}.notifications-list{flex:1 1;max-height:450px;overflow-y:auto}.notifications-empty,.notifications-loading{color:#718096;font-size:.9rem;padding:2rem;text-align:center}.notification-item{align-items:flex-start;border-bottom:1px solid #e2e8f0;cursor:pointer;display:flex;gap:1rem;padding:1rem 1.5rem;position:relative;transition:background .2s}.notification-item:hover{background:#f7fafc}.notification-item.unread{background:#eff6ff;border-left:4px solid #3182ce}.notification-item.read{opacity:.8}.notification-content{flex:1 1}.notification-title{color:#2d3748;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.notification-meta{color:#718096;font-size:.8rem;margin-bottom:.5rem}.notification-note{background:#f7fafc;border-left:3px solid #3182ce;border-radius:4px;color:#4a5568;font-size:.85rem;line-height:1.5;margin-bottom:.5rem;padding:.5rem}.notification-time{color:#a0aec0;font-size:.75rem}.notification-actions{align-items:flex-start;display:flex;flex-shrink:0;gap:.5rem;margin-top:.5rem}.notification-unread-indicator{background:#3182ce;border-radius:50%;flex-shrink:0;height:8px;margin-top:.25rem;width:8px}.btn-remove-notification{align-items:center;background:#e53e3e;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:600;height:24px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:24px}.btn-remove-notification:hover{background:#c53030;box-shadow:0 2px 8px #e53e3e4d;transform:scale(1.1)}.btn-view-order-form{background:#3182ce;border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;margin-top:.75rem;padding:.5rem 1rem;transition:all .2s}.btn-view-order-form:hover{background:#2c5282;box-shadow:0 2px 8px #3182ce4d;transform:translateY(-1px)}@media (max-width:768px){.notifications-dropdown{right:-10px;width:320px}}.app-with-nav{display:flex;flex-direction:column;min-height:100vh}.app-header{background:linear-gradient(135deg,#1e3a5f,#2c5282);border-bottom:1px solid #ffffff1a;box-shadow:0 4px 20px #00000026;color:#fff;padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{grid-gap:3rem;align-items:center;display:grid;gap:3rem;grid-template-columns:auto 1fr auto;margin:0 auto;max-width:1600px;min-height:70px;padding:0 2.5rem}.logo-section{align-items:center;display:flex;flex-shrink:0}.logo-link{color:inherit;display:flex;flex-direction:column;text-decoration:none;transition:opacity .2s}.logo-link:hover{opacity:.95}.logo{font-size:1.6rem;font-weight:700;letter-spacing:-.5px;line-height:1.2;margin:0;text-shadow:0 2px 4px #0000001a}.tagline{font-size:.75rem;font-weight:400;letter-spacing:.5px;margin-top:.1rem;opacity:.85}.main-nav{align-items:center;display:flex;flex:1 1;gap:.25rem;justify-content:center}.nav-link{border-radius:8px;color:#fff;font-size:.95rem;font-weight:500;letter-spacing:.2px;opacity:.9;padding:.65rem 1.25rem;position:relative;text-decoration:none;transition:all .25s ease;white-space:nowrap}.nav-link:before{background:#fffc;border-radius:2px 2px 0 0;bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:width .25s ease;width:0}.nav-link:hover{background-color:#ffffff1f;opacity:1;transform:translateY(-1px)}.nav-link:hover:before{width:60%}.nav-link.active{background-color:#fff3;box-shadow:0 2px 8px #00000026;font-weight:600;opacity:1}.nav-link.active:before{background:#fff;width:80%}.header-actions{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:.5rem;min-width:200px}.user-email{font-size:.85rem;font-weight:400;max-width:200px;opacity:.9;overflow:hidden;padding:.25rem 0;text-overflow:ellipsis;white-space:nowrap}.btn-logout{background:linear-gradient(135deg,#ffffff26,#ffffff40);border:1px solid #ffffff40;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;padding:.6rem 1.25rem;transition:all .25s ease;white-space:nowrap}.btn-logout:hover{background:linear-gradient(135deg,#ffffff40,#ffffff59);border-color:#fff6;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn-logout:active{box-shadow:0 2px 4px #0000001a;transform:translateY(0)}.app-main{background-color:#f5f5f5;flex:1 1}@media (max-width:1200px){.header-content{gap:2rem;padding:0 2rem}.nav-link{font-size:.9rem;padding:.6rem 1rem}}@media (max-width:968px){.header-content{gap:1.5rem;grid-template-columns:auto 1fr;min-height:65px;padding:0 1.5rem}.main-nav{-webkit-overflow-scrolling:touch;grid-column:1/-1;justify-content:flex-start;order:3;overflow-x:auto;padding:.5rem 0;scrollbar-width:none}.main-nav::-webkit-scrollbar{display:none}.nav-link{flex-shrink:0;font-size:.85rem;padding:.55rem 1rem}.header-actions{min-width:auto}}@media (max-width:768px){.header-content{gap:1rem;min-height:60px;padding:0 1rem}.logo{font-size:1.4rem}.tagline{font-size:.7rem}.nav-link{font-size:.85rem;padding:.5rem .85rem}.user-email{font-size:.8rem;max-width:150px}.btn-logout{font-size:.85rem;padding:.5rem 1rem}}.loading-container{align-items:center;background:linear-gradient(135deg,#1e3a5f,#2c5282);display:flex;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.99ec3583.css.map*/