/* ======================================================================
   BAIK PEOPLE — APPROVED DESIGN LOCK v1.0.0
   Status: LOCKED / BASELINE
   Approved direction: Desktop C+D+E hybrid + Mobile final concept.

   CHANGE POLICY
   1) Feature work must NOT modify/remove this file.
   2) New feature CSS must use a separate feature stylesheet.
   3) Navigation labels/routes may change only without altering shell geometry.
   4) Brand colors, radii, typography, spacing, sidebar, mobile bottom nav,
      dashboard card language and responsive breakpoints are locked.
   ====================================================================== */

:root{
  --bp-blue:#12338C;
  --bp-blue-2:#3559C7;
  --bp-blue-3:#6479D9;
  --bp-orange:#FF8B3D;
  --bp-purple:#8B6FD6;
  --bp-teal:#23A69A;
  --bp-green:#1BA66A;
  --bp-red:#EF5D67;
  --bp-ink:#17213A;
  --bp-muted:#7A849B;
  --bp-bg:#F6F8FC;
  --bp-card:rgba(255,255,255,.90);
  --bp-line:#E8ECF4;
  --bp-shadow:0 12px 34px rgba(23,38,87,.075);
  --bp-shadow-soft:0 6px 20px rgba(23,38,87,.055);
  --bp-r-xl:24px;
  --bp-r-lg:18px;
  --bp-r-md:14px;
  --bp-sidebar:208px;
}

html,body{background:var(--bp-bg)!important;color:var(--bp-ink)!important}
body{letter-spacing:-.005em}

