:root{--bg-dark: #0f172a;--bg-card: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent-primary: #3b82f6;--accent-hover: #2563eb;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--border-color: #334155;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 8px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-dark);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}#app{max-width:600px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.app-header{padding:1.5rem;background:#1e293bd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--border-color)}.header-content{display:flex;justify-content:space-between;align-items:center}h1{font-size:1.75rem;font-weight:800;background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.5px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.2rem;font-size:.95rem;font-weight:600;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:inherit;gap:.5rem}.btn:disabled{opacity:.7;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background-color:var(--accent-primary);color:#fff;box-shadow:0 4px 14px #3b82f663}.btn-primary:hover:not(:disabled){background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px #3b82f680}.btn-accent{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 14px #10b98163}.btn-accent:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b98180}.btn-large{width:100%;padding:1.1rem;font-size:1.1rem;border-radius:var(--radius-md);letter-spacing:.3px}.btn-block{width:100%;padding:1rem}.btn-icon{background:transparent;color:var(--text-secondary);padding:.5rem;border-radius:50%}.btn-icon:hover{color:var(--danger);background:#ef444426;transform:scale(1.05)}.app-main{padding:1.5rem;flex:1;display:flex;flex-direction:column;gap:2.5rem}.stats-section{display:flex;flex-direction:column;gap:1.5rem}.stat-card{background:linear-gradient(145deg,var(--bg-card),rgba(30,41,59,.5));padding:2rem;border-radius:var(--radius-lg);border:1px solid rgba(51,65,85,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 10px 30px -10px #00000080;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6)}.stat-value{font-size:3.5rem;font-weight:800;color:var(--text-primary);line-height:1;text-shadow:0 2px 10px rgba(0,0,0,.2)}.stat-label{color:var(--text-secondary);font-size:1rem;font-weight:500;margin-top:.75rem;text-transform:uppercase;letter-spacing:1px}.clients-section{display:flex;flex-direction:column;gap:1.25rem}.section-header h2{font-size:1.35rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.section-header h2:before{content:"";display:block;width:8px;height:24px;background:var(--accent-primary);border-radius:4px}.clients-list{display:flex;flex-direction:column;gap:1rem}.client-card{background:var(--bg-card);border-radius:var(--radius-md);padding:1.25rem;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.client-card:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#3b82f6;opacity:0;transition:opacity .3s}.client-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 12px 20px -8px #0000004d;border-color:#475569}.client-card:hover:after{opacity:1}.client-info{display:flex;flex-direction:column;gap:.35rem}.client-name{font-weight:600;font-size:1.15rem;color:#e2e8f0}.client-phone{color:var(--text-secondary);font-size:.9rem;display:flex;align-items:center;gap:.5rem}.client-phone:before{content:"📱";font-size:.8rem}.client-actions{display:flex;gap:.5rem}.client-skeleton{height:85px;background:linear-gradient(90deg,#1e293b 25%,#334155,#1e293b 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:var(--radius-md)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172ad9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.16,1,.3,1);z-index:50}@media(min-width:600px){.modal{align-items:center}}.modal.active{opacity:1;pointer-events:all}.modal-content{background:var(--bg-dark);width:100%;max-width:500px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:2rem;transform:translateY(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);box-shadow:0 -15px 40px #00000080;border:1px solid var(--border-color);border-bottom:none}@media(min-width:600px){.modal-content{border-radius:var(--radius-lg);transform:translateY(30px) scale(.95);border-bottom:1px solid var(--border-color)}}.modal.active .modal-content{transform:translateY(0) scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.modal-header h2{font-size:1.5rem;font-weight:700}.close-btn{background:#1e293b;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn:hover{background:#334155;color:#fff;transform:rotate(90deg)}.login-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-dark);display:flex;align-items:center;justify-content:center;z-index:1000;transition:opacity .5s ease}.login-card{background:var(--bg-card);padding:3rem 2rem;border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);width:90%;max-width:400px;text-align:center}.auth-tabs{display:flex;margin-bottom:2rem;background:#0f172a80;border-radius:var(--radius-sm);padding:.25rem}.auth-tab{flex:1;padding:.75rem;border:none;background:transparent;color:var(--text-secondary);font-weight:600;font-family:inherit;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.auth-tab.active{background:var(--accent-primary);color:#fff;box-shadow:var(--shadow-sm)}.login-card h2{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-card p{color:var(--text-secondary);font-size:.95rem;margin-bottom:2rem}.login-error{color:var(--danger);font-size:.9rem;margin-top:1rem;min-height:20px}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.form-group input{width:100%;padding:1rem 1.25rem;background:#1e293b;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:1.05rem;transition:all .2s;outline:none}.form-group input::placeholder{color:#475569}.form-group input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f633;background:#0f172a}.form-actions{margin-top:2.5rem}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%) translateY(150%);background:var(--success);color:#fff;padding:1rem 2rem;border-radius:999px;font-weight:600;box-shadow:0 10px 25px -5px #10b98180;display:flex;align-items:center;gap:.75rem;opacity:0;transition:all .4s cubic-bezier(.16,1,.3,1);z-index:100;white-space:nowrap}.toast.show{transform:translate(-50%) translateY(0);opacity:1}.toast.error{background:var(--danger);box-shadow:0 10px 25px -5px #ef444480}.toast.warning{background:var(--warning);box-shadow:0 10px 25px -5px #f59e0b80}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
