@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";.dashboard-page{flex-direction:column;gap:2.5rem;display:flex}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.metric-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);align-items:center;gap:1.25rem;padding:1.5rem;display:flex}.metric-card:hover{box-shadow:var(--shadow-md);border-color:#ffffff26;transform:translateY(-2px)}.metric-icon{border-radius:var(--radius-md);width:48px;height:48px;color:var(--color-primary);background-color:#5a67d826;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.metric-icon.active{color:#48bb78;background-color:#48bb7826}.metric-icon.new{color:#ed8936;background-color:#ed893626}.metric-info{flex-direction:column;display:flex}.metric-label{color:var(--color-text-muted);font-size:.875rem;font-weight:500}.metric-value{color:var(--color-text);font-size:1.75rem;font-weight:700;line-height:1.2}.dashboard-section{flex-direction:column;gap:1rem;display:flex}.section-title{color:var(--color-text-muted);font-size:1.125rem;font-weight:600}.table-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);background-color:#ffffff05;padding:1.25rem 1.5rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:1rem 1.5rem}.data-table tbody tr{transition:background-color var(--transition-fast)}.data-table tbody tr:hover{background-color:#ffffff05}.data-table tbody tr:last-child td{border-bottom:none}.table-client-profile{align-items:center;gap:1rem;display:flex}.table-avatar{width:40px;height:40px;color:var(--color-primary);border-radius:var(--radius-full);background-color:#5a67d826;justify-content:center;align-items:center;font-size:1rem;font-weight:600;display:flex}.client-name{color:var(--color-text);font-size:.95rem;font-weight:600}.client-address{color:var(--color-text-muted);margin-top:.125rem;font-size:.8rem}.contact-info{flex-direction:column;gap:.125rem;font-size:.9rem;display:flex}.empty-state{text-align:center;color:var(--color-text-muted);padding:3rem 2rem}.client-card{background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:all var(--transition-normal);flex-direction:row;align-items:stretch;gap:1.5rem;padding:1.25rem;display:flex;position:relative;overflow:hidden}.client-card:before{content:"";background:linear-gradient(180deg, transparent, var(--color-primary), transparent);opacity:0;width:2px;transition:opacity var(--transition-normal);position:absolute;top:0;bottom:0;left:0}.client-card:hover{box-shadow:var(--shadow-md);background-color:var(--color-surface-hover);border-color:#5a67d84d;transform:translateY(-4px)}.client-card:hover:before{opacity:1}.card-photo{aspect-ratio:1;border-radius:var(--radius-md);background-color:#5a67d80d;border:1px dashed #5a67d84d;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;display:flex;position:relative;overflow:hidden}.photo-placeholder{color:var(--color-primary);opacity:.8;font-size:3rem;font-weight:700}.card-content{flex-direction:column;flex:1;gap:.75rem;display:flex}.card-header{justify-content:space-between;align-items:flex-start;display:flex}.card-titles{flex-direction:column;display:flex}.card-company-title{color:var(--color-primary);letter-spacing:-.02em;font-size:1.6rem;font-weight:700;line-height:1.2}.card-body{border-radius:var(--radius-md);background-color:#00000026;flex-direction:column;flex:1;gap:.85rem;margin-top:.25rem;padding:1.25rem;display:flex}.info-row{color:var(--color-text);align-items:center;gap:.85rem;font-size:1.1rem;display:flex}.client-fullname{font-size:1.2rem;font-weight:600}.info-row .icon{opacity:.7;font-size:1.25rem}.card-credentials{border-top:1px dashed #ffffff1a;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.25rem;padding-top:1rem;display:grid}.cred-item{color:var(--color-text-muted);border-radius:var(--radius-sm);background:#00000040;align-items:flex-start;gap:.5rem;padding:.5rem .6rem;font-size:.85rem;display:flex;overflow:hidden}.cred-content-col{flex-direction:column;gap:.25rem;min-width:0;display:flex}.cred-username{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-weight:500;overflow:hidden}.cred-password-wrapper{cursor:pointer;width:fit-content;transition:background-color var(--transition-fast);background-color:#ffffff0d;border-radius:4px;align-items:center;gap:.35rem;padding:.2rem .4rem;display:flex}.cred-password-wrapper:hover{background-color:#ffffff1a}.cred-password{letter-spacing:1px;font-family:monospace;font-size:.8rem}.pwd-icon{opacity:.7}.cred-badge{color:var(--color-primary);text-transform:uppercase;background-color:#5a67d833;border-radius:10px;width:fit-content;padding:.15rem .4rem;font-size:.7rem;font-weight:600}.cred-item .icon{color:var(--color-primary);opacity:.8;flex-shrink:0;margin-top:.1rem}.card-actions{gap:.75rem;display:flex}.btn-secondary{color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;background-color:#ffffff0d;flex:1;padding:.6rem;font-weight:500}.btn-secondary:hover{background-color:#ffffff1a;border-color:#fff3}.btn-danger{background-color:var(--color-danger);color:#fff;border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;border:1px solid #0000;padding:.6rem 1.2rem;font-weight:500}.btn-danger:hover{color:#fff;background-color:#dc2626}.modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:100;background-color:#0009;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:650px;max-height:90vh;box-shadow:var(--shadow-lg), 0 0 40px #00000080;border:1px solid var(--color-border);animation:.3s cubic-bezier(.2,.8,.2,1) slideUpFade;overflow-y:auto}.modal-header{border-bottom:1px solid var(--color-border);z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#ffffff05;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex;position:sticky;top:0}.modal-header h2{letter-spacing:-.02em;background:linear-gradient(to right, #fff, var(--color-text-muted));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.close-btn{color:var(--color-text-muted);transition:all var(--transition-fast);border-radius:var(--radius-full);justify-content:center;align-items:center;width:32px;height:32px;font-size:1.75rem;line-height:1;display:flex}.close-btn:hover{color:var(--color-text);background-color:#ffffff1a}.client-form{flex-direction:column;gap:1.5rem;padding:2rem;display:flex}.form-row{gap:1.5rem;display:flex}.form-row .form-group{flex:1}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.8rem;font-weight:600}.form-group input,.form-group textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:all var(--transition-fast);background-color:#0f172a66;padding:.875rem 1rem;font-size:1rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);background-color:#0f172acc;outline:none}.form-actions{border-top:1px solid var(--color-border);justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1.5rem;display:flex}.btn-cancel{color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast);background-color:#0000;padding:.75rem 1.5rem;font-weight:500}.btn-cancel:hover{background-color:#ffffff0d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.directory-page{flex-direction:column;gap:2rem;display:flex}.directory-toolbar{grid-template-columns:1fr 1fr;align-items:center;gap:2rem;display:grid}.search-wrapper{width:100%;max-width:none;position:relative}.search-icon{opacity:.5;font-size:1rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.search-input{border:1px solid var(--color-border);border-radius:var(--radius-full);background-color:var(--color-surface);width:100%;color:var(--color-text);transition:all var(--transition-fast);padding:.875rem 1.25rem .875rem 2.75rem;font-size:.95rem;box-shadow:inset 0 2px 4px #0000001a}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow), inset 0 2px 4px #0000001a;background-color:var(--color-surface-hover);outline:none}.btn-primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);color:#fff;border-radius:var(--radius-full);transition:all var(--transition-normal);white-space:nowrap;justify-self:end;padding:.875rem 1.75rem;font-size:.95rem;font-weight:600;box-shadow:0 4px 15px #5a67d84d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #5a67d880}.clients-grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.empty-state-box{text-align:center;background-color:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);border:1px dashed var(--color-border);color:var(--color-text-muted);padding:5rem 2rem}.empty-state-box p{margin-bottom:1.5rem;font-size:1.125rem}.empty-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}.client-profile-page{flex-direction:column;gap:2rem;display:flex}.profile-toolbar{align-items:center;display:flex}.btn-back{color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem 0;font-size:1rem;font-weight:500;display:flex}.btn-back:hover{color:var(--color-primary)}.profile-header{background-color:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-md);align-items:center;gap:2rem;padding:2.5rem;display:flex;position:relative;overflow:hidden}.profile-header:before{content:"";background:linear-gradient(180deg, var(--color-primary), var(--color-primary-hover));width:4px;position:absolute;top:0;bottom:0;left:0}.profile-avatar-container{border-radius:var(--radius-lg);cursor:pointer;flex-shrink:0;width:100px;height:100px;position:relative;overflow:hidden}.avatar-edit-overlay{color:#fff;opacity:0;transition:opacity var(--transition-normal);border-radius:var(--radius-lg);background-color:#0009;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.profile-avatar-container:hover .avatar-edit-overlay{opacity:1}.profile-avatar-large{width:100%;height:100%;color:var(--color-primary);border-radius:var(--radius-lg);background-color:#5a67d81a;border:2px dashed #5a67d84d;justify-content:center;align-items:center;font-size:3.5rem;font-weight:700;display:flex}.profile-titles{flex-direction:column;gap:.5rem;display:flex}.profile-titles h1{color:var(--color-text);letter-spacing:-.02em;margin:0;font-size:2.5rem;font-weight:700}.profile-contact-name{color:var(--color-text-muted);align-items:center;gap:.5rem;font-size:1.25rem;font-weight:500;display:flex}.profile-content-grid{flex-direction:column;gap:1.5rem;display:flex}.profile-card{background-color:var(--color-surface);border-radius:var(--radius-xl);border:1px solid var(--color-border);flex-direction:column;padding:1.5rem;display:flex}.service-header{border-bottom:1px dashed var(--color-border);align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.service-header h3{color:var(--color-text);margin:0;font-size:1.15rem}.service-icon{color:var(--color-primary);width:20px;height:20px}.service-content{flex-direction:column;flex:1;gap:.5rem;display:flex}.hosting-card{background:linear-gradient(#5a67d80d,#0000);border-color:#5a67d84d}.hosting-domain-name{color:var(--color-primary);margin-bottom:1.25rem;font-size:1.5rem;font-weight:700}.hosting-details-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.25rem;display:grid}.hosting-detail{flex-direction:column;gap:.25rem;display:flex}.hosting-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.hosting-value{color:var(--color-text);font-size:.95rem;font-weight:500}.profile-info-list{flex-direction:column;gap:1.5rem;display:flex}.contact-info-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;width:100%;display:grid}.contact-edit-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid!important}.info-item{align-items:center;gap:1rem;display:flex}.info-icon{color:var(--color-text-muted);opacity:.7;width:24px;height:24px}.info-icon.credential{color:var(--color-primary);opacity:1}.info-content{flex-direction:column;gap:.25rem;display:flex}.info-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.info-value{color:var(--color-text);font-size:1.1rem;font-weight:500}.profile-pwd-section{margin-top:.5rem}.profile-pwd-toggle{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--color-border);width:fit-content;transition:all var(--transition-fast);background-color:#0003;align-items:center;gap:.5rem;padding:.4rem .75rem;display:flex}.profile-pwd-toggle:hover{background-color:#0006;border-color:#fff3}.pwd-text{letter-spacing:1px;color:var(--color-text);font-family:monospace;font-size:.95rem}.profile-badge{color:var(--color-primary);border-radius:var(--radius-full);text-transform:uppercase;background-color:#5a67d826;border:1px solid #5a67d84d;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.edit-actions{opacity:0;transition:opacity var(--transition-fast);align-items:center;gap:.25rem;display:flex}.profile-card:hover .edit-actions,.profile-card.editing .edit-actions{opacity:1}.btn-action{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;display:flex}.btn-action:hover{color:var(--color-text);background-color:#ffffff0d}.btn-action.save{color:#10b981}.btn-action.save:hover{background-color:#10b9811a;border-color:#10b9814d}.btn-action.cancel{color:#ef4444}.btn-action.cancel:hover{background-color:#ef44441a;border-color:#ef44444d}.edit-form{flex-direction:column;gap:.5rem;width:100%;display:flex}.inline-input{border:1px solid var(--color-border);width:100%;color:var(--color-text);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);background-color:#0003;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.inline-input:focus{border-color:var(--color-primary);outline:none}.inline-input:disabled{opacity:.5;cursor:not-allowed}.edit-pwd-group{border-radius:var(--radius-sm);border:1px dashed var(--color-border);background-color:#0000001a;flex-direction:column;gap:.5rem;padding:.5rem;display:flex}.github-auth-label{color:var(--color-text-muted);cursor:pointer;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.profile-card.editing{border-color:var(--color-primary);box-shadow:0 0 0 1px #5a67d833}.login-container{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";z-index:0;background:radial-gradient(circle,#6366f126 0%,#0000 70%);width:50vw;height:50vw;animation:8s ease-in-out infinite alternate pulse;position:absolute;top:-10%;left:-10%}.login-card{background-color:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-lg), inset 0 1px 0 #ffffff0d;border:1px solid var(--color-border);z-index:1;padding:2.5rem;animation:.6s cubic-bezier(.2,.8,.2,1) forwards slideUpFade}.login-header{text-align:center;margin-bottom:2rem}.login-header h2{background:linear-gradient(90deg,#fff,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.75rem}.auth-alert{border-radius:var(--radius-md);text-align:center;margin-bottom:1.5rem;padding:.875rem 1rem;font-size:.875rem;animation:.3s fadeIn}.auth-alert.error{color:#fca5a5;background-color:#ef44441a;border:1px solid #ef44444d}.auth-alert.success{color:#86efac;background-color:#22c55e1a;border:1px solid #22c55e4d}.login-form{flex-direction:column;gap:1.25rem;display:flex}.login-form .form-group{flex-direction:column;gap:.5rem;display:flex}.login-form label{color:var(--color-text-muted);font-size:.875rem;font-weight:500}.login-form input{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:all var(--transition-fast);background-color:#0f172a80;padding:.875rem 1rem;font-size:1rem}.login-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);background-color:#0f172acc;outline:none}.login-form .btn-primary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);color:#fff;border-radius:var(--radius-md);width:100%;transition:all var(--transition-normal);margin-top:1rem;padding:.875rem;font-size:1rem;font-weight:600;box-shadow:0 4px 15px #6366f14d}.login-form .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.login-form .btn-primary:active:not(:disabled){transform:translateY(0)}.login-form .btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}@keyframes pulse{0%{opacity:.4}50%{opacity:1;text-shadow:0 0 10px var(--color-primary-glow)}to{opacity:.4}}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--glass-bg);width:260px;-webkit-backdrop-filter:var(--glass-blur);border-right:1px solid var(--color-border);z-index:20;flex-direction:column;display:flex}.sidebar-brand{border-bottom:1px solid var(--color-border);align-items:center;gap:1rem;height:100px;padding:0 1.5rem;display:flex}.brand-logo{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));border-radius:var(--radius-md);color:#fff;width:48px;height:48px;box-shadow:var(--shadow-glow);justify-content:center;align-items:center;font-size:1.75rem;font-weight:700;display:flex}.sidebar-brand h2{background:linear-gradient(to right, #fff, var(--color-text-muted));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.75rem}.sidebar-nav{flex-direction:column;gap:.5rem;padding:1.5rem 1rem;display:flex}.nav-item{color:var(--color-text-muted);border-radius:var(--radius-md);transition:all var(--transition-fast);align-items:center;gap:1rem;padding:1rem 1.25rem;font-size:1.1rem;font-weight:500;display:flex}.nav-item:hover{color:var(--color-text);background-color:#ffffff0d}.nav-item.active{color:var(--color-primary);background-color:#5a67d826;border:1px solid #5a67d84d}.nav-icon{opacity:.8;font-size:1.25rem}.main-wrapper{flex-direction:column;flex:1;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--color-border);z-index:10;background-color:#0000;justify-content:space-between;align-items:center;height:100px;padding:0 2.5rem;display:flex}.page-title{color:var(--color-text);font-size:1.75rem;font-weight:600}.topbar-right{align-items:center;gap:2rem;display:flex}.user-profile{align-items:center;gap:1rem;display:flex}.user-name{color:var(--color-text-muted);font-size:1.1rem;font-weight:500}.avatar{background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-full);width:44px;height:44px;color:var(--color-primary);justify-content:center;align-items:center;font-size:1.25rem;font-weight:600;display:flex}.btn-logout{color:var(--color-danger);border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;background-color:#0000;border:1px solid #e53e3e4d;justify-content:center;align-items:center;padding:.6rem;display:flex}.btn-logout:hover{background-color:#e53e3e1a}.content-area{flex:1;padding:2.5rem;overflow-y:auto}.app-container{justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-state{height:200px;color:var(--color-primary);justify-content:center;align-items:center;font-size:1.25rem;animation:1.5s ease-in-out infinite pulse;display:flex}:root{--color-background:#0b0f19;--color-surface:#151a27;--color-surface-hover:#1e2536;--color-primary:#5a67d8;--color-primary-hover:#4c51bf;--color-primary-glow:#5a67d866;--color-text:#f7fafc;--color-text-muted:#a0aec0;--color-border:#ffffff14;--color-border-focus:#5a67d880;--color-danger:#e53e3e;--color-danger-hover:#c53030;--glass-bg:#151a2799;--glass-blur:blur(16px);--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #0009;--shadow-lg:0 10px 25px -5px #000000b3;--shadow-glow:0 0 20px var(--color-primary-glow);--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--font-family:"Outfit", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 0 0,#5a67d81f,#0000 40%),radial-gradient(circle at 100% 100%,#805ad514,#0000 40%);background-attachment:fixed;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}input,textarea{background-color:var(--color-background);color:var(--color-text);font-family:inherit}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}h1,h2,h3,h4,h5,h6{color:var(--color-text);letter-spacing:-.02em;font-weight:600}.text-muted{color:var(--color-text-muted)}.animate-fade{animation:fadeIn var(--transition-normal) forwards}.animate-slide-up{animation:slideUpFade var(--transition-normal) forwards}
