/* EMS-aligned visual density. Functional layouts stay unchanged. */
:root{--radius:16px}
body{font-size:14px;line-height:1.55;letter-spacing:-.01em}
.app{grid-template-columns:248px minmax(0,1fr)}
.sidebar{padding:18px 14px;gap:18px}
.brand{gap:10px}
.brand-mark{width:42px;height:42px;border-radius:11px;overflow:hidden;background:#080913;box-shadow:0 7px 20px rgba(54,217,255,.16)}
.brand-mark img{display:block;width:100%;height:100%;object-fit:cover;opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important}
.brand strong{font-size:16px;font-weight:800;letter-spacing:.08em}
.brand small{font-size:10px}
.nav{gap:4px}
.nav-label{padding:7px 10px 5px;font-size:10px;font-weight:700}
.nav a{display:flex;align-items:center;min-height:40px;padding:0 11px;border-radius:10px;font-size:13px;font-weight:700}
.sidebar-user{padding:12px;border-radius:12px}
.sidebar-user b{font-size:14px}
.sidebar-user small{font-size:11px}
.topbar{height:70px;padding:0 28px}
.topbar h1{font-size:19px;font-weight:800;letter-spacing:-.03em}
.content{box-sizing:border-box;width:100%;max-width:1640px;padding:26px 28px 54px}
.page-head{margin:0 0 16px;gap:14px}
.page-head h2{font-size:24px;line-height:1.3;letter-spacing:-.04em}
.page-head p{margin-top:4px;font-size:12px;line-height:1.45}
.stat{padding:16px;border-radius:14px}
.stat span{font-size:12px}
.stat strong{margin-top:6px;font-size:21px}
.panel{margin-top:12px;border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.22)}
.panel-head{min-height:58px;padding:14px 18px}
.panel-head h2{font-size:16px}
.panel-body{padding:16px 18px}
.btn{min-height:38px;padding:8px 13px;border-radius:9px;font-size:13px}
.field{gap:6px}
.field label{font-size:12px}
.field input,.field select,.field textarea{padding:9px 11px;border-radius:9px;font-size:13px}
.table th,.table td{padding:10px 12px}
.table th{font-size:11px}
.badge{padding:4px 8px}
.signal-loader-mark{overflow:hidden;background:#080913}
.signal-loader-mark img{display:block;width:100%;height:100%;object-fit:cover}
.login-panel,.public-card{border-radius:16px}
.login-card{padding:26px}
.login-card h1{font-size:27px}
.login-submit-loader{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:20px;background:rgba(7,8,11,.78);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}.login-submit-loader.is-visible{opacity:1;visibility:visible}.login-submit-loader-card{min-width:230px;padding:25px 24px;text-align:center;border:1px solid var(--line);border-radius:16px;background:var(--panel);box-shadow:0 24px 70px rgba(0,0,0,.42)}.login-submit-loader-card strong,.login-submit-loader-card small{display:block}.login-submit-loader-card small{margin-top:6px;color:var(--muted);font-size:11px}.login-submit-spinner,.login-button-spinner{display:inline-block;border-radius:50%;border:2px solid rgba(255,255,255,.22);border-top-color:var(--cyan);animation:signalLoginSpin .72s linear infinite}.login-submit-spinner{width:32px;height:32px;margin-bottom:13px;border-width:3px}.login-button-spinner{width:14px;height:14px;margin-right:7px;vertical-align:-2px}@keyframes signalLoginSpin{to{transform:rotate(360deg)}}
.vacation-my-list{display:grid;gap:9px;padding:12px}
.vacation-my-row{display:grid;grid-template-columns:minmax(190px,.95fr) minmax(92px,.35fr) minmax(220px,1.4fr) minmax(150px,.7fr);gap:14px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.vacation-my-row small{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:700}
.vacation-my-row b,.vacation-my-row time{font-size:12px}
.vacation-my-reason{min-width:0}.vacation-my-reason p{margin:0;overflow-wrap:anywhere;font-size:12px;line-height:1.5}
@media(max-width:1000px){
 .app{grid-template-columns:1fr}
 .sidebar{width:236px}
 .content{padding:20px 20px 44px}
}
@media(max-width:640px){
 .topbar{height:62px;padding:0 14px}
 .topbar h1{font-size:18px}
 .content{padding:14px 12px 36px}
 .page-head h2{font-size:21px}
 .panel-body{padding:14px}
 .table th,.table td{padding:9px 10px}
 .vacation-my-row{grid-template-columns:1fr 1fr;gap:12px}
 .vacation-my-reason{grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){.login-submit-loader{transition:none}.login-submit-spinner,.login-button-spinner{animation:none}}
.clock-current-duration{display:flex;align-items:baseline;gap:7px}.clock-current-duration span{color:var(--green);font-weight:850;font-variant-numeric:tabular-nums}
.intranet-body small,.intranet-body .muted,.intranet-body label,.intranet-body th,.intranet-body .nav-label{font-size:max(12px,.75rem)!important;line-height:1.5}.intranet-body td,.intranet-body input,.intranet-body select,.intranet-body textarea,.intranet-body button,.intranet-body a{font-size:max(13px,.8125rem)}
@media(max-width:1000px){html,body{max-width:100%;overflow-x:hidden}.intranet-body .app{display:block!important;width:100%;min-width:0}.intranet-body .workspace{width:100%!important;min-width:0;margin-left:0!important}.intranet-body .sidebar{position:fixed!important;z-index:1000;width:min(286px,88vw)!important}.intranet-body .content{width:100%!important;max-width:100%!important;padding-left:12px!important;padding-right:12px!important}.intranet-body .grid,.intranet-body .form-grid{min-width:0}.intranet-body .table-wrap{max-width:100%;overflow-x:auto}}
