*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif;background:#f5f5f3;color:#17181a}.app{min-height:100svh;overflow:hidden}.hero{position:relative;min-height:430px;padding:54px clamp(22px,6vw,72px);display:flex;align-items:flex-end}.hero-bg{position:absolute;inset:0;background:url('assets/banner-office-final.jpg') center/cover no-repeat;filter:saturate(1.08) contrast(1.08) brightness(1.08);transform:scale(1.01)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.38) 46%,rgba(0,0,0,.14) 100%),linear-gradient(0deg,rgba(245,245,243,1) 0%,rgba(245,245,243,0) 28%)}.hero-logo{position:absolute;right:clamp(22px,5vw,70px);top:clamp(20px,4vw,42px);width:clamp(86px,12vw,150px);height:clamp(86px,12vw,150px);object-fit:cover;border-radius:28px;box-shadow:0 22px 55px rgba(0,0,0,.52);z-index:2}.hero-content{position:relative;z-index:2;color:#fff;text-shadow:0 4px 22px rgba(0,0,0,.4)}.eyebrow{font-size:15px;letter-spacing:.08em;text-transform:uppercase;opacity:.82;margin-bottom:12px}.hero h1{font-size:clamp(46px,7vw,82px);line-height:.96;margin:0 0 18px;font-weight:850;letter-spacing:-.06em}.hero p{font-size:clamp(19px,2.6vw,29px);line-height:1.35;margin:0;font-weight:500}.main{max-width:1220px;margin:-86px auto 0;padding:0 24px 46px;position:relative;z-index:4}.glass-card{background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.82);box-shadow:0 20px 70px rgba(16,18,20,.12),inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:28px}.login-card{max-width:520px;margin:0 auto 28px;padding:34px 30px}.login-card h2{text-align:center;margin:0 0 26px;font-size:28px}.field{height:60px;border:1px solid #dedede;background:#fff;border-radius:14px;display:flex;align-items:center;gap:14px;padding:0 16px;margin-bottom:14px;color:#6f7378}.field select,.field input{border:0;outline:0;background:transparent;width:100%;font-size:16px;color:#1b1d20}.field button{border:0;background:transparent;cursor:pointer;font-size:17px}.primary-btn{width:100%;height:58px;border-radius:14px;border:0;background:linear-gradient(135deg,#202225,#0d0e10);color:#fff;font-size:17px;font-weight:750;box-shadow:0 12px 26px rgba(0,0,0,.18);cursor:pointer}.primary-btn:active,.tile:active{transform:scale(.985)}.error{height:18px;margin:12px 0 0;color:#b53131;text-align:center;font-size:14px}.hidden{display:none!important}.dashboard{padding:34px 38px 42px}.dash-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px}.small-title{font-size:18px;color:#74787e;margin-bottom:8px}.dash-head h2{font-size:36px;letter-spacing:-.04em;margin:0;color:#c2873f}.ghost-btn{height:46px;padding:0 18px;border-radius:12px;border:1px solid #ddd;background:#fff;color:#1e2023;font-weight:650;cursor:pointer}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.tile{min-height:142px;border:1px solid #e6e6e2;background:rgba(255,255,255,.78);border-radius:18px;padding:22px 20px;text-decoration:none;color:#181a1d;display:grid;grid-template-columns:70px 1fr 22px;gap:18px;align-items:center;box-shadow:0 12px 30px rgba(10,10,10,.06);transition:.18s ease}.tile:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(10,10,10,.1)}.tile-icon{width:70px;height:70px;border-radius:14px;background:linear-gradient(145deg,#303236,#101113);display:grid;place-items:center;font-size:33px;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 10px 24px rgba(0,0,0,.13)}.tile-title{font-size:18px;font-weight:800;line-height:1.16;margin-bottom:8px}.tile-sub{font-size:15px;color:#6b7077;line-height:1.35}.arrow{font-size:28px;color:#8c8f95}footer{text-align:center;color:#7a7d82;padding:0 20px 34px;font-size:14px}@media(max-width:860px){.hero{min-height:420px;padding:34px 24px 88px;align-items:flex-end;border-bottom-left-radius:28px;border-bottom-right-radius:28px;overflow:hidden}.hero-logo{width:76px;height:76px;border-radius:20px}.hero h1{font-size:43px}.hero p{font-size:18px}.eyebrow{font-size:12px}.main{margin:-70px auto 0;padding:0 14px 34px}.login-card{padding:24px 18px;border-radius:22px}.login-card h2{font-size:22px}.dashboard{padding:22px 14px 26px;border-radius:22px}.dash-head h2{font-size:28px}.dash-head{align-items:center;margin-bottom:18px}.small-title{font-size:15px}.ghost-btn{height:40px;padding:0 13px}.tiles{grid-template-columns:1fr;gap:12px}.tile{min-height:92px;grid-template-columns:54px 1fr 18px;gap:14px;padding:14px;border-radius:16px}.tile-icon{width:54px;height:54px;border-radius:12px;font-size:25px}.tile-title{font-size:16px;margin-bottom:4px}.tile-sub{font-size:13.5px}.arrow{font-size:22px}}@media(min-width:861px) and (max-width:1080px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(display-mode:standalone){body{background:#f5f5f3}.hero{padding-top:calc(34px + env(safe-area-inset-top))}}


/* Portal layout fix v9.1 */
#dashboard, .dashboard {
  position: relative;
  z-index: 10;
  margin-top: clamp(46px, 8vh, 110px) !important;
}
#loginCard, .login-card {
  position: relative;
  z-index: 10;
  margin-top: clamp(46px, 8vh, 110px) !important;
}
.hero, .banner, header {
  min-height: 560px;
}
.tile { cursor: pointer; }
@media (max-width: 900px) {
  #dashboard, .dashboard, #loginCard, .login-card {
    margin-top: 32px !important;
  }
  .hero, .banner, header {
    min-height: 500px;
  }
}


/* Portal final fix v9.3 */
#dashboard, .dashboard {
  position: relative;
  z-index: 10;
  margin-top: clamp(46px, 8vh, 110px) !important;
}
#loginCard, .login-card {
  position: relative;
  z-index: 10;
  margin-top: clamp(46px, 8vh, 110px) !important;
}
.hero, .banner, header {
  min-height: 560px;
}
.tile { cursor: pointer; }
@media (max-width: 900px) {
  #dashboard, .dashboard, #loginCard, .login-card { margin-top: 32px !important; }
  .hero, .banner, header { min-height: 500px; }
}
