:root{--primary-color:#0d6efd;--secondary-color:#6c757d;--success-color:#198754;--warning-color:#ffc107;--danger-color:#dc3545;--info-color:#0dcaf0;--light-color:#f8f9fa;--dark-color:#212529;--primary-gradient:linear-gradient(135deg,#667eea,#764ba2);--secondary-gradient:linear-gradient(135deg,#f093fb,#f5576c);--success-gradient:linear-gradient(135deg,#4facfe,#00f2fe);--dark-gradient:linear-gradient(135deg,#434343,#000);--shadow-sm:0 2px 4px rgba(0,0,0,.08);--shadow-md:0 4px 12px rgba(0,0,0,.12);--shadow-lg:0 8px 24px rgba(0,0,0,.15);--shadow-xl:0 16px 48px rgba(0,0,0,.18);--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--transition-fast:all 0.15s ease-in-out;--transition-normal:all 0.3s ease-in-out;--transition-slow:all 0.5s ease-in-out}body{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;color:var(--dark-color)}.app-title{font-size:1.5rem!important;font-weight:600;color:var(--primary-color);margin-bottom:1rem;padding:.5rem 0;letter-spacing:-.5px;display:flex;align-items:center;gap:.5rem}.app-title small{font-size:1rem;color:var(--secondary-color);font-weight:500;white-space:nowrap}@media (max-width:768px){.app-title{font-size:1.25rem!important;flex-direction:column;align-items:flex-start;gap:.25rem}.app-title small{font-size:.875rem}}.container,.container-fluid{padding-top:1rem;padding-bottom:1rem}.row{margin-bottom:.5rem}.py-4,.py-5{padding-top:1rem!important;padding-bottom:1rem!important}.my-4,.my-5{margin-top:1rem!important;margin-bottom:1rem!important}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.025em;margin-bottom:.5rem;line-height:1.2}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}@media (max-width:768px){h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}h4{font-size:1rem}h5,h6{font-size:.875rem}}.card{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;overflow:hidden}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;border-bottom:none;padding:1.25rem 1.5rem}.card-header h5,.card-header h6{margin-bottom:0;color:#fff}.card-body{padding:1rem}.card.mb-4{margin-bottom:1rem!important}.section,section{padding:1.5rem 0}.card-header{padding:.75rem 1rem}.form-group,.mb-3,.timeline-item{margin-bottom:.75rem!important}.timeline-item{padding-bottom:.75rem}.table td,.table th{padding:.5rem .75rem!important}.btn{border-radius:var(--radius-md);padding:.625rem 1.25rem;border:none;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn-primary{background:var(--primary-gradient);color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-success{background:var(--success-gradient);color:#fff}.btn-success:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline-primary{border:2px solid var(--primary-color);color:var(--primary-color);background:transparent}.btn-outline-primary:hover{background:var(--primary-color);color:#fff;transform:translateY(-1px)}.btn-sm{padding:.4rem .8rem;font-size:.875rem}.btn-lg{padding:.8rem 1.5rem;font-size:1.125rem}.form-control,.form-select{border:2px solid #e2e8f0;border-radius:var(--radius-md);padding:.75rem 1rem;transition:var(--transition-fast);background:#fff}.form-control:focus,.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(13,110,253,.1);outline:none}.form-label{font-weight:500;color:var(--dark-color);margin-bottom:.5rem}.table{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.table thead th{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:none;font-weight:600;color:var(--dark-color);padding:1rem}.table tbody td{padding:1rem;border-top:1px solid #f1f3f4;vertical-align:middle}.table-hover tbody tr:hover{background-color:rgba(13,110,253,.04)}.badge{padding:.5rem .75rem}.bg-primary{background:var(--primary-gradient)!important}.bg-success{background:var(--success-gradient)!important}.bg-warning{background:linear-gradient(135deg,#ffecd2,#fcb69f)!important;color:var(--dark-color)!important}.alert{border-radius:var(--radius-lg);padding:1rem 1.5rem;border:none;border-left:4px solid}.alert-success{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-left-color:var(--success-color)}.alert-danger{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-left-color:var(--danger-color)}.alert-warning{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-left-color:var(--warning-color)}.alert-info{background:linear-gradient(135deg,#d1ecf1,#bee5eb);border-left-color:var(--info-color)}.navbar{background:linear-gradient(135deg,#667eea,#764ba2)!important;border-bottom:none;height:40px!important;min-height:40px!important;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.125rem .5rem!important}.navbar-brand{font-size:1.125rem!important;font-weight:600!important;letter-spacing:-.5px;margin-right:1rem!important;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.2);padding:.125rem .25rem!important;height:40px!important;line-height:40px!important;display:flex!important;align-items:center!important}.navbar-logo{height:28px!important;width:auto!important;display:inline-block!important;vertical-align:middle!important;margin-top:-2px!important}.navbar-nav .nav-link{font-weight:500;margin:0 .125rem;transition:var(--transition-normal);border-radius:calc(var(--radius-sm) - 1px);position:relative;color:hsla(0,0%,100%,.9)!important;padding:0 .5rem!important;height:40px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;font-size:.875rem!important;gap:.375rem!important}.navbar-nav .nav-link:hover{background-color:hsla(0,0%,100%,.15)!important;color:#fff!important;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.15)}.navbar-nav .nav-link.active{background:hsla(0,0%,100%,.2)!important;color:#fff!important;font-weight:600;box-shadow:inset 0 1px 3px rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar-nav .nav-link i{font-size:.875rem!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:1em!important;height:1em!important;vertical-align:-.125em!important;flex-shrink:0}.container{max-width:1200px}.quick-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem;padding:.75rem}.quick-nav-link{display:flex;align-items:center;padding:.5rem .75rem;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition-normal);font-size:.875rem;color:var(--dark-color);text-decoration:none}.quick-nav-link:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);background:var(--light-color)}.quick-nav-link i{margin-right:.5rem;font-size:.875rem;color:var(--primary-color)}@media (max-width:768px){.quick-nav{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;padding:.5rem}.quick-nav-link{padding:.375rem .5rem;font-size:.8125rem}}.container-fluid{padding-left:2rem;padding-right:2rem}.stage-badge{font-size:.8rem;padding:.5rem 1rem;border-radius:var(--radius-lg);font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-sm)}.stage-initial-enquiry-assessment{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1565c0;border:1px solid rgba(21,101,192,.2)}.stage-document-verification{background:linear-gradient(135deg,#f3e5f5,#e1bee7);color:#7b1fa2;border:1px solid rgba(123,31,162,.2)}.stage-decision-in-principle{background:linear-gradient(135deg,#e8f5e8,#c8e6c9);color:#2e7d32;border:1px solid rgba(46,125,50,.2)}.stage-application-submitted-lender{background:linear-gradient(135deg,#fff3e0,#ffcc02);color:#ef6c00;border:1px solid rgba(239,108,0,.2)}.stage-case-submitted-network{background:linear-gradient(135deg,#fff8e1,#ffecb3);color:#f57c00;border:1px solid rgba(245,124,0,.2)}.stage-offer-generated{background:linear-gradient(135deg,#e8f5e8,#a5d6a7);color:#1b5e20;border:1px solid rgba(27,94,32,.2)}.stage-solicitor-initial-quote-issued{background:linear-gradient(135deg,#fce4ec,#f8bbd9);color:#c2185b;border:1px solid rgba(194,24,91,.2)}.stage-solicitor-quote-accepted-fee-paid{background:linear-gradient(135deg,#f1f8e9,#dcedc8);color:#689f38;border:1px solid rgba(104,159,56,.2)}.stage-solicitor-initial-search-legal-enquiries{background:linear-gradient(135deg,#e0f2f1,#b2dfdb);color:#00695c;border:1px solid rgba(0,105,92,.2)}.stage-solicitor-contracts-prepared{background:linear-gradient(135deg,#e8eaf6,#c5cae9);color:#3f51b5;border:1px solid rgba(63,81,181,.2)}.stage-exchange-completion{background:linear-gradient(135deg,#e8f5e8,#81c784);color:#1b5e20;border:1px solid rgba(27,94,32,.2)}.customer-card{transition:var(--transition-normal);border:none;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-md);overflow:hidden;position:relative}.customer-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-gradient)}.customer-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.customer-card:hover .card-header h6{background:var(--secondary-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;transform:scale(1.02);transition:var(--transition-normal)}.customer-card .card-header{padding:.75rem 1rem;background:linear-gradient(135deg,#fff,#f8f9fa 50%,#e9ecef);color:var(--dark-color)!important;border-bottom:1px solid #e9ecef;position:relative;overflow:hidden}.customer-card .card-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(102,126,234,.03),rgba(118,75,162,.03));pointer-events:none}.customer-card .card-header h6{font-size:.95rem;font-weight:700;margin:0;background:var(--primary-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:var(--primary-color);text-shadow:0 1px 2px rgba(0,0,0,.1);letter-spacing:.025em}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.customer-card .card-header h6{color:var(--primary-color)!important;font-weight:700}}.customer-card .card-header small{color:var(--secondary-color)!important}.customer-card .card-body{padding:.875rem 1rem;font-size:.875rem}.customer-card .row.mb-3{margin-bottom:.75rem!important}.customer-card .row:last-child{margin-bottom:.5rem!important}.customer-card small.text-muted{font-size:.75rem;font-weight:500;color:#6c757d!important;display:block;margin-bottom:.125rem}.customer-card .badge{font-size:.7rem;padding:.25rem .5rem}.customer-card .progress{height:6px!important;margin-top:.25rem}.customer-card .document-status{font-size:.65rem;padding:.15rem .4rem;margin-right:.25rem;margin-bottom:.25rem}.customer-card .btn{font-size:.8rem;padding:.5rem .75rem}.search-container{padding:1.5rem;margin-bottom:1.5rem}.search-container .form-label{font-size:.85rem;margin-bottom:.25rem}.search-container .form-control,.search-container .form-select{font-size:.875rem;padding:.5rem .75rem}.search-container .btn{font-size:.875rem;padding:.5rem 1rem}.pagination .page-link{font-size:.875rem;padding:.5rem .75rem}@media (max-width:1199.98px){.customer-card .card-body{font-size:.8rem}.customer-card small.text-muted{font-size:.7rem}}@media (max-width:991.98px){.customer-card .card-body{padding:.75rem}.search-container{padding:1rem}}.search-container{background:#fff;padding:2.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin-bottom:2rem;border:1px solid hsla(0,0%,100%,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:1rem;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--primary-color),var(--success-color));border-radius:var(--radius-sm)}.timeline-item{position:relative;margin-bottom:2rem;background:#fff;border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md);transition:var(--transition-normal)}.timeline-item:hover{transform:translateX(8px);box-shadow:var(--shadow-lg)}.timeline-item:before{content:"";position:absolute;left:-2.5rem;top:1.5rem;width:16px;height:16px;border-radius:50%;background:var(--primary-color);border:4px solid #fff;box-shadow:0 0 0 2px var(--primary-color);z-index:2}.timeline-item.completed:before{background:var(--success-color);box-shadow:0 0 0 2px var(--success-color)}.timeline-marker{position:relative}.timeline-marker .badge{box-shadow:var(--shadow-sm)}.timeline-item .flex-grow-1{min-width:0;overflow:hidden}.timeline-item .d-flex.justify-content-between{gap:.5rem;flex-wrap:wrap;align-items:flex-start;width:100%;max-width:100%}.timeline-pagination{border-top:1px solid #e9ecef;padding-top:1rem;margin-top:1.5rem;gap:1rem}.timeline-pagination .btn-sm{padding:.375rem .75rem;font-size:.875rem;border-radius:var(--radius-md);transition:var(--transition-fast);white-space:nowrap!important;min-width:85px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0}.timeline-pagination .btn-outline-primary:disabled{opacity:.5;cursor:not-allowed}.timeline-pagination .page-info{background:#f8f9fa;border:1px solid #e9ecef;border-radius:var(--radius-sm);padding:.375rem .75rem;font-size:.875rem;color:var(--secondary-color);white-space:nowrap!important;min-width:60px!important;text-align:center;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0}.timeline-pagination .d-flex{align-items:center!important;gap:.5rem;flex-wrap:nowrap!important}@media (max-width:576px){.timeline-pagination{flex-direction:column;align-items:stretch!important;gap:.75rem}.timeline-pagination>div{text-align:center}.timeline-pagination .d-flex{justify-content:center}}.timeline-item .fw-medium{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%;font-size:.875rem;flex:1 1;min-width:0}.timeline-item small.text-muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:35%;flex-shrink:0;text-align:right;font-size:.8rem}.timeline-item .border-top{border-top:1px solid #e9ecef!important;margin-top:.75rem;padding-top:.5rem!important}.timeline-item .text-primary{color:var(--primary-color)!important;font-size:.8rem;font-weight:500}.timeline-item .border-top small.text-muted{font-size:.75rem;max-width:none;white-space:normal;overflow:visible;text-overflow:clip}.timeline-item .timeline-marker{flex-shrink:0;max-width:100%;width:auto}.timeline-item .timeline-marker .badge{font-size:.7rem;padding:.25rem .5rem;white-space:normal;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:inline-block;line-height:1.3;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (max-width:768px){.timeline-item .fw-medium{max-width:55%;font-size:.8rem}.timeline-item small.text-muted{max-width:40%;font-size:.75rem}.timeline-item .timeline-marker .badge{font-size:.65rem;padding:.2rem .4rem;line-height:1.2;max-width:100%}.timeline-item .timeline-marker{max-width:250px}}@media (max-width:576px){.timeline-item .fw-medium{max-width:100%;font-size:.8rem;margin-bottom:.25rem}.timeline-item small.text-muted{max-width:100%;font-size:.75rem;text-align:left}.timeline-item .d-flex.justify-content-between{flex-direction:column;align-items:flex-start;gap:.25rem}.timeline-item .timeline-marker{margin-bottom:.5rem;max-width:200px}.timeline-item .timeline-marker .badge{font-size:.6rem;padding:.2rem .3rem;max-width:100%;line-height:1.1}}.progress{height:10px;background:#e9ecef;overflow:hidden}.document-status,.progress,.progress-bar{border-radius:var(--radius-lg)}.document-status{display:inline-block;padding:.5rem 1rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:var(--shadow-sm)}.document-verified{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border:1px solid rgba(21,87,36,.2)}.document-pending{background:linear-gradient(135deg,#fff3cd,#ffeaa7);color:#856404;border:1px solid rgba(133,100,4,.2)}.document-received{background:linear-gradient(135deg,#d1ecf1,#bee5eb);color:#0c5460;border:1px solid rgba(12,84,96,.2)}.document-rejected{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border:1px solid rgba(114,28,36,.2)}.hero-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:5rem 0;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="2" fill="rgba(255,255,255,0.1)"/></svg>');background-size:50px 50px;animation:move 20s linear infinite}@keyframes move{0%{transform:translateX(0)}to{transform:translateX(50px)}}.hero-section h1{font-size:3.5rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3);margin-bottom:1.5rem}.hero-section p{font-size:1.25rem;opacity:.9;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.stats-card{border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-lg);text-align:center;border:1px solid hsla(0,0%,100%,.2);position:relative;overflow:hidden}.stats-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-gradient)}.stats-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.stats-card .display-4{font-weight:700;color:var(--primary-color);margin-bottom:.5rem}.stats-card h5{color:var(--secondary-color);font-weight:500;text-transform:uppercase;letter-spacing:1px;font-size:.9rem}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.alert-success{animation:fadeInUp .5s ease-out}.alert-success.fade-out{animation:fadeOut .5s ease-in}.card{animation:fadeInUp .6s ease-out}.customer-card:nth-child(2n){animation:slideInRight .6s ease-out}.customer-card:nth-child(odd){animation:slideInLeft .6s ease-out}.pagination{margin-bottom:0;gap:.5rem}.pagination .page-link{border:2px solid #e9ecef;padding:.75rem 1rem;border-radius:var(--radius-md);color:var(--primary-color);transition:var(--transition-fast);background:#fff;font-weight:500}.pagination .page-link:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.pagination .page-item.active .page-link{background:var(--primary-gradient);border-color:transparent;color:#fff;box-shadow:var(--shadow-md)}.pagination .page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#f8f9fa;border-color:#e9ecef;opacity:.6}.spinner-border{color:var(--primary-color);animation:spinner-border .75s linear infinite,pulse 2s ease-in-out infinite}.filter-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:none;box-shadow:var(--shadow-lg);border-radius:var(--radius-xl)}.filter-card .card-body{padding:2.5rem}.filter-card .card-header{background:#fff;color:var(--dark-color);border-bottom:2px solid #e9ecef}.bi:before{font-family:bootstrap-icons!important}.bi-search:before{content:"🔍"}.bi-people:before{content:"👥"}.bi-graph-up:before{content:"📈"}.bi-funnel:before{content:"🔽"}.bi-house:before{content:"🏠"}.bi-person-circle:before{content:"👤"}.bi-calendar:before{content:"📅"}.bi-envelope:before{content:"✉️"}.bi-telephone:before{content:"📞"}.bi-geo-alt:before{content:"📍"}.bi-check-circle:before{content:"✅"}.bi-x-circle:before{content:"❌"}.bi-exclamation-triangle:before{content:"⚠️"}.bi-info-circle:before{content:"ℹ️"}.bi-plus-circle:before{content:"➕"}.bi-pencil:before{content:"✏️"}.bi-trash:before{content:"🗑️"}.bi-link:before{content:"🔗"}.form-floating{position:relative}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label{color:var(--primary-color);font-weight:500}.form-control-plaintext{background:#f8f9fa!important;border:2px solid #e9ecef!important;border-radius:var(--radius-md)!important}.d-grid .btn{margin-bottom:.75rem}.d-grid .btn:last-child{margin-bottom:0}@media (max-width:991.98px){.navbar-nav{background:hsla(0,0%,100%,.1);border-radius:var(--radius-lg);padding:1.5rem;margin-top:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar-nav .nav-link{margin:.25rem 0;padding:.75rem 1rem!important;display:flex!important;align-items:center!important;white-space:nowrap!important}.navbar-toggler{border:2px solid hsla(0,0%,100%,.3)!important;padding:.5rem .75rem!important}.navbar-toggler:focus{box-shadow:0 0 0 .25rem hsla(0,0%,100%,.25)!important}.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")!important}.dropdown-menu{box-shadow:var(--shadow-lg)!important;border:none!important;border-radius:var(--radius-md)!important;max-width:90vw!important}.hero-section h1{font-size:2.5rem}.hero-section p{font-size:1.1rem}.container-fluid{padding-left:1rem;padding-right:1rem}.search-container{padding:1.5rem}.card-body{padding:1.25rem}}@media (max-width:767.98px){h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}.hero-section{padding:3rem 0}.hero-section h1{font-size:2rem}.stats-card{padding:1.5rem;margin-bottom:1.5rem}.timeline{padding-left:1.5rem}.timeline-item{padding:1rem}.timeline-item:before{left:-2rem}.navbar{min-height:65px!important}.navbar-brand{font-size:1.4rem!important}.navbar-nav{margin-top:.5rem!important;padding:1rem!important}.navbar-nav .nav-link{padding:1rem!important;margin:.25rem 0!important;font-size:1rem!important;border-radius:var(--radius-md)!important}.navbar-toggler{padding:.5rem!important}.dropdown-menu{min-width:280px!important;max-width:calc(100vw - 2rem)!important;margin:0 1rem!important}.dropdown-item{padding:.75rem 1rem!important}.card-header .d-flex{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important}.card-header .btn{width:100%!important;text-align:center!important}.btn-group-vertical .btn{margin-bottom:.5rem}.table-responsive{font-size:.875rem}.modal-dialog{margin:1rem}.modal-body{padding:1rem}.form-control,.form-select{font-size:16px!important}.btn-sm{padding:.5rem 1rem}.fee-summary-card{margin-bottom:1rem}}.dashboard-container{padding:.5rem;max-width:98%;margin:0 auto}.stats-card{border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);transition:var(--transition-normal);background:#fff;padding:.75rem;margin-bottom:.5rem;min-height:auto}.stats-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stats-card .card-body{padding:.5rem}.stats-card h3{font-size:1rem;margin-bottom:.25rem}.stats-card p{font-size:.875rem;margin-bottom:.25rem}.stats-card .h4{font-size:1.25rem;margin-bottom:.25rem}.application-stats,.application-stats .card{margin-bottom:.5rem}.application-stats .card-header{padding:.5rem .75rem;font-size:.875rem}.application-stats .card-body{padding:.5rem}.stage-overview{margin-bottom:.5rem}.stage-overview .row{margin-right:-.25rem;margin-left:-.25rem}.stage-overview [class*=col-]{padding-right:.25rem;padding-left:.25rem}.stage-overview .stage-card{flex:0 0 20%;max-width:20%;padding:.25rem}.stage-overview .card{margin-bottom:.5rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);height:100%}.stage-overview .card-body{padding:.375rem .5rem}.stage-overview .card-title{font-size:.75rem;font-weight:600;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-overview .progress{height:.375rem;margin-bottom:.25rem;border-radius:var(--radius-sm)}.stage-overview .stage-count{font-size:.875rem;font-weight:600;margin-bottom:.125rem}.stage-overview .stage-label{font-size:.7rem;color:var(--secondary-color);margin-bottom:.125rem}.stage-overview .stage-badge{font-size:.65rem;padding:.125rem .25rem;margin:.125rem 0;white-space:nowrap;display:inline-block;border-radius:var(--radius-sm)}.stage-overview .status-indicator{width:.5rem;height:.5rem;border-radius:50%;display:inline-block;margin-right:.25rem;vertical-align:middle}@media (max-width:1400px){.stage-overview .stage-card{flex:0 0 25%;max-width:25%}}@media (max-width:1200px){.stage-overview .stage-card{flex:0 0 33.333%;max-width:33.333%}}@media (max-width:768px){.stage-overview .stage-card{flex:0 0 50%;max-width:50%}.stage-overview .card-body{padding:.25rem .375rem}.stage-overview .card-title{font-size:.7rem}.stage-overview .stage-count{font-size:.8rem}.stage-overview .stage-label{font-size:.65rem}}@media (max-width:576px){.stage-overview .stage-card{flex:0 0 100%;max-width:100%}}.product-dates{font-size:.875rem}.product-dates .card-body{padding:.5rem}.product-dates .table td,.product-dates .table th{padding:.35rem .5rem;font-size:.8125rem}.fees-dashboard{margin-bottom:.5rem}.fees-dashboard .row{margin-right:-.25rem;margin-left:-.25rem}.fees-dashboard [class*=col-]{padding-right:.25rem;padding-left:.25rem}.fee-summary .card{margin-bottom:.375rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.fee-summary .card-body{padding:.375rem .5rem}.fee-summary .h5{font-size:.75rem;margin-bottom:.25rem;font-weight:600}.fee-summary .amount{font-size:.875rem;font-weight:600;margin-bottom:.125rem}.fee-summary .fee-card{flex:0 0 20%;max-width:20%;padding:.25rem}.fee-summary .status-indicator{width:.5rem;height:.5rem;border-radius:50%;display:inline-block;margin-right:.25rem}.fee-summary .fee-status{font-size:.7rem;color:var(--secondary-color)}.fee-summary .fee-date{font-size:.65rem;color:var(--secondary-color);margin-top:.125rem}.product-alerts{margin-bottom:.5rem}.product-alerts .row{margin-right:-.25rem;margin-left:-.25rem}.product-alerts [class*=col-]{padding-right:.25rem;padding-left:.25rem}.ending-month .alert-card,.ending-soon .alert-card,.product-alerts .alert-card,.upcoming-renewals .alert-card{flex:0 0 20%;max-width:20%;padding:.25rem}.ending-month .card,.ending-soon .card,.product-alerts .card,.upcoming-renewals .card{margin-bottom:.375rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);height:100%;background:#fff}.product-section-header{font-size:.875rem;font-weight:600;padding:.375rem .5rem;margin-bottom:.375rem;background:var(--light-color);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:space-between}.product-section-header .badge{font-size:.7rem;padding:.15rem .35rem}.alert-card .card-body,.product-alert-content{padding:.375rem .5rem}.alert-card .product-name{font-size:.75rem;font-weight:600;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.alert-card .customer-name{font-size:.7rem;margin-bottom:.125rem;color:var(--secondary-color)}.alert-card .expiry-date{font-size:.7rem;color:var(--danger-color);margin-bottom:.125rem;display:flex;align-items:center;gap:.25rem}.alert-card .days-remaining{font-size:.65rem;color:var(--secondary-color);background:var(--light-color);padding:.125rem .25rem;border-radius:var(--radius-sm);display:inline-block}.alert-card .status-dot{width:.5rem;height:.5rem;border-radius:50%;display:inline-block;margin-right:.25rem}.alert-card .action-buttons{margin-top:.375rem;display:flex;gap:.25rem}.alert-card .btn-sm{font-size:.7rem}.alert-card .btn-sm,.alert-card .category-label{padding:.125rem .25rem;border-radius:var(--radius-sm)}.alert-card .category-label{font-size:.65rem;background:var(--light-color);margin-bottom:.25rem;display:inline-block}.alert-card .timeline-indicator{height:.25rem;background:var(--light-color);border-radius:var(--radius-sm);margin:.25rem 0;overflow:hidden}.alert-card .timeline-progress{height:100%;background:var(--primary-gradient);border-radius:var(--radius-sm)}.product-alerts .card{margin-bottom:.375rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);height:100%}.product-alerts .card-body{padding:.375rem .5rem}.product-alerts .product-name{font-size:.75rem;font-weight:600;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-alerts .expiry-date{font-size:.7rem;color:var(--danger-color);margin-bottom:.125rem}.product-alerts .days-remaining{font-size:.65rem;color:var(--secondary-color)}@media (max-width:1400px){.ending-month .alert-card,.ending-soon .alert-card,.fee-summary .fee-card,.product-alerts .alert-card,.upcoming-renewals .alert-card{flex:0 0 25%;max-width:25%}.product-section-header{font-size:.85rem}}@media (max-width:1200px){.ending-month .alert-card,.ending-soon .alert-card,.fee-summary .fee-card,.product-alerts .alert-card,.upcoming-renewals .alert-card{flex:0 0 33.333%;max-width:33.333%}.alert-card .card-body{padding:.3rem .4rem}}@media (max-width:768px){.ending-month .alert-card,.ending-soon .alert-card,.fee-summary .fee-card,.product-alerts .alert-card,.upcoming-renewals .alert-card{flex:0 0 50%;max-width:50%}.fee-summary .card-body,.product-alerts .card-body{padding:.25rem .375rem}.product-section-header{font-size:.8rem;padding:.3rem .4rem}.alert-card .product-name{font-size:.7rem}.alert-card .customer-name,.alert-card .expiry-date{font-size:.65rem}.alert-card .days-remaining{font-size:.6rem}.alert-card .btn-sm{font-size:.65rem;padding:.1rem .2rem}.alert-card .category-label{font-size:.6rem}}@media (max-width:576px){.ending-month .alert-card,.ending-soon .alert-card,.fee-summary .fee-card,.product-alerts .alert-card,.upcoming-renewals .alert-card{flex:0 0 100%;max-width:100%}.product-section-header{font-size:.75rem;margin-bottom:.25rem}.alert-card{margin-bottom:.25rem}.alert-card .action-buttons{margin-top:.25rem}}.recent-activity{margin-bottom:.5rem}.recent-activity .list-group-item{padding:.375rem .5rem;font-size:.8125rem}.recent-activity .activity-time{font-size:.75rem}.quick-stats{display:grid;grid-gap:.5rem;margin-bottom:.5rem}.quick-stats .stat-card{padding:.5rem;border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-sm)}.quick-stats .stat-value{font-size:1.125rem;font-weight:600;margin-bottom:.125rem}.quick-stats .stat-label{font-size:.75rem;color:var(--secondary-color)}.stage-chart{margin-bottom:.5rem}.stage-chart .card-body{padding:.5rem;height:auto}@media (max-width:768px){.dashboard-container{padding:.375rem}.stats-card{padding:.5rem}.stats-card h3{font-size:.875rem}.stats-card .h4{font-size:1.125rem}.quick-stats{grid-template-columns:1fr 1fr}.stage-badge{font-size:.65rem;padding:.1rem .25rem}}.alert-card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition-normal)}.alert-card.alert-danger{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-color:#f44336}.alert-card.alert-warning{background:linear-gradient(135deg,#fff8e1,#ffecb3);border-color:#ff9800}.alert-card.alert-info{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-color:#2196f3}.alert-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.fee-summary-card.paid,.fee-summary-card.total{background:linear-gradient(135deg,#e8f5e8,#c8e6c9);border-left:4px solid #4caf50}.fee-summary-card.unpaid{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-left:4px solid #ff9800}.fee-summary-card.overdue{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-left:4px solid #f44336}.fee-summary-card.na{background:linear-gradient(135deg,#f5f5f5,#eee);border-left:4px solid #9e9e9e}.fees-table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.fees-table thead th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;padding:1rem;border:none;text-align:left}.fees-table tbody tr{background:#fff;transition:var(--transition-fast)}.fees-table tbody tr:nth-child(2n){background:#f8f9fa}.fees-table tbody tr:hover{background:#e3f2fd;transform:scale(1.01)}.fees-table tbody td{padding:1rem;border-bottom:1px solid #dee2e6;vertical-align:middle}.fee-row-overdue{background:linear-gradient(135deg,#ffebee,#ffcdd2)!important;border-left:4px solid #f44336!important}.fee-row-overdue:hover{background:linear-gradient(135deg,#ffcdd2,#ef9a9a)!important}.fee-description-icon,.fee-reference-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--info-color);color:#fff;border-radius:50%;font-size:12px;font-weight:700;cursor:help;transition:var(--transition-fast);font-style:normal}.fee-description-icon:hover,.fee-reference-icon:hover{background:#0a8cc4;transform:scale(1.2);box-shadow:var(--shadow-sm)}.fee-status-dropdown{font-weight:600;border-radius:var(--radius-sm);transition:var(--transition-fast)}.fee-status-paid{background:#d4edda;color:#155724;border-color:#c3e6cb}.fee-status-unpaid{background:#fff3cd;color:#856404;border-color:#ffeaa7}.fee-status-na{background:#f8f9fa;color:#6c757d;border-color:#dee2e6}.fee-status-changing{opacity:.7;pointer-events:none}.fee-action-btn{transition:var(--transition-fast)}.fee-action-btn:hover{transform:scale(1.1)}.document-info-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--info-color);color:#fff;border-radius:50%;font-size:12px;font-weight:700;cursor:help;transition:var(--transition-fast);font-style:normal}.document-info-icon:hover{background:#0a8cc4;transform:scale(1.2);box-shadow:var(--shadow-sm)}.document-type-icon{font-size:16px;transition:var(--transition-fast)}.document-type-icon:hover{transform:scale(1.1)}.fast-tooltip,.fees-table tbody tr,.fees-table tbody tr [title]{--bs-tooltip-delay-show:50ms;--bs-tooltip-delay-hide:25ms}.document-info-icon:hover,.document-type-icon:hover,.fast-tooltip:hover{position:relative}.fee-row-tooltip,.table-row-tooltip{position:relative!important;transition:background-color .1s ease}.fee-row-tooltip:hover,.table-row-tooltip:hover{background-color:rgba(0,123,255,.05)!important}.fee-row-tooltip:after,.table-row-tooltip:after{content:attr(data-tooltip)!important;position:absolute!important;top:100%!important;left:50%!important;transform:translateX(-50%)!important;background:#000!important;color:#fff!important;padding:8px 12px!important;border-radius:4px!important;font-size:13px!important;white-space:nowrap!important;z-index:10000!important;pointer-events:none!important;opacity:0!important;display:block!important;max-width:500px!important;text-align:center!important;box-shadow:0 2px 8px rgba(0,0,0,.3)!important;margin-top:5px!important;font-weight:400!important;line-height:1.2!important;transition:opacity .2s ease!important}.fee-row-tooltip:hover:after,.table-row-tooltip:hover:after{opacity:1!important}.table-responsive{margin-bottom:4rem!important;overflow:visible!important}.fees-table,.fees-table tbody tr{position:relative!important}.fees-table tbody tr{transition:background-color .1s ease}.fees-table tbody tr:hover{background-color:rgba(0,123,255,.05)!important}.quick-action-card{transition:var(--transition-normal);border:2px solid transparent}.quick-action-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.quick-action-card .card-body{padding:2rem 1.5rem}.quick-action-card .display-4{font-size:3rem;margin-bottom:1rem}.quick-action-card .btn{font-weight:600;padding:.75rem 1.5rem;border-radius:var(--radius-md);transition:var(--transition-fast)}.quick-action-card .btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.modal.show{animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-content{border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:none}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-header .btn-close{filter:invert(1)}.modal-body{padding:2rem}.modal-footer{border-top:2px solid #f8f9fa;padding:1.5rem 2rem}.btn-group .btn{transition:var(--transition-fast)}.btn-group .btn:hover{transform:scale(1.05);z-index:2}.nav-tabs .nav-link{border:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin-right:.5rem;background:#f8f9fa;color:#6c757d;transition:var(--transition-fast);font-weight:500}.nav-tabs .nav-link:hover{background:#e9ecef;color:#495057;border-color:transparent}.nav-tabs .nav-link.active{background:#fff;color:#495057;border-color:#dee2e6 #dee2e6 #fff;font-weight:600}.dashboard .alert{border-radius:var(--radius-md);border:none;font-weight:500}.dashboard .alert-danger{background:linear-gradient(135deg,#ffebee,#ffcdd2);color:#c62828}.dashboard .alert-warning{background:linear-gradient(135deg,#fff8e1,#ffecb3);color:#ef6c00}.dashboard .alert-info{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1976d2}.progress{background-color:#f8f9fa;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{background:linear-gradient(90deg,#667eea,#764ba2);transition:width .6s ease}.badge{font-weight:500;padding:.5em .75em}.card-header-tabs{margin-bottom:-1.25rem;border-bottom:none}.card-header-tabs .nav-link{background:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.8);border:1px solid hsla(0,0%,100%,.2);margin-right:.5rem}.card-header-tabs .nav-link:hover{background:hsla(0,0%,100%,.2);color:#fff;border-color:hsla(0,0%,100%,.3)}.card-header-tabs .nav-link.active{background:#fff;color:#495057;border-color:#fff}@media (max-width:768px){.alert-card .card-body,.stats-card .card-body{padding:1rem}.nav-tabs .nav-link{font-size:.875rem;padding:.5rem .75rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.dashboard .card{animation:fadeInUp .6s ease-out}.dashboard .stats-card:first-child{animation-delay:.1s}.dashboard .stats-card:nth-child(2){animation-delay:.2s}.dashboard .stats-card:nth-child(3){animation-delay:.3s}.dashboard .stats-card:nth-child(4){animation-delay:.4s}.dashboard .stats-card:nth-child(5){animation-delay:.5s}.dashboard .stats-card:nth-child(6){animation-delay:.6s}.stats-clickable{cursor:pointer;position:relative;transition:var(--transition-normal)}.stats-clickable:hover{transform:translateY(-12px) scale(1.02);box-shadow:var(--shadow-xl)}.stats-clickable:active{transform:translateY(-8px) scale(1.01)}.stats-clickable:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(13,110,253,.05),rgba(13,110,253,.1));opacity:0;transition:opacity var(--transition-normal);pointer-events:none}.stats-clickable:hover:after{opacity:1}a .stats-clickable .card-body h3,a .stats-clickable .card-body p{color:inherit}a:hover .stats-clickable .card-body h3{color:var(--primary-color)}a .stats-clickable .card-body{position:relative;z-index:1}.badge-sm{font-size:.65rem;padding:.25em .4em}.form-control-sm{font-size:.875rem}.document-card{transition:var(--transition-fast)}.document-card:hover{background-color:var(--light-color);border-color:var(--primary-color)!important}.progress,.progress-bar{border-radius:var(--radius-sm)}.progress-bar{background:var(--primary-gradient)}.dropdown-menu{box-shadow:var(--shadow-md);border:none;border-radius:var(--radius-md)}.dropdown-item:hover{background-color:var(--light-color);color:var(--primary-color)}.border-dashed{border-style:dashed!important;transition:var(--transition-fast)}.border-dashed:hover{border-color:var(--primary-color)!important;background-color:rgba(13,110,253,.05)!important}.drop-zone-active{border-color:var(--success-color)!important;background-color:rgba(25,135,84,.1)!important}.detail-item{display:flex;flex-direction:row;align-items:center;gap:.5rem;margin-bottom:.75rem}.detail-label{font-size:.75rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;min-width:100px;flex-shrink:0}.detail-value{font-size:.9rem;font-weight:500;color:#212529;line-height:1.4;flex:1 1}.detail-link{color:#0d6efd!important;text-decoration:none;transition:color .2s ease}.detail-link:hover{color:#0a58ca!important;text-decoration:underline}.section-title{font-weight:700;color:#495057;border-bottom:2px solid #e9ecef;padding-bottom:.5rem;margin-bottom:1rem!important;text-transform:uppercase;letter-spacing:.5px}.card{border:none;box-shadow:var(--shadow-sm);border-radius:var(--radius-md);transition:var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-header{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid #dee2e6;border-radius:var(--radius-md) var(--radius-md) 0 0!important}.card-header h6{color:#495057;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge{font-size:.75rem;padding:.4em .8em;font-weight:600}.badge,.btn{border-radius:var(--radius-sm);letter-spacing:.3px}.btn{font-weight:500;transition:var(--transition-fast)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}