:root{--color-bg-dark: #FFFFFF;--color-card-dark: #FFFFFF;--color-primary: #1E3A8A;--color-accent: #D4AF37;--color-text-white: #1D4ED8;--color-text-royal: #2563EB;--color-text-royal-light: #3B82F6;--color-text-gray: #475569;--color-border: rgba(37, 99, 235, .2);--font-family: "Montserrat", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background-color:#f8fafc;color:var(--color-text-royal);line-height:1.6;overflow-x:hidden}.login-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,#eff6ff,#dbeafe);display:flex;justify-content:center;align-items:center;z-index:2000}.login-card{background:#fff;border:1px solid rgba(37,99,235,.2);padding:4rem 3rem;border-radius:12px;width:100%;max-width:450px;box-shadow:0 20px 50px #2563eb1f;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);text-align:center}.login-logo{height:45px;margin-bottom:2rem}.login-header h2{font-size:1.8rem;color:#1e3a8a!important;font-weight:600;margin-bottom:.5rem;letter-spacing:.05em}.login-header p{color:#475569;font-size:.85rem;margin-bottom:3rem;font-weight:400}.login-form .form-group{position:relative;margin-bottom:2.5rem;text-align:left}.login-form .form-group input{width:100%;padding:.8rem .5rem;background:#f8fafc;border:1px solid #CBD5E1;border-radius:6px;color:#1e3a8a;font-size:1rem;outline:none;transition:all .3s ease}.login-form .form-group label{position:absolute;top:-1.2rem;left:.2rem;color:#1d4ed8;font-size:.8rem;font-weight:500;pointer-events:none;transition:all .3s ease}.login-form .form-group input:focus{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb26}.btn-login{width:100%;padding:1rem;background-color:var(--color-accent);color:#1e3a8a;border:1px solid var(--color-accent);font-family:var(--font-family);font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border-radius:6px;transition:all .3s ease;margin-top:1rem}.btn-login:hover{background-color:#eab308;color:#1e3a8a;box-shadow:0 0 15px #d4af3766}.login-error-msg{margin-top:1.5rem;color:#dc2626;font-size:.85rem;font-weight:600;min-height:20px}.dashboard-container{display:flex;min-height:100vh;background-color:#f8fafc}.sidebar{width:280px;background-color:#fff;border-right:1px solid #E2E8F0;display:flex;flex-direction:column;position:fixed;height:100vh;z-index:100;box-shadow:2px 0 12px #00000008}.sidebar-header{padding:2.5rem 2rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid #F1F5F9}.sidebar-logo{height:32px}.sidebar-title{font-size:.75rem;letter-spacing:.15em;font-weight:700;color:#1d4ed8}.sidebar-menu{padding:2rem 1rem;flex-grow:1}.sidebar-menu ul{list-style:none}.menu-item{display:flex;align-items:center;gap:1.2rem;padding:1rem 1.5rem;color:#1e40af;cursor:pointer;border-radius:6px;margin-bottom:.5rem;transition:all .3s ease;font-size:.9rem;font-weight:600}.menu-item svg{transition:transform .3s ease;stroke:#1d4ed8}.menu-item:hover,.menu-item.active{color:#1d4ed8;background-color:#eff6ff}.menu-item.active{border-left:4px solid #2563EB;background-color:#dbeafe;color:#1e3a8a}.menu-item:hover svg{transform:translate(3px)}.badge{background-color:#d4af37;color:#1e3a8a;font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:10px;margin-left:auto}.sidebar-footer{padding:2rem;border-top:1px solid #E2E8F0;display:flex;flex-direction:column;gap:1.5rem;background-color:#fff}.user-info{display:flex;align-items:center;gap:1rem}.user-avatar{width:40px;height:40px;background-color:#1d4ed8;color:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;font-weight:700;font-size:1.1rem}.user-details{display:flex;flex-direction:column}.username{font-size:.85rem;font-weight:700;color:#1e3a8a!important}.user-role{font-size:.75rem;color:#475569}.btn-logout{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:.75rem;background-color:#fee2e2;color:#dc2626;border:1px solid #FCA5A5;border-radius:6px;cursor:pointer;font-family:var(--font-family);font-size:.85rem;font-weight:600;transition:all .3s ease}.btn-logout:hover{background-color:#dc2626;color:#fff}.main-content{margin-left:280px;flex-grow:1;min-height:100vh;display:flex;flex-direction:column;background-color:#f8fafc}.topbar{padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #E2E8F0;background-color:#fff}.page-title h1{font-size:1.8rem;font-weight:600;letter-spacing:.05em;color:#1e3a8a!important}.system-time{font-size:.85rem;color:#d4af37!important;font-weight:700!important;letter-spacing:.05em}.content-wrapper{padding:3rem;flex-grow:1;overflow-y:auto}.tab-panel{display:none}.tab-panel.active{display:block}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-bottom:3rem}.stat-card{background-color:#fff;border:1px solid #E2E8F0;border-radius:8px;padding:1.5rem 2rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 4px 15px #2563eb0d}.stat-icon{background-color:#eff6ff;color:#2563eb;border:1px solid #DBEAFE;width:50px;height:50px;border-radius:8px;display:flex;justify-content:center;align-items:center}.stat-icon.yellow{color:#d97706;background-color:#fef3c7;border-color:#fde68a}.stat-info h3{font-size:.75rem;text-transform:uppercase;color:#1d4ed8!important;letter-spacing:.1em;margin-bottom:.25rem;font-weight:600}.stat-value{font-size:2.2rem;font-weight:700;line-height:1.2;color:#d4af37!important}.stat-sub{font-size:.75rem;color:#64748b;margin-top:.25rem}.stat-sub span{font-weight:700;color:#d4af37!important}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:2rem}.dashboard-section{background-color:#fff;border:1px solid #E2E8F0;border-radius:8px;padding:2rem;box-shadow:0 4px 15px #2563eb0d}.section-header-admin{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid #F1F5F9;padding-bottom:1rem}.section-header-admin h2{font-size:1.2rem;font-weight:600;letter-spacing:.05em;color:#1e3a8a!important}.btn-text{background:none;border:none;color:#2563eb;font-family:var(--font-family);font-weight:600;cursor:pointer;font-size:.85rem}.btn-text:hover{text-decoration:underline;color:#1d4ed8}.filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.filter-bar h2{font-size:1.4rem;font-weight:600;letter-spacing:.05em;color:#1e3a8a!important}.bg-dark-card{background-color:#fff}.border-glow{border:1px solid #E2E8F0;border-radius:8px;box-shadow:0 4px 15px #2563eb0d}.table-container{width:100%;overflow-x:auto;background-color:#fff;border-radius:8px}.admin-table{width:100%;border-collapse:collapse;text-align:left}.admin-table th,.admin-table td{padding:1.2rem 1.5rem;font-size:.85rem;border-bottom:1px solid #F1F5F9}.admin-table th{text-transform:uppercase;letter-spacing:.08em;color:#1e40af!important;font-weight:700;background-color:#f8fafc}.admin-table tbody tr{transition:background-color .2s ease}.admin-table tbody tr:hover{background-color:#f1f5f9}.placeholder-row{text-align:center;color:#2563eb!important;padding:3rem!important;font-weight:500}.status-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.status-badge.pending{background-color:#fef3c7;color:#d97706!important;border:1px solid #FCD34D}.status-badge.in-progress{background-color:#e0f2fe;color:#0284c7!important;border:1px solid #BAE6FD}.status-badge.resolved{background-color:#dcfce7;color:#16a34a!important;border:1px solid #86EFAC}.table-actions{display:flex;gap:.8rem}.btn-icon{background:#f1f5f9;border:1px solid #E2E8F0;color:#2563eb;cursor:pointer;padding:6px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-icon:hover{color:#1d4ed8;background-color:#dbeafe}.btn-icon.delete{color:#dc2626;background-color:#fee2e2;border-color:#fca5a5}.btn-icon.delete:hover{color:#b91c1c;background-color:#fca5a5}.query-cell-desc{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1e40af}.client-name{font-weight:600;color:#1e3a8a!important}.client-email{display:block;font-size:.75rem;color:#3b82f6;margin-top:.25rem}.btn-primary-admin{padding:.8rem 1.5rem;background-color:#2563eb;color:#fff;border:1px solid #2563EB;font-family:var(--font-family);font-weight:600;font-size:.85rem;cursor:pointer;border-radius:6px;transition:all .3s ease;box-shadow:0 4px 12px #2563eb33}.btn-primary-admin:hover{background-color:#1d4ed8;color:#fff}.portfolio-admin-grid{display:block}.portfolio-admin-card{background-color:#fff;border:1px solid #E2E8F0;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 15px #2563eb0d}.portfolio-admin-img{height:180px;background-size:cover;background-position:center;position:relative}.portfolio-admin-badge{position:absolute;top:1rem;right:1rem;background-color:#fef3c7;color:#d97706;padding:4px 8px;font-size:.7rem;font-weight:700;letter-spacing:.05em;border-radius:4px;border:1px solid #FCD34D}.portfolio-admin-body{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}.portfolio-admin-cat{font-size:.75rem;text-transform:uppercase;color:#d4af37;letter-spacing:.05em;margin-bottom:.25rem}.portfolio-admin-title{font-size:1.15rem;margin-bottom:.5rem;font-weight:600;color:#1e3a8a}.portfolio-admin-desc{font-size:.8rem;color:#475569;margin-bottom:1.5rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;height:3.6em}.portfolio-admin-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:auto;border-top:1px solid #F1F5F9;padding-top:1rem}.btn-card-action{padding:6px 12px;background:none;font-family:var(--font-family);font-size:.75rem;font-weight:600;cursor:pointer;border-radius:4px}.btn-card-action.edit{border:1px solid #2563EB;color:#2563eb}.btn-card-action.edit:hover{background-color:#2563eb;color:#fff}.btn-card-action.delete{border:1px solid #FCA5A5;color:#dc2626}.btn-card-action.delete:hover{background-color:#dc2626;color:#fff;border-color:#dc2626}.img-cell{width:56px;height:56px;background-size:cover;background-position:center;border-radius:6px;border:2px solid #E2E8F0;flex-shrink:0}.admin-modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-modal-content{background-color:#fff;margin:5% auto;padding:3rem;border:1px solid #E2E8F0;width:90%;max-width:650px;border-radius:12px;position:relative;box-shadow:0 25px 50px #00000026}.close-admin-modal{position:absolute;top:1.5rem;right:2rem;color:#64748b;font-size:2rem;font-weight:300;cursor:pointer;transition:color .3s ease}.close-admin-modal:hover{color:#dc2626}.modal-title-admin{font-size:1.4rem;font-weight:600;color:#1e3a8a!important;border-bottom:1px solid #E2E8F0;padding-bottom:1rem;margin-bottom:2rem;letter-spacing:.05em}.admin-crud-form .form-group-admin{margin-bottom:1.5rem;display:flex;flex-direction:column}.admin-crud-form .form-group-admin label{font-size:.75rem;text-transform:uppercase;color:#1d4ed8!important;margin-bottom:.5rem;font-weight:700;letter-spacing:.05em}.admin-crud-form .form-group-admin input[type=text],.admin-crud-form .form-group-admin input[type=number],.admin-crud-form .form-group-admin input[type=datetime-local],.admin-crud-form .form-group-admin textarea{width:100%;padding:.8rem 1rem;background-color:#f8fafc;border:1px solid #CBD5E1;border-radius:6px;color:#1e3a8a;font-family:var(--font-family);font-size:.9rem;outline:none;transition:all .3s ease}.admin-crud-form .form-group-admin input[type=text]:focus,.admin-crud-form .form-group-admin input[type=number]:focus,.admin-crud-form .form-group-admin input[type=datetime-local]:focus,.admin-crud-form .form-group-admin textarea:focus{border-color:#2563eb;background-color:#fff;box-shadow:0 0 0 3px #2563eb26}.admin-crud-form .form-group-admin.checkbox{flex-direction:row;align-items:center;gap:.5rem}.admin-crud-form .form-group-admin.checkbox label{text-transform:none;font-weight:500;margin-bottom:0;cursor:pointer;color:#1e3a8a!important}.btn-submit-admin{width:100%;padding:1rem;background-color:#2563eb;color:#fff;border:1px solid #2563EB;font-family:var(--font-family);font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border-radius:6px;transition:all .3s ease;margin-top:1rem}.btn-submit-admin:hover{background-color:#1d4ed8;color:#fff}.query-details-popup{display:flex;flex-direction:column;gap:1.5rem}.query-detail-row{display:flex;flex-direction:column;gap:.3rem}.query-detail-row span.label{font-size:.7rem;text-transform:uppercase;color:#1d4ed8!important;letter-spacing:.05em;font-weight:700}.query-detail-row div.val{font-size:.95rem;color:#1e3a8a!important;padding:.5rem 0}.query-message-box{background-color:#f8fafc;border:1px solid #E2E8F0;padding:1rem;border-radius:6px;white-space:pre-wrap;font-size:.9rem;color:#1e40af;line-height:1.6}.status-update-control{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;border-top:1px solid #E2E8F0;padding-top:1.5rem}.status-update-control label{font-size:.75rem;text-transform:uppercase;color:#1d4ed8!important;font-weight:700}.status-update-control select{padding:.5rem 1rem;background-color:#fff;border:1px solid #CBD5E1;color:#1e3a8a;font-family:var(--font-family);border-radius:6px;outline:none;cursor:pointer}.animate-zoom{animation:animatezoom .4s cubic-bezier(.165,.84,.44,1)}@keyframes animatezoom{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 1200px){.stats-grid,.portfolio-admin-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 992px){.sidebar{width:80px}.sidebar-header{padding:2rem 1rem;justify-content:center}.sidebar-logo{height:28px}.sidebar-title,.sidebar-menu span,.user-details,.btn-logout span{display:none}.menu-item{justify-content:center;padding:1rem}.badge{position:absolute;top:5px;right:5px}.menu-item{position:relative}.sidebar-footer{padding:1rem;align-items:center}.user-avatar{width:35px;height:35px}.btn-logout{width:35px;height:35px;padding:0;border-radius:50%}.main-content{margin-left:80px}}@media (max-width: 768px){.stats-grid,.portfolio-admin-grid{grid-template-columns:1fr}.topbar{padding:1.5rem 2rem}.content-wrapper{padding:2rem 1.5rem}.admin-modal-content{width:95%;padding:2rem 1.5rem}}.file-upload-input{background-color:#f8fafc;border:1px dashed #CBD5E1;padding:1rem;color:#1e40af;border-radius:6px;cursor:pointer;transition:all .3s ease;width:100%}.file-upload-input:hover{border-color:#2563eb;background-color:#eff6ff}.image-preview-text{display:block;margin-top:.5rem;color:#2563eb;font-size:.8rem;font-weight:500}h1,h2,h3,h4,th,td,label,.username,.modal-title-admin,.page-title h1,.login-header h2{color:#1d4ed8!important}.stat-value,.stat-sub span,.badge,.step-number,.seq-badge,.seq-number,.number-gold,.system-time,.admin-table td.number-cell,input[type=number]{color:#d4af37!important;font-weight:700!important}.portfolio-table td{vertical-align:middle}.portfolio-desc-cell{max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1e40af}.seq-badge{display:inline-block;padding:3px 10px;border-radius:4px;background:#fef3c7;color:#d97706!important;font-weight:700;border:1px solid #FCD34D}.seq-control-group{display:inline-flex;align-items:center;gap:5px}.seq-hash{font-weight:700;color:#d4af37;font-size:.9rem}.seq-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;background:#d4af371a!important;border:1px solid rgba(212,175,55,.35)!important;color:#d4af37!important;border-radius:5px;padding:3px 4px;font-weight:700!important;text-align:center;font-size:.88rem;width:44px;outline:none;transition:all .2s ease}.seq-input:focus{border-color:#d4af37!important;background:#d4af3733!important;box-shadow:0 0 8px #d4af3759}.btn-seq-arrow{background:#d4af371f;border:1px solid rgba(212,175,55,.3);color:#d4af37;cursor:pointer;padding:1px 5px;border-radius:3px;line-height:1;font-size:.65rem;transition:all .15s ease;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center}.btn-seq-arrow:hover:not(:disabled){background:#d4af37;color:#000;border-color:#d4af37}.btn-seq-arrow:disabled{opacity:.25;cursor:not-allowed}.editor-toolbar{display:flex;align-items:center;gap:.5rem;background-color:#f1f5f9;border:1px solid #CBD5E1;padding:.5rem .8rem;border-radius:6px 6px 0 0;margin-bottom:-1px;flex-wrap:wrap}.toolbar-select{background-color:#fff;color:#1d4ed8;border:1px solid #CBD5E1;padding:.35rem .6rem;border-radius:4px;font-size:.8rem;outline:none;cursor:pointer;font-family:var(--font-family);font-weight:600}.toolbar-btn{background-color:#fff;color:#1d4ed8;border:1px solid #CBD5E1;padding:.35rem .75rem;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s ease;font-family:var(--font-family);font-weight:700}.toolbar-btn:hover{background-color:#2563eb;color:#fff;border-color:#2563eb}.color-picker-wrap{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:#1d4ed8;background:#fff;padding:.25rem .6rem;border-radius:4px;border:1px solid #CBD5E1;font-weight:600}.toolbar-color{border:none;background:none;width:26px;height:26px;cursor:pointer;border-radius:3px}.modal-wide{max-width:750px!important}.portfolio-table th:nth-child(2),.portfolio-table td:nth-child(2){width:120px}.seq-control-group{display:flex;align-items:center;gap:6px}.seq-hash{font-size:.85rem;font-weight:700;color:#94a3b8;-webkit-user-select:none;user-select:none}.seq-input{width:52px;padding:.3rem .45rem;background:#f8fafc;border:1.5px solid #DBEAFE;border-radius:6px;color:#1e3a8a;font-size:.9rem;font-weight:700;font-family:var(--font-family);text-align:center;outline:none;transition:border-color .2s ease,box-shadow .2s ease;-moz-appearance:textfield}.seq-input::-webkit-outer-spin-button,.seq-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.seq-input:focus{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 3px #2563eb26}.btn-seq-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:22px;background:#eff6ff;border:1.5px solid #BFDBFE;border-radius:4px;color:#1d4ed8;font-size:10px;cursor:pointer;transition:all .2s ease;line-height:1;padding:0}.btn-seq-arrow:hover:not([disabled]){background:#2563eb;border-color:#2563eb;color:#fff;transform:scale(1.08)}.btn-seq-arrow[disabled]{opacity:.35;cursor:not-allowed;pointer-events:none}@keyframes seq-saving{0%,to{opacity:1}50%{opacity:.45}}.seq-saving .seq-input{animation:seq-saving .8s ease-in-out infinite;border-color:#d4af37}
