:root{--depth-brand:#667eea;--depth-brand-2:#764ba2;--depth-dark:#15162b;--depth-glow:rgba(102,126,234,.24)}
/* Shared 3D language for auth + authenticated pages. Kept intentionally subtle so forms remain usable. */
[data-tilt-card],.tilt-surface,.card,.stat-card,.election-card,.candidate-label,.small-box{transform-style:preserve-3d;backface-visibility:hidden;will-change:transform;transition:transform .16s ease,box-shadow .22s ease,border-color .22s ease}
.depth-layer{transform:translateZ(18px)}

/* Auth */
body.auth-3d{background:#0f101b;overflow-x:hidden}.auth-3d .auth-shell{perspective:1300px}.auth-3d .auth-brand-panel{background:radial-gradient(circle at 20% 10%,rgba(118,75,162,.4),transparent 30%),radial-gradient(circle at 85% 75%,rgba(102,126,234,.28),transparent 32%),linear-gradient(145deg,#0f101c,#232442)}
.auth-3d .auth-brand-panel:before{width:520px;height:520px;border-color:rgba(168,170,255,.09);box-shadow:0 0 80px rgba(102,126,234,.05) inset}.auth-3d .auth-form-panel{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 15%,rgba(102,126,234,.12),transparent 30%),linear-gradient(180deg,#f8f8ff,#f2f3f9)}
.auth-3d .auth-form-panel:before,.auth-3d .auth-form-panel:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.auth-3d .auth-form-panel:before{width:280px;height:280px;right:-110px;top:-70px;background:linear-gradient(145deg,rgba(102,126,234,.16),rgba(118,75,162,.05));box-shadow:inset 0 0 60px rgba(255,255,255,.3)}.auth-3d .auth-form-panel:after{width:230px;height:230px;left:-100px;bottom:-90px;background:linear-gradient(145deg,rgba(118,75,162,.11),rgba(102,126,234,.04))}
.auth-3d .auth-form-wrap{position:relative;z-index:2;padding:34px;border:1px solid rgba(255,255,255,.86);border-radius:24px;background:rgba(255,255,255,.7);box-shadow:0 34px 80px rgba(31,37,74,.15),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);transform-style:preserve-3d}
.auth-3d .auth-heading,.auth-3d form,.auth-3d .switch-auth,.auth-3d .auth-note{transform:translateZ(18px)}.auth-3d .auth-brand-mark{border:1px solid rgba(255,255,255,.13);box-shadow:0 15px 32px rgba(102,126,234,.3)}.auth-3d .auth-benefits>div{padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.035);backdrop-filter:blur(8px)}
.auth-3d .form-control{background:rgba(255,255,255,.8);box-shadow:inset 0 1px 0 #fff!important}.auth-3d .primary-submit{box-shadow:0 15px 32px rgba(102,126,234,.28),inset 0 1px 0 rgba(255,255,255,.23)}
.auth-floating-card{position:absolute;z-index:1;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(255,255,255,.045);box-shadow:0 25px 60px rgba(0,0,0,.25);backdrop-filter:blur(12px);pointer-events:none}.auth-floating-card.one{width:155px;height:95px;right:7%;top:17%;transform:rotateY(-24deg) rotateX(8deg) rotateZ(8deg)}.auth-floating-card.two{width:130px;height:82px;left:8%;bottom:18%;transform:rotateY(26deg) rotateX(-8deg) rotateZ(-9deg)}.auth-floating-card:before{content:"";position:absolute;left:18px;right:18px;top:21px;height:8px;border-radius:9px;background:rgba(255,255,255,.12);box-shadow:0 19px 0 rgba(255,255,255,.07),0 38px 0 rgba(255,255,255,.05)}

/* AdminLTE + app chrome */
body.app-3d .content-wrapper{position:relative;background:radial-gradient(circle at 95% 2%,rgba(102,126,234,.12),transparent 21%),radial-gradient(circle at 5% 95%,rgba(118,75,162,.07),transparent 24%),linear-gradient(180deg,#f7f7fc,#f0f2f7)}body.app-3d .content-wrapper:before{content:"";position:fixed;right:4%;top:120px;width:190px;height:190px;border:1px solid rgba(102,126,234,.08);border-radius:50%;pointer-events:none}
body.app-3d .main-sidebar{box-shadow:18px 0 45px rgba(15,16,35,.13)}body.app-3d .main-header{background:rgba(255,255,255,.82)!important;backdrop-filter:blur(16px)}body.app-3d .brand-link{backdrop-filter:blur(14px)}
body.app-3d .page-heading-wrap{position:relative;padding:16px 18px;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:rgba(255,255,255,.62);box-shadow:0 18px 45px rgba(31,37,74,.065);backdrop-filter:blur(16px);transform-style:preserve-3d}body.app-3d .page-heading-wrap>div:first-child{transform:translateZ(13px)}body.app-3d .account-pill{transform:translateZ(20px);box-shadow:0 12px 28px rgba(31,37,74,.1)}
body.app-3d .card,body.app-3d .stat-card,body.app-3d .election-card,body.app-3d .candidate-label,body.app-3d .small-box{border-color:rgba(219,222,235,.9);background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(250,250,255,.87));box-shadow:0 18px 44px rgba(31,37,74,.07),inset 0 1px 0 rgba(255,255,255,.9)}
body.app-3d .card-header{background:rgba(255,255,255,.78);backdrop-filter:blur(12px)}body.app-3d .stat-icon,body.app-3d .election-icon,body.app-3d .candidate-initial{transform:translateZ(20px);box-shadow:0 12px 24px rgba(91,92,226,.12)}body.app-3d .stat-info,body.app-3d .election-content,body.app-3d .election-footer,body.app-3d .card-body{position:relative;z-index:1}body.app-3d .stat-info{transform:translateZ(10px)}
body.app-3d .election-card:before,body.app-3d .stat-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 85% 12%,rgba(102,126,234,.11),transparent 28%);pointer-events:none}body.app-3d .election-card{position:relative}body.app-3d .stat-card{position:relative;overflow:hidden}
body.app-3d .btn-primary,body.app-3d .modern-btn-primary{box-shadow:0 10px 24px rgba(91,92,226,.22),inset 0 1px 0 rgba(255,255,255,.19)!important}body.app-3d .form-control{background:rgba(255,255,255,.82);backdrop-filter:blur(8px)}body.app-3d .small-box .icon{transform:translateZ(12px)}
body.app-3d .candidate-label:has(input:checked){background:linear-gradient(145deg,#fff,#f3f2ff);box-shadow:0 22px 48px rgba(91,92,226,.12)}

/* Dynamic pointer tilt is desktop-only; touch devices keep static perspective depth. */
@media(hover:hover) and (pointer:fine){body.app-3d .stat-card:hover,body.app-3d .election-card:hover,body.app-3d .card:hover,body.app-3d .candidate-label:hover,body.app-3d .small-box:hover{box-shadow:0 28px 58px rgba(31,37,74,.13)}.auth-3d .auth-form-wrap:hover{box-shadow:0 42px 90px rgba(31,37,74,.19),inset 0 1px 0 #fff}}
@media(max-width:900px){.auth-3d .auth-form-panel{background:radial-gradient(circle at 80% 4%,rgba(102,126,234,.16),transparent 24%),linear-gradient(155deg,#f7f7ff,#eef0f7)}.auth-3d .auth-form-wrap{padding:28px}.auth-floating-card{display:none}body.app-3d .page-heading-wrap{align-items:flex-start}}
@media(max-width:600px){.auth-3d .auth-form-panel{padding:18px 14px}.auth-3d .auth-form-wrap{padding:22px 18px;border-radius:20px}body.app-3d .content-header{padding:18px 10px 14px}body.app-3d .content{padding-left:2px;padding-right:2px}body.app-3d .page-heading-wrap{padding:15px;gap:12px}body.app-3d .account-pill{max-width:150px;padding-right:8px}.account-copy strong{max-width:90px}}
@media(prefers-reduced-motion:reduce){[data-tilt-card],.tilt-surface,.card,.stat-card,.election-card,.candidate-label,.small-box{transform:none!important;transition:none!important}}