/* ---------- DESKTOP APPROVED SHELL ---------- */
@media(min-width:761px){
  .shell{grid-template-columns:var(--bp-sidebar) minmax(0,1fr)!important;background:var(--bp-bg)!important;min-height:100vh}
  .side{
    background:rgba(255,255,255,.96)!important;
    color:var(--bp-ink)!important;
    border-right:1px solid var(--bp-line)!important;
    box-shadow:10px 0 36px rgba(24,42,96,.035)!important;
    padding:18px 13px!important;
    position:sticky!important;top:0;height:100vh!important;
  }
  .brand{padding:3px 8px 17px!important;border-bottom:1px solid #EFF2F7!important;margin-bottom:10px!important}
  .sidebar-brand-logo{width:126px!important;height:auto!important}
  .brand-sub{color:#969EB0!important;font-size:10px!important;margin-top:6px!important}
  .nav{gap:3px!important}
  .nav button{
    color:#5E6880!important;background:transparent!important;border-radius:12px!important;
    min-height:39px!important;padding:9px 10px!important;font-size:11.5px!important;font-weight:650!important;
    transition:background .14s ease,color .14s ease,box-shadow .14s ease!important;
  }
  .nav button:hover{background:#F5F7FC!important;color:var(--bp-blue)!important}
  .nav button.active{background:#EEF2FF!important;color:var(--bp-blue)!important;box-shadow:inset 3px 0 0 var(--bp-orange)!important}
  .side-bottom{border-top:1px solid #EFF2F7!important;margin-top:16px!important;padding-top:13px!important}
  .side-bottom button{border:1px solid #E0E5EF!important;background:#fff!important;color:var(--bp-blue)!important;border-radius:12px!important;min-height:40px!important}
  .main{padding:20px 28px 42px!important;min-width:0!important}
  .top{position:sticky!important;top:0!important;z-index:90!important;margin:-20px -28px 20px!important;padding:17px 28px 15px!important;background:rgba(246,248,252,.91)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border-bottom:1px solid rgba(232,236,244,.92)!important}
  .top h1{font-size:24px!important;color:var(--bp-blue)!important;letter-spacing:-.025em!important}
  .who{font-size:11px!important;color:var(--bp-muted)!important;margin-top:3px!important}
  .pill{border:1px solid var(--bp-line)!important;background:#fff!important;color:var(--bp-blue)!important;box-shadow:var(--bp-shadow-soft)!important}
}

.card,.dash-panel,.dash-stat-card,.hub-action-card{background:var(--bp-card)!important;border:1px solid var(--bp-line)!important;box-shadow:var(--bp-shadow-soft)!important}
.card{border-radius:var(--bp-r-lg)!important}

/* ---------- DASHBOARD SHARED ---------- */
.dash-welcome{display:none}
.dash-values-banner{position:relative;overflow:hidden;border-radius:var(--bp-r-xl);padding:24px 28px;color:#fff;background:linear-gradient(120deg,#102A73 0%,#344D99 50%,#8C74A8 100%);box-shadow:0 16px 42px rgba(38,54,117,.18);margin-bottom:16px}
.dash-values-banner:before,.dash-values-banner:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.38;pointer-events:none}
.dash-values-banner:before{width:220px;height:220px;right:-42px;bottom:-135px;background:linear-gradient(145deg,#FFB07C,#9277CE)}
.dash-values-banner:after{width:175px;height:175px;right:90px;bottom:-122px;background:linear-gradient(145deg,#6A8CE9,#C7B3D9)}
.dash-values-kicker{position:relative;z-index:2;font-size:10px;letter-spacing:.14em;font-weight:800;opacity:.72;margin-bottom:9px}
.dash-values-banner h3{position:relative;z-index:2;font-size:22px;line-height:1.12;margin:0 0 7px;letter-spacing:-.025em}
.dash-values-banner p{position:relative;z-index:2;margin:0;font-size:12px;opacity:.88}
.dash-values-dots{position:relative;z-index:2;display:flex;gap:5px;margin-top:18px}.dash-values-dots span{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.35)}.dash-values-dots .active{width:16px;border-radius:99px;background:#fff}
.dash-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.dash-stat-card{border-radius:18px;padding:15px 16px;display:flex;align-items:center;gap:11px;min-width:0}
.dash-stat-card>div:last-child{min-width:0}.dash-stat-card span{display:block;font-size:10.5px;color:var(--bp-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-stat-card strong{display:block;margin-top:5px;font-size:16px;color:var(--bp-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-stat-icon{width:34px;height:34px;flex:0 0 auto;border-radius:11px;display:grid;place-items:center}.dash-stat-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.dash-stat-icon.blue{background:#EAF0FF;color:#3861D6}.dash-stat-icon.purple{background:#F2ECFF;color:#8968D4}.dash-stat-icon.teal{background:#E6F8F5;color:#1D9A8F}.dash-stat-icon.orange{background:#FFF0E5;color:#F07E36}
.dash-main-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dash-panel{border-radius:20px;padding:18px}.dash-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.dash-panel-head span{display:block;font-size:10.5px;color:var(--bp-muted)}.dash-panel-head strong{display:block;margin-top:4px;font-size:16px;color:var(--bp-blue)}.dash-status{display:inline-flex!important;align-items:center!important;width:auto!important;padding:5px 9px!important;border-radius:99px!important;background:#F2F4F8!important;color:#707A90!important;font-size:9.5px!important;font-weight:750!important}.dash-status.success{background:#E6F7EF!important;color:#16865A!important}.dash-time-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 14px}.dash-time-row>div{background:#F8F9FC;border:1px solid #EEF1F6;border-radius:13px;padding:11px}.dash-time-row span{display:block;font-size:10px;color:var(--bp-muted)}.dash-time-row strong{display:block;margin-top:4px;font-size:15px}.dash-panel-action{margin-top:12px}.dash-attendance-btn,.dash-coffee-btn{min-height:38px!important;border-radius:12px!important;padding:0 15px!important;font-size:11px!important}.dash-coffee-btn{background:var(--bp-orange)!important;border-color:var(--bp-orange)!important;color:#fff!important}.dash-coffee-panel p{font-size:11.5px;color:var(--bp-muted);margin:15px 0 0}.dash-coffee-icon{width:36px;height:36px;border-radius:12px;background:#FFF0E5;color:var(--bp-orange);display:grid;place-items:center}.dash-coffee-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.dash-people-number{font-size:32px;color:var(--bp-ink);font-weight:750;margin:15px 0}.dash-link{border:0;background:transparent;color:var(--bp-blue);font-size:11px;font-weight:750;padding:0}.dash-link span{margin-left:5px}.dash-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:15px}.dash-quick-grid button{border:1px solid #EDF0F5;background:#FAFBFE;border-radius:13px;min-height:74px;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--bp-ink);font-size:9.5px}.dq-icon{width:28px;height:28px;border-radius:9px;background:#EEF2FF;color:var(--bp-blue);display:grid;place-items:center}.dq-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dash-soft-note{font-size:11px;color:var(--bp-muted)}

/* ---------- HUBS ---------- */
.hub-grid{gap:12px!important}.hub-action-card{border-radius:18px!important;min-height:112px!important}.hub-action-card strong{color:var(--bp-blue)!important}.hub-action-card>span{color:var(--bp-muted)!important}.hub-action-card:hover{border-color:#D9E0F1!important;box-shadow:var(--bp-shadow)!important}

/* ---------- MOBILE APPROVED UI ---------- */
@media(max-width:760px){
  :root{--safe-top:max(env(safe-area-inset-top),8px);--safe-bottom:max(env(safe-area-inset-bottom),8px)}
  html,body{background:#F7F9FD!important;width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body{padding-bottom:calc(82px + var(--safe-bottom))!important}
  .side,aside.side,.sidebar{display:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important}
  .shell{display:block!important;width:100%!important;min-height:100vh!important;background:#F7F9FD!important}
  .main{width:100%!important;min-width:0!important;padding:14px 14px 28px!important}
  .top{display:none!important}

  .mobile-app-header{display:flex!important;position:sticky!important;top:0!important;z-index:1200!important;height:calc(52px + var(--safe-top))!important;padding:var(--safe-top) 16px 7px!important;background:rgba(247,249,253,.93)!important;border-bottom:0!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
  .mobile-app-brand img{display:none!important}.mobile-app-brand .t1{font-size:13px!important;color:var(--bp-blue)!important}.mobile-app-brand .t2{font-size:9.5px!important;color:var(--bp-muted)!important}.mobile-app-header .avatar-pill{width:34px!important;height:34px!important;border-radius:50%!important;background:linear-gradient(145deg,#E8EDFF,#FFF0E7)!important;color:var(--bp-blue)!important;border:2px solid #fff!important;box-shadow:0 5px 15px rgba(29,47,99,.12)!important}

  .mobile-bottom-nav{display:grid!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:1600!important;grid-template-columns:repeat(5,1fr)!important;gap:0!important;padding:7px 8px calc(7px + var(--safe-bottom))!important;border:0!important;border-top:1px solid rgba(226,231,242,.96)!important;border-radius:0!important;background:rgba(255,255,255,.975)!important;box-shadow:0 -7px 24px rgba(31,47,93,.07)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
  .mobile-bottom-nav button{min-height:52px!important;border-radius:13px!important;color:#8C95A9!important;font-size:9px!important;gap:3px!important;padding:4px 2px!important}
  .mobile-bottom-nav button .mi{width:25px!important;height:25px!important;border-radius:9px!important}.mobile-bottom-nav button .mi svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .mobile-bottom-nav button.active{background:transparent!important;color:#2855D7!important}.mobile-bottom-nav button.active .mi{background:#EEF2FF!important;color:#2855D7!important}

  .mobile-more-sheet{align-items:flex-end!important;background:rgba(22,32,61,.28)!important;padding:0!important}.mobile-more-panel{max-height:88vh!important;border-radius:27px 27px 0 0!important;padding:9px 16px calc(22px + var(--safe-bottom))!important;background:#FAFBFE!important;box-shadow:0 -18px 55px rgba(22,33,70,.22)!important}.mobile-more-handle{background:#CDD3E0!important}.mobile-more-title{font-size:20px!important;color:var(--bp-ink)!important;margin:4px 2px 14px!important}.mobile-more-grid{grid-template-columns:1fr!important;gap:8px!important}.mobile-more-item{min-height:65px!important;border:1px solid #E9EDF5!important;border-radius:17px!important;padding:10px 12px!important;background:#fff!important;display:grid!important;grid-template-columns:38px 1fr 18px!important;align-items:center!important;gap:10px!important;box-shadow:0 5px 15px rgba(32,47,89,.04)!important}.more-icon{width:36px;height:36px;border-radius:11px;background:#EEF2FF;color:#2B57D6;display:grid;place-items:center}.more-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.more-copy{min-width:0}.mobile-more-item .more-copy strong{font-size:13px!important;color:var(--bp-ink)!important;margin:0 0 3px!important}.mobile-more-item .more-copy small{font-size:10px!important;color:var(--bp-muted)!important}.more-chevron{font-size:22px;color:#A0A8B9;text-align:right}

  /* Dashboard exact approved visual language */
  .dash-welcome{display:flex!important;justify-content:space-between;align-items:center;padding:4px 3px 13px}.dash-greeting-copy{min-width:0}.dash-eyebrow{display:inline-flex;font-size:9px;font-weight:750;color:#6070A5;background:#EEF2FF;border-radius:99px;padding:5px 8px;margin-bottom:8px}.dash-welcome h2{font-size:24px;line-height:1.06;letter-spacing:-.035em;margin:0;color:#142453}.dash-welcome h2 span{color:#173998}.dash-welcome p{font-size:10px;color:var(--bp-muted);margin:8px 0 0}.dash-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#DCE6FF,#FFE6D7);border:3px solid #fff;box-shadow:0 8px 20px rgba(29,47,99,.13);font-weight:800;color:var(--bp-blue)}
  .dash-values-banner{border-radius:21px!important;padding:20px 18px!important;margin-bottom:13px!important;min-height:142px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}.dash-values-kicker{font-size:8px!important}.dash-values-banner h3{font-size:21px!important;max-width:230px}.dash-values-banner p{font-size:10.5px!important;max-width:225px}.dash-values-banner:before{width:190px;height:190px;right:-55px;bottom:-120px}.dash-values-banner:after{width:145px;height:145px;right:58px;bottom:-105px}
  .dash-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;margin-bottom:12px!important}.dash-stat-card{border-radius:17px!important;padding:12px!important;gap:8px!important;min-height:82px!important}.dash-stat-icon{width:30px!important;height:30px!important;border-radius:10px!important}.dash-stat-icon svg{width:15px!important;height:15px!important}.dash-stat-card span{font-size:9px!important}.dash-stat-card strong{font-size:14px!important;margin-top:4px!important}
  .dash-main-grid{grid-template-columns:1fr!important;gap:10px!important}.dash-panel{border-radius:19px!important;padding:14px!important}.dash-panel-head span{font-size:9px!important}.dash-panel-head strong{font-size:14px!important}.dash-time-row{margin:13px 0 10px!important}.dash-time-row>div{padding:9px!important}.dash-time-row span{font-size:9px!important}.dash-time-row strong{font-size:14px!important}.dash-quick-grid{grid-template-columns:repeat(4,1fr)!important;gap:6px!important}.dash-quick-grid button{min-height:68px!important;border-radius:13px!important;font-size:8.5px!important;padding:6px!important}

  .card{border-radius:19px!important;padding:14px!important;box-shadow:0 8px 24px rgba(23,38,87,.06)!important}.hub-grid{grid-template-columns:1fr!important}.hub-action-card{min-height:88px!important;border-radius:17px!important;padding:14px!important}

  input,select,textarea,button,.btn{border-radius:13px!important}.formgrid{grid-template-columns:1fr!important}
  .table-wrap{overflow:visible!important}.compact-table-cards{display:grid!important;gap:10px!important}.mobile-record-card{border-radius:17px!important;border:1px solid var(--bp-line)!important;box-shadow:var(--bp-shadow-soft)!important;background:#fff!important}
}

/* ---------- LOGIN LOCK ---------- */
.login-page,.login-wrap{background:radial-gradient(circle at 20% 10%,#EEF2FF 0,transparent 35%),radial-gradient(circle at 85% 25%,#FFF1E8 0,transparent 32%),#F9FAFD!important}.login-card{border-radius:28px!important;border:1px solid var(--bp-line)!important;box-shadow:0 22px 60px rgba(29,46,101,.12)!important;background:rgba(255,255,255,.92)!important}.login-card .btn,.login-card button{border-radius:14px!important}

/* ---------- PERFORMANCE / BRAND / PEOPLE / EMPLOYMENT COMMON ---------- */
.tab,.tabs button{border-radius:11px!important}.tabs{background:#F1F4FA!important;border-radius:14px!important;padding:4px!important}.tabs button.active,.tab.active{background:#fff!important;color:#2855D7!important;box-shadow:0 4px 14px rgba(32,49,100,.08)!important}

/* DESIGN LOCK SENTINEL — future feature styles should not override these selectors. */
