:root{--font-body:"Pretendard Variable", "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-display:"IBM Plex Sans KR", "Pretendard Variable", "Pretendard", "Noto Sans KR", sans-serif;--background:#f3efe7;--surface:#fbf8f2;--surface-strong:#fffdf8;--border:#362c201f;--foreground:#211910;--muted:#685c4c;--accent:#2b4a40;--accent-strong:#1f342d;--accent-soft:#2b4a4014;--warning-soft:#aa7e2c1a;--shadow:0 14px 34px #2015090e;--shadow-soft:0 2px 8px #2015090b;--page-max:1520px;--content-max:1040px;--page-gutter:clamp(24px, 4vw, 72px);--home-shell-width:min(var(--content-max), calc(100% - (var(--page-gutter) * 2)));--home-background:radial-gradient(circle at 14% -10rem, #ffffffb8, transparent 28rem), linear-gradient(180deg, #f8f4eb 0%, var(--background) 22rem)}html{scrollbar-gutter:stable;min-height:100%}:is(html:has(.login-public-frame),body:has(.login-public-frame),html:has(.public-login-frame),body:has(.public-login-frame)){scrollbar-gutter:auto;scrollbar-width:none}html:has(.login-public-frame)::-webkit-scrollbar{width:0;height:0}body:has(.login-public-frame)::-webkit-scrollbar{width:0;height:0}html:has(.public-login-frame)::-webkit-scrollbar{width:0;height:0}body:has(.public-login-frame)::-webkit-scrollbar{width:0;height:0}html,body{max-width:100%;overflow-x:hidden}body{min-height:100svh;color:var(--foreground);background:var(--home-background);font-family:var(--font-body), sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-break:keep-all;overflow-wrap:normal;flex-direction:column;line-height:1.5;display:flex}:is(body:has(.admin-console),body:has(.gtm-console)){background:var(--background)}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}input,textarea,select{color:inherit}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8f4ebdb;flex:none;position:static}:is(body:has(.login-screen) .topbar,body:has(.admin-public-page) .topbar,body:has(.public-legal-page) .topbar){display:none}.topbar__inner{width:min(var(--content-max), calc(100% - (var(--page-gutter) * 2)));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:0 auto;padding:16px 0;display:grid}:is(body:has(.dashboard-monitor) .topbar__inner,body:has(.gtm-home) .topbar__inner){width:var(--home-shell-width)}.topbar__brand-group{grid-column:1;align-items:center;min-width:0;display:flex}.topbar__brand{font-family:var(--font-display), sans-serif;letter-spacing:-.018em;font-size:1.03rem;font-weight:850;line-height:1.12}.topbar__brand-link{cursor:pointer;background:#fffdf8db;border:1px solid #2b4a402e;border-radius:12px;justify-content:center;align-items:center;gap:9px;width:42px;min-height:42px;padding:0;transition:background .14s,border-color .14s,box-shadow .14s,transform .14s;display:inline-flex;box-shadow:inset 0 1px #ffffffdb,0 3px 10px #2015090b}.topbar__brand-link:hover{background:#fffdf8;border-color:#2b4a4052;transform:translateY(-1px);box-shadow:inset 0 1px #ffffffe6,0 6px 16px #20150913}.topbar__brand-link:active{transform:translateY(0)}.topbar__home-icon{width:22px;height:22px;color:var(--accent-strong);fill:currentColor;display:block}.topbar__brand-link:focus-visible,.topbar__nav a:focus-visible,.topbar__identity:focus-visible,.button:focus-visible{outline-offset:3px;outline:3px solid #2b4a403d}.topbar__sub{color:var(--muted);margin-top:4px;font-size:.88rem}.topbar__nav{min-width:0;color:var(--muted);scrollbar-width:none;flex-wrap:nowrap;grid-column:2;gap:6px;padding:2px;font-size:.88rem;font-weight:600;display:flex;overflow-x:auto}.topbar__nav::-webkit-scrollbar{display:none}.topbar__nav a{white-space:nowrap;border:1px solid #0000;border-radius:999px;flex:none;justify-content:center;place-items:center;min-height:36px;padding:0 11px;transition:background-color .16s,border-color .16s,color .16s;display:inline-grid}.topbar__nav a>span,.topbar__nav a:after{grid-area:1/1}.topbar__nav a:after{content:attr(data-label);visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;height:0;font-weight:800;overflow:hidden}.topbar__nav a:hover{border-color:var(--border);color:var(--foreground);background:#fffdf9f5}.topbar__nav a.is-active{background:var(--accent);color:#fffdf8;border-color:#2b4a4042;font-weight:800}.topbar__nav a.is-active:hover{background:var(--accent-strong);color:#fffdf8;border-color:#2b4a4057}.topbar__controls{grid-column:3;justify-self:end;align-items:center;gap:16px;display:flex}.topbar__auth{align-items:center;gap:12px;display:flex}.topbar__identity{text-align:center;background:#fffdf894;border:1px solid #2b4a4029;border-radius:999px;justify-content:center;align-items:center;max-width:min(42vw,360px);min-height:34px;padding:0 12px;transition:background .14s,border-color .14s,color .14s,transform .14s;display:inline-flex;box-shadow:inset 0 1px #ffffffad}.topbar__identity:hover{color:var(--accent-strong);background:#fffdf8f5;border-color:#2b4a404d;transform:translateY(-1px)}.topbar__identity:active{transform:translateY(0)}.topbar__identity span{color:var(--foreground);overflow-wrap:anywhere;font-size:.88rem;font-weight:650;line-height:1.3}@media (max-width:860px){.topbar__inner{grid-template-columns:1fr;align-items:flex-start}.topbar__brand-group,.topbar__nav,.topbar__controls,.topbar__auth{grid-column:1;width:100%}.topbar__controls,.topbar__auth{flex-direction:column;align-items:flex-start}.topbar__brand-group{justify-content:space-between;width:100%}.topbar__identity{text-align:left;max-width:100%}}@media (max-width:1180px){:root{--home-shell-width:min(var(--content-max), calc(100% - 40px))}}@media (max-width:640px){:root{--page-gutter:12px;--home-shell-width:min(var(--content-max), calc(100% - 24px))}.topbar__inner{width:calc(100% - 24px)}}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body:has(.floor-console){background:var(--background)}body:has(.login-screen){background:var(--surface-strong)}:is(body:has(.login-screen) .topbar,body:has(.login-screen) .public-footer){display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button{min-height:44px;color:inherit;cursor:pointer;letter-spacing:-.01em;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;font-weight:800;transition:opacity .18s,background-color .18s,border-color .18s,color .18s,box-shadow .18s,transform .18s;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.5}.button.is-pending,.button[aria-busy=true]{cursor:progress;opacity:.82}.form-submit-button__content{place-items:center;display:grid}.form-submit-button__measure,.form-submit-button__visible{grid-area:1/1}.form-submit-button__measure{visibility:hidden}.form-submit-button__visible{justify-content:center;align-items:center;display:inline-flex}.button--primary{background:var(--accent);color:#f8f5ef;box-shadow:0 8px 18px #1f342d24}.button--ghost{border-color:var(--border);color:var(--foreground);background:#fffcf8b8}.button:hover:not(:disabled){transform:translateY(-1px)}.button--small{border-radius:9px;min-height:36px;padding:0 12px;font-size:.88rem}.floor-console{width:min(var(--content-max), calc(100% - (var(--page-gutter) * 2)));flex:1 0 auto;grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;min-width:0;margin:0 auto;padding:28px 0 72px;display:grid}.floor-page__header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px 20px;padding:4px 0 2px;display:grid}.floor-page__header h1{font-family:var(--font-display), sans-serif;letter-spacing:-.045em;text-wrap:balance;max-width:22ch;font-size:clamp(1.7rem,2.2vw,2.28rem);line-height:1.18}.floor-page__description{max-width:52ch;color:var(--muted);margin-top:12px;font-size:.92rem;line-height:1.58}.dashboard-panel{border:1px solid var(--border);background:var(--surface-strong);min-width:0;box-shadow:var(--shadow);border-radius:20px;padding:22px}.dashboard-panel__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.dashboard-panel__header h2{text-wrap:balance;max-width:24ch;font-size:1.02rem;line-height:1.34}.dashboard-panel p{color:var(--muted);font-size:.88rem;line-height:1.55}.floor-section{gap:16px;display:grid}.floor-section--empty,.floor-section--error{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:20px;padding:22px;line-height:1.6}.floor-section--error{color:#8d2c20;background:#a02f210f;border-color:#a02f2138}.floor-section--empty p:first-child{color:var(--foreground);font-weight:700}.floor-section__hint a{color:var(--accent);text-underline-offset:3px;font-weight:700;text-decoration:underline}.floor-date-nav,.floor-date-range{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.floor-date-nav__field input,.floor-date-range__field input{border:1px solid var(--border);min-height:36px;color:var(--foreground);background:#fffcf8eb;border-radius:9px;padding:0 12px;font-size:.92rem}.floor-date-nav__field input:focus-visible,.floor-date-range__field input:focus-visible,.floor-chip:focus-visible,.floor-table a:focus-visible{outline-offset:3px;outline:3px solid #2b4a403d}.floor-filters{gap:10px;display:grid}.floor-filters__row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.floor-filters__label{min-width:56px;color:var(--muted);font-size:.84rem;font-weight:700}.floor-chips{flex-wrap:wrap;gap:6px;display:flex}.floor-chip{border:1px solid var(--border);min-height:36px;color:var(--muted);white-space:nowrap;background:#fffcf8f5;border-radius:999px;align-items:center;padding:0 12px;font-size:.86rem;font-weight:600;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.floor-chip:hover{color:var(--foreground);border-color:#2b4a4042}.floor-chip.is-active{background:var(--accent);color:#fffdf8;border-color:#2b4a4042;font-weight:800}.floor-summary{grid-template-columns:repeat(auto-fit,minmax(176px,1fr));gap:10px;display:grid}.floor-summary__tile{min-width:0;box-shadow:var(--shadow-soft);background:#fffdf8b8;border:1px solid #362c2014;border-radius:16px;gap:6px;padding:16px 18px;display:grid}.floor-summary__label{color:var(--muted);font-size:.8rem;font-weight:700}.floor-summary__value{font-family:var(--font-display), sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:1.36rem;line-height:1.1}.floor-summary__note{color:var(--muted);font-size:.8rem;line-height:1.45}.floor-table-wrap{min-width:0;overflow-x:auto}.simple-table{border-collapse:collapse;width:100%}.simple-table th,.simple-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #41301d14;padding:11px 10px}.simple-table th{color:var(--muted);letter-spacing:.02em;white-space:nowrap;font-size:.76rem}.simple-table td{font-size:.93rem;line-height:1.45}.floor-table tbody th{color:var(--foreground);letter-spacing:0;font-size:.93rem;font-weight:700}.floor-table tbody tr:last-child th,.floor-table tbody tr:last-child td{border-bottom:0}.floor-table__num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.floor-table th.floor-table__num{text-align:right}.floor-table__num>span+.floor-delta,.floor-table__num>strong+.floor-delta{display:block}.floor-table tr.is-quiet td,.floor-table tr.is-quiet th{color:var(--muted)}.floor-table__group-row th,.floor-table__group-row td{color:var(--accent-strong);letter-spacing:.02em;border-bottom:1px solid #41301d24;padding-top:16px;font-size:.8rem;font-weight:800}.floor-table__group+.floor-table__group .floor-table__group-row th,.floor-table__group+.floor-table__group .floor-table__group-row td{padding-top:22px}.floor-table__menu{white-space:normal;overflow-wrap:anywhere;min-width:180px}.floor-table__menu small{color:var(--muted);margin-top:2px;font-size:.74rem;font-weight:600;display:block}.floor-table--compare th:first-child,.floor-table--hours th:first-child,.floor-table--trend th:first-child{white-space:nowrap}.floor-table--trend tbody th a{color:var(--accent);font-weight:700}.floor-table--trend tbody th a:hover{text-underline-offset:3px;text-decoration:underline}.floor-delta{color:var(--muted);font-size:.78rem;font-weight:700}.floor-delta--up{color:var(--accent-strong)}.floor-delta--down{color:#8d2c20}.floor-bar{vertical-align:middle;background:#2b4a4014;border-radius:999px;width:min(160px,40vw);height:10px;margin-right:10px;display:inline-block;overflow:hidden}.floor-bar__fill{border-radius:inherit;background:var(--accent);height:100%;display:block}.floor-bar__value{font-variant-numeric:tabular-nums;white-space:nowrap}.floor-table--heatmap th.floor-table__num,.floor-table--heatmap td.floor-heat{text-align:center;min-width:58px}.floor-heat{color:var(--foreground);font-weight:600}.floor-heat__zero{color:#685c4c73}.floor-console--loading{min-height:60svh}.floor-section--loading{min-height:260px}.skeleton-list{gap:12px;display:grid}.skeleton-row{background:#fffcf6b8;border:1px solid #41301d14;border-radius:16px;gap:10px;min-height:74px;padding:16px 18px;display:grid}.skeleton-line{background:#2b4a4014;border-radius:999px;width:min(420px,72%);height:12px;display:block}.skeleton-line--strong{background:#2b4a401f;width:min(260px,48%);height:16px}.state-page{min-height:0;padding:var(--page-gutter);flex:1 0 auto;place-items:center;display:grid}.state-panel{border:1px solid var(--border);width:min(580px,100%);box-shadow:var(--shadow);text-align:center;background:#fffdf8eb;border-radius:20px;justify-items:center;gap:18px;padding:36px;display:grid}.state-panel h1{font-family:var(--font-display), sans-serif;font-size:clamp(1.5rem,5vw,2.1rem)}.state-panel p{color:var(--muted);line-height:1.7}.public-login-frame{background:var(--surface-strong);min-height:100svh;overflow-x:clip}.login-screen{width:100vw;max-width:100vw;min-height:100svh;padding:var(--page-gutter);background:linear-gradient(90deg,#0e0a07b8,#0e0a0747 54%,#0e0a071f),url(/images/login-background.jpg) 50%/cover no-repeat;place-items:center;display:grid;position:relative;overflow:hidden}.login-screen__content{z-index:1;justify-items:center;width:min(760px,100%);display:grid;position:relative;transform:translateY(clamp(-96px,-8vh,-56px))}.login-screen__workspace{justify-items:center;gap:72px;width:100%;display:grid}.login-shortcuts{grid-auto-columns:minmax(72px,88px);grid-auto-flow:column;justify-content:center;gap:12px;width:min(584px,100%);display:grid}.login-shortcuts__item{color:#fffdf8;text-align:center;text-shadow:0 1px 8px #0000008c;justify-items:center;gap:10px;min-width:0;font-size:.82rem;font-weight:800;line-height:1.25;display:grid}.login-shortcuts__badge{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fffdf8;background:#fffdf847;border:1px solid #fffdf86b;border-radius:18px;place-items:center;width:58px;height:58px;transition:background .14s,border-color .14s,transform .14s;display:inline-grid;box-shadow:inset 0 1px #ffffff47,0 16px 38px #00000042}.login-shortcuts__icon{object-fit:contain;border-radius:8px;width:30px;height:30px}.login-shortcuts__label{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-overflow:ellipsis;white-space:nowrap;background:#0e0a0757;border:1px solid #fffdf829;border-radius:999px;max-width:94px;padding:4px 8px 5px;overflow:hidden}.login-shortcuts__item:hover .login-shortcuts__badge{background:#fffdf86b;border-color:#fffdf89e;transform:translateY(-2px)}.login-screen__form{justify-items:center;display:grid}.google-signin-button{color:#1f1f1f;cursor:pointer;min-width:292px;min-height:52px;font-family:Roboto, var(--font-body), sans-serif;background:#fff;border:1px solid #747775;border-radius:26px;justify-content:center;align-items:center;gap:12px;padding:0 18px 0 16px;font-size:1rem;font-weight:600;line-height:1;transition:background .14s,border-color .14s,box-shadow .14s,transform .14s;display:inline-flex;box-shadow:0 18px 42px #00000038}.google-signin-button:hover:not(:disabled){background:#f8fafd;border-color:#1f1f1f;transform:translateY(-1px);box-shadow:0 20px 46px #00000047}.google-signin-button:active:not(:disabled){background:#f1f3f4;transform:translateY(0)}.google-signin-button:disabled{cursor:progress;opacity:.82}.google-signin-button:focus-visible,.login-shortcuts__item:focus-visible{outline-offset:4px;outline:3px solid #fffdf875}.google-signin-button__icon{flex:none;width:20px;height:20px}.google-signin-button .form-submit-button__visible{gap:12px}.google-signin-button.login-screen__return-link{background:var(--accent-strong);color:#fffdf8;border-color:#fffdf885;text-decoration:none;box-shadow:inset 0 1px #ffffff38,0 18px 42px #0000005c}.google-signin-button.login-screen__return-link:hover{background:var(--accent);border-color:#fffdf8b8;box-shadow:inset 0 1px #ffffff3d,0 20px 46px #0006}.google-signin-button.login-screen__return-link:active{background:#1c2f29}.login-screen__error{color:#fffdf8;text-align:center;background:#32100cad;border:1px solid #fffdf852;border-radius:12px;gap:4px;max-width:min(420px,100% - 48px);margin-top:-48px;padding:12px 14px;display:grid;box-shadow:0 18px 44px #00000038}.login-screen__error span{color:#fffdf8d1;font-size:.88rem}.public-footer{background:var(--surface-strong);color:var(--muted);border-top:1px solid #362c201a}.public-footer__inner{width:min(var(--content-max), calc(100% - (var(--page-gutter) * 2)));justify-content:space-between;align-items:center;gap:18px;min-height:72px;margin:0 auto;font-size:.93rem;display:flex}.public-footer__copyright{color:#685c4ce6}@media (max-width:860px){.floor-page__header{grid-template-columns:1fr}.floor-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.floor-console{padding-top:18px}.floor-summary{grid-template-columns:1fr}.floor-bar{width:min(120px,32vw)}.login-screen__workspace{gap:48px}.public-footer__inner{flex-direction:column;justify-content:center;align-items:flex-start;padding:16px 0}}@media (prefers-reduced-motion:reduce){.button,.floor-chip,.google-signin-button,.login-shortcuts__badge{transition:none}.button:hover:not(:disabled),.google-signin-button:hover:not(:disabled),.login-shortcuts__item:hover .login-shortcuts__badge{transform:none}}
