/* DdakLab R77 platform UI — restrained B2B product system */
:root{
  --r77-blue:#6b46c1;--r77-blue-700:#53349b;--r77-navy:#1f143b;--r77-ink:#20143d;
  --r77-text:#2f244a;--r77-muted:#695e82;--r77-line:#e2dcf0;--r77-bg:#f7f5fc;
  --r77-surface:#FFFFFF;--r77-soft:#f1ebfb;--r77-success:#087A55;--r77-warning:#9A5B00;--r77-danger:#B42318;
  --r77-radius:14px;--r77-shadow:0 8px 28px rgba(38,24,70,.08);--r77-focus:0 0 0 3px rgba(109,72,194,.22);
}
html.r77-ui{color-scheme:light;scroll-behavior:smooth;background:var(--r77-bg)}
html.r77-ui body{background:var(--r77-bg);color:var(--r77-text);font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",system-ui,-apple-system,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
html.r77-ui *,html.r77-ui *::before,html.r77-ui *::after{box-sizing:border-box}
html.r77-ui a{color:var(--r77-blue-700);text-underline-offset:3px}
html.r77-ui :focus-visible{outline:0;box-shadow:var(--r77-focus);border-radius:6px}
html.r77-ui button,html.r77-ui input,html.r77-ui select,html.r77-ui textarea{font:inherit}
html.r77-ui button,html.r77-ui [role="button"],html.r77-ui .btn{min-height:42px;border-radius:10px;font-weight:700;letter-spacing:-.01em;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
html.r77-ui button:hover,html.r77-ui [role="button"]:hover,html.r77-ui .btn:hover{transform:translateY(-1px)}
html.r77-ui .btn-primary,html.r77-ui button.primary,html.r77-ui [data-variant="primary"]{background:var(--r77-blue)!important;color:#fff!important;border-color:var(--r77-blue)!important;box-shadow:0 6px 16px rgba(109,72,194,.18)}
html.r77-ui .btn-primary:hover,html.r77-ui button.primary:hover{background:var(--r77-blue-700)!important}
html.r77-ui .card,html.r77-ui .panel{border-color:var(--r77-line);box-shadow:none}
html.r77-ui .r77-elevated{background:var(--r77-surface);border:1px solid var(--r77-line);border-radius:var(--r77-radius);box-shadow:var(--r77-shadow)}
html.r77-ui table{border-collapse:separate;border-spacing:0;width:100%;font-variant-numeric:tabular-nums}
html.r77-ui th{color:var(--r77-muted);font-size:.84rem;font-weight:700;background:#faf8fd}
html.r77-ui th,html.r77-ui td{border-bottom:1px solid var(--r77-line);padding:12px 14px;text-align:left;vertical-align:middle}
html.r77-ui input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),html.r77-ui select,html.r77-ui textarea{border:1px solid #d1c9e3;border-radius:10px;background:#fff;color:var(--r77-ink);min-height:42px}
html.r77-ui input::placeholder,html.r77-ui textarea::placeholder{color:#8d83a4}
html.r77-ui .badge{font-weight:700;letter-spacing:-.01em}
html.r77-ui .r77-skip{position:fixed;left:12px;top:-80px;z-index:99999;padding:10px 14px;background:#fff;color:var(--r77-navy);border:2px solid var(--r77-blue);border-radius:8px}
html.r77-ui .r77-skip:focus{top:12px}
html.r77-ui .r77-platform-map{margin:72px auto 0;max-width:1200px;padding:42px clamp(20px,4vw,48px);background:var(--r77-navy);color:#fff;border-radius:24px}
html.r77-ui .r77-platform-map h2{margin:0 0 10px;font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:-.045em;color:#fff}
html.r77-ui .r77-platform-map>p{margin:0;color:#d2c8ea;max-width:720px;line-height:1.7}
html.r77-ui .r77-platform-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}
html.r77-ui .r77-platform-link{display:block;padding:20px;min-height:150px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.06);color:#fff;text-decoration:none}
html.r77-ui .r77-platform-link:hover{background:rgba(255,255,255,.11);transform:translateY(-2px)}
html.r77-ui .r77-platform-link strong{display:block;font-size:1.05rem;margin-bottom:8px;color:#fff}
html.r77-ui .r77-platform-link span{display:block;color:#d2c8ea;font-size:.92rem;line-height:1.55}
html.r77-ui.r77-advertiser [class*="sidebar"],html.r77-ui.r77-admin [class*="sidebar"],html.r77-ui.r77-partner [class*="sidebar"]{background:var(--r77-navy);color:#efebf8}
html.r77-ui.r77-advertiser main,html.r77-ui.r77-admin main,html.r77-ui.r77-partner main{min-width:0}
html.r77-ui .r77-table-wrap{overflow:auto;max-width:100%;-webkit-overflow-scrolling:touch}
@media(max-width:1024px){
 html.r77-ui .r77-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 html.r77-ui [class*="kpi-grid"],html.r77-ui [class*="metric-grid"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:720px){
 html.r77-ui body{font-size:15px}
 html.r77-ui .r77-platform-map{margin:42px 14px 0;padding:28px 20px;border-radius:18px}
 html.r77-ui .r77-platform-grid{grid-template-columns:1fr}
 html.r77-ui .r77-platform-link{min-height:auto}
 html.r77-ui button,html.r77-ui [role="button"],html.r77-ui .btn{min-height:46px}
 html.r77-ui [class*="kpi-grid"],html.r77-ui [class*="metric-grid"],html.r77-ui [class*="form-grid"],html.r77-ui [class*="two-column"]{grid-template-columns:1fr!important}
 html.r77-ui .modal,html.r77-ui [role="dialog"]{max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;overflow:auto}
 html.r77-ui main{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:calc(92px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){html.r77-ui *,html.r77-ui *::before,html.r77-ui *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

html.r77-ui input[type="checkbox"],html.r77-ui input[type="radio"]{accent-color:var(--r77-blue)}
html.r77-ui [hidden]{display:none!important}
html.r77-ui td{overflow-wrap:anywhere}
html.r77-ui .r77-table-wrap:focus-visible{outline:2px solid var(--r77-blue);outline-offset:2px}
