@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');*{box-sizing:border-box}body{margin:0;background:#f6f8fb;color:#142337;font-family:'DM Sans','Noto Sans KR',sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.layout{display:flex;min-height:100vh}.sidebar{width:248px;min-width:248px;background:#122c3a;color:#d4e1e5;padding:32px 16px 25px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 12px 50px;font-size:21px;font-weight:800;letter-spacing:-.8px;color:white}.brand small{display:block;font-size:8px;font-weight:600;letter-spacing:1.3px;color:#8ca7ad;margin-top:3px}.mark{display:grid;place-items:center;background:#b6eee6;color:#102c38;width:39px;height:39px;border-radius:11px;font-size:24px;letter-spacing:-3px}.mark span{font-size:15px}.sidebar-section{font-size:10px;letter-spacing:1.5px;color:#6e94a0;font-weight:800;margin:0 14px 12px}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-bottom:29px}.nav{display:flex;align-items:center;gap:15px;text-align:left;background:transparent;color:#b8cbd1;border:0;width:100%;padding:13px 15px;border-radius:10px;font-weight:600}.nav:hover,.nav.active{background:#294958;color:#fff}.nav.active{box-shadow:inset 3px 0 0 #b6eee6}.bottom{margin-top:auto;display:flex;gap:9px;align-items:center;border-top:1px solid #31505c;padding:20px 10px 0}.bottom b{display:block;font-size:11px;color:#e5f1f3}.bottom small{display:block;color:#89a9b1;font-size:10px;margin-top:3px}.mini-dot{height:9px;width:9px;border-radius:50%;background:#74d5b0}main{min-width:0;flex:1;max-width:1700px;margin:auto}header{height:79px;border-bottom:1px solid #e7ecf0;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 44px}.crumb{font-size:13px;font-weight:800;color:#526576}.crumb span:first-child{margin:0 10px;color:#b9c4ce}.header-actions{display:flex;align-items:center;gap:18px}.demo-pill{font-size:11px;background:#ecf8f4;border:1px solid #d2eee2;padding:7px 12px;border-radius:20px;color:#2d795e;font-weight:700}.avatar{background:#e7eef3;color:#345469;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:11px}.view{padding:46px 44px 65px}.hidden{display:none!important}.eyebrow{font-size:11px;color:#258a81;letter-spacing:2.3px;font-weight:800;margin-bottom:14px}.heading{margin-bottom:33px}.heading h1{font-size:34px;margin:0 0 10px;letter-spacing:-1.4px;font-weight:800}.heading p,.panel p{color:#7a8897;margin:0;line-height:1.9}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat,.panel{background:white;border:1px solid #e8edf1;border-radius:14px}.stat{padding:23px 21px;min-height:150px}.stat span{display:block;color:#7c8c9e;font-size:12px;font-weight:600}.stat strong{display:block;font-size:30px;font-weight:800;letter-spacing:-1.3px;margin:14px 0 5px}.stat strong em{font-size:13px;font-style:normal;margin-left:4px;color:#8795a1}.stat small{color:#9aa5b0;font-size:11px}.stat.accent{background:#163946;color:#fff;border-color:#163946}.stat.accent span,.stat.accent small{color:#bbd5d8}.stat.accent strong{font-size:28px}.panel{padding:26px;margin-bottom:18px}.panel h2{font-size:19px;margin:0 0 8px;letter-spacing:-.6px}.panel-top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:22px}.ghost{border:none;background:transparent;color:#16857b;font-weight:800;padding:10px 5px}.ghost:hover{text-decoration:underline}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cat{background:#f9fbfc;border:1px solid #eaf0f2;border-radius:11px;padding:20px 18px;text-align:left;min-height:110px;color:#1e3544;transition:transform .15s,border .15s}.cat:hover{transform:translateY(-2px);border-color:#74beb5}.cat .cat-icon{display:block;font-size:22px;margin-bottom:16px;color:#277e79}.cat b{display:block;font-size:13px}.cat small{display:block;margin-top:5px;color:#94a3b1;font-size:10px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.two-col>.panel{min-height:270px}.info-panel{background:#e8f6f3}.info-panel h2{font-size:24px;line-height:1.4}.info-panel p{margin:12px 0 17px}.primary{background:#176f6b;color:#fff;font-weight:800;border:0;border-radius:9px;padding:12px 18px}.primary:hover{background:#105854}.change-line{display:flex;gap:10px;align-items:center;border-bottom:1px solid #f0f3f4;padding:13px 0;font-size:12px}.change-line span:nth-child(2){flex:1;color:#526573}.change-status{padding:5px 8px;font-size:10px;font-weight:800;border-radius:5px;white-space:nowrap}.change-status.blue{background:#eaf4fb;color:#477da0}.change-status.red{background:#fff1f0;color:#d46a60}.change-status.gray{background:#f1f3f5;color:#7c8690}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:13px;padding:0 0 30px;border-bottom:1px solid #e8edf1}.field{display:flex;flex-direction:column;gap:9px}.field label{font-size:12px;font-weight:700;color:#526473}input,select,textarea{width:100%;outline:none;background:#fff;color:#1b3444;border:1px solid #dce5ea;border-radius:9px;padding:12px 13px}input:focus,select:focus,textarea:focus{border-color:#3aada1}.table-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:25px 0 17px}.table-head h2{margin-bottom:6px}.table-head h2 span{color:#16857b}.table-head .tiny{font-size:12px;color:#a0aeb9;font-weight:500}.right-actions{display:flex;gap:14px;align-items:center}.lock{font-size:12px;color:#8a9dab}.scroll-x{overflow:auto}table{width:100%;border-collapse:collapse;min-width:690px}th{text-align:left;color:#8899a6;font-size:11px;font-weight:700;padding:14px 11px;background:#f9fbfc}td{padding:17px 11px;border-bottom:1px solid #eff2f5;font-size:12px;color:#506474}td strong{color:#1b3444}.masked{letter-spacing:1.3px;color:#99a7b4}.state{display:inline-block;padding:5px 9px;border-radius:7px;background:#e8f7ee;color:#26825a;font-weight:800;font-size:10px}.state.변경{background:#fdf4e7;color:#ab762a}.state.폐업{background:#fcece9;color:#bc6558}.footnote{font-size:11px;color:#9baab6;margin-top:18px;line-height:1.8}.upload{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;border:1.5px dashed #bfd4da;border-radius:11px;min-height:160px;cursor:pointer;margin:18px 0;background:#f8fbfc}.upload strong{color:#285467;font-size:16px}.upload small{color:#9ba8b4;margin-top:9px}.upload input{display:none}.sample-button{display:block}.muted{color:#8698a6;margin-top:12px;font-size:12px}.distribute-grid{grid-template-columns:1fr 1fr}.distribute-grid .panel{min-height:370px}.distribute-grid .field{margin:22px 0}.full{width:100%}.assignee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.assignee{border:1px solid #e9eef0;border-radius:11px;padding:20px;background:#fbfcfd}.assignee strong{font-size:24px;display:block;margin:12px 0}.assignee small{color:#95a5b1}.history-row{border-bottom:1px solid #e7edf2;padding:23px 5px;display:flex;align-items:center;justify-content:space-between;gap:12px}.history-row span:nth-child(2){color:#8093a1}.notice{background:#eef8f4;color:#388072;border:1px solid #d8eee4;padding:18px;border-radius:11px}.plan-card{background:white;border:1px solid #c9e0dd;max-width:470px;padding:35px;border-radius:18px;box-shadow:0 9px 32px #152d3710}.plan-label{font-size:11px;color:#238078;font-weight:800;letter-spacing:1px}.plan-card h2{font-size:37px;margin:22px 0 7px}.plan-card h2 small{font-size:14px;color:#8393a0}.plan-card p{color:#718493}.plan-features{border-top:1px solid #e8eef0;margin:27px 0;padding:24px 0;line-height:2.7;font-weight:600;color:#37515c}footer{font-size:11px;color:#a6b3be;display:flex;justify-content:space-between;padding:10px 44px 34px}@media(max-width:1120px){.stat-grid,.category-grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.layout{display:block}.sidebar{position:static;height:auto;width:100%;padding:15px;min-width:0}.brand{padding:3px 4px 14px}.sidebar-section,.sidebar .bottom{display:none}.sidebar nav{display:flex;flex-direction:row;overflow:auto;gap:3px;margin:0}.sidebar nav+.sidebar-section+nav{display:none}.nav{width:auto;white-space:nowrap;padding:9px 12px;font-size:12px}header{height:55px;padding:0 18px}.view{padding:27px 18px}.heading h1{font-size:27px}.stat-grid,.two-col,.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat{min-height:125px;padding:16px}.stat strong{font-size:23px}.stat.accent strong{font-size:21px}.panel{padding:18px}.two-col>.panel{min-height:auto}.distribute-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.field.wide{grid-column:span 2}.table-head{display:block}.right-actions{margin-top:15px}.assignee-grid{grid-template-columns:repeat(2,1fr)}footer{padding:15px 18px}.demo-pill{font-size:9px}}@media(max-width:420px){.two-col,.category-grid{grid-template-columns:1fr 1fr}.cat{padding:12px;min-height:95px}.cat .cat-icon{margin-bottom:9px}.cat b{font-size:11px}.heading h1{font-size:24px}}

