@charset "UTF-8";:root{--color-primary: #f44336;--color-primary-hover: #d32f2f;--color-primary-active: #b71c1c;--color-primary-light: rgba(244, 67, 54, .08);--color-primary-border: rgba(244, 67, 54, .3);--color-text: #1a1a1a;--color-text-secondary: #525252;--color-text-muted: #737373;--color-text-placeholder: #a3a3a3;--color-border: #e5e5e5;--color-border-light: #f0f0f0;--color-bg: #fafafa;--color-bg-elevated: #ffffff;--color-bg-input: #ffffff;--color-bg-hover: #f5f5f5;--color-success: #16a34a;--color-success-bg: #dcfce7;--color-warning: #ca8a04;--color-warning-bg: #fef9c3;--color-error: #dc2626;--color-error-bg: #fee2e2;--color-info: #2563eb;--color-info-bg: #dbeafe;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-content: .9375rem;--leading-content: 1.45;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .05);--shadow-nav: 0 1px 3px rgba(0, 0, 0, .06);--transition-fast: .15s ease;--transition-normal: .2s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);font-weight:var(--font-normal);color:var(--color-text);background:var(--color-bg);min-width:320px;min-height:100vh}.app-input{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:inherit;color:var(--color-text);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.app-input::placeholder{color:var(--color-text-placeholder)}.app-input:hover{border-color:var(--color-text-placeholder)}.app-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:.8125rem;font-weight:var(--font-medium);color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast);text-decoration:none}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background:var(--color-primary-active)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:.8125rem;font-weight:var(--font-medium);color:var(--color-text-secondary);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast);text-decoration:none}.btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-text-muted)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.app-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:.8125rem;font-weight:var(--font-medium);color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast);text-decoration:none}.app-btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.app-btn-primary:active:not(:disabled){background:var(--color-primary-active)}.app-btn-primary:disabled{opacity:.6;cursor:not-allowed}.app-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:.8125rem;font-weight:var(--font-medium);color:var(--color-text-secondary);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast);text-decoration:none}.app-btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-text-muted)}.app-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.app-card{background:var(--color-bg-elevated);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.app-table-wrap{overflow-x:auto;background:var(--color-bg-elevated);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.app-table{width:100%;border-collapse:collapse;font-size:.8125rem}.app-table th,.app-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border-light)}.app-table th{font-weight:var(--font-semibold);color:var(--color-text-secondary);background:var(--color-bg)}.app-table tbody tr:hover{background:var(--color-bg)}.app-table tbody tr:last-child td{border-bottom:none}.app-loading{display:flex;justify-content:center;align-items:center;min-height:100vh;font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-muted);background:var(--color-bg)}code{font-family:var(--font-mono);font-size:.9em;padding:var(--space-1) var(--space-2);background:var(--color-bg-hover);border-radius:var(--radius-sm)}@media(max-width:768px){button,a,input[type=checkbox],input[type=radio]{min-height:44px;min-width:44px}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{font-size:16px}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(160deg,var(--color-primary) 0%,var(--color-primary-hover) 50%,#1a0a09 100%);padding:var(--space-6)}.login-box{background:var(--color-bg-elevated);padding:var(--space-8);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:400px;border:1px solid var(--color-border-light)}.login-box h1{margin:0 0 var(--space-2) 0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text);text-align:center;letter-spacing:-.02em}.login-box h2{margin:0 0 var(--space-6) 0;font-size:var(--text-base);font-weight:var(--font-normal);color:var(--color-text-secondary);text-align:center}.login-box .form-group{margin-bottom:var(--space-4)}.login-box .form-group label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text)}.login-box .form-group input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.login-box .form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.login-btn{width:100%;padding:var(--space-3) var(--space-4);margin-top:var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-medium);color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast)}.login-btn:hover:not(:disabled){background:var(--color-primary-hover)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-container .error-message{background:var(--color-error-bg);color:var(--color-error);padding:var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:var(--text-sm)}.login-hint{margin-top:var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}@media(max-width:768px){.login-container{padding:var(--space-4)}.login-box{padding:var(--space-6)}.login-box h1{font-size:var(--text-xl)}}.dashboard{padding:var(--space-6) 0;max-width:100%;margin:0 auto;font-size:1rem;line-height:1.5}.dashboard h1{margin-bottom:var(--space-8);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:-.02em}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-6);margin-bottom:var(--space-8)}.stat-card{background:var(--color-bg-elevated);padding:var(--space-6);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);transition:box-shadow var(--transition-fast)}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-card h3{margin:0 0 var(--space-2) 0;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.stat-number{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:-.02em}.recent-installs{background:var(--color-bg-elevated);padding:var(--space-6);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.recent-installs h2{margin:0 0 var(--space-4) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.dashboard .installs-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.dashboard .installs-table th,.dashboard .installs-table td{padding:var(--space-4);text-align:left;border-bottom:1px solid var(--color-border-light)}.dashboard .installs-table th{background:var(--color-bg);font-weight:var(--font-semibold);color:var(--color-text-secondary)}.dashboard .installs-table tbody tr:hover{background:var(--color-bg)}.dashboard .installs-table td.customer-name{font-weight:var(--font-medium);color:var(--color-text)}.status-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.status-active{background:var(--color-info-bg);color:var(--color-info)}.status-completed{background:var(--color-success-bg);color:var(--color-success)}.dashboard .view-link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-medium)}.dashboard .view-link:hover{text-decoration:underline}.dashboard .loading{padding:var(--space-8);text-align:center;color:var(--color-text-muted)}@media(max-width:768px){.dashboard{padding:var(--space-4)}.dashboard h1{font-size:var(--text-xl);margin-bottom:var(--space-6)}.stats-grid{grid-template-columns:1fr;gap:var(--space-4)}.stat-card{padding:var(--space-5)}.stat-number{font-size:var(--text-xl)}.recent-installs{padding:var(--space-4);overflow-x:auto}.recent-installs h2{font-size:var(--text-base)}.dashboard .installs-table{min-width:560px}.dashboard .installs-table th,.dashboard .installs-table td{padding:var(--space-3);font-size:var(--text-xs)}}.installs-page{padding:var(--space-4) 0;max-width:100%;margin:0 auto}.installs-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-3)}.installs-page .page-header h1{margin:0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:-.02em}.installs-page .btn-primary{padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast)}.installs-page .btn-primary:hover{background:var(--color-primary-hover)}.installs-page .filters{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.installs-page .filter-group{display:flex;align-items:center;gap:var(--space-2)}.installs-page .filter-group label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.installs-page .filter-group select,.installs-page .filter-group input{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast)}.installs-page .filter-group select:focus,.installs-page .filter-group input:focus{outline:none;border-color:var(--color-primary)}.installs-list{background:var(--color-bg-elevated);padding:var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.installs-page .installs-table{width:100%;border-collapse:collapse;font-size:.8125rem}.installs-page .installs-table th,.installs-page .installs-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border-light)}.installs-page .installs-table th{background:var(--color-bg);font-weight:var(--font-semibold);color:var(--color-text-secondary)}.installs-page .installs-table tbody tr:hover{background:var(--color-bg)}.installs-page .text-muted{color:var(--color-text-muted);font-size:var(--text-sm)}.stages{display:flex;gap:var(--space-2);flex-wrap:wrap}.stage{width:24px;height:24px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--font-bold)}.stage.pending{background:var(--color-error-bg);color:var(--color-error)}.stage.in-progress{background:var(--color-warning-bg);color:var(--color-warning)}.stage.completed{background:var(--color-success-bg);color:var(--color-success)}.installs-page .complete-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-medium);color:#fff;background:var(--color-success);border:none;border-radius:var(--radius-sm);cursor:pointer;margin-left:var(--space-2);transition:opacity var(--transition-fast)}.installs-page .complete-btn:hover{opacity:.9}.installs-page .view-link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-medium)}.installs-page .view-link:hover{text-decoration:underline}.installs-page .status-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.installs-page .status-badge.status-awaiting{background:var(--color-warning-bg);color:var(--color-warning)}.installs-page .status-badge.status-received{background:var(--color-info-bg);color:var(--color-info)}.installs-page .status-badge.status-imported{background:#f3e8ff;color:#7c3aed}.installs-page .status-badge.status-programming,.installs-page .status-badge.status-ready-to-install{background:var(--color-success-bg);color:var(--color-success)}.installs-page .status-badge.status-testing{background:var(--color-warning-bg);color:var(--color-warning)}.installs-page .status-badge.status-pending,.installs-page .status-badge.status-n\/a{background:var(--color-bg-hover);color:var(--color-text-muted)}.pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border-light)}.pagination-button{padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.pagination-button:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-text-muted)}.pagination-info{color:var(--color-text-muted);font-size:var(--text-sm)}@media(max-width:768px){.installs-page{padding:var(--space-4)}.installs-page .page-header{flex-direction:column;align-items:flex-start;margin-bottom:var(--space-6)}.installs-page .page-header h1{font-size:var(--text-xl)}.installs-page .btn-primary{width:100%;text-align:center;padding:var(--space-3) var(--space-4)}.installs-page .filters{flex-direction:column;gap:var(--space-3)}.installs-page .filter-group{width:100%;flex-direction:column;align-items:flex-start}.installs-page .filter-group select,.installs-page .filter-group input{width:100%}.installs-list{padding:var(--space-4);overflow-x:auto}.installs-page .installs-table{min-width:600px}.installs-page .installs-table th,.installs-page .installs-table td{padding:var(--space-3);font-size:var(--text-xs)}.pagination-info{width:100%;text-align:center;margin:var(--space-2) 0}}.checklist-form{padding:var(--space-6);font-family:var(--font-sans)}.checklist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-border-light)}.checklist-header h3{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.completion-status{display:flex;align-items:center;gap:15px}.completion-status span{font-weight:600;color:#555}.completion-bar{width:200px;height:20px;background-color:#e0e0e0;border-radius:10px;overflow:hidden}.completion-fill{height:100%;background-color:#28a745;transition:width .3s ease}.checklist-section{margin-bottom:30px}.checklist-form .section-title{background:var(--color-bg);padding:var(--space-3) var(--space-4);margin:0 0 var(--space-4) 0;border-left:4px solid var(--color-primary);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text)}.checklist-table{width:100%;border-collapse:collapse;margin-bottom:20px;background-color:#fff;box-shadow:0 1px 3px #0000001a}.checklist-table thead{background-color:#f8f9fa}.checklist-table th{padding:12px;text-align:left;font-weight:600;color:#555;border-bottom:2px solid #dee2e6}.check-header{width:40%}.response-header{width:8%;text-align:center}.notes-header{width:28%}.checklist-table td{padding:12px;border-bottom:1px solid #e9ecef}.checklist-table tbody tr:hover{background-color:#f8f9fa}.question-cell{font-weight:500;color:#333}.checkbox-cell{text-align:center}.checkbox-cell input[type=radio]{width:20px;height:20px;cursor:pointer;accent-color:#f44336}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer}.radio-label-text{-webkit-user-select:none;user-select:none}@media(max-width:768px){.checkbox-cell input[type=radio]{width:24px;height:24px;min-width:24px;min-height:24px}}.notes-cell{padding:8px!important}.notes-input{width:100%;padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:.9em}.notes-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.tester-info-section{margin-top:30px;padding:20px;background-color:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.tester-info-section h4{margin-top:0;margin-bottom:15px;color:#333}.tester-form{display:flex;flex-direction:column;gap:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:5px;font-weight:500;color:#555}.form-group input[type=text],.form-group input[type=date]{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;font-size:.95em}.form-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.signature-container{display:flex;flex-direction:column;gap:10px}.signature-canvas{border:2px solid #ced4da;border-radius:4px;background-color:#fff;cursor:crosshair;touch-action:none;width:300px;height:100px}.clear-signature-btn{align-self:flex-start;padding:6px 12px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9em}.clear-signature-btn:hover{background-color:#c82333}.checklist-actions{margin-top:30px;display:flex;justify-content:flex-end;padding-top:20px;border-top:2px solid #e0e0e0}.save-btn{padding:12px 24px;background-color:#f44336;color:#fff;border:none;border-radius:4px;font-size:1em;font-weight:600;cursor:pointer;transition:background-color .2s}.save-btn:hover:not(:disabled){background-color:#ad241a}.save-btn:disabled{background-color:#6c757d;cursor:not-allowed}@media(max-width:768px){.checklist-header{flex-direction:column;align-items:flex-start;gap:15px}.completion-status{width:100%;flex-direction:column;align-items:flex-start}.completion-bar{width:100%}.checklist-table{font-size:.85em;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.checklist-table thead{display:none}.checklist-table tbody{display:block}.checklist-table tr{display:flex;flex-direction:column;margin-bottom:15px;border:1px solid #dee2e6;border-radius:8px;background-color:#fff;box-shadow:0 1px 3px #0000001a;padding:12px}.checklist-table td{display:flex;padding:8px 0;border-bottom:1px solid #e9ecef;align-items:center}.checklist-table td:last-child{border-bottom:none}.question-cell{font-weight:600;padding-bottom:10px;border-bottom:2px solid #dee2e6;margin-bottom:8px;font-size:.95em}.question-cell:before{content:""}.checkbox-cell{justify-content:flex-start;padding:6px 0;gap:0;border-bottom:none;align-items:flex-start}.checkbox-cell:before{display:none}.checklist-table tr .checkbox-cell:nth-of-type(2){padding-top:8px;border-bottom:none;position:relative}.checklist-table tr .checkbox-cell:nth-of-type(2):before{content:"Response:";display:block;font-weight:600;color:#555;margin-bottom:8px;width:100%;padding-bottom:4px}.checklist-table tr .checkbox-cell:nth-of-type(3):before,.checklist-table tr .checkbox-cell:nth-of-type(4):before{display:none}.checklist-table tr .checkbox-cell:nth-of-type(2),.checklist-table tr .checkbox-cell:nth-of-type(3),.checklist-table tr .checkbox-cell:nth-of-type(4){display:flex;flex-direction:column;align-items:flex-start;width:100%}.checklist-table tr .checkbox-cell .radio-label{width:100%;padding:4px 0;display:flex;align-items:center;gap:8px}.checklist-table tr .checkbox-cell .radio-label-text{font-size:.9em;color:#333}.notes-cell{flex-direction:column;align-items:flex-start;padding:8px 0;border-top:1px solid #e9ecef}.notes-cell:before{content:attr(data-label) ":";font-weight:600;color:#555;margin-bottom:5px}.notes-input{width:100%}.form-row{grid-template-columns:1fr}.signature-canvas{width:100%;height:auto}}.install-detail{padding:var(--space-4) 0;box-sizing:border-box;width:100%;max-width:100%;font-family:var(--font-sans)}.detail-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.back-btn{background:var(--color-text-secondary);color:#fff;border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium)}.back-btn:hover{opacity:.9}.detail-header h1{flex:1;margin:0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:-.02em}.edit-btn{background:var(--color-primary);color:#fff;border:none;padding:var(--space-2) var(--space-6);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium)}.edit-btn:hover{background:var(--color-primary-hover)}.edit-form{background:var(--color-bg-elevated);padding:var(--space-5);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-3);margin-bottom:var(--space-3)}.install-detail .form-group{margin-bottom:var(--space-3)}.install-detail .form-group label{display:block;margin-bottom:var(--space-1);color:var(--color-text);font-weight:var(--font-medium);font-size:.8125rem}.install-detail .form-group input,.install-detail .form-group select,.install-detail .form-group textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:inherit;font-family:var(--font-sans);box-sizing:border-box;background:var(--color-bg-input);color:var(--color-text)}.install-detail .form-group input:focus,.install-detail .form-group select:focus,.install-detail .form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.install-detail .form-group textarea{resize:vertical}.install-detail .save-btn{background:var(--color-success);color:#fff;border:none;padding:var(--space-3) var(--space-8);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-base);font-family:var(--font-sans);font-weight:var(--font-medium)}.install-detail .save-btn:hover{opacity:.9}.detail-layout{display:flex;gap:var(--space-5);align-items:flex-start;width:100%;box-sizing:border-box}.detail-sidebar{flex-shrink:0;width:200px;background:var(--color-bg-elevated);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);padding:var(--space-3) 0;position:sticky;top:var(--space-4);max-height:calc(100vh - 4rem);overflow-y:auto}.tabs{display:flex;flex-direction:column;gap:var(--space-1)}.tabs button{background:none;border:none;padding:var(--space-2) var(--space-4);cursor:pointer;color:var(--color-text-secondary);font-size:.9375rem;font-family:var(--font-sans);text-align:left;transition:color var(--transition-fast),background var(--transition-fast);border-left:3px solid transparent;border-radius:0}.tabs button:hover{color:var(--color-text);background:var(--color-bg-hover)}.tabs button.active{color:var(--color-primary);background:var(--color-primary-light);border-left-color:var(--color-primary);font-weight:var(--font-semibold)}.detail-main-content{flex:1;min-width:0}.tab-content{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.info-item label{display:block;color:#666;font-size:.875rem;margin-bottom:.25rem}.info-item p{margin:0;color:#333;font-size:1rem}.stages-display{margin-bottom:2rem}.stages-display h3{margin-bottom:1rem;color:#333}.stages-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stage-card{background:#f5f5f5;padding:1rem;border-radius:4px}.stage-card h4{margin:0 0 .5rem;color:#666}.stage-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.stage-badge.pending{background:#ffebee;color:#c62828}.stage-badge.in-progress{background:#fff3e0;color:#e65100}.stage-badge.completed{background:#e8f5e9;color:#2e7d32}.stage-select{width:100%;padding:.5rem .75rem;border:1px solid #ced4da;border-radius:4px;font-size:.95em;background-color:#fff;cursor:pointer;font-weight:500;margin-top:.5rem}.stage-select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.stage-select:hover{border-color:#adb5bd}.notes-section,.licenses-section,.sales-order-section{margin-bottom:2rem}.notes-section h3,.licenses-section h3,.sales-order-section h3{margin-bottom:.5rem;color:#333}.licenses-section pre{background:#f5f5f5;padding:1rem;border-radius:4px;white-space:pre-wrap;font-family:inherit}.actions-section{margin-top:2rem}.action-btn{background:#f44336;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer}.action-btn:hover{background:#ad241a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3{margin:0;color:#333}.add-btn{background:#4caf50;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.75rem;text-align:left;border-bottom:1px solid #eee;vertical-align:top}.data-table th{background:#f5f5f5;font-weight:600;color:#666}.data-table th.notes-column,.data-table td.notes-column{word-wrap:break-word;overflow-wrap:break-word}.data-table td.notes-column>div{max-width:100%}.data-table td.notes-column textarea{width:100%;max-width:100%;box-sizing:border-box}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:last-child td[colspan]{text-align:right;padding-right:1rem}.data-table th:last-child,.data-table td:last-child{text-align:center}.checklist{display:flex;flex-direction:column;gap:.75rem}.checklist-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f5f5f5;border-radius:4px}.checklist-item input[type=checkbox]{width:20px;height:20px;cursor:pointer}.checklist-item span.completed{text-decoration:line-through;color:#999}.upload-btn{background:#f44336;color:#fff;padding:.5rem 1rem;border-radius:4px;cursor:pointer;display:inline-block}.upload-btn:hover{background:#f44336}.files-list{display:flex;flex-direction:column;gap:.75rem}.file-item{padding:.75rem;background:#f5f5f5;border-radius:4px;margin-bottom:.5rem}.file-item-main{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.file-item-info{flex:1;min-width:0}.file-name{font-weight:700;font-size:.95rem;color:#333;display:block;margin-bottom:.5rem;word-break:break-word}.file-item-meta{display:flex;flex-direction:column;gap:.375rem}.file-folder-select{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.file-folder-label{font-size:.875rem;color:#666;white-space:nowrap}.file-folder-dropdown{padding:.25rem .5rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem;background-color:#fff;cursor:pointer;min-width:120px}.file-folder-dropdown:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.file-moving-indicator{font-size:.75rem;color:#666;font-style:italic}.file-date{font-size:.75rem;color:#999}.file-item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex-shrink:0}.file-size{color:#666;font-size:.875rem;white-space:nowrap}.file-action-buttons{display:flex;gap:.5rem;align-items:center}.download-link{color:#667eea;text-decoration:none;font-size:.875rem;white-space:nowrap;padding:.375rem .75rem;border-radius:4px;transition:background-color .2s}.download-link:hover{text-decoration:underline;background-color:#667eea1a}.file-delete-btn{background:#dc3545;color:#fff;border:none;padding:.375rem .75rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s;white-space:nowrap}.file-delete-btn:hover:not(:disabled){background:#c82333}.file-delete-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.hardware-form,.software-form{background:#f9f9f9;padding:1.5rem;border-radius:4px;margin-bottom:1.5rem}.serial-numbers-list{display:flex;flex-direction:column;gap:1rem}.hardware-serial-row{display:flex;align-items:center;gap:1.5rem;padding:1rem;background:#fff;border-radius:4px;border:1px solid #ddd}.hardware-name{font-weight:500;color:#333;min-width:300px;flex-shrink:0}.serial-input{flex:1;padding:.5rem .75rem;border:1px solid #ced4da;border-radius:4px;font-size:.95em;max-width:300px}.serial-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.software-licenses-list{display:flex;flex-direction:column;gap:1rem}.software-license-row{display:flex;align-items:center;gap:1.5rem;padding:1rem;background:#fff;border-radius:4px;border:1px solid #ddd}.software-name{min-width:200px;font-weight:500;color:#333}.license-keys{display:flex;gap:.75rem;flex:1;justify-content:flex-end}.license-input{width:200px;padding:.5rem .75rem;border:1px solid #ced4da;border-radius:4px;font-size:.95em;flex-shrink:0}.license-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.delete-btn-small{background:#f44336;color:#fff;border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:1.2rem;line-height:1;display:flex;align-items:center;justify-content:center}.delete-btn-small:hover{background:#d32f2f}.add-serial-form{display:flex;gap:.5rem;padding:.75rem;background:#fff;border-radius:4px;border:1px solid #ddd}.add-serial-form input{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px}.add-serial-btn{background:#4caf50;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.add-serial-btn:hover:not(:disabled){background:#45a049}.add-serial-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;padding:2rem;max-width:700px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #ddd}.modal-header h2{margin:0;color:#333}.close-btn{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.close-btn:hover{background:#f0f0f0;color:#333}.email-form .form-group input,.email-form .form-group select,.email-form .form-group textarea{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:.95rem;font-family:inherit}.email-form .form-group textarea{resize:vertical;min-height:200px}.email-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #ddd}@media(max-width:768px){.install-detail{padding:1rem}.detail-header{flex-direction:column;align-items:flex-start;gap:1rem}.detail-header h1{font-size:1.5rem}.edit-btn{width:100%;padding:.75rem}.edit-form{padding:1.5rem}.form-row{grid-template-columns:1fr}.detail-layout{flex-direction:column;gap:1rem}.detail-sidebar{width:100%;position:static;max-height:none;padding:.5rem 0;box-shadow:0 2px 4px #0000001a;background:#fff;border-radius:8px}.detail-main-content{width:100%;padding:0}.tabs{flex-direction:column;gap:.25rem;padding:.5rem 0}.tabs button{padding:.875rem 1.25rem;font-size:.95rem;white-space:normal;border-left:3px solid transparent;border-bottom:none;text-align:left}.tabs button.active{border-left-color:#f44336;background:#fff5f5;color:#f44336;font-weight:600}.tab-content{padding:1rem 0;overflow-x:auto;width:100%;box-sizing:border-box}.info-grid{grid-template-columns:1fr;gap:1rem}.stages-grid{grid-template-columns:1fr}.data-table{min-width:600px}.data-table th,.data-table td{padding:.5rem;font-size:.875rem}.hardware-serial-row{flex-direction:column;align-items:flex-start;gap:.75rem}.hardware-name{min-width:auto;width:100%}.serial-input{width:100%;max-width:none}.software-license-row{flex-direction:column;align-items:flex-start;gap:.75rem}.software-name{min-width:auto;width:100%}.license-keys{flex-direction:column;width:100%}.license-input{width:100%;min-width:auto}.add-serial-form{flex-direction:column}.add-serial-form input,.add-serial-btn{width:100%}.modal-content{width:95%;max-width:none;padding:1.5rem;margin:1rem;max-height:calc(100vh - 2rem)}.modal-header{flex-direction:column;align-items:flex-start;gap:1rem}.modal-header h2{font-size:1.25rem}.email-form .form-actions{flex-direction:column}.email-form .form-actions button{width:100%}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.add-btn{width:100%}.action-btn{width:100%;margin-bottom:.5rem}.files-list{gap:.5rem}.file-item-main{flex-direction:column;align-items:flex-start;gap:1rem}.file-item-actions{align-items:flex-start;width:100%}.file-action-buttons{flex-wrap:wrap}.upload-btn{width:100%;text-align:center;padding:.75rem}input[type=file]{font-size:16px;padding:.75rem}}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{overflow:visible;text-transform:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;cursor:pointer}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar *:before,.rbc-calendar *:after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{overflow:hidden;position:absolute;inset:0}.rbc-ellipsis,.rbc-show-more,.rbc-row-segment .rbc-event-content,.rbc-event-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{overflow:hidden;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;text-align:center;vertical-align:middle;font-weight:700;font-size:90%;min-height:0;border-bottom:1px solid #ddd}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;background:none;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.rbc-row-content{position:relative;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{height:100%;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:10px;font-size:16px}.rbc-toolbar .rbc-toolbar-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{color:#373a3c;display:inline-block;margin:0;text-align:center;vertical-align:middle;background:none;background-image:none;border:1px solid #ccc;padding:.375rem 1rem;border-radius:4px;line-height:normal;white-space:nowrap}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px #00000020;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media(max-width:767px){.rbc-toolbar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.rbc-event,.rbc-day-slot .rbc-background-event{border:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;margin:0;padding:2px 5px;background-color:#3174ad;border-radius:5px;color:#fff;cursor:pointer;width:100%;text-align:left}.rbc-slot-selecting .rbc-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-slot-selecting .rbc-background-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected,.rbc-day-slot .rbc-selected.rbc-background-event{background-color:#265985}.rbc-event:focus,.rbc-day-slot .rbc-background-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{-webkit-box-shadow:-1px 1px 5px 0px rgba(51,51,51,.5);box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;z-index:4;font-weight:700;font-size:85%;height:auto;line-height:normal;color:#3174ad}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{position:relative;border:1px solid #ddd;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;height:100%}.rbc-month-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-month-row{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px;overflow:hidden;height:100%}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:hidden;right:1px}.rbc-day-bg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{position:absolute;z-index:5;border:1px solid #e5e5e5;background-color:#fff;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.25);box-shadow:0 5px 15px #00000040;padding:10px}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{width:100%;border:1px solid #ddd;border-spacing:0;border-collapse:collapse}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{padding:3px 5px;text-align:left;border-bottom:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{-webkit-box-flex:1;-ms-flex:1;flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;min-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.rbc-time-gutter,.rbc-header-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{inset:0;position:absolute;margin-right:10px}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;display:-webkit-box;display:-ms-flexbox;display:flex;max-height:100%;min-height:20px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{-webkit-box-flex:0;-ms-flex:none;flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{width:100%;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;word-wrap:break-word;line-height:1;height:100%;min-height:1em}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{position:sticky;left:0;background-color:#fff;border-right:1px solid #ddd;z-index:10;margin-right:-1px}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{min-width:auto;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{width:140px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;-ms-flex-preferred-size:0 px;flex-basis:0 px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;position:absolute;background-color:#00000080;color:#fff;font-size:75%;width:100%;padding:3px}.rbc-slot-selecting{cursor:move}.rbc-time-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;border:1px solid #ddd;min-height:0}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{-webkit-box-sizing:border-box;box-sizing:border-box;min-height:20px}.rbc-time-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-right-width:0;border-left:1px solid #ddd}.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-left:1px solid #ddd}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;-ms-flex-negative:0;flex-shrink:0}.rbc-time-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:100%;border-top:2px solid #ddd;overflow-y:auto;position:relative}.rbc-time-content>.rbc-time-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rbc-current-time-indicator{position:absolute;z-index:3;left:0;right:0;height:1px;background-color:#74ad31;pointer-events:none}.rbc-resource-grouping.rbc-time-header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.rbc-addons-dnd .rbc-addons-dnd-row-body{position:relative}.rbc-addons-dnd .rbc-addons-dnd-drag-row{position:absolute;top:0;left:0;right:0}.rbc-addons-dnd .rbc-addons-dnd-over{background-color:#0000004d}.rbc-addons-dnd .rbc-event{transition:opacity .15s}.rbc-addons-dnd .rbc-event:hover .rbc-addons-dnd-resize-ns-icon,.rbc-addons-dnd .rbc-event:hover .rbc-addons-dnd-resize-ew-icon{display:block}.rbc-addons-dnd .rbc-addons-dnd-dragged-event{opacity:0}.rbc-addons-dnd.rbc-addons-dnd-is-dragging .rbc-event:not(.rbc-addons-dnd-dragged-event):not(.rbc-addons-dnd-drag-preview){opacity:.5}.rbc-addons-dnd .rbc-addons-dnd-resizable{position:relative;width:100%;height:100%}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor{width:100%;text-align:center;position:absolute}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor:first-child{top:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor:last-child{bottom:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor .rbc-addons-dnd-resize-ns-icon{display:none;border-top:3px double;margin:0 auto;width:10px;cursor:ns-resize}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor{position:absolute;top:4px;bottom:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor:first-child{left:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor:last-child{right:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor .rbc-addons-dnd-resize-ew-icon{display:none;border-left:3px double;margin-top:auto;margin-bottom:auto;height:10px;cursor:ew-resize}.calendar-page{padding:var(--space-4) 0;max-width:100%;margin:0 auto}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-3)}.calendar-header h1{margin:0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:-.02em}.calendar-filters{display:flex;align-items:center;gap:var(--space-2)}.calendar-filters label{font-weight:var(--font-medium);font-size:var(--text-sm);color:var(--color-text-secondary)}.calendar-filters select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-sans);background:var(--color-bg-input);color:var(--color-text)}.calendar-legend{background:var(--color-bg-elevated);padding:var(--space-3);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);margin-bottom:var(--space-4)}.calendar-legend h3{margin:0 0 var(--space-3) 0;color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-semibold)}.legend-items{display:flex;flex-wrap:wrap;gap:1rem}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-color{width:20px;height:20px;border-radius:4px;display:inline-block}.calendar-container{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.loading{padding:2rem;text-align:center}@media(max-width:768px){.calendar-page{padding:1rem}.calendar-header{flex-direction:column;align-items:flex-start;gap:1rem}.calendar-header h1{font-size:1.5rem}.calendar-filters{width:100%;flex-direction:column;align-items:flex-start;gap:.75rem}.calendar-filters select{width:100%}.calendar-legend{padding:1rem}.legend-items{flex-direction:column;gap:.75rem}.calendar-container{padding:1rem;overflow-x:auto}.fc{font-size:.875rem}.fc-toolbar{flex-direction:column;gap:.5rem}.fc-toolbar-title{font-size:1.25rem}.fc-button{padding:.375rem .75rem;font-size:.875rem}.fc-daygrid-day{min-height:60px}.fc-event{font-size:.75rem;padding:2px 4px}}.admin-page{padding:var(--space-4) 0;box-sizing:border-box;width:100%;max-width:100%;font-family:var(--font-sans)}.admin-page h1{margin-bottom:var(--space-4);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:-.02em}.admin-layout{display:flex;gap:var(--space-5);align-items:flex-start;width:100%;box-sizing:border-box}.admin-sidebar{flex-shrink:0;width:220px;background:var(--color-bg-elevated);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);padding:var(--space-3) 0;position:sticky;top:var(--space-4);max-height:calc(100vh - 4rem);overflow-y:auto}.admin-tabs{display:flex;flex-direction:column;gap:var(--space-1)}.admin-tabs button{background:none;border:none;padding:var(--space-2) var(--space-4);cursor:pointer;color:var(--color-text-secondary);font-size:.9375rem;font-family:var(--font-sans);text-align:left;transition:color var(--transition-fast),background var(--transition-fast);border-left:3px solid transparent;border-radius:0}.admin-tabs button:hover{color:var(--color-text);background:var(--color-bg-hover)}.admin-tabs button.active{color:var(--color-primary);background:var(--color-primary-light);border-left-color:var(--color-primary);font-weight:var(--font-semibold)}.admin-main-content{flex:1;min-width:0}.admin-content{background:var(--color-bg-elevated);padding:var(--space-5);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{margin:0;color:#333}.add-btn{background:#4caf50;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500}.add-btn:hover{background:#45a049}.admin-form{background:#f9f9f9;padding:1.5rem;border-radius:4px;margin-bottom:2rem}.admin-form h3{margin:0 0 1.5rem;color:#333}.admin-form .form-group{margin-bottom:1rem}.admin-form label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.admin-form .form-group label:has(input[type=checkbox]),.admin-form .form-group label.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;margin-bottom:.5rem;font-weight:500}.admin-form label input[type=checkbox]{width:auto;margin:0;padding:0;cursor:pointer;flex-shrink:0;vertical-align:middle}.admin-form input,.admin-form select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box}.admin-form input:focus,.admin-form select:focus{outline:none;border-color:#667eea}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.save-btn{background:#f44336;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500}.save-btn:hover{background:#c72e23}.cancel-btn{background:#999;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500}.cancel-btn:hover{background:#777}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.admin-table th{background:#f5f5f5;font-weight:600;color:#666}.admin-table tbody tr:hover{background:#f9f9f9}.edit-btn{background:#f44336;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;margin-right:.5rem;font-size:.875rem}.edit-btn:hover{background:#ad241a}.delete-btn{background:#f44336;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem}.delete-btn:hover{background:#d32f2f}.loading{padding:2rem;text-align:center;font-size:1.2rem;color:#666}@media(max-width:768px){.admin-page{padding:1rem}.admin-page h1{font-size:1.5rem}.admin-layout{flex-direction:column;gap:1rem}.admin-sidebar{width:100%;position:static;max-height:none;padding:.5rem 0;box-shadow:0 2px 4px #0000001a;background:#fff;border-radius:8px}.admin-main-content{width:100%;padding:0}.admin-tabs{flex-direction:column;gap:.25rem;padding:.5rem 0}.admin-tabs button{padding:.875rem 1.25rem;font-size:.95rem;white-space:normal;border-left:3px solid transparent;border-bottom:none;text-align:left}.admin-tabs button.active{border-left-color:#f44336;background:#fff5f5;color:#f44336;font-weight:600}.admin-content{padding:1rem 0;overflow-x:auto;width:100%;box-sizing:border-box}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.section-header h2{font-size:1.25rem}.add-btn{width:100%}.admin-form{padding:1rem}.form-actions{flex-direction:column}.form-actions button{width:100%}.admin-table{min-width:600px}.admin-table th,.admin-table td{padding:.75rem .5rem;font-size:.875rem}.edit-btn,.delete-btn{width:100%;margin-bottom:.5rem}select[multiple]{min-height:150px}}.analytics-page{padding:var(--space-4) 0;max-width:100%;margin:0 auto}.analytics-page h1{margin-bottom:var(--space-4);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:-.02em}.analytics-filters{display:flex;flex-direction:row;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;background:var(--color-bg-elevated);padding:var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.analytics-page .filter-group{display:flex;flex-direction:row;align-items:center;gap:var(--space-2)}.analytics-page .filter-group label{font-weight:var(--font-medium);font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap}.analytics-page .filter-group select,.analytics-page .filter-group input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:var(--font-sans);background:var(--color-bg-input);color:var(--color-text)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.analytics-page .stat-card{background:var(--color-bg-elevated);padding:var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.analytics-page .stat-card h3{margin:0 0 var(--space-2) 0;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.04em}.analytics-page .stat-number{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text)}.analytics-page .stat-number.profit{color:var(--color-success)}.analytics-page .stat-number.loss{color:var(--color-error)}.analytics-section{background:var(--color-bg-elevated);padding:var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);margin-bottom:var(--space-4)}.analytics-section h2{margin:0 0 var(--space-4) 0;color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-semibold)}.table-container{overflow-x:auto}.analytics-table{width:100%;border-collapse:collapse}.analytics-table th,.analytics-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border-light)}.analytics-table th{background:var(--color-bg);font-weight:var(--font-semibold);color:var(--color-text-secondary);position:sticky;top:0}.analytics-table tbody tr:hover{background:var(--color-bg)}.analytics-table .profit{color:var(--color-success);font-weight:var(--font-semibold)}.analytics-table .loss{color:var(--color-error);font-weight:600}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500}.status-active{background:#e3f2fd;color:#1976d2}.status-completed{background:#e8f5e9;color:#388e3c}.no-data{color:#999;font-style:italic;padding:2rem;text-align:center}.loading{padding:2rem;text-align:center;color:#666}.error-message{background:#fee;color:#c33;padding:1rem;border-radius:4px;margin-bottom:1rem}.retry-btn{background:#f44336;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem}.retry-btn:hover{background:#d32f2f}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #eee}.pagination-button{padding:.5rem 1rem;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;cursor:pointer;font-size:.875rem;transition:background-color .2s,border-color .2s}.pagination-button:hover:not(:disabled){background:#f5f5f5;border-color:#bbb}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:#666;font-size:.875rem;margin:0 .5rem}@media(max-width:768px){.analytics-page{padding:1rem}.analytics-page h1{font-size:1.5rem}.analytics-filters{flex-direction:column;gap:1rem}.filter-group{width:100%;flex-direction:column;align-items:flex-start;gap:.5rem}.filter-group select,.filter-group input{width:100%}.stats-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1.25rem}.stat-number{font-size:1.75rem}.analytics-section{padding:1rem}.analytics-table{min-width:600px}.analytics-table th,.analytics-table td{padding:.5rem;font-size:.875rem}.pagination{flex-wrap:wrap;gap:.5rem}.pagination-info{width:100%;text-align:center;margin:.5rem 0}}.quotes-page{padding:var(--space-4) 0;max-width:100%;margin:0 auto}.quotes-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-3)}.quotes-page .page-header h1{margin:0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:-.02em}.quotes-page .btn-primary{padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast)}.quotes-page .btn-primary:hover{background:var(--color-primary-hover)}.quotes-page .btn-secondary{padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);color:#fff;background:var(--color-text-secondary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast)}.quotes-page .btn-secondary:hover{background:var(--color-text)}.quotes-page .btn-secondary:disabled{opacity:.6;cursor:not-allowed}.quotes-page .filters{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.quotes-page .filter-group{display:flex;align-items:center;gap:var(--space-2)}.quotes-page .filter-group label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-secondary)}.quotes-page .filter-group select,.quotes-page .filter-group input{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:200px}.quotes-page .filter-group input{min-width:250px}.quotes-page .table-responsive{overflow-x:auto;background:var(--color-bg-elevated);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.quotes-page .data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.quotes-page .data-table th,.quotes-page .data-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border-light)}.quotes-page .data-table th{background:var(--color-bg);font-weight:var(--font-semibold);color:var(--color-text-secondary)}.quotes-page .data-table tbody tr:hover{background:var(--color-bg)}.quotes-page .view-link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-medium)}.quotes-page .view-link:hover{text-decoration:underline}.quotes-page .status-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.quotes-page .status-draft{background:var(--color-bg-hover);color:var(--color-text-muted)}.quotes-page .status-sent{background:var(--color-info);color:#fff}.quotes-page .status-sale-agreed{background:var(--color-success);color:#fff}.quotes-page .status-default{background:var(--color-text-muted);color:#fff}.quotes-page .action-buttons{display:flex;gap:var(--space-2);flex-wrap:wrap}.quotes-page .btn-small{padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);color:#fff;background:var(--color-text-secondary);border:none;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;display:inline-block;transition:opacity var(--transition-fast)}.quotes-page .btn-small:hover{opacity:.9}.quotes-page .btn-small.btn-success{background:var(--color-success)}.quotes-page .btn-small.btn-danger{background:var(--color-primary)}.quotes-page .no-data{text-align:center;padding:var(--space-12);color:var(--color-text-muted)}.quotes-page .pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6);padding:var(--space-4)}.quotes-page .pagination-button{padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.quotes-page .pagination-button:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-text-muted)}.quotes-page .pagination-button:disabled{opacity:.5;cursor:not-allowed}.quotes-page .pagination-info{color:var(--color-text-muted);font-size:var(--text-sm)}.quotes-page .loading{text-align:center;padding:var(--space-12);color:var(--color-text-muted)}@media(max-width:768px){.quotes-page{padding:var(--space-4)}.quotes-page .page-header{flex-direction:column;align-items:flex-start}.quotes-page .filters{flex-direction:column;width:100%}.quotes-page .filter-group{width:100%;flex-direction:column;align-items:flex-start}.quotes-page .filter-group input{width:100%;min-width:unset}.quotes-page .data-table{min-width:600px}.quotes-page .data-table th,.quotes-page .data-table td{padding:var(--space-3);font-size:var(--text-xs)}.quotes-page .action-buttons{flex-direction:column}.quotes-page .btn-small{width:100%;text-align:center}.quotes-page .pagination{flex-direction:column}}.quotes-page .modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.quotes-page .modal-content{background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--space-8);max-width:700px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light)}.quotes-page .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light)}.quotes-page .modal-header h2{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.quotes-page .close-btn{background:none;border:none;font-size:var(--text-2xl);color:var(--color-text-muted);cursor:pointer;padding:var(--space-2);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.quotes-page .close-btn:hover{background:var(--color-bg-hover);color:var(--color-text)}.quotes-page .email-form .form-group{margin-bottom:var(--space-6)}.quotes-page .email-form .form-group label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-medium);font-size:var(--text-sm);color:var(--color-text)}.quotes-page .email-form .form-group input,.quotes-page .email-form .form-group select,.quotes-page .email-form .form-group textarea{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-input);color:var(--color-text)}.quotes-page .email-form .form-group textarea{resize:vertical;min-height:200px}.quotes-page .email-form .form-group input:focus,.quotes-page .email-form .form-group select:focus,.quotes-page .email-form .form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.quotes-page .email-form .form-actions{display:flex;gap:var(--space-4);justify-content:flex-end;margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.quotes-page .save-btn{padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);color:#fff;background:var(--color-success);border:none;border-radius:var(--radius-sm);cursor:pointer}.quotes-page .save-btn:hover:not(:disabled){opacity:.9}.quotes-page .save-btn:disabled{opacity:.6;cursor:not-allowed}.quotes-page .cancel-btn{padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);color:#fff;background:var(--color-text-secondary);border:none;border-radius:var(--radius-sm);cursor:pointer}.quotes-page .cancel-btn:hover{opacity:.9}.notifications-page{padding:var(--space-4) 0;max-width:100%;margin:0 auto}.notifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-3)}.notifications-header h1{margin:0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:-.02em}.notifications-actions{display:flex;gap:var(--space-4)}.notifications-filters{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:2px solid var(--color-border-light)}.notifications-page .filter-btn{padding:var(--space-2) var(--space-6);border:2px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-family:var(--font-sans);font-weight:var(--font-medium);transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.notifications-page .filter-btn:hover{border-color:var(--color-success);color:var(--color-success)}.notifications-page .filter-btn.active{background:var(--color-success);color:#fff;border-color:var(--color-success)}.notifications-loading,.notifications-empty{text-align:center;padding:var(--space-12) var(--space-8);color:var(--color-text-muted);font-size:var(--text-base)}.notifications-list{display:flex;flex-direction:column;gap:1rem}.notification-card{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;transition:box-shadow .2s;border-left:4px solid transparent}.notification-card:hover{box-shadow:0 4px 8px #00000026}.notification-card.unread{border-left-color:#4caf50;background:#f9fff9}.notification-card.read{border-left-color:#ccc;opacity:.9}.notification-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.notification-card-title{display:flex;align-items:center;gap:.75rem;flex:1}.unread-indicator{width:10px;height:10px;background:#4caf50;border-radius:50%;flex-shrink:0}.notification-card-title h3{margin:0;font-size:1.1rem;color:#333;font-weight:600}.notification-card-actions{display:flex;gap:.5rem}.btn-icon{width:32px;height:32px;border:none;background:#f0f0f0;border-radius:4px;cursor:pointer;font-size:1.2rem;color:#666;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover{background:#e0e0e0;color:#333}.btn-icon.delete-btn:hover{background:#ffebee;color:#c62828}.notification-card-body{margin-bottom:1rem}.notification-card-body p{margin:0 0 .75rem;color:#555;line-height:1.6}.notification-card-meta{display:flex;gap:1rem;font-size:.9rem;color:#999}.notification-time{font-weight:500}.notification-read-time{font-style:italic}.notification-card-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.btn{padding:.5rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.btn-primary{background:#4caf50;color:#fff}.btn-primary:hover{background:#45a049}.btn-secondary{background:#f0f0f0;color:#666}.btn-secondary:hover{background:#e0e0e0}.btn-danger{background:#f44336;color:#fff}.btn-danger:hover{background:#d32f2f}@media(max-width:768px){.notifications-page{padding:1rem}.notifications-header{flex-direction:column;align-items:flex-start;gap:1rem}.notifications-filters{flex-wrap:wrap}.filter-btn{flex:1;min-width:100px}.notification-card{padding:1rem}.notification-card-header{flex-direction:column;gap:.5rem}.notification-card-actions{align-self:flex-end}}.eft-comparison-page{padding:var(--space-8);box-sizing:border-box;width:100%;max-width:100%;font-family:var(--font-sans)}.eft-comparison-page h1{margin-bottom:var(--space-4);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:-.02em}.calculator-container{background:var(--color-bg-elevated);padding:var(--space-5);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.calculator-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-weight:500;color:#333;font-size:.95rem}.input-group input{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .2s}.input-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input-group input.readonly{background:var(--color-bg-hover);cursor:not-allowed;color:var(--color-text-muted)}.input-group.calculated label{color:#666;font-style:italic}.loading-message{text-align:center;padding:2rem;color:#666;font-style:italic}.provider-selection{margin-top:2rem;padding:1.5rem;background:#f9f9f9;border-radius:8px;border:1px solid #ddd}.provider-selection h3{margin:0 0 1rem;color:#333;font-size:1.1rem}.provider-checkboxes{display:flex;flex-wrap:wrap;gap:1rem}.provider-checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:2px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.provider-checkbox-label:hover{border-color:#f44336;background:#fff5f5}.provider-checkbox-label input[type=checkbox]:checked+span{font-weight:600;color:#f44336}.provider-checkbox-label input[type=checkbox]:checked~span{color:#f44336}.provider-checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px}.provider-checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.provider-checkbox-label:has(input[type=checkbox]:checked){border-color:#f44336;background:#fff5f5}.provider-checkbox-label:has(input[type=checkbox]:disabled){opacity:.6;cursor:not-allowed}.results-container h3{margin:2rem 0 1rem;color:#333;font-size:1.2rem}.results-header-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.results-header-actions h3{margin:0}.action-buttons{display:flex;gap:1rem}.btn-pdf,.btn-email{padding:.75rem 1.5rem;border:none;border-radius:4px;font-weight:500;cursor:pointer;font-size:.95rem;transition:background-color .2s}.btn-pdf{background:#f44336;color:#fff}.btn-pdf:hover:not(:disabled){background:#ad241a}.btn-pdf:disabled{background:#ccc;cursor:not-allowed}.btn-email{background:#2196f3;color:#fff}.btn-email:hover{background:#1976d2}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee}.modal-header h2{margin:0;color:#333;font-size:1.5rem}.close-btn{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;line-height:1}.close-btn:hover{color:#333}.email-form{padding:1.5rem}.email-form .form-group{margin-bottom:1.5rem}.email-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.email-form .form-group input,.email-form .form-group select,.email-form .form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;font-family:inherit}.email-form .form-group input:focus,.email-form .form-group select:focus,.email-form .form-group textarea:focus{outline:none;border-color:#f44336}.email-form .form-group textarea{resize:vertical;min-height:120px}.email-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.save-btn{background:#4caf50;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500}.save-btn:hover:not(:disabled){background:#45a049}.save-btn:disabled{background:#ccc;cursor:not-allowed}.cancel-btn{background:#666;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:500}.cancel-btn:hover{background:#555}@media(max-width:768px){.results-header-actions{flex-direction:column;align-items:flex-start}.action-buttons{width:100%;flex-direction:column}.btn-pdf,.btn-email{width:100%}.modal-content{max-width:100%;margin:1rem}}.results-container{margin-top:2rem;overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse;font-size:.95rem}.comparison-table thead{background:#f5f5f5}.comparison-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd}.comparison-table th.provider-col{background:#e3f2fd;color:#1976d2}.comparison-table th.saving-col{background:#e8f5e9;color:#2e7d32}.comparison-table td{padding:.75rem 1rem;border-bottom:1px solid #eee;color:#333}.comparison-table tbody tr:hover{background:#f9f9f9}.comparison-table .results-header{font-weight:600;background:#f5f5f5}.comparison-table .results-header td{border-top:2px solid #ddd;border-bottom:2px solid #ddd}.comparison-table .result-row td{padding-top:1rem;padding-bottom:1rem}.comparison-table .provider-cell{background:#e3f2fd;color:#1976d2;font-weight:600;text-align:right}.comparison-table .provider-cell.best{background:#bbdefb;font-weight:700}.comparison-table .provider-name{background:#fff3e0;color:#e65100;font-weight:500}.comparison-table .saving-cell{background:#e8f5e9;color:#2e7d32;text-align:right;font-weight:500}.comparison-table .saving-cell.negative{color:#c62828}@media(max-width:768px){.eft-comparison-page,.calculator-container{padding:1rem}.calculator-inputs{grid-template-columns:1fr;gap:1rem}.comparison-table{font-size:.85rem}.comparison-table th,.comparison-table td{padding:.5rem}}.follow-ups-page{padding:var(--space-4) 0;max-width:100%;margin:0 auto}.follow-ups-page h1{margin:0 0 var(--space-2) 0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:-.02em}.follow-ups-toggle{display:flex;gap:var(--space-3);margin:var(--space-4) 0 var(--space-2);flex-wrap:wrap}.follow-ups-toggle-btn{border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-secondary);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.follow-ups-toggle-btn:hover{background:var(--color-bg-hover)}.follow-ups-toggle-btn.active{background:var(--color-primary-light);border-color:var(--color-primary-border);color:var(--color-primary)}.follow-ups-intro{color:var(--color-text-secondary);margin-bottom:var(--space-4);font-size:.9375rem}.follow-ups-page .no-items{color:var(--color-text-muted);padding:var(--space-8);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.follow-ups-list{display:flex;flex-direction:column;gap:var(--space-4)}.follow-up-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--shadow-sm)}.follow-up-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light)}.follow-up-phone{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.follow-up-card.highlight{box-shadow:0 0 0 3px var(--color-primary-light),var(--shadow-sm);border-color:var(--color-primary-border)}.follow-up-customer{font-weight:var(--font-semibold);font-size:var(--text-base);color:var(--color-primary);text-decoration:none}.follow-up-customer:hover{text-decoration:underline}.follow-up-completed,.follow-up-assigned{color:var(--color-text-muted);font-size:var(--text-sm)}.follow-up-stages{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.follow-up-stage{background:var(--color-bg);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);border-left:4px solid var(--color-border)}.follow-up-stage.contacted{border-left-color:var(--color-success);background:var(--color-success-bg)}.stage-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.stage-label{font-weight:var(--font-semibold);color:var(--color-text)}.stage-due{font-size:var(--text-sm);color:var(--color-text-muted)}.stage-actions{margin-top:var(--space-2)}.contacted-badge{display:inline-block;font-size:var(--text-sm);color:var(--color-success);margin-bottom:var(--space-2)}.btn-mark-contact{background:var(--color-info);color:#fff;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-sans);font-weight:var(--font-medium);cursor:pointer;margin-bottom:var(--space-2)}.btn-mark-contact:hover:not(:disabled){opacity:.9}.btn-mark-contact:disabled{opacity:.6;cursor:not-allowed}.stage-notes .notes-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-sans);resize:vertical;box-sizing:border-box;background:var(--color-bg-input);color:var(--color-text)}.stage-notes .notes-input:focus{outline:none;border-color:var(--color-primary)}.stage-notes .notes-display{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary);white-space:pre-wrap}@media(max-width:768px){.follow-ups-page{padding:var(--space-4)}.follow-up-stages{grid-template-columns:1fr}}.contract-renewals-page{padding:var(--space-4) 0;max-width:100%;margin:0 auto}.contract-renewals-page h1{margin:0 0 var(--space-2) 0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:-.02em}.renewals-intro{color:var(--color-text-secondary);margin-bottom:var(--space-4);font-size:.9375rem}.contract-renewals-page .no-items{color:var(--color-text-muted);padding:var(--space-8);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.renewals-table-wrap{overflow-x:auto;background:var(--color-bg-elevated);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.renewals-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.renewals-table th,.renewals-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border-light)}.renewals-table th{background:var(--color-bg);font-weight:var(--font-semibold);color:var(--color-text-secondary)}.renewals-table .customer-link{color:var(--color-primary);font-weight:var(--font-semibold);text-decoration:none}.renewals-table .customer-link:hover{text-decoration:underline}.contract-renewals-page .email-small{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.summary-cell{font-size:var(--text-sm);color:var(--color-text-secondary);max-width:400px}.contract-renewals-page .status-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-medium)}.status-contacted{background:var(--color-info-bg);color:var(--color-info)}.status-agreed{background:var(--color-success-bg);color:var(--color-success)}.status-declined{background:var(--color-error-bg);color:var(--color-error)}.actions-cell{white-space:nowrap}.actions-cell .btn-contact,.actions-cell .btn-agree,.actions-cell .btn-decline{margin-right:.5rem;margin-bottom:.25rem;padding:.4rem .75rem;border:none;border-radius:4px;font-size:.875rem;cursor:pointer}.actions-cell .btn-contact{background:var(--color-info);color:#fff}.actions-cell .btn-agree{background:var(--color-success);color:#fff}.actions-cell .btn-decline{background:var(--color-primary);color:#fff}.actions-cell .btn-contact:hover:not(:disabled),.actions-cell .btn-agree:hover:not(:disabled),.actions-cell .btn-decline:hover:not(:disabled){opacity:.9}.actions-cell button:disabled{opacity:.6;cursor:not-allowed}.contacted-modal-inline{padding:.5rem 0}.contacted-modal-inline .notes-input{width:100%;max-width:280px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-sans);resize:vertical;box-sizing:border-box;margin-bottom:var(--space-2);background:var(--color-bg-input);color:var(--color-text)}.contacted-modal-inline .notes-input:focus{outline:none;border-color:var(--color-primary)}.modal-actions{display:flex;gap:.5rem}.btn-save{background:var(--color-success);color:#fff;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-family:var(--font-sans);font-weight:var(--font-medium)}.btn-cancel{background:var(--color-text-secondary);color:#fff;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-family:var(--font-sans);font-weight:var(--font-medium)}.support-cost-cell{font-size:.9rem;white-space:nowrap}.support-cost-cell span{margin-right:.5rem}.btn-edit-support{background:var(--color-text-secondary);color:#fff;border:none;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-sans);cursor:pointer}.btn-edit-support:hover{opacity:.9}.contract-renewals-page .modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.contract-renewals-page .modal-content{background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:0;max-height:90vh;overflow:auto;box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light)}.contract-renewals-page .modal-content.support-modal{max-width:480px;display:flex;flex-direction:column}.support-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.support-modal-header h2{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.support-modal-close{background:none;border:none;font-size:var(--text-xl);line-height:1;cursor:pointer;color:var(--color-text-muted);padding:var(--space-2);border-radius:var(--radius-sm)}.support-modal-close:hover{background:var(--color-bg-hover);color:var(--color-text)}.support-modal-body{padding:var(--space-5);flex:1;min-height:0}.support-modal-intro{margin:0 0 var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.support-modal-add{margin-bottom:1.25rem}.support-modal-add-label,.support-modal-list-label{display:block;font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:var(--space-2)}.support-modal-add-row{display:flex;gap:var(--space-2);align-items:center}.support-modal-select{flex:1;min-width:0;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-sans);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-input);color:var(--color-text)}.support-modal-add-btn{flex-shrink:0;padding:.5rem 1rem}.support-modal-list-wrap{margin-bottom:0}.support-modal-list-label{margin-bottom:.5rem}.support-modal-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);overflow:hidden}.support-modal-table thead{background:var(--color-bg)}.support-modal-table th{text-align:left;padding:var(--space-2) var(--space-3);font-weight:var(--font-semibold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}.support-modal-table td{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border-light);vertical-align:middle}.support-modal-table tbody tr:hover{background:var(--color-bg)}.support-modal-tier-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-modal-actions{text-align:right;white-space:nowrap}.support-modal-remove-btn{background:none;border:none;color:#c62828;font-size:.8125rem;cursor:pointer;padding:.25rem 0;text-decoration:underline}.support-modal-remove-btn:hover{color:var(--color-primary-hover)}.support-modal-empty{margin:0;padding:var(--space-4);font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic;background:var(--color-bg);border-radius:var(--radius-sm);border:1px dashed var(--color-border)}.support-modal-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border-light);background:var(--color-bg);border-radius:0 0 var(--radius-lg) var(--radius-lg);display:flex;justify-content:flex-end}.delete-btn{background:var(--color-error);color:#fff;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-family:var(--font-sans);font-weight:var(--font-medium)}.delete-btn:hover{opacity:.9}.support-source-badge{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-info-bg);color:var(--color-info);font-weight:var(--font-medium);white-space:nowrap}@media(max-width:768px){.contract-renewals-page{padding:var(--space-4)}.renewals-table th,.renewals-table td{padding:var(--space-2);font-size:var(--text-sm)}.summary-cell{max-width:200px}}.contracts-page{padding:var(--space-4) 0;max-width:100%;margin:0 auto}.contracts-page h1{margin:0 0 var(--space-2) 0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text);letter-spacing:-.02em}.contracts-intro{color:var(--color-text-secondary);margin-bottom:var(--space-4);font-size:.9375rem;line-height:var(--leading-content)}.contracts-page .no-items{color:var(--color-text-muted);padding:var(--space-8);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.contracts-page .loading{padding:var(--space-8);text-align:center;color:var(--color-text-muted)}.contracts-table-wrap{overflow-x:auto;background:var(--color-bg-elevated);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light)}.contracts-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.contracts-table th,.contracts-table td{padding:var(--space-4);text-align:left;border-bottom:1px solid var(--color-border-light)}.contracts-table th{background:var(--color-bg);font-weight:var(--font-semibold);color:var(--color-text-secondary)}.contracts-main-row:hover{background:var(--color-bg)}.contracts-expand-btn{background:none;border:none;cursor:pointer;padding:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);border-radius:var(--radius-sm);transition:color var(--transition-fast)}.contracts-expand-btn:hover{color:var(--color-text)}.contracts-customer-link{color:var(--color-primary);font-weight:var(--font-semibold);text-decoration:none}.contracts-customer-link:hover{text-decoration:underline}.contracts-email{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.contracts-expanded-row td{padding:0;border-bottom:1px solid var(--color-border-light);vertical-align:top}.contracts-expanded-inner{padding:var(--space-3) var(--space-3) var(--space-3) var(--space-6);background:var(--color-bg)}.contracts-history-loading,.contracts-history-empty{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.contracts-history-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.contracts-history-table th,.contracts-history-table td{padding:var(--space-2) var(--space-3);border:none;border-bottom:1px solid var(--color-border-light)}.contracts-history-table th{background:var(--color-bg);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}.contracts-status-badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium)}.contracts-status-agreed{background:var(--color-success-bg);color:var(--color-success)}.contracts-status-contacted{background:var(--color-info-bg);color:var(--color-info)}.contracts-status-declined{background:var(--color-error-bg);color:var(--color-error)}.contracts-status-current{background:var(--color-warning-bg);color:var(--color-warning)}.contracts-view-btn{padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--font-medium);color:#fff;background:var(--color-text-secondary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast)}.contracts-view-btn:hover{background:var(--color-text)}.contracts-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.contracts-modal{background:var(--color-bg-elevated);border-radius:var(--radius-lg);max-width:480px;width:90%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light)}.contracts-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light)}.contracts-modal-header h2{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.contracts-modal-close{background:none;border:none;font-size:var(--text-xl);line-height:1;cursor:pointer;color:var(--color-text-muted);padding:var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast)}.contracts-modal-close:hover{background:var(--color-bg-hover);color:var(--color-text)}.contracts-modal-body{padding:var(--space-5);overflow:auto;flex:1}.contracts-modal-period{margin:0 0 var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary)}.contracts-snapshot-section{margin-bottom:var(--space-5)}.contracts-snapshot-section h3{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.contracts-snapshot-section ul{margin:0;padding-left:var(--space-5);font-size:var(--text-sm);color:var(--color-text)}.contracts-snapshot-section li{margin-bottom:var(--space-1)}.contracts-snapshot-empty{margin:0;color:var(--color-text-muted);font-style:italic;font-size:var(--text-sm)}.contracts-modal-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border-light);background:var(--color-bg);display:flex;justify-content:flex-end}.contracts-modal-footer .btn-cancel{padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);color:#fff;background:var(--color-text-secondary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast)}.contracts-modal-footer .btn-cancel:hover{opacity:.9}.notification-bell-container{position:relative;margin-right:var(--space-4)}.notification-bell{position:relative;background:none;border:none;cursor:pointer;padding:var(--space-2);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.notification-bell:hover{color:var(--color-text);background:var(--color-bg-hover)}.notification-badge{position:absolute;top:0;right:0;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);padding:2px 6px;font-size:var(--text-xs);font-weight:var(--font-bold);min-width:18px;text-align:center;line-height:1.2}.notification-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;width:360px;max-height:500px;background:var(--color-bg-elevated);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);z-index:1000;display:flex;flex-direction:column;overflow:hidden}.notification-header{padding:var(--space-4);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:center}.notification-header h3{margin:0;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text)}.notification-header-actions{display:flex;gap:var(--space-2);align-items:center}.mark-all-read-btn{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--text-sm);font-family:var(--font-sans);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.mark-all-read-btn:hover{background:var(--color-primary-light)}.view-all-btn{color:var(--color-success);text-decoration:none;font-size:var(--text-sm);font-family:var(--font-sans);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.view-all-btn:hover{background:var(--color-bg-hover);text-decoration:underline}.notification-list{overflow-y:auto;flex:1}.notification-section{display:flex;flex-direction:column}.notification-item{padding:var(--space-4);border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background var(--transition-fast);display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.notification-item:hover{background:var(--color-bg)}.notification-item.unread{background:var(--color-info-bg);border-left:3px solid var(--color-info)}.notification-item.unread:hover{background:var(--color-info-bg)}.notification-item.read{opacity:.8}.notification-content{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.notification-view-btn{background:var(--color-primary);color:#fff;border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);font-family:var(--font-sans);font-weight:var(--font-medium);white-space:nowrap;transition:background-color var(--transition-fast);flex-shrink:0}.notification-view-btn:hover{background:var(--color-primary-hover)}.notification-title{font-weight:var(--font-semibold);color:var(--color-text);font-size:var(--text-sm)}.notification-message{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.notification-time{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:var(--space-1)}.notification-divider{height:1px;background:var(--color-border-light);margin:var(--space-2) 0}.notification-loading,.notification-empty{padding:var(--space-8);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}@media(max-width:768px){.notification-dropdown{width:320px;max-height:400px;right:-1rem}}.layout{min-height:100vh;display:flex;flex-direction:column}.navbar{background:var(--color-bg-elevated);padding:var(--space-4) var(--space-8);box-shadow:var(--shadow-nav);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--color-border-light)}.nav-brand h1{margin:0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-primary);letter-spacing:-.02em}.mobile-menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:var(--space-2);z-index:1001;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.mobile-menu-toggle:hover{background:var(--color-bg-hover)}.mobile-menu-toggle span{width:22px;height:2px;background:var(--color-text);border-radius:var(--radius-full);transition:transform var(--transition-normal),opacity var(--transition-normal)}.nav-links{display:flex;gap:var(--space-1);flex:1;margin-left:var(--space-8);align-items:center}.nav-links a{color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.nav-links a:hover{color:var(--color-text);background:var(--color-bg-hover)}.nav-links a.active{color:var(--color-primary);background:var(--color-primary-light)}.nav-user{display:flex;align-items:center;gap:var(--space-4)}.nav-user-name{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--font-normal)}.logout-btn{padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--font-medium);color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast)}.logout-btn:hover{background:var(--color-primary-hover)}.mobile-menu-overlay{display:none}.main-content{flex:1;width:100%;max-width:90%;margin-left:auto;margin-right:auto;padding:0 var(--space-4) var(--space-4);overflow-x:hidden;font-size:var(--text-content);line-height:var(--leading-content)}@media(max-width:768px){.navbar{padding:var(--space-4);flex-wrap:wrap}.nav-brand h1{font-size:var(--text-lg)}.mobile-menu-toggle{display:flex;order:2}.mobile-menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-toggle.active span:nth-child(2){opacity:0}.mobile-menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.nav-links{position:fixed;top:0;right:-100%;height:100vh;width:min(320px,85vw);background:var(--color-bg-elevated);flex-direction:column;gap:0;margin:0;padding:calc(var(--space-12) + var(--space-4)) var(--space-6) var(--space-6);box-shadow:var(--shadow-lg);transition:right .25s ease;z-index:1000;overflow-y:auto;align-items:stretch}.nav-links.mobile-open{right:0}.nav-links a{padding:var(--space-4);border-radius:var(--radius-sm);border-left:3px solid transparent}.nav-links a.active{border-left-color:var(--color-primary)}.nav-user{order:3;width:100%;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light);flex-direction:column;align-items:stretch;gap:var(--space-3)}.nav-user-name{font-size:var(--text-sm)}.logout-btn{width:100%;padding:var(--space-3)}.mobile-menu-overlay{display:block;position:fixed;inset:0;background:#0006;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.main-content{padding:0}}
