.splash-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.splash-content{text-align:center;padding:40px;color:#fff}.splash-logo{margin-bottom:24px}.logo-icon{width:100px;height:100px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.splash-title{font-size:2.5rem;font-weight:700;margin-bottom:8px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.splash-subtitle{font-size:1.1rem;opacity:.9;margin-bottom:48px}.loading-indicator{display:flex;flex-direction:column;align-items:center;gap:16px}.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.loading-indicator p{font-size:.9rem;opacity:.9}.splash-footer{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.2)}.splash-footer p{font-size:.8rem;opacity:.7}.splash-content.error{background:#ffffff1a;padding:32px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.splash-content.error h2{margin-bottom:16px}.splash-content.error p{margin-bottom:24px}.splash-container.branding-mode{background:#fff}.branding-content{text-align:center;padding:40px;display:flex;flex-direction:column;align-items:center;gap:24px;max-width:500px}.branding-logo{margin-bottom:16px}.codeblocks-logo{width:280px;height:auto;animation:fadeInScale 1s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.logo-fallback{flex-direction:column;align-items:center;gap:16px}.fallback-icon{font-size:4rem;color:#667eea}.fallback-icon+h2{color:#333;font-size:1.5rem}.branding-text{text-align:center}.branding-title{font-size:1.8rem;font-weight:700;color:#1a365d;margin:0 0 8px;letter-spacing:2px}.branding-tagline{font-size:1rem;color:#4a5568;margin:0;font-style:italic}.branding-powered{display:flex;align-items:center;gap:8px;color:#667eea;font-weight:600;font-size:.9rem}.powered-icon{font-size:1.2rem}.loading-progress{width:100%;max-width:300px;margin-top:16px}.progress-bar{width:100%;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width 1s linear}.countdown-text{margin-top:12px;font-size:.85rem;color:#718096}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:40px;width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:32px}.login-logo{margin-bottom:16px}.login-logo .logo-icon{width:80px;height:80px}.firm-name{font-size:1.2rem;font-weight:900;color:#000;margin-bottom:8px;letter-spacing:1.5px;text-transform:uppercase;opacity:1;text-shadow:0 1px 2px rgba(0,0,0,.1)}.login-header h1{font-size:1.5rem;color:#212121;margin-bottom:8px}.login-subtitle{color:#757575;font-size:.95rem}.login-form{margin-bottom:24px}.form-label{display:block;margin-bottom:8px;font-weight:500;color:#212121;font-size:.9rem}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:14px;font-size:1.1rem;color:#757575;z-index:1}.form-input{width:100%;padding:14px;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s}.form-input:focus{outline:none;border-color:#3f51b5;box-shadow:0 0 0 3px #3f51b51a}.password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;font-size:1.2rem;color:#757575;transition:color .2s}.password-toggle:hover{color:#3f51b5}.password-toggle{position:absolute;right:12px;background:none;border:none;font-size:1rem;cursor:pointer;padding:4px;opacity:.6;transition:opacity .2s}.password-toggle:hover{opacity:1}.error-message{background:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem;display:flex;align-items:center;gap:8px}.btn-submit{width:100%;padding:14px;font-size:1rem;font-weight:600;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:8px}.btn-submit:disabled{opacity:.7;cursor:not-allowed}.spinner-small{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.login-footer{text-align:center}.btn-link{background:none;border:none;color:#3f51b5;font-size:.9rem;cursor:pointer;text-decoration:underline}.btn-link:hover{color:#303f9f}.login-contact{margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0;text-align:center}.login-contact p{color:#757575;font-size:.9rem;margin:0}.login-contact strong{color:#3f51b5;font-weight:600}@media (max-width: 480px){.login-container{padding:20px 12px 12px;align-items:flex-start}.login-card{padding:24px 20px;max-width:100%}.login-logo .logo-icon{width:60px;height:60px}.firm-name{font-size:.85rem;letter-spacing:.3px;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4;white-space:normal}.login-header h1{font-size:1.25rem}.login-subtitle{font-size:.85rem}}@media (max-width: 360px){.login-card{padding:20px 16px}.firm-name{font-size:.75rem;letter-spacing:.2px}.login-header h1{font-size:1.1rem}.form-input{padding:12px;font-size:.95rem}.btn-submit{padding:12px}}.notification-bell-container{position:relative;display:inline-block}.notification-bell{position:relative;background:none;border:none;font-size:1.5rem;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.notification-bell:hover{background:#f5f5f5;transform:scale(1.1)}.notification-badge{position:absolute;top:2px;right:2px;background:#f44336;color:#fff;font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.notification-dropdown{position:absolute;top:100%;right:0;width:400px;max-height:500px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;z-index:1000;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.dropdown-header h3{margin:0;font-size:1.1rem}.header-actions{display:flex;align-items:center;gap:12px}.mark-all-btn{background:#fff3;border:none;color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.mark-all-btn:hover{background:#ffffff4d}.clear-all-btn{background:#f443364d;border:none;color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.clear-all-btn:hover:not(:disabled){background:#f4433680}.clear-all-btn:disabled{opacity:.5;cursor:not-allowed}.close-btn{background:#fff3;border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.dropdown-content{max-height:400px;overflow-y:auto}.loading-notifications{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#757575}.spinner-small{width:30px;height:30px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}.empty-notifications{text-align:center;padding:40px 20px;color:#757575}.empty-notifications .empty-icon{font-size:3rem;margin-bottom:12px}.empty-notifications p{margin:4px 0}.empty-notifications .empty-subtext{font-size:.85rem;color:#9e9e9e}.notifications-list{display:flex;flex-direction:column}.notification-item{display:flex;gap:12px;padding:16px 20px;border-bottom:1px solid #f5f5f5;cursor:pointer;transition:all .2s}.notification-item:hover{background:#f9fafb}.notification-item.high{border-left:4px solid #f44336}.notification-item.medium{border-left:4px solid #ff9800}.notification-item.low{border-left:4px solid #4caf50}.notification-icon{font-size:1.5rem;flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.notification-title{font-weight:600;color:#212121;font-size:.95rem}.notification-time{font-size:.75rem;color:#9e9e9e}.notification-message{color:#546e7a;font-size:.9rem;line-height:1.4;margin-bottom:8px}.notification-footer{display:flex;justify-content:space-between;align-items:center}.priority-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:capitalize}.priority-badge.high{background:#ffebee;color:#c62828}.priority-badge.medium{background:#fff3e0;color:#e65100}.priority-badge.low{background:#e8f5e9;color:#2e7d32}.delete-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s;opacity:.6}.delete-btn:hover{background:#ffebee;opacity:1}@media (max-width: 768px){.notification-dropdown{right:-100px;width:320px}}.paywall-screen{min-height:100vh;background:linear-gradient(135deg,#1a237e,#283593);display:flex;align-items:center;justify-content:center;padding:20px}.paywall-container{background:#fff;border-radius:20px;max-width:600px;width:100%;box-shadow:0 20px 60px #0000004d;overflow:hidden}.paywall-header{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff;padding:30px 20px;text-align:center}.lock-icon-small{font-size:2.5rem;margin-bottom:12px}.paywall-header h1{font-size:1.5rem;margin:0 0 8px}.paywall-header p{font-size:.9rem;margin:0;opacity:.9}.payment-section-simple{padding:30px 20px}.amount-display{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#f5f7fa,#e8eaf6);border-radius:12px}.amount-label{display:block;font-size:1rem;color:#757575;margin-bottom:8px}.amount-value{display:block;font-size:2.5rem;font-weight:700;color:#2e7d32;margin-bottom:8px}.duration-text{display:block;font-size:.9rem;color:#757575}.payment-form-simple{max-width:400px;margin:0 auto}.payment-form-simple .form-group{margin-bottom:20px}.payment-form-simple label{display:block;font-weight:600;color:#1a237e;margin-bottom:8px;font-size:.95rem}.payment-form-simple input{width:100%;padding:14px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s}.payment-form-simple input:focus{outline:none;border-color:#1a237e}.btn-pay-now{width:100%;padding:16px;background:linear-gradient(135deg,#4caf50,#2e7d32);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-pay-now:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.btn-pay-now:disabled{opacity:.6;cursor:not-allowed}.verification-section{padding:60px 30px;text-align:center}.verification-section h2{color:#1a237e;margin:20px 0 10px}.verification-note{color:#757575;font-size:14px}.payment-section,.subscription-info,.info-card,.payment-form,.payment-instructions,.payment-form h2,.form-group small,.btn-pay,.payment-instructions h3,.payment-instructions ol{display:none}.error-message{background:#ffebee;color:#c62828;padding:12px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:8px}.paywall-footer{background:#f5f7fa;padding:15px;text-align:center;color:#757575;font-size:.85rem}.paywall-footer p{margin:0}@media (max-width: 600px){.paywall-container{border-radius:12px}.paywall-header{padding:20px 15px}.lock-icon-small{font-size:2rem}.paywall-header h1{font-size:1.25rem}.amount-value{font-size:2rem}.payment-section-simple{padding:20px 15px}}.dashboard-container{display:flex;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.sidebar{position:fixed;left:-280px;top:0;bottom:0;width:280px;background:linear-gradient(180deg,#fff,#f8f9fa);color:#212121;z-index:1000;transition:left .3s ease;display:flex;flex-direction:column;box-shadow:4px 0 20px #00000014;border-right:1px solid #e0e0e0;overflow-y:auto;overflow-x:hidden}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:#0000000d}.sidebar::-webkit-scrollbar-thumb{background:#667eea80;border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:#667eeacc}.sidebar.open{left:0}.sidebar-permanent{left:0;box-shadow:2px 0 10px #0000000d}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sidebar-header{padding:24px 20px;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#667eea,#764ba2)}.sidebar-branding{text-align:center;padding:10px 0}.powered-by{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.7rem;color:#ffffffd9;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.codeblocks-icon{font-size:.9rem}.codeblocks-solutions{font-size:.85rem;font-weight:800;letter-spacing:2.5px;color:#fff;text-transform:uppercase;padding:6px 10px;background:#ffffff26;border-radius:6px;display:inline-block;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.connection-status{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;margin:16px 20px;border-radius:10px;font-size:.85rem;font-weight:600;border:1px solid}.connection-status.online{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.connection-status.offline{background:#ffebee;color:#c62828;border-color:#ef9a9a}.status-dot{width:8px;height:8px;border-radius:50%;animation:pulse-dot 2s infinite}.connection-status.online .status-dot{background:#4caf50;box-shadow:0 0 8px #4caf50}.connection-status.offline .status-dot{background:#f44336;box-shadow:0 0 8px #f44336}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.status-text{letter-spacing:.5px}.close-sidebar{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s;position:absolute;right:16px;top:20px}.close-sidebar:hover{background:#ffffff4d}.sidebar-nav{flex:1;padding:16px 12px;display:flex;flex-direction:column;gap:6px;background:transparent}.nav-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:transparent;border:none;border-radius:12px;color:#546e7a;cursor:pointer;transition:all .2s;font-size:.92rem;font-weight:500;position:relative;overflow:hidden}.nav-item:hover{background:#f5f5f5;color:#667eea}.nav-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea59}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:60%;background:#ffffff4d;border-radius:0 4px 4px 0}.nav-icon{font-size:1.3rem;width:24px;text-align:center}.nav-label{flex:1;text-align:left}.sidebar-footer{padding:20px;border-top:1px solid #e0e0e0;background:#fafafa}.user-info{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:14px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #e0e0e0}.user-avatar{width:44px;height:44px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;box-shadow:0 2px 8px #667eea4d}.user-details{flex:1;overflow:hidden}.user-name{font-weight:600;font-size:.92rem;color:#212121;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.75rem;color:#757575;margin-top:2px;font-weight:500}.logout-btn{width:100%;padding:12px;background:#fff;border:2px solid #ffcdd2;border-radius:12px;color:#e53935;cursor:pointer;transition:all .2s;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.9rem}.logout-btn:hover{background:#ffebee;border-color:#ef9a9a;box-shadow:0 4px 12px #e5393533}.main-content{flex:1;margin-left:0;transition:margin-left .3s ease}.main-with-sidebar{margin-left:280px}.top-header{background:#fff;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000000d;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:20px}.menu-toggle{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:background .2s}.menu-toggle:hover{background:#f5f5f5}.hamburger-icon{display:block;width:24px;height:2px;background:#333;position:relative}.hamburger-icon:before,.hamburger-icon:after{content:"";position:absolute;width:24px;height:2px;background:#333;left:0}.hamburger-icon:before{top:-7px}.hamburger-icon:after{top:7px}.page-title{font-size:1.5rem;font-weight:700;color:#212121;margin:0}.header-divider{color:#bdbdbd;margin:0 12px;font-size:1.2rem}.firm-name{font-size:1rem;color:#757575;font-weight:500}.header-right{display:flex;align-items:center;gap:12px}.expiry-warning-banner-header{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;padding:8px 16px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;margin-right:12px}.expiry-warning-banner-header .close-warning{background:#fff3;border:none;color:#fff;width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;margin-left:auto}.expiry-warning-banner{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;padding:10px 16px;border-radius:8px;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:8px;animation:pulse-warning 2s infinite}@keyframes pulse-warning{0%,to{box-shadow:0 0 #ff9800b3}50%{box-shadow:0 0 0 10px #ff980000}}.expiry-warning-banner .close-warning{background:#fff3;border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:1rem;margin-left:auto}.offline-indicator{background:#ffebee;color:#c62828;padding:8px 14px;border-radius:8px;font-size:.85rem;display:flex;align-items:center;gap:6px}.notification-btn{position:relative;background:none;border:none;font-size:1.5rem;cursor:pointer;padding:8px;border-radius:8px;transition:background .2s}.notification-btn:hover{background:#f5f5f5}.notification-badge{position:absolute;top:4px;right:4px;background:#f44336;color:#fff;font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.refresh-btn{background:none;border:1px solid #e0e0e0;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.refresh-btn:hover{background:#f5f5f5;border-color:#bdbdbd}.notifications-dropdown{position:absolute;top:70px;right:24px;width:380px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000026;z-index:101;overflow:hidden}.notifications-header{padding:16px 20px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.notifications-header h3{margin:0;font-size:1.1rem;color:#212121}.notifications-header button{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#757575}.notifications-list{max-height:400px;overflow-y:auto}.notification-item{display:flex;gap:12px;padding:16px 20px;border-bottom:1px solid #f5f5f5;transition:background .2s}.notification-item:hover{background:#fafafa}.notification-icon{font-size:1.5rem}.notification-icon.urgent{animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.notification-content{flex:1}.notification-title{font-weight:500;color:#212121;margin-bottom:4px}.notification-time{font-size:.85rem;color:#757575}.empty-notifications{padding:40px 20px;text-align:center;color:#757575}.dashboard-content{padding:24px;max-width:1400px;margin:0 auto}.welcome-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:32px;border-radius:20px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 40px #667eea4d}.welcome-text h2{margin:0 0 8px;font-size:1.8rem;font-weight:700}.welcome-text p{margin:0;opacity:.9}.welcome-date{background:#fff3;padding:12px 20px;border-radius:12px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.alerts-banner{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:1px solid #ff9800;border-radius:16px;padding:20px;margin-bottom:24px}.alerts-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.alert-icon{font-size:1.5rem}.alerts-header strong{color:#e65100;font-size:1.1rem}.alerts-list{display:flex;flex-direction:column;gap:10px}.alert-item{display:flex;align-items:center;gap:12px;background:#fff9;padding:12px 16px;border-radius:10px}.alert-badge{background:#ff9800;color:#fff;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:700}.alert-badge.urgent{background:#f44336;animation:pulse 2s infinite}.alert-text{color:#333;font-weight:500}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.stat-card{background:#fff;border-radius:16px;padding:24px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 20px #00000014;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.stat-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:14px}.stat-earnings .stat-icon{background:#e8f5e9}.stat-cases .stat-icon{background:#e3f2fd}.stat-hearings .stat-icon{background:#e8f5e9}.stat-clients .stat-icon{background:#fce4ec}.earnings-summary-card{grid-column:1 / -1;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:2px solid #43a047}.earnings-summary-card .card-header{display:flex;justify-content:space-between;align-items:center}.month-badge{background:#43a047;color:#fff;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600}.earnings-total{text-align:center;padding:20px;background:#fff;border-radius:12px;margin-bottom:16px}.earnings-label{font-size:.9rem;color:#757575;margin-bottom:8px;font-weight:500}.earnings-amount{font-size:2.5rem;font-weight:700;color:#2e7d32;background:linear-gradient(135deg,#2e7d32,#43a047);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.earnings-note{text-align:center;font-size:.85rem;color:#546e7a;font-style:italic;background:#ffffffb3;padding:12px;border-radius:8px}.stat-content{flex:1}.stat-value{font-size:1.75rem;font-weight:700;color:#212121;margin-bottom:4px}.stat-label{font-size:.9rem;color:#757575}.stat-trend{font-size:.85rem;font-weight:600;padding:4px 10px;border-radius:6px}.stat-trend.positive{background:#e8f5e9;color:#2e7d32}.stat-trend.neutral{background:#fff3e0;color:#e65100}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.dashboard-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.card-header{padding:20px 24px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.card-header h3{margin:0;font-size:1.1rem;color:#212121}.card-action{background:none;border:none;color:#667eea;cursor:pointer;font-weight:500;font-size:.9rem;transition:color .2s}.card-action:hover{color:#764ba2}.card-content{padding:24px}.hearings-list{display:flex;flex-direction:column;gap:12px}.hearing-item{display:flex;align-items:center;gap:16px;padding:16px;background:#fafafa;border-radius:12px;transition:background .2s}.hearing-item:hover{background:#f5f5f5}.hearing-time-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:10px 14px;border-radius:10px;font-weight:600;font-size:.9rem;min-width:70px;text-align:center}.hearing-details{flex:1}.hearing-case-number{font-weight:600;color:#212121;margin-bottom:4px}.hearing-type,.hearing-court{font-size:.85rem;color:#757575}.cases-table{display:flex;flex-direction:column;gap:8px}.table-header{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;padding:12px;background:#fafafa;border-radius:8px;font-weight:600;font-size:.85rem;color:#757575}.table-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;padding:16px 12px;background:#fafafa;border-radius:8px;cursor:pointer;transition:all .2s}.table-row:hover{background:#f0f0f0;transform:translate(4px)}.case-info{min-width:0}.case-title{font-weight:600;color:#212121;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case-number{font-size:.85rem;color:#757575;margin-top:4px}.case-court{font-size:.85rem;color:#757575}.status-badge.status-scheduled{background:#e3f2fd;color:#1976d2}.status-badge.status-completed{background:#e8f5e9;color:#2e7d32}.status-badge.status-adjourned{background:#fff3e0;color:#e65100}.status-badge.status-cancelled{background:#ffebee;color:#c62828}.revenue-chart{display:flex;flex-direction:column;gap:24px}.revenue-total{text-align:center}.revenue-label{font-size:.9rem;color:#757575;margin-bottom:8px}.revenue-amount{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.revenue-bars{display:flex;justify-content:space-around;align-items:flex-end;height:150px;padding:0 10px}.bar-container{display:flex;flex-direction:column;align-items:center;gap:8px}.revenue-bar{width:32px;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:6px 6px 0 0;transition:height .3s ease}.bar-label{font-size:.75rem;color:#757575;font-weight:600}.quick-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.action-btn{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px;background:#fafafa;border:2px solid transparent;border-radius:14px;cursor:pointer;transition:all .2s}.action-btn:hover{background:#fff;border-color:#667eea;box-shadow:0 4px 15px #667eea33;transform:translateY(-2px)}.action-icon{font-size:2rem}.action-btn span:last-child{font-weight:500;color:#212121}.empty-state{text-align:center;padding:40px 20px;color:#757575}.empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.empty-state p{margin-bottom:20px}.empty-state-large{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;color:#757575;padding:40px 20px}.empty-state-large .empty-icon{font-size:6rem;margin-bottom:24px}.empty-state-large h2{color:#212121;margin-bottom:8px}.empty-state-large p{max-width:400px;margin-bottom:24px;line-height:1.6}.period-selector{padding:8px 14px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;font-size:.9rem;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s}@media (min-width: 1024px){.sidebar-permanent{left:0}.main-with-sidebar{margin-left:280px}}@media (max-width: 1024px){.sidebar{left:-280px}.sidebar.open{left:0}.main-content{margin-left:0}.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}.welcome-banner{flex-direction:column;text-align:center;gap:16px}.welcome-text h2{font-size:1.4rem}.top-header{padding:12px 16px}.page-title{font-size:1.2rem}.header-divider,.firm-name{display:none}.dashboard-content{padding:16px}.notifications-dropdown{right:16px;width:calc(100% - 32px)}}.court-diary-container{min-height:100vh;background:#f5f7fa;padding:24px}.diary-header{display:flex;align-items:center;gap:20px;margin-bottom:24px;background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f}.header-title{flex:1}.header-title h1{font-size:1.8rem;color:#212121;margin:0 0 4px}.header-title p{color:#757575;margin:0;font-size:.95rem}.add-event-btn{display:flex;align-items:center;gap:8px}.diary-content{max-width:1200px;margin:0 auto}.calendar-card{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-header h2{font-size:1.5rem;color:#212121;margin:0}.nav-btn{background:#f5f5f5;border:1px solid #e0e0e0;width:40px;height:40px;border-radius:8px;cursor:pointer;font-size:1.2rem;color:#546e7a;transition:all .2s;display:flex;align-items:center;justify-content:center}.nav-btn:hover{background:#e0e0e0}.today-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;color:#fff;transition:all .2s}.today-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day-header{text-align:center;padding:12px;font-weight:600;color:#757575;font-size:.9rem}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;cursor:pointer;border-radius:8px;transition:all .2s;position:relative;font-size:.95rem}.calendar-day:hover{background:#f5f5f5}.calendar-day.other-month{color:#bdbdbd}.calendar-day.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.calendar-day.today{background:#e3f2fd;color:#1976d2;font-weight:700}.calendar-day.selected.today{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.day-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.event-marker{position:absolute;bottom:6px;width:6px;height:6px;background:#ff9800;border-radius:50%}.selected-date-header{background:#fff;border-radius:16px;padding:20px 24px;margin-bottom:24px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px #0000000f}.calendar-icon{font-size:1.5rem}.selected-date-header h3{margin:0;color:#212121;font-size:1.2rem}.events-list{display:flex;flex-direction:column;gap:16px}.event-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f;transition:all .2s;border:2px solid transparent}.event-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.event-card.completed{opacity:.7;background:#f9fafb}.event-card.completed .event-title{text-decoration:line-through;color:#9e9e9e}.event-card.completed .event-description{text-decoration:line-through;color:#bdbdbd}.event-header-row{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.event-icon{width:50px;height:50px;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.event-card.completed .event-icon{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.event-main-info{flex:1;min-width:0}.event-title{font-size:1.1rem;font-weight:700;color:#212121;margin-bottom:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.completed-badge{background:#4caf50;color:#fff;font-size:.75rem;padding:4px 10px;border-radius:12px;font-weight:600;text-transform:uppercase}.event-description{color:#546e7a;font-size:.9rem;line-height:1.5;margin-bottom:8px;white-space:pre-wrap}.event-time{display:flex;align-items:center;gap:6px;font-size:.9rem;color:#757575}.event-actions{display:flex;gap:12px;padding-top:16px;border-top:1px solid #e0e0e0;align-items:center}.checkbox-wrapper{display:flex;align-items:center;cursor:pointer;position:relative}.checkbox-wrapper input{position:absolute;opacity:0;width:0;height:0}.custom-checkbox{width:24px;height:24px;border:2px solid #bdbdbd;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#4caf50;transition:all .2s;background:#fff}.checkbox-wrapper:hover .custom-checkbox{border-color:#4caf50}.checkbox-wrapper input:checked+.custom-checkbox{background:#4caf50;border-color:#4caf50;color:#fff}.btn-delete{background:linear-gradient(135deg,#ef5350,#e53935);color:#fff;padding:8px 16px;font-size:.9rem;margin-left:auto}.btn-delete:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef535066}} .event-card.completed .event-avatar{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.event-content{flex:1;min-width:0}.event-title{font-weight:700;color:#212121;font-size:1.05rem;margin-bottom:6px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.completed-badge{background:#e8f5e9;color:#2e7d32;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase}.event-description{color:#757575;font-size:.9rem;margin-bottom:6px}.event-time{display:flex;align-items:center;gap:6px;color:#546e7a;font-size:.85rem}.event-actions{display:flex;align-items:center;gap:8px}.checkbox-container{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-container input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:relative;height:24px;width:24px;background-color:#f5f5f5;border:2px solid #e0e0e0;border-radius:6px;transition:all .2s}.checkbox-container:hover input~.checkmark{background-color:#e0e0e0}.checkbox-container input:checked~.checkmark{background-color:#4caf50;border-color:#4caf50}.checkmark:after{content:"";position:absolute;display:none}.checkbox-container input:checked~.checkmark:after{display:block}.checkbox-container .checkmark:after{left:8px;top:4px;width:6px;height:12px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.delete-btn{background:#ffebee;border:none;width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1.2rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.delete-btn:hover{background:#ffcdd2;transform:scale(1.1)}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:16px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px;padding:40px;text-align:center}.error-icon{font-size:4rem}.error-container h3{color:#c62828;margin:0 0 8px;font-size:1.3rem}.error-container p{color:#757575;margin:0 0 24px;max-width:400px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem}.modal-date-display{background:linear-gradient(135deg,#e3f2fd,#bbdefb);color:#1976d2;padding:16px;border-radius:12px;font-weight:600;margin-bottom:20px;text-align:center}@media (max-width: 768px){.court-diary-container{padding:16px}.diary-header{flex-direction:column;align-items:flex-start;gap:16px}.add-event-btn{width:100%;justify-content:center}.calendar-header h2{font-size:1.2rem}.calendar-day{padding:4px;font-size:.85rem}.day-number{width:24px;height:24px;font-size:.85rem}.event-marker{bottom:4px;width:5px;height:5px}.event-card{flex-direction:column;align-items:flex-start}.event-actions{width:100%;justify-content:flex-end;margin-top:12px}}.billing-screen{min-height:100vh;background:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.billing-main-header{background:linear-gradient(135deg,#3949ab,#5c6bc0);color:#fff;padding:0;position:sticky;top:0;z-index:100}.header-top-bar{display:flex;align-items:center;padding:20px 24px;gap:16px}.back-btn-white,.add-invoice-btn{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.back-btn-white:hover,.add-invoice-btn:hover{opacity:.8}.header-top-bar h1{flex:1;margin:0;font-size:1.5rem;font-weight:700}.billing-tabs{display:flex;padding:0 24px;border-top:1px solid rgba(255,255,255,.2)}.billing-tab{flex:1;padding:16px;background:transparent;border:none;border-bottom:3px solid transparent;color:#ffffffb3;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.billing-tab:hover{color:#fff;background:#ffffff1a}.billing-tab.active{color:#fff;border-bottom-color:#fff;background:#ffffff1a}.total-deficit-banner{background:#fff;padding:24px;text-align:center;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}.deficit-label{font-size:.9rem;color:#757575;font-weight:500}.deficit-amount{font-size:2rem;font-weight:700;color:#e53935}@keyframes flashUpdate{0%,to{background-color:transparent}50%{background-color:#2ecc7140}}.flash-update{animation:flashUpdate .4s ease-out;will-change:background-color;padding:4px 12px;border-radius:8px}.refresh-btn{padding:10px 20px;background:linear-gradient(135deg,#3949ab,#5c6bc0);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.refresh-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3949ab66}.invoices-list-container{padding:16px;max-width:1200px;margin:0 auto}.invoice-list-item{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:12px;padding:16px 20px;margin-bottom:12px;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #00000014}.invoice-list-item:hover{background:#f5f7fa;box-shadow:0 2px 8px #3949ab26;transform:translate(4px)}.invoice-item-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.invoice-item-avatar{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;transition:transform .2s}.invoice-list-item:hover .invoice-item-avatar{transform:scale(1.05)}.invoice-item-info{flex:1;min-width:0}.invoice-item-name{font-weight:700;color:#212121;font-size:1rem;margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.invoice-item-case{display:flex;align-items:center;gap:4px;font-size:.8rem;color:#6b7280;font-style:italic;margin:2px 0 6px}.case-folder-icon{font-size:.85rem;opacity:.8}.case-title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.invoice-item-deficit{font-size:.9rem;font-weight:600}.invoice-item-deficit:not(:has(.deficit-value)){color:#22c55e}.deficit-value{color:#e53935;font-weight:700}.invoice-item-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.status-badge-small{padding:6px 12px;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-badge-small.paid{background:#dcfce7;color:#166534}.status-badge-small.partial{background:#dbeafe;color:#1e40af}.status-badge-small.sent,.status-badge-small.unpaid{background:#ffedd5;color:#c2410c}.chevron-icon{font-size:1.5rem;color:#9ca3af;transition:transform .2s}.invoice-list-item:hover .chevron-icon{transform:translate(2px);color:#6366f1}.invoices-table,.table-header,.table-row,.invoice-info,.invoice-number,.invoice-date,.client-info,.progress-cell,.progress-bar,.progress-fill,.progress-text,.status-badge,.actions-cell,.btn-icon,.btn-pay,.btn-receipt{display:none!important}.modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;background:#000000d9!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:2000!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;animation:fadeIn .3s ease!important;padding:20px!important;box-sizing:border-box!important}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease;position:relative}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.invoice-details-modal{width:95vw!important;max-width:95vw!important;height:95vh!important;max-height:95vh!important;margin:0!important;background:#f5f7fa!important;border-radius:16px!important;display:flex!important;flex-direction:column!important}.invoice-details-modal .modal-header{flex-shrink:0}.invoice-details-modal .modal-body{flex:1!important;overflow-y:auto!important;padding:30px!important}.invoice-details-modal .modal-footer{flex-shrink:0}.payment-modal,.receipt-modal{max-width:700px!important;max-height:90vh!important;overflow-y:auto!important;border-radius:16px!important;background:#fff!important;box-shadow:0 20px 60px #0000004d!important}.receipt-modal{max-width:800px!important}.close-modal{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#757575;padding:4px;line-height:1;transition:color .2s}.modal-body{padding:24px;overflow-y:auto}.modal-header-billing{background:linear-gradient(135deg,#3949ab,#5c6bc0);color:#fff;padding:30px;flex-shrink:0;border-radius:16px 16px 0 0}.billing-header-content{display:flex;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap}.billing-header-content h2{color:#fff!important;margin:0!important;font-size:1.5rem!important;text-transform:uppercase;font-weight:700}.case-type-badge{background:#fff3;padding:6px 14px;border-radius:8px;font-size:.85rem;display:flex;align-items:center;gap:6px;font-weight:600}.case-icon{font-size:1rem}.payment-status-badge{margin-left:auto;padding:8px 16px;border-radius:8px;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.payment-status-badge.paid{background:#22c55e;color:#fff}.payment-status-badge.partial{background:#3b82f6;color:#fff}.payment-status-badge.sent,.payment-status-badge.unpaid{background:#f97316;color:#fff}.billing-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.billing-summary-item{text-align:center;padding:12px;background:#ffffff1a;border-radius:10px}.billing-summary-label{font-size:.8rem;opacity:.9;margin-bottom:6px;font-weight:500}.billing-summary-value{font-size:1.4rem;font-weight:700}.billing-summary-value.paid{color:#86efac}.billing-summary-value.deficit{color:#fca5a5}.billing-body{flex:1;overflow-y:auto!important;padding:30px;background:#f5f7fa}.payment-progress-section{margin-bottom:24px;background:#fff;padding:20px;border-radius:12px;box-shadow:0 1px 3px #00000014}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;color:#374151;font-size:.95rem}.progress-percentage{color:#6366f1;font-weight:700}.progress-bar-container{width:100%;height:10px;background:#e5e7eb;border-radius:6px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:6px;transition:width .3s ease}.btn-record-installment{width:100%;padding:16px;background:linear-gradient(135deg,#3949ab,#5c6bc0);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;margin:24px 0;display:flex;align-items:center;justify-content:center;gap:10px}.btn-record-installment:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3949ab66}.btn-record-installment:active{transform:translateY(0)}.payment-audit-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #00000014}.audit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #f3f4f6}.audit-header h4{color:#3949ab;margin:0;font-size:1.1rem;font-weight:700}.installments-count{color:#6b7280;font-size:.9rem;font-weight:500}.audit-trail-list{display:flex;flex-direction:column;gap:12px}.audit-trail-item{display:flex;align-items:center;gap:16px;padding:16px;background:#f9fafb;border-radius:12px;transition:all .2s;border:1px solid #f3f4f6}.audit-trail-item:hover{background:#f3f4f6;border-color:#e5e7eb}.payment-number{width:36px;height:36px;background:#eef2ff;color:#4f46e5;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.payment-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.payment-datetime{font-weight:600;color:#1f2937;font-size:.9rem}.payment-method-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:.8rem;font-weight:600;width:fit-content}.payment-amount{font-weight:700;color:#1f2937;font-size:1.05rem;flex-shrink:0}.no-payments{text-align:center;padding:30px;color:#6b7280;background:#f9fafb;border-radius:12px;border:1px dashed #e5e7eb}.billing-footer{padding:20px 30px;background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0;display:flex;gap:12px;justify-content:flex-end;border-radius:0 0 16px 16px}.payment-remaining{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:14px;margin-bottom:20px;font-size:.95rem;text-align:center;color:#991b1b}.payment-remaining span{font-weight:700;color:#dc2626}.payment-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.method-btn{padding:16px 12px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.method-btn:hover{border-color:#6366f1;background:#f3f4f6}.method-btn.active{font-weight:700;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.method-btn span:first-child{font-size:1.8rem}.form-label{display:block;margin-bottom:8px;font-weight:600;color:#374151;font-size:.95rem}.form-input{width:100%;padding:12px 14px;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .2s;font-weight:500}.form-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.receipt-content{background:#fff;padding:0;border:none;font-family:Times New Roman,Times,serif;position:relative;color:#1f2937;visibility:visible!important;opacity:1!important}.receipt-header-section{border-bottom:2px solid #1e3a8a;padding:20px 30px;margin-bottom:20px;display:block!important;visibility:visible!important}.receipt-firm-name{text-align:center;font-size:20px;font-weight:700;color:#1e3a8a;margin:0 0 15px;letter-spacing:.5px;text-transform:uppercase;display:block!important}.receipt-address{display:flex!important;justify-content:space-between;align-items:flex-start;gap:15px;font-size:11px;line-height:1.5;visibility:visible!important}.address-left,.address-right{flex:1;color:#374151;display:block!important}.address-center{flex:2;display:block!important}.file-fields{display:flex!important;flex-direction:column;gap:10px;margin-top:8px;visibility:visible!important}.file-field{display:flex!important;align-items:center;gap:6px;color:#6b7280;font-size:10px;visibility:visible!important}.file-field span:first-child{font-weight:600;white-space:nowrap;min-width:90px;display:block!important}.file-line{flex:1;border-bottom:1px dotted #9ca3af;height:10px;display:block!important}.receipt-meta{display:flex!important;justify-content:space-between;padding:12px 30px;margin-bottom:15px;background:#f9fafb;border:1px solid #e5e7eb;font-size:11px;visibility:visible!important}.receipt-number,.receipt-date{display:flex!important;align-items:center;gap:8px;font-weight:600;color:#374151;visibility:visible!important}.number-value,.date-value{font-weight:700;color:#1e3a8a;border-bottom:1px solid #1e3a8a;padding-bottom:2px;min-width:130px;display:block!important}.receipt-fields{padding:0 30px;margin-bottom:15px;display:block!important;visibility:visible!important}.receipt-field-row{display:flex!important;align-items:baseline;gap:8px;margin-bottom:15px;font-size:11px;visibility:visible!important;page-break-inside:avoid}.field-label{font-style:italic;font-weight:600;color:#4b5563;white-space:nowrap;min-width:160px;display:block!important}.field-line{flex:1;border-bottom:1px dotted #9ca3af;height:10px;display:block!important}.field-value{font-weight:600;color:#1f2937;padding-left:8px;display:block!important}.receipt-amount-box{display:flex!important;align-items:center;gap:12px;padding:15px 30px;margin:20px 30px;border:2px solid #1e3a8a;border-radius:6px;background:#eff6ff;visibility:visible!important;page-break-inside:avoid}.amount-box-label{font-weight:700;color:#1e3a8a;font-size:13px;display:block!important}.amount-box-value{font-size:18px;font-weight:700;color:#dc2626;flex:1;display:block!important}.receipt-payment-method{padding:12px 30px;margin-bottom:15px;display:block!important;visibility:visible!important;page-break-inside:avoid}.payment-method-row{display:flex!important;align-items:center;gap:8px;font-size:11px;visibility:visible!important}.method-label{font-style:italic;font-weight:600;color:#4b5563;display:block!important}.method-value{font-weight:700;color:#1f2937;border-bottom:1px solid #9ca3af;padding:2px 8px;min-width:180px;display:block!important}.receipt-account-type{padding:8px 30px;font-size:10px;color:#6b7280;font-style:italic;border-top:1px solid #e5e7eb;margin:0 30px;display:block!important;visibility:visible!important}.receipt-footer-section{padding:30px 30px 50px;display:flex!important;justify-content:space-between;align-items:flex-end;margin-top:30px;visibility:visible!important;page-break-inside:avoid}.footer-thanks{font-style:italic;font-weight:600;color:#4b5563;font-size:12px;display:block!important}.footer-signature{text-align:center;flex:1;display:block!important}.signature-line{border-top:1px solid #1e3a8a;width:220px;margin:0 auto 6px;padding-top:4px;font-weight:600;color:#1e3a8a;font-size:11px;display:block!important}.footer-stamp{width:80px;height:80px;border:2px dashed #e5e7eb;border-radius:6px;display:block!important}.receipt-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);font-size:48px;font-weight:900;color:#1e3a8a0a;pointer-events:none;letter-spacing:8px;text-transform:uppercase;white-space:nowrap;display:block!important;visibility:visible!important}.screen-only,.print-only{display:block!important;visibility:visible!important}.payment-summary-section{margin-bottom:32px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;padding:24px;border:1px solid #e2e8f0;display:block!important;visibility:visible!important}.summary-header{margin-bottom:20px;display:block!important}.summary-header h3{margin:0 0 12px;color:#1e293b;font-size:18px;font-weight:700;letter-spacing:-.5px;display:block!important}.summary-divider{height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:2px;width:60px;display:block!important}.summary-cards{display:grid!important;grid-template-columns:repeat(3,1fr);gap:16px;visibility:visible!important}.summary-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 3px #00000014;border:1px solid #f1f5f9;transition:transform .2s,box-shadow .2s;display:block!important}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.card-label{font-size:12px;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;line-height:1.4;display:block!important}.card-value{font-size:22px;font-weight:700;letter-spacing:-.5px;display:block!important}.card-value.primary{color:#3b82f6}.card-value.success{color:#10b981}.card-value.warning{color:#f59e0b}.payment-history-section{background:#fff;border-radius:12px;padding:24px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;display:block!important;visibility:visible!important}.history-header{display:flex!important;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #f1f5f9;visibility:visible!important}.history-header h3{margin:0;color:#1e293b;font-size:18px;font-weight:700;letter-spacing:-.5px;display:block!important}.history-count{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.5px;display:block!important}.history-table-wrapper{overflow-x:auto;border-radius:8px;border:1px solid #e2e8f0;display:block!important;visibility:visible!important}.professional-payment-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;display:table!important;visibility:visible!important}.professional-payment-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9);display:table-header-group!important}.professional-payment-table th{padding:14px 16px;text-align:left;font-weight:700;color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #cbd5e1;display:table-cell!important}.professional-payment-table td{padding:16px;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle;display:table-cell!important}.professional-payment-table tbody{display:table-row-group!important}.professional-payment-table tbody tr{background:#fff;transition:background .2s;display:table-row!important}.professional-payment-table tbody tr:hover{background:#f8fafc}.professional-payment-table tbody tr.latest-payment{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-left:3px solid #10b981}.col-index{width:60px;text-align:center;vertical-align:middle;display:table-cell!important}.index-badge{display:inline-flex!important;align-items:center;justify-content:center;width:28px;height:28px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border-radius:50%;font-weight:700;font-size:12px}.col-date{width:140px;vertical-align:middle;display:table-cell!important}.date-cell{display:flex!important;flex-direction:column;gap:2px;visibility:visible!important}.date-day{font-weight:700;color:#1e293b;font-size:16px;line-height:1;display:block!important}.date-month{font-size:12px;color:#64748b;text-transform:capitalize;display:block!important}.col-method{min-width:180px;vertical-align:middle;display:table-cell!important}.method-badge{display:inline-flex!important;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;border:1px solid;background:#fff;margin-bottom:4px;visibility:visible!important}.method-icon{font-size:16px;display:inline!important}.method-text{font-weight:600;color:#334155;font-size:13px;display:inline!important}.transaction-code{font-size:11px;color:#64748b;font-family:Courier New,monospace;margin-top:2px;display:block!important}.col-amount{width:140px;text-align:right!important;vertical-align:middle;display:table-cell!important}.text-right{text-align:right!important}.amount-cell{font-weight:700;color:#1e293b!important;font-size:15px;letter-spacing:-.3px;white-space:nowrap;display:inline-block!important;text-align:right!important;visibility:visible!important;min-width:100px}.professional-payment-table td.col-amount{text-align:right!important;display:table-cell!important}.professional-payment-table td.col-amount .amount-cell{text-align:right!important;display:inline-block!important;min-width:100px;visibility:visible!important}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem}.btn-primary{background:linear-gradient(135deg,#3949ab,#5c6bc0);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3949ab66}.btn-primary:active{transform:translateY(0)}.btn-outline{background:#fff;border:2px solid #e5e7eb;color:#4b5563}.btn-outline:hover{border-color:#6366f1;color:#6366f1;background:#f9fafb}.spinner-large{width:50px;height:50px;border:4px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.empty-state .empty-icon{font-size:4rem;margin-bottom:16px;opacity:.4}.empty-state h3{color:#1f2937;margin:0 0 8px;font-size:1.3rem}.empty-state p{color:#6b7280;margin:0}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}.screen-only,.modal-overlay,.modal-header,.modal-footer,.btn,button,.close-modal,.payment-summary-section,.payment-history-section{display:none!important}.print-only{display:block!important;visibility:visible!important;opacity:1!important}body *{visibility:hidden;opacity:0}.receipt-modal{position:static!important;visibility:visible!important;opacity:1!important;display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;box-shadow:none!important;background:#fff!important;overflow:visible!important}.receipt-modal .modal-content{visibility:visible!important;opacity:1!important;display:block!important;box-shadow:none!important;border-radius:0!important;max-height:none!important;overflow:visible!important}.receipt-modal .modal-body{visibility:visible!important;opacity:1!important;display:block!important;padding:0!important;max-height:none!important;overflow:visible!important}.receipt-modal .receipt-content,.receipt-modal .receipt-content *{visibility:visible!important;opacity:1!important;display:block!important;position:static!important}.receipt-content table{display:table!important;visibility:visible!important;width:100%!important}.receipt-content table tbody{display:table-row-group!important;visibility:visible!important}.receipt-content table tr{display:table-row!important;visibility:visible!important;page-break-inside:avoid}.receipt-content table td{display:table-cell!important;visibility:visible!important;padding:8px!important}.receipt-modal .modal-header,.receipt-modal .modal-footer{display:none!important;visibility:hidden!important}#receipt-to-print{position:relative!important;left:0!important;top:0!important;width:100%!important;max-width:100%!important;padding:20px!important;background:#fff!important;font-size:11px!important;line-height:1.4!important;color:#000!important;overflow:visible!important;display:block!important}.receipt-header-section,.receipt-meta,.receipt-fields,.receipt-amount-box,.receipt-payment-method,.receipt-account-type,.receipt-footer-section,.receipt-watermark{display:block!important;visibility:visible!important;page-break-inside:avoid}.receipt-fields{page-break-inside:auto}.receipt-field-row{page-break-inside:avoid}body,h1,h2,h3,h4,h5,h6,p,span,div{color:#000!important;background:transparent!important}*{box-shadow:none!important;text-shadow:none!important}@page{size:auto;margin:10mm}.receipt-content{position:static!important;overflow:visible!important;page-break-inside:auto}.receipt-footer-section{page-break-before:avoid}.receipt-watermark{opacity:.05!important;z-index:0!important}}@media (max-width: 768px){.header-top-bar{padding:16px 20px}.header-top-bar h1{font-size:1.3rem}.billing-tabs{padding:0 20px}.billing-tab{padding:14px 12px;font-size:.9rem}.total-deficit-banner{flex-direction:column;gap:12px;padding:20px 16px}.deficit-amount{font-size:1.8rem}.invoices-list-container{padding:12px}.invoice-list-item{padding:14px 16px}.invoice-item-avatar{width:44px;height:44px;font-size:18px}.invoice-item-name{font-size:.95rem}.invoice-item-case{font-size:.75rem}.case-title-text{max-width:120px}.status-badge-small{padding:4px 10px;font-size:.7rem}.payment-methods{grid-template-columns:1fr}.billing-summary-grid{grid-template-columns:1fr;gap:12px}.billing-header-content{flex-direction:column;align-items:flex-start;gap:12px}.payment-status-badge{margin-left:0}.modal-content{width:95%;max-height:95vh}.invoice-details-modal{width:100vw!important;height:100vh!important;border-radius:0!important}.modal-header-billing,.billing-body,.billing-footer{padding:20px!important}.audit-trail-item{flex-wrap:wrap;gap:12px}.payment-amount{width:100%;text-align:right;margin-top:8px}.receipt-address{flex-direction:column;gap:12px}.address-left,.address-right,.address-center{flex:none;width:100%}.receipt-field-row{flex-wrap:wrap}.field-label{min-width:100%;margin-bottom:4px}.receipt-amount-box{flex-direction:column;text-align:center;margin:15px 20px}.receipt-footer-section{flex-direction:column;align-items:center;gap:25px;padding:25px 20px}.signature-line{width:180px}.receipt-watermark{font-size:36px}.summary-cards{grid-template-columns:1fr;gap:12px}.summary-card{padding:16px}.card-value{font-size:20px}.history-header{flex-direction:column;align-items:flex-start;gap:12px}.professional-payment-table{font-size:13px}.professional-payment-table th,.professional-payment-table td{padding:12px 10px}.col-date{width:120px}.date-day{font-size:14px}.date-month{font-size:11px}.method-badge{padding:4px 10px;font-size:12px}.method-icon,.amount-cell{font-size:14px}.index-badge{width:24px;height:24px;font-size:11px}}@media (max-width: 480px){.header-top-bar h1{font-size:1.2rem}.back-btn-white,.add-invoice-btn{font-size:1.3rem;padding:6px}.deficit-amount{font-size:1.5rem}.invoice-item-left{gap:12px}.invoice-item-avatar{width:40px;height:40px;font-size:16px}.invoice-item-name{font-size:.9rem}.invoice-item-deficit{font-size:.85rem}.chevron-icon{font-size:1.3rem}.btn{padding:10px 18px;font-size:.9rem}.payment-summary-section,.payment-history-section{padding:16px}.summary-cards{gap:10px}.card-label{font-size:11px}.card-value{font-size:18px}.professional-payment-table th,.professional-payment-table td{padding:10px 8px}.col-method{min-width:140px}.transaction-code{font-size:10px}}.text-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.modal-body,.billing-body{scroll-behavior:smooth}.billing-tab:focus-visible,.btn:focus-visible,.method-btn:focus-visible,.close-modal:focus-visible,.form-input:focus-visible{outline:2px solid #6366f1;outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.reports-screen{min-height:100vh;background:#f5f7fa;padding:24px}.reports-header{margin-bottom:24px}.reports-header h1{font-size:1.8rem;color:#212121;margin:0}.reports-tabs{display:flex;gap:12px;margin-bottom:24px;background:#fff;padding:12px;border-radius:12px;box-shadow:0 2px 8px #0000000f}.report-tab{flex:1;padding:14px 24px;background:transparent;border:none;border-radius:8px;cursor:pointer;font-weight:600;color:#757575;transition:all .2s;font-size:1rem}.report-tab:hover{background:#f5f5f5;color:#667eea}.report-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 10px #667eea4d}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.analytics-card{background:#fff;border-radius:16px;padding:24px;display:flex;gap:20px;align-items:center;box-shadow:0 2px 8px #0000000f;border-left:4px solid}.analytics-card.cases{border-left-color:#3949ab}.analytics-card.clients{border-left-color:#43a047}.analytics-card.invoices{border-left-color:#fb8c00}.analytics-card.revenue{border-left-color:#43a047}.analytics-card.outstanding{border-left-color:#e53935}.analytics-card.monthly{border-left-color:#3949ab}.card-icon{font-size:3rem;width:70px;height:70px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#f5f7fa}.card-content{flex:1}.card-label{font-size:.9rem;color:#757575;margin-bottom:8px;font-weight:500}.card-value{font-size:2rem;font-weight:700;color:#212121;margin-bottom:4px}.card-subtext{font-size:.85rem;color:#9e9e9e}.audit-content{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f}.audit-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;padding-bottom:24px;border-bottom:2px solid #f0f0f0}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-label{font-size:.85rem;color:#757575;font-weight:600}.filter-input,.filter-select{padding:10px 14px;border:1px solid #e0e0e0;border-radius:8px;font-size:.95rem;transition:all .2s}.filter-input:focus,.filter-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.filter-count{padding:10px 14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;font-weight:700;text-align:center}.audit-logs-container{min-height:400px}.audit-logs-list{display:flex;flex-direction:column;gap:12px}.audit-log-item{display:flex;gap:16px;padding:16px;background:#f9fafb;border-radius:12px;border-left:4px solid #bdbdbd;transition:all .2s}.audit-log-item:hover{background:#f5f7fa;transform:translate(4px)}.audit-log-item.login{border-left-color:#43a047}.audit-log-item.logout{border-left-color:#e53935}.audit-log-item.create{border-left-color:#3949ab}.audit-log-item.update{border-left-color:#fb8c00}.audit-log-item.delete{border-left-color:#e53935}.audit-log-item.payment{border-left-color:#43a047}.log-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;flex-shrink:0}.log-content{flex:1;min-width:0}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:16px}.log-action{font-weight:700;color:#212121;font-size:1rem}.log-time{font-size:.85rem;color:#9e9e9e;white-space:nowrap}.log-details{display:flex;flex-direction:column;gap:8px}.log-user{font-size:.9rem;color:#546e7a;font-weight:600}.log-data{display:flex;flex-wrap:wrap;gap:12px}.log-data-item{font-size:.85rem;color:#757575;background:#fff;padding:4px 10px;border-radius:6px}.log-data-item strong{color:#3949ab}@media (max-width: 768px){.reports-screen{padding:16px}.analytics-grid{grid-template-columns:1fr}.analytics-card{flex-direction:column;text-align:center}.audit-filters{grid-template-columns:1fr}.log-header{flex-direction:column;align-items:flex-start}.log-data{flex-direction:column;gap:6px}}.team-screen{min-height:100vh;background:#f5f7fa;padding:24px}.team-header{margin-bottom:24px}.team-header h1{font-size:1.8rem;color:#212121;margin:0}.team-tabs{display:flex;gap:12px;margin-bottom:24px;background:#fff;padding:12px;border-radius:12px;box-shadow:0 2px 8px #0000000f}.team-tab{flex:1;padding:14px 24px;background:transparent;border:none;border-radius:8px;cursor:pointer;font-weight:600;color:#757575;transition:all .2s;font-size:1rem}.team-tab:hover{background:#f5f5f5;color:#667eea}.team-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 10px #667eea4d}.whitelist-content{display:grid;grid-template-columns:1fr;gap:24px}.whitelist-form-card{background:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 8px #0000000f}.whitelist-form-card h2{font-size:1.5rem;color:#212121;margin:0 0 8px}.form-description{color:#757575;margin:0 0 24px;font-size:.95rem}.whitelist-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-weight:600;color:#212121;font-size:.95rem;display:flex;align-items:center;gap:6px}.required{color:#e53935}.form-input{padding:12px 14px;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s}.permission-actions{display:flex;gap:8px;margin-bottom:12px}.permissions-grid,.permissions-checkbox-grid{display:flex;flex-direction:column;gap:12px}.permission-checkbox{display:flex;align-items:center;gap:10px;padding:14px;background:#f9fafb;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;transition:all .2s;position:relative;-webkit-user-select:none;user-select:none;pointer-events:auto!important}.permission-checkbox:hover{background:#f5f7fa;border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.permission-checkbox:active{transform:translateY(0)}.permission-checkbox input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.permission-checkbox{display:flex;align-items:center;gap:12px;padding:16px;background:#f9fafb;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all .2s;position:relative;-webkit-user-select:none;user-select:none;pointer-events:auto!important}.permission-checkbox:hover{background:#f5f5f5;border-color:#667eea}.permission-checkbox.selected{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.permission-checkbox.selected .permission-label,.permission-checkbox.selected .permission-icon{color:#fff}.checkbox-custom{width:24px;height:24px;min-width:24px;border:2px solid #bdbdbd;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;background:#fff;position:relative;pointer-events:none}.checkbox-custom span{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#667eea;font-size:18px;font-weight:700;line-height:1}.permission-checkbox.selected .checkbox-custom{background:#fff;border-color:#fff}.permission-checkbox.selected .checkbox-custom span{display:block!important;visibility:visible!important}.permission-icon{font-size:1.3rem;flex-shrink:0;pointer-events:none}.permission-label{font-weight:600;color:#212121;font-size:.9rem;flex:1;pointer-events:none}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:24px;border-top:2px solid #f0f0f0}.members-content{background:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 8px #0000000f}.members-list-card h2{font-size:1.5rem;color:#212121;margin:0 0 24px}.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:20px}.member-card{background:#f9fafb;border-radius:12px;padding:20px;border-left:4px solid #bdbdbd;transition:all .2s}.member-card:hover{background:#f5f7fa;transform:translate(4px);box-shadow:0 4px 12px #0000001a}.member-card.active{border-left-color:#43a047}.member-card.inactive{border-left-color:#e53935;opacity:.7}.member-header{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.member-avatar{width:50px;height:50px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.3rem;flex-shrink:0}.member-info{flex:1;min-width:0}.member-email{font-weight:700;color:#212121;font-size:1rem;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-role{font-size:.85rem;font-weight:600;padding:4px 10px;border-radius:6px;display:inline-block}.member-role.admin{background:#e3f2fd;color:#1976d2}.member-role.lawyer{background:#e8f5e9;color:#2e7d32}.member-role.secretary{background:#fff3e0;color:#e65100}.member-role.intern{background:#f3e5f5;color:#7b1fa2}.member-role.user{background:#f5f5f5;color:#757575}.member-status{font-size:.85rem;font-weight:600}.member-status.pending{color:#f57c00}.member-status.active{color:#43a047}.member-status.inactive{color:#e53935}.member-permissions{margin-bottom:16px}.permissions-label{font-weight:600;color:#546e7a;margin-bottom:10px;display:flex;align-items:center;gap:6px}.permissions-tags{display:flex;flex-wrap:wrap;gap:8px}.permission-tag{background:#fff;padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:600;color:#212121;border:1px solid #e0e0e0;display:flex;align-items:center;gap:4px}.no-permissions{color:#9e9e9e;font-size:.85rem;font-style:italic}.member-actions{display:flex;gap:8px;padding-top:16px;border-top:2px solid #e0e0e0}.unauthorized-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;background:#fff;border-radius:16px;padding:40px;box-shadow:0 2px 8px #0000000f}.unauthorized-icon{font-size:5rem;margin-bottom:24px}.unauthorized-container h2{color:#e53935;margin:0 0 8px;font-size:1.5rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;background:#fff;border-radius:16px;padding:40px}@media (max-width: 1024px){.whitelist-content,.members-grid{grid-template-columns:1fr}}@media (max-width: 768px){.team-screen{padding:16px}.team-tabs{flex-direction:column}.permissions-grid{grid-template-columns:1fr}.member-actions{flex-direction:column}.member-actions .btn{width:100%;justify-content:center}}.confidential-files-screen{min-height:100vh;background:#f5f7fa;padding:24px}.files-header{margin-bottom:24px}.back-btn{background:#f5f5f5;border:1px solid #e0e0e0;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:500;color:#546e7a;transition:all .2s;margin-bottom:16px}.files-header h1{font-size:1.8rem;color:#212121;margin:0}.files-content{display:flex;flex-direction:column;gap:24px}.upload-section{background:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 8px #0000000f}.upload-card h2{font-size:1.5rem;color:#212121;margin:0 0 8px}.upload-card p{color:#757575;margin:0 0 24px}.upload-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.upload-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.upload-btn input[type=file]{display:none}.upload-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.upload-info{margin-top:20px;padding:16px;background:#f9fafb;border-radius:8px;font-size:.9rem;color:#546e7a}.upload-info p{margin:6px 0}.files-filters{display:flex;gap:16px;background:#fff;padding:20px;border-radius:12px;box-shadow:0 2px 8px #0000000f}.filter-group{flex:1}.search-input{width:100%;padding:12px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.filter-select{width:100%;padding:12px 16px;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer}.files-list-section{background:#fff;border-radius:16px;padding:32px;box-shadow:0 2px 8px #0000000f}.files-list-section h2{font-size:1.5rem;color:#212121;margin:0 0 24px}.files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:16px}.file-card{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#f9fafb;border-radius:12px;border-left:4px solid #667eea;transition:all .2s;gap:16px}.file-card:hover{background:#f5f7fa;transform:translate(4px);box-shadow:0 4px 12px #0000001a}.file-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.file-right{display:flex;gap:10px;flex-shrink:0}.file-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;flex-shrink:0}.file-info{min-width:0;flex:1}.file-name{font-weight:600;color:#212121;font-size:.95rem;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#757575}.file-size{font-weight:500}.file-separator{color:#bdbdbd}.file-date{color:#9e9e9e}.action-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-icon{font-size:1.2rem}.btn-text{display:inline}.view-btn{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff}.view-btn:hover{background:linear-gradient(135deg,#388e3c,#2e7d32);transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.download-btn{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.download-btn:hover{background:linear-gradient(135deg,#1976d2,#1565c0);transform:translateY(-2px);box-shadow:0 4px 12px #2196f366}.delete-btn{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff}.delete-btn:hover{background:linear-gradient(135deg,#d32f2f,#c62828);transform:translateY(-2px);box-shadow:0 4px 12px #f4433666}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.empty-state h3{color:#212121;margin:0 0 8px;font-size:1.3rem}@media (max-width: 768px){.confidential-files-screen{padding:16px}.files-grid{grid-template-columns:1fr}.files-filters{flex-direction:column}.file-card{flex-direction:column;align-items:flex-start}.file-right{width:100%;justify-content:flex-start;margin-top:12px}.action-btn{flex:1;justify-content:center}}.custom-fields-screen{min-height:100vh;background:#f5f7fa;padding:24px}.fields-header{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 8px #0000000f}.fields-header h1{font-size:1.5rem;color:#212121;margin:0}.category-tabs{display:flex;gap:8px;margin-bottom:24px;background:#fff;padding:12px;border-radius:12px;box-shadow:0 2px 8px #0000000f;flex-wrap:wrap}.category-tab{flex:1;min-width:150px;padding:14px 24px;background:transparent;border:none;border-radius:8px;cursor:pointer;font-weight:600;color:#757575;transition:all .2s}.category-tab:hover{background:#f5f5f5;color:#667eea}.category-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 10px #667eea4d}.fields-content{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f}.fields-header-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.fields-header-actions h2{margin:0;color:#212121;font-size:1.2rem}.fields-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.field-card{background:#f9fafb;border-radius:12px;padding:16px;border:2px solid transparent;transition:all .2s}.field-card:hover{background:#f5f5f5;border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.field-card.system{border-color:#e0e0e0;background:#fafafa}.field-card.system .system-badge{background:#e0e0e0;color:#757575}.field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.field-info{display:flex;align-items:center;gap:8px}.field-name{font-weight:600;color:#212121;font-size:1rem}.system-badge{padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;background:#667eea;color:#fff}.field-type{padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;background:#e3f2fd;color:#1976d2}.field-details{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.field-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.detail-label{color:#757575;font-weight:500}.detail-value.yes{color:#4caf50}.field-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid #e0e0e0}.field-modal{max-width:500px;width:90%}.checkbox-group{margin-top:16px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500;color:#212121}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.unauthorized-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.unauthorized-icon{font-size:5rem;margin-bottom:24px;opacity:.5}.unauthorized-container h2{color:#212121;margin:0 0 8px}.unauthorized-container p{color:#757575;margin:0 0 24px}.btn-small{padding:8px 14px;font-size:.85rem}.form-input:disabled{background:#f5f5f5;cursor:not-allowed}@media (max-width: 768px){.custom-fields-screen{padding:12px}.fields-header{flex-direction:column;align-items:flex-start;gap:16px;padding:16px}.fields-header h1{font-size:1.2rem}.category-tabs{flex-direction:column;padding:8px}.category-tab{min-width:100%;padding:12px 16px;font-size:.9rem}.fields-content{padding:16px}.fields-header-actions{flex-direction:column;align-items:flex-start}.fields-grid{grid-template-columns:1fr}.field-card{padding:12px}.field-name{font-size:.95rem}.modal-content{width:95%;max-width:95%}.modal-header{padding:16px 20px}.modal-body{padding:16px}.modal-footer{padding:16px 20px;flex-direction:column}.modal-footer .btn{width:100%;justify-content:center}}.invoices-screen{min-height:100vh;background:#f5f7fa;padding:24px}.invoices-header{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 8px #0000000f}.invoices-header h1{font-size:1.5rem;color:#212121;margin:0 0 4px}.invoices-header p{color:#757575;margin:0;font-size:.95rem}.invoices-content{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f}.invoices-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:16px}.invoice-card{background:#f9fafb;border-radius:12px;padding:20px;border-left:4px solid #667eea;transition:all .2s}.invoice-card:hover{background:#f5f5f5;transform:translateY(-2px);box-shadow:0 4px 12px #667eea26}.invoice-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e0e0e0}.invoice-number{font-weight:700;color:#667eea;font-size:1.1rem}.status-badge{padding:4px 12px;border-radius:6px;font-size:.75rem;font-weight:700}.status-pending{background:#fff3e0;color:#f57c00}.status-paid{background:#e8f5e9;color:#2e7d32}.status-overdue{background:#ffebee;color:#c62828}.status-cancelled{background:#f5f5f5;color:#757575}.invoice-details{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.invoice-client,.invoice-date,.invoice-amount{font-size:.9rem;color:#546e7a}.invoice-amount{font-weight:700;color:#212121;font-size:1.1rem}.invoice-actions{padding-top:12px;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.view-text{color:#667eea;font-size:.85rem;font-weight:600}.invoice-delete-btn{background:transparent;border:none;font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.invoice-delete-btn:hover{background:#ffebee;transform:scale(1.1)}.create-invoice-modal{max-width:800px;width:95%;max-height:90vh;overflow-y:auto}.invoice-table-section{margin:24px 0}.invoice-form-table{width:100%;border-collapse:collapse;border:1px solid #333;margin-bottom:0}.invoice-form-table th{background:#f5f5f5;padding:10px;text-align:center;font-weight:600;font-size:.85rem;color:#546e7a;border:1px solid #333}.invoice-form-table td{border:1px solid #333;padding:8px;vertical-align:top}.col-serial{width:80px;text-align:center;font-weight:600;color:#757575}.col-particulars{width:auto}.col-amount{width:120px}.table-input{padding:8px;font-size:.9rem;text-align:right;border:none;background:transparent}.table-input:focus{outline:none;background:#f0f7ff}.table-textarea{padding:8px;font-size:.9rem;border:none;resize:vertical;min-height:200px}.table-textarea:focus{outline:none;background:#f0f7ff}.totals-section{border:1px solid #333;border-top:none;margin-top:0}.total-row{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #e0e0e0}.total-row:last-child{border-bottom:none}.total-label{font-weight:600;color:#546e7a;text-align:right;flex:1}.total-value{font-weight:700;color:#212121;font-size:1rem;text-align:right;min-width:150px}.vat-input{width:150px;padding:8px;font-size:.9rem;text-align:right;border:1px solid #e0e0e0;border-radius:4px}.vat-input:focus{outline:none;border-color:#667eea}.total-row.grand-total{border-top:2px solid #333;background:#f9fafb}.total-row.grand-total .total-label{color:#212121;font-size:1.1rem}.total-row.grand-total .total-value{color:#667eea;font-size:1.2rem}.view-invoice-modal{max-width:800px;width:95%;max-height:90vh;overflow-y:auto}.invoice-view-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;align-items:center}.invoice-view-header .firm-header{text-align:center;flex:1}.invoice-view-header h3{margin:0 0 8px;font-size:1rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff}.invoice-view-header h2{margin:0;font-size:1.2rem;font-weight:700;color:#fff}.btn-edit{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 16px;font-size:.9rem}.btn-edit:hover{background:#ffffff4d}.invoice-view-content{padding:8px}.invoice-header-info{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.info-section{background:#f9fafb;padding:16px;border-radius:8px}.info-row{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.info-row:last-child{margin-bottom:0}.info-label{font-size:.8rem;color:#667eea;font-weight:600;text-transform:uppercase}.view-table{width:100%;border-collapse:collapse;border:1px solid #333;margin-bottom:24px}.view-table th{background:#f5f5f5;padding:12px;text-align:center;font-weight:600;color:#546e7a;font-size:.85rem;border:1px solid #333}.view-table td{padding:12px;border:1px solid #333;color:#212121;vertical-align:top}.view-table td:nth-child(1){width:80px;text-align:center}.view-table td:nth-child(3){text-align:right;width:120px}.view-totals{border:1px solid #333;border-top:none}.view-totals .total-row{padding:12px 16px}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;overflow-y:auto}select.form-input{cursor:pointer}@media (max-width: 768px){.invoices-screen{padding:12px}.invoices-header{flex-direction:column;align-items:flex-start;gap:16px;padding:16px}.invoices-header h1{font-size:1.2rem}.invoices-list,.form-row,.invoice-header-info{grid-template-columns:1fr}.modal-content{width:95%;max-width:95%}.modal-header{padding:16px 20px}.modal-body{padding:16px}.modal-footer{padding:16px 20px;flex-direction:column}.modal-footer .btn{width:100%;justify-content:center}}.cases-screen{min-height:100vh;background:#f5f7fa;padding:24px}.cases-header{display:flex;align-items:center;gap:20px;margin-bottom:24px}.search-bar{background:#fff;border-radius:12px;padding:16px 20px;margin-bottom:24px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px #0000000f}.cases-tabs{display:flex;gap:12px;margin-bottom:24px}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all .2s;font-size:1rem;font-weight:600;color:#757575}.tab-btn:hover{border-color:#667eea;color:#667eea}.tab-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff;box-shadow:0 4px 15px #667eea59}.tab-icon{font-size:1.3rem}.tab-count{background:#ffffff40;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:700}.tab-btn:not(.active) .tab-count{background:#f5f5f5;color:#757575}.cases-content{min-height:400px}.cases-list{display:flex;flex-direction:column;gap:12px}.case-list-item{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:12px;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #0000000d;border:2px solid transparent}.case-list-item:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001a;border-color:#667eea}.case-avatar{width:50px;height:50px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;flex-shrink:0}.case-info{flex:1;min-width:0}.case-name{font-weight:700;color:#212121;font-size:1.1rem;margin-bottom:6px}.case-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:.9rem;color:#757575}.case-number{font-weight:500}.case-court,.case-date{display:flex;align-items:center;gap:4px}.case-actions{flex-shrink:0}.status-badge.status-closed,.status-badge.status-closed\/archived{background:#ffebee;color:#c62828}@media (max-width: 768px){.cases-screen{padding:16px}.cases-header{flex-direction:row;flex-wrap:wrap;gap:12px}.back-arrow-btn{padding:10px 14px;font-size:.9rem}.header-content{flex:1;min-width:200px}.cases-grid{grid-template-columns:1fr}.cases-tabs{flex-direction:column}.tab-btn{width:100%}}.case-detail-container{min-height:100vh;background:#f5f7fa;padding:24px;overflow-x:visible}.case-detail-header{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 8px #0000000f}.case-info-header{flex:1}.case-info-header h1{font-size:1.5rem;color:#212121;margin:0 0 8px}.case-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.case-number{font-size:.9rem;color:#757575}.status-badge,.case-type-badge{padding:4px 12px;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase}.case-type-badge{background:#e3f2fd;color:#1976d2}.header-actions{display:flex;gap:12px}.case-tabs{display:flex;gap:8px;margin-bottom:24px;background:#fff;padding:12px;border-radius:12px;box-shadow:0 2px 8px #0000000f}.case-tabs .tab{flex:1;padding:14px 24px;background:transparent;border:none;border-radius:8px;cursor:pointer;font-weight:600;color:#757575;transition:all .2s}.case-tabs .tab:hover{background:#f5f5f5;color:#667eea}.case-tabs .tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 10px #667eea4d}.tab-content{animation:fadeIn .3s ease;overflow-x:visible}.overview-content{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f}.info-section:last-child{margin-bottom:0}.info-section h3{font-size:1.2rem;color:#212121;margin:0 0 16px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:6px;padding:16px;background:#f9fafb;border-radius:8px}.documents-tab{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f;overflow-x:visible;min-width:fit-content}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;overflow-x:visible}.tab-header h2{margin:0;color:#212121;font-size:1.2rem}.documents-list{display:flex;flex-direction:column;gap:12px;overflow-x:visible}.document-item{display:flex;align-items:center;gap:16px;padding:16px;background:#f9fafb;border-radius:12px;transition:all .2s;flex-wrap:nowrap;justify-content:space-between;position:relative;z-index:1;width:100%;max-width:100%}.document-item:hover{background:#f5f5f5;transform:translate(4px);box-shadow:0 2px 8px #00000014}.doc-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;flex-shrink:0}.doc-details{flex:1 1 auto;min-width:0;max-width:calc(100% - 200px);overflow:hidden}.doc-name{font-weight:600;color:#212121;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-meta{font-size:.85rem;color:#757575;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-actions{display:flex!important;gap:8px!important;flex-shrink:0!important;margin-left:auto!important;min-width:140px!important}.btn-icon{background:#f5f5f5;border:none;width:40px;height:40px;border-radius:8px;cursor:pointer;font-size:1.2rem;transition:all .2s;display:flex!important;align-items:center;justify-content:center;flex-shrink:0!important;padding:0!important;visibility:visible!important;opacity:1!important}.btn-icon:hover{background:#e0e0e0;transform:scale(1.05)}.btn-icon.delete:hover{background:#ffebee}.history-tab,.court-records-tab{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f}.court-records-list{display:flex;flex-direction:column;gap:12px}.court-record-item-compact{background:#f9fafb;border-radius:12px;padding:16px 20px;border-left:4px solid #667eea;transition:all .2s}.court-record-item-compact:hover{background:#f5f5f5;transform:translate(4px);box-shadow:0 4px 12px #667eea26}.compact-record-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e0e0e0}.compact-record-info{display:flex;flex-direction:column;gap:4px}.compact-case-number{font-weight:700;color:#667eea;font-size:1rem}.compact-client{color:#757575;font-size:.9rem}.compact-record-date{font-weight:600;color:#212121;font-size:.9rem;white-space:nowrap}.compact-record-preview{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.compact-preview-item{font-size:.85rem;color:#757575;background:#fff;padding:6px 12px;border-radius:6px}.compact-record-actions{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e0e0e0}.view-details-text{color:#667eea;font-size:.85rem;font-weight:600}.view-record-modal{max-width:800px;width:90%;max-height:90vh;overflow-y:auto}.view-record-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;align-items:center}.view-record-header .firm-header{text-align:center;flex:1}.view-record-header h3{margin:0 0 8px;font-size:1rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff}.view-record-header h2{margin:0;font-size:1.2rem;font-weight:700;color:#fff}.modal-actions{display:flex;gap:8px;align-items:center}.btn-print{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 16px;font-size:.9rem}.btn-print:hover{background:#ffffff4d}.view-record-content{padding:8px}.record-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;background:#f9fafb;padding:20px;border-radius:12px}.info-row{display:flex;flex-direction:column;gap:6px}.info-label{font-size:.85rem;color:#667eea;font-weight:600;text-transform:uppercase}.view-section{margin-bottom:20px;background:#fff;border-radius:8px;padding:16px;border:1px solid #e0e0e0}.view-section-title{font-size:.9rem;font-weight:700;color:#667eea;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e0e0e0;padding-bottom:8px}.view-section-content{white-space:pre-wrap;line-height:1.8;color:#212121;font-size:.95rem}.view-footer{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;padding-top:20px;border-top:2px solid #e0e0e0}.footer-section{display:flex;flex-direction:column;gap:6px}.footer-label{font-size:.85rem;color:#757575;font-weight:600}.footer-value{font-size:1rem;color:#212121;font-weight:700}@media (max-width: 600px){.record-info-grid,.view-footer{grid-template-columns:1fr}.compact-record-header{flex-direction:column;align-items:flex-start;gap:8px}}.court-record-item{background:#f9fafb;border-radius:12px;padding:20px;border-left:4px solid #667eea;transition:all .2s}.court-record-item:hover{background:#f5f5f5;transform:translate(4px);box-shadow:0 2px 8px #667eea26}.record-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e0e0e0;gap:16px}.record-info{display:flex;flex-direction:column;gap:4px;flex:1}.record-case-number{font-weight:700;color:#667eea;font-size:1rem}.record-client{color:#757575;font-size:.9rem}.record-date{font-weight:600;color:#212121;font-size:.9rem;white-space:nowrap}.record-section{margin-bottom:16px}.record-section:last-child{margin-bottom:0}.section-title{font-size:.9rem;font-weight:700;color:#667eea;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.record-content{background:#fff;padding:12px;border-radius:8px;color:#212121;line-height:1.6;white-space:pre-wrap;font-size:.95rem}.record-footer{margin-top:12px;padding-top:12px;border-top:1px solid #e0e0e0;font-size:.85rem;color:#757575;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.footer-left,.footer-right{display:flex;align-items:center;gap:8px}.court-record-modal{max-width:700px;width:90%;max-height:90vh;overflow-y:auto}.court-record-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;align-items:center}.court-record-header .firm-header{text-align:center;flex:1}.court-record-header h3{margin:0 0 8px;font-size:1.1rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff}.court-record-header h2{margin:0;font-size:1.3rem;font-weight:700;color:#fff}.court-record-header .close-modal{color:#fff;background:#fff3;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.court-record-header .close-modal:hover{background:#ffffff4d}.court-record-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 600px){.form-row{grid-template-columns:1fr;gap:12px}}.history-tab h2{margin:0 0 24px;color:#212121;font-size:1.2rem}.history-timeline{position:relative;padding-left:30px}.history-timeline:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:#e0e0e0}.timeline-item{position:relative;margin-bottom:24px}.timeline-dot{position:absolute;left:-24px;top:0;width:12px;height:12px;background:#667eea;border-radius:50%;border:3px solid white;box-shadow:0 0 0 2px #667eea}.timeline-content{background:#f9fafb;border-radius:12px;padding:16px}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.action-title{font-weight:700;color:#212121}.action-time{font-size:.85rem;color:#757575}.action-by{font-size:.9rem;color:#546e7a;margin-bottom:12px}.action-details{background:#fff;border-radius:8px;padding:12px;margin-top:12px}.details-label{font-size:.85rem;color:#757575;font-weight:600;margin-bottom:8px}.details-list{display:flex;flex-direction:column;gap:6px}.detail-item{display:flex;gap:8px;font-size:.9rem}.detail-key{color:#757575;font-weight:500}.detail-value{color:#212121;font-weight:600}.empty-state{text-align:center;padding:60px 20px}.empty-state .empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.empty-state h3{color:#212121;margin:0 0 8px}.empty-state p{color:#757575;margin:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:500px;box-shadow:0 20px 60px #0000004d}.close-modal{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#757575}.form-label{display:block;margin-bottom:8px;font-weight:600;color:#212121}.form-input{width:100%;padding:12px 14px;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem}.form-input:focus{outline:none;border-color:#667eea}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-success{background:linear-gradient(135deg,#66bb6a,#43a047);color:#fff}@media (max-width: 768px){.case-detail-container{padding:12px}.case-detail-header{flex-direction:column;align-items:flex-start;gap:16px;padding:16px}.back-btn{padding:8px 12px;font-size:.85rem}.case-info-header h1{font-size:1.2rem}.case-meta{gap:8px}.case-number,.status-badge,.case-type-badge{font-size:.7rem}.header-actions{width:100%;justify-content:stretch;gap:8px}.header-actions .btn{flex:1;justify-content:center;padding:10px 12px;font-size:.85rem}.case-tabs{flex-direction:column;padding:8px}.case-tabs .tab{padding:12px 16px;font-size:.9rem}.tab-content{padding:12px}.overview-content,.documents-tab,.history-tab{padding:16px}.info-section h3,.tab-header h2,.history-tab h2{font-size:1.1rem}.info-grid{grid-template-columns:1fr;gap:12px}.info-item{padding:12px}.info-label{font-size:.8rem}.info-value{font-size:.95rem}.document-item{flex-direction:row;align-items:center;gap:12px;flex-wrap:nowrap}.doc-icon{width:40px;height:40px;font-size:1.5rem}.doc-name{font-size:.9rem}.doc-meta{font-size:.8rem}.doc-actions{display:flex;gap:8px;flex-shrink:0;margin-left:auto}.btn-icon{width:36px;height:36px;font-size:1.1rem}.history-timeline{padding-left:24px}.history-timeline:before{left:6px}.timeline-dot{left:-20px;width:10px;height:10px}.timeline-content{padding:12px}.timeline-header{flex-direction:column;align-items:flex-start;gap:6px}.action-title{font-size:.95rem}.action-time{font-size:.75rem}.action-by{font-size:.85rem}.detail-item{flex-direction:column;gap:4px}.modal-content{width:95%;max-width:95%}.modal-header{padding:16px 20px}.modal-header h2{font-size:1.1rem}.modal-body{padding:16px}.form-group{margin-bottom:16px}.form-label{font-size:.9rem}.form-input{padding:10px 12px;font-size:.9rem}.modal-footer{padding:16px 20px;flex-direction:column}.modal-footer .btn{width:100%;justify-content:center}.confirm-modal .warning-icon{font-size:3rem}.confirm-modal h3{font-size:1.1rem}.confirm-modal p{font-size:.9rem}}@media (max-width: 480px){.case-detail-container{padding:8px}.case-detail-header{padding:12px}.case-info-header h1{font-size:1.1rem}.case-meta{flex-direction:column;gap:6px;align-items:flex-start}.case-number,.status-badge,.case-type-badge{font-size:.65rem}.case-tabs .tab{padding:10px 12px;font-size:.85rem}.info-item{padding:10px}.info-label{font-size:.75rem}.info-value{font-size:.9rem}.tab-header{flex-direction:column;align-items:flex-start;gap:12px}.tab-header h2{font-size:1rem}.upload-btn{width:100%;justify-content:center}.document-item{padding:12px}.doc-icon{width:36px;height:36px}.doc-name{font-size:.85rem}.doc-meta{font-size:.75rem}.btn-icon{width:32px;height:32px;font-size:1rem}.timeline-content{padding:10px}.action-title{font-size:.9rem}.action-time{font-size:.7rem}.detail-key,.detail-value{font-size:.85rem}}.clients-screen{min-height:100vh;background:#f5f7fa;padding:24px}.clients-header{display:flex;align-items:center;gap:20px;margin-bottom:24px}.back-arrow-btn{background:#fff;border:2px solid #e0e0e0;padding:12px 20px;border-radius:10px;cursor:pointer;font-weight:600;color:#546e7a;transition:all .2s;font-size:.95rem;display:flex;align-items:center;gap:6px;flex-shrink:0}.back-arrow-btn:hover{background:#f5f5f5;border-color:#667eea;color:#667eea;transform:translate(-4px)}.header-content h1{font-size:1.8rem;color:#212121;margin:0 0 4px}.header-content p{color:#757575;margin:0;font-size:.95rem}.search-bar{background:#fff;border-radius:12px;padding:16px 20px;margin-bottom:24px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px #0000000f;position:relative}.search-icon{font-size:1.3rem;color:#757575}.search-input{flex:1;border:none;outline:none;font-size:1rem;color:#212121}.search-input::placeholder{color:#bdbdbd}.clear-search{background:#f5f5f5;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1rem;color:#757575;display:flex;align-items:center;justify-content:center;transition:all .2s}.clear-search:hover{background:#e0e0e0;color:#212121}.clients-content{min-height:400px}.clients-list-horizontal{display:flex;flex-direction:column;gap:0}.client-list-item{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;border-radius:12px;margin-bottom:8px;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #00000014}.client-list-item:hover{background:#f5f7fa;box-shadow:0 2px 8px #667eea26;transform:translate(4px)}.client-avatar-small{width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;flex-shrink:0}.client-info-horizontal{flex:1;min-width:0}.client-name-row{margin-bottom:6px}.client-name-display{font-weight:600;color:#212121;font-size:1rem;text-transform:capitalize}.client-details-row{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#757575}.detail-inline{display:flex;align-items:center;gap:4px}.inline-icon{font-size:1rem}.detail-separator{color:#bdbdbd}.clients-grid,.client-card{display:none}.client-card{background:#fff;border-radius:16px;padding:20px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000000f;border:2px solid transparent}.client-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:#667eea}.client-card-header{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #f0f0f0}.client-avatar{width:56px;height:56px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.5rem;box-shadow:0 2px 8px #667eea4d}.client-info{flex:1;min-width:0}.client-name{font-size:1.1rem;font-weight:700;color:#212121;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-cases{font-size:.85rem;color:#757575;font-weight:500}.client-details{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.detail-item{display:flex;align-items:center;gap:10px;font-size:.9rem;color:#546e7a}.detail-icon{font-size:1.1rem;width:20px;text-align:center}.client-card-footer{padding-top:16px;border-top:1px solid #f0f0f0}.view-details{color:#667eea;font-weight:600;font-size:.9rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;background:#fff;border-radius:16px}.empty-state .empty-icon{font-size:5rem;margin-bottom:24px;opacity:.5}.empty-state h3{color:#212121;margin:0 0 8px;font-size:1.4rem}.empty-state p{color:#757575;margin:0 0 24px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;background:#fff;border-radius:16px}.spinner-large{width:50px;height:50px;border:4px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-state p{color:#757575;margin:0}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}@media (max-width: 768px){.clients-screen{padding:16px}.clients-header{flex-direction:row;flex-wrap:wrap;gap:12px}.back-arrow-btn{padding:10px 14px;font-size:.9rem}.header-content{flex:1;min-width:200px}.clients-grid{grid-template-columns:1fr}}.add-client-container{min-height:100vh;background:#f5f7fa;padding:24px}.field-actions-group{display:flex;gap:8px}.field-actions-group .btn{padding:10px 16px;font-size:.9rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh}@media (max-width: 768px){.add-client-container{padding:16px}.form-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{margin-left:0;width:100%}.header-actions .btn{width:100%;justify-content:center}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.client-detail-container{min-height:100vh;background:#f5f7fa;padding:24px}.client-detail-header{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 8px #0000000f;position:relative}.client-profile-header{display:flex;align-items:center;gap:20px;flex:1;position:relative}.client-avatar-large{width:80px;height:80px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:2.5rem;box-shadow:0 4px 12px #667eea4d}.client-name-section{flex:1}.client-name-section h1{font-size:1.8rem;color:#212121;margin:0 0 8px}.client-meta{display:flex;gap:20px;flex-wrap:wrap;color:#757575;font-size:.95rem}.client-meta span{display:flex;align-items:center;gap:6px}.delete-client-btn{background:#ffebee;border:2px solid #ffcdd2;width:48px;height:48px;border-radius:12px;cursor:pointer;font-size:1.5rem;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.delete-client-btn:hover{background:#ffcdd2;border-color:#ef9a9a;transform:scale(1.1)}.client-tabs{display:flex;gap:8px;margin-bottom:24px;background:#fff;padding:12px;border-radius:12px;box-shadow:0 2px 8px #0000000f}.client-tabs .tab{flex:1;padding:14px 24px;background:transparent;border:none;border-radius:8px;cursor:pointer;font-weight:600;color:#757575;transition:all .2s;font-size:1rem}.client-tabs .tab:hover{background:#f5f5f5;color:#667eea}.client-tabs .tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 10px #667eea4d}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.profile-tab{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}.profile-header h2{margin:0;color:#212121;font-size:1.3rem}.edit-actions{display:flex;gap:12px}.profile-content{max-width:900px}.profile-content.edit-mode{max-width:100%}.info-section{margin-bottom:32px}.info-section h3{color:#212121;font-size:1.1rem;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-row{display:flex;flex-direction:column;gap:6px;padding:12px;background:#f9fafb;border-radius:8px}.info-row.full-width{grid-column:1 / -1}.info-label{font-size:.85rem;color:#757575;font-weight:500}.info-value{font-size:1rem;color:#212121;font-weight:600}.notes-text{color:#546e7a;line-height:1.7;margin:0;padding:16px;background:#f9fafb;border-radius:8px}.form-section{margin-bottom:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{margin:0;color:#212121;font-size:1.1rem}.field-actions{display:flex;gap:8px}.field-actions .btn{padding:8px 16px;font-size:.9rem}.form-label{display:block;margin-bottom:8px;font-weight:600;color:#212121;font-size:.95rem}.form-input{width:100%;padding:12px 14px;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s}.form-input.textarea{resize:vertical;min-height:80px;font-family:inherit}.cases-tab-simple{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}.tab-header h2{margin:0;color:#212121;font-size:1.3rem}.create-case-card{text-align:center;padding:60px 20px;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:12px;margin-bottom:32px}.case-card-icon{font-size:4rem;margin-bottom:16px}.create-case-card h3{color:#1976d2;margin:0 0 8px;font-size:1.3rem}.create-case-card p{color:#546e7a;margin:0 0 24px}.btn-large{padding:16px 32px;font-size:1.05rem}.existing-cases-section{margin-top:32px}.existing-cases-section h3{color:#212121;margin:0 0 16px;font-size:1.1rem}.cases-list-simple{display:flex;flex-direction:column;gap:12px}.case-item-simple{background:#f9fafb;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s;border:2px solid transparent}.case-item-simple:hover{background:#f5f5f5;border-color:#667eea;transform:translate(4px)}.case-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.case-item-header h4{margin:0;color:#212121;font-size:1.05rem}.case-item-details{display:flex;gap:20px;flex-wrap:wrap;font-size:.9rem;color:#757575}.case-item-details span{display:flex;align-items:center;gap:6px}.financials-tab-simple{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f}.financial-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.summary-card{background:#fff;border:2px solid #f0f0f0;border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px}.summary-icon{font-size:2.5rem;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:12px}.summary-card:nth-child(1) .summary-icon{background:#e3f2fd}.summary-card:nth-child(2) .summary-icon{background:#e8f5e9}.summary-card:nth-child(3) .summary-icon{background:#fff3e0}.summary-content{flex:1}.summary-label{font-size:.85rem;color:#757575;margin-bottom:4px}.summary-value{font-size:1.5rem;font-weight:700;color:#212121}.summary-value.success{color:#2e7d32}.summary-value.warning{color:#e65100}.create-invoice-card{text-align:center;padding:60px 20px;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:12px;margin-bottom:32px}.invoice-card-icon{font-size:4rem;margin-bottom:16px}.create-invoice-card h3{color:#2e7d32;margin:0 0 8px;font-size:1.3rem}.create-invoice-card p{color:#546e7a;margin:0 0 24px}.existing-invoices-section{margin-top:32px}.existing-invoices-section h3{color:#212121;margin:0 0 16px;font-size:1.1rem}.invoices-list-simple{display:flex;flex-direction:column;gap:12px}.invoice-item-simple{background:#f9fafb;border-radius:12px;padding:16px;border:2px solid transparent}.invoice-item-simple:hover{background:#f5f5f5;border-color:#667eea}.invoice-header-simple{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e0e0e0}.invoice-number{font-weight:700;color:#212121;font-size:1rem}.invoice-case{font-size:.85rem;color:#757575;margin-top:4px}.invoice-amounts-simple{display:flex;justify-content:space-between;gap:20px}.amount-row-simple{display:flex;justify-content:space-between;min-width:150px;font-size:.95rem}.amount-row-simple.balance{font-weight:700;border-top:2px solid #e0e0e0;margin-top:8px;padding-top:8px}.amount-row-simple .paid{color:#2e7d32}.status-badge{padding:6px 12px;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-active{background:#e8f5e9;color:#2e7d32}.status-badge.status-closed{background:#ffebee;color:#c62828}.status-badge.status-pending{background:#fff3e0;color:#e65100}.status-badge.status-draft{background:#e3f2fd;color:#1976d2}.status-badge.status-sent{background:#fff3e0;color:#e65100}.status-badge.status-paid{background:#e8f5e9;color:#2e7d32}.status-badge.status-overdue{background:#ffebee;color:#c62828}.warning-icon{font-size:4rem;text-align:center;display:block;margin-bottom:16px}.modal-body h3{text-align:center;color:#212121;margin:0 0 12px}.modal-body p{color:#757575;text-align:center;line-height:1.6;margin:0 0 12px}.warning-text{background:#fff3e0;padding:12px;border-radius:8px;border-left:4px solid #ff9800;text-align:left;margin:16px 0}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px}.spinner-large{width:50px;height:50px;border:4px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.manage-fields-info{background:#fff3e0;border:2px solid #ff9800;border-radius:12px;padding:16px;margin-bottom:20px}.manage-fields-info p{margin:0;color:#e65100;line-height:1.6}.manage-fields-info strong{color:#c62828}.empty-fields{text-align:center;padding:40px 20px;color:#757575}.empty-fields .empty-icon{font-size:4rem;margin-bottom:16px;opacity:.5}.fields-list h3{color:#212121;margin:0 0 16px;font-size:1.1rem;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.field-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#f9fafb;border-radius:8px;margin-bottom:10px;border:2px solid transparent;transition:all .2s}.field-item:hover{background:#f5f5f5;border-color:#ffcdd2}.field-name{display:flex;align-items:center;gap:10px;font-weight:600;color:#212121;flex:1}.field-icon{font-size:1.2rem}.btn-small{padding:8px 16px;font-size:.85rem}.info-note{background:#e3f2fd;border:2px solid #90caf9;border-radius:12px;padding:16px 20px;margin-top:20px;text-align:center}.info-note p{margin:0;color:#1565c0;font-size:.95rem}.info-note strong{color:#0d47a1}.info-grid-horizontal{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.info-box{background:#f9fafb;border-radius:12px;padding:20px;text-align:center}.info-box.full-width{grid-column:1 / -1}.info-box-label{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.85rem;color:#757575;font-weight:500;margin-bottom:10px}.box-icon{font-size:1rem}.info-box-value{font-size:1rem;color:#212121;font-weight:600;word-break:break-word}.notes-section{margin-bottom:32px}.notes-section h3{color:#212121;margin:0 0 16px;font-size:1.1rem;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.notes-content{background:#f9fafb;border-radius:12px;padding:20px;color:#546e7a;line-height:1.6;font-size:.95rem}@media (max-width: 768px){.client-detail-container{padding:16px}.client-detail-header{flex-direction:column;align-items:flex-start}.client-profile-header{flex-direction:column;width:100%}.client-meta{flex-direction:column;gap:8px}.delete-client-btn{position:absolute;top:20px;right:20px}.client-tabs{flex-direction:column}.info-grid,.form-grid,.financial-summary{grid-template-columns:1fr}.invoice-amounts-simple{flex-direction:column}.amount-row-simple{justify-content:space-between}}.create-case-container,.create-invoice-container{min-height:100vh;background:#f5f7fa;padding:24px}.form-header{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 8px #0000000f}.back-btn{background:#f5f5f5;border:1px solid #e0e0e0;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:500;color:#546e7a;transition:all .2s}.back-btn:hover{background:#e0e0e0}.form-header h1{font-size:1.5rem;color:#212121;margin:0 0 4px}.form-header p{color:#757575;margin:0;font-size:.95rem}.required{color:#e53935;font-weight:700}.header-actions{margin-left:auto}.form-content{max-width:900px;margin:0 auto}.form-section{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.form-section h2{font-size:1.2rem;color:#212121;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid #f0f0f0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group{margin-bottom:20px}.form-group.full-width{grid-column:1 / -1}.form-label{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;color:#212121;font-size:.95rem}.label-icon{font-size:1.2rem}.form-input{width:100%;padding:12px 14px;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .2s;background:#fff}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input.textarea{resize:vertical;min-height:100px;font-family:inherit}.form-input:read-only{background:#f5f5f5;cursor:not-allowed}.custom-field-group{margin-bottom:20px}.custom-field-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.btn-icon-delete{background:#ffebee;border:none;width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:1.1rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-icon-delete:hover{background:#ffcdd2;transform:scale(1.1)}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding:20px 0}.form-actions .btn{min-width:140px;justify-content:center}.invoice-preview{background:linear-gradient(135deg,#f5f7fa,#e8eaf6);border-radius:12px;padding:20px;margin-top:20px;border:2px solid #c5cae9}.invoice-preview h3{margin:0 0 16px;color:#3f51b5;font-size:1.1rem}.preview-row{display:flex;justify-content:space-between;padding:8px 0;font-size:.95rem;color:#546e7a}.preview-row.total{border-top:2px solid #c5cae9;margin-top:12px;padding-top:12px;font-weight:700;color:#212121;font-size:1.1rem}.loading-small{padding:12px;color:#757575;font-size:.95rem}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:.95rem}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-outline{background:#fff;border:2px solid #e0e0e0;color:#546e7a}.btn-outline:hover{border-color:#667eea;color:#667eea}.btn-danger{background:linear-gradient(135deg,#ef5350,#e53935);color:#fff}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 20px #e5393566}.spinner-small{width:18px;height:18px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.modal-content.small{max-width:400px}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:20px 24px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.3rem;color:#212121}.modal-header.danger{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-bottom-color:#ef9a9a}.modal-header.danger h2{color:#c62828}.close-modal{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#757575;padding:4px;line-height:1}.close-modal:hover{color:#212121}.modal-body{padding:24px}.modal-footer{padding:20px 24px;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end}.confirm-modal .warning-icon{font-size:4rem;text-align:center;display:block;margin-bottom:16px}.confirm-modal h3{text-align:center;color:#212121;margin:0 0 12px}.confirm-modal p{color:#757575;text-align:center;line-height:1.6;margin:0}.field-modal{max-width:600px;width:90%;max-height:80vh}.manage-fields-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.manage-field-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f9fafb;border-radius:8px;border:2px solid transparent;transition:all .2s}.manage-field-item:hover{background:#f5f5f5}.manage-field-item.system{border-color:#e0e0e0;background:#fafafa;opacity:.7}.manage-field-item.custom{border-color:#667eea}.field-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.field-label{font-weight:600;color:#212121}.field-name{color:#757575;font-size:.85rem;font-style:italic}.system-badge{padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;background:#e0e0e0;color:#757575}.field-type-badge{padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;background:#e3f2fd;color:#1976d2}.btn-icon-delete{background:transparent;border:none;font-size:1.3rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.btn-icon-delete:hover{background:#ffebee;transform:scale(1.1)}@media (max-width: 768px){.create-case-container,.create-invoice-container{padding:16px}.form-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{margin-left:0;width:100%}.header-actions .btn{width:100%;justify-content:center}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}:root{--primary-color: #3f51b5;--primary-dark: #303f9f;--primary-light: #7986cb;--secondary-color: #f50057;--success-color: #4caf50;--warning-color: #ff9800;--error-color: #f44336;--background-color: #f5f5f5;--surface-color: #ffffff;--text-primary: #212121;--text-secondary: #757575;--border-color: #e0e0e0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--background-color);color:var(--text-primary);line-height:1.6}a{text-decoration:none;color:var(--primary-color)}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit}.container{max-width:1200px;margin:0 auto;padding:0 16px}.card{background:var(--surface-color);border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:16px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:none;border-radius:4px;font-weight:500;transition:all .2s}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-dark)}.btn-secondary{background-color:var(--secondary-color);color:#fff}.btn-success{background-color:var(--success-color);color:#fff}.btn-danger{background-color:var(--error-color);color:#fff}.btn-outline{background-color:transparent;border:1px solid var(--primary-color);color:var(--primary-color)}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:4px;font-weight:500;color:var(--text-primary)}.form-input{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--primary-color)}.loading-spinner{display:flex;align-items:center;justify-content:center;min-height:200px}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary)}.empty-state svg{width:64px;height:64px;margin-bottom:16px;opacity:.5}@media (max-width: 768px){.container{padding:0 12px}}