/* DBSPOT V2: restrained, industry-led visual cues */
.feature-band{margin:20px 0 22px;padding:28px 32px;border-radius:20px;background:linear-gradient(105deg,#0d2534,#1b4750);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:14px}.feature-band h2{color:#fff;margin:6px 0;font-size:23px}.feature-band p{color:#c4d5dc;margin:0;font-size:13px}.feature-kicker{font-size:10px;letter-spacing:.16em;color:#a7d6cf;font-weight:750}.feature-band .ghost{color:white;border:1px solid #617d83;background:transparent;white-space:nowrap}
.category-grid .cat{position:relative;overflow:hidden;text-align:left;isolation:isolate;min-height:132px;transition:transform .18s,box-shadow .18s;border:1px solid #e5e9ee;background:linear-gradient(135deg,#ffffff 44%,var(--tint,#eef5f5));}
.category-grid .cat:hover{transform:translateY(-3px);box-shadow:0 12px 26px #18364717;border-color:var(--tone,#8aaab2)}
.category-grid .cat .cat-icon{color:var(--tone,#2c7981);background:var(--tint,#e2f3f3)}
.category-grid .cat .cat-deco{position:absolute;right:9px;top:0;font-size:90px;line-height:1.1;color:var(--tone,#2c7981);opacity:.075;pointer-events:none}
.category-grid .cat .cat-arrow{position:absolute;right:14px;bottom:14px;color:var(--tone,#2c7981);font-size:18px}
.theme-fresh{--tone:#138d77;--tint:#e3f5ed}.theme-corp{--tone:#5069ad;--tint:#e9eefe}.theme-region{--tone:#287d91;--tint:#e6f5f8}.theme-food{--tone:#c2803e;--tint:#fff1df}.theme-medical{--tone:#3492bf;--tint:#e7f5fe}.theme-edu{--tone:#8264bf;--tint:#f0eafd}.theme-online{--tone:#19a0a0;--tint:#e1f8f5}.theme-factory{--tone:#536f93;--tint:#e9f0f7}.theme-build{--tone:#9d795d;--tint:#f7ede6}.theme-auto{--tone:#427aa0;--tint:#e8f2fa}.theme-beauty{--tone:#b77e9b;--tint:#fcf0f5}.theme-target{--tone:#b38527;--tint:#fff4d9}
.schedule-grid{display:grid;grid-template-columns:minmax(310px,0.95fr) minmax(380px,1.4fr);gap:18px;align-items:start}.book-form{display:grid;gap:13px;margin-top:24px}.book-form .field input,.book-form .field select{width:100%}.booking-list{display:grid;gap:10px;margin-top:18px}.booking{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid #e8edf0;border-radius:13px;background:#fcfdfd}.booking-date{display:flex;flex-direction:column;align-items:center;min-width:60px;color:#1e6675}.booking-date b{font-size:16px}.booking-date small{font-size:11px}.booking-main{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.booking-main strong{font-size:14px}.booking-main small{font-size:12px;color:#84919d}.booking-state{max-width:80px;padding:7px;border:1px solid #d9e2e8;border-radius:8px;background:white}.booking-empty{color:#82929e;text-align:center;padding:40px 16px;font-size:13px;border:1px dashed #dbe2e7;border-radius:12px}
@media(max-width:1000px){.schedule-grid{grid-template-columns:1fr}}@media(max-width:650px){.feature-band{padding:22px;display:block}.feature-band button{margin-top:16px}.booking{flex-wrap:wrap}.booking-state{margin-left:auto}}

/* V3 freshness toolbar, compact and accessible */
.fresh-filter{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #e8edf1;padding:17px 0 20px}.fresh-intro{display:flex;flex-direction:column;gap:5px}.fresh-intro strong{color:#244755;font-size:13px}.fresh-intro span{font-size:11px;color:#8497a4}.fresh-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fresh-actions label{font-size:11px;color:#657b8b;font-weight:700;margin-left:8px}.fresh-actions select{width:auto;min-width:122px;padding:9px 11px;font-size:12px}.new-tag{display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#d94c4c;border-radius:3px;padding:2px 4px;margin-left:7px;font-size:9px;font-weight:900;vertical-align:middle}.info-tip{color:#26887e;cursor:help;font-size:12px}.info-tip:focus{outline:2px solid #16857b;border-radius:3px}.change-desc{display:block;font-size:10px;color:#8a98a4;margin-top:5px}td{white-space:nowrap}td:nth-child(1),td:nth-child(4){white-space:normal}table{min-width:850px}
@media(max-width:650px){.fresh-filter{align-items:stretch}.fresh-actions{gap:6px}.fresh-actions label{margin-left:0}.fresh-actions select{flex:1;min-width:105px}}

/* V4: subtle kinetic category tiles, readable tooltips */
.category-grid .cat::before{content:"";position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.52) 49%,transparent 63%);transform:translateX(-90%) rotate(-12deg);animation:dbflowSweep 9s ease-in-out infinite;pointer-events:none;z-index:0}
.category-grid .cat:nth-child(3n)::before{animation-delay:2.2s}.category-grid .cat:nth-child(4n)::before{animation-delay:4.1s}
.category-grid .cat .cat-deco{animation:dbflowFloat 6s ease-in-out infinite}.category-grid .cat:nth-child(odd) .cat-deco{animation-delay:-2s}
.category-grid .cat:hover,.category-grid .cat:focus-visible{transform:translateY(-5px);box-shadow:0 16px 30px #17384b25;z-index:5}
.category-grid .cat:focus-visible{outline:2px solid #178d88;outline-offset:3px}
.cat-help{position:absolute;z-index:10;left:10px;right:10px;bottom:10px;background:rgba(15,44,57,.96);color:white!important;padding:11px 13px;border-radius:8px;line-height:1.65;font-size:11px;letter-spacing:-.1px;box-shadow:0 10px 25px #1233;opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .19s,transform .19s,visibility .19s;text-align:left;pointer-events:none}
.cat:hover .cat-help,.cat:focus-visible .cat-help{opacity:1;visibility:visible;transform:translateY(0)}
.cat .cat-deco,.cat .cat-icon,.cat b,.cat small,.cat .cat-arrow{position:relative;z-index:1}
@keyframes dbflowSweep{0%,55%{transform:translateX(-95%) rotate(-12deg)}75%,100%{transform:translateX(95%) rotate(-12deg)}}
@keyframes dbflowFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(5px) rotate(7deg)}}
@media(prefers-reduced-motion:reduce){.category-grid .cat::before,.category-grid .cat .cat-deco{animation:none}.category-grid .cat,.cat-help{transition:none}}
@media(max-width:760px){.cat-help{font-size:10px;padding:8px}.category-grid .cat:focus .cat-help{opacity:1;visibility:visible}}

/* V4.1 — visible, continuously moving themed glow; no layout shift */
.category-grid .cat{position:relative;isolation:isolate;overflow:hidden}
.category-grid .cat::before{
  content:"";position:absolute;inset:-30%;z-index:0;pointer-events:none;
  background:linear-gradient(110deg,transparent 24%,color-mix(in srgb,var(--tone,#168f88) 23%,transparent) 43%,color-mix(in srgb,var(--tone,#168f88) 11%,white) 49%,transparent 66%);
  transform:translateX(-105%) skewX(-10deg);opacity:.75;
  animation:dbflowVisibleSweep 5.2s linear infinite;
}
.category-grid .cat:nth-child(3n)::before{animation-delay:-1.7s}
.category-grid .cat:nth-child(4n)::before{animation-delay:-3.1s}
.category-grid .cat::after{
  content:"";position:absolute;z-index:0;pointer-events:none;width:115px;height:115px;
  right:-32px;top:-43px;border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--tone,#178a83) 20%,transparent) 0%,transparent 69%);
  animation:dbflowGlowBreath 4.2s ease-in-out infinite alternate;
}
.category-grid .cat:nth-child(even)::after{animation-delay:-2.1s}
.category-grid .cat .cat-deco{animation:dbflowFloat 5s ease-in-out infinite;opacity:.11}
.category-grid .cat:hover::before,.category-grid .cat:focus-visible::before{animation-duration:2.5s;opacity:1}
.sidebar .mark{position:relative;overflow:hidden;isolation:isolate;animation:dbflowLogoPulse 4s ease-in-out infinite}
.sidebar .mark::after{content:"";position:absolute;inset:-30%;pointer-events:none;background:linear-gradient(120deg,transparent 25%,#fff9 50%,transparent 72%);transform:translateX(-105%);animation:dbflowVisibleSweep 4s linear infinite}
.feature-band{position:relative;isolation:isolate;overflow:hidden}
.feature-band::before{content:"";pointer-events:none;position:absolute;width:330px;height:330px;border-radius:50%;top:-240px;right:8%;background:radial-gradient(circle,#88eee544 0%,transparent 72%);animation:dbflowBannerGlow 6s ease-in-out infinite alternate;z-index:-1}
@keyframes dbflowVisibleSweep{0%{transform:translateX(-105%) skewX(-10deg)}100%{transform:translateX(105%) skewX(-10deg)}}
@keyframes dbflowGlowBreath{0%{transform:translate(-10px,3px) scale(.85);opacity:.5}100%{transform:translate(0,10px) scale(1.2);opacity:1}}
@keyframes dbflowLogoPulse{0%,100%{box-shadow:0 0 0 0 #7eeee033}50%{box-shadow:0 0 0 7px #7eeee013}}
@keyframes dbflowBannerGlow{from{transform:translateX(-55px)}to{transform:translateX(120px)}}
@media(prefers-reduced-motion:reduce){.category-grid .cat::before,.category-grid .cat::after,.category-grid .cat .cat-deco,.sidebar .mark,.sidebar .mark::after,.feature-band::before{animation:none!important}}
