/* Modern visual layer for RMB Presensia. */
:root{--navy:#111827;--blue:#4f46e5;--bg:#f4f6fb;--text:#182033;--muted:#6f7890;--line:#e5e9f2;--surface:#fff;--shadow-sm:0 1px 2px #1018280a,0 5px 18px #1018280a;--shadow-md:0 14px 35px #1e293b17}
html{scroll-behavior:smooth}body{background:radial-gradient(circle at 88% 0,#ebe9ff 0,transparent 25rem),var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{transition:border-color .2s,box-shadow .2s,background-color .2s,color .2s,transform .2s}:focus-visible{outline:3px solid #4f46e538;outline-offset:2px}
.sidebar{width:264px;padding:26px 18px;background:linear-gradient(180deg,#111827,#18233d);border-right:1px solid #ffffff0f;box-shadow:12px 0 35px #0f172a14}.brand{padding:0 8px;font-size:19px;letter-spacing:-.02em}.brand .brand-mark,.login-logo{background:linear-gradient(145deg,#8178ff,#4f46e5);box-shadow:inset 0 1px 0 #ffffff59,0 8px 20px #4f46e559;transform:none}.sidebar nav{margin-top:32px;gap:4px}.sidebar nav a{position:relative;align-items:center;min-height:46px;padding:11px 13px;border:1px solid transparent;border-radius:11px;color:#aeb8d0;font-size:14px;font-weight:500}.sidebar nav a:hover{color:#fff;background:#ffffff12;transform:translateX(2px)}.sidebar nav a.active{color:#fff;background:linear-gradient(135deg,#6366f157,#6366f12b);border-color:#a5b4fc2e;box-shadow:inset 3px 0 #818cf8}.sidebar-foot{border-top-color:#ffffff1a;padding:18px 10px 0}.sidebar-foot strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar .nav-section{padding:17px 13px 5px;color:#74809d;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;pointer-events:none}.sidebar .nav-section:first-child{padding-top:0}
.next-action{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:4px solid var(--blue)}.next-action h2{margin:5px 0 3px;font-size:19px}.next-action p{margin:0;color:var(--muted)}.next-action.ok{border-left-color:var(--green)}.next-action.pending{border-left-color:var(--orange)}
.file-preview{margin-top:8px;color:var(--muted);font-size:12px}.file-preview img{display:block;width:120px;height:90px;object-fit:cover;border:1px solid var(--line);border-radius:8px;margin-top:6px}
@media(max-width:600px){.next-action{align-items:stretch;flex-direction:column;gap:14px}.next-action .btn{width:100%;text-align:center}}
.main{margin-left:264px;width:calc(100% - 264px);max-width:1600px;padding:32px 42px 60px}.topbar{position:relative;margin-bottom:28px;padding:4px 2px}.topbar h1{font-size:29px;line-height:1.2;letter-spacing:-.035em;color:#151c2f}.topbar small{font-size:12px;font-weight:600;letter-spacing:.035em;text-transform:uppercase}.btn{min-height:42px;border-radius:10px;padding:10px 17px;line-height:1.3}.btn:hover{transform:translateY(-1px)}.btn:active{transform:none}.btn-primary{background:linear-gradient(135deg,#5c54ed,#4338ca);box-shadow:0 8px 18px #4f46e538}.btn-primary:hover{background:linear-gradient(135deg,#4f46e5,#3730a3);box-shadow:0 10px 24px #4f46e54d}.btn-light{background:#f0f2f7;border:1px solid #e4e7ee}
.stats{gap:16px;margin-bottom:24px}.stats article,.card{border-color:#e2e6f0e6;box-shadow:var(--shadow-sm)}.stats article{position:relative;overflow:hidden;min-height:108px;padding:22px;border-radius:16px}.stats article:after{content:"";position:absolute;width:80px;height:80px;right:-32px;top:-34px;border-radius:50%;background:currentColor;opacity:.035}.stats article:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stats small{font-size:12px;font-weight:600}.stats strong{font-size:29px;letter-spacing:-.04em;color:#171f32}.stat-icon{width:48px;height:48px;border-radius:14px}.card{border-radius:17px;padding:25px;margin-bottom:24px}.card-head{gap:16px;padding-bottom:17px;margin-bottom:12px;border-bottom:1px solid #edf0f5}.card-head h2{font-size:18px;letter-spacing:-.015em}.card-head p{margin-top:3px}.table-wrap{margin:0 -8px}table{font-size:13.5px}th{padding:12px 14px;background:#fafbfc;color:#747d92;font-size:11px}th:first-child{border-radius:9px 0 0 9px}th:last-child{border-radius:0 9px 9px 0}td{padding:15px 14px}tbody tr:hover{background:#fafbff}.badge{padding:5px 10px;font-weight:600}.alert{border:1px solid transparent;border-radius:12px;padding:13px 16px;box-shadow:var(--shadow-sm)}.alert.success{border-color:#c9efdd}.alert.error{border-color:#facfd4}.alert.pending{border-color:#f4dcaa}
.form-card input,.form-card select,.form-card textarea,.login-card input,.filters input,.filters select,.bulk-shift-form input,.bulk-shift-form select,.shift-form input,.form-grid select{min-height:44px;border-color:#dfe3eb;border-radius:10px}.form-card input:hover,.form-card select:hover,.form-card textarea:hover,.login-card input:hover,.filters input:hover,.filters select:hover{border-color:#c7cddd}.form-card input:focus,.form-card select:focus,.form-card textarea:focus,.login-card input:focus,.filters input:focus,.filters select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px #4f46e51a}
.login-page{position:relative;overflow:hidden;background:linear-gradient(145deg,#eef1ff,#f7f8fc 48%,#eeeafe)}.login-page:before,.login-page:after{content:"";position:fixed;border-radius:50%;pointer-events:none}.login-page:before{width:430px;height:430px;left:-180px;top:-180px;background:#6366f11f}.login-page:after{width:360px;height:360px;right:-150px;bottom:-160px;background:#8b5cf61a}.login-card{position:relative;z-index:1;padding:40px;border:1px solid #ffffffcc;border-radius:22px;box-shadow:0 28px 80px #272d4a26;backdrop-filter:blur(12px)}.login-card h1{letter-spacing:-.035em}.login-card .btn{min-height:48px;margin-top:4px}
@media(max-width:900px) and (min-width:601px){.sidebar{width:82px}.main{margin-left:82px;width:calc(100% - 82px)}.sidebar .brand{padding:0}.sidebar .brand-mark{width:46px}.sidebar nav a{min-height:48px}}
@media(max-width:600px){body{background:var(--bg)}.admin-body>.main{padding:20px 14px calc(102px + env(safe-area-inset-bottom))}.topbar{align-items:flex-start;margin-bottom:18px}.topbar h1{font-size:24px}.topbar small{font-size:10px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats article{min-height:94px;padding:15px;gap:10px}.stats strong{font-size:24px}.stat-icon{width:40px;height:40px;border-radius:12px}.card{padding:17px;border-radius:15px}.card-head{align-items:flex-start}.card-head p{font-size:12px}.login-card{padding:30px 22px}}
@media(max-width:600px){.admin-body>.sidebar .nav-section{display:none}}
@media(max-width:380px){.stats{grid-template-columns:1fr}.stats article{min-height:84px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.password-field{position:relative;display:block}.password-field input{width:100%;padding-right:92px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;border-radius:7px;padding:6px 9px;background:#eef0ff;color:var(--blue);font-size:12px;font-weight:700;cursor:pointer}.password-toggle:hover{background:#e1e3ff}.forgot-link{display:block;margin:-6px 0 17px;text-align:right;font-size:13px;font-weight:600}
.btn-whatsapp{background:linear-gradient(135deg,#25d366,#159c4a);color:#fff;box-shadow:0 8px 18px #159c4a38;text-align:center}.btn-whatsapp:hover{background:linear-gradient(135deg,#20bd5a,#128640);box-shadow:0 10px 24px #159c4a4d}.security-note{margin:18px 0 0!important;font-size:12px!important}
