/* KIPIC SAFE POLISH — stable, non-destructive visual refinement */
:root{
  --ui-bg:#f6f7f9;
  --ui-card:#ffffff;
  --ui-line:#e6e9ef;
  --ui-shadow:0 10px 30px rgba(24,34,54,.055),0 1px 3px rgba(24,34,54,.035);
  --ui-shadow-soft:0 5px 18px rgba(24,34,54,.04);
  --ui-pink:#d74d80;
  --ui-pink-soft:#fff5f8;
  --ui-navy:#16264b;
}

html,body{max-width:100%;overflow-x:hidden}
body{background:var(--ui-bg)}
img{max-width:100%}

/* Home: keep the original layout, only refine rhythm and brand placement */
.page{padding-top:20px}
.header{min-height:78px;padding:4px 0 10px}
.logo{
  display:inline-flex;
  align-items:center;
  gap:11px;
  padding:7px 12px 7px 9px;
  border:1px solid #efdbe3;
  border-radius:16px;
  background:linear-gradient(180deg,#f7d7e2,#f3cad9);
  box-shadow:0 5px 16px rgba(107,38,67,.06);
}
.logo img{
  display:block;
  width:auto!important;
  height:54px!important;
  object-fit:contain!important;
  border-radius:10px;
}
.logo::after{
  content:"PARTNER COUPON";
  display:block;
  padding-left:11px;
  border-left:1px solid rgba(126,62,87,.18);
  color:#7c4057;
  font-size:9px;
  font-weight:900;
  line-height:1.25;
  letter-spacing:.14em;
  white-space:nowrap;
}
.hero{padding-top:18px}
.hero h1{letter-spacing:-.05em}
.grid{margin-top:26px}
.card.store,.card.customer{box-shadow:var(--ui-shadow-soft)}
.card.store{border-color:#efbfd1}
.card.customer{border-color:#c4d5f7}
.feature{box-shadow:0 2px 8px rgba(29,42,70,.025)}
.action{transition:transform .16s ease,box-shadow .16s ease}
.action:hover{transform:translateY(-1px)}
.store .action:hover{box-shadow:0 16px 30px rgba(216,79,130,.2)}
.customer .action:hover{box-shadow:0 10px 22px rgba(25,70,145,.07)}

/* Shared portal brand: compact, legible, no stretching/cropping */
.portal-nav{
  padding:12px 15px;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 5px 20px rgba(24,34,54,.035);
}
.portal-brand{gap:12px}
.portal-brand img{
  width:92px!important;
  height:54px!important;
  padding:4px 6px;
  object-fit:contain!important;
  object-position:center!important;
  border:1px solid #ecd7df!important;
  border-radius:12px!important;
  background:#efc5d5!important;
}
.portal-brand-copy strong{font-size:15px}
.portal-brand-copy span{margin-top:3px;letter-spacing:.09em}

/* Shared surfaces */
.card,.panel,.partner-section,.section-card,.mini-panel{
  border-color:var(--ui-line);
}
.card,.panel,.partner-section{box-shadow:var(--ui-shadow-soft)}
button,.btn,input,select,textarea{max-width:100%}
button,.btn{font-weight:800}
input,select,textarea{background:#fff}
.table-wrap,.summary-table{box-shadow:none}

/* Admin: remove the oversized logo-block feeling while preserving the dashboard grid */
.admin-page{background:var(--ui-bg)}
.admin-shell{background:var(--ui-bg)}
.admin-sidebar{background:#fff;border-right-color:#e6e9ef}
.sidebar-brand{
  height:auto!important;
  min-height:70px;
  margin:0 0 7px!important;
  padding:7px 8px!important;
  border:1px solid #efdce4;
  border-radius:15px;
  background:linear-gradient(180deg,#f7d7e2,#f2c9d8);
}
.sidebar-brand img{
  width:112px!important;
  height:58px!important;
  padding:2px 4px;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
}
.sidebar-title{padding-top:9px}
.admin-topbar h1{font-weight:850}
.dashboard-grid .metric{box-shadow:0 4px 14px rgba(24,34,54,.025)}
.section-card{box-shadow:0 6px 22px rgba(24,34,54,.03)}
.partner-card,.coupon-card{box-shadow:none}
.partner-card:hover,.coupon-card:hover{box-shadow:0 6px 18px rgba(24,34,54,.045)}

/* Admin login: keep split-layout but make the logo feel intentionally placed */
.login-overlay .login-brand{
  padding:64px;
  background:linear-gradient(145deg,#f3c8d7 0%,#e9aec3 52%,#dc83a5 100%);
}
.login-overlay .login-brand img{
  width:min(390px,82%)!important;
  max-height:280px;
  object-fit:contain!important;
  border-radius:26px;
  box-shadow:0 22px 48px rgba(93,35,58,.10);
}

/* Partner page */
.partner-shell{padding-top:20px}
.partner-login{background:#fff}
.partner-section{border-radius:19px}
.partner-tabs{box-shadow:0 4px 16px rgba(24,34,54,.025)}
.stock-panel{background:linear-gradient(155deg,#fff,#fff9fb)}

/* Customer / claim pages */
.portal-card,.wallet-card,.coupon-box{border-color:var(--ui-line)}
.portal-head,.portal-hero{max-width:100%}
.lightbox-panel img{max-width:min(1020px,92vw);max-height:84vh;object-fit:contain}

@media(max-width:900px){
  .page{padding-top:13px}
  .logo{padding:5px 9px}
  .logo img{height:48px!important}
  .logo::after{display:none}
  .sidebar-brand{display:inline-flex;width:auto;min-height:0}
  .sidebar-brand img{width:98px!important;height:50px!important}
  .portal-nav{border-radius:15px}
}
@media(max-width:640px){
  .header{min-height:62px}
  .logo{border-radius:13px}
  .logo img{height:43px!important}
  .card.store,.card.customer{box-shadow:0 5px 16px rgba(24,34,54,.03)}
  .portal-nav{padding:10px 11px}
  .portal-brand img{width:78px!important;height:46px!important}
  .portal-brand-copy span{white-space:normal}
  .login-overlay>.card{width:min(100%,calc(100% - 22px))}
}
