:root{--bg-main: #070b17;--bg-surface: rgba(21, 30, 53, .78);--bg-surface-strong: rgba(24, 35, 63, .94);--bg-navbar: rgba(8, 13, 26, .82);--border-soft: rgba(143, 168, 222, .22);--text-main: #e9f0ff;--text-muted: #b4c0de;--primary: #6d8dff;--primary-strong: #4e6eeb;--primary-soft: rgba(109, 141, 255, .22);--success: #2ed5a2;--danger: #ff6e8f;--warning: #fbbf24;--radius-lg: 18px;--radius-md: 12px;--shadow-soft: 0 14px 32px rgba(2, 8, 25, .45);--shadow-focus: 0 0 0 .2rem rgba(109, 141, 255, .25)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important;color:var(--text-main)!important;background:radial-gradient(circle at 15% 15%,rgba(109,141,255,.2),transparent 38%),radial-gradient(circle at 85% 10%,rgba(46,213,162,.16),transparent 32%),radial-gradient(circle at 80% 85%,rgba(255,110,143,.18),transparent 35%),var(--bg-main)!important;background-attachment:fixed;line-height:1.5}a{color:#9bb3ff;text-decoration:none}a:hover{color:#c0d0ff}h1,h2,h3,h4,h5,h6{color:#f4f7ff!important;font-weight:700;letter-spacing:.25px}p,label,small,span,li,td,th{color:var(--text-main)}.content{margin-top:1.5rem;margin-bottom:2rem}.auth-page{padding-inline:1rem}.auth-card-wrap{width:100%;max-width:560px}.auth-card-wrap .card{width:100%}.auth-loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.route-loader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:#0408125c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:routeFade .18s ease}.route-loader-box{min-width:188px;padding:1rem 1.1rem;border-radius:14px;border:1px solid rgba(143,168,222,.28);background:#0c1222d9;display:flex;flex-direction:column;align-items:center;gap:.55rem;box-shadow:0 14px 34px #0106136b}.route-loader-text{color:#d9e5ff;font-size:.85rem;letter-spacing:.3px;font-weight:500}@keyframes routeFade{0%{opacity:0}to{opacity:1}}.navbar,.navbar.bg-dark{position:sticky;top:0;z-index:1040;background:var(--bg-navbar)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-soft);box-shadow:0 8px 26px #00000047}.navbar .container-fluid{padding:.75rem 1.25rem}.navbar-brand{color:#f3f7ff!important;font-weight:700;letter-spacing:.3px}.nav-link{color:var(--text-muted)!important;border-radius:999px;padding:.55rem .95rem!important;transition:.2s ease}.nav-link:hover,.nav-link.active{color:#fff!important;background:var(--primary-soft)}.footer{margin-top:2.25rem;padding:1.15rem 0;border-top:1px solid var(--border-soft);background:linear-gradient(180deg,#070b172e,#070b179e);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.footer-brand{color:#eaf1ff!important;font-size:.95rem;font-weight:700;letter-spacing:.25px}.footer-copy{color:var(--text-muted)!important;font-size:.85rem}.card,.metric-card,.chart-container,.gallery-card,.upload-card{background:linear-gradient(160deg,#1f2d4ddb,#0f1629eb)!important;border:1px solid var(--border-soft)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-soft)!important;color:var(--text-main)!important}.card{transition:transform .25s ease,box-shadow .25s ease}.card:hover{transform:translateY(-3px);box-shadow:0 18px 36px #02081985!important}.card-title{color:#f5f8ff!important;margin-bottom:.9rem}.card-text{color:var(--text-muted);font-size:.92rem}.metric-card{overflow:hidden;position:relative}.metric-card:after{content:"";position:absolute;inset:auto -35% -45% auto;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(109,141,255,.22),transparent 70%)}.metric-card i{font-size:1.8rem!important;color:#b9c8ff}.metric-title{font-size:.95rem!important;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px}.metric-value{font-size:2rem!important;font-weight:700!important;color:#fff}.btn{border-radius:10px!important;font-weight:600;border-width:1px!important;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-strong))!important;border-color:transparent!important;box-shadow:0 8px 20px #4f6fec4d}.btn-primary:hover,.btn-primary:focus{background:linear-gradient(135deg,#87a1ff,#5e7ef7)!important;box-shadow:0 10px 24px #4f6fec61}.btn-secondary{background-color:#9cabd233!important;color:#f0f4ff!important;border-color:#9cabd240!important}.btn-secondary:hover{background-color:#9cabd257!important}.btn-success{background:#2ed5a23d!important;color:#cbffef!important;border-color:#2ed5a261!important}.btn-danger{background:#ff6e8f38!important;color:#ffd8e2!important;border-color:#ff6e8f59!important}.btn-outline-theme{border:1px solid rgba(151,173,230,.45)!important;color:#dce7ff!important;background:#6d8dff14!important}.btn-outline-theme:hover,.btn-outline-theme:focus{color:#fff!important;background:#6d8dff3d!important;border-color:#97ade69e!important}.nav-theme-toggle{border-radius:999px!important;padding:.45rem .85rem!important;font-size:.9rem}.icon-btn{cursor:pointer;color:var(--text-muted)!important;font-size:1.1rem;transition:color .2s ease,transform .2s ease}.icon-btn:hover{color:#fff!important;transform:scale(1.1)}.form-label{color:#dbe5ff;font-weight:500}.form-control,.form-select,textarea.form-control{border-radius:10px!important;border:1px solid rgba(148,169,220,.28)!important;background:#0a101f8f!important;color:#eef3ff!important;min-height:44px}.form-control::placeholder,textarea.form-control::placeholder{color:#8f9ab7}.form-control:focus,.form-select:focus,textarea.form-control:focus{border-color:#6d8dffb3!important;box-shadow:var(--shadow-focus)!important;background:#0c1323cc!important}.form-control:disabled{background:#ffffff0d!important;color:#9aabcf!important}.input-group-text{border:1px solid rgba(109,141,255,.45)!important;background:#5a78e847!important;color:#e5edff!important}.modal-content{background:var(--bg-surface-strong)!important;border:1px solid var(--border-soft)!important;border-radius:16px!important}.modal-header,.modal-footer{border-color:#94a9dc33!important}.modal-title{color:#f6f8ff!important}.btn-close{filter:invert(1) brightness(1.4)}.pagination{gap:.35rem}.page-link{border-radius:10px!important;border:1px solid var(--border-soft)!important;background:#121b31cc!important;color:#d6e3ff!important}.page-item.active .page-link{background:linear-gradient(135deg,var(--primary),var(--primary-strong))!important;border-color:transparent!important;color:#fff!important}.page-item.disabled .page-link{opacity:.55}.table{color:var(--text-main)!important;border-color:#a2b5e32e!important}.table>:not(caption)>*>*{background:transparent!important;color:var(--text-main)!important;border-bottom-color:#a2b5e333!important}.table thead th{color:#f4f7ff!important;font-weight:600}.table-hover tbody tr:hover{background:#6d8dff1f!important}.list-group-item{border-color:#94a9dc2e!important}.badge.bg-success{background-color:#2ed5a240!important;color:#c7ffeb}.badge.bg-warning{background-color:#fbbf243d!important;color:#ffecc0}.task-item{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:.85rem!important;background:#121b31d6!important;border:1px solid rgba(148,169,220,.2)!important;margin-bottom:.75rem;border-radius:10px}.task-item.completed{text-decoration:line-through!important;color:#93a3c8!important;opacity:.82}.bg-light.text-muted{background:#6d8dff1f!important;color:#9cb0da!important;border-color:#94a9dc33!important}.project-title{font-size:2.1rem;font-weight:800}.project-description{margin-top:.35rem;margin-bottom:1rem;color:var(--text-muted);font-size:1.03rem}.gallery-card img,.project-images img{width:100%;height:200px;object-fit:cover;border-radius:12px 12px 0 0}.upload-card{min-height:280px;display:grid;place-items:center}.upload-label{width:72px;height:72px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px dashed rgba(160,182,236,.7);background:#6d8dff1a}.project-stack,.project-links{background:#121b31b8;border:1px solid rgba(148,169,220,.2);border-radius:var(--radius-md);padding:1rem 1.1rem;margin-top:1rem}.project-stack i{color:#b7c7ff;margin-right:.5rem}.project-links p{display:flex;gap:.5rem;align-items:center;margin-bottom:.6rem}.rounded-circle.img-fluid{border:3px solid rgba(178,197,247,.4);box-shadow:0 10px 24px #03091a61}.profile-page{display:flex;justify-content:center}.profile-layout{width:100%;max-width:1140px}.profile-side-card,.profile-main-card{height:100%}.profile-main-card .card-body,.profile-side-card .card-body{padding:1.75rem}.profile-avatar-label{cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;gap:.7rem}.profile-avatar-wrap{display:inline-flex;align-items:center;justify-content:center;padding:.45rem;border-radius:999px;background:#6d8dff24}.profile-camera-chip{background:#6d8dffe6;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.2px;display:inline-flex;align-items:center;justify-content:center}.profile-quick-list{border-top:1px solid rgba(148,169,220,.2);padding-top:.9rem}.profile-quick-list li{color:var(--text-muted)!important;font-size:.92rem;margin-bottom:.45rem}.profile-quick-list li strong{color:var(--text-main)}.animate-fade-in{animation:fadeIn .7s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#10182dcc}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#5f7ef8,#7297ff);border-radius:999px}@media (max-width: 992px){.navbar .container-fluid{padding:.65rem .95rem}.content{margin-top:1.1rem}.metric-value{font-size:1.75rem!important}.profile-layout{max-width:100%}.profile-main-card .card-body,.profile-side-card .card-body{padding:1.2rem}.footer-inner{flex-direction:column;text-align:center}}@media (max-width: 576px){.auth-page{padding-inline:.85rem}.auth-card-wrap{max-width:100%}.auth-card-wrap .card{padding:1.15rem!important}}body.theme-light{--bg-main: #f3f6fc;--bg-surface: rgba(255, 255, 255, .82);--bg-surface-strong: rgba(255, 255, 255, .97);--bg-navbar: rgba(248, 251, 255, .9);--border-soft: rgba(114, 132, 180, .24);--text-main: #1d2a44;--text-muted: #526182;--primary: #4f6fe8;--primary-strong: #3657d5;--primary-soft: rgba(79, 111, 232, .14);--shadow-soft: 0 10px 30px rgba(76, 97, 146, .14);--shadow-focus: 0 0 0 .2rem rgba(79, 111, 232, .2)}body.theme-light{background:radial-gradient(circle at 10% 15%,rgba(79,111,232,.14),transparent 36%),radial-gradient(circle at 90% 10%,rgba(46,213,162,.12),transparent 28%),radial-gradient(circle at 85% 90%,rgba(255,110,143,.12),transparent 34%),var(--bg-main)!important;color:var(--text-main)!important}body.theme-light .route-loader-overlay{background:#eef4ff80}body.theme-light .route-loader-box{background:#ffffffeb;border-color:#7284b447;box-shadow:0 14px 34px #50638d33}body.theme-light .route-loader-text{color:#304470}body.theme-light h1,body.theme-light h2,body.theme-light h3,body.theme-light h4,body.theme-light h5,body.theme-light h6,body.theme-light p,body.theme-light label,body.theme-light small,body.theme-light span,body.theme-light li,body.theme-light td,body.theme-light th{color:var(--text-main)!important}body.theme-light .navbar,body.theme-light .navbar.bg-dark{background:var(--bg-navbar)!important;border-bottom:1px solid rgba(114,132,180,.24);box-shadow:0 8px 20px #5c719e26}body.theme-light .navbar-brand{color:#1e2f53!important}body.theme-light .navbar-toggler{border-color:#2c3e6859!important}body.theme-light .navbar-toggler:focus{box-shadow:0 0 0 .2rem #4f6fe833!important}body.theme-light .navbar-toggler-icon{filter:invert(18%) sepia(19%) saturate(1011%) hue-rotate(186deg) brightness(94%) contrast(92%)}body.theme-light .nav-link{color:#4f5f83!important}body.theme-light .nav-link:hover,body.theme-light .nav-link.active{color:#1f2f53!important;background:#4f6fe81f}body.theme-light .btn-outline-theme{color:#2d416d!important;background:#4f6fe814!important;border-color:#4f6fe857!important}body.theme-light .btn-outline-theme:hover,body.theme-light .btn-outline-theme:focus{color:#1b2b4e!important;background:#4f6fe829!important}body.theme-light .card,body.theme-light .metric-card,body.theme-light .chart-container,body.theme-light .gallery-card,body.theme-light .upload-card,body.theme-light .project-stack,body.theme-light .project-links{background:linear-gradient(165deg,#fffffff5,#f4f8fff2)!important;border:1px solid rgba(114,132,180,.24)!important;box-shadow:0 12px 28px #5c719e29!important}body.theme-light .metric-card i,body.theme-light .project-stack i{color:#4f6fe8}body.theme-light .metric-value{color:#1f2f53!important}body.theme-light .metric-title,body.theme-light .card-text,body.theme-light .project-description,body.theme-light .footer p{color:#5a6a8d!important}body.theme-light .footer{background:linear-gradient(180deg,#ffffff38,#f1f6ffdb);border-top-color:#7284b440}body.theme-light .footer-brand{color:#22345f!important}body.theme-light .footer-copy{color:#5a6a8d!important}body.theme-light .profile-camera-chip{background:#4f6fe8e6}body.theme-light .profile-avatar-wrap{background:#4f6fe824}body.theme-light .profile-quick-list{border-top-color:#7284b438}body.theme-light .profile-quick-list li{color:#5a6a8d!important}body.theme-light .profile-quick-list li strong{color:#22345f}body.theme-light .form-control,body.theme-light .form-select,body.theme-light textarea.form-control{background:#f6f9fff2!important;border-color:#7284b447!important;color:#1f2e4e!important}body.theme-light .form-control::placeholder,body.theme-light textarea.form-control::placeholder{color:#6f81a6}body.theme-light .form-control:focus,body.theme-light .form-select:focus,body.theme-light textarea.form-control:focus{background:#fff!important;border-color:#4f6fe899!important}body.theme-light .input-group-text{background:#4f6fe81f!important;color:#2f4475!important;border-color:#4f6fe847!important}body.theme-light .modal-content{background:#f9fbff!important;border-color:#7284b440!important}body.theme-light .modal-header,body.theme-light .modal-footer{border-color:#7284b433!important}body.theme-light .btn-close{filter:none}body.theme-light .page-link{background:#f5f8ff!important;color:#2f416e!important;border-color:#7284b44d!important}body.theme-light .table{color:#2c3e68!important;border-color:#7284b433!important}body.theme-light .text-light,body.theme-light .text-white{color:#2c3e68!important}body.theme-light .table-dark{--bs-table-bg: #f6f9ff;--bs-table-striped-bg: #eef4ff;--bs-table-striped-color: #2c3e68;--bs-table-active-bg: #e6efff;--bs-table-active-color: #2c3e68;--bs-table-hover-bg: #e9f1ff;--bs-table-hover-color: #24365f;--bs-table-color: #2c3e68;border-color:#7284b440}body.theme-light .table-dark>:not(caption)>*>*{color:#2c3e68!important}body.theme-light .table>:not(caption)>*>*{color:#2c3e68!important;border-bottom-color:#7284b429!important}body.theme-light .table-hover tbody tr:hover{background:#4f6fe814!important}body.theme-light .list-group-item{border-color:#7284b429!important}body.theme-light .task-item{background:#ffffffe0!important;border-color:#7284b438!important}body.theme-light .task-item.completed,body.theme-light .bg-light.text-muted{color:#7282a6!important}body.theme-light .icon-btn{color:#5970a6!important}body.theme-light .icon-btn:hover{color:#2b3f6e!important}body.theme-light ::-webkit-scrollbar-track{background:#d7e2f8cc}body.theme-light ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#4f6fe8,#6b89f4)}@keyframes modern-spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes modern-spinner-pulse{0%,to{transform:scale(.92);opacity:.9}50%{transform:scale(1);opacity:1}}.modern-spinner{--spinner-size: 54px;--spinner-thickness: 4px;--spinner-primary: #6d8dff;--spinner-accent: #2ed5a2;width:var(--spinner-size);height:var(--spinner-size);display:inline-flex;align-items:center;justify-content:center}.modern-spinner-sm{--spinner-size: 36px;--spinner-thickness: 3px}.modern-spinner-md{--spinner-size: 54px;--spinner-thickness: 4px}.modern-spinner-lg{--spinner-size: 86px;--spinner-thickness: 5px}.modern-spinner-ring{position:relative;width:100%;height:100%;border-radius:50%;animation:modern-spinner-pulse 1.4s ease-in-out infinite}.modern-spinner-ring div{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:var(--spinner-thickness) solid transparent;border-top-color:var(--spinner-primary);border-right-color:var(--spinner-accent);animation:modern-spinner-rotate .95s linear infinite}.modern-spinner-ring div:nth-child(2){top:14%;right:14%;bottom:14%;left:14%;border-top-color:#6d8dffe0;border-right-color:#2ed5a2e0;animation-duration:1.2s;animation-direction:reverse}.modern-spinner-ring div:nth-child(3){top:28%;right:28%;bottom:28%;left:28%;border-top-color:#fffffff2;border-right-color:#6d8dffbf;animation-duration:1.45s}body.theme-light .modern-spinner{--spinner-primary: #4f6fe8;--spinner-accent: #2ec8a2}
