@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&family=Roboto:wght@300;400;500;700&display=swap";
:root{--primary:#0284c7;--primary-hover:#0369a1;--bg-light:#f8fafc;--card-bg:#fff;--input-bg:#fff;--text-main:#1e293b;--text-muted:#64748b;--error:#ef4444;--border:#e2e8f0}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-light);color:var(--text-main);-webkit-font-smoothing:antialiased;justify-content:center;align-items:center;min-height:100vh;font-family:Roboto,sans-serif;display:flex;overflow:hidden}input:-webkit-autofill{-webkit-text-fill-color:var(--text-main)!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-main)!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-main)!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}input:-webkit-autofill:active{-webkit-text-fill-color:var(--text-main)!important;-webkit-box-shadow:inset 0 0 0 30px #fff!important}button{cursor:pointer;font-family:inherit}.login-card input{background:var(--input-bg);border:1px solid var(--border);width:100%;color:var(--text-main);text-align:center;border-radius:8px;outline:none;padding:12px 16px;font-family:Montserrat,sans-serif;font-size:16px;transition:all .2s}.login-card input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #0284c71a}.login-card button{background:var(--primary);color:#fff;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;width:100%;padding:14px;font-family:Montserrat,sans-serif;font-size:14px;font-weight:700;transition:all .2s}.login-card button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0284c733}.login-card button:active{transform:translateY(0)}.login-card button:disabled{opacity:.5;cursor:not-allowed}.login-card{background:var(--card-bg);border:1px solid var(--border);border-radius:24px;width:100%;max-width:440px;padding:48px;animation:.6s cubic-bezier(.16,1,.3,1) fadeIn;box-shadow:0 10px 25px -5px #0000000d,0 8px 10px -6px #0000000d}.logo-container{justify-content:center;margin-bottom:40px;display:flex}.logo-container img{max-width:100%;height:auto}.form-group{margin-bottom:24px}.form-group label{color:var(--text-main);text-align:center;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;display:block}.error-message{color:var(--error);text-align:center;background:#ef44440d;border:1px solid #ef44441a;border-radius:8px;margin-bottom:24px;padding:12px;font-size:14px;font-weight:500}.form-error-banner{color:var(--error);text-align:left;background:#ef444414;border:1px solid #ef444433;border-radius:12px;margin-bottom:1.5rem;padding:12px 16px;font-size:13px;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-container{background-color:#f8f9fa;flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.dashboard-header{z-index:100;background:#fff;justify-content:space-between;align-items:center;min-height:60px;padding:.5rem 3rem;display:flex;box-shadow:0 2px 10px #0000000d}.header-logo{object-fit:contain}.user-profile{cursor:pointer;border-radius:12px;align-items:center;gap:1rem;padding:6px 12px;transition:all .2s;display:flex;position:relative}.user-profile:hover{background:#f8fafc}.user-dropdown{z-index:1000;background:#fff;border:1px solid #f1f5f9;border-radius:12px;flex-direction:column;gap:4px;width:200px;padding:8px;animation:.2s ease-out fadeIn;display:flex;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 10px 25px #0000001a}.dropdown-item{color:#475569;cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.dropdown-item:hover{color:var(--primary);background:#f1f5f9}.dropdown-item.logout{color:#f43f5e}.dropdown-item.logout:hover{background:#fff1f2}.dropdown-divider{background:#f1f5f9;height:1px;margin:4px 0}.user-info{text-align:right;flex-direction:column;display:flex}.user-name{color:var(--text-main);text-transform:uppercase;font-family:Montserrat,sans-serif;font-size:13px;font-weight:700}.user-role{color:var(--primary);letter-spacing:.5px;text-transform:uppercase;margin-top:1px;font-family:Montserrat,sans-serif;font-size:10px;font-weight:700}.user-avatar{border:2px solid var(--primary);background:#fff;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:flex;overflow:hidden;box-shadow:0 0 10px #0284c733}.user-avatar img{object-fit:cover;width:100%;height:100%}.avatar-placeholder{background:linear-gradient(135deg, var(--primary) 0%, #a0181d 100%);color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:14px;font-weight:700;display:flex}.dashboard-content{flex-direction:column;flex:1;align-items:center;padding:3rem;display:flex;overflow-y:auto}.dashboard-title{letter-spacing:3px;color:#0f172a;text-align:center;margin-bottom:3.5rem;font-family:Montserrat,sans-serif;font-size:20px;font-weight:700;position:relative}.dashboard-title:after{content:"";background:var(--primary);border-radius:2px;width:40px;height:4px;position:absolute;bottom:-12px;left:50%;transform:translate(-50%)}.projects-grid{grid-template-columns:repeat(3,1fr);gap:2rem;width:100%;max-width:1400px;display:grid}.project-card{cursor:pointer;background:#fff;border:1px solid #f1f5f9;border-radius:24px;flex-direction:column;justify-content:space-between;min-height:380px;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;overflow:hidden;box-shadow:0 10px 30px #0000000a}.project-card:hover{border-color:var(--primary);box-shadow:0 0 25px #0284c759}.project-image{aspect-ratio:16/9;background-position:50%;background-size:cover;justify-content:center;align-items:center;width:100%;display:flex;position:relative}.project-title-overlay{justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.project-name{color:#fff;text-transform:uppercase;letter-spacing:2px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172ab3;border:1px solid #fff3;border-radius:12px;margin:0;padding:10px 22px;font-family:Montserrat,sans-serif;font-size:18px;font-weight:800;box-shadow:0 4px 20px #0006}.project-badge-container{z-index:2;position:absolute;top:15px;right:15px}.project-badge{color:#fff;letter-spacing:.5px;background:#10b981;border-radius:20px;padding:6px 12px;font-size:10px;font-weight:800;box-shadow:0 2px 8px #0003}.project-card-body{flex:1;padding:2rem 2rem 1rem}.project-desc{color:#64748b;text-align:center;-webkit-line-clamp:5;line-clamp:5;-webkit-box-orient:vertical;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.project-card-footer{justify-content:center;margin-top:auto;padding:0 2rem 2rem;display:flex}.project-enter-btn{color:#1e293b;letter-spacing:1px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px 16px;font-family:Montserrat,sans-serif;font-size:11px;font-weight:700;transition:all .3s}.project-card:hover .project-enter-btn{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 8px 15px #0284c733}.loading-screen{background:#fff;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.profile-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#0f172a66;width:100vw;height:100vh;animation:.3s fadeIn;position:fixed;top:0;left:0}.profile-drawer{z-index:2001;background:#fff;flex-direction:column;width:450px;height:100vh;padding:3rem;animation:.4s cubic-bezier(.16,1,.3,1) slideInRight;display:flex;position:fixed;top:0;right:0;box-shadow:-10px 0 30px #0000001a}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{justify-content:space-between;align-items:center;margin-bottom:3rem;display:flex}.drawer-header h2{color:#0f172a;font-family:Montserrat,sans-serif;font-size:20px;font-weight:700}.close-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:all .2s;display:flex}.close-btn:hover{background:var(--primary);color:#fff}.profile-form{flex-direction:column;gap:1.5rem;padding-right:5px;display:flex;overflow-y:auto}.avatar-upload-section{flex-direction:column;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.large-avatar{border:3px solid var(--primary);background:#f8fafc;border-radius:24px;width:100px;height:100px;position:relative;overflow:hidden;box-shadow:0 0 20px #0284c726}.large-avatar img{object-fit:cover;width:100%;height:100%}.upload-label{color:var(--primary);cursor:pointer;font-size:12px;font-weight:700;text-decoration:underline}.drawer-input-group{flex-direction:column;gap:8px;display:flex}.drawer-input-group label{color:#64748b;text-transform:uppercase;letter-spacing:1px;text-align:left;font-family:Montserrat,sans-serif;font-size:11px;font-weight:700}.drawer-input{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;outline:none;padding:12px 16px;font-size:14px;transition:all .2s;text-align:left!important}.drawer-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #0284c70d}.drawer-actions{border-top:1px solid #f1f5f9;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:2rem;padding-top:1.5rem;display:flex}.drawer-actions button{letter-spacing:.5px;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:10px;outline:none;justify-content:center;align-items:center;padding:12px 24px;font-family:Montserrat,sans-serif;font-size:13px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.save-btn{background:var(--primary);color:#fff;box-shadow:0 4px 14px #0284c740;border:none!important}.save-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 6px 20px #0284c759}.save-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #0284c733}.cancel-btn{color:#475569;background:#f8fafc;border:1px solid #e2e8f0!important}.cancel-btn:hover:not(:disabled){color:#0f172a;background:#f1f5f9;transform:translateY(-1px);border-color:#cbd5e1!important}.cancel-btn:active:not(:disabled){transform:translateY(0)}.delete-btn{color:#dc2626;background:#fef2f2;margin-right:auto;border:1px solid #fee2e2!important}.delete-btn:hover:not(:disabled){color:#b91c1c;background:#fee2e2;transform:translateY(-1px);box-shadow:0 4px 12px #dc262626;border-color:#fca5a5!important}.delete-btn:active:not(:disabled){transform:translateY(0)}.admin-container{width:100%;max-width:1600px;margin:0 auto;padding:3rem;display:block}.admin-header{justify-content:center;align-items:center;margin-bottom:3rem;display:flex}.admin-title{color:#0f172a;letter-spacing:-.5px;font-family:Montserrat,sans-serif;font-size:28px;font-weight:800}.users-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));justify-content:center;gap:2.5rem;width:100%;display:grid}.user-tile{text-align:center;cursor:pointer;background:#fff;border:1px solid #f1f5f9;border-radius:24px;padding:2.5rem 2rem;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;box-shadow:0 4px 6px #00000005}.user-tile:hover{border-color:var(--primary-light);transform:translateY(-8px);box-shadow:0 20px 40px #0000000f}.tile-avatar{border:3px solid var(--primary);border-radius:28px;width:90px;height:90px;margin:0 auto 1.5rem;overflow:hidden;box-shadow:0 0 15px #0284c71a}.tile-avatar img{object-fit:cover;width:100%;height:100%}.tile-avatar .avatar-placeholder{color:#cbd5e1;background:#f8fafc;justify-content:center;align-items:center;width:100%;height:100%;font-size:24px;font-weight:800;display:flex}.tile-name{color:#1e293b;margin-bottom:.5rem;font-family:Montserrat,sans-serif;font-size:19px;font-weight:700}.tile-role{color:var(--primary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:1.5rem;font-family:Montserrat,sans-serif;font-size:10px;font-weight:800;display:inline-block}.tile-email{color:#64748b;font-size:13px;font-weight:500}.add-user-fab{background:var(--primary);color:#fff;cursor:pointer;z-index:1000;border:none;border-radius:22px;justify-content:center;align-items:center;width:64px;height:64px;font-size:32px;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:3rem;right:3rem;box-shadow:0 12px 24px #0284c74d}.add-user-fab:hover{background:#a5181d;transform:scale(1.1)rotate(90deg);box-shadow:0 16px 32px #0284c766}.project-selector-container{margin-top:1rem}.project-selector-grid{grid-template-columns:1fr;gap:.75rem;margin-top:.75rem;display:grid}.project-selector-item{cursor:pointer;background:#f8fafc;border:1px solid #f1f5f9;border-radius:14px;justify-content:space-between;align-items:center;padding:1rem 1.25rem;transition:all .2s;display:flex}.project-selector-item:hover{background:#fff;border-color:#e2e8f0}.project-selector-item.active{border-color:var(--primary);background:#fff;box-shadow:0 4px 12px #0284c70d}.project-info{flex-direction:column;gap:2px;display:flex}.project-name-small{color:#1e293b;font-size:14px;font-weight:700}.project-status{text-transform:uppercase;color:#94a3b8;font-size:10px;font-weight:700}.project-selector-item.active .project-status{color:var(--primary)}.check-icon{border:2px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;transition:all .2s;display:flex}.project-selector-item.active .check-icon{background:var(--primary);border-color:var(--primary);color:#fff}.check-icon svg{width:12px;height:12px;display:none}.project-selector-item.active .check-icon svg{display:block}.drawer-select{color:#1e293b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;outline:none;padding:12px 16px;font-family:inherit;font-size:14px}.project-layout{flex:1;width:100%;height:calc(100vh - 60px);display:flex;overflow:hidden}.project-sidebar{background:#fff;border-right:1px solid #f1f5f9;flex-direction:column;gap:.5rem;width:260px;padding:2rem 1.5rem;display:flex}.tab-button{color:#64748b;text-align:left;cursor:pointer;letter-spacing:.5px;background:0 0;border:none;border-radius:12px;align-items:center;gap:1rem;width:100%;padding:12px 16px;font-family:Montserrat,sans-serif;font-size:14px;font-weight:600;transition:all .2s;display:flex}.tab-button:hover{color:#0f172a;background:#f8fafc}.tab-button.active{color:var(--primary);background:#0284c714}.project-main-area{background:#f8fafc;flex-direction:column;flex:1;padding:2.5rem 3rem;display:flex;overflow-y:auto}.tab-content{background:#fff;border:1px solid #f1f5f9;border-radius:20px;flex-direction:column;flex:1;padding:2rem;display:flex;box-shadow:0 4px 6px #00000005}.logs-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:1.5rem;overflow-x:auto}.logs-table{border-collapse:collapse;text-align:left;table-layout:fixed;width:100%;font-size:14px}.logs-table th{color:#475569;letter-spacing:.5px;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 16px;font-family:Montserrat,sans-serif;font-size:12px;font-weight:700;overflow:hidden}.logs-table td{color:#334155;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #f1f5f9;padding:14px 16px;overflow:hidden}.logs-table tr:last-child td{border-bottom:none}.logs-table tr:hover td{background:#f8fafc}.log-id{color:#64748b;font-family:monospace;font-weight:600}.status-badge{letter-spacing:.5px;text-transform:uppercase;text-align:center;border-radius:20px;padding:6px 12px;font-size:10px;font-weight:800;display:inline-block}.status-badge.success{color:#10b981;background:#10b9811a}.status-badge.error{color:#ef4444;background:#ef44441a}.status-badge.processing{color:#f59e0b;background:#f59e0b1a}.status-badge.fixed{color:#3b82f6;background:#3b82f61a}.status-badge.done{color:#10b981;background:#10b9811a}.status-badge.in-progress{color:#f59e0b;background:#f59e0b1a}.log-actions{justify-content:flex-start;display:flex}.mark-fixed-btn{background:#3b82f6;width:auto;min-width:220px;box-shadow:0 10px 24px #3b82f633}.mark-fixed-btn:hover{background:#2563eb;box-shadow:0 14px 28px #2563eb3d}.mark-fixed-btn:disabled:hover{background:#3b82f6;transform:none;box-shadow:0 10px 24px #3b82f633}.log-drawer{z-index:2001;background:#fff;flex-direction:column;width:580px;max-width:95vw;height:100vh;padding:2.5rem;animation:.4s cubic-bezier(.16,1,.3,1) slideInRight;display:flex;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-10px 0 40px #0f172a14}.log-drawer-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#0f172a4d;width:100vw;height:100vh;animation:.3s fadeIn;position:fixed;top:0;left:0}.log-section-title{color:#64748b;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid #f1f5f9;margin-top:1.75rem;margin-bottom:.75rem;padding-bottom:6px;font-family:Montserrat,sans-serif;font-size:11px;font-weight:700}.log-info-grid{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:repeat(2,1fr);gap:1.25rem;padding:1.25rem;display:grid}.log-info-item{flex-direction:column;display:flex}.log-info-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:10px;font-weight:700}.log-info-value{color:#334155;font-size:14px;font-weight:600}.log-data-badge-container{flex-wrap:wrap;gap:8px;display:flex}.log-data-badge{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;padding:6px 12px;font-size:12.5px}.log-data-badge strong{color:#0f172a}.error-message-box{color:#ef4444;background:#ef44440a;border:1px dashed #ef444440;border-radius:12px;padding:1.25rem;font-size:13.5px;line-height:1.5}.email-preview-box{background:#fafafa;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.email-preview-subject{color:#1e293b;border-bottom:1px solid #f1f5f9;padding-bottom:8px;font-size:13.5px;font-weight:700}.email-preview-body{white-space:pre-line;color:#475569;max-height:250px;padding-top:4px;font-family:inherit;font-size:13px;line-height:1.6;overflow-y:auto}.qr-code-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;align-items:center;gap:8px;width:fit-content;padding:1rem;display:flex}.log-filters{background:#fff;border:1px solid #e2e8f0;border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1.25rem;display:grid}.filter-group{flex-direction:column;gap:6px;display:flex}.filter-group label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-family:Montserrat,sans-serif;font-size:10px;font-weight:700}.filter-input{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;outline:none;padding:10px 14px;font-size:13px;transition:all .2s}.filter-input:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #0284c70d}.filter-select{color:#1e293b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;outline:none;padding:10px 14px;font-family:inherit;font-size:13px;transition:all .2s}.filter-select:focus{border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #0284c70d}.clear-filters-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-self:flex-end;align-items:center;height:38px;padding:10px 14px;font-family:Montserrat,sans-serif;font-size:11px;font-weight:700;transition:all .2s;display:flex}.clear-filters-btn:hover{color:#0f172a;background:#e2e8f0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-mini{border:2px solid #cbd5e1;border-top-color:#3b82f6;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}
